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.
- package/README.md +3 -7
- package/dist/dashboard/assets/{_basePickBy-DZR484hj.js → _basePickBy-DiDMiru0.js} +1 -1
- package/dist/dashboard/{dist/assets/_baseUniq-Bwm426M6.js → assets/_baseUniq-CFoKRFhS.js} +1 -1
- package/dist/dashboard/{dist/assets/arc-51ef6HeW.js → assets/arc-B2fWu2mo.js} +1 -1
- package/dist/dashboard/{dist/assets/architectureDiagram-VXUJARFQ-Boahc5dR.js → assets/architectureDiagram-VXUJARFQ-DpIe4yWB.js} +1 -1
- package/dist/dashboard/assets/{blockDiagram-VD42YOAC-BvkiW8lj.js → blockDiagram-VD42YOAC-CKAgfH2X.js} +1 -1
- package/dist/dashboard/{dist/assets/c4Diagram-YG6GDRKO-Bww0QPxL.js → assets/c4Diagram-YG6GDRKO-CUtb-R__.js} +1 -1
- package/dist/dashboard/assets/channel-B9iMjZmm.js +1 -0
- package/dist/dashboard/assets/{chunk-4BX2VUAB-BrU7mtb9.js → chunk-4BX2VUAB-C3CSqwcX.js} +1 -1
- package/dist/dashboard/assets/{chunk-55IACEB6-DwsmCNp_.js → chunk-55IACEB6-CV8VzOOp.js} +1 -1
- package/dist/dashboard/{dist/assets/chunk-B4BG7PRW-B7YfMggR.js → assets/chunk-B4BG7PRW-URwnN3Q_.js} +1 -1
- package/dist/dashboard/{dist/assets/chunk-DI55MBZ5-B-xsiGYI.js → assets/chunk-DI55MBZ5-CV_d-z8j.js} +1 -1
- package/dist/dashboard/assets/{chunk-FMBD7UC4-DRb5NEMr.js → chunk-FMBD7UC4-8DJI9OkS.js} +1 -1
- package/dist/dashboard/assets/{chunk-QN33PNHL-BRSlHScq.js → chunk-QN33PNHL-pVzUBBoU.js} +1 -1
- package/dist/dashboard/assets/{chunk-QZHKN3VN-Cix7nLqx.js → chunk-QZHKN3VN-DCGN273N.js} +1 -1
- package/dist/dashboard/assets/{chunk-TZMSLE5B-BtXpcWN4.js → chunk-TZMSLE5B-D0wY-rJ0.js} +1 -1
- package/dist/dashboard/assets/classDiagram-2ON5EDUG-BNi5TogT.js +1 -0
- package/dist/dashboard/assets/classDiagram-v2-WZHVMYZB-BNi5TogT.js +1 -0
- package/dist/dashboard/assets/clone-m2eeeKVa.js +1 -0
- package/dist/dashboard/{dist/assets/cose-bilkent-S5V4N54A-BUkL7Wtq.js → assets/cose-bilkent-S5V4N54A-BIRyRYk0.js} +1 -1
- package/dist/dashboard/assets/{dagre-6UL2VRFP-DgEqrxGj.js → dagre-6UL2VRFP-KVIfxT9V.js} +1 -1
- package/dist/dashboard/assets/{diagram-PSM6KHXK-Y-M5J_PO.js → diagram-PSM6KHXK-VUmdxoiM.js} +1 -1
- package/dist/dashboard/assets/{diagram-QEK2KX5R-BXMS0hEZ.js → diagram-QEK2KX5R-LQ9k2vBy.js} +1 -1
- package/dist/dashboard/{dist/assets/diagram-S2PKOQOG--oRtrIMC.js → assets/diagram-S2PKOQOG-DIDe2of5.js} +1 -1
- package/dist/dashboard/{dist/assets/erDiagram-Q2GNP2WA-D0MbudeO.js → assets/erDiagram-Q2GNP2WA-CpMIyDcr.js} +1 -1
- package/dist/dashboard/{dist/assets/flowDiagram-NV44I4VS-1j044bLK.js → assets/flowDiagram-NV44I4VS-DR2nUASu.js} +1 -1
- package/dist/dashboard/assets/{ganttDiagram-JELNMOA3-Cjy_BOl2.js → ganttDiagram-JELNMOA3-C3J3WvDp.js} +1 -1
- package/dist/dashboard/{dist/assets/gitGraphDiagram-V2S2FVAM-CuJ5l3TK.js → assets/gitGraphDiagram-V2S2FVAM-C5V2Xlzu.js} +1 -1
- package/dist/dashboard/assets/{graph-BVGuJ5gs.js → graph-GSdi8Xy9.js} +1 -1
- package/dist/dashboard/{dist/assets/index-D3sRJga7.js → assets/index-Bhd7ZvcY.js} +82 -82
- package/dist/dashboard/assets/{infoDiagram-HS3SLOUP-CxmZGT-4.js → infoDiagram-HS3SLOUP-DVP1dWh4.js} +1 -1
- package/dist/dashboard/{dist/assets/journeyDiagram-XKPGCS4Q-8hUcTxo0.js → assets/journeyDiagram-XKPGCS4Q-CNHD7swq.js} +1 -1
- package/dist/dashboard/{dist/assets/kanban-definition-3W4ZIXB7-BvWm-0QQ.js → assets/kanban-definition-3W4ZIXB7-C-Jc4Ozy.js} +1 -1
- package/dist/dashboard/{dist/assets/layout-BFZ0bRU2.js → assets/layout-B0rNqEfo.js} +1 -1
- package/dist/dashboard/assets/{mindmap-definition-VGOIOE7T-BVsYbH_c.js → mindmap-definition-VGOIOE7T-hlQXiFXa.js} +1 -1
- package/dist/dashboard/assets/{pieDiagram-ADFJNKIX-BpwMMFZ3.js → pieDiagram-ADFJNKIX-CutZB3jG.js} +1 -1
- package/dist/dashboard/{dist/assets/quadrantDiagram-AYHSOK5B-C6NljtBN.js → assets/quadrantDiagram-AYHSOK5B-Bv6m-3mt.js} +1 -1
- package/dist/dashboard/{dist/assets/requirementDiagram-UZGBJVZJ-B3VaAf8y.js → assets/requirementDiagram-UZGBJVZJ-BQkld-bF.js} +1 -1
- package/dist/dashboard/{dist/assets/sankeyDiagram-TZEHDZUN-2ZhiU1NT.js → assets/sankeyDiagram-TZEHDZUN-DCWiCVGp.js} +1 -1
- package/dist/dashboard/assets/{sequenceDiagram-WL72ISMW-nMYJrjDT.js → sequenceDiagram-WL72ISMW-Dq_0SNSh.js} +1 -1
- package/dist/dashboard/{dist/assets/stateDiagram-FKZM4ZOC-0Wd-KmOv.js → assets/stateDiagram-FKZM4ZOC-BAd-cwxt.js} +1 -1
- package/dist/dashboard/assets/stateDiagram-v2-4FDKWEC3-DXlj7mrF.js +1 -0
- package/dist/dashboard/{dist/assets/timeline-definition-IT6M3QCI-CAmQOjBu.js → assets/timeline-definition-IT6M3QCI-BlMKo2bz.js} +1 -1
- package/dist/dashboard/{dist/assets/treemap-GDKQZRPO-CRP-WvE-.js → assets/treemap-GDKQZRPO-Cn6SBC6j.js} +1 -1
- package/dist/dashboard/{dist/assets/xychartDiagram-PRI3JC2R-5DoR2_q5.js → assets/xychartDiagram-PRI3JC2R-DlBeMjr8.js} +1 -1
- package/dist/dashboard/index.html +2 -2
- package/dist/src/config/defaultConfig.d.ts.map +1 -1
- package/dist/src/config/defaultConfig.js +0 -37
- package/dist/src/config/types.d.ts +0 -42
- package/dist/src/config/types.d.ts.map +1 -1
- package/dist/src/config/validateConfig.d.ts.map +1 -1
- package/dist/src/config/validateConfig.js +0 -3
- package/dist/src/discovery/fileClassifier.d.ts.map +1 -1
- package/dist/src/discovery/fileClassifier.js +16 -15
- package/dist/src/discovery/projectDiscovery.d.ts.map +1 -1
- package/dist/src/discovery/projectDiscovery.js +1 -4
- package/dist/src/index.js +93 -254
- package/dist/src/inference/businessRuleInference.d.ts.map +1 -1
- package/dist/src/inference/businessRuleInference.js +0 -95
- package/dist/src/inference/integrationFlowInference.d.ts +1 -11
- package/dist/src/inference/integrationFlowInference.d.ts.map +1 -1
- package/dist/src/inference/integrationFlowInference.js +2 -49
- package/dist/src/inference/routeInference.d.ts.map +1 -1
- package/dist/src/inference/routeInference.js +8 -54
- package/dist/src/languages/java/semanticBuilder.d.ts.map +1 -1
- package/dist/src/languages/java/semanticBuilder.js +12 -69
- package/dist/src/languages/javascript/angularDetector.d.ts.map +1 -1
- package/dist/src/languages/javascript/angularDetector.js +17 -50
- package/dist/src/languages/javascript/assertionResolver.js +4 -6
- package/dist/src/languages/javascript/hapiDetector.d.ts.map +1 -1
- package/dist/src/languages/javascript/hapiDetector.js +5 -48
- package/dist/src/languages/javascript/vueDetector.d.ts +0 -2
- package/dist/src/languages/javascript/vueDetector.d.ts.map +1 -1
- package/dist/src/languages/javascript/vueDetector.js +0 -22
- package/dist/src/languages/python/index.d.ts +1 -1
- package/dist/src/languages/python/index.d.ts.map +1 -1
- package/dist/src/languages/python/index.js +3 -33
- package/dist/src/pipeline/confidence.d.ts +1 -6
- package/dist/src/pipeline/confidence.d.ts.map +1 -1
- package/dist/src/pipeline/confidence.js +3 -8
- package/dist/src/pipeline/graph.d.ts.map +1 -1
- package/dist/src/pipeline/graph.js +4 -16
- package/dist/src/pipeline/stages/ast/astStage.d.ts.map +1 -1
- package/dist/src/pipeline/stages/ast/astStage.js +2 -46
- package/dist/src/pipeline/stages/ast/baseUrlComposer.d.ts.map +1 -1
- package/dist/src/pipeline/stages/ast/baseUrlComposer.js +4 -18
- package/dist/src/pipeline/stages/ast/crossFileResolver.js +0 -29
- package/dist/src/pipeline/stages/ast/graphBuilder.d.ts.map +1 -1
- package/dist/src/pipeline/stages/ast/graphBuilder.js +0 -81
- package/dist/src/pipeline/stages/ast/optionalAuthUnifier.d.ts +1 -3
- package/dist/src/pipeline/stages/ast/optionalAuthUnifier.d.ts.map +1 -1
- package/dist/src/pipeline/stages/ast/optionalAuthUnifier.js +14 -34
- package/dist/src/pipeline/stages/ast/resolvers/angularInjectionResolver.d.ts.map +1 -1
- package/dist/src/pipeline/stages/ast/resolvers/angularInjectionResolver.js +3 -22
- package/dist/src/pipeline/stages/ast/resolvers/dddLayerResolver.d.ts.map +1 -1
- package/dist/src/pipeline/stages/ast/resolvers/dddLayerResolver.js +28 -104
- package/dist/src/pipeline/stages/ast/resolvers/mybatisResolver.d.ts.map +1 -1
- package/dist/src/pipeline/stages/ast/resolvers/mybatisResolver.js +0 -56
- package/dist/src/pipeline/stages/ast/resolvers/vuexActionResolver.d.ts.map +1 -1
- package/dist/src/pipeline/stages/ast/resolvers/vuexActionResolver.js +18 -43
- package/dist/src/pipeline/stages/ast/rulesEnforcer.d.ts.map +1 -1
- package/dist/src/pipeline/stages/ast/rulesEnforcer.js +45 -336
- package/dist/src/pipeline/stages/merge/conflictDetector.d.ts +0 -2
- package/dist/src/pipeline/stages/merge/conflictDetector.d.ts.map +1 -1
- package/dist/src/pipeline/stages/merge/conflictDetector.js +2 -54
- package/dist/src/pipeline/stages/merge/coverageMappingBuilder.d.ts.map +1 -1
- package/dist/src/pipeline/stages/merge/coverageMappingBuilder.js +3 -67
- package/dist/src/pipeline/stages/tia/mockBoundaryDetector.d.ts.map +1 -1
- package/dist/src/pipeline/stages/tia/mockBoundaryDetector.js +1 -8
- package/dist/src/pipeline/stages/tia/parameterizedTestExpander.js +4 -8
- package/dist/src/pipeline/stages/tia/testLayerClassifier.d.ts.map +1 -1
- package/dist/src/pipeline/stages/tia/testLayerClassifier.js +10 -36
- package/dist/src/pipeline/types.d.ts +1 -1
- package/dist/src/pipeline/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/dashboard/assets/_baseUniq-BZHS9wTU.js +0 -1
- package/dist/dashboard/assets/arc-D4xT0thw.js +0 -1
- package/dist/dashboard/assets/architectureDiagram-VXUJARFQ-Bs48s9rH.js +0 -36
- package/dist/dashboard/assets/c4Diagram-YG6GDRKO-DuP3tG_c.js +0 -10
- package/dist/dashboard/assets/channel-YFEOkJua.js +0 -1
- package/dist/dashboard/assets/chunk-B4BG7PRW-D5WlZonc.js +0 -165
- package/dist/dashboard/assets/chunk-DI55MBZ5-B-xsiGYI.js +0 -220
- package/dist/dashboard/assets/classDiagram-2ON5EDUG-CE9rmEXI.js +0 -1
- package/dist/dashboard/assets/classDiagram-v2-WZHVMYZB-CE9rmEXI.js +0 -1
- package/dist/dashboard/assets/clone-BAVNftx6.js +0 -1
- package/dist/dashboard/assets/cose-bilkent-S5V4N54A-DrNDePwE.js +0 -1
- package/dist/dashboard/assets/diagram-S2PKOQOG-Bk_jyoxg.js +0 -24
- package/dist/dashboard/assets/erDiagram-Q2GNP2WA-BbPQp6RA.js +0 -60
- package/dist/dashboard/assets/flowDiagram-NV44I4VS-1j044bLK.js +0 -162
- package/dist/dashboard/assets/gitGraphDiagram-V2S2FVAM-RgQMxxaQ.js +0 -65
- package/dist/dashboard/assets/index-Bt72YjAZ.css +0 -1
- package/dist/dashboard/assets/index-DuT2LnIf.js +0 -523
- package/dist/dashboard/assets/journeyDiagram-XKPGCS4Q-CdvZAxeA.js +0 -139
- package/dist/dashboard/assets/kanban-definition-3W4ZIXB7-DTse5xX8.js +0 -89
- package/dist/dashboard/assets/layout-CnKzeCpQ.js +0 -1
- package/dist/dashboard/assets/quadrantDiagram-AYHSOK5B-C6NljtBN.js +0 -7
- package/dist/dashboard/assets/requirementDiagram-UZGBJVZJ-Ban4o6oK.js +0 -64
- package/dist/dashboard/assets/sankeyDiagram-TZEHDZUN-BDImwZtB.js +0 -10
- package/dist/dashboard/assets/stateDiagram-FKZM4ZOC-DkBAMCJV.js +0 -1
- package/dist/dashboard/assets/stateDiagram-v2-4FDKWEC3-CtkfyoSn.js +0 -1
- package/dist/dashboard/assets/timeline-definition-IT6M3QCI-CGUDCWFx.js +0 -61
- package/dist/dashboard/assets/treemap-GDKQZRPO-D-XpcCUD.js +0 -162
- package/dist/dashboard/assets/xychartDiagram-PRI3JC2R-BlIpbwyn.js +0 -7
- package/dist/dashboard/dist/assets/_basePickBy-C2jmWITn.js +0 -1
- package/dist/dashboard/dist/assets/_basePickBy-CErN2e4K.js +0 -1
- package/dist/dashboard/dist/assets/_basePickBy-CYB1KXah.js +0 -1
- package/dist/dashboard/dist/assets/_basePickBy-D4ml7gdd.js +0 -1
- package/dist/dashboard/dist/assets/_basePickBy-D7SXdoHL.js +0 -1
- package/dist/dashboard/dist/assets/_basePickBy-DUQHbXda.js +0 -1
- package/dist/dashboard/dist/assets/_basePickBy-DZR484hj.js +0 -1
- package/dist/dashboard/dist/assets/_basePickBy-_zJIZmFM.js +0 -1
- package/dist/dashboard/dist/assets/_baseUniq-BZHS9wTU.js +0 -1
- package/dist/dashboard/dist/assets/_baseUniq-BzwtoVZI.js +0 -1
- package/dist/dashboard/dist/assets/_baseUniq-C2oBAxY3.js +0 -1
- package/dist/dashboard/dist/assets/_baseUniq-CUKBQ2bc.js +0 -1
- package/dist/dashboard/dist/assets/_baseUniq-Ct8XEXnH.js +0 -1
- package/dist/dashboard/dist/assets/_baseUniq-DE6cyzJb.js +0 -1
- package/dist/dashboard/dist/assets/_baseUniq-DzHorfx6.js +0 -1
- package/dist/dashboard/dist/assets/arc-B-Q4nGPT.js +0 -1
- package/dist/dashboard/dist/assets/arc-B7p8x22e.js +0 -1
- package/dist/dashboard/dist/assets/arc-BDOeMmjX.js +0 -1
- package/dist/dashboard/dist/assets/arc-BaDRUN_n.js +0 -1
- package/dist/dashboard/dist/assets/arc-CjFGY63A.js +0 -1
- package/dist/dashboard/dist/assets/arc-D4xT0thw.js +0 -1
- package/dist/dashboard/dist/assets/arc-g03p1JXB.js +0 -1
- package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-BUdFGrlT.js +0 -36
- package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-Bs48s9rH.js +0 -36
- package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-CLCqS7Lv.js +0 -36
- package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-C_5dqWCI.js +0 -36
- package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-WnVycqnT.js +0 -36
- package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-mH7lInv5.js +0 -36
- package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-wVr1_uNB.js +0 -36
- package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-BBXc88fn.js +0 -122
- package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-BPw-T2eL.js +0 -122
- package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-BvkiW8lj.js +0 -122
- package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-CavSRNuP.js +0 -122
- package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-D-TzNNzc.js +0 -122
- package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-DK0YAM7_.js +0 -122
- package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-DbGIO6Kt.js +0 -122
- package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-V4vxrfzX.js +0 -122
- package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-Bs4R4b6P.js +0 -10
- package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-BsgzPfQ3.js +0 -10
- package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-CAFpcejP.js +0 -10
- package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-DVnWnYOL.js +0 -10
- package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-DuP3tG_c.js +0 -10
- package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-ZEVciqTW.js +0 -10
- package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-w18S5AEN.js +0 -10
- package/dist/dashboard/dist/assets/channel-BSnIwwuG.js +0 -1
- package/dist/dashboard/dist/assets/channel-BgeGdqQG.js +0 -1
- package/dist/dashboard/dist/assets/channel-CyXkK5KC.js +0 -1
- package/dist/dashboard/dist/assets/channel-D5Cq9giL.js +0 -1
- package/dist/dashboard/dist/assets/channel-DbeZpf5T.js +0 -1
- package/dist/dashboard/dist/assets/channel-Di9el3wE.js +0 -1
- package/dist/dashboard/dist/assets/channel-YFEOkJua.js +0 -1
- package/dist/dashboard/dist/assets/channel-psxgcQ_j.js +0 -1
- package/dist/dashboard/dist/assets/chunk-4BX2VUAB-B9cIE1K2.js +0 -1
- package/dist/dashboard/dist/assets/chunk-4BX2VUAB-BDYDsvGv.js +0 -1
- package/dist/dashboard/dist/assets/chunk-4BX2VUAB-BF8loPLD.js +0 -1
- package/dist/dashboard/dist/assets/chunk-4BX2VUAB-BrU7mtb9.js +0 -1
- package/dist/dashboard/dist/assets/chunk-4BX2VUAB-CSJ8KLGx.js +0 -1
- package/dist/dashboard/dist/assets/chunk-4BX2VUAB-DY1boKsq.js +0 -1
- package/dist/dashboard/dist/assets/chunk-4BX2VUAB-IN53WLTx.js +0 -1
- package/dist/dashboard/dist/assets/chunk-4BX2VUAB-oleArqPu.js +0 -1
- package/dist/dashboard/dist/assets/chunk-55IACEB6-BIFhHB94.js +0 -1
- package/dist/dashboard/dist/assets/chunk-55IACEB6-BSL35gyW.js +0 -1
- package/dist/dashboard/dist/assets/chunk-55IACEB6-BzCzmNUn.js +0 -1
- package/dist/dashboard/dist/assets/chunk-55IACEB6-C3HNF-UF.js +0 -1
- package/dist/dashboard/dist/assets/chunk-55IACEB6-CiEoroXY.js +0 -1
- package/dist/dashboard/dist/assets/chunk-55IACEB6-DV6VmXIy.js +0 -1
- package/dist/dashboard/dist/assets/chunk-55IACEB6-DwsmCNp_.js +0 -1
- package/dist/dashboard/dist/assets/chunk-55IACEB6-kJkjQYxk.js +0 -1
- package/dist/dashboard/dist/assets/chunk-B4BG7PRW-B3IrqteW.js +0 -165
- package/dist/dashboard/dist/assets/chunk-B4BG7PRW-BChq1Wly.js +0 -165
- package/dist/dashboard/dist/assets/chunk-B4BG7PRW-BiYJ9gu_.js +0 -165
- package/dist/dashboard/dist/assets/chunk-B4BG7PRW-CCMwwYCe.js +0 -165
- package/dist/dashboard/dist/assets/chunk-B4BG7PRW-D5WlZonc.js +0 -165
- package/dist/dashboard/dist/assets/chunk-B4BG7PRW-eTDXrKrv.js +0 -165
- package/dist/dashboard/dist/assets/chunk-B4BG7PRW-wQ6TCEMq.js +0 -165
- package/dist/dashboard/dist/assets/chunk-DI55MBZ5-B7xHuqZu.js +0 -220
- package/dist/dashboard/dist/assets/chunk-DI55MBZ5-BD9C9H7Y.js +0 -220
- package/dist/dashboard/dist/assets/chunk-DI55MBZ5-BTfzxsg4.js +0 -220
- package/dist/dashboard/dist/assets/chunk-DI55MBZ5-CSRqV3_6.js +0 -220
- package/dist/dashboard/dist/assets/chunk-DI55MBZ5-D7eiRvhB.js +0 -220
- package/dist/dashboard/dist/assets/chunk-DI55MBZ5-DfslhtXS.js +0 -220
- package/dist/dashboard/dist/assets/chunk-DI55MBZ5-M-8I3jEy.js +0 -220
- package/dist/dashboard/dist/assets/chunk-FMBD7UC4-BBMfQbw1.js +0 -15
- package/dist/dashboard/dist/assets/chunk-FMBD7UC4-BgEzYy_c.js +0 -15
- package/dist/dashboard/dist/assets/chunk-FMBD7UC4-CtTcDWZJ.js +0 -15
- package/dist/dashboard/dist/assets/chunk-FMBD7UC4-CyF99olo.js +0 -15
- package/dist/dashboard/dist/assets/chunk-FMBD7UC4-DRb5NEMr.js +0 -15
- package/dist/dashboard/dist/assets/chunk-FMBD7UC4-K3PC79JF.js +0 -15
- package/dist/dashboard/dist/assets/chunk-FMBD7UC4-V0V2L4Gq.js +0 -15
- package/dist/dashboard/dist/assets/chunk-FMBD7UC4-bSA0XiS0.js +0 -15
- package/dist/dashboard/dist/assets/chunk-QN33PNHL-BBQ6Q-9S.js +0 -1
- package/dist/dashboard/dist/assets/chunk-QN33PNHL-BNX7uRa_.js +0 -1
- package/dist/dashboard/dist/assets/chunk-QN33PNHL-BRSlHScq.js +0 -1
- package/dist/dashboard/dist/assets/chunk-QN33PNHL-BrOIYUBs.js +0 -1
- package/dist/dashboard/dist/assets/chunk-QN33PNHL-CCuhlE1C.js +0 -1
- package/dist/dashboard/dist/assets/chunk-QN33PNHL-CmeZ1h1Z.js +0 -1
- package/dist/dashboard/dist/assets/chunk-QN33PNHL-DFgUs0T8.js +0 -1
- package/dist/dashboard/dist/assets/chunk-QN33PNHL-JcQZ0Q-Q.js +0 -1
- package/dist/dashboard/dist/assets/chunk-QZHKN3VN-9uXt-06K.js +0 -1
- package/dist/dashboard/dist/assets/chunk-QZHKN3VN-Cix7nLqx.js +0 -1
- package/dist/dashboard/dist/assets/chunk-QZHKN3VN-CliaQGD4.js +0 -1
- package/dist/dashboard/dist/assets/chunk-QZHKN3VN-Cyg7Km90.js +0 -1
- package/dist/dashboard/dist/assets/chunk-QZHKN3VN-DKgOcPif.js +0 -1
- package/dist/dashboard/dist/assets/chunk-QZHKN3VN-MNv3v4He.js +0 -1
- package/dist/dashboard/dist/assets/chunk-QZHKN3VN-T5hoQANf.js +0 -1
- package/dist/dashboard/dist/assets/chunk-QZHKN3VN-mq-zucvn.js +0 -1
- package/dist/dashboard/dist/assets/chunk-TZMSLE5B-BjDMUc_L.js +0 -1
- package/dist/dashboard/dist/assets/chunk-TZMSLE5B-BoJFBewj.js +0 -1
- package/dist/dashboard/dist/assets/chunk-TZMSLE5B-BtXpcWN4.js +0 -1
- package/dist/dashboard/dist/assets/chunk-TZMSLE5B-C8KNXDi7.js +0 -1
- package/dist/dashboard/dist/assets/chunk-TZMSLE5B-CyhcxGB1.js +0 -1
- package/dist/dashboard/dist/assets/chunk-TZMSLE5B-DGTVcqTS.js +0 -1
- package/dist/dashboard/dist/assets/chunk-TZMSLE5B-DqMNcR7I.js +0 -1
- package/dist/dashboard/dist/assets/chunk-TZMSLE5B-F1fppg7C.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-AMwn99HP.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-BbkwHRko.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-Be0F7AG8.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-BkGN4Cpz.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-CE9rmEXI.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-CM6Qs-Qs.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-D3VDjeKC.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-o8p5Y0H9.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-AMwn99HP.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-BbkwHRko.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-Be0F7AG8.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-BkGN4Cpz.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-CE9rmEXI.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-CM6Qs-Qs.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-D3VDjeKC.js +0 -1
- package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-o8p5Y0H9.js +0 -1
- package/dist/dashboard/dist/assets/clone-B5PF81Z3.js +0 -1
- package/dist/dashboard/dist/assets/clone-BAVNftx6.js +0 -1
- package/dist/dashboard/dist/assets/clone-BmpQ0ely.js +0 -1
- package/dist/dashboard/dist/assets/clone-CKIuLE_W.js +0 -1
- package/dist/dashboard/dist/assets/clone-Cv0cxIIi.js +0 -1
- package/dist/dashboard/dist/assets/clone-Cvq8JuOb.js +0 -1
- package/dist/dashboard/dist/assets/clone-DEYRVSAn.js +0 -1
- package/dist/dashboard/dist/assets/clone-KEkbvJY9.js +0 -1
- package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-DLYZ4dZA.js +0 -1
- package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-DMGRGhwB.js +0 -1
- package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-DrNDePwE.js +0 -1
- package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-GjySlYac.js +0 -1
- package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-UX3RfzXW.js +0 -1
- package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-YL9kFxCl.js +0 -1
- package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-xVw-THr_.js +0 -1
- package/dist/dashboard/dist/assets/cytoscape.esm-CyJtwmzi.js +0 -331
- package/dist/dashboard/dist/assets/dagre-6UL2VRFP-B8oEROJc.js +0 -4
- package/dist/dashboard/dist/assets/dagre-6UL2VRFP-BO79zHpJ.js +0 -4
- package/dist/dashboard/dist/assets/dagre-6UL2VRFP-Bjadb8g_.js +0 -4
- package/dist/dashboard/dist/assets/dagre-6UL2VRFP-CJT7lofP.js +0 -4
- package/dist/dashboard/dist/assets/dagre-6UL2VRFP-CUx6EwnW.js +0 -4
- package/dist/dashboard/dist/assets/dagre-6UL2VRFP-D03qnh38.js +0 -4
- package/dist/dashboard/dist/assets/dagre-6UL2VRFP-DgEqrxGj.js +0 -4
- package/dist/dashboard/dist/assets/dagre-6UL2VRFP-NZWnQN_Y.js +0 -4
- package/dist/dashboard/dist/assets/diagram-PSM6KHXK-5uki9Dw8.js +0 -24
- package/dist/dashboard/dist/assets/diagram-PSM6KHXK-BPFtplp4.js +0 -24
- package/dist/dashboard/dist/assets/diagram-PSM6KHXK-BgOmComt.js +0 -24
- package/dist/dashboard/dist/assets/diagram-PSM6KHXK-DGtyS7lD.js +0 -24
- package/dist/dashboard/dist/assets/diagram-PSM6KHXK-D__FKIzE.js +0 -24
- package/dist/dashboard/dist/assets/diagram-PSM6KHXK-DtE0cTIs.js +0 -24
- package/dist/dashboard/dist/assets/diagram-PSM6KHXK-JEfxbZj6.js +0 -24
- package/dist/dashboard/dist/assets/diagram-PSM6KHXK-Y-M5J_PO.js +0 -24
- package/dist/dashboard/dist/assets/diagram-QEK2KX5R-1hjfopmw.js +0 -43
- package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BHyZd544.js +0 -43
- package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BRNhmby2.js +0 -43
- package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BXMS0hEZ.js +0 -43
- package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BtOA2yYh.js +0 -43
- package/dist/dashboard/dist/assets/diagram-QEK2KX5R-CSCGZUfr.js +0 -43
- package/dist/dashboard/dist/assets/diagram-QEK2KX5R-CYK-aLR5.js +0 -43
- package/dist/dashboard/dist/assets/diagram-QEK2KX5R-CYxueP7U.js +0 -43
- package/dist/dashboard/dist/assets/diagram-S2PKOQOG-Bk_jyoxg.js +0 -24
- package/dist/dashboard/dist/assets/diagram-S2PKOQOG-CRUXUQeh.js +0 -24
- package/dist/dashboard/dist/assets/diagram-S2PKOQOG-CzytkAcm.js +0 -24
- package/dist/dashboard/dist/assets/diagram-S2PKOQOG-D-ku_X8U.js +0 -24
- package/dist/dashboard/dist/assets/diagram-S2PKOQOG-DdqZVGN1.js +0 -24
- package/dist/dashboard/dist/assets/diagram-S2PKOQOG-Gj3ANjIG.js +0 -24
- package/dist/dashboard/dist/assets/diagram-S2PKOQOG-qvXlTDud.js +0 -24
- package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-BbPQp6RA.js +0 -60
- package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DDk1KpRF.js +0 -60
- package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DGl6gPe2.js +0 -60
- package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DSC5VPcF.js +0 -60
- package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DZpjLrp5.js +0 -60
- package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-Dhb_VQMS.js +0 -60
- package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DvI8ycM6.js +0 -60
- package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-BAHshMEg.js +0 -162
- package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-CBnhpWKd.js +0 -162
- package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-CYXUqE3L.js +0 -162
- package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-Co89qYBD.js +0 -162
- package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-DRAD4OG7.js +0 -162
- package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-PVleScVK.js +0 -162
- package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-gKUH-GJ2.js +0 -162
- package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-2r3WpWQC.js +0 -267
- package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-BA65eVi0.js +0 -267
- package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-BS4JnN-M.js +0 -267
- package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-Cjy_BOl2.js +0 -267
- package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-CsUMU5Ws.js +0 -267
- package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-DK_45K6s.js +0 -267
- package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-DX-lROHt.js +0 -267
- package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-Dm_lLo9y.js +0 -267
- package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-C9NpbucY.js +0 -65
- package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-CWo2OK69.js +0 -65
- package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-DM9AW1aP.js +0 -65
- package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-DYrdM8tK.js +0 -65
- package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-RgQMxxaQ.js +0 -65
- package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-Uz3nRdju.js +0 -65
- package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-bYKe_efj.js +0 -65
- package/dist/dashboard/dist/assets/graph-BP2ns4se.js +0 -1
- package/dist/dashboard/dist/assets/graph-BVGuJ5gs.js +0 -1
- package/dist/dashboard/dist/assets/graph-CD7-npU0.js +0 -1
- package/dist/dashboard/dist/assets/graph-Clj85F2M.js +0 -1
- package/dist/dashboard/dist/assets/graph-CpRVMcWW.js +0 -1
- package/dist/dashboard/dist/assets/graph-Cwn7jgQS.js +0 -1
- package/dist/dashboard/dist/assets/graph-ZtgwAPQj.js +0 -1
- package/dist/dashboard/dist/assets/graph-gV0gk5Dq.js +0 -1
- package/dist/dashboard/dist/assets/index-Bt72YjAZ.css +0 -1
- package/dist/dashboard/dist/assets/index-ByH_nEhG.js +0 -523
- package/dist/dashboard/dist/assets/index-C302ingQ.css +0 -1
- package/dist/dashboard/dist/assets/index-CqEIqNus.js +0 -781
- package/dist/dashboard/dist/assets/index-D-AtVpd2.js +0 -523
- package/dist/dashboard/dist/assets/index-D3_88Gr5.js +0 -777
- package/dist/dashboard/dist/assets/index-DEXwnExZ.js +0 -523
- package/dist/dashboard/dist/assets/index-DbUdNJca.js +0 -781
- package/dist/dashboard/dist/assets/index-DuT2LnIf.js +0 -523
- package/dist/dashboard/dist/assets/index-xecKLQ58.css +0 -1
- package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-BMp4C5wf.js +0 -2
- package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-BjChBCME.js +0 -2
- package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-BxoN3QPh.js +0 -2
- package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-CxmZGT-4.js +0 -2
- package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-D3SFXNAS.js +0 -2
- package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-DyT5Fs8R.js +0 -2
- package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-HLwGZBHJ.js +0 -2
- package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-ujnMqVz3.js +0 -2
- package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-BC0GSZ7W.js +0 -139
- package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-Bv1IeJ8A.js +0 -139
- package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-CFgbI9OH.js +0 -139
- package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-CdvZAxeA.js +0 -139
- package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-CiMM9buE.js +0 -139
- package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-DQzfeBIo.js +0 -139
- package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-nYZBlgTD.js +0 -139
- package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-AkiB-BRk.js +0 -89
- package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-BjYw_9v5.js +0 -89
- package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-COTfX74l.js +0 -89
- package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-D3u5Ov-5.js +0 -89
- package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-D6aRd_q1.js +0 -89
- package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-DTse5xX8.js +0 -89
- package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-ueIaoeks.js +0 -89
- package/dist/dashboard/dist/assets/katex-O9d3_IXG.js +0 -261
- package/dist/dashboard/dist/assets/layout-6njVG9Ld.js +0 -1
- package/dist/dashboard/dist/assets/layout-B1fTYUMj.js +0 -1
- package/dist/dashboard/dist/assets/layout-BbJNDkTr.js +0 -1
- package/dist/dashboard/dist/assets/layout-BwmMaJCx.js +0 -1
- package/dist/dashboard/dist/assets/layout-CnKzeCpQ.js +0 -1
- package/dist/dashboard/dist/assets/layout-DgtRACDS.js +0 -1
- package/dist/dashboard/dist/assets/layout-JbkTCGhr.js +0 -1
- package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-B7wYeLe1.js +0 -68
- package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-B93XW27v.js +0 -68
- package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-BJ5xCmsL.js +0 -68
- package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-BVsYbH_c.js +0 -68
- package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-CkyYtMaD.js +0 -68
- package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-CmcASbkx.js +0 -68
- package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-D001Ygrx.js +0 -68
- package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-QDZ_z8OE.js +0 -68
- package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-5pSPRGJ2.js +0 -30
- package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-9G1tEuaq.js +0 -30
- package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-BIOVbZG_.js +0 -30
- package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-Bf8vKEOf.js +0 -30
- package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-BpwMMFZ3.js +0 -30
- package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-DOXOzepj.js +0 -30
- package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-EeNihpUP.js +0 -30
- package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-uWFQFMEe.js +0 -30
- package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-Bwppivuy.js +0 -7
- package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-CM8qiFLR.js +0 -7
- package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-Crgu5WqK.js +0 -7
- package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-CtbMtM_F.js +0 -7
- package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-i3-JTN3e.js +0 -7
- package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-jDtdB4Ws.js +0 -7
- package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-o21Z8BWo.js +0 -7
- package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-Ban4o6oK.js +0 -64
- package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-BfAcJrqc.js +0 -64
- package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-CgXxZ2rH.js +0 -64
- package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-ClNSNeYe.js +0 -64
- package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-DPTtP4Ve.js +0 -64
- package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-Dw260IiT.js +0 -64
- package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-WIJ0qiJG.js +0 -64
- package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-BDImwZtB.js +0 -10
- package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-BFNTuDV7.js +0 -10
- package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-Cb4WB9UB.js +0 -10
- package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-D2OGoxU5.js +0 -10
- package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-DEVTdH0h.js +0 -10
- package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-LR8T4Hv0.js +0 -10
- package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-VcdyPlVE.js +0 -10
- package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-1d8_kyI3.js +0 -145
- package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-97qjzqIO.js +0 -145
- package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-Bjr5wgXg.js +0 -145
- package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-BqGJWVUS.js +0 -145
- package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-C5h60fvZ.js +0 -145
- package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-DBqchhlr.js +0 -145
- package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-DOr6An-q.js +0 -145
- package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-nMYJrjDT.js +0 -145
- package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-BWqoDymf.js +0 -1
- package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-Bl16d4W5.js +0 -1
- package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-C1KYr7Wj.js +0 -1
- package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DDrhZYly.js +0 -1
- package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DKkWVu_K.js +0 -1
- package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DkBAMCJV.js +0 -1
- package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DlLDy54e.js +0 -1
- package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-B05ygO34.js +0 -1
- package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-B0euQu1p.js +0 -1
- package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-BlwaoFEG.js +0 -1
- package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-CtkfyoSn.js +0 -1
- package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-DRV_IYr6.js +0 -1
- package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-Im6pH8C-.js +0 -1
- package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-K_qkvHaB.js +0 -1
- package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-pZ_Rrx6C.js +0 -1
- package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-CBR9kqeJ.js +0 -61
- package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-CGUDCWFx.js +0 -61
- package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-CLdinkid.js +0 -61
- package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-CsRS0WGC.js +0 -61
- package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-D6JNee_P.js +0 -61
- package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-DAT3r9va.js +0 -61
- package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-DR6HNny6.js +0 -61
- package/dist/dashboard/dist/assets/treemap-GDKQZRPO-BlA8rg0m.js +0 -162
- package/dist/dashboard/dist/assets/treemap-GDKQZRPO-CBle3d0d.js +0 -162
- package/dist/dashboard/dist/assets/treemap-GDKQZRPO-CCvvSJBX.js +0 -162
- package/dist/dashboard/dist/assets/treemap-GDKQZRPO-Cw9mkiYN.js +0 -162
- package/dist/dashboard/dist/assets/treemap-GDKQZRPO-D-XpcCUD.js +0 -162
- package/dist/dashboard/dist/assets/treemap-GDKQZRPO-MpQr6tee.js +0 -162
- package/dist/dashboard/dist/assets/treemap-GDKQZRPO-vW7FSd7C.js +0 -162
- package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-7aSkQtVu.js +0 -7
- package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-B72UwDAP.js +0 -7
- package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-BceejIon.js +0 -7
- package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-BlIpbwyn.js +0 -7
- package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-ByLRWyI2.js +0 -7
- package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-DjyK-sw-.js +0 -7
- package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-bS40I4IT.js +0 -7
- package/dist/dashboard/dist/index.html +0 -14
- package/dist/dashboard/dist/reports/business-coverage.json +0 -201
- package/dist/dashboard/dist/reports/coverage-intelligence.json +0 -728
- package/dist/dashboard/dist/reports/coverage-summary.json +0 -763
- package/dist/dashboard/dist/reports/endpoint-coverage.json +0 -336
- package/dist/dashboard/dist/reports/error-coverage.json +0 -367
- package/dist/dashboard/dist/reports/missing-tests-recommendations.json +0 -285
- package/dist/dashboard/dist/reports/risk-prioritization.json +0 -312
- package/dist/dashboard/dist/reports/security-coverage.json +0 -299
- package/dist/dashboard/dist/vite.svg +0 -1
- package/dist/dashboard/reports/coverage-summary.json +0 -763
- package/dist/src/generation/ai-flow-exporter.d.ts +0 -7
- package/dist/src/generation/ai-flow-exporter.d.ts.map +0 -1
- package/dist/src/generation/ai-flow-exporter.js +0 -260
- package/dist/src/generation/context-builder.d.ts +0 -16
- package/dist/src/generation/context-builder.d.ts.map +0 -1
- package/dist/src/generation/context-builder.js +0 -170
- package/dist/src/generation/engine.d.ts +0 -19
- package/dist/src/generation/engine.d.ts.map +0 -1
- package/dist/src/generation/engine.js +0 -204
- package/dist/src/generation/file-router.d.ts +0 -8
- package/dist/src/generation/file-router.d.ts.map +0 -1
- package/dist/src/generation/file-router.js +0 -98
- package/dist/src/generation/gap-extractor.d.ts +0 -7
- package/dist/src/generation/gap-extractor.d.ts.map +0 -1
- package/dist/src/generation/gap-extractor.js +0 -291
- package/dist/src/generation/index.d.ts +0 -9
- package/dist/src/generation/index.d.ts.map +0 -1
- package/dist/src/generation/index.js +0 -15
- package/dist/src/generation/quality-scorer.d.ts +0 -15
- package/dist/src/generation/quality-scorer.d.ts.map +0 -1
- package/dist/src/generation/quality-scorer.js +0 -273
- package/dist/src/generation/template-renderer.d.ts +0 -12
- package/dist/src/generation/template-renderer.d.ts.map +0 -1
- package/dist/src/generation/template-renderer.js +0 -546
- package/dist/src/generation/types.d.ts +0 -269
- package/dist/src/generation/types.d.ts.map +0 -1
- package/dist/src/generation/types.js +0 -6
- /package/dist/dashboard/{dist/assets → assets}/index-D_begBP0.css +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routeInference.d.ts","sourceRoot":"","sources":["../../../src/inference/routeInference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,eAAO,MAAM,YAAY,uEAAwE,CAAC;AAClG,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"routeInference.d.ts","sourceRoot":"","sources":["../../../src/inference/routeInference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,eAAO,MAAM,YAAY,uEAAwE,CAAC;AAClG,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAqFD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAkIrE;AAiWD;;GAEG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAgBxE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAY5F"}
|
|
@@ -80,18 +80,7 @@ const JSDOC_ROUTE_PATTERN = /@route\s+\{(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS)
|
|
|
80
80
|
* Used to gate the URL+method object-form scan so we only activate it in
|
|
81
81
|
* files that actually make HTTP calls (avoids scanning every JS file).
|
|
82
82
|
*/
|
|
83
|
-
const HTTP_CLIENT_SIGNAL = /\$http|\bfetch\s*\(|\baxios\b
|
|
84
|
-
/**
|
|
85
|
-
* Matches client-side HTTP method calls: requests.get('/path'), api.post('/path'), etc.
|
|
86
|
-
* Group 1 = HTTP method, Group 2 = path literal starting with /
|
|
87
|
-
* Also handles: superagent.get(`${base}/path`) → captures the static suffix
|
|
88
|
-
*/
|
|
89
|
-
const HTTP_CLIENT_METHOD_CALL = /\b\w+\s*\.\s*(get|post|put|patch|delete|del|head|options)\s*\(\s*(?:[^'"`\n]*?\+\s*)?['"`](\/[^'"`?\n]+)/i;
|
|
90
|
-
/**
|
|
91
|
-
* Signals that this JS/TS file is a client-side HTTP service layer.
|
|
92
|
-
* Expands on HTTP_CLIENT_SIGNAL to include superagent and common wrapper patterns.
|
|
93
|
-
*/
|
|
94
|
-
const HTTP_SERVICE_SIGNAL = /\bsuperagent\b|\brequests\s*\.\s*(?:get|post|put|delete|del)\b|\bapi\s*\.\s*(?:get|post|put|delete)\b/;
|
|
83
|
+
const HTTP_CLIENT_SIGNAL = /\$http|\bfetch\s*\(|\baxios\b/;
|
|
95
84
|
/**
|
|
96
85
|
* Matches a `url:` property that ends with a literal path segment starting
|
|
97
86
|
* with `/`. Handles both bare and concatenated forms:
|
|
@@ -173,8 +162,6 @@ function inferRoutesFromFile(filePath) {
|
|
|
173
162
|
// We only enable the object-form method+url scanner for such files to
|
|
174
163
|
// avoid false positives in ordinary JS/TS source.
|
|
175
164
|
const usesHttpClient = HTTP_CLIENT_SIGNAL.test(content);
|
|
176
|
-
// Pre-check: does this file use a client-side HTTP service wrapper (requests.*, api.*, etc.)?
|
|
177
|
-
const usesHttpServiceWrapper = HTTP_SERVICE_SIGNAL.test(content);
|
|
178
165
|
for (let lineIdx = 0; lineIdx < lines.length; lineIdx++) {
|
|
179
166
|
const line = lines[lineIdx];
|
|
180
167
|
// 1a. router.method('/path', ...) — all on one line
|
|
@@ -252,21 +239,6 @@ function inferRoutesFromFile(filePath) {
|
|
|
252
239
|
}
|
|
253
240
|
}
|
|
254
241
|
}
|
|
255
|
-
// 6. Client-side HTTP method calls: requests.get('/path'), api.post('/path')
|
|
256
|
-
// Only activate for files that contain HTTP service signals to avoid false positives
|
|
257
|
-
if (usesHttpServiceWrapper) {
|
|
258
|
-
const clientCallMatch = line.match(HTTP_CLIENT_METHOD_CALL);
|
|
259
|
-
if (clientCallMatch) {
|
|
260
|
-
let httpMethod = clientCallMatch[1].toLowerCase();
|
|
261
|
-
// Normalize 'del' → 'delete'
|
|
262
|
-
if (httpMethod === 'del')
|
|
263
|
-
httpMethod = 'delete';
|
|
264
|
-
if (exports.HTTP_METHODS.includes(httpMethod)) {
|
|
265
|
-
const routePath = clientCallMatch[2].split('?')[0]; // strip query string
|
|
266
|
-
addRoute(httpMethod, routePath, lineIdx + 1, 'code');
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
242
|
}
|
|
271
243
|
return [...byKey.values()];
|
|
272
244
|
}
|
|
@@ -428,7 +400,7 @@ function findNextMethodNameInJava(javaLines, fromLine) {
|
|
|
428
400
|
* @blueprint.route('/articles/<slug>', methods=['PUT'])
|
|
429
401
|
* @app.route('/tags') ← defaults to GET
|
|
430
402
|
*/
|
|
431
|
-
const FLASK_ROUTE = /@(\w+)\.route\s*\(\s*['"]([^'"]+)['"](
|
|
403
|
+
const FLASK_ROUTE = /@(\w+)\.route\s*\(\s*['"]([^'"]+)['"](?:\s*,\s*methods\s*=\s*\[([^\]]+)\])?\s*\)/;
|
|
432
404
|
/**
|
|
433
405
|
* Matches FastAPI decorators.
|
|
434
406
|
* @app.get('/articles')
|
|
@@ -447,22 +419,6 @@ const FLASK_BLUEPRINT_CTOR = /(\w+)\s*=\s*Blueprint\s*\(\s*['"][^'"]+['"](?:\s*,
|
|
|
447
419
|
* router = APIRouter(prefix="/articles")
|
|
448
420
|
*/
|
|
449
421
|
const FASTAPI_APIROUTER = /(\w+)\s*=\s*APIRouter\s*\([^)]*?prefix\s*=\s*['"]([^'"]+)['"]/;
|
|
450
|
-
/**
|
|
451
|
-
* Scan ahead for a Python `def function_name(` line following a decorator.
|
|
452
|
-
* Skips additional decorator lines and stops at the first non-decorator,
|
|
453
|
-
* non-blank, non-comment line that is not a def.
|
|
454
|
-
*/
|
|
455
|
-
function findPythonHandlerFunction(lines, fromLine) {
|
|
456
|
-
for (let j = fromLine + 1; j < Math.min(fromLine + 6, lines.length); j++) {
|
|
457
|
-
const m = lines[j].match(/^def\s+(\w+)\s*\(/);
|
|
458
|
-
if (m)
|
|
459
|
-
return m[1];
|
|
460
|
-
// Skip decorator lines
|
|
461
|
-
if (!lines[j].trim().startsWith('@') && lines[j].trim().length > 0 && !lines[j].trim().startsWith('#'))
|
|
462
|
-
break;
|
|
463
|
-
}
|
|
464
|
-
return undefined;
|
|
465
|
-
}
|
|
466
422
|
/**
|
|
467
423
|
* Infer routes from a Python (Flask/FastAPI) source file.
|
|
468
424
|
*/
|
|
@@ -476,10 +432,10 @@ function inferRoutesFromPythonFile(filePath) {
|
|
|
476
432
|
}
|
|
477
433
|
const lines = content.split('\n');
|
|
478
434
|
const byKey = new Map();
|
|
479
|
-
const addRoute = (method, routePath, lineNumber
|
|
435
|
+
const addRoute = (method, routePath, lineNumber) => {
|
|
480
436
|
const key = `${method}:${routePath}`;
|
|
481
437
|
if (!byKey.has(key)) {
|
|
482
|
-
byKey.set(key, { method, path: routePath,
|
|
438
|
+
byKey.set(key, { method, path: routePath, sourceFile: filePath, lineNumber, discoveredVia: 'code' });
|
|
483
439
|
}
|
|
484
440
|
};
|
|
485
441
|
// Pass 1: Detect blueprint/router prefix for the file
|
|
@@ -507,19 +463,18 @@ function inferRoutesFromPythonFile(filePath) {
|
|
|
507
463
|
const fullPath = localPrefix + (routePath.startsWith('/') ? routePath : '/' + routePath);
|
|
508
464
|
// Normalize Flask <param> to {param}
|
|
509
465
|
const normalizedPath = fullPath.replace(/<(?:\w+:)?(\w+)>/g, '{$1}');
|
|
510
|
-
const handlerFn = findPythonHandlerFunction(lines, i);
|
|
511
466
|
if (methodsList) {
|
|
512
|
-
// Parse methods=['GET', 'POST']
|
|
467
|
+
// Parse methods=['GET', 'POST'] → individual routes
|
|
513
468
|
const methods = methodsList.replace(/['"]/g, '').split(',').map((m) => m.trim().toLowerCase());
|
|
514
469
|
for (const m of methods) {
|
|
515
470
|
if (exports.HTTP_METHODS.includes(m)) {
|
|
516
|
-
addRoute(m, normalizedPath, i + 1
|
|
471
|
+
addRoute(m, normalizedPath, i + 1);
|
|
517
472
|
}
|
|
518
473
|
}
|
|
519
474
|
}
|
|
520
475
|
else {
|
|
521
476
|
// Default to GET
|
|
522
|
-
addRoute('get', normalizedPath, i + 1
|
|
477
|
+
addRoute('get', normalizedPath, i + 1);
|
|
523
478
|
}
|
|
524
479
|
continue;
|
|
525
480
|
}
|
|
@@ -529,9 +484,8 @@ function inferRoutesFromPythonFile(filePath) {
|
|
|
529
484
|
const httpMethod = fastapiMatch[2].toLowerCase();
|
|
530
485
|
const routePath = fastapiMatch[3];
|
|
531
486
|
const fullPath = localPrefix + (routePath.startsWith('/') ? routePath : '/' + routePath);
|
|
532
|
-
const handlerFn = findPythonHandlerFunction(lines, i);
|
|
533
487
|
// FastAPI uses {param} natively
|
|
534
|
-
addRoute(httpMethod, fullPath, i + 1
|
|
488
|
+
addRoute(httpMethod, fullPath, i + 1);
|
|
535
489
|
continue;
|
|
536
490
|
}
|
|
537
491
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semanticBuilder.d.ts","sourceRoot":"","sources":["../../../../src/languages/java/semanticBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,OAAO,EACR,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAKL,KAAK,MAAM,EACZ,MAAM,2BAA2B,CAAC;AAOnC,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GACX;IAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAAE,CAmErF;AAID,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GACrC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"semanticBuilder.d.ts","sourceRoot":"","sources":["../../../../src/languages/java/semanticBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,OAAO,EACR,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAKL,KAAK,MAAM,EACZ,MAAM,2BAA2B,CAAC;AAOnC,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GACX;IAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAAE,CAmErF;AAID,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GACrC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAqC/B;AAID,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EACtC,GAAG,EAAE,gBAAgB,EAAE,GACtB,IAAI,CA6DN;AAID,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAyBvE;AAID,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CAa3E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAa3D"}
|
|
@@ -97,8 +97,6 @@ function extractJavaFunctions(root, constants) {
|
|
|
97
97
|
continue;
|
|
98
98
|
const annotations = extractAnnotationNames(method);
|
|
99
99
|
const block = (_e = (_d = method.childForFieldName) === null || _d === void 0 ? void 0 : _d.call(method, 'body')) !== null && _e !== void 0 ? _e : (0, treeSitterUtils_1.firstChildOfType)(method, 'block');
|
|
100
|
-
// Extract method parameters
|
|
101
|
-
const parameters = extractMethodParameters(method);
|
|
102
100
|
const bodyHttpCalls = [];
|
|
103
101
|
const calledFunctions = [];
|
|
104
102
|
let returnValue;
|
|
@@ -111,7 +109,7 @@ function extractJavaFunctions(root, constants) {
|
|
|
111
109
|
const cucumberPattern = extractCucumberPattern(annotations, method);
|
|
112
110
|
graph.set(name, {
|
|
113
111
|
name,
|
|
114
|
-
parameters,
|
|
112
|
+
parameters: [],
|
|
115
113
|
bodyHttpCalls,
|
|
116
114
|
calledFunctions,
|
|
117
115
|
returnValue,
|
|
@@ -123,44 +121,14 @@ function extractJavaFunctions(root, constants) {
|
|
|
123
121
|
}
|
|
124
122
|
// ─── HTTP call extraction ─────────────────────────────────────────────────────
|
|
125
123
|
function extractJavaHttpCalls(block, constants, out) {
|
|
126
|
-
var _a, _b, _c, _d, _e, _f, _g
|
|
124
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
127
125
|
const methodInvocations = (0, treeSitterUtils_1.findNodes)(block, ['method_invocation']);
|
|
128
126
|
for (const invoc of methodInvocations) {
|
|
129
127
|
const methodName = (_e = (_c = (_b = (_a = invoc.childForFieldName) === null || _a === void 0 ? void 0 : _a.call(invoc, 'name')) === null || _b === void 0 ? void 0 : _b.text) !== null && _c !== void 0 ? _c : (_d = firstChildNamed(invoc, 'identifier')) === null || _d === void 0 ? void 0 : _d.text) !== null && _e !== void 0 ? _e : '';
|
|
130
128
|
const lowerMethod = methodName.toLowerCase();
|
|
131
|
-
// MockMvc: perform(get("/path")) — extract the inner HTTP method call
|
|
132
|
-
if (lowerMethod === 'perform') {
|
|
133
|
-
const argList = (_g = (_f = invoc.childForFieldName) === null || _f === void 0 ? void 0 : _f.call(invoc, 'arguments')) !== null && _g !== void 0 ? _g : (0, treeSitterUtils_1.firstChildOfType)(invoc, 'argument_list');
|
|
134
|
-
if (!argList)
|
|
135
|
-
continue;
|
|
136
|
-
// The argument to perform() is a method invocation like get("/path") or post("/path")
|
|
137
|
-
const innerInvocations = (0, treeSitterUtils_1.findNodes)(argList, ['method_invocation']);
|
|
138
|
-
for (const innerInvoc of innerInvocations) {
|
|
139
|
-
const innerMethodName = (_m = (_k = (_j = (_h = innerInvoc.childForFieldName) === null || _h === void 0 ? void 0 : _h.call(innerInvoc, 'name')) === null || _j === void 0 ? void 0 : _j.text) !== null && _k !== void 0 ? _k : (_l = firstChildNamed(innerInvoc, 'identifier')) === null || _l === void 0 ? void 0 : _l.text) !== null && _m !== void 0 ? _m : '';
|
|
140
|
-
const innerLower = innerMethodName.toLowerCase();
|
|
141
|
-
if (!HTTP_METHODS.has(innerLower))
|
|
142
|
-
continue;
|
|
143
|
-
const innerArgList = (_p = (_o = innerInvoc.childForFieldName) === null || _o === void 0 ? void 0 : _o.call(innerInvoc, 'arguments')) !== null && _p !== void 0 ? _p : (0, treeSitterUtils_1.firstChildOfType)(innerInvoc, 'argument_list');
|
|
144
|
-
if (!innerArgList)
|
|
145
|
-
continue;
|
|
146
|
-
const innerStringArg = findFirstStringInArgList(innerArgList, constants);
|
|
147
|
-
if (!innerStringArg)
|
|
148
|
-
continue;
|
|
149
|
-
const normalizedPath = innerStringArg.value.startsWith('/') ? (0, resolvePaths_1.normalizePathToTemplate)(innerStringArg.value) : undefined;
|
|
150
|
-
out.push({
|
|
151
|
-
method: innerLower.toUpperCase(),
|
|
152
|
-
rawPathArg: (_q = innerStringArg.varName) !== null && _q !== void 0 ? _q : innerStringArg.value,
|
|
153
|
-
resolvedPath: innerStringArg.value,
|
|
154
|
-
normalizedPath,
|
|
155
|
-
resolutionType: innerStringArg.isDirect ? 'direct' : 'constant',
|
|
156
|
-
confidence: innerStringArg.isDirect ? 'high' : 'medium',
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
continue;
|
|
160
|
-
}
|
|
161
129
|
if (!HTTP_METHODS.has(lowerMethod))
|
|
162
130
|
continue;
|
|
163
|
-
const argList = (
|
|
131
|
+
const argList = (_g = (_f = invoc.childForFieldName) === null || _f === void 0 ? void 0 : _f.call(invoc, 'arguments')) !== null && _g !== void 0 ? _g : (0, treeSitterUtils_1.firstChildOfType)(invoc, 'argument_list');
|
|
164
132
|
if (!argList)
|
|
165
133
|
continue;
|
|
166
134
|
// Extract the first string argument (path)
|
|
@@ -170,6 +138,15 @@ function extractJavaHttpCalls(block, constants, out) {
|
|
|
170
138
|
const { value: path, isDirect, varName } = firstStringArg;
|
|
171
139
|
// Try to detect the HTTP method from context
|
|
172
140
|
let httpMethod = lowerMethod.toUpperCase();
|
|
141
|
+
// RestAssured: .when().get("/path") or .given().get("/path")
|
|
142
|
+
// The method name IS the HTTP method in RestAssured style
|
|
143
|
+
if (!HTTP_METHODS.has(lowerMethod))
|
|
144
|
+
continue;
|
|
145
|
+
// MockMvc: perform(get("/path")) — perform wraps a method call
|
|
146
|
+
if (lowerMethod === 'perform') {
|
|
147
|
+
// The arg is another method invocation
|
|
148
|
+
continue; // Handled when we process the inner get/post
|
|
149
|
+
}
|
|
173
150
|
if (lowerMethod === 'request') {
|
|
174
151
|
// generic request(method, path) — try to get HTTP method from first arg
|
|
175
152
|
const stringArgs = findAllStringsInArgList(argList, constants);
|
|
@@ -247,40 +224,6 @@ function extractJavaFlowRefs(root) {
|
|
|
247
224
|
return refs;
|
|
248
225
|
}
|
|
249
226
|
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
250
|
-
/**
|
|
251
|
-
* Extract method parameters with their annotations (e.g. @RequestParam, @PathVariable, @RequestBody).
|
|
252
|
-
*/
|
|
253
|
-
function extractMethodParameters(method) {
|
|
254
|
-
var _a;
|
|
255
|
-
const params = [];
|
|
256
|
-
const formalParams = (0, treeSitterUtils_1.firstChildOfType)(method, 'formal_parameters');
|
|
257
|
-
if (!formalParams)
|
|
258
|
-
return params;
|
|
259
|
-
const paramNodes = (0, treeSitterUtils_1.findNodes)(formalParams, ['formal_parameter', 'spread_parameter']);
|
|
260
|
-
for (const paramNode of paramNodes) {
|
|
261
|
-
const paramAnnotations = [];
|
|
262
|
-
(0, treeSitterUtils_1.walkTree)(paramNode, (n) => {
|
|
263
|
-
var _a;
|
|
264
|
-
if (n.type === 'annotation' || n.type === 'marker_annotation') {
|
|
265
|
-
const nameNode = (0, treeSitterUtils_1.firstChildOfType)(n, 'identifier');
|
|
266
|
-
if (nameNode)
|
|
267
|
-
paramAnnotations.push('@' + ((_a = nameNode.text) !== null && _a !== void 0 ? _a : ''));
|
|
268
|
-
}
|
|
269
|
-
});
|
|
270
|
-
const nameNode = firstChildNamed(paramNode, 'identifier');
|
|
271
|
-
const name = (_a = nameNode === null || nameNode === void 0 ? void 0 : nameNode.text) !== null && _a !== void 0 ? _a : '';
|
|
272
|
-
if (!name)
|
|
273
|
-
continue;
|
|
274
|
-
// Include annotation prefix for annotated params (Spring @RequestParam, @PathVariable, etc.)
|
|
275
|
-
if (paramAnnotations.length > 0) {
|
|
276
|
-
params.push(`${paramAnnotations.join(' ')} ${name}`);
|
|
277
|
-
}
|
|
278
|
-
else {
|
|
279
|
-
params.push(name);
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
return params;
|
|
283
|
-
}
|
|
284
227
|
function extractModifierTexts(node) {
|
|
285
228
|
const modifiers = [];
|
|
286
229
|
(0, treeSitterUtils_1.walkTree)(node, (n) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angularDetector.d.ts","sourceRoot":"","sources":["../../../../src/languages/javascript/angularDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,KAAK,EAAE,aAAa,GAAG,WAAW,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC;IACnC,SAAS,EAAE,aAAa,GAAG,kBAAkB,GAAG,eAAe,GAAG,SAAS,GAAG,UAAU,CAAC;IACzF,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,GAAG,YAAY,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B,EAAE,OAAO,CAAC;IACrC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,CAyC9F;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"angularDetector.d.ts","sourceRoot":"","sources":["../../../../src/languages/javascript/angularDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,KAAK,EAAE,aAAa,GAAG,WAAW,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC;IACnC,SAAS,EAAE,aAAa,GAAG,kBAAkB,GAAG,eAAe,GAAG,SAAS,GAAG,UAAU,CAAC;IACzF,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,GAAG,YAAY,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B,EAAE,OAAO,CAAC;IACrC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,CAyC9F;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAuChG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAyCxF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAgCpG;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAY7F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEhE"}
|
|
@@ -68,66 +68,33 @@ function detectAngularInjections(sourceText, filePath) {
|
|
|
68
68
|
const injections = [];
|
|
69
69
|
const lines = sourceText.split('\n');
|
|
70
70
|
let currentClass = '';
|
|
71
|
-
let currentConstHost = '';
|
|
72
|
-
let inConstructorParams = false;
|
|
73
71
|
for (let i = 0; i < lines.length; i++) {
|
|
74
72
|
const line = lines[i];
|
|
75
73
|
// Track current class
|
|
76
74
|
const classMatch = line.match(/class\s+(\w+)/);
|
|
77
75
|
if (classMatch)
|
|
78
76
|
currentClass = classMatch[1];
|
|
79
|
-
// Track current const/export const assignment as potential host for inject() outside class.
|
|
80
|
-
// Only update when the line is NOT itself an inject() call (e.g. skip `const x = inject(Y)`).
|
|
81
|
-
if (!currentClass) {
|
|
82
|
-
const constHostMatch = line.match(/(?:export\s+)?(?:const|let)\s+(\w+)\s*(?::\s*\S+)?\s*=/);
|
|
83
|
-
if (constHostMatch && !line.match(/=\s*inject\s*\(/)) {
|
|
84
|
-
currentConstHost = constHostMatch[1];
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
// Track constructor parameter block boundaries
|
|
88
|
-
if (/\bconstructor\s*\(/.test(line)) {
|
|
89
|
-
inConstructorParams = true;
|
|
90
|
-
}
|
|
91
|
-
if (inConstructorParams && line.includes(')')) {
|
|
92
|
-
// Process this line (it's still inside the constructor params), then close
|
|
93
|
-
// We'll close after checking for injections below
|
|
94
|
-
}
|
|
95
77
|
// Constructor injection: constructor(private http: HttpClient)
|
|
96
|
-
|
|
97
|
-
if (
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
style: 'constructor',
|
|
106
|
-
sourceFile: filePath,
|
|
107
|
-
line: i + 1,
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
// Close the constructor param block after processing (handles closing paren on same line)
|
|
113
|
-
if (inConstructorParams && line.includes(')')) {
|
|
114
|
-
inConstructorParams = false;
|
|
78
|
+
const ctorMatch = line.match(/(?:private|protected|public|readonly)\s+(\w+)\s*:\s*(\w+)/);
|
|
79
|
+
if (ctorMatch && currentClass) {
|
|
80
|
+
injections.push({
|
|
81
|
+
consumerClass: currentClass,
|
|
82
|
+
serviceClass: ctorMatch[2],
|
|
83
|
+
style: 'constructor',
|
|
84
|
+
sourceFile: filePath,
|
|
85
|
+
line: i + 1,
|
|
86
|
+
});
|
|
115
87
|
}
|
|
116
88
|
// Functional inject: inject(HttpClient)
|
|
117
89
|
const injectMatch = line.match(/(\w+)\s*=\s*inject\s*\(\s*(\w+)\s*\)/);
|
|
118
|
-
if (injectMatch) {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
style: 'inject-fn',
|
|
127
|
-
sourceFile: filePath,
|
|
128
|
-
line: i + 1,
|
|
129
|
-
});
|
|
130
|
-
}
|
|
90
|
+
if (injectMatch && currentClass) {
|
|
91
|
+
injections.push({
|
|
92
|
+
consumerClass: currentClass,
|
|
93
|
+
serviceClass: injectMatch[2],
|
|
94
|
+
style: 'inject-fn',
|
|
95
|
+
sourceFile: filePath,
|
|
96
|
+
line: i + 1,
|
|
97
|
+
});
|
|
131
98
|
}
|
|
132
99
|
}
|
|
133
100
|
return injections;
|
|
@@ -66,8 +66,8 @@ function tryExtractAssertion(callNode) {
|
|
|
66
66
|
if (!subject)
|
|
67
67
|
return null;
|
|
68
68
|
const methodName = (_j = (_h = (_g = callee.property) === null || _g === void 0 ? void 0 : _g.name) === null || _h === void 0 ? void 0 : _h.toLowerCase()) !== null && _j !== void 0 ? _j : '';
|
|
69
|
-
const
|
|
70
|
-
const
|
|
69
|
+
const assertionType = classifyAssertionMethod(methodName);
|
|
70
|
+
const { variable } = classifyExpectSubject(subject);
|
|
71
71
|
return { assertionType, subjectVariable: variable, line: (_l = (_k = callNode.loc) === null || _k === void 0 ? void 0 : _k.start) === null || _l === void 0 ? void 0 : _l.line };
|
|
72
72
|
}
|
|
73
73
|
}
|
|
@@ -132,15 +132,13 @@ function classifyExpectSubject(subject) {
|
|
|
132
132
|
}
|
|
133
133
|
return { variable: undefined, assertionType: 'body-field' };
|
|
134
134
|
}
|
|
135
|
-
function classifyAssertionMethod(methodName
|
|
135
|
+
function classifyAssertionMethod(methodName) {
|
|
136
136
|
if (methodName === 'tobe' ||
|
|
137
137
|
methodName === 'toequal' ||
|
|
138
138
|
methodName === 'tostrictequal' ||
|
|
139
139
|
methodName === 'tobetruthy' ||
|
|
140
140
|
methodName === 'tobefalsy') {
|
|
141
|
-
|
|
142
|
-
// Only classify as status-code when the subject involves status.
|
|
143
|
-
return subjectType === 'status-code' ? 'status-code' : 'body-field';
|
|
141
|
+
return 'status-code'; // Could be either, default to status-code
|
|
144
142
|
}
|
|
145
143
|
if (methodName === 'tohaveproperty' || methodName === 'tocontain' || methodName === 'tomatch') {
|
|
146
144
|
return 'body-field';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hapiDetector.d.ts","sourceRoot":"","sources":["../../../../src/languages/javascript/hapiDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,KAAK,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAkBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"hapiDetector.d.ts","sourceRoot":"","sources":["../../../../src/languages/javascript/hapiDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,KAAK,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAkBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAuFlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAmBtF"}
|
|
@@ -30,7 +30,7 @@ const BOOM_STATUS_MAP = {
|
|
|
30
30
|
* Detect HapiJS route definitions from source text.
|
|
31
31
|
*/
|
|
32
32
|
function detectHapiRoutes(sourceText, filePath) {
|
|
33
|
-
var _a, _b
|
|
33
|
+
var _a, _b;
|
|
34
34
|
const routes = [];
|
|
35
35
|
const lines = sourceText.split('\n');
|
|
36
36
|
for (let i = 0; i < lines.length; i++) {
|
|
@@ -55,7 +55,7 @@ function detectHapiRoutes(sourceText, filePath) {
|
|
|
55
55
|
if (authSimple) {
|
|
56
56
|
auth = { strategy: authSimple[1], mode: 'required' };
|
|
57
57
|
}
|
|
58
|
-
// auth: { mode: 'try' } or auth: { mode: 'optional' }
|
|
58
|
+
// auth: { mode: 'try' } or auth: { mode: 'optional' }
|
|
59
59
|
const authMode = nearLine.match(/(?:auth|mode)\s*:\s*[{]?\s*mode\s*:\s*['"](\w+)['"]/);
|
|
60
60
|
if (authMode) {
|
|
61
61
|
auth = {
|
|
@@ -63,19 +63,6 @@ function detectHapiRoutes(sourceText, filePath) {
|
|
|
63
63
|
mode: authMode[1] === 'try' || authMode[1] === 'optional' ? 'optional' : 'required',
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
|
-
else if (/auth\s*:\s*\{/.test(nearLine) || /auth\s*\{/.test(nearLine)) {
|
|
67
|
-
// Multi-line auth object: scan the next 5 lines for mode: 'try' / 'optional'
|
|
68
|
-
for (let m = j + 1; m < Math.min(j + 6, lines.length); m++) {
|
|
69
|
-
const modeMatch = lines[m].match(/mode\s*:\s*['"](\w+)['"]/);
|
|
70
|
-
if (modeMatch) {
|
|
71
|
-
auth = {
|
|
72
|
-
strategy: auth === null || auth === void 0 ? void 0 : auth.strategy,
|
|
73
|
-
mode: modeMatch[1] === 'try' || modeMatch[1] === 'optional' ? 'optional' : 'required',
|
|
74
|
-
};
|
|
75
|
-
break;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
66
|
// auth: false
|
|
80
67
|
if (/auth\s*:\s*false/.test(nearLine)) {
|
|
81
68
|
auth = undefined; // Public route
|
|
@@ -87,9 +74,8 @@ function detectHapiRoutes(sourceText, filePath) {
|
|
|
87
74
|
// Scan validation block
|
|
88
75
|
for (let k = j; k < Math.min(j + 15, lines.length); k++) {
|
|
89
76
|
const valLine = lines[k];
|
|
90
|
-
// query: { ... }
|
|
77
|
+
// query: { ... }
|
|
91
78
|
if (/query\s*:/.test(valLine)) {
|
|
92
|
-
// Same-line extraction
|
|
93
79
|
const paramMatch = valLine.match(/(\w+)\s*:\s*Joi\./g);
|
|
94
80
|
if (paramMatch) {
|
|
95
81
|
for (const pm of paramMatch) {
|
|
@@ -98,46 +84,17 @@ function detectHapiRoutes(sourceText, filePath) {
|
|
|
98
84
|
queryParams.push(name);
|
|
99
85
|
}
|
|
100
86
|
}
|
|
101
|
-
// Multi-line extraction: scan subsequent lines for fieldName: Joi. patterns
|
|
102
|
-
for (let q = k + 1; q < Math.min(k + 16, lines.length); q++) {
|
|
103
|
-
const subLine = lines[q];
|
|
104
|
-
if (/}\s*[),]/.test(subLine) || /]\s*,/.test(subLine))
|
|
105
|
-
break;
|
|
106
|
-
const fieldMatch = subLine.match(/(\w+)\s*:\s*Joi\./g);
|
|
107
|
-
if (fieldMatch) {
|
|
108
|
-
for (const fm of fieldMatch) {
|
|
109
|
-
const name = (_b = fm.match(/(\w+)\s*:/)) === null || _b === void 0 ? void 0 : _b[1];
|
|
110
|
-
if (name && !queryParams.includes(name))
|
|
111
|
-
queryParams.push(name);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
87
|
}
|
|
116
|
-
// payload: { ... }
|
|
88
|
+
// payload: { ... }
|
|
117
89
|
if (/payload\s*:/.test(valLine)) {
|
|
118
|
-
// Same-line extraction
|
|
119
90
|
const paramMatch = valLine.match(/(\w+)\s*:\s*Joi\./g);
|
|
120
91
|
if (paramMatch) {
|
|
121
92
|
for (const pm of paramMatch) {
|
|
122
|
-
const name = (
|
|
93
|
+
const name = (_b = pm.match(/(\w+)\s*:/)) === null || _b === void 0 ? void 0 : _b[1];
|
|
123
94
|
if (name)
|
|
124
95
|
payloadParams.push(name);
|
|
125
96
|
}
|
|
126
97
|
}
|
|
127
|
-
// Multi-line extraction: scan subsequent lines for fieldName: Joi. patterns
|
|
128
|
-
for (let q = k + 1; q < Math.min(k + 16, lines.length); q++) {
|
|
129
|
-
const subLine = lines[q];
|
|
130
|
-
if (/}\s*[),]/.test(subLine) || /]\s*,/.test(subLine))
|
|
131
|
-
break;
|
|
132
|
-
const fieldMatch = subLine.match(/(\w+)\s*:\s*Joi\./g);
|
|
133
|
-
if (fieldMatch) {
|
|
134
|
-
for (const fm of fieldMatch) {
|
|
135
|
-
const name = (_d = fm.match(/(\w+)\s*:/)) === null || _d === void 0 ? void 0 : _d[1];
|
|
136
|
-
if (name && !payloadParams.includes(name))
|
|
137
|
-
payloadParams.push(name);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
98
|
}
|
|
142
99
|
}
|
|
143
100
|
if (queryParams.length > 0 || payloadParams.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vueDetector.d.ts","sourceRoot":"","sources":["../../../../src/languages/javascript/vueDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,
|
|
1
|
+
{"version":3,"file":"vueDetector.d.ts","sourceRoot":"","sources":["../../../../src/languages/javascript/vueDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAO/F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CA4CpF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAkBzF"}
|
|
@@ -29,20 +29,7 @@ function detectAxiosBaseUrl(sourceText, filePath) {
|
|
|
29
29
|
function detectVuexActions(sourceText, filePath) {
|
|
30
30
|
const calls = [];
|
|
31
31
|
const lines = sourceText.split('\n');
|
|
32
|
-
// Pass 1: Build a map of constant name → string value.
|
|
33
|
-
// Matches patterns like:
|
|
34
|
-
// const FETCH_ARTICLES = 'fetchArticles'
|
|
35
|
-
// export const FETCH_ARTICLES = "fetchArticles"
|
|
36
|
-
const constantMap = new Map();
|
|
37
|
-
for (const line of lines) {
|
|
38
|
-
const constMatch = line.match(/(?:export\s+)?const\s+([A-Z_][A-Z0-9_]*)\s*=\s*['"]([^'"]+)['"]/);
|
|
39
|
-
if (constMatch) {
|
|
40
|
-
constantMap.set(constMatch[1], constMatch[2]);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
// Pass 2: Detect action definitions and their API calls.
|
|
44
32
|
let currentAction = '';
|
|
45
|
-
let currentResolvedName;
|
|
46
33
|
for (let i = 0; i < lines.length; i++) {
|
|
47
34
|
const line = lines[i];
|
|
48
35
|
// Vuex action definition: [ACTION_NAME]({ commit }, payload) {
|
|
@@ -50,13 +37,6 @@ function detectVuexActions(sourceText, filePath) {
|
|
|
50
37
|
const actionMatch = line.match(/(?:\[(\w+)\]|(\w+))\s*\(\s*\{\s*(?:commit|dispatch|state|getters|rootState)/);
|
|
51
38
|
if (actionMatch) {
|
|
52
39
|
currentAction = actionMatch[1] || actionMatch[2] || '';
|
|
53
|
-
// If using bracket syntax with a constant, resolve to its string value
|
|
54
|
-
if (actionMatch[1] && constantMap.has(actionMatch[1])) {
|
|
55
|
-
currentResolvedName = constantMap.get(actionMatch[1]);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
currentResolvedName = undefined;
|
|
59
|
-
}
|
|
60
40
|
continue;
|
|
61
41
|
}
|
|
62
42
|
// ApiService.get/post/put/delete('resource')
|
|
@@ -64,7 +44,6 @@ function detectVuexActions(sourceText, filePath) {
|
|
|
64
44
|
if (apiServiceMatch) {
|
|
65
45
|
calls.push({
|
|
66
46
|
actionName: currentAction || undefined,
|
|
67
|
-
resolvedName: currentResolvedName,
|
|
68
47
|
method: apiServiceMatch[1].toUpperCase(),
|
|
69
48
|
urlPattern: apiServiceMatch[2],
|
|
70
49
|
sourceFile: filePath,
|
|
@@ -77,7 +56,6 @@ function detectVuexActions(sourceText, filePath) {
|
|
|
77
56
|
if (axiosMatch) {
|
|
78
57
|
calls.push({
|
|
79
58
|
actionName: currentAction || undefined,
|
|
80
|
-
resolvedName: currentResolvedName,
|
|
81
59
|
method: axiosMatch[1].toUpperCase(),
|
|
82
60
|
urlPattern: axiosMatch[2],
|
|
83
61
|
sourceFile: filePath,
|
|
@@ -10,7 +10,7 @@ export declare class PythonAnalyzer implements LanguageAnalyzer {
|
|
|
10
10
|
extractHttpInteractions(model: SemanticModel, _ctx: AnalysisContext): ResolvedHttpInteraction[];
|
|
11
11
|
extractAssertions(model: SemanticModel): SemanticAssertion[];
|
|
12
12
|
extractBusinessRuleRefs(model: SemanticModel): BusinessRuleRef[];
|
|
13
|
-
extractFlowRefs(
|
|
13
|
+
extractFlowRefs(_model: SemanticModel): FlowRef[];
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Classify JWT/auth security from decorator information.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/languages/python/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EAIb,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,eAAe,EAEf,aAAa,EAEb,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/languages/python/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EAIb,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,eAAe,EAEf,aAAa,EAEb,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAkC5B,qBAAa,cAAe,YAAW,gBAAgB;IACrD,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAY;IAEhD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB;IAc1D,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,GAAG,aAAa;IA6BtF,uBAAuB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,GAAG,uBAAuB,EAAE;IAwB/F,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,iBAAiB,EAAE;IAG5D,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,EAAE;IAGhE,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,EAAE;CAGlD;AA2WD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,sBAAsB,GAAG,SAAS,CAarG"}
|