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
@@ -30,7 +30,7 @@ const BOOM_STATUS_MAP = {
30
30
  * Detect HapiJS route definitions from source text.
31
31
  */
32
32
  function detectHapiRoutes(sourceText, filePath) {
33
- var _a, _b, _c, _d;
33
+ var _a, _b;
34
34
  const routes = [];
35
35
  const lines = sourceText.split('\n');
36
36
  for (let i = 0; i < lines.length; i++) {
@@ -55,7 +55,7 @@ function detectHapiRoutes(sourceText, filePath) {
55
55
  if (authSimple) {
56
56
  auth = { strategy: authSimple[1], mode: 'required' };
57
57
  }
58
- // auth: { mode: 'try' } or auth: { mode: 'optional' } — single-line case
58
+ // auth: { mode: 'try' } or auth: { mode: 'optional' }
59
59
  const authMode = nearLine.match(/(?:auth|mode)\s*:\s*[{]?\s*mode\s*:\s*['"](\w+)['"]/);
60
60
  if (authMode) {
61
61
  auth = {
@@ -63,19 +63,6 @@ function detectHapiRoutes(sourceText, filePath) {
63
63
  mode: authMode[1] === 'try' || authMode[1] === 'optional' ? 'optional' : 'required',
64
64
  };
65
65
  }
66
- else if (/auth\s*:\s*\{/.test(nearLine) || /auth\s*\{/.test(nearLine)) {
67
- // Multi-line auth object: scan the next 5 lines for mode: 'try' / 'optional'
68
- for (let m = j + 1; m < Math.min(j + 6, lines.length); m++) {
69
- const modeMatch = lines[m].match(/mode\s*:\s*['"](\w+)['"]/);
70
- if (modeMatch) {
71
- auth = {
72
- strategy: auth === null || auth === void 0 ? void 0 : auth.strategy,
73
- mode: modeMatch[1] === 'try' || modeMatch[1] === 'optional' ? 'optional' : 'required',
74
- };
75
- break;
76
- }
77
- }
78
- }
79
66
  // auth: false
80
67
  if (/auth\s*:\s*false/.test(nearLine)) {
81
68
  auth = undefined; // Public route
@@ -87,9 +74,8 @@ function detectHapiRoutes(sourceText, filePath) {
87
74
  // Scan validation block
88
75
  for (let k = j; k < Math.min(j + 15, lines.length); k++) {
89
76
  const valLine = lines[k];
90
- // query: { ... } — extract Joi fields from same line and subsequent lines
77
+ // query: { ... }
91
78
  if (/query\s*:/.test(valLine)) {
92
- // Same-line extraction
93
79
  const paramMatch = valLine.match(/(\w+)\s*:\s*Joi\./g);
94
80
  if (paramMatch) {
95
81
  for (const pm of paramMatch) {
@@ -98,46 +84,17 @@ function detectHapiRoutes(sourceText, filePath) {
98
84
  queryParams.push(name);
99
85
  }
100
86
  }
101
- // Multi-line extraction: scan subsequent lines for fieldName: Joi. patterns
102
- for (let q = k + 1; q < Math.min(k + 16, lines.length); q++) {
103
- const subLine = lines[q];
104
- if (/}\s*[),]/.test(subLine) || /]\s*,/.test(subLine))
105
- break;
106
- const fieldMatch = subLine.match(/(\w+)\s*:\s*Joi\./g);
107
- if (fieldMatch) {
108
- for (const fm of fieldMatch) {
109
- const name = (_b = fm.match(/(\w+)\s*:/)) === null || _b === void 0 ? void 0 : _b[1];
110
- if (name && !queryParams.includes(name))
111
- queryParams.push(name);
112
- }
113
- }
114
- }
115
87
  }
116
- // payload: { ... } — extract Joi fields from same line and subsequent lines
88
+ // payload: { ... }
117
89
  if (/payload\s*:/.test(valLine)) {
118
- // Same-line extraction
119
90
  const paramMatch = valLine.match(/(\w+)\s*:\s*Joi\./g);
120
91
  if (paramMatch) {
121
92
  for (const pm of paramMatch) {
122
- const name = (_c = pm.match(/(\w+)\s*:/)) === null || _c === void 0 ? void 0 : _c[1];
93
+ const name = (_b = pm.match(/(\w+)\s*:/)) === null || _b === void 0 ? void 0 : _b[1];
123
94
  if (name)
124
95
  payloadParams.push(name);
125
96
  }
126
97
  }
127
- // Multi-line extraction: scan subsequent lines for fieldName: Joi. patterns
128
- for (let q = k + 1; q < Math.min(k + 16, lines.length); q++) {
129
- const subLine = lines[q];
130
- if (/}\s*[),]/.test(subLine) || /]\s*,/.test(subLine))
131
- break;
132
- const fieldMatch = subLine.match(/(\w+)\s*:\s*Joi\./g);
133
- if (fieldMatch) {
134
- for (const fm of fieldMatch) {
135
- const name = (_d = fm.match(/(\w+)\s*:/)) === null || _d === void 0 ? void 0 : _d[1];
136
- if (name && !payloadParams.includes(name))
137
- payloadParams.push(name);
138
- }
139
- }
140
- }
141
98
  }
142
99
  }
143
100
  if (queryParams.length > 0 || payloadParams.length > 0) {
@@ -9,8 +9,6 @@
9
9
  */
10
10
  export interface VueApiCall {
11
11
  actionName?: string;
12
- /** Resolved string value when actionName is a constant (e.g., FETCH_ARTICLES → 'fetchArticles') */
13
- resolvedName?: string;
14
12
  method: string;
15
13
  urlPattern: string;
16
14
  baseUrl?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"vueDetector.d.ts","sourceRoot":"","sources":["../../../../src/languages/javascript/vueDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mGAAmG;IACnG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAO/F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAoEpF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAkBzF"}
1
+ {"version":3,"file":"vueDetector.d.ts","sourceRoot":"","sources":["../../../../src/languages/javascript/vueDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAO/F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CA4CpF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAkBzF"}
@@ -29,20 +29,7 @@ function detectAxiosBaseUrl(sourceText, filePath) {
29
29
  function detectVuexActions(sourceText, filePath) {
30
30
  const calls = [];
31
31
  const lines = sourceText.split('\n');
32
- // Pass 1: Build a map of constant name → string value.
33
- // Matches patterns like:
34
- // const FETCH_ARTICLES = 'fetchArticles'
35
- // export const FETCH_ARTICLES = "fetchArticles"
36
- const constantMap = new Map();
37
- for (const line of lines) {
38
- const constMatch = line.match(/(?:export\s+)?const\s+([A-Z_][A-Z0-9_]*)\s*=\s*['"]([^'"]+)['"]/);
39
- if (constMatch) {
40
- constantMap.set(constMatch[1], constMatch[2]);
41
- }
42
- }
43
- // Pass 2: Detect action definitions and their API calls.
44
32
  let currentAction = '';
45
- let currentResolvedName;
46
33
  for (let i = 0; i < lines.length; i++) {
47
34
  const line = lines[i];
48
35
  // Vuex action definition: [ACTION_NAME]({ commit }, payload) {
@@ -50,13 +37,6 @@ function detectVuexActions(sourceText, filePath) {
50
37
  const actionMatch = line.match(/(?:\[(\w+)\]|(\w+))\s*\(\s*\{\s*(?:commit|dispatch|state|getters|rootState)/);
51
38
  if (actionMatch) {
52
39
  currentAction = actionMatch[1] || actionMatch[2] || '';
53
- // If using bracket syntax with a constant, resolve to its string value
54
- if (actionMatch[1] && constantMap.has(actionMatch[1])) {
55
- currentResolvedName = constantMap.get(actionMatch[1]);
56
- }
57
- else {
58
- currentResolvedName = undefined;
59
- }
60
40
  continue;
61
41
  }
62
42
  // ApiService.get/post/put/delete('resource')
@@ -64,7 +44,6 @@ function detectVuexActions(sourceText, filePath) {
64
44
  if (apiServiceMatch) {
65
45
  calls.push({
66
46
  actionName: currentAction || undefined,
67
- resolvedName: currentResolvedName,
68
47
  method: apiServiceMatch[1].toUpperCase(),
69
48
  urlPattern: apiServiceMatch[2],
70
49
  sourceFile: filePath,
@@ -77,7 +56,6 @@ function detectVuexActions(sourceText, filePath) {
77
56
  if (axiosMatch) {
78
57
  calls.push({
79
58
  actionName: currentAction || undefined,
80
- resolvedName: currentResolvedName,
81
59
  method: axiosMatch[1].toUpperCase(),
82
60
  urlPattern: axiosMatch[2],
83
61
  sourceFile: filePath,
@@ -10,7 +10,7 @@ export declare class PythonAnalyzer implements LanguageAnalyzer {
10
10
  extractHttpInteractions(model: SemanticModel, _ctx: AnalysisContext): ResolvedHttpInteraction[];
11
11
  extractAssertions(model: SemanticModel): SemanticAssertion[];
12
12
  extractBusinessRuleRefs(model: SemanticModel): BusinessRuleRef[];
13
- extractFlowRefs(model: SemanticModel): FlowRef[];
13
+ extractFlowRefs(_model: SemanticModel): FlowRef[];
14
14
  }
15
15
  /**
16
16
  * Classify JWT/auth security from decorator information.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/languages/python/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EAIb,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,eAAe,EAEf,aAAa,EAEb,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAmC5B,qBAAa,cAAe,YAAW,gBAAgB;IACrD,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAY;IAEhD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB;IAc1D,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,GAAG,aAAa;IA4CtF,uBAAuB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,GAAG,uBAAuB,EAAE;IAwB/F,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,iBAAiB,EAAE;IAG5D,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,EAAE;IAGhE,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,EAAE;CAqBjD;AA2WD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,sBAAsB,GAAG,SAAS,CAarG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/languages/python/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EAIb,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,eAAe,EAEf,aAAa,EAEb,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAkC5B,qBAAa,cAAe,YAAW,gBAAgB;IACrD,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAY;IAEhD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB;IAc1D,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,GAAG,aAAa;IA6BtF,uBAAuB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,GAAG,uBAAuB,EAAE;IAwB/F,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,iBAAiB,EAAE;IAG5D,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,EAAE;IAGhE,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,EAAE;CAGlD;AA2WD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,sBAAsB,GAAG,SAAS,CAarG"}
@@ -8,7 +8,6 @@ exports.classifyFlaskSecurity = classifyFlaskSecurity;
8
8
  const parserRegistry_1 = require("../../ast/parserRegistry");
9
9
  const treeSitterUtils_1 = require("../shared/treeSitterUtils");
10
10
  const resolvePaths_1 = require("../../coverage/deep-analysis/resolvePaths");
11
- const testPatternDetector_1 = require("./testPatternDetector");
12
11
  // ─── Parser ───────────────────────────────────────────────────────────────────
13
12
  let cachedParser = undefined;
14
13
  let parserLoaded = false;
@@ -46,7 +45,7 @@ class PythonAnalyzer {
46
45
  }
47
46
  }
48
47
  buildSemanticModel(parsed, _context) {
49
- var _a, _b, _c, _d;
48
+ var _a, _b;
50
49
  const root = (_b = (_a = parsed.ast) === null || _a === void 0 ? void 0 : _a.rootNode) !== null && _b !== void 0 ? _b : parsed.ast;
51
50
  if (!root)
52
51
  return emptyModel(parsed.filePath);
@@ -57,20 +56,6 @@ class PythonAnalyzer {
57
56
  // Feature 27: Flask/FastAPI pattern detection
58
57
  const decoratorStacks = extractFlaskDecoratorStacks(root, parsed.filePath);
59
58
  const routeRegistrations = extractFlaskRouteRegistrations(root, parsed.filePath);
60
- // Feature 27: webtest API call detection
61
- const sourceText = (_d = (_c = root.text) !== null && _c !== void 0 ? _c : parsed.content) !== null && _d !== void 0 ? _d : '';
62
- const webtestCalls = (0, testPatternDetector_1.detectWebtestCalls)(sourceText, parsed.filePath);
63
- if (webtestCalls.length > 0) {
64
- const httpCalls = (0, testPatternDetector_1.webtestCallsToHttpCalls)(webtestCalls);
65
- // Merge webtest HTTP calls into the functions map under a synthetic entry
66
- const webtestFunc = {
67
- name: '__webtest_calls__',
68
- parameters: [],
69
- bodyHttpCalls: httpCalls,
70
- calledFunctions: [],
71
- };
72
- functions.set('__webtest_calls__', webtestFunc);
73
- }
74
59
  return {
75
60
  filePath: parsed.filePath,
76
61
  language: 'python',
@@ -118,23 +103,8 @@ class PythonAnalyzer {
118
103
  extractBusinessRuleRefs(model) {
119
104
  return model.businessRuleRefs;
120
105
  }
121
- extractFlowRefs(model) {
122
- // Feature 27: Resolve pytest fixture chains
123
- const refs = [...model.flowRefs];
124
- // Use function parameter names to discover fixture dependencies
125
- // In pytest, function parameters that aren't built-in fixtures are fixture references
126
- const builtinFixtures = new Set([
127
- 'request', 'tmp_path', 'tmpdir', 'capsys', 'capfd', 'monkeypatch',
128
- 'pytestconfig', 'recwarn', 'caplog', 'cache', 'self',
129
- ]);
130
- for (const [funcName, func] of model.functions) {
131
- for (const param of func.parameters) {
132
- if (param && !builtinFixtures.has(param)) {
133
- refs.push({ flowId: `fixture:${param}`, source: 'tag' });
134
- }
135
- }
136
- }
137
- return refs;
106
+ extractFlowRefs(_model) {
107
+ return [];
138
108
  }
139
109
  }
140
110
  exports.PythonAnalyzer = PythonAnalyzer;
@@ -65,11 +65,6 @@ export declare function hasPartialResolution(graph: CoverageKnowledgeGraph, path
65
65
  /**
66
66
  * Build a ConfidenceEvidence object from a coverage path in the graph.
67
67
  * Inspects the nodes and their source stages to determine what evidence exists.
68
- *
69
- * Optional `iastConfirmed` and `dastConfirmed` flags allow the caller to
70
- * inject runtime confirmation state that may not be discoverable by walking
71
- * `pathNodeIds` alone (e.g. when IAST/DAST nodes are not directly on the
72
- * endpoint→test path in the graph).
73
68
  */
74
- export declare function buildConfidenceEvidence(graph: CoverageKnowledgeGraph, pathNodeIds: string[], isStaticOnlyMode: boolean, iastConfirmed?: boolean, dastConfirmed?: boolean): ConfidenceEvidence;
69
+ export declare function buildConfidenceEvidence(graph: CoverageKnowledgeGraph, pathNodeIds: string[], isStaticOnlyMode: boolean): ConfidenceEvidence;
75
70
  //# sourceMappingURL=confidence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"confidence.d.ts","sourceRoot":"","sources":["../../../src/pipeline/confidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAa,MAAM,SAAS,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAYtD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,kBAAkB,CAwBtF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,EAAE,kBAAkB,GAC3B,kBAAkB,CAoBpB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,kBAAkB,CAGlF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,kBAAkB,GAC3B,kBAAkB,CAIpB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,kBAAkB,EACrB,CAAC,EAAE,kBAAkB,GACpB,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,CAS9E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,sBAAsB,EAC7B,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAMT;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,sBAAsB,EAC7B,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAMT;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,sBAAsB,EAC7B,WAAW,EAAE,MAAM,EAAE,EACrB,gBAAgB,EAAE,OAAO,EACzB,aAAa,CAAC,EAAE,OAAO,EACvB,aAAa,CAAC,EAAE,OAAO,GACtB,kBAAkB,CA6CpB"}
1
+ {"version":3,"file":"confidence.d.ts","sourceRoot":"","sources":["../../../src/pipeline/confidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAa,MAAM,SAAS,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAYtD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,kBAAkB,CAwBtF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,EAAE,kBAAkB,GAC3B,kBAAkB,CAoBpB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,kBAAkB,CAGlF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,kBAAkB,GAC3B,kBAAkB,CAIpB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,kBAAkB,EACrB,CAAC,EAAE,kBAAkB,GACpB,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,CAS9E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,sBAAsB,EAC7B,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAMT;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,sBAAsB,EAC7B,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAMT;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,sBAAsB,EAC7B,WAAW,EAAE,MAAM,EAAE,EACrB,gBAAgB,EAAE,OAAO,GACxB,kBAAkB,CA6CpB"}
@@ -151,13 +151,8 @@ function hasPartialResolution(graph, pathNodeIds) {
151
151
  /**
152
152
  * Build a ConfidenceEvidence object from a coverage path in the graph.
153
153
  * Inspects the nodes and their source stages to determine what evidence exists.
154
- *
155
- * Optional `iastConfirmed` and `dastConfirmed` flags allow the caller to
156
- * inject runtime confirmation state that may not be discoverable by walking
157
- * `pathNodeIds` alone (e.g. when IAST/DAST nodes are not directly on the
158
- * endpoint→test path in the graph).
159
154
  */
160
- function buildConfidenceEvidence(graph, pathNodeIds, isStaticOnlyMode, iastConfirmed, dastConfirmed) {
155
+ function buildConfidenceEvidence(graph, pathNodeIds, isStaticOnlyMode) {
161
156
  var _a, _b;
162
157
  const sourceStages = new Set();
163
158
  let hasIastConfirmation = false;
@@ -192,8 +187,8 @@ function buildConfidenceEvidence(graph, pathNodeIds, isStaticOnlyMode, iastConfi
192
187
  }
193
188
  return {
194
189
  sourceStages: Array.from(sourceStages),
195
- hasIastConfirmation: hasIastConfirmation || (iastConfirmed !== null && iastConfirmed !== void 0 ? iastConfirmed : false),
196
- hasDastConfirmation: hasDastConfirmation || (dastConfirmed !== null && dastConfirmed !== void 0 ? dastConfirmed : false),
190
+ hasIastConfirmation,
191
+ hasDastConfirmation,
197
192
  hasAssertionConfirmation,
198
193
  hasMockBoundary,
199
194
  hasPartialResolution: hasPartial,
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Express middleware-as-auth detector (Feature 27)
3
+ *
4
+ * Detects from raw JavaScript/TypeScript file content:
5
+ * 1. router.use(path, [auth.required | auth.optional], subRouter) →
6
+ * router-mount nodes with middleware classification
7
+ * 2. jwt({ credentialsRequired: false }) → security: { optional: true }
8
+ * 3. jwt({ secret, ... }) (no credentialsRequired: false) → security: { required: true }
9
+ * 4. 4-argument Express error handlers (err, req, res, next) → error-handler nodes
10
+ * 5. if (err.name === '...') branches inside error handlers → exception-branch nodes
11
+ *
12
+ * Auth middleware inheritance rule: when auth.required / auth.optional appears in
13
+ * router.use(), ALL routes in the mounted sub-router inherit that security classification.
14
+ * This is flagged in the node metadata so the cross-file resolver can propagate it.
15
+ */
16
+ import type { DetectedNode, Detector } from './types';
17
+ export declare class ExpressMiddlewareDetector implements Detector {
18
+ readonly name = "express-middleware";
19
+ detect(fileContent: string, filePath: string): DetectedNode[];
20
+ }
21
+ //# sourceMappingURL=expressMiddlewareDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressMiddlewareDetector.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/detectors/expressMiddlewareDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAItD,qBAAa,yBAA0B,YAAW,QAAQ;IACxD,QAAQ,CAAC,IAAI,wBAAwB;IAErC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE;CAyL9D"}
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ /**
3
+ * Express middleware-as-auth detector (Feature 27)
4
+ *
5
+ * Detects from raw JavaScript/TypeScript file content:
6
+ * 1. router.use(path, [auth.required | auth.optional], subRouter) →
7
+ * router-mount nodes with middleware classification
8
+ * 2. jwt({ credentialsRequired: false }) → security: { optional: true }
9
+ * 3. jwt({ secret, ... }) (no credentialsRequired: false) → security: { required: true }
10
+ * 4. 4-argument Express error handlers (err, req, res, next) → error-handler nodes
11
+ * 5. if (err.name === '...') branches inside error handlers → exception-branch nodes
12
+ *
13
+ * Auth middleware inheritance rule: when auth.required / auth.optional appears in
14
+ * router.use(), ALL routes in the mounted sub-router inherit that security classification.
15
+ * This is flagged in the node metadata so the cross-file resolver can propagate it.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ExpressMiddlewareDetector = void 0;
19
+ const types_1 = require("./types");
20
+ class ExpressMiddlewareDetector {
21
+ constructor() {
22
+ this.name = 'express-middleware';
23
+ }
24
+ detect(fileContent, filePath) {
25
+ var _a, _b, _c;
26
+ if (!filePath.endsWith('.js') && !filePath.endsWith('.ts') &&
27
+ !filePath.endsWith('.mjs') && !filePath.endsWith('.cjs')) {
28
+ return [];
29
+ }
30
+ // Quick bail: skip files with no router/app patterns
31
+ if (!fileContent.includes('router') &&
32
+ !fileContent.includes('app.use') &&
33
+ !fileContent.includes('express')) {
34
+ return [];
35
+ }
36
+ const nodes = [];
37
+ const lines = fileContent.split('\n');
38
+ // ── Detect jwt middleware definitions ─────────────────────────────────
39
+ // const auth = { required: jwt({...}), optional: jwt({ credentialsRequired: false, ...}) }
40
+ const authVarPattern = /const\s+auth\s*=\s*\{([^}]+)\}/s;
41
+ const authVarMatch = fileContent.match(authVarPattern);
42
+ const authObjectDefs = new Map();
43
+ if (authVarMatch) {
44
+ const body = authVarMatch[1];
45
+ // required: jwt({...}) without credentialsRequired: false
46
+ if (/required\s*:.*?jwt\s*\(/.test(body) && !/credentialsRequired\s*:\s*false/.test((_a = body.split('optional')[0]) !== null && _a !== void 0 ? _a : '')) {
47
+ authObjectDefs.set('auth.required', { type: 'jwt', required: true, optional: false, sourcePattern: 'auth.required' });
48
+ }
49
+ // optional: jwt({ credentialsRequired: false, ...})
50
+ if (/optional\s*:.*?credentialsRequired\s*:\s*false/.test(body)) {
51
+ authObjectDefs.set('auth.optional', { type: 'jwt', required: false, optional: true, sourcePattern: 'auth.optional' });
52
+ }
53
+ }
54
+ // Also detect standalone: jwt({ credentialsRequired: false })
55
+ const jwtOptionalPattern = /jwt\s*\(\s*\{[^}]*credentialsRequired\s*:\s*false[^}]*\}\s*\)/;
56
+ const jwtRequiredPattern = /jwt\s*\(\s*\{[^}]*secret[^}]*\}\s*\)/;
57
+ // ── Detect router.use(path, [middleware], subRouter) ─────────────────
58
+ for (let i = 0; i < lines.length; i++) {
59
+ const line = lines[i];
60
+ // router.use('/path', middleware, require('./sub'))
61
+ // router.use('/path', require('./sub'))
62
+ const routerUsePattern = /(?:router|app)\s*\.\s*use\s*\(\s*['"`]([^'"`]+)['"`]\s*,\s*(.*?)\)/;
63
+ const routerUseMatch = line.match(routerUsePattern);
64
+ if (routerUseMatch) {
65
+ const mountPath = routerUseMatch[1];
66
+ const rest = routerUseMatch[2];
67
+ // Determine security from middleware args
68
+ let security;
69
+ if (/auth\.required/.test(rest)) {
70
+ security = (_b = authObjectDefs.get('auth.required')) !== null && _b !== void 0 ? _b : { type: 'jwt', required: true, optional: false, sourcePattern: 'auth.required' };
71
+ }
72
+ else if (/auth\.optional/.test(rest)) {
73
+ security = (_c = authObjectDefs.get('auth.optional')) !== null && _c !== void 0 ? _c : { type: 'jwt', required: false, optional: true, sourcePattern: 'auth.optional' };
74
+ }
75
+ else if (jwtOptionalPattern.test(rest)) {
76
+ security = { type: 'jwt', required: false, optional: true, sourcePattern: 'jwt(credentialsRequired:false)' };
77
+ }
78
+ else if (jwtRequiredPattern.test(rest)) {
79
+ security = { type: 'jwt', required: true, optional: false, sourcePattern: 'jwt(secret)' };
80
+ }
81
+ // Determine target module (require('./x') or just the last identifier)
82
+ const requireMatch = rest.match(/require\s*\(['"`]([^'"`]+)['"`]\)/);
83
+ const targetModule = requireMatch ? requireMatch[1] : extractLastIdentifier(rest);
84
+ nodes.push({
85
+ id: (0, types_1.makeNodeId)(filePath, 'router-mount', mountPath, i + 1),
86
+ kind: 'router-mount',
87
+ name: mountPath,
88
+ filePath,
89
+ line: i + 1,
90
+ httpPath: mountPath,
91
+ urlPrefix: mountPath,
92
+ targetModule,
93
+ security,
94
+ resolution: targetModule ? 'cross-file-unresolved' : 'resolved',
95
+ diagnosticMessage: targetModule
96
+ ? `Sub-router '${targetModule}' defined in another file`
97
+ : undefined,
98
+ });
99
+ }
100
+ // router.use('/path', router) — no middleware between path and router
101
+ const simpleMountPattern = /(?:router|app)\s*\.\s*use\s*\(\s*['"`]([^'"`]+)['"`]\s*,\s*(require\s*\([^)]+\)|\w+)\s*\)/;
102
+ const simpleMountMatch = line.match(simpleMountPattern);
103
+ if (simpleMountMatch && !routerUseMatch) {
104
+ const mountPath = simpleMountMatch[1];
105
+ const targetExpr = simpleMountMatch[2];
106
+ const requireMatch2 = targetExpr.match(/require\s*\(['"`]([^'"`]+)['"`]\)/);
107
+ const targetModule = requireMatch2 ? requireMatch2[1] : targetExpr;
108
+ nodes.push({
109
+ id: (0, types_1.makeNodeId)(filePath, 'router-mount', mountPath, i + 1),
110
+ kind: 'router-mount',
111
+ name: mountPath,
112
+ filePath,
113
+ line: i + 1,
114
+ httpPath: mountPath,
115
+ urlPrefix: mountPath,
116
+ targetModule,
117
+ resolution: 'cross-file-unresolved',
118
+ diagnosticMessage: `Sub-router '${targetModule}' defined in another file`,
119
+ });
120
+ }
121
+ }
122
+ // ── Detect 4-argument error handlers ─────────────────────────────────
123
+ // function(err, req, res, next) { ... }
124
+ // (err, req, res, next) => { ... }
125
+ const errorHandlerPattern = /(?:function\s*\w*\s*\(|(?:\w+\s*,\s*){0,1}\()\s*err\s*,\s*\w+\s*,\s*\w+\s*,\s*next\s*[)]/;
126
+ for (let i = 0; i < lines.length; i++) {
127
+ const line = lines[i];
128
+ if (!errorHandlerPattern.test(line))
129
+ continue;
130
+ // Find the end of this error handler block
131
+ const handlerStart = i;
132
+ const braceIdx = fileContent.indexOf('{', fileContent.split('\n').slice(0, i + 1).join('\n').length);
133
+ let handlerBody = '';
134
+ if (braceIdx >= 0) {
135
+ handlerBody = extractBraceBody(fileContent, braceIdx);
136
+ }
137
+ nodes.push({
138
+ id: (0, types_1.makeNodeId)(filePath, 'error-handler', `errorHandler:${i + 1}`, i + 1),
139
+ kind: 'error-handler',
140
+ name: `errorHandler:${i + 1}`,
141
+ filePath,
142
+ line: i + 1,
143
+ resolution: 'resolved',
144
+ });
145
+ // Extract if (err.name === 'SomeName') branches
146
+ const errNamePattern = /err\.name\s*===?\s*['"`](\w+)['"`]/g;
147
+ let errMatch;
148
+ let bodyOffset = 0;
149
+ while ((errMatch = errNamePattern.exec(handlerBody)) !== null) {
150
+ const bodyLines = handlerBody.substring(0, errMatch.index).split('\n');
151
+ const branchLine = handlerStart + bodyLines.length;
152
+ // Find status code in the branch
153
+ const branchContext = handlerBody.substring(errMatch.index, errMatch.index + 200);
154
+ const statusMatch = branchContext.match(/\.status\s*\(\s*(\d{3})\s*\)/);
155
+ const statusCode = statusMatch ? parseInt(statusMatch[1], 10) : undefined;
156
+ nodes.push({
157
+ id: (0, types_1.makeNodeId)(filePath, 'exception-branch', errMatch[1], branchLine),
158
+ kind: 'exception-branch',
159
+ name: errMatch[1],
160
+ filePath,
161
+ line: branchLine,
162
+ errorName: errMatch[1],
163
+ errorStatusCode: statusCode,
164
+ resolution: 'resolved',
165
+ });
166
+ }
167
+ }
168
+ // ── Detect auth middleware object definitions ──────────────────────────
169
+ // Emit auth-middleware node for downstream use
170
+ if (authObjectDefs.size > 0) {
171
+ for (const [key, sec] of authObjectDefs) {
172
+ nodes.push({
173
+ id: (0, types_1.makeNodeId)(filePath, 'auth-middleware', key, undefined),
174
+ kind: 'auth-middleware',
175
+ name: key,
176
+ filePath,
177
+ security: sec,
178
+ resolution: 'resolved',
179
+ });
180
+ }
181
+ }
182
+ return nodes;
183
+ }
184
+ }
185
+ exports.ExpressMiddlewareDetector = ExpressMiddlewareDetector;
186
+ function extractLastIdentifier(expr) {
187
+ const m = expr.match(/(\w+)\s*$/);
188
+ return m ? m[1] : undefined;
189
+ }
190
+ function extractBraceBody(source, openBrace) {
191
+ let depth = 1;
192
+ let i = openBrace + 1;
193
+ while (i < source.length && depth > 0) {
194
+ if (source[i] === '{')
195
+ depth++;
196
+ if (source[i] === '}')
197
+ depth--;
198
+ i++;
199
+ }
200
+ return source.substring(openBrace, i);
201
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Flask Blueprint detector (Feature 27)
3
+ *
4
+ * Detects from raw Python file content:
5
+ * 1. Blueprint() constructor calls → blueprint-definition nodes
6
+ * 2. @blueprint.route() decorators with HTTP methods → endpoint nodes (marked
7
+ * cross-file-unresolved until url_prefix is resolved by FlaskBlueprintResolver)
8
+ * 3. app.register_blueprint() calls → blueprint-registration nodes
9
+ * 4. @use_kwargs({...}) decorator → parameter nodes with location inference
10
+ * 5. @marshal_with(schema, code=N) → response-schema nodes
11
+ * 6. @jwt_required / @jwt_optional / @jwt_required(optional=True) → security nodes
12
+ *
13
+ * RULE-SA01: never infers role from directory — only from code content
14
+ * RULE-SA02: endpoint nodes are emitted with resolution: 'cross-file-unresolved'
15
+ * when url_prefix is not visible in the same file
16
+ * RULE-SA04: @jwt_optional → security.optional = true — NEVER classified as public
17
+ */
18
+ import type { DetectedNode, Detector } from './types';
19
+ export declare class FlaskBlueprintDetector implements Detector {
20
+ readonly name = "flask-blueprint";
21
+ detect(fileContent: string, filePath: string): DetectedNode[];
22
+ }
23
+ //# sourceMappingURL=flaskBlueprintDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flaskBlueprintDetector.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/detectors/flaskBlueprintDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGtD,qBAAa,sBAAuB,YAAW,QAAQ;IACrD,QAAQ,CAAC,IAAI,qBAAqB;IAElC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE;CAyJ9D"}