api-tests-coverage 1.0.19 → 1.0.21

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 (512) 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/index.html +2 -2
  47. package/dist/src/config/defaultConfig.d.ts.map +1 -1
  48. package/dist/src/config/defaultConfig.js +0 -37
  49. package/dist/src/config/types.d.ts +0 -42
  50. package/dist/src/config/types.d.ts.map +1 -1
  51. package/dist/src/config/validateConfig.d.ts.map +1 -1
  52. package/dist/src/config/validateConfig.js +0 -3
  53. package/dist/src/discovery/fileClassifier.d.ts.map +1 -1
  54. package/dist/src/discovery/fileClassifier.js +16 -15
  55. package/dist/src/discovery/projectDiscovery.d.ts.map +1 -1
  56. package/dist/src/discovery/projectDiscovery.js +1 -4
  57. package/dist/src/index.js +92 -115
  58. package/dist/src/inference/routeInference.d.ts.map +1 -1
  59. package/dist/src/inference/routeInference.js +8 -54
  60. package/dist/src/languages/java/semanticBuilder.d.ts.map +1 -1
  61. package/dist/src/languages/java/semanticBuilder.js +12 -69
  62. package/dist/src/languages/javascript/angularDetector.d.ts.map +1 -1
  63. package/dist/src/languages/javascript/angularDetector.js +17 -50
  64. package/dist/src/languages/javascript/assertionResolver.js +4 -6
  65. package/dist/src/languages/javascript/hapiDetector.d.ts.map +1 -1
  66. package/dist/src/languages/javascript/hapiDetector.js +5 -48
  67. package/dist/src/languages/javascript/vueDetector.d.ts +0 -2
  68. package/dist/src/languages/javascript/vueDetector.d.ts.map +1 -1
  69. package/dist/src/languages/javascript/vueDetector.js +0 -22
  70. package/dist/src/languages/python/index.d.ts +1 -1
  71. package/dist/src/languages/python/index.d.ts.map +1 -1
  72. package/dist/src/languages/python/index.js +3 -33
  73. package/dist/src/pipeline/confidence.d.ts +1 -6
  74. package/dist/src/pipeline/confidence.d.ts.map +1 -1
  75. package/dist/src/pipeline/confidence.js +3 -8
  76. package/dist/src/pipeline/graph.d.ts.map +1 -1
  77. package/dist/src/pipeline/graph.js +4 -16
  78. package/dist/src/pipeline/stages/ast/astStage.d.ts.map +1 -1
  79. package/dist/src/pipeline/stages/ast/astStage.js +2 -46
  80. package/dist/src/pipeline/stages/ast/baseUrlComposer.d.ts.map +1 -1
  81. package/dist/src/pipeline/stages/ast/baseUrlComposer.js +4 -18
  82. package/dist/src/pipeline/stages/ast/crossFileResolver.js +0 -29
  83. package/dist/src/pipeline/stages/ast/graphBuilder.d.ts.map +1 -1
  84. package/dist/src/pipeline/stages/ast/graphBuilder.js +0 -81
  85. package/dist/src/pipeline/stages/ast/optionalAuthUnifier.d.ts +1 -3
  86. package/dist/src/pipeline/stages/ast/optionalAuthUnifier.d.ts.map +1 -1
  87. package/dist/src/pipeline/stages/ast/optionalAuthUnifier.js +14 -34
  88. package/dist/src/pipeline/stages/ast/resolvers/angularInjectionResolver.d.ts.map +1 -1
  89. package/dist/src/pipeline/stages/ast/resolvers/angularInjectionResolver.js +3 -22
  90. package/dist/src/pipeline/stages/ast/resolvers/dddLayerResolver.d.ts.map +1 -1
  91. package/dist/src/pipeline/stages/ast/resolvers/dddLayerResolver.js +28 -104
  92. package/dist/src/pipeline/stages/ast/resolvers/mybatisResolver.d.ts.map +1 -1
  93. package/dist/src/pipeline/stages/ast/resolvers/mybatisResolver.js +0 -56
  94. package/dist/src/pipeline/stages/ast/resolvers/vuexActionResolver.d.ts.map +1 -1
  95. package/dist/src/pipeline/stages/ast/resolvers/vuexActionResolver.js +18 -43
  96. package/dist/src/pipeline/stages/ast/rulesEnforcer.d.ts.map +1 -1
  97. package/dist/src/pipeline/stages/ast/rulesEnforcer.js +45 -336
  98. package/dist/src/pipeline/stages/merge/conflictDetector.d.ts +0 -2
  99. package/dist/src/pipeline/stages/merge/conflictDetector.d.ts.map +1 -1
  100. package/dist/src/pipeline/stages/merge/conflictDetector.js +2 -54
  101. package/dist/src/pipeline/stages/merge/coverageMappingBuilder.d.ts.map +1 -1
  102. package/dist/src/pipeline/stages/merge/coverageMappingBuilder.js +3 -67
  103. package/dist/src/pipeline/stages/tia/mockBoundaryDetector.d.ts.map +1 -1
  104. package/dist/src/pipeline/stages/tia/mockBoundaryDetector.js +1 -8
  105. package/dist/src/pipeline/stages/tia/parameterizedTestExpander.js +4 -8
  106. package/dist/src/pipeline/stages/tia/testLayerClassifier.d.ts.map +1 -1
  107. package/dist/src/pipeline/stages/tia/testLayerClassifier.js +10 -36
  108. package/dist/src/pipeline/types.d.ts +1 -1
  109. package/dist/src/pipeline/types.d.ts.map +1 -1
  110. package/package.json +3 -3
  111. package/dist/dashboard/assets/_baseUniq-BZHS9wTU.js +0 -1
  112. package/dist/dashboard/assets/arc-D4xT0thw.js +0 -1
  113. package/dist/dashboard/assets/architectureDiagram-VXUJARFQ-Bs48s9rH.js +0 -36
  114. package/dist/dashboard/assets/c4Diagram-YG6GDRKO-DuP3tG_c.js +0 -10
  115. package/dist/dashboard/assets/channel-YFEOkJua.js +0 -1
  116. package/dist/dashboard/assets/chunk-B4BG7PRW-D5WlZonc.js +0 -165
  117. package/dist/dashboard/assets/chunk-DI55MBZ5-B-xsiGYI.js +0 -220
  118. package/dist/dashboard/assets/classDiagram-2ON5EDUG-CE9rmEXI.js +0 -1
  119. package/dist/dashboard/assets/classDiagram-v2-WZHVMYZB-CE9rmEXI.js +0 -1
  120. package/dist/dashboard/assets/clone-BAVNftx6.js +0 -1
  121. package/dist/dashboard/assets/cose-bilkent-S5V4N54A-DrNDePwE.js +0 -1
  122. package/dist/dashboard/assets/diagram-S2PKOQOG-Bk_jyoxg.js +0 -24
  123. package/dist/dashboard/assets/erDiagram-Q2GNP2WA-BbPQp6RA.js +0 -60
  124. package/dist/dashboard/assets/flowDiagram-NV44I4VS-1j044bLK.js +0 -162
  125. package/dist/dashboard/assets/gitGraphDiagram-V2S2FVAM-RgQMxxaQ.js +0 -65
  126. package/dist/dashboard/assets/index-Bt72YjAZ.css +0 -1
  127. package/dist/dashboard/assets/index-DuT2LnIf.js +0 -523
  128. package/dist/dashboard/assets/journeyDiagram-XKPGCS4Q-CdvZAxeA.js +0 -139
  129. package/dist/dashboard/assets/kanban-definition-3W4ZIXB7-DTse5xX8.js +0 -89
  130. package/dist/dashboard/assets/layout-CnKzeCpQ.js +0 -1
  131. package/dist/dashboard/assets/quadrantDiagram-AYHSOK5B-C6NljtBN.js +0 -7
  132. package/dist/dashboard/assets/requirementDiagram-UZGBJVZJ-Ban4o6oK.js +0 -64
  133. package/dist/dashboard/assets/sankeyDiagram-TZEHDZUN-BDImwZtB.js +0 -10
  134. package/dist/dashboard/assets/stateDiagram-FKZM4ZOC-DkBAMCJV.js +0 -1
  135. package/dist/dashboard/assets/stateDiagram-v2-4FDKWEC3-CtkfyoSn.js +0 -1
  136. package/dist/dashboard/assets/timeline-definition-IT6M3QCI-CGUDCWFx.js +0 -61
  137. package/dist/dashboard/assets/treemap-GDKQZRPO-D-XpcCUD.js +0 -162
  138. package/dist/dashboard/assets/xychartDiagram-PRI3JC2R-BlIpbwyn.js +0 -7
  139. package/dist/dashboard/dist/assets/_basePickBy-C2jmWITn.js +0 -1
  140. package/dist/dashboard/dist/assets/_basePickBy-CErN2e4K.js +0 -1
  141. package/dist/dashboard/dist/assets/_basePickBy-CYB1KXah.js +0 -1
  142. package/dist/dashboard/dist/assets/_basePickBy-D4ml7gdd.js +0 -1
  143. package/dist/dashboard/dist/assets/_basePickBy-D7SXdoHL.js +0 -1
  144. package/dist/dashboard/dist/assets/_basePickBy-DUQHbXda.js +0 -1
  145. package/dist/dashboard/dist/assets/_basePickBy-DZR484hj.js +0 -1
  146. package/dist/dashboard/dist/assets/_basePickBy-_zJIZmFM.js +0 -1
  147. package/dist/dashboard/dist/assets/_baseUniq-BZHS9wTU.js +0 -1
  148. package/dist/dashboard/dist/assets/_baseUniq-BzwtoVZI.js +0 -1
  149. package/dist/dashboard/dist/assets/_baseUniq-C2oBAxY3.js +0 -1
  150. package/dist/dashboard/dist/assets/_baseUniq-CUKBQ2bc.js +0 -1
  151. package/dist/dashboard/dist/assets/_baseUniq-Ct8XEXnH.js +0 -1
  152. package/dist/dashboard/dist/assets/_baseUniq-DE6cyzJb.js +0 -1
  153. package/dist/dashboard/dist/assets/_baseUniq-DzHorfx6.js +0 -1
  154. package/dist/dashboard/dist/assets/arc-B-Q4nGPT.js +0 -1
  155. package/dist/dashboard/dist/assets/arc-B7p8x22e.js +0 -1
  156. package/dist/dashboard/dist/assets/arc-BDOeMmjX.js +0 -1
  157. package/dist/dashboard/dist/assets/arc-BaDRUN_n.js +0 -1
  158. package/dist/dashboard/dist/assets/arc-CjFGY63A.js +0 -1
  159. package/dist/dashboard/dist/assets/arc-D4xT0thw.js +0 -1
  160. package/dist/dashboard/dist/assets/arc-g03p1JXB.js +0 -1
  161. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-BUdFGrlT.js +0 -36
  162. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-Bs48s9rH.js +0 -36
  163. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-CLCqS7Lv.js +0 -36
  164. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-C_5dqWCI.js +0 -36
  165. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-WnVycqnT.js +0 -36
  166. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-mH7lInv5.js +0 -36
  167. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-wVr1_uNB.js +0 -36
  168. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-BBXc88fn.js +0 -122
  169. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-BPw-T2eL.js +0 -122
  170. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-BvkiW8lj.js +0 -122
  171. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-CavSRNuP.js +0 -122
  172. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-D-TzNNzc.js +0 -122
  173. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-DK0YAM7_.js +0 -122
  174. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-DbGIO6Kt.js +0 -122
  175. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-V4vxrfzX.js +0 -122
  176. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-Bs4R4b6P.js +0 -10
  177. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-BsgzPfQ3.js +0 -10
  178. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-CAFpcejP.js +0 -10
  179. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-DVnWnYOL.js +0 -10
  180. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-DuP3tG_c.js +0 -10
  181. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-ZEVciqTW.js +0 -10
  182. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-w18S5AEN.js +0 -10
  183. package/dist/dashboard/dist/assets/channel-BSnIwwuG.js +0 -1
  184. package/dist/dashboard/dist/assets/channel-BgeGdqQG.js +0 -1
  185. package/dist/dashboard/dist/assets/channel-CyXkK5KC.js +0 -1
  186. package/dist/dashboard/dist/assets/channel-D5Cq9giL.js +0 -1
  187. package/dist/dashboard/dist/assets/channel-DbeZpf5T.js +0 -1
  188. package/dist/dashboard/dist/assets/channel-Di9el3wE.js +0 -1
  189. package/dist/dashboard/dist/assets/channel-YFEOkJua.js +0 -1
  190. package/dist/dashboard/dist/assets/channel-psxgcQ_j.js +0 -1
  191. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-B9cIE1K2.js +0 -1
  192. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-BDYDsvGv.js +0 -1
  193. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-BF8loPLD.js +0 -1
  194. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-BrU7mtb9.js +0 -1
  195. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-CSJ8KLGx.js +0 -1
  196. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-DY1boKsq.js +0 -1
  197. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-IN53WLTx.js +0 -1
  198. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-oleArqPu.js +0 -1
  199. package/dist/dashboard/dist/assets/chunk-55IACEB6-BIFhHB94.js +0 -1
  200. package/dist/dashboard/dist/assets/chunk-55IACEB6-BSL35gyW.js +0 -1
  201. package/dist/dashboard/dist/assets/chunk-55IACEB6-BzCzmNUn.js +0 -1
  202. package/dist/dashboard/dist/assets/chunk-55IACEB6-C3HNF-UF.js +0 -1
  203. package/dist/dashboard/dist/assets/chunk-55IACEB6-CiEoroXY.js +0 -1
  204. package/dist/dashboard/dist/assets/chunk-55IACEB6-DV6VmXIy.js +0 -1
  205. package/dist/dashboard/dist/assets/chunk-55IACEB6-DwsmCNp_.js +0 -1
  206. package/dist/dashboard/dist/assets/chunk-55IACEB6-kJkjQYxk.js +0 -1
  207. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-B3IrqteW.js +0 -165
  208. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-BChq1Wly.js +0 -165
  209. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-BiYJ9gu_.js +0 -165
  210. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-CCMwwYCe.js +0 -165
  211. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-D5WlZonc.js +0 -165
  212. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-eTDXrKrv.js +0 -165
  213. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-wQ6TCEMq.js +0 -165
  214. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-B7xHuqZu.js +0 -220
  215. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-BD9C9H7Y.js +0 -220
  216. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-BTfzxsg4.js +0 -220
  217. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-CSRqV3_6.js +0 -220
  218. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-D7eiRvhB.js +0 -220
  219. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-DfslhtXS.js +0 -220
  220. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-M-8I3jEy.js +0 -220
  221. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-BBMfQbw1.js +0 -15
  222. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-BgEzYy_c.js +0 -15
  223. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-CtTcDWZJ.js +0 -15
  224. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-CyF99olo.js +0 -15
  225. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-DRb5NEMr.js +0 -15
  226. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-K3PC79JF.js +0 -15
  227. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-V0V2L4Gq.js +0 -15
  228. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-bSA0XiS0.js +0 -15
  229. package/dist/dashboard/dist/assets/chunk-QN33PNHL-BBQ6Q-9S.js +0 -1
  230. package/dist/dashboard/dist/assets/chunk-QN33PNHL-BNX7uRa_.js +0 -1
  231. package/dist/dashboard/dist/assets/chunk-QN33PNHL-BRSlHScq.js +0 -1
  232. package/dist/dashboard/dist/assets/chunk-QN33PNHL-BrOIYUBs.js +0 -1
  233. package/dist/dashboard/dist/assets/chunk-QN33PNHL-CCuhlE1C.js +0 -1
  234. package/dist/dashboard/dist/assets/chunk-QN33PNHL-CmeZ1h1Z.js +0 -1
  235. package/dist/dashboard/dist/assets/chunk-QN33PNHL-DFgUs0T8.js +0 -1
  236. package/dist/dashboard/dist/assets/chunk-QN33PNHL-JcQZ0Q-Q.js +0 -1
  237. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-9uXt-06K.js +0 -1
  238. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-Cix7nLqx.js +0 -1
  239. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-CliaQGD4.js +0 -1
  240. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-Cyg7Km90.js +0 -1
  241. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-DKgOcPif.js +0 -1
  242. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-MNv3v4He.js +0 -1
  243. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-T5hoQANf.js +0 -1
  244. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-mq-zucvn.js +0 -1
  245. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-BjDMUc_L.js +0 -1
  246. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-BoJFBewj.js +0 -1
  247. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-BtXpcWN4.js +0 -1
  248. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-C8KNXDi7.js +0 -1
  249. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-CyhcxGB1.js +0 -1
  250. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-DGTVcqTS.js +0 -1
  251. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-DqMNcR7I.js +0 -1
  252. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-F1fppg7C.js +0 -1
  253. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-AMwn99HP.js +0 -1
  254. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-BbkwHRko.js +0 -1
  255. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-Be0F7AG8.js +0 -1
  256. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-BkGN4Cpz.js +0 -1
  257. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-CE9rmEXI.js +0 -1
  258. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-CM6Qs-Qs.js +0 -1
  259. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-D3VDjeKC.js +0 -1
  260. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-o8p5Y0H9.js +0 -1
  261. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-AMwn99HP.js +0 -1
  262. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-BbkwHRko.js +0 -1
  263. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-Be0F7AG8.js +0 -1
  264. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-BkGN4Cpz.js +0 -1
  265. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-CE9rmEXI.js +0 -1
  266. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-CM6Qs-Qs.js +0 -1
  267. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-D3VDjeKC.js +0 -1
  268. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-o8p5Y0H9.js +0 -1
  269. package/dist/dashboard/dist/assets/clone-B5PF81Z3.js +0 -1
  270. package/dist/dashboard/dist/assets/clone-BAVNftx6.js +0 -1
  271. package/dist/dashboard/dist/assets/clone-BmpQ0ely.js +0 -1
  272. package/dist/dashboard/dist/assets/clone-CKIuLE_W.js +0 -1
  273. package/dist/dashboard/dist/assets/clone-Cv0cxIIi.js +0 -1
  274. package/dist/dashboard/dist/assets/clone-Cvq8JuOb.js +0 -1
  275. package/dist/dashboard/dist/assets/clone-DEYRVSAn.js +0 -1
  276. package/dist/dashboard/dist/assets/clone-KEkbvJY9.js +0 -1
  277. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-DLYZ4dZA.js +0 -1
  278. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-DMGRGhwB.js +0 -1
  279. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-DrNDePwE.js +0 -1
  280. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-GjySlYac.js +0 -1
  281. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-UX3RfzXW.js +0 -1
  282. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-YL9kFxCl.js +0 -1
  283. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-xVw-THr_.js +0 -1
  284. package/dist/dashboard/dist/assets/cytoscape.esm-CyJtwmzi.js +0 -331
  285. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-B8oEROJc.js +0 -4
  286. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-BO79zHpJ.js +0 -4
  287. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-Bjadb8g_.js +0 -4
  288. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-CJT7lofP.js +0 -4
  289. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-CUx6EwnW.js +0 -4
  290. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-D03qnh38.js +0 -4
  291. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-DgEqrxGj.js +0 -4
  292. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-NZWnQN_Y.js +0 -4
  293. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-5uki9Dw8.js +0 -24
  294. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-BPFtplp4.js +0 -24
  295. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-BgOmComt.js +0 -24
  296. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-DGtyS7lD.js +0 -24
  297. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-D__FKIzE.js +0 -24
  298. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-DtE0cTIs.js +0 -24
  299. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-JEfxbZj6.js +0 -24
  300. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-Y-M5J_PO.js +0 -24
  301. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-1hjfopmw.js +0 -43
  302. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BHyZd544.js +0 -43
  303. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BRNhmby2.js +0 -43
  304. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BXMS0hEZ.js +0 -43
  305. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BtOA2yYh.js +0 -43
  306. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-CSCGZUfr.js +0 -43
  307. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-CYK-aLR5.js +0 -43
  308. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-CYxueP7U.js +0 -43
  309. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-Bk_jyoxg.js +0 -24
  310. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-CRUXUQeh.js +0 -24
  311. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-CzytkAcm.js +0 -24
  312. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-D-ku_X8U.js +0 -24
  313. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-DdqZVGN1.js +0 -24
  314. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-Gj3ANjIG.js +0 -24
  315. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-qvXlTDud.js +0 -24
  316. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-BbPQp6RA.js +0 -60
  317. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DDk1KpRF.js +0 -60
  318. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DGl6gPe2.js +0 -60
  319. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DSC5VPcF.js +0 -60
  320. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DZpjLrp5.js +0 -60
  321. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-Dhb_VQMS.js +0 -60
  322. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DvI8ycM6.js +0 -60
  323. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-BAHshMEg.js +0 -162
  324. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-CBnhpWKd.js +0 -162
  325. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-CYXUqE3L.js +0 -162
  326. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-Co89qYBD.js +0 -162
  327. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-DRAD4OG7.js +0 -162
  328. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-PVleScVK.js +0 -162
  329. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-gKUH-GJ2.js +0 -162
  330. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-2r3WpWQC.js +0 -267
  331. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-BA65eVi0.js +0 -267
  332. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-BS4JnN-M.js +0 -267
  333. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-Cjy_BOl2.js +0 -267
  334. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-CsUMU5Ws.js +0 -267
  335. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-DK_45K6s.js +0 -267
  336. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-DX-lROHt.js +0 -267
  337. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-Dm_lLo9y.js +0 -267
  338. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-C9NpbucY.js +0 -65
  339. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-CWo2OK69.js +0 -65
  340. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-DM9AW1aP.js +0 -65
  341. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-DYrdM8tK.js +0 -65
  342. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-RgQMxxaQ.js +0 -65
  343. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-Uz3nRdju.js +0 -65
  344. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-bYKe_efj.js +0 -65
  345. package/dist/dashboard/dist/assets/graph-BP2ns4se.js +0 -1
  346. package/dist/dashboard/dist/assets/graph-BVGuJ5gs.js +0 -1
  347. package/dist/dashboard/dist/assets/graph-CD7-npU0.js +0 -1
  348. package/dist/dashboard/dist/assets/graph-Clj85F2M.js +0 -1
  349. package/dist/dashboard/dist/assets/graph-CpRVMcWW.js +0 -1
  350. package/dist/dashboard/dist/assets/graph-Cwn7jgQS.js +0 -1
  351. package/dist/dashboard/dist/assets/graph-ZtgwAPQj.js +0 -1
  352. package/dist/dashboard/dist/assets/graph-gV0gk5Dq.js +0 -1
  353. package/dist/dashboard/dist/assets/index-Bt72YjAZ.css +0 -1
  354. package/dist/dashboard/dist/assets/index-ByH_nEhG.js +0 -523
  355. package/dist/dashboard/dist/assets/index-C302ingQ.css +0 -1
  356. package/dist/dashboard/dist/assets/index-CqEIqNus.js +0 -781
  357. package/dist/dashboard/dist/assets/index-D-AtVpd2.js +0 -523
  358. package/dist/dashboard/dist/assets/index-D3_88Gr5.js +0 -777
  359. package/dist/dashboard/dist/assets/index-DEXwnExZ.js +0 -523
  360. package/dist/dashboard/dist/assets/index-DbUdNJca.js +0 -781
  361. package/dist/dashboard/dist/assets/index-DuT2LnIf.js +0 -523
  362. package/dist/dashboard/dist/assets/index-xecKLQ58.css +0 -1
  363. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-BMp4C5wf.js +0 -2
  364. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-BjChBCME.js +0 -2
  365. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-BxoN3QPh.js +0 -2
  366. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-CxmZGT-4.js +0 -2
  367. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-D3SFXNAS.js +0 -2
  368. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-DyT5Fs8R.js +0 -2
  369. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-HLwGZBHJ.js +0 -2
  370. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-ujnMqVz3.js +0 -2
  371. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-BC0GSZ7W.js +0 -139
  372. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-Bv1IeJ8A.js +0 -139
  373. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-CFgbI9OH.js +0 -139
  374. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-CdvZAxeA.js +0 -139
  375. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-CiMM9buE.js +0 -139
  376. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-DQzfeBIo.js +0 -139
  377. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-nYZBlgTD.js +0 -139
  378. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-AkiB-BRk.js +0 -89
  379. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-BjYw_9v5.js +0 -89
  380. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-COTfX74l.js +0 -89
  381. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-D3u5Ov-5.js +0 -89
  382. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-D6aRd_q1.js +0 -89
  383. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-DTse5xX8.js +0 -89
  384. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-ueIaoeks.js +0 -89
  385. package/dist/dashboard/dist/assets/katex-O9d3_IXG.js +0 -261
  386. package/dist/dashboard/dist/assets/layout-6njVG9Ld.js +0 -1
  387. package/dist/dashboard/dist/assets/layout-B1fTYUMj.js +0 -1
  388. package/dist/dashboard/dist/assets/layout-BbJNDkTr.js +0 -1
  389. package/dist/dashboard/dist/assets/layout-BwmMaJCx.js +0 -1
  390. package/dist/dashboard/dist/assets/layout-CnKzeCpQ.js +0 -1
  391. package/dist/dashboard/dist/assets/layout-DgtRACDS.js +0 -1
  392. package/dist/dashboard/dist/assets/layout-JbkTCGhr.js +0 -1
  393. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-B7wYeLe1.js +0 -68
  394. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-B93XW27v.js +0 -68
  395. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-BJ5xCmsL.js +0 -68
  396. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-BVsYbH_c.js +0 -68
  397. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-CkyYtMaD.js +0 -68
  398. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-CmcASbkx.js +0 -68
  399. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-D001Ygrx.js +0 -68
  400. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-QDZ_z8OE.js +0 -68
  401. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-5pSPRGJ2.js +0 -30
  402. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-9G1tEuaq.js +0 -30
  403. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-BIOVbZG_.js +0 -30
  404. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-Bf8vKEOf.js +0 -30
  405. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-BpwMMFZ3.js +0 -30
  406. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-DOXOzepj.js +0 -30
  407. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-EeNihpUP.js +0 -30
  408. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-uWFQFMEe.js +0 -30
  409. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-Bwppivuy.js +0 -7
  410. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-CM8qiFLR.js +0 -7
  411. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-Crgu5WqK.js +0 -7
  412. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-CtbMtM_F.js +0 -7
  413. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-i3-JTN3e.js +0 -7
  414. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-jDtdB4Ws.js +0 -7
  415. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-o21Z8BWo.js +0 -7
  416. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-Ban4o6oK.js +0 -64
  417. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-BfAcJrqc.js +0 -64
  418. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-CgXxZ2rH.js +0 -64
  419. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-ClNSNeYe.js +0 -64
  420. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-DPTtP4Ve.js +0 -64
  421. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-Dw260IiT.js +0 -64
  422. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-WIJ0qiJG.js +0 -64
  423. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-BDImwZtB.js +0 -10
  424. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-BFNTuDV7.js +0 -10
  425. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-Cb4WB9UB.js +0 -10
  426. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-D2OGoxU5.js +0 -10
  427. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-DEVTdH0h.js +0 -10
  428. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-LR8T4Hv0.js +0 -10
  429. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-VcdyPlVE.js +0 -10
  430. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-1d8_kyI3.js +0 -145
  431. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-97qjzqIO.js +0 -145
  432. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-Bjr5wgXg.js +0 -145
  433. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-BqGJWVUS.js +0 -145
  434. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-C5h60fvZ.js +0 -145
  435. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-DBqchhlr.js +0 -145
  436. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-DOr6An-q.js +0 -145
  437. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-nMYJrjDT.js +0 -145
  438. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-BWqoDymf.js +0 -1
  439. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-Bl16d4W5.js +0 -1
  440. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-C1KYr7Wj.js +0 -1
  441. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DDrhZYly.js +0 -1
  442. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DKkWVu_K.js +0 -1
  443. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DkBAMCJV.js +0 -1
  444. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DlLDy54e.js +0 -1
  445. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-B05ygO34.js +0 -1
  446. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-B0euQu1p.js +0 -1
  447. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-BlwaoFEG.js +0 -1
  448. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-CtkfyoSn.js +0 -1
  449. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-DRV_IYr6.js +0 -1
  450. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-Im6pH8C-.js +0 -1
  451. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-K_qkvHaB.js +0 -1
  452. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-pZ_Rrx6C.js +0 -1
  453. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-CBR9kqeJ.js +0 -61
  454. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-CGUDCWFx.js +0 -61
  455. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-CLdinkid.js +0 -61
  456. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-CsRS0WGC.js +0 -61
  457. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-D6JNee_P.js +0 -61
  458. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-DAT3r9va.js +0 -61
  459. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-DR6HNny6.js +0 -61
  460. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-BlA8rg0m.js +0 -162
  461. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-CBle3d0d.js +0 -162
  462. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-CCvvSJBX.js +0 -162
  463. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-Cw9mkiYN.js +0 -162
  464. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-D-XpcCUD.js +0 -162
  465. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-MpQr6tee.js +0 -162
  466. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-vW7FSd7C.js +0 -162
  467. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-7aSkQtVu.js +0 -7
  468. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-B72UwDAP.js +0 -7
  469. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-BceejIon.js +0 -7
  470. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-BlIpbwyn.js +0 -7
  471. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-ByLRWyI2.js +0 -7
  472. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-DjyK-sw-.js +0 -7
  473. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-bS40I4IT.js +0 -7
  474. package/dist/dashboard/dist/index.html +0 -14
  475. package/dist/dashboard/dist/reports/business-coverage.json +0 -201
  476. package/dist/dashboard/dist/reports/coverage-intelligence.json +0 -728
  477. package/dist/dashboard/dist/reports/coverage-summary.json +0 -763
  478. package/dist/dashboard/dist/reports/endpoint-coverage.json +0 -336
  479. package/dist/dashboard/dist/reports/error-coverage.json +0 -367
  480. package/dist/dashboard/dist/reports/missing-tests-recommendations.json +0 -285
  481. package/dist/dashboard/dist/reports/risk-prioritization.json +0 -312
  482. package/dist/dashboard/dist/reports/security-coverage.json +0 -299
  483. package/dist/dashboard/dist/vite.svg +0 -1
  484. package/dist/dashboard/reports/coverage-summary.json +0 -763
  485. package/dist/src/generation/ai-flow-exporter.d.ts +0 -7
  486. package/dist/src/generation/ai-flow-exporter.d.ts.map +0 -1
  487. package/dist/src/generation/ai-flow-exporter.js +0 -260
  488. package/dist/src/generation/context-builder.d.ts +0 -16
  489. package/dist/src/generation/context-builder.d.ts.map +0 -1
  490. package/dist/src/generation/context-builder.js +0 -170
  491. package/dist/src/generation/engine.d.ts +0 -19
  492. package/dist/src/generation/engine.d.ts.map +0 -1
  493. package/dist/src/generation/engine.js +0 -204
  494. package/dist/src/generation/file-router.d.ts +0 -8
  495. package/dist/src/generation/file-router.d.ts.map +0 -1
  496. package/dist/src/generation/file-router.js +0 -98
  497. package/dist/src/generation/gap-extractor.d.ts +0 -7
  498. package/dist/src/generation/gap-extractor.d.ts.map +0 -1
  499. package/dist/src/generation/gap-extractor.js +0 -291
  500. package/dist/src/generation/index.d.ts +0 -9
  501. package/dist/src/generation/index.d.ts.map +0 -1
  502. package/dist/src/generation/index.js +0 -15
  503. package/dist/src/generation/quality-scorer.d.ts +0 -15
  504. package/dist/src/generation/quality-scorer.d.ts.map +0 -1
  505. package/dist/src/generation/quality-scorer.js +0 -273
  506. package/dist/src/generation/template-renderer.d.ts +0 -12
  507. package/dist/src/generation/template-renderer.d.ts.map +0 -1
  508. package/dist/src/generation/template-renderer.js +0 -546
  509. package/dist/src/generation/types.d.ts +0 -269
  510. package/dist/src/generation/types.d.ts.map +0 -1
  511. package/dist/src/generation/types.js +0 -6
  512. /package/dist/dashboard/{dist/assets → assets}/index-D_begBP0.css +0 -0
@@ -1,546 +0,0 @@
1
- "use strict";
2
- /**
3
- * Feature 28 — TemplateRenderer
4
- * Renders test scaffolds from GenerationContext.
5
- * Uses string-based templates (no external dependency required).
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.renderTemplate = renderTemplate;
9
- // ─── Header comment (RULE-GEN01) ──────────────────────────────────────────────
10
- function autoGeneratedHeader(ctx) {
11
- return [
12
- `// AUTO-GENERATED by api-test-coverage-analyzer (Feature 28)`,
13
- `// Gap: ${ctx.gap.id} | Risk: ${ctx.gap.riskScore} | Priority: ${ctx.gap.priority}`,
14
- `// TODO: Review generated assertions and replace placeholder values`,
15
- ``,
16
- ].join('\n');
17
- }
18
- // ─── TypeScript / Jest unit + integration ─────────────────────────────────────
19
- function renderTypescriptJestUnit(ctx) {
20
- var _a, _b, _c, _d;
21
- const { endpoint, fixtures, project } = ctx;
22
- const method = endpoint.method.toLowerCase();
23
- const descName = (_a = endpoint.operationId) !== null && _a !== void 0 ? _a : `${endpoint.method} ${endpoint.path}`;
24
- const authRequired = endpoint.auth.required;
25
- const scheme = (_b = endpoint.auth.scheme) !== null && _b !== void 0 ? _b : 'Bearer';
26
- const lines = [
27
- autoGeneratedHeader(ctx),
28
- `import request from 'supertest';`,
29
- `import { app } from '${project.importPrefix}/app';`,
30
- ``,
31
- `const BASE_URL = process.env.TEST_BASE_URL ?? '${project.baseUrl}';`,
32
- ``,
33
- `// TODO: Replace with a valid JWT token from your test auth setup`,
34
- `const VALID_AUTH_TOKEN = '${scheme} <your-test-token>';`,
35
- ``,
36
- `describe('${descName}', () => {`,
37
- ];
38
- // Happy path
39
- lines.push(` describe('happy path', () => {`);
40
- lines.push(` it('should succeed and return the expected response', async () => {`);
41
- if (Object.keys(fixtures.validPayload).length > 0) {
42
- lines.push(` const payload = ${JSON.stringify(fixtures.validPayload, null, 8).replace(/\n/g, '\n ')};`);
43
- lines.push(` // TODO: Replace with realistic test data`);
44
- lines.push(``);
45
- }
46
- lines.push(` const response = await request(app)`);
47
- lines.push(` .${method}('${endpoint.pathNormalized}')`);
48
- if (authRequired) {
49
- lines.push(` .set('Authorization', VALID_AUTH_TOKEN)`);
50
- }
51
- if (Object.keys(fixtures.validPayload).length > 0) {
52
- lines.push(` .send(payload);`);
53
- }
54
- else {
55
- lines.push(` ;`);
56
- }
57
- lines.push(``);
58
- // Find success status code
59
- const successStatus = (_d = (_c = ctx.responses.find(r => r.statusCode >= 200 && r.statusCode < 300)) === null || _c === void 0 ? void 0 : _c.statusCode) !== null && _d !== void 0 ? _d : 200;
60
- lines.push(` expect(response.status).toBe(${successStatus});`);
61
- lines.push(` expect(response.body).toBeDefined();`);
62
- lines.push(` });`);
63
- lines.push(` });`);
64
- lines.push(``);
65
- // Auth tests (RULE-GEN03)
66
- if (authRequired) {
67
- lines.push(` describe('authentication', () => {`);
68
- lines.push(` it('should return 401 when no auth token is provided', async () => {`);
69
- lines.push(` const response = await request(app)`);
70
- lines.push(` .${method}('${endpoint.pathNormalized}');`);
71
- lines.push(``);
72
- lines.push(` expect(response.status).toBe(401);`);
73
- lines.push(` });`);
74
- lines.push(``);
75
- lines.push(` it('should return 401 when an invalid auth token is provided', async () => {`);
76
- lines.push(` const response = await request(app)`);
77
- lines.push(` .${method}('${endpoint.pathNormalized}')`);
78
- lines.push(` .set('Authorization', '${scheme} invalid-token-value');`);
79
- lines.push(``);
80
- lines.push(` expect(response.status).toBe(401);`);
81
- lines.push(` });`);
82
- lines.push(` });`);
83
- lines.push(``);
84
- }
85
- // Validation / error tests
86
- const requiredParams = ctx.parameters.filter(p => p.required && p.in === 'body');
87
- if (requiredParams.length > 0) {
88
- lines.push(` describe('validation', () => {`);
89
- for (const param of requiredParams.slice(0, 3)) {
90
- lines.push(` it('should return 422 when ${param.name} is missing', async () => {`);
91
- const partialPayload = {};
92
- for (const other of requiredParams) {
93
- if (other.name !== param.name) {
94
- partialPayload[other.name] = 'test-value';
95
- }
96
- }
97
- lines.push(` const response = await request(app)`);
98
- lines.push(` .${method}('${endpoint.pathNormalized}')`);
99
- if (authRequired) {
100
- lines.push(` .set('Authorization', VALID_AUTH_TOKEN)`);
101
- }
102
- lines.push(` .send(${JSON.stringify(partialPayload)});`);
103
- lines.push(``);
104
- lines.push(` expect(response.status).toBe(422);`);
105
- lines.push(` expect(response.body).toHaveProperty('errors');`);
106
- lines.push(` });`);
107
- lines.push(``);
108
- }
109
- lines.push(` });`);
110
- }
111
- lines.push(`});`);
112
- lines.push(``);
113
- return lines.join('\n');
114
- }
115
- // ─── TypeScript / Jest security ───────────────────────────────────────────────
116
- function renderTypescriptJestSecurity(ctx) {
117
- var _a;
118
- const { endpoint, project } = ctx;
119
- const method = endpoint.method.toLowerCase();
120
- const scheme = (_a = endpoint.auth.scheme) !== null && _a !== void 0 ? _a : 'Bearer';
121
- const lines = [
122
- autoGeneratedHeader(ctx),
123
- `import request from 'supertest';`,
124
- `import { app } from '${project.importPrefix}/app';`,
125
- ``,
126
- `// TODO: Replace with a valid JWT token from your test auth setup`,
127
- `const VALID_AUTH_TOKEN = '${scheme} <your-test-token>';`,
128
- ``,
129
- `describe('Security: ${endpoint.method} ${endpoint.path} — Auth Controls', () => {`,
130
- ` it('[SEC-AUTH-01] should reject requests with no Authorization header', async () => {`,
131
- ` const response = await request(app)`,
132
- ` .${method}('${endpoint.pathNormalized}');`,
133
- ``,
134
- ` expect(response.status).toBe(401);`,
135
- ` });`,
136
- ``,
137
- ` it('[SEC-AUTH-02] should reject requests with malformed token', async () => {`,
138
- ` const response = await request(app)`,
139
- ` .${method}('${endpoint.pathNormalized}')`,
140
- ` .set('Authorization', 'malformed-token-without-scheme');`,
141
- ``,
142
- ` expect(response.status).toBe(401);`,
143
- ` });`,
144
- ``,
145
- ` it('[SEC-AUTH-03] should reject requests with expired token', async () => {`,
146
- ` // TODO: Generate or use a known-expired JWT for your test environment`,
147
- ` const expiredToken = '${scheme} eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2MDAwMDAwMDAsImV4cCI6MTYwMDAwMDAwMX0.TODO';`,
148
- ``,
149
- ` const response = await request(app)`,
150
- ` .${method}('${endpoint.pathNormalized}')`,
151
- ` .set('Authorization', expiredToken);`,
152
- ``,
153
- ` expect(response.status).toBe(401);`,
154
- ` });`,
155
- ``,
156
- ` it('[SEC-AUTH-04] should reject requests with a token for a different user role', async () => {`,
157
- ` // TODO: Get a token for a user WITHOUT the required permissions`,
158
- ` const lowPrivToken = '${scheme} <low-privilege-token>';`,
159
- ``,
160
- ` const response = await request(app)`,
161
- ` .${method}('${endpoint.pathNormalized}')`,
162
- ` .set('Authorization', lowPrivToken);`,
163
- ``,
164
- ` // Expect either 401 (unauthenticated) or 403 (unauthorized)`,
165
- ` expect([401, 403]).toContain(response.status);`,
166
- ` });`,
167
- `});`,
168
- ``,
169
- `describe('Security: ${endpoint.method} ${endpoint.path} — Injection Prevention', () => {`,
170
- ` it('[SEC-INJ-01] should not execute SQL injection in request body', async () => {`,
171
- ` const response = await request(app)`,
172
- ` .${method}('${endpoint.pathNormalized}')`,
173
- ` .set('Authorization', VALID_AUTH_TOKEN)`,
174
- ` .send({ title: "'; DROP TABLE articles; --", body: 'Body', description: 'Desc' });`,
175
- ``,
176
- ` // Should either succeed (sanitized) or return 422 (rejected) — never 500`,
177
- ` expect(response.status).not.toBe(500);`,
178
- ` expect(response.status).not.toBe(503);`,
179
- ` });`,
180
- ``,
181
- ` it('[SEC-INJ-02] should not execute XSS in request fields', async () => {`,
182
- ` const response = await request(app)`,
183
- ` .${method}('${endpoint.pathNormalized}')`,
184
- ` .set('Authorization', VALID_AUTH_TOKEN)`,
185
- ` .send({ title: '<script>alert("xss")</script>', body: 'Body', description: 'Desc' });`,
186
- ``,
187
- ` expect(response.status).not.toBe(500);`,
188
- ``,
189
- ` if (response.status >= 200 && response.status < 300) {`,
190
- ` // If the server accepted it, it must have been sanitized`,
191
- ` const body = JSON.stringify(response.body);`,
192
- ` expect(body).not.toContain('<script>');`,
193
- ` }`,
194
- ` });`,
195
- ``,
196
- ` it('[SEC-INJ-03] should handle oversized payload gracefully', async () => {`,
197
- ` const oversizedBody = 'x'.repeat(10_000_000); // 10 MB`,
198
- ``,
199
- ` const response = await request(app)`,
200
- ` .${method}('${endpoint.pathNormalized}')`,
201
- ` .set('Authorization', VALID_AUTH_TOKEN)`,
202
- ` .send({ title: 'Test', body: oversizedBody, description: 'Desc' });`,
203
- ``,
204
- ` // Must not crash — 413 or 422 are acceptable`,
205
- ` expect([413, 422, 400]).toContain(response.status);`,
206
- ` });`,
207
- `});`,
208
- ``,
209
- ];
210
- return lines.join('\n');
211
- }
212
- // ─── TypeScript / Jest integration flow ───────────────────────────────────────
213
- function renderTypescriptJestIntegration(ctx) {
214
- const { endpoint, project, flow } = ctx;
215
- if (!flow) {
216
- return renderTypescriptJestUnit(ctx);
217
- }
218
- const lines = [
219
- autoGeneratedHeader(ctx),
220
- `import request from 'supertest';`,
221
- `import { app } from '${project.importPrefix}/app';`,
222
- ``,
223
- `describe('Integration Flow: ${flow.name}', () => {`,
224
- ` let authToken: string;`,
225
- ``,
226
- ` // RULE-INT04: beforeAll (not beforeEach) for auth setup`,
227
- ` beforeAll(async () => {`,
228
- ` // TODO: Replace with your test user credentials`,
229
- ` const loginResponse = await request(app)`,
230
- ` .post('/api/users/login')`,
231
- ` .send({ user: { email: 'test@example.com', password: 'testpassword' } });`,
232
- ``,
233
- ` expect(loginResponse.status).toBe(200);`,
234
- ` authToken = \`Token \${loginResponse.body.user.token}\`;`,
235
- ` });`,
236
- ``,
237
- ];
238
- for (let i = 0; i < flow.steps.length; i++) {
239
- const step = flow.steps[i];
240
- const isMissing = i === flow.missingStepIndex;
241
- const stepMethod = step.method.toLowerCase();
242
- const stepPath = step.path;
243
- if (isMissing) {
244
- lines.push(` // ⚠️ MISSING STEP — This step was detected as uncovered by the analyzer`);
245
- }
246
- lines.push(` it('Step ${i + 1}: ${step.description}${isMissing ? ' (MISSING COVERAGE)' : ''}', async () => {`);
247
- if (isMissing) {
248
- lines.push(` // TODO: This step was identified as missing. Implement the test.`);
249
- }
250
- lines.push(` const response = await request(app)`);
251
- lines.push(` .${stepMethod}('${stepPath}')`);
252
- lines.push(` .set('Authorization', authToken);`);
253
- lines.push(``);
254
- lines.push(` expect(response.status).toBe(200);`);
255
- lines.push(` });`);
256
- lines.push(``);
257
- }
258
- lines.push(`});`);
259
- lines.push(``);
260
- return lines.join('\n');
261
- }
262
- // ─── TypeScript / Jest error scenario ────────────────────────────────────────
263
- function renderTypescriptJestErrorScenario(ctx) {
264
- var _a, _b;
265
- const { endpoint, project } = ctx;
266
- const method = endpoint.method.toLowerCase();
267
- const scheme = (_a = endpoint.auth.scheme) !== null && _a !== void 0 ? _a : 'Bearer';
268
- const lines = [
269
- autoGeneratedHeader(ctx),
270
- `import request from 'supertest';`,
271
- `import { app } from '${project.importPrefix}/app';`,
272
- ``,
273
- `// TODO: Replace with a valid JWT token from your test auth setup`,
274
- `const VALID_AUTH_TOKEN = '${scheme} <your-test-token>';`,
275
- ``,
276
- `describe('Error Scenarios: ${endpoint.method} ${endpoint.path}', () => {`,
277
- ];
278
- for (const resp of ctx.responses.filter(r => r.statusCode >= 400)) {
279
- lines.push(` it('should return ${resp.statusCode} when ${(_b = resp.description) !== null && _b !== void 0 ? _b : `error ${resp.statusCode}`}', async () => {`);
280
- lines.push(` const response = await request(app)`);
281
- lines.push(` .${method}('${endpoint.pathNormalized}')`);
282
- if (endpoint.auth.required) {
283
- lines.push(` .set('Authorization', VALID_AUTH_TOKEN)`);
284
- }
285
- lines.push(` .send({});`);
286
- lines.push(``);
287
- lines.push(` expect(response.status).toBe(${resp.statusCode});`);
288
- lines.push(` });`);
289
- lines.push(``);
290
- }
291
- lines.push(`});`);
292
- lines.push(``);
293
- return lines.join('\n');
294
- }
295
- // ─── TypeScript / Jest business rule ─────────────────────────────────────────
296
- function renderTypescriptJestBusinessRule(ctx) {
297
- var _a;
298
- const { endpoint, project, businessRule } = ctx;
299
- const method = endpoint.method.toLowerCase();
300
- const scheme = (_a = endpoint.auth.scheme) !== null && _a !== void 0 ? _a : 'Bearer';
301
- const rule = businessRule !== null && businessRule !== void 0 ? businessRule : { id: 'rule-1', description: 'Business rule', condition: 'When condition is met', acceptanceCriteria: ['Expected behavior is verified'] };
302
- const lines = [
303
- autoGeneratedHeader(ctx),
304
- `import request from 'supertest';`,
305
- `import { app } from '${project.importPrefix}/app';`,
306
- ``,
307
- `// TODO: Replace with a valid JWT token from your test auth setup`,
308
- `const VALID_AUTH_TOKEN = '${scheme} <your-test-token>';`,
309
- ``,
310
- `describe('Business Rule: ${rule.id} — ${rule.description}', () => {`,
311
- ` // Rule condition: ${rule.condition}`,
312
- ];
313
- for (const criterion of rule.acceptanceCriteria) {
314
- lines.push(` it('${criterion}', async () => {`);
315
- lines.push(` // TODO: Implement test for acceptance criterion: ${criterion}`);
316
- lines.push(` const response = await request(app)`);
317
- lines.push(` .${method}('${endpoint.pathNormalized}')`);
318
- if (endpoint.auth.required) {
319
- lines.push(` .set('Authorization', VALID_AUTH_TOKEN)`);
320
- }
321
- lines.push(` .send({});`);
322
- lines.push(``);
323
- lines.push(` expect(response.status).toBeDefined();`);
324
- lines.push(` // TODO: Add specific assertions for this acceptance criterion`);
325
- lines.push(` });`);
326
- lines.push(``);
327
- }
328
- lines.push(`});`);
329
- lines.push(``);
330
- return lines.join('\n');
331
- }
332
- // ─── Python / pytest ──────────────────────────────────────────────────────────
333
- function renderPythonPytestUnit(ctx) {
334
- var _a, _b;
335
- const { endpoint } = ctx;
336
- const method = endpoint.method.toLowerCase();
337
- const authRequired = endpoint.auth.required;
338
- const lines = [
339
- `# AUTO-GENERATED by api-test-coverage-analyzer (Feature 28)`,
340
- `# Gap: ${ctx.gap.id} | Risk: ${ctx.gap.riskScore} | Priority: ${ctx.gap.priority}`,
341
- `# TODO: Review generated assertions and replace placeholder values`,
342
- ``,
343
- `import pytest`,
344
- ``,
345
- `# TODO: Import your app factory and configure for testing`,
346
- `# from app import create_app`,
347
- ``,
348
- `VALID_AUTH_TOKEN = 'Token <your-test-token>' # TODO: Replace`,
349
- ``,
350
- ``,
351
- `@pytest.fixture`,
352
- `def client(app):`,
353
- ` """TODO: Configure this fixture for your test setup."""`,
354
- ` return app.test_client()`,
355
- ``,
356
- ``,
357
- `class Test${toPascalCase(endpoint.method + '_' + endpoint.path.replace(/[^a-zA-Z0-9]/g, '_'))}:`,
358
- ` """Tests for ${endpoint.method} ${endpoint.path}"""`,
359
- ``,
360
- ];
361
- lines.push(` def test_happy_path(self, client):`);
362
- lines.push(` """Should succeed with valid input."""`);
363
- if (authRequired) {
364
- lines.push(` response = client.${method}(`);
365
- lines.push(` '${endpoint.path}',`);
366
- lines.push(` json={},`);
367
- lines.push(` headers={'Authorization': VALID_AUTH_TOKEN},`);
368
- lines.push(` )`);
369
- }
370
- else {
371
- lines.push(` response = client.${method}('${endpoint.path}')`);
372
- }
373
- lines.push(``);
374
- const successStatus = (_b = (_a = ctx.responses.find(r => r.statusCode >= 200 && r.statusCode < 300)) === null || _a === void 0 ? void 0 : _a.statusCode) !== null && _b !== void 0 ? _b : 200;
375
- lines.push(` assert response.status_code == ${successStatus}`);
376
- lines.push(``);
377
- if (authRequired) {
378
- lines.push(` def test_requires_auth(self, client):`);
379
- lines.push(` """Should return 401 when no auth token is provided."""`);
380
- lines.push(` response = client.${method}('${endpoint.path}', json={})`);
381
- lines.push(``);
382
- lines.push(` assert response.status_code == 401`);
383
- lines.push(``);
384
- lines.push(` def test_invalid_token(self, client):`);
385
- lines.push(` """Should return 401 when an invalid token is provided."""`);
386
- lines.push(` response = client.${method}(`);
387
- lines.push(` '${endpoint.path}',`);
388
- lines.push(` json={},`);
389
- lines.push(` headers={'Authorization': 'Token invalid-token'},`);
390
- lines.push(` )`);
391
- lines.push(``);
392
- lines.push(` assert response.status_code == 401`);
393
- lines.push(``);
394
- }
395
- return lines.join('\n');
396
- }
397
- function toPascalCase(s) {
398
- return s
399
- .replace(/[^a-zA-Z0-9]+(.)/g, (_, c) => c.toUpperCase())
400
- .replace(/^(.)/, (c) => c.toUpperCase());
401
- }
402
- // ─── Java / JUnit5 ────────────────────────────────────────────────────────────
403
- function renderJavaJunit5Unit(ctx) {
404
- var _a, _b;
405
- const { endpoint } = ctx;
406
- const method = endpoint.method;
407
- const authRequired = endpoint.auth.required;
408
- const successStatus = (_b = (_a = ctx.responses.find(r => r.statusCode >= 200 && r.statusCode < 300)) === null || _a === void 0 ? void 0 : _a.statusCode) !== null && _b !== void 0 ? _b : 200;
409
- const statusMatcher = successStatus === 201 ? 'isCreated()' : successStatus === 204 ? 'isNoContent()' : 'isOk()';
410
- const lines = [
411
- `// AUTO-GENERATED by api-test-coverage-analyzer (Feature 28)`,
412
- `// Gap: ${ctx.gap.id} | Risk: ${ctx.gap.riskScore} | Priority: ${ctx.gap.priority}`,
413
- `// TODO: Review generated assertions and replace placeholder values`,
414
- ``,
415
- `package generated;`,
416
- ``,
417
- `import org.junit.jupiter.api.Test;`,
418
- `import org.springframework.beans.factory.annotation.Autowired;`,
419
- `import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;`,
420
- `import org.springframework.boot.test.context.SpringBootTest;`,
421
- `import org.springframework.http.MediaType;`,
422
- `import org.springframework.test.web.servlet.MockMvc;`,
423
- ``,
424
- `import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.${method.toLowerCase()};`,
425
- `import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;`,
426
- ``,
427
- `@SpringBootTest`,
428
- `@AutoConfigureMockMvc`,
429
- `public class ${toPascalCase(method + '_' + endpoint.path.replace(/[^a-zA-Z0-9]/g, '_') + '_Test')} {`,
430
- ``,
431
- ` @Autowired`,
432
- ` private MockMvc mockMvc;`,
433
- ``,
434
- ` // TODO: Replace with a valid JWT from your test auth setup`,
435
- ` private static final String VALID_TOKEN = "Token <your-test-token>";`,
436
- ``,
437
- ` @Test`,
438
- ` void happyPath_returns${successStatus}() throws Exception {`,
439
- ` mockMvc.perform(${method.toLowerCase()}("${endpoint.path}")`,
440
- ...(authRequired ? [` .header("Authorization", VALID_TOKEN)`] : []),
441
- ` .contentType(MediaType.APPLICATION_JSON)`,
442
- ` .content("{}")) // TODO: Replace with valid payload`,
443
- ` .andExpect(status().${statusMatcher});`,
444
- ` }`,
445
- ``,
446
- ];
447
- if (authRequired) {
448
- lines.push(` @Test`);
449
- lines.push(` void noAuth_returns401() throws Exception {`);
450
- lines.push(` mockMvc.perform(${method.toLowerCase()}("${endpoint.path}")`);
451
- lines.push(` .contentType(MediaType.APPLICATION_JSON)`);
452
- lines.push(` .content("{}"))`);
453
- lines.push(` .andExpect(status().isUnauthorized());`);
454
- lines.push(` }`);
455
- lines.push(``);
456
- }
457
- lines.push(`}`);
458
- lines.push(``);
459
- return lines.join('\n');
460
- }
461
- // ─── Cypress E2E ──────────────────────────────────────────────────────────────
462
- function renderCypressEndpoint(ctx) {
463
- var _a, _b;
464
- const { endpoint } = ctx;
465
- const method = endpoint.method;
466
- const authRequired = endpoint.auth.required;
467
- const successStatus = (_b = (_a = ctx.responses.find(r => r.statusCode >= 200 && r.statusCode < 300)) === null || _a === void 0 ? void 0 : _a.statusCode) !== null && _b !== void 0 ? _b : 200;
468
- const lines = [
469
- `// AUTO-GENERATED by api-test-coverage-analyzer (Feature 28)`,
470
- `// Gap: ${ctx.gap.id} | Risk: ${ctx.gap.riskScore} | Priority: ${ctx.gap.priority}`,
471
- `// NOTE: add generated/ to your specPattern in cypress.config.js if not already included`,
472
- ``,
473
- `describe('${method} ${endpoint.path} — E2E', () => {`,
474
- ];
475
- if (authRequired) {
476
- lines.push(` let authToken;`);
477
- lines.push(``);
478
- lines.push(` before(() => {`);
479
- lines.push(` // TODO: Replace with your Cypress login command or fixture`);
480
- lines.push(` cy.request('POST', '/api/users/login', {`);
481
- lines.push(` user: { email: Cypress.env('TEST_USER_EMAIL'), password: Cypress.env('TEST_USER_PASSWORD') },`);
482
- lines.push(` }).then((response) => {`);
483
- lines.push(` expect(response.status).to.eq(200);`);
484
- lines.push(` authToken = \`Token \${response.body.user.token}\`;`);
485
- lines.push(` });`);
486
- lines.push(` });`);
487
- lines.push(``);
488
- }
489
- lines.push(` it('should succeed with valid request', () => {`);
490
- lines.push(` cy.request({`);
491
- lines.push(` method: '${method}',`);
492
- lines.push(` url: '${endpoint.path}',`);
493
- if (authRequired) {
494
- lines.push(` headers: { Authorization: authToken },`);
495
- }
496
- lines.push(` body: {}, // TODO: Replace with valid payload`);
497
- lines.push(` }).then((response) => {`);
498
- lines.push(` expect(response.status).to.eq(${successStatus});`);
499
- lines.push(` expect(response.body).to.be.an('object');`);
500
- lines.push(` });`);
501
- lines.push(` });`);
502
- lines.push(``);
503
- if (authRequired) {
504
- lines.push(` it('should return 401 without auth token', () => {`);
505
- lines.push(` cy.request({`);
506
- lines.push(` method: '${method}',`);
507
- lines.push(` url: '${endpoint.path}',`);
508
- lines.push(` body: {},`);
509
- lines.push(` failOnStatusCode: false, // RULE-CY03`);
510
- lines.push(` }).then((response) => {`);
511
- lines.push(` expect(response.status).to.eq(401);`);
512
- lines.push(` });`);
513
- lines.push(` });`);
514
- }
515
- lines.push(`});`);
516
- lines.push(``);
517
- return lines.join('\n');
518
- }
519
- function renderTemplate(ctx, opts) {
520
- const { language, testType } = opts;
521
- if (language === 'python') {
522
- return renderPythonPytestUnit(ctx);
523
- }
524
- if (language === 'java' || language === 'kotlin') {
525
- return renderJavaJunit5Unit(ctx);
526
- }
527
- // Default: TypeScript
528
- switch (testType) {
529
- case 'security':
530
- return renderTypescriptJestSecurity(ctx);
531
- case 'integration':
532
- return renderTypescriptJestIntegration(ctx);
533
- case 'cypress':
534
- return renderCypressEndpoint(ctx);
535
- default:
536
- // Differentiate by gap type
537
- switch (ctx.gap.type) {
538
- case 'error':
539
- return renderTypescriptJestErrorScenario(ctx);
540
- case 'business':
541
- return renderTypescriptJestBusinessRule(ctx);
542
- default:
543
- return renderTypescriptJestUnit(ctx);
544
- }
545
- }
546
- }