api-tests-coverage 1.0.20 → 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 (517) 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 +93 -254
  58. package/dist/src/inference/businessRuleInference.d.ts.map +1 -1
  59. package/dist/src/inference/businessRuleInference.js +0 -95
  60. package/dist/src/inference/integrationFlowInference.d.ts +1 -11
  61. package/dist/src/inference/integrationFlowInference.d.ts.map +1 -1
  62. package/dist/src/inference/integrationFlowInference.js +2 -49
  63. package/dist/src/inference/routeInference.d.ts.map +1 -1
  64. package/dist/src/inference/routeInference.js +8 -54
  65. package/dist/src/languages/java/semanticBuilder.d.ts.map +1 -1
  66. package/dist/src/languages/java/semanticBuilder.js +12 -69
  67. package/dist/src/languages/javascript/angularDetector.d.ts.map +1 -1
  68. package/dist/src/languages/javascript/angularDetector.js +17 -50
  69. package/dist/src/languages/javascript/assertionResolver.js +4 -6
  70. package/dist/src/languages/javascript/hapiDetector.d.ts.map +1 -1
  71. package/dist/src/languages/javascript/hapiDetector.js +5 -48
  72. package/dist/src/languages/javascript/vueDetector.d.ts +0 -2
  73. package/dist/src/languages/javascript/vueDetector.d.ts.map +1 -1
  74. package/dist/src/languages/javascript/vueDetector.js +0 -22
  75. package/dist/src/languages/python/index.d.ts +1 -1
  76. package/dist/src/languages/python/index.d.ts.map +1 -1
  77. package/dist/src/languages/python/index.js +3 -33
  78. package/dist/src/pipeline/confidence.d.ts +1 -6
  79. package/dist/src/pipeline/confidence.d.ts.map +1 -1
  80. package/dist/src/pipeline/confidence.js +3 -8
  81. package/dist/src/pipeline/graph.d.ts.map +1 -1
  82. package/dist/src/pipeline/graph.js +4 -16
  83. package/dist/src/pipeline/stages/ast/astStage.d.ts.map +1 -1
  84. package/dist/src/pipeline/stages/ast/astStage.js +2 -46
  85. package/dist/src/pipeline/stages/ast/baseUrlComposer.d.ts.map +1 -1
  86. package/dist/src/pipeline/stages/ast/baseUrlComposer.js +4 -18
  87. package/dist/src/pipeline/stages/ast/crossFileResolver.js +0 -29
  88. package/dist/src/pipeline/stages/ast/graphBuilder.d.ts.map +1 -1
  89. package/dist/src/pipeline/stages/ast/graphBuilder.js +0 -81
  90. package/dist/src/pipeline/stages/ast/optionalAuthUnifier.d.ts +1 -3
  91. package/dist/src/pipeline/stages/ast/optionalAuthUnifier.d.ts.map +1 -1
  92. package/dist/src/pipeline/stages/ast/optionalAuthUnifier.js +14 -34
  93. package/dist/src/pipeline/stages/ast/resolvers/angularInjectionResolver.d.ts.map +1 -1
  94. package/dist/src/pipeline/stages/ast/resolvers/angularInjectionResolver.js +3 -22
  95. package/dist/src/pipeline/stages/ast/resolvers/dddLayerResolver.d.ts.map +1 -1
  96. package/dist/src/pipeline/stages/ast/resolvers/dddLayerResolver.js +28 -104
  97. package/dist/src/pipeline/stages/ast/resolvers/mybatisResolver.d.ts.map +1 -1
  98. package/dist/src/pipeline/stages/ast/resolvers/mybatisResolver.js +0 -56
  99. package/dist/src/pipeline/stages/ast/resolvers/vuexActionResolver.d.ts.map +1 -1
  100. package/dist/src/pipeline/stages/ast/resolvers/vuexActionResolver.js +18 -43
  101. package/dist/src/pipeline/stages/ast/rulesEnforcer.d.ts.map +1 -1
  102. package/dist/src/pipeline/stages/ast/rulesEnforcer.js +45 -336
  103. package/dist/src/pipeline/stages/merge/conflictDetector.d.ts +0 -2
  104. package/dist/src/pipeline/stages/merge/conflictDetector.d.ts.map +1 -1
  105. package/dist/src/pipeline/stages/merge/conflictDetector.js +2 -54
  106. package/dist/src/pipeline/stages/merge/coverageMappingBuilder.d.ts.map +1 -1
  107. package/dist/src/pipeline/stages/merge/coverageMappingBuilder.js +3 -67
  108. package/dist/src/pipeline/stages/tia/mockBoundaryDetector.d.ts.map +1 -1
  109. package/dist/src/pipeline/stages/tia/mockBoundaryDetector.js +1 -8
  110. package/dist/src/pipeline/stages/tia/parameterizedTestExpander.js +4 -8
  111. package/dist/src/pipeline/stages/tia/testLayerClassifier.d.ts.map +1 -1
  112. package/dist/src/pipeline/stages/tia/testLayerClassifier.js +10 -36
  113. package/dist/src/pipeline/types.d.ts +1 -1
  114. package/dist/src/pipeline/types.d.ts.map +1 -1
  115. package/package.json +3 -3
  116. package/dist/dashboard/assets/_baseUniq-BZHS9wTU.js +0 -1
  117. package/dist/dashboard/assets/arc-D4xT0thw.js +0 -1
  118. package/dist/dashboard/assets/architectureDiagram-VXUJARFQ-Bs48s9rH.js +0 -36
  119. package/dist/dashboard/assets/c4Diagram-YG6GDRKO-DuP3tG_c.js +0 -10
  120. package/dist/dashboard/assets/channel-YFEOkJua.js +0 -1
  121. package/dist/dashboard/assets/chunk-B4BG7PRW-D5WlZonc.js +0 -165
  122. package/dist/dashboard/assets/chunk-DI55MBZ5-B-xsiGYI.js +0 -220
  123. package/dist/dashboard/assets/classDiagram-2ON5EDUG-CE9rmEXI.js +0 -1
  124. package/dist/dashboard/assets/classDiagram-v2-WZHVMYZB-CE9rmEXI.js +0 -1
  125. package/dist/dashboard/assets/clone-BAVNftx6.js +0 -1
  126. package/dist/dashboard/assets/cose-bilkent-S5V4N54A-DrNDePwE.js +0 -1
  127. package/dist/dashboard/assets/diagram-S2PKOQOG-Bk_jyoxg.js +0 -24
  128. package/dist/dashboard/assets/erDiagram-Q2GNP2WA-BbPQp6RA.js +0 -60
  129. package/dist/dashboard/assets/flowDiagram-NV44I4VS-1j044bLK.js +0 -162
  130. package/dist/dashboard/assets/gitGraphDiagram-V2S2FVAM-RgQMxxaQ.js +0 -65
  131. package/dist/dashboard/assets/index-Bt72YjAZ.css +0 -1
  132. package/dist/dashboard/assets/index-DuT2LnIf.js +0 -523
  133. package/dist/dashboard/assets/journeyDiagram-XKPGCS4Q-CdvZAxeA.js +0 -139
  134. package/dist/dashboard/assets/kanban-definition-3W4ZIXB7-DTse5xX8.js +0 -89
  135. package/dist/dashboard/assets/layout-CnKzeCpQ.js +0 -1
  136. package/dist/dashboard/assets/quadrantDiagram-AYHSOK5B-C6NljtBN.js +0 -7
  137. package/dist/dashboard/assets/requirementDiagram-UZGBJVZJ-Ban4o6oK.js +0 -64
  138. package/dist/dashboard/assets/sankeyDiagram-TZEHDZUN-BDImwZtB.js +0 -10
  139. package/dist/dashboard/assets/stateDiagram-FKZM4ZOC-DkBAMCJV.js +0 -1
  140. package/dist/dashboard/assets/stateDiagram-v2-4FDKWEC3-CtkfyoSn.js +0 -1
  141. package/dist/dashboard/assets/timeline-definition-IT6M3QCI-CGUDCWFx.js +0 -61
  142. package/dist/dashboard/assets/treemap-GDKQZRPO-D-XpcCUD.js +0 -162
  143. package/dist/dashboard/assets/xychartDiagram-PRI3JC2R-BlIpbwyn.js +0 -7
  144. package/dist/dashboard/dist/assets/_basePickBy-C2jmWITn.js +0 -1
  145. package/dist/dashboard/dist/assets/_basePickBy-CErN2e4K.js +0 -1
  146. package/dist/dashboard/dist/assets/_basePickBy-CYB1KXah.js +0 -1
  147. package/dist/dashboard/dist/assets/_basePickBy-D4ml7gdd.js +0 -1
  148. package/dist/dashboard/dist/assets/_basePickBy-D7SXdoHL.js +0 -1
  149. package/dist/dashboard/dist/assets/_basePickBy-DUQHbXda.js +0 -1
  150. package/dist/dashboard/dist/assets/_basePickBy-DZR484hj.js +0 -1
  151. package/dist/dashboard/dist/assets/_basePickBy-_zJIZmFM.js +0 -1
  152. package/dist/dashboard/dist/assets/_baseUniq-BZHS9wTU.js +0 -1
  153. package/dist/dashboard/dist/assets/_baseUniq-BzwtoVZI.js +0 -1
  154. package/dist/dashboard/dist/assets/_baseUniq-C2oBAxY3.js +0 -1
  155. package/dist/dashboard/dist/assets/_baseUniq-CUKBQ2bc.js +0 -1
  156. package/dist/dashboard/dist/assets/_baseUniq-Ct8XEXnH.js +0 -1
  157. package/dist/dashboard/dist/assets/_baseUniq-DE6cyzJb.js +0 -1
  158. package/dist/dashboard/dist/assets/_baseUniq-DzHorfx6.js +0 -1
  159. package/dist/dashboard/dist/assets/arc-B-Q4nGPT.js +0 -1
  160. package/dist/dashboard/dist/assets/arc-B7p8x22e.js +0 -1
  161. package/dist/dashboard/dist/assets/arc-BDOeMmjX.js +0 -1
  162. package/dist/dashboard/dist/assets/arc-BaDRUN_n.js +0 -1
  163. package/dist/dashboard/dist/assets/arc-CjFGY63A.js +0 -1
  164. package/dist/dashboard/dist/assets/arc-D4xT0thw.js +0 -1
  165. package/dist/dashboard/dist/assets/arc-g03p1JXB.js +0 -1
  166. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-BUdFGrlT.js +0 -36
  167. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-Bs48s9rH.js +0 -36
  168. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-CLCqS7Lv.js +0 -36
  169. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-C_5dqWCI.js +0 -36
  170. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-WnVycqnT.js +0 -36
  171. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-mH7lInv5.js +0 -36
  172. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-wVr1_uNB.js +0 -36
  173. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-BBXc88fn.js +0 -122
  174. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-BPw-T2eL.js +0 -122
  175. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-BvkiW8lj.js +0 -122
  176. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-CavSRNuP.js +0 -122
  177. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-D-TzNNzc.js +0 -122
  178. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-DK0YAM7_.js +0 -122
  179. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-DbGIO6Kt.js +0 -122
  180. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-V4vxrfzX.js +0 -122
  181. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-Bs4R4b6P.js +0 -10
  182. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-BsgzPfQ3.js +0 -10
  183. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-CAFpcejP.js +0 -10
  184. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-DVnWnYOL.js +0 -10
  185. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-DuP3tG_c.js +0 -10
  186. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-ZEVciqTW.js +0 -10
  187. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-w18S5AEN.js +0 -10
  188. package/dist/dashboard/dist/assets/channel-BSnIwwuG.js +0 -1
  189. package/dist/dashboard/dist/assets/channel-BgeGdqQG.js +0 -1
  190. package/dist/dashboard/dist/assets/channel-CyXkK5KC.js +0 -1
  191. package/dist/dashboard/dist/assets/channel-D5Cq9giL.js +0 -1
  192. package/dist/dashboard/dist/assets/channel-DbeZpf5T.js +0 -1
  193. package/dist/dashboard/dist/assets/channel-Di9el3wE.js +0 -1
  194. package/dist/dashboard/dist/assets/channel-YFEOkJua.js +0 -1
  195. package/dist/dashboard/dist/assets/channel-psxgcQ_j.js +0 -1
  196. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-B9cIE1K2.js +0 -1
  197. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-BDYDsvGv.js +0 -1
  198. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-BF8loPLD.js +0 -1
  199. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-BrU7mtb9.js +0 -1
  200. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-CSJ8KLGx.js +0 -1
  201. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-DY1boKsq.js +0 -1
  202. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-IN53WLTx.js +0 -1
  203. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-oleArqPu.js +0 -1
  204. package/dist/dashboard/dist/assets/chunk-55IACEB6-BIFhHB94.js +0 -1
  205. package/dist/dashboard/dist/assets/chunk-55IACEB6-BSL35gyW.js +0 -1
  206. package/dist/dashboard/dist/assets/chunk-55IACEB6-BzCzmNUn.js +0 -1
  207. package/dist/dashboard/dist/assets/chunk-55IACEB6-C3HNF-UF.js +0 -1
  208. package/dist/dashboard/dist/assets/chunk-55IACEB6-CiEoroXY.js +0 -1
  209. package/dist/dashboard/dist/assets/chunk-55IACEB6-DV6VmXIy.js +0 -1
  210. package/dist/dashboard/dist/assets/chunk-55IACEB6-DwsmCNp_.js +0 -1
  211. package/dist/dashboard/dist/assets/chunk-55IACEB6-kJkjQYxk.js +0 -1
  212. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-B3IrqteW.js +0 -165
  213. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-BChq1Wly.js +0 -165
  214. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-BiYJ9gu_.js +0 -165
  215. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-CCMwwYCe.js +0 -165
  216. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-D5WlZonc.js +0 -165
  217. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-eTDXrKrv.js +0 -165
  218. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-wQ6TCEMq.js +0 -165
  219. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-B7xHuqZu.js +0 -220
  220. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-BD9C9H7Y.js +0 -220
  221. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-BTfzxsg4.js +0 -220
  222. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-CSRqV3_6.js +0 -220
  223. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-D7eiRvhB.js +0 -220
  224. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-DfslhtXS.js +0 -220
  225. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-M-8I3jEy.js +0 -220
  226. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-BBMfQbw1.js +0 -15
  227. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-BgEzYy_c.js +0 -15
  228. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-CtTcDWZJ.js +0 -15
  229. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-CyF99olo.js +0 -15
  230. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-DRb5NEMr.js +0 -15
  231. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-K3PC79JF.js +0 -15
  232. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-V0V2L4Gq.js +0 -15
  233. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-bSA0XiS0.js +0 -15
  234. package/dist/dashboard/dist/assets/chunk-QN33PNHL-BBQ6Q-9S.js +0 -1
  235. package/dist/dashboard/dist/assets/chunk-QN33PNHL-BNX7uRa_.js +0 -1
  236. package/dist/dashboard/dist/assets/chunk-QN33PNHL-BRSlHScq.js +0 -1
  237. package/dist/dashboard/dist/assets/chunk-QN33PNHL-BrOIYUBs.js +0 -1
  238. package/dist/dashboard/dist/assets/chunk-QN33PNHL-CCuhlE1C.js +0 -1
  239. package/dist/dashboard/dist/assets/chunk-QN33PNHL-CmeZ1h1Z.js +0 -1
  240. package/dist/dashboard/dist/assets/chunk-QN33PNHL-DFgUs0T8.js +0 -1
  241. package/dist/dashboard/dist/assets/chunk-QN33PNHL-JcQZ0Q-Q.js +0 -1
  242. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-9uXt-06K.js +0 -1
  243. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-Cix7nLqx.js +0 -1
  244. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-CliaQGD4.js +0 -1
  245. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-Cyg7Km90.js +0 -1
  246. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-DKgOcPif.js +0 -1
  247. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-MNv3v4He.js +0 -1
  248. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-T5hoQANf.js +0 -1
  249. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-mq-zucvn.js +0 -1
  250. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-BjDMUc_L.js +0 -1
  251. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-BoJFBewj.js +0 -1
  252. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-BtXpcWN4.js +0 -1
  253. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-C8KNXDi7.js +0 -1
  254. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-CyhcxGB1.js +0 -1
  255. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-DGTVcqTS.js +0 -1
  256. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-DqMNcR7I.js +0 -1
  257. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-F1fppg7C.js +0 -1
  258. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-AMwn99HP.js +0 -1
  259. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-BbkwHRko.js +0 -1
  260. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-Be0F7AG8.js +0 -1
  261. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-BkGN4Cpz.js +0 -1
  262. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-CE9rmEXI.js +0 -1
  263. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-CM6Qs-Qs.js +0 -1
  264. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-D3VDjeKC.js +0 -1
  265. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-o8p5Y0H9.js +0 -1
  266. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-AMwn99HP.js +0 -1
  267. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-BbkwHRko.js +0 -1
  268. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-Be0F7AG8.js +0 -1
  269. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-BkGN4Cpz.js +0 -1
  270. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-CE9rmEXI.js +0 -1
  271. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-CM6Qs-Qs.js +0 -1
  272. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-D3VDjeKC.js +0 -1
  273. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-o8p5Y0H9.js +0 -1
  274. package/dist/dashboard/dist/assets/clone-B5PF81Z3.js +0 -1
  275. package/dist/dashboard/dist/assets/clone-BAVNftx6.js +0 -1
  276. package/dist/dashboard/dist/assets/clone-BmpQ0ely.js +0 -1
  277. package/dist/dashboard/dist/assets/clone-CKIuLE_W.js +0 -1
  278. package/dist/dashboard/dist/assets/clone-Cv0cxIIi.js +0 -1
  279. package/dist/dashboard/dist/assets/clone-Cvq8JuOb.js +0 -1
  280. package/dist/dashboard/dist/assets/clone-DEYRVSAn.js +0 -1
  281. package/dist/dashboard/dist/assets/clone-KEkbvJY9.js +0 -1
  282. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-DLYZ4dZA.js +0 -1
  283. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-DMGRGhwB.js +0 -1
  284. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-DrNDePwE.js +0 -1
  285. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-GjySlYac.js +0 -1
  286. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-UX3RfzXW.js +0 -1
  287. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-YL9kFxCl.js +0 -1
  288. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-xVw-THr_.js +0 -1
  289. package/dist/dashboard/dist/assets/cytoscape.esm-CyJtwmzi.js +0 -331
  290. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-B8oEROJc.js +0 -4
  291. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-BO79zHpJ.js +0 -4
  292. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-Bjadb8g_.js +0 -4
  293. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-CJT7lofP.js +0 -4
  294. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-CUx6EwnW.js +0 -4
  295. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-D03qnh38.js +0 -4
  296. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-DgEqrxGj.js +0 -4
  297. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-NZWnQN_Y.js +0 -4
  298. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-5uki9Dw8.js +0 -24
  299. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-BPFtplp4.js +0 -24
  300. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-BgOmComt.js +0 -24
  301. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-DGtyS7lD.js +0 -24
  302. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-D__FKIzE.js +0 -24
  303. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-DtE0cTIs.js +0 -24
  304. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-JEfxbZj6.js +0 -24
  305. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-Y-M5J_PO.js +0 -24
  306. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-1hjfopmw.js +0 -43
  307. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BHyZd544.js +0 -43
  308. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BRNhmby2.js +0 -43
  309. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BXMS0hEZ.js +0 -43
  310. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BtOA2yYh.js +0 -43
  311. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-CSCGZUfr.js +0 -43
  312. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-CYK-aLR5.js +0 -43
  313. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-CYxueP7U.js +0 -43
  314. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-Bk_jyoxg.js +0 -24
  315. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-CRUXUQeh.js +0 -24
  316. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-CzytkAcm.js +0 -24
  317. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-D-ku_X8U.js +0 -24
  318. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-DdqZVGN1.js +0 -24
  319. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-Gj3ANjIG.js +0 -24
  320. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-qvXlTDud.js +0 -24
  321. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-BbPQp6RA.js +0 -60
  322. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DDk1KpRF.js +0 -60
  323. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DGl6gPe2.js +0 -60
  324. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DSC5VPcF.js +0 -60
  325. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DZpjLrp5.js +0 -60
  326. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-Dhb_VQMS.js +0 -60
  327. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DvI8ycM6.js +0 -60
  328. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-BAHshMEg.js +0 -162
  329. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-CBnhpWKd.js +0 -162
  330. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-CYXUqE3L.js +0 -162
  331. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-Co89qYBD.js +0 -162
  332. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-DRAD4OG7.js +0 -162
  333. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-PVleScVK.js +0 -162
  334. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-gKUH-GJ2.js +0 -162
  335. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-2r3WpWQC.js +0 -267
  336. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-BA65eVi0.js +0 -267
  337. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-BS4JnN-M.js +0 -267
  338. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-Cjy_BOl2.js +0 -267
  339. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-CsUMU5Ws.js +0 -267
  340. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-DK_45K6s.js +0 -267
  341. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-DX-lROHt.js +0 -267
  342. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-Dm_lLo9y.js +0 -267
  343. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-C9NpbucY.js +0 -65
  344. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-CWo2OK69.js +0 -65
  345. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-DM9AW1aP.js +0 -65
  346. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-DYrdM8tK.js +0 -65
  347. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-RgQMxxaQ.js +0 -65
  348. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-Uz3nRdju.js +0 -65
  349. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-bYKe_efj.js +0 -65
  350. package/dist/dashboard/dist/assets/graph-BP2ns4se.js +0 -1
  351. package/dist/dashboard/dist/assets/graph-BVGuJ5gs.js +0 -1
  352. package/dist/dashboard/dist/assets/graph-CD7-npU0.js +0 -1
  353. package/dist/dashboard/dist/assets/graph-Clj85F2M.js +0 -1
  354. package/dist/dashboard/dist/assets/graph-CpRVMcWW.js +0 -1
  355. package/dist/dashboard/dist/assets/graph-Cwn7jgQS.js +0 -1
  356. package/dist/dashboard/dist/assets/graph-ZtgwAPQj.js +0 -1
  357. package/dist/dashboard/dist/assets/graph-gV0gk5Dq.js +0 -1
  358. package/dist/dashboard/dist/assets/index-Bt72YjAZ.css +0 -1
  359. package/dist/dashboard/dist/assets/index-ByH_nEhG.js +0 -523
  360. package/dist/dashboard/dist/assets/index-C302ingQ.css +0 -1
  361. package/dist/dashboard/dist/assets/index-CqEIqNus.js +0 -781
  362. package/dist/dashboard/dist/assets/index-D-AtVpd2.js +0 -523
  363. package/dist/dashboard/dist/assets/index-D3_88Gr5.js +0 -777
  364. package/dist/dashboard/dist/assets/index-DEXwnExZ.js +0 -523
  365. package/dist/dashboard/dist/assets/index-DbUdNJca.js +0 -781
  366. package/dist/dashboard/dist/assets/index-DuT2LnIf.js +0 -523
  367. package/dist/dashboard/dist/assets/index-xecKLQ58.css +0 -1
  368. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-BMp4C5wf.js +0 -2
  369. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-BjChBCME.js +0 -2
  370. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-BxoN3QPh.js +0 -2
  371. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-CxmZGT-4.js +0 -2
  372. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-D3SFXNAS.js +0 -2
  373. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-DyT5Fs8R.js +0 -2
  374. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-HLwGZBHJ.js +0 -2
  375. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-ujnMqVz3.js +0 -2
  376. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-BC0GSZ7W.js +0 -139
  377. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-Bv1IeJ8A.js +0 -139
  378. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-CFgbI9OH.js +0 -139
  379. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-CdvZAxeA.js +0 -139
  380. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-CiMM9buE.js +0 -139
  381. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-DQzfeBIo.js +0 -139
  382. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-nYZBlgTD.js +0 -139
  383. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-AkiB-BRk.js +0 -89
  384. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-BjYw_9v5.js +0 -89
  385. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-COTfX74l.js +0 -89
  386. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-D3u5Ov-5.js +0 -89
  387. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-D6aRd_q1.js +0 -89
  388. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-DTse5xX8.js +0 -89
  389. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-ueIaoeks.js +0 -89
  390. package/dist/dashboard/dist/assets/katex-O9d3_IXG.js +0 -261
  391. package/dist/dashboard/dist/assets/layout-6njVG9Ld.js +0 -1
  392. package/dist/dashboard/dist/assets/layout-B1fTYUMj.js +0 -1
  393. package/dist/dashboard/dist/assets/layout-BbJNDkTr.js +0 -1
  394. package/dist/dashboard/dist/assets/layout-BwmMaJCx.js +0 -1
  395. package/dist/dashboard/dist/assets/layout-CnKzeCpQ.js +0 -1
  396. package/dist/dashboard/dist/assets/layout-DgtRACDS.js +0 -1
  397. package/dist/dashboard/dist/assets/layout-JbkTCGhr.js +0 -1
  398. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-B7wYeLe1.js +0 -68
  399. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-B93XW27v.js +0 -68
  400. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-BJ5xCmsL.js +0 -68
  401. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-BVsYbH_c.js +0 -68
  402. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-CkyYtMaD.js +0 -68
  403. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-CmcASbkx.js +0 -68
  404. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-D001Ygrx.js +0 -68
  405. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-QDZ_z8OE.js +0 -68
  406. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-5pSPRGJ2.js +0 -30
  407. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-9G1tEuaq.js +0 -30
  408. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-BIOVbZG_.js +0 -30
  409. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-Bf8vKEOf.js +0 -30
  410. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-BpwMMFZ3.js +0 -30
  411. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-DOXOzepj.js +0 -30
  412. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-EeNihpUP.js +0 -30
  413. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-uWFQFMEe.js +0 -30
  414. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-Bwppivuy.js +0 -7
  415. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-CM8qiFLR.js +0 -7
  416. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-Crgu5WqK.js +0 -7
  417. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-CtbMtM_F.js +0 -7
  418. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-i3-JTN3e.js +0 -7
  419. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-jDtdB4Ws.js +0 -7
  420. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-o21Z8BWo.js +0 -7
  421. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-Ban4o6oK.js +0 -64
  422. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-BfAcJrqc.js +0 -64
  423. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-CgXxZ2rH.js +0 -64
  424. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-ClNSNeYe.js +0 -64
  425. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-DPTtP4Ve.js +0 -64
  426. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-Dw260IiT.js +0 -64
  427. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-WIJ0qiJG.js +0 -64
  428. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-BDImwZtB.js +0 -10
  429. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-BFNTuDV7.js +0 -10
  430. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-Cb4WB9UB.js +0 -10
  431. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-D2OGoxU5.js +0 -10
  432. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-DEVTdH0h.js +0 -10
  433. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-LR8T4Hv0.js +0 -10
  434. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-VcdyPlVE.js +0 -10
  435. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-1d8_kyI3.js +0 -145
  436. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-97qjzqIO.js +0 -145
  437. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-Bjr5wgXg.js +0 -145
  438. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-BqGJWVUS.js +0 -145
  439. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-C5h60fvZ.js +0 -145
  440. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-DBqchhlr.js +0 -145
  441. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-DOr6An-q.js +0 -145
  442. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-nMYJrjDT.js +0 -145
  443. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-BWqoDymf.js +0 -1
  444. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-Bl16d4W5.js +0 -1
  445. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-C1KYr7Wj.js +0 -1
  446. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DDrhZYly.js +0 -1
  447. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DKkWVu_K.js +0 -1
  448. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DkBAMCJV.js +0 -1
  449. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DlLDy54e.js +0 -1
  450. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-B05ygO34.js +0 -1
  451. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-B0euQu1p.js +0 -1
  452. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-BlwaoFEG.js +0 -1
  453. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-CtkfyoSn.js +0 -1
  454. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-DRV_IYr6.js +0 -1
  455. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-Im6pH8C-.js +0 -1
  456. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-K_qkvHaB.js +0 -1
  457. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-pZ_Rrx6C.js +0 -1
  458. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-CBR9kqeJ.js +0 -61
  459. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-CGUDCWFx.js +0 -61
  460. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-CLdinkid.js +0 -61
  461. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-CsRS0WGC.js +0 -61
  462. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-D6JNee_P.js +0 -61
  463. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-DAT3r9va.js +0 -61
  464. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-DR6HNny6.js +0 -61
  465. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-BlA8rg0m.js +0 -162
  466. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-CBle3d0d.js +0 -162
  467. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-CCvvSJBX.js +0 -162
  468. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-Cw9mkiYN.js +0 -162
  469. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-D-XpcCUD.js +0 -162
  470. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-MpQr6tee.js +0 -162
  471. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-vW7FSd7C.js +0 -162
  472. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-7aSkQtVu.js +0 -7
  473. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-B72UwDAP.js +0 -7
  474. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-BceejIon.js +0 -7
  475. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-BlIpbwyn.js +0 -7
  476. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-ByLRWyI2.js +0 -7
  477. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-DjyK-sw-.js +0 -7
  478. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-bS40I4IT.js +0 -7
  479. package/dist/dashboard/dist/index.html +0 -14
  480. package/dist/dashboard/dist/reports/business-coverage.json +0 -201
  481. package/dist/dashboard/dist/reports/coverage-intelligence.json +0 -728
  482. package/dist/dashboard/dist/reports/coverage-summary.json +0 -763
  483. package/dist/dashboard/dist/reports/endpoint-coverage.json +0 -336
  484. package/dist/dashboard/dist/reports/error-coverage.json +0 -367
  485. package/dist/dashboard/dist/reports/missing-tests-recommendations.json +0 -285
  486. package/dist/dashboard/dist/reports/risk-prioritization.json +0 -312
  487. package/dist/dashboard/dist/reports/security-coverage.json +0 -299
  488. package/dist/dashboard/dist/vite.svg +0 -1
  489. package/dist/dashboard/reports/coverage-summary.json +0 -763
  490. package/dist/src/generation/ai-flow-exporter.d.ts +0 -7
  491. package/dist/src/generation/ai-flow-exporter.d.ts.map +0 -1
  492. package/dist/src/generation/ai-flow-exporter.js +0 -260
  493. package/dist/src/generation/context-builder.d.ts +0 -16
  494. package/dist/src/generation/context-builder.d.ts.map +0 -1
  495. package/dist/src/generation/context-builder.js +0 -170
  496. package/dist/src/generation/engine.d.ts +0 -19
  497. package/dist/src/generation/engine.d.ts.map +0 -1
  498. package/dist/src/generation/engine.js +0 -204
  499. package/dist/src/generation/file-router.d.ts +0 -8
  500. package/dist/src/generation/file-router.d.ts.map +0 -1
  501. package/dist/src/generation/file-router.js +0 -98
  502. package/dist/src/generation/gap-extractor.d.ts +0 -7
  503. package/dist/src/generation/gap-extractor.d.ts.map +0 -1
  504. package/dist/src/generation/gap-extractor.js +0 -291
  505. package/dist/src/generation/index.d.ts +0 -9
  506. package/dist/src/generation/index.d.ts.map +0 -1
  507. package/dist/src/generation/index.js +0 -15
  508. package/dist/src/generation/quality-scorer.d.ts +0 -15
  509. package/dist/src/generation/quality-scorer.d.ts.map +0 -1
  510. package/dist/src/generation/quality-scorer.js +0 -273
  511. package/dist/src/generation/template-renderer.d.ts +0 -12
  512. package/dist/src/generation/template-renderer.d.ts.map +0 -1
  513. package/dist/src/generation/template-renderer.js +0 -546
  514. package/dist/src/generation/types.d.ts +0 -269
  515. package/dist/src/generation/types.d.ts.map +0 -1
  516. package/dist/src/generation/types.js +0 -6
  517. /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
- }