agentic-qe 3.9.11 → 3.9.13
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/.claude/agents/v3/qe-coverage-specialist.md +1 -1
- package/.claude/agents/v3/qe-fleet-commander.md +1 -1
- package/.claude/agents/v3/qe-pentest-validator.md +4 -2
- package/.claude/agents/v3/qe-queen-coordinator.md +1 -1
- package/.claude/agents/v3/qe-risk-assessor.md +1 -1
- package/.claude/agents/v3/qe-root-cause-analyzer.md +1 -1
- package/.claude/agents/v3/qe-security-auditor.md +4 -2
- package/.claude/agents/v3/qe-security-scanner.md +3 -1
- package/.claude/agents/v3/qe-test-architect.md +1 -1
- package/.claude/commands/aqe-costs.md +6 -6
- package/.claude/skills/.validation/schemas/skill-eval.schema.json +3 -0
- package/.claude/skills/.validation/test-data/sample-output.json +1 -1
- package/.claude/skills/a11y-ally/SKILL.md +1 -1
- package/.claude/skills/accessibility-testing/evals/accessibility-testing.yaml +1 -1
- package/.claude/skills/api-testing-patterns/evals/api-testing-patterns.yaml +2 -2
- package/.claude/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
- package/.claude/skills/contract-testing/evals/contract-testing.yaml +2 -2
- package/.claude/skills/database-testing/evals/database-testing.yaml +2 -2
- package/.claude/skills/localization-testing/evals/localization-testing.yaml +1 -1
- package/.claude/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +1 -1
- package/.claude/skills/performance-testing/evals/performance-testing.yaml +1 -1
- package/.claude/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
- package/.claude/skills/skills-manifest.json +1 -1
- package/.claude/skills/testability-scoring/evals/testability-scoring.yaml +2 -2
- package/CHANGELOG.md +29 -0
- package/assets/agents/v3/qe-coverage-specialist.md +1 -1
- package/assets/agents/v3/qe-fleet-commander.md +1 -1
- package/assets/agents/v3/qe-pentest-validator.md +4 -2
- package/assets/agents/v3/qe-queen-coordinator.md +1 -1
- package/assets/agents/v3/qe-risk-assessor.md +1 -1
- package/assets/agents/v3/qe-root-cause-analyzer.md +1 -1
- package/assets/agents/v3/qe-security-auditor.md +4 -2
- package/assets/agents/v3/qe-security-scanner.md +3 -1
- package/assets/agents/v3/qe-test-architect.md +1 -1
- package/assets/skills/.validation/schemas/skill-eval.schema.json +3 -0
- package/assets/skills/.validation/test-data/sample-output.json +1 -1
- package/assets/skills/a11y-ally/SKILL.md +1 -1
- package/assets/skills/accessibility-testing/evals/accessibility-testing.yaml +1 -1
- package/assets/skills/api-testing-patterns/evals/api-testing-patterns.yaml +2 -2
- package/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
- package/assets/skills/contract-testing/evals/contract-testing.yaml +2 -2
- package/assets/skills/database-testing/evals/database-testing.yaml +2 -2
- package/assets/skills/localization-testing/evals/localization-testing.yaml +1 -1
- package/assets/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +1 -1
- package/assets/skills/performance-testing/evals/performance-testing.yaml +1 -1
- package/assets/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
- package/assets/skills/skills-manifest.json +1 -1
- package/assets/skills/testability-scoring/evals/testability-scoring.yaml +2 -2
- package/dist/adapters/claude-flow/detect.js +13 -0
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-VP3WBXE5.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-ERBGW3L7.js → agent-booster-wasm-3RBPTJAU.js} +2 -2
- package/dist/cli/chunks/{agent-handler-G5WC5V6J.js → agent-handler-XV45GCWC.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-XAM3NPTO.js → agent-memory-branch-V6EXWWMY.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-ASPPEOKQ.js +2 -0
- package/dist/cli/chunks/{audit-QW4RPP6W.js → audit-WXFI4AC4.js} +2 -2
- package/dist/cli/chunks/base-SIAOYPTD.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-JNLN3EQY.js → better-sqlite3-23MIVVHF.js} +2 -2
- package/dist/cli/chunks/{brain-handler-YXCEHA2J.js → brain-handler-LQUMAACV.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-ZJUGC2OB.js → branch-enumerator-HE37VX7G.js} +2 -2
- package/dist/cli/chunks/{browser-RLRS7JBO.js → browser-3VG5M7WM.js} +2 -2
- package/dist/cli/chunks/browser-workflow-BG3M3RZU.js +2 -0
- package/dist/cli/chunks/{chunk-E5XSCY5J.js → chunk-2RTGP76Y.js} +2 -2
- package/dist/cli/chunks/{chunk-YSNVBAUR.js → chunk-3AOWTHLS.js} +2 -2
- package/dist/cli/chunks/{chunk-W2CIYDNQ.js → chunk-3I6KWFJT.js} +2 -2
- package/dist/cli/chunks/{chunk-PX2LQIS3.js → chunk-3IJ4NRJF.js} +2 -2
- package/dist/cli/chunks/{chunk-KUU5KPBS.js → chunk-3RM2VNYG.js} +2 -2
- package/dist/cli/chunks/{chunk-C6EG74P6.js → chunk-4MZZMWF6.js} +1 -1
- package/dist/cli/chunks/{chunk-KNG3K26M.js → chunk-4PCHU2X7.js} +1 -1
- package/dist/cli/chunks/{chunk-GF6KRBPQ.js → chunk-4VETZICF.js} +1 -1
- package/dist/cli/chunks/{chunk-TSXTP4MO.js → chunk-4WJ3BHCN.js} +3 -3
- package/dist/cli/chunks/{chunk-ZWGFOQOS.js → chunk-54A2LVKM.js} +2 -2
- package/dist/cli/chunks/{chunk-2PM3SD63.js → chunk-5TDHUYYF.js} +2 -2
- package/dist/cli/chunks/{chunk-TRCNODAD.js → chunk-67TMNSO3.js} +1 -1
- package/dist/cli/chunks/{chunk-7H46NSQI.js → chunk-6GYMFSPA.js} +2 -2
- package/dist/cli/chunks/{chunk-UMRNJLCT.js → chunk-6HSHLSGU.js} +2 -2
- package/dist/cli/chunks/{chunk-MFHKKNVZ.js → chunk-6LDRSG7C.js} +2 -2
- package/dist/cli/chunks/{chunk-2SPDBBGB.js → chunk-77GZ7LXL.js} +2 -2
- package/dist/cli/chunks/{chunk-7WTKRSJW.js → chunk-7HX2PMBB.js} +2 -2
- package/dist/cli/chunks/{chunk-LPTSNKCM.js → chunk-AEKTVLLF.js} +2 -2
- package/dist/cli/chunks/{chunk-L7LOSW5T.js → chunk-AOTEEGQA.js} +24 -24
- package/dist/cli/chunks/{chunk-QEBXLE7N.js → chunk-APQYMAKG.js} +4 -4
- package/dist/cli/chunks/{chunk-OUCFT3RT.js → chunk-AV23XNRL.js} +2 -2
- package/dist/cli/chunks/{chunk-JJS3OOFV.js → chunk-AXDGBI4Y.js} +1 -1
- package/dist/cli/chunks/{chunk-RRCFW2M3.js → chunk-AZPDX4KS.js} +2 -2
- package/dist/cli/chunks/{chunk-I3V5VPNQ.js → chunk-BE2DYHUB.js} +2 -2
- package/dist/cli/chunks/{chunk-CL6NRSRJ.js → chunk-BSTCXDVH.js} +1 -1
- package/dist/cli/chunks/{chunk-TI4B6LPH.js → chunk-BUIMIUJA.js} +1 -1
- package/dist/cli/chunks/{chunk-44P37G45.js → chunk-CF5EJGOV.js} +2 -2
- package/dist/cli/chunks/{chunk-2NQ37ZD2.js → chunk-CPRYUCPC.js} +1 -1
- package/dist/cli/chunks/{chunk-5BOJ7G3B.js → chunk-D22MEX2U.js} +2 -2
- package/dist/cli/chunks/{chunk-KK6MUW7H.js → chunk-DHYJMGKC.js} +1 -1
- package/dist/cli/chunks/{chunk-NEI3CUGT.js → chunk-DY5JRJXV.js} +3 -3
- package/dist/cli/chunks/{chunk-Y5YE6LVE.js → chunk-E7P6GAD7.js} +2 -2
- package/dist/cli/chunks/{chunk-NMJFMH4E.js → chunk-EBQUXPIG.js} +2 -2
- package/dist/cli/chunks/{chunk-VMBRYYYH.js → chunk-EC2CI3ZC.js} +2 -2
- package/dist/cli/chunks/{chunk-IFVGKXD2.js → chunk-ERGY45RL.js} +1 -1
- package/dist/cli/chunks/{chunk-KE5INK6G.js → chunk-ES6CEZG2.js} +1 -1
- package/dist/cli/chunks/{chunk-XBG6EFDT.js → chunk-F74IVEON.js} +2 -2
- package/dist/cli/chunks/{chunk-MQTFPGGG.js → chunk-FEGITTAE.js} +1 -1
- package/dist/cli/chunks/{chunk-YZNN62EM.js → chunk-FHWDVN65.js} +2 -2
- package/dist/cli/chunks/{chunk-TIKBMCDQ.js → chunk-FLML5IT7.js} +2 -2
- package/dist/cli/chunks/{chunk-7CSQKBZM.js → chunk-FS4TPAAA.js} +1 -1
- package/dist/cli/chunks/{chunk-V45UPEEM.js → chunk-GHAEDZDE.js} +2 -2
- package/dist/cli/chunks/{chunk-KXNVYDJF.js → chunk-GKRKCJ6D.js} +2 -2
- package/dist/cli/chunks/{chunk-4DHHTDMU.js → chunk-H53V7GI3.js} +1 -1
- package/dist/cli/chunks/{chunk-Y5WIREMP.js → chunk-HEHGQM2H.js} +23 -23
- package/dist/cli/chunks/{chunk-5QQVR2PJ.js → chunk-HHRUXDLT.js} +2 -2
- package/dist/cli/chunks/{chunk-BMDH76Z5.js → chunk-HJHFGPGP.js} +2 -2
- package/dist/cli/chunks/{chunk-NU5DOYGG.js → chunk-HRD7LL7Q.js} +2 -2
- package/dist/cli/chunks/{chunk-FOONOTJJ.js → chunk-HXLAXSEM.js} +2 -2
- package/dist/cli/chunks/{chunk-YIZNQK5R.js → chunk-I6O4MVEY.js} +4 -4
- package/dist/cli/chunks/{chunk-L4TU4IIE.js → chunk-IQGVQBVS.js} +1 -1
- package/dist/cli/chunks/{chunk-NWUOACDR.js → chunk-JOCR5TWI.js} +2 -2
- package/dist/cli/chunks/chunk-JV7HKHQS.js +2 -0
- package/dist/cli/chunks/{chunk-P5GOHOPL.js → chunk-KULWZMVC.js} +3 -3
- package/dist/cli/chunks/{chunk-WUDYOEEV.js → chunk-LHZLH6I4.js} +2 -2
- package/dist/cli/chunks/{chunk-I2HIQGZ2.js → chunk-LRHJOYKY.js} +3 -3
- package/dist/cli/chunks/{chunk-P6O43I72.js → chunk-MXT7YUOZ.js} +2 -2
- package/dist/cli/chunks/{chunk-JG6GFIR4.js → chunk-OBDM6OJL.js} +1 -1
- package/dist/cli/chunks/{chunk-O374BYD4.js → chunk-OGHIQCJU.js} +2 -2
- package/dist/cli/chunks/{chunk-WGKNSWGX.js → chunk-OHG6SNIA.js} +2 -2
- package/dist/cli/chunks/{chunk-TFK7FDC4.js → chunk-OJGR56BP.js} +2 -2
- package/dist/cli/chunks/{chunk-PRUG76TG.js → chunk-OKCI6BNZ.js} +2 -2
- package/dist/cli/chunks/{chunk-XS7YNHNG.js → chunk-OM7A3YC3.js} +2 -2
- package/dist/cli/chunks/{chunk-QL5O27ES.js → chunk-OP54A7C6.js} +2 -2
- package/dist/cli/chunks/{chunk-C4BDVGMS.js → chunk-OUNZPHTA.js} +1 -1
- package/dist/cli/chunks/{chunk-N3LKRXKM.js → chunk-Q3MQYATA.js} +2 -2
- package/dist/cli/chunks/{chunk-HGPK3IIX.js → chunk-Q7TWE55T.js} +3 -3
- package/dist/cli/chunks/{chunk-GOWDJPOX.js → chunk-QHCOAG7D.js} +1 -1
- package/dist/cli/chunks/{chunk-G3XXEPHS.js → chunk-QIE76ERL.js} +1 -1
- package/dist/cli/chunks/{chunk-F2OCIVD2.js → chunk-QKTB5FZP.js} +2 -2
- package/dist/cli/chunks/{chunk-NKUPM5KQ.js → chunk-QNUVC6OX.js} +1 -1
- package/dist/cli/chunks/{chunk-XIJ6LU5G.js → chunk-R4B2B6MZ.js} +2 -2
- package/dist/cli/chunks/{chunk-22OWZHSK.js → chunk-RMNZSGTE.js} +2 -2
- package/dist/cli/chunks/{chunk-ZM7WJNQY.js → chunk-RURYOWWU.js} +1 -1
- package/dist/cli/chunks/{chunk-5RDXUTEB.js → chunk-RYPUA6E2.js} +2 -2
- package/dist/cli/chunks/{chunk-TEHFGVQG.js → chunk-SI7AQK7I.js} +2 -2
- package/dist/cli/chunks/{chunk-RI5IUJ2E.js → chunk-SL66MHDM.js} +1 -1
- package/dist/cli/chunks/{chunk-5XQLA5PW.js → chunk-SSZMISGC.js} +2 -2
- package/dist/cli/chunks/{chunk-LKYO7SZ7.js → chunk-TNQBHQFH.js} +2 -2
- package/dist/cli/chunks/{chunk-7BYZSHCI.js → chunk-TOS3PI5Q.js} +1 -1
- package/dist/cli/chunks/{chunk-QRQV2KJ3.js → chunk-TPTKR5ZO.js} +1 -1
- package/dist/cli/chunks/{chunk-VQIBPHLI.js → chunk-TRJRRJV3.js} +1 -1
- package/dist/cli/chunks/{chunk-ZGWNU6V6.js → chunk-TU3JIH3U.js} +5 -5
- package/dist/cli/chunks/{chunk-CV3KHYEY.js → chunk-TVASP2E6.js} +2 -2
- package/dist/cli/chunks/{chunk-2DSXKIGI.js → chunk-TWRGM5TY.js} +2 -2
- package/dist/cli/chunks/chunk-UCCNB75R.js +3 -0
- package/dist/cli/chunks/{chunk-DZZKBPOK.js → chunk-UDIRBCZW.js} +1 -1
- package/dist/cli/chunks/{chunk-6RU5DG36.js → chunk-V2CV6J2A.js} +2 -2
- package/dist/cli/chunks/{chunk-AIHD3V62.js → chunk-V6UODTBP.js} +1 -1
- package/dist/cli/chunks/{chunk-LLC3GJXO.js → chunk-VCJP7HQG.js} +2 -2
- package/dist/cli/chunks/chunk-VHSDZEYF.js +2 -0
- package/dist/cli/chunks/{chunk-YGZOCUJM.js → chunk-VJN7NQGI.js} +9 -9
- package/dist/cli/chunks/{chunk-F6ADG6BA.js → chunk-VLZBQ3XN.js} +2 -2
- package/dist/cli/chunks/{chunk-C5QJV576.js → chunk-VU7ENCSU.js} +2 -2
- package/dist/cli/chunks/{chunk-KFNPCKTB.js → chunk-VVVIRGO7.js} +2 -2
- package/dist/cli/chunks/chunk-VWEGO7BY.js +2 -0
- package/dist/cli/chunks/{chunk-K6S2C76B.js → chunk-W2YCNX4O.js} +2 -2
- package/dist/cli/chunks/{chunk-Z5CFWIET.js → chunk-W6LEOFA4.js} +2 -2
- package/dist/cli/chunks/{chunk-YBVFSBYN.js → chunk-WQGP5ULD.js} +2 -2
- package/dist/cli/chunks/{chunk-S37G7A6J.js → chunk-WQIB5ERQ.js} +2 -2
- package/dist/cli/chunks/{chunk-NDLYVPON.js → chunk-WVWB7K6H.js} +1 -1
- package/dist/cli/chunks/{chunk-7D352FKW.js → chunk-X3UVXJIK.js} +2 -2
- package/dist/cli/chunks/{chunk-K33CP3M4.js → chunk-XV42SKJD.js} +2 -2
- package/dist/cli/chunks/{chunk-C3W4M7UY.js → chunk-XXQYSDLV.js} +2 -2
- package/dist/cli/chunks/chunk-Y2ONHWXI.js +2 -0
- package/dist/cli/chunks/{chunk-WY4RNWWV.js → chunk-Y7YSJD4I.js} +2 -2
- package/dist/cli/chunks/{chunk-DKJZW6KO.js → chunk-YBKSENTJ.js} +3 -3
- package/dist/cli/chunks/{chunk-N5EQ3Q63.js → chunk-YCQ2GHFH.js} +2 -2
- package/dist/cli/chunks/{chunk-R5FOT2GW.js → chunk-YCTGWMCP.js} +3 -3
- package/dist/cli/chunks/{chunk-F57L5LEP.js → chunk-YYQVSVBO.js} +2 -2
- package/dist/cli/chunks/{chunk-STVZ2TBG.js → chunk-Z6F4GRXY.js} +1 -1
- package/dist/cli/chunks/chunk-ZN7KPIJW.js +2 -0
- package/dist/cli/chunks/{chunk-QWWYIHND.js → chunk-ZS5BM2EE.js} +2 -2
- package/dist/cli/chunks/{chunk-6V7446OP.js → chunk-ZUW3KVML.js} +2 -2
- package/dist/cli/chunks/chunk-ZXJNX5D2.js +2 -0
- package/dist/cli/chunks/{ci-3W7NMONI.js → ci-FEEIAOQN.js} +2 -2
- package/dist/cli/chunks/{ci-output-S3L4ODFZ.js → ci-output-2WMUTORB.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-2KWBO7XA.js → circuit-breaker-MFEE23XA.js} +2 -2
- package/dist/cli/chunks/claude-flow-setup-6D655INK.js +2 -0
- package/dist/cli/chunks/client-LMOHUGOA.js +2 -0
- package/dist/cli/chunks/{cline-installer-EJZWTH4O.js → cline-installer-5PIYMPAG.js} +2 -2
- package/dist/cli/chunks/{code-M5S5TNSV.js → code-ACS453WG.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-YKAU2SIV.js → code-index-extractor-5SERI6TM.js} +2 -2
- package/dist/cli/chunks/{codex-installer-2RO7UPOC.js → codex-installer-WCUUWHP5.js} +2 -2
- package/dist/cli/chunks/{completions-6X4AQ43R.js → completions-6WFG3FPJ.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-TVSEUC4O.js → complexity-analyzer-IFZEFCB6.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-OPFGF74I.js → continuedev-installer-RW6FEEND.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-RRL4SCGA.js → copilot-installer-UZPE65RL.js} +2 -2
- package/dist/cli/chunks/{cost-tracker-XBNJ7WKR.js → cost-tracker-2R4FT6TY.js} +2 -2
- package/dist/cli/chunks/{coverage-FPJJTRAR.js → coverage-ZUC5U47P.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-IZB5ZMXO.js +2 -0
- package/dist/cli/chunks/{cursor-installer-OPY7SFFC.js → cursor-installer-7JBZT7JZ.js} +2 -2
- package/dist/cli/chunks/{daemon-S3ZA7RT3.js → daemon-YNF54UYB.js} +3 -3
- package/dist/cli/chunks/{dag-attention-scheduler-AOAJOWRN.js → dag-attention-scheduler-MS7D2NFM.js} +2 -2
- package/dist/cli/chunks/{detect-3F2HT32S.js → detect-UHOSHYVB.js} +2 -2
- package/dist/cli/chunks/{domain-handler-SCWOCRON.js → domain-handler-BVW4AX7O.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-4I3QTX44.js → domain-transfer-PA2ENF3D.js} +2 -2
- package/dist/cli/chunks/dream-SAPSS25B.js +2 -0
- package/dist/cli/chunks/esm-node-FTBUMV4L.js +2 -0
- package/dist/cli/chunks/{eval-M46NFR6V.js → eval-Y3ODM7JU.js} +2 -2
- package/dist/cli/chunks/{fast-paths-I2NAO6KL.js → fast-paths-DYQ5NC4Y.js} +2 -2
- package/dist/cli/chunks/{feature-flags-NQHRPIUT.js → feature-flags-V34UZPHG.js} +2 -2
- package/dist/cli/chunks/{feature-flags-PPFEWUVO.js → feature-flags-YMMGYWT3.js} +2 -2
- package/dist/cli/chunks/{file-discovery-WHHTABIG.js → file-discovery-75ZHSK4G.js} +2 -2
- package/dist/cli/chunks/{fleet-O5C6B37V.js → fleet-DD2CFGJL.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-RYIYJINN.js → gnn-wrapper-UXM3L5LV.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-NUE27AHM.js → heartbeat-handler-ANHRYXNS.js} +4 -4
- package/dist/cli/chunks/{heartbeat-scheduler-COBJE65L.js → heartbeat-scheduler-HYVMXCXT.js} +2 -2
- package/dist/cli/chunks/hnsw-adapter-CBDRZLXX.js +2 -0
- package/dist/cli/chunks/hnsw-index-EOJG4VF4.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-4YLY2WU2.js → hnsw-legacy-bridge-IFUEUOVF.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-GCYY3MVY.js → hnswlib-node-GYVDPTWU.js} +2 -2
- package/dist/cli/chunks/{hooks-F3ZDOXBU.js → hooks-R3DQNG2F.js} +6 -6
- package/dist/cli/chunks/hybrid-router-MSCQ2XGU.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-7P7HDFAU.js → hypergraph-engine-3TKB5O7T.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-L2PIBHKZ.js → hypergraph-handler-4APYID2S.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-C2TXXYPC.js +2 -0
- package/dist/cli/chunks/{init-handler-6FQSEU3G.js → init-handler-E7B2GKH3.js} +6 -6
- package/dist/cli/chunks/init-wizard-IQV7SBMW.js +2 -0
- package/dist/cli/chunks/kernel-NJOPFGK7.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-F2OCU37B.js → kilocode-installer-WY6VTFSA.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-NXSCDS3D.js → kiro-installer-SCNF3JXD.js} +4 -4
- package/dist/cli/chunks/knowledge-graph-EUMGCQPH.js +2 -0
- package/dist/cli/chunks/{learning-X2WZCNO2.js → learning-Y4OZJFBV.js} +3 -3
- package/dist/cli/chunks/{llm-router-LG3AFXW4.js → llm-router-RBKYYHBJ.js} +5 -5
- package/dist/cli/chunks/{load-N4TOWO47.js → load-FY64UGHV.js} +2 -2
- package/dist/cli/chunks/load-test-LBYVVG35.js +2 -0
- package/dist/cli/chunks/{mcp-L6GELR4I.js → mcp-6VMQOWMX.js} +2 -2
- package/dist/cli/chunks/{memory-XWVTSHTR.js → memory-Y5RO4PGM.js} +5 -5
- package/dist/cli/chunks/memory-backend-NQMJKHCQ.js +2 -0
- package/dist/cli/chunks/{memory-handlers-N4HCIXM6.js → memory-handlers-CMMVHHPG.js} +2 -2
- package/dist/cli/chunks/multi-model-executor-JO3MNMPZ.js +14 -0
- package/dist/cli/chunks/{opencode-installer-MID5ZQNA.js → opencode-installer-WQBTY6JT.js} +2 -2
- package/dist/cli/chunks/{orchestrator-HIOP5K2H.js → orchestrator-4J7OSNSG.js} +6 -6
- package/dist/cli/chunks/{pipeline-DXEZV7FN.js → pipeline-63T6HN72.js} +2 -2
- package/dist/cli/chunks/{platform-LDZ6HBEA.js → platform-UJMD4EPZ.js} +2 -2
- package/dist/cli/chunks/{plugin-XPQBUDKJ.js → plugin-NDOZ63JW.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-OVJE7LH7.js → prime-radiant-advanced-wasm-ELGHVIFI.js} +2 -2
- package/dist/cli/chunks/protocol-executor-ZSWPG5SU.js +2 -0
- package/dist/cli/chunks/{protocol-handler-BI37HYPC.js → protocol-handler-KYERIMVF.js} +2 -2
- package/dist/cli/chunks/{prove-4A65UZVW.js → prove-ATSSBP4Z.js} +2 -2
- package/dist/cli/chunks/provider-manager-YYMIF23V.js +24 -0
- package/dist/cli/chunks/qe-reasoning-bank-4RLPRCGF.js +2 -0
- package/dist/cli/chunks/{quality-4RQ3D3JL.js → quality-2AGJSJW6.js} +2 -2
- package/dist/cli/chunks/queen-coordinator-KQ673NYE.js +2 -0
- package/dist/cli/chunks/{real-embeddings-GT7AC5MU.js → real-embeddings-H36GVXMI.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-L77GZ3ZK.js → roocode-installer-PMRBAY7O.js} +2 -2
- package/dist/cli/chunks/router-UBNV4H5S.js +2 -0
- package/dist/cli/chunks/routing-feedback-BMMGZ346.js +2 -0
- package/dist/cli/chunks/{routing-handler-3GKAOO3V.js → routing-handler-Z7VZSDXW.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-JG4JJJIE.js → ruvector-commands-N3FZ3ZEE.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-HSJJLGC7.js → rvf-dual-writer-L5DQHUF3.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-YKJNIXE6.js → rvf-migration-adapter-NPGFA3SL.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-ROE2JI6M.js → rvf-migration-coordinator-MCJDNKXG.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-LXBCTTVF.js +2 -0
- package/dist/cli/chunks/safe-db-FFSPBUAK.js +2 -0
- package/dist/cli/chunks/schedule-2MOMNZ6B.js +2 -0
- package/dist/cli/chunks/scheduler-5VGVANFG.js +2 -0
- package/dist/cli/chunks/{security-Q46N26CF.js → security-TX7TXUGI.js} +3 -3
- package/dist/cli/chunks/shared-rvf-adapter-6JWYF7WV.js +2 -0
- package/dist/cli/chunks/{shared-rvf-dual-writer-3HAS2G2C.js → shared-rvf-dual-writer-6K3ZAG7P.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-LCOAORK7.js +2 -0
- package/dist/cli/chunks/{status-handler-LMQZIGFN.js → status-handler-MIRLQRNN.js} +2 -2
- package/dist/cli/chunks/{structural-health-DTU6QRF5.js → structural-health-CIHASLUE.js} +2 -2
- package/dist/cli/chunks/{sync-QIUCA4J6.js → sync-FGLAP7EK.js} +2 -2
- package/dist/cli/chunks/{task-handler-PVZ5GTKK.js → task-handler-7HMPRCHY.js} +2 -2
- package/dist/cli/chunks/{task-handlers-W34B2327.js → task-handlers-DQLQCLCT.js} +2 -2
- package/dist/cli/chunks/{test-JQJAOFZO.js → test-JKDO5ZHU.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-4ZE5MPNY.js → test-scheduling-2YKZ7PVZ.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-GL5WJ5SI.js → token-bootstrap-C7UUPMQN.js} +2 -2
- package/dist/cli/chunks/{token-usage-BUSEAXEB.js → token-usage-2RVIPCY4.js} +2 -2
- package/dist/cli/chunks/{transformers-FLJ4PR2F.js → transformers-UEMAGHQ5.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-VHFVZOVZ.js → tree-sitter-wasm-parser-MELABICK.js} +2 -2
- package/dist/cli/chunks/{types-DD6ZWJZW.js → types-5B4RD7ZV.js} +2 -2
- package/dist/cli/chunks/unified-memory-CZCWZUFP.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-QEOXVSOZ.js +2 -0
- package/dist/cli/chunks/unified-persistence-HGZAYZGP.js +2 -0
- package/dist/cli/chunks/{validate-RAX2MQKU.js → validate-CHDG7SC3.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-7FDYRKAC.js → validate-swarm-LB7GORKE.js} +2 -2
- package/dist/cli/chunks/{vibium-FUESVL6F.js → vibium-ZMC4G2YA.js} +2 -2
- package/dist/cli/chunks/visual-security-ITKF4E4Z.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-DNSKYDCS.js → web-tree-sitter-THNO6S2V.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-YA244VF3.js → windsurf-installer-LRB43BPX.js} +2 -2
- package/dist/cli/chunks/{witness-chain-SGGPG6VR.js → witness-chain-JC5UBXPM.js} +2 -2
- package/dist/cli/chunks/witness-chain-SYFYXQD3.js +2 -0
- package/dist/cli/chunks/{workflow-TCQSFBBE.js → workflow-Q4IYQ6F2.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-GZS2O3KW.js +2 -0
- package/dist/cli/chunks/{wrappers-44R4HXVW.js → wrappers-WSSLMFSE.js} +2 -2
- package/dist/cli/commands/claude-flow-setup.js +1 -29
- package/dist/cli/commands/llm-router.js +3 -3
- package/dist/coordination/consensus/providers/claude-provider.d.ts +3 -3
- package/dist/coordination/consensus/providers/claude-provider.js +6 -3
- package/dist/coordination/task-executor.js +5 -5
- package/dist/domains/chaos-resilience/services/chaos-engineer.js +3 -3
- package/dist/domains/code-intelligence/services/knowledge-graph.js +5 -5
- package/dist/domains/constants.d.ts +3 -3
- package/dist/domains/constants.js +3 -3
- package/dist/domains/contract-testing/services/contract-validator.js +3 -3
- package/dist/domains/coverage-analysis/services/coverage-analyzer.js +5 -5
- package/dist/domains/coverage-analysis/services/gap-detector.js +5 -5
- package/dist/domains/defect-intelligence/services/defect-predictor.js +5 -5
- package/dist/domains/defect-intelligence/services/root-cause-analyzer.js +5 -5
- package/dist/domains/learning-optimization/services/learning-coordinator.js +3 -3
- package/dist/domains/quality-assessment/services/deployment-advisor.js +5 -5
- package/dist/domains/quality-assessment/services/quality-analyzer.js +5 -5
- package/dist/domains/requirements-validation/services/requirements-validator.js +5 -5
- package/dist/domains/security-compliance/services/scanners/sast-scanner.js +5 -5
- package/dist/domains/test-execution/services/test-executor.js +3 -3
- package/dist/domains/test-generation/services/test-generator.js +5 -5
- package/dist/domains/visual-accessibility/services/visual-tester.js +3 -3
- package/dist/init/init-wizard-steps.js +1 -1
- package/dist/init/kiro-installer.js +8 -8
- package/dist/init/phases/12-verification.js +1 -1
- package/dist/init/settings-merge.js +2 -0
- package/dist/integrations/agentic-flow/model-router/types.js +8 -8
- package/dist/mcp/bundle.js +204 -204
- package/dist/mcp/security/sampling-server.js +1 -1
- package/dist/routing/advisor/multi-model-executor.d.ts +6 -2
- package/dist/routing/advisor/multi-model-executor.js +19 -3
- package/dist/routing/security/cyber-pin.d.ts +58 -0
- package/dist/routing/security/cyber-pin.js +75 -0
- package/dist/shared/llm/cost-tracker.js +5 -0
- package/dist/shared/llm/effort-resolver.d.ts +79 -0
- package/dist/shared/llm/effort-resolver.js +128 -0
- package/dist/shared/llm/interfaces.d.ts +11 -1
- package/dist/shared/llm/metrics/cost-metrics.js +1 -1
- package/dist/shared/llm/model-mapping.js +31 -0
- package/dist/shared/llm/model-registry.d.ts +40 -0
- package/dist/shared/llm/model-registry.js +126 -2
- package/dist/shared/llm/provider-manager.js +1 -1
- package/dist/shared/llm/providers/bedrock.js +9 -7
- package/dist/shared/llm/providers/claude.js +31 -4
- package/dist/shared/llm/router/agent-router-config.js +16 -16
- package/dist/shared/llm/router/hybrid-router.js +18 -1
- package/dist/shared/llm/router/routing-rules.js +9 -9
- package/dist/shared/llm/router/types.js +29 -29
- package/dist/shared/llm/translation/message-formatter.js +3 -3
- package/package.json +1 -1
- package/dist/cli/chunks/adapter-LDF6QG2T.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-4BL4TKWF.js +0 -2
- package/dist/cli/chunks/base-KJWQLVQN.js +0 -2
- package/dist/cli/chunks/browser-workflow-CWRD6MPO.js +0 -2
- package/dist/cli/chunks/chunk-5Z3K47TT.js +0 -2
- package/dist/cli/chunks/chunk-7J3CK3UY.js +0 -2
- package/dist/cli/chunks/chunk-C2HPZ65V.js +0 -2
- package/dist/cli/chunks/chunk-GEXHAKJ3.js +0 -2
- package/dist/cli/chunks/chunk-IURQ4SKQ.js +0 -3
- package/dist/cli/chunks/chunk-JDJRCINX.js +0 -2
- package/dist/cli/chunks/claude-flow-setup-NXRU3CZJ.js +0 -2
- package/dist/cli/chunks/client-6QLRJHON.js +0 -2
- package/dist/cli/chunks/cross-domain-router-Z4NI2VT3.js +0 -2
- package/dist/cli/chunks/dream-ICDONOKV.js +0 -2
- package/dist/cli/chunks/esm-node-PH6TIFQ6.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-5BSHU4UF.js +0 -2
- package/dist/cli/chunks/hnsw-index-KX6DATRE.js +0 -2
- package/dist/cli/chunks/hybrid-router-ZKOXVYVB.js +0 -2
- package/dist/cli/chunks/impact-analyzer-KNWIKJVU.js +0 -2
- package/dist/cli/chunks/init-wizard-VKUUCD2T.js +0 -2
- package/dist/cli/chunks/kernel-LRGVOUOH.js +0 -2
- package/dist/cli/chunks/knowledge-graph-7O4ACKK7.js +0 -2
- package/dist/cli/chunks/load-test-MWJ46OOI.js +0 -2
- package/dist/cli/chunks/memory-backend-XNNH47PJ.js +0 -2
- package/dist/cli/chunks/multi-model-executor-QVV6JZYD.js +0 -14
- package/dist/cli/chunks/protocol-executor-C4VLLOXH.js +0 -2
- package/dist/cli/chunks/provider-manager-MAP3LEV2.js +0 -24
- package/dist/cli/chunks/qe-reasoning-bank-ALMRMCX6.js +0 -2
- package/dist/cli/chunks/queen-coordinator-PJMDHNCR.js +0 -2
- package/dist/cli/chunks/router-5EMK2VI4.js +0 -2
- package/dist/cli/chunks/routing-feedback-GM474EAA.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-L6TVMXZG.js +0 -2
- package/dist/cli/chunks/safe-db-D2JVWU7V.js +0 -2
- package/dist/cli/chunks/schedule-ATMJHEWX.js +0 -2
- package/dist/cli/chunks/scheduler-FFU5HTXP.js +0 -2
- package/dist/cli/chunks/shared-rvf-adapter-KBGYVHKT.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-CDUAJ4WV.js +0 -2
- package/dist/cli/chunks/unified-memory-H55OLMCH.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-EL4ZOWLV.js +0 -2
- package/dist/cli/chunks/unified-persistence-SW3GZQOI.js +0 -2
- package/dist/cli/chunks/visual-security-7RHKMS2T.js +0 -2
- package/dist/cli/chunks/witness-chain-PBFNSR2Z.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-KQP277ZB.js +0 -2
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-22OWZHSK.js";import"./chunk-5BOJ7G3B.js";import"./chunk-N5EQ3Q63.js";import"./chunk-NMJFMH4E.js";import"./chunk-C3W4M7UY.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import"./chunk-LLC3GJXO.js";import"./chunk-YSNVBAUR.js";import"./chunk-L4TU4IIE.js";import"./chunk-44P37G45.js";import"./chunk-XS7YNHNG.js";import"./chunk-2SPDBBGB.js";import"./chunk-F57L5LEP.js";import"./chunk-QWWYIHND.js";import"./chunk-RRCFW2M3.js";import"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";export{a as BrowserWorkflowTool};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{randomUUID as v}from"crypto";var m={"claude-opus-4-5-20251101":{input:15,output:75,provider:"claude"},"claude-sonnet-4-20250514":{input:3,output:15,provider:"claude"},"claude-3-5-haiku-20241022":{input:1,output:5,provider:"claude"},"claude-3-opus-20240229":{input:15,output:75,provider:"claude"},"claude-3-sonnet-20240229":{input:3,output:15,provider:"claude"},"claude-3-haiku-20240307":{input:.25,output:1.25,provider:"claude"},"gpt-4o":{input:5,output:15,provider:"openai"},"gpt-4o-mini":{input:.15,output:.6,provider:"openai"},"gpt-4-turbo":{input:10,output:30,provider:"openai"},"gpt-4":{input:30,output:60,provider:"openai"},"gpt-3.5-turbo":{input:.5,output:1.5,provider:"openai"},llama3:{input:0,output:0,provider:"ollama"},"llama3.1":{input:0,output:0,provider:"ollama"},codellama:{input:0,output:0,provider:"ollama"},mistral:{input:0,output:0,provider:"ollama"},mixtral:{input:0,output:0,provider:"ollama"},phi3:{input:0,output:0,provider:"ollama"},qwen2:{input:0,output:0,provider:"ollama"},"anthropic/claude-3.5-sonnet":{input:3,output:15,provider:"openrouter"},"anthropic/claude-3.5-sonnet:beta":{input:3,output:15,provider:"openrouter"},"anthropic/claude-3-opus":{input:15,output:75,provider:"openrouter"},"anthropic/claude-3-sonnet":{input:3,output:15,provider:"openrouter"},"anthropic/claude-3-haiku":{input:.25,output:1.25,provider:"openrouter"},"openai/gpt-4o":{input:5,output:15,provider:"openrouter"},"openai/gpt-4o-mini":{input:.15,output:.6,provider:"openrouter"},"openai/gpt-4-turbo":{input:10,output:30,provider:"openrouter"},"openai/gpt-3.5-turbo":{input:.5,output:1.5,provider:"openrouter"},"google/gemini-pro":{input:.125,output:.375,provider:"openrouter"},"google/gemini-pro-1.5":{input:3.5,output:10.5,provider:"openrouter"},"meta-llama/llama-3.1-70b-instruct":{input:.59,output:.79,provider:"openrouter"},"meta-llama/llama-3.1-8b-instruct":{input:.06,output:.06,provider:"openrouter"},"mistralai/mistral-large":{input:2,output:6,provider:"openrouter"},"mistralai/mixtral-8x7b-instruct":{input:.24,output:.24,provider:"openrouter"},"mistralai/mistral-7b-instruct":{input:.06,output:.06,provider:"openrouter"},"anthropic.claude-opus-4-5-v1:0":{input:15,output:75,provider:"bedrock"},"anthropic.claude-opus-4-v1:0":{input:15,output:75,provider:"bedrock"},"anthropic.claude-sonnet-4-5-v2:0":{input:3,output:15,provider:"bedrock"},"anthropic.claude-sonnet-4-v1:0":{input:3,output:15,provider:"bedrock"},"anthropic.claude-3-5-haiku-v1:0":{input:1,output:5,provider:"bedrock"},"anthropic.claude-3-opus-20240229-v1:0":{input:15,output:75,provider:"bedrock"},"anthropic.claude-3-sonnet-20240229-v1:0":{input:3,output:15,provider:"bedrock"},"anthropic.claude-3-haiku-20240307-v1:0":{input:.25,output:1.25,provider:"bedrock"},"anthropic.claude-3-5-sonnet-20241022-v2:0":{input:3,output:15,provider:"bedrock"},"azure/gpt-4o":{input:5,output:15,provider:"azure-openai"},"azure/gpt-4o-mini":{input:.15,output:.6,provider:"azure-openai"},"azure/gpt-4-turbo":{input:10,output:30,provider:"azure-openai"},"azure/gpt-4":{input:30,output:60,provider:"azure-openai"},"azure/gpt-35-turbo":{input:.5,output:1.5,provider:"azure-openai"},"azure/text-embedding-ada-002":{input:.1,output:0,provider:"azure-openai"},"azure/text-embedding-3-small":{input:.02,output:0,provider:"azure-openai"},"azure/text-embedding-3-large":{input:.13,output:0,provider:"azure-openai"},"gemini-pro":{input:.5,output:1.5,provider:"gemini"},"gemini-1.0-pro":{input:.5,output:1.5,provider:"gemini"},"gemini-1.5-pro":{input:3.5,output:10.5,provider:"gemini"},"gemini-1.5-pro-latest":{input:3.5,output:10.5,provider:"gemini"},"gemini-1.5-flash":{input:.075,output:.3,provider:"gemini"},"gemini-1.5-flash-latest":{input:.075,output:.3,provider:"gemini"},"gemini-2.0-flash-exp":{input:.075,output:.3,provider:"gemini"},"gemini-ultra":{input:7,output:21,provider:"gemini"},"gemini-1.0-ultra":{input:7,output:21,provider:"gemini"},"text-embedding-004":{input:.025,output:0,provider:"gemini"}},d=class c{records=[];alerts=[];maxRecords;alertCheckInterval;constructor(t=1e4){this.maxRecords=t}static calculateCost(t,r){let e=m[t];if(!e)return{inputCost:0,outputCost:0,totalCost:0,currency:"USD"};let i=r.promptTokens/1e6*e.input,o=r.completionTokens/1e6*e.output;return{inputCost:i,outputCost:o,totalCost:i+o,currency:"USD"}}static getCostPerToken(t){let r=m[t];return r?{input:r.input/1e6,output:r.output/1e6}:{input:0,output:0}}recordUsage(t,r,e,i,o){let n=c.calculateCost(r,e),p={timestamp:new Date,provider:t,model:r,usage:e,cost:n,requestId:i,metadata:o};return this.records.push(p),this.records.length>this.maxRecords&&(this.records=this.records.slice(-this.maxRecords)),this.checkAlerts(),n}getSummary(t){let r=new Date,e=this.getPeriodStart(r,t),i=r,o=this.records.filter(s=>s.timestamp>=e&&s.timestamp<=i),n={claude:0,openai:0,ollama:0,openrouter:0,bedrock:0,"azure-openai":0,gemini:0},p={},u=0,l=0;for(let s of o)u+=s.cost.totalCost,l+=s.usage.totalTokens,n[s.provider]+=s.cost.totalCost,p[s.model]=(p[s.model]||0)+s.cost.totalCost;return{period:t,periodStart:e,periodEnd:i,totalCost:u,byProvider:n,byModel:p,totalTokens:l,totalRequests:o.length}}getCurrentCost(t){return this.getSummary(t).totalCost}getTotalTokens(t){return this.getSummary(t).totalTokens}getUsageByProvider(t,r="all"){let e=this.getPeriodStart(new Date,r),i=this.records.filter(u=>u.provider===t&&u.timestamp>=e),o={},n=0,p=0;for(let u of i)n+=u.cost.totalCost,p+=u.usage.totalTokens,o[u.model]||(o[u.model]={cost:0,tokens:0,requests:0}),o[u.model].cost+=u.cost.totalCost,o[u.model].tokens+=u.usage.totalTokens,o[u.model].requests+=1;return{totalCost:n,totalTokens:p,totalRequests:i.length,models:o}}addAlert(t,r,e){let i=`alert-${Date.now()}-${v().slice(0,12)}`;return this.alerts.push({threshold:t,period:r,onThreshold:e,active:!0}),this.alertCheckInterval||(this.alertCheckInterval=setInterval(()=>this.checkAlerts(),6e4)),i}removeAlert(t){return t>=0&&t<this.alerts.length?(this.alerts.splice(t,1),this.alerts.length===0&&this.alertCheckInterval&&(clearInterval(this.alertCheckInterval),this.alertCheckInterval=void 0),!0):!1}getRecords(){return[...this.records]}importRecords(t){for(let r of t)r.timestamp=new Date(r.timestamp),this.records.push(r);this.records.length>this.maxRecords&&(this.records=this.records.slice(-this.maxRecords))}clear(){this.records=[]}getRecentRequests(t=10){return this.records.slice(-t)}estimateCost(t,r,e){return c.calculateCost(t,{promptTokens:r,completionTokens:e,totalTokens:r+e})}wouldExceedLimit(t,r,e,i,o){let n=this.getCurrentCost(o),p=this.estimateCost(t,r,e);return n+p.totalCost>i}dispose(){this.alertCheckInterval&&(clearInterval(this.alertCheckInterval),this.alertCheckInterval=void 0)}getPeriodStart(t,r){let e=new Date(t);switch(r){case"minute":e.setSeconds(0,0),e.setMinutes(e.getMinutes()-1);break;case"hour":e.setMinutes(0,0,0),e.setHours(e.getHours()-1);break;case"day":e.setHours(0,0,0,0);break;case"week":e.setHours(0,0,0,0),e.setDate(e.getDate()-7);break;case"month":e.setHours(0,0,0,0),e.setDate(1);break;case"all":return new Date(0)}return e}checkAlerts(){for(let t of this.alerts){if(!t.active)continue;let r=this.getSummary(t.period);if(r.totalCost>=t.threshold){t.active=!1;try{t.onThreshold(r)}catch(e){console.error("Cost alert callback error:",e)}}}}},a;function h(){return a||(a=new d),a}function b(){a&&(a.dispose(),a=void 0)}export{m as a,d as b,h as c,b as d};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a as e,b as g,e as r}from"./chunk-5QQVR2PJ.js";import{c as o}from"./chunk-IFVGKXD2.js";var L=o(()=>{"use strict";e();g();r()});export{L as a};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
var u={0:{tier:0,name:"Agent Booster",description:"Mechanical code transforms via Rust/WASM",useCases:["var-to-const conversion","add-types","remove-console statements","promise-to-async","cjs-to-esm","func-to-arrow"],typicalLatencyMs:1,relativeCost:0,exampleModels:["agent-booster-wasm","agent-booster-typescript"],requiresNetwork:!1,complexityRange:[0,10]},1:{tier:1,name:"Haiku",description:"Fast, cost-effective for simple tasks",useCases:["Simple bug fixes","Code formatting","Documentation updates","Basic refactoring","Test generation (simple)"],typicalLatencyMs:500,relativeCost:1,exampleModels:["claude-3-5-haiku-20241022","gpt-4o-mini","gemini-flash"],requiresNetwork:!0,complexityRange:[10,35]},2:{tier:2,name:"Sonnet",description:"Balanced capability for complex reasoning",useCases:["Feature implementation","Complex refactoring","Security analysis","Performance optimization","Test generation (complex)"],typicalLatencyMs:3e3,relativeCost:2,exampleModels:["claude-sonnet-4-20250514","gpt-4o","gemini-pro"],requiresNetwork:!0,complexityRange:[35,70]},3:{tier:3,name:"Sonnet Extended",description:"Extended context for multi-step workflows",useCases:["Multi-file refactoring","Workflow orchestration","Cross-domain coordination","Large codebase analysis"],typicalLatencyMs:7e3,relativeCost:3,exampleModels:["claude-sonnet-4-20250514"],requiresNetwork:!0,complexityRange:[60,85]},4:{tier:4,name:"Opus",description:"Maximum capability for critical decisions",useCases:["Architecture design","Security audits","Complex algorithm design","Critical bug analysis","System-wide refactoring"],typicalLatencyMs:5e3,relativeCost:4,exampleModels:["claude-opus-4-5-20251101","gpt-4-turbo"],requiresNetwork:!0,complexityRange:[75,100]}},d={enabled:!0,tierBudgets:{0:{tier:0,maxCostPerRequest:0,maxRequestsPerHour:1e4,maxRequestsPerDay:1e5,maxDailyCostUsd:0,enabled:!0},1:{tier:1,maxCostPerRequest:.01,maxRequestsPerHour:100,maxRequestsPerDay:1e3,maxDailyCostUsd:5,enabled:!0},2:{tier:2,maxCostPerRequest:.1,maxRequestsPerHour:50,maxRequestsPerDay:500,maxDailyCostUsd:20,enabled:!0},3:{tier:3,maxCostPerRequest:.5,maxRequestsPerHour:20,maxRequestsPerDay:100,maxDailyCostUsd:30,enabled:!0},4:{tier:4,maxCostPerRequest:2,maxRequestsPerHour:10,maxRequestsPerDay:50,maxDailyCostUsd:50,enabled:!0}},maxDailyCostUsd:100,warningThreshold:.8,onBudgetExceeded:"downgrade",onBudgetWarning:"warn",allowCriticalOverrides:!0},y={budgetConfig:d,enableAgentBooster:!0,agentBoosterThreshold:.7,enableAutoRouting:!0,complexityThresholds:{0:10,1:35,2:70,3:85,4:100},allowManualOverrides:!0,enableDecisionCache:!0,decisionCacheTtlMs:300*1e3,enableMetrics:!0,maxDecisionTimeMs:10,fallbackTier:2,tierModels:{0:"agent-booster",1:"claude-3-5-haiku-20241022",2:"claude-sonnet-4-20250514",3:"claude-sonnet-4-20250514",4:"claude-opus-4-5-20251101"}},r=class extends Error{constructor(e,t,l){super(e);this.code=t;this.cause=l;this.name="ModelRouterError"}},a=class extends r{constructor(e,t,l){super(e,"BUDGET_EXCEEDED");this.tier=t;this.usage=l;this.name="BudgetExceededError"}},i=class extends r{constructor(o,e){super(o,"COMPLEXITY_ANALYSIS_ERROR",e),this.name="ComplexityAnalysisError"}},s=class extends r{constructor(e,t){super(e,"ROUTING_TIMEOUT");this.timeoutMs=t;this.name="RoutingTimeoutError"}};export{u as a,d as b,y as c,r as d,a as e,i as f,s as g};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
function o(r,t,n){let e=new Error(r);return e.name="LLMError",e.code=t,e.provider=n?.provider,e.model=n?.model,e.retryable=n?.retryable??!1,e.retryAfterMs=n?.retryAfterMs,e.cause=n?.cause,e}function i(r){return r instanceof Error&&"code"in r&&typeof r.code=="string"}export{o as a,i as b};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{b as r,d as f}from"./chunk-LLC3GJXO.js";import{a as d}from"./chunk-IFVGKXD2.js";f();import{existsSync as i,readFileSync as a}from"node:fs";import{join as s}from"node:path";import{execSync as p}from"node:child_process";var c=null,u=0,g=6e4;function F(){c=null,u=0}function x(e){if(c&&Date.now()-u<g)return c;let n=m(e);return c=n,u=Date.now(),n}function m(e){let n=w(e);if(n)return n;let o=h(e);if(o)return o;let t=v(e);return t||{available:!1}}function w(e){let n=s(e,".claude","mcp.json");if(i(n))try{let t=r(a(n,"utf-8"));if(t.mcpServers?.ruflo||t.mcpServers?.["claude-flow"])return{available:!0,method:"mcp-config"}}catch{}let o=s(e,".claude","settings.json");if(i(o))try{let t=r(a(o,"utf-8")),l=t.mcpServers||t.mcp?.servers||{};if(l.ruflo||l["claude-flow"]||l["@anthropic/claude-flow"])return{available:!0,method:"mcp-config"}}catch{}return null}function h(e){let n=s(e,"package.json");if(!i(n))return null;try{let o=r(a(n,"utf-8")),t={...o.dependencies,...o.devDependencies};if(t.ruflo||t["@claude-flow/cli"]||t["claude-flow"])return{available:!0,method:"npm-dependency"}}catch{}return null}function v(e){for(let n of["ruflo","@claude-flow/cli"])try{return{available:!0,method:"npx-cached",version:p(`npx --no-install ${n} --version`,{encoding:"utf-8",timeout:5e3,cwd:e,stdio:["pipe","pipe","pipe"]}).trim().match(/\d+\.\d+\.\d+[\w.-]*/)?.[0]}}catch{}return null}function b(){for(let e of["ruflo","@claude-flow/cli"])try{return d.resolve(`${e}/package.json`),e}catch{}return"ruflo"}function S(){return[" Claude Flow not found \u2014 running in standalone mode.",""," Claude Flow adds optional features:"," - SONA trajectory tracking (reinforcement learning)"," - 3-tier model routing (haiku / sonnet / opus)"," - Codebase pretrain analysis",""," To install later:"," npm install -g ruflo"," claude mcp add ruflo -- npx -y ruflo@3.5.18"," aqe init --auto --with-claude-flow"].join(`
|
|
3
|
-
`)}export{F as a,x as b,b as c,S as d};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
var t=["claude","openai","ollama","openrouter","gemini","azure-openai","bedrock","onnx"];var e={maxAttempts:3,delayMs:100,trySameProviderAlternateModel:!0,skipOpenCircuits:!0,retryableErrors:["RATE_LIMITED","TIMEOUT","NETWORK_ERROR","PROVIDER_UNAVAILABLE"]},r=[{provider:"claude",models:["claude-sonnet-4-20250514","claude-3-5-haiku-20241022"],enabled:!0,priority:100,maxAttempts:2,timeoutMs:3e4},{provider:"openai",models:["gpt-4o","gpt-4o-mini"],enabled:!0,priority:90,maxAttempts:2,timeoutMs:3e4},{provider:"openrouter",models:["anthropic/claude-sonnet-4","openai/gpt-4o"],enabled:!0,priority:85,maxAttempts:2,timeoutMs:3e4},{provider:"ollama",models:["llama3.1","mistral"],enabled:!0,priority:80,maxAttempts:2,timeoutMs:6e4},{provider:"onnx",models:["phi-4","all-MiniLM-L6-v2"],enabled:!0,priority:70,maxAttempts:1,timeoutMs:12e4}],o={id:"default-fallback-chain",entries:r,maxRetries:3,retryDelayMs:100,backoffMultiplier:2,maxDelayMs:5e3},n={mode:"rule-based",rules:[],defaultProvider:"claude",defaultModel:"claude-sonnet-4-20250514",fallbackChain:o,fallbackBehavior:e,providers:{claude:{enabled:!0,defaultModel:"claude-sonnet-4-20250514"},openai:{enabled:!0,defaultModel:"gpt-4o"},ollama:{enabled:!0,defaultModel:"llama3.1"},openrouter:{enabled:!0,defaultModel:"anthropic/claude-sonnet-4"},gemini:{enabled:!1,defaultModel:"gemini-pro"},"azure-openai":{enabled:!1},bedrock:{enabled:!1},onnx:{enabled:!0,defaultModel:"phi-4"}},enableMetrics:!0,metricsConfig:{enabled:!0,collectionIntervalMs:6e4,retentionMs:864e5,trackPerRequest:!0},maxDecisionTimeMs:10,cacheDecisions:!0,decisionCacheTtlMs:6e4,cacheConfig:{enabled:!0,ttlMs:6e4,maxEntries:1e3,keyStrategy:"agent-domain"},auditConfig:{enabled:!0,maxEntries:1e4,logContent:!1,logResponse:!1}},a=[{canonicalId:"claude-opus-4.5",canonicalName:"Claude Opus 4.5",providerIds:{claude:"claude-opus-4-5-20251101",openrouter:"anthropic/claude-opus-4.5",bedrock:"anthropic.claude-opus-4-5-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!0,supportsVision:!0,supportsExtendedThinking:!0,supportsJsonMode:!0,maxContextTokens:2e5,maxOutputTokens:32e3},tier:"flagship",family:"claude",inputCostPer1M:15,outputCostPer1M:75},{canonicalId:"claude-sonnet-4",canonicalName:"Claude Sonnet 4",providerIds:{claude:"claude-sonnet-4-20250514",openrouter:"anthropic/claude-sonnet-4",bedrock:"anthropic.claude-sonnet-4-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!0,supportsVision:!0,supportsExtendedThinking:!0,supportsJsonMode:!0,maxContextTokens:2e5,maxOutputTokens:64e3},tier:"advanced",family:"claude",inputCostPer1M:3,outputCostPer1M:15},{canonicalId:"claude-haiku-3.5",canonicalName:"Claude Haiku 3.5",providerIds:{claude:"claude-3-5-haiku-20241022",openrouter:"anthropic/claude-3.5-haiku",bedrock:"anthropic.claude-3-5-haiku-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:2e5,maxOutputTokens:8192},tier:"standard",family:"claude",inputCostPer1M:.8,outputCostPer1M:4},{canonicalId:"gpt-4o",canonicalName:"GPT-4o",providerIds:{openai:"gpt-4o","azure-openai":"gpt-4o",openrouter:"openai/gpt-4o"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:128e3,maxOutputTokens:16384},tier:"advanced",family:"gpt",inputCostPer1M:2.5,outputCostPer1M:10},{canonicalId:"gpt-4o-mini",canonicalName:"GPT-4o Mini",providerIds:{openai:"gpt-4o-mini","azure-openai":"gpt-4o-mini",openrouter:"openai/gpt-4o-mini"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:128e3,maxOutputTokens:16384},tier:"standard",family:"gpt",inputCostPer1M:.15,outputCostPer1M:.6},{canonicalId:"gemini-pro",canonicalName:"Gemini 2.0 Pro",providerIds:{gemini:"gemini-2.0-pro",openrouter:"google/gemini-2.0-pro"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:2e6,maxOutputTokens:8192},tier:"advanced",family:"gemini",inputCostPer1M:1.25,outputCostPer1M:5},{canonicalId:"llama-3.1-70b",canonicalName:"LLaMA 3.1 70B",providerIds:{ollama:"llama3.1:70b",openrouter:"meta-llama/llama-3.1-70b",bedrock:"meta.llama3-1-70b-instruct-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!1,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:128e3,maxOutputTokens:4096},tier:"advanced",family:"llama",inputCostPer1M:.9,outputCostPer1M:.9},{canonicalId:"phi-4",canonicalName:"Microsoft Phi-4",providerIds:{ollama:"phi4",onnx:"phi-4",openrouter:"microsoft/phi-4"},capabilities:{supportsStreaming:!0,supportsTools:!1,supportsMCP:!1,supportsVision:!1,supportsExtendedThinking:!1,supportsJsonMode:!1,maxContextTokens:16e3,maxOutputTokens:4096,requiresNetwork:!1},tier:"efficient",family:"phi",inputCostPer1M:0,outputCostPer1M:0}];export{t as a,n as b,a as c};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{b as p}from"./chunk-IURQ4SKQ.js";import{b as f,d as h}from"./chunk-LLC3GJXO.js";import{a as c,c as b}from"./chunk-YSNVBAUR.js";import{a as v}from"./chunk-IFVGKXD2.js";h();b();import{existsSync as u,writeFileSync as g,readFileSync as m}from"node:fs";import{join as a}from"node:path";import{execSync as C}from"node:child_process";async function y(t,e){let o=p(t);if(e&&o.available&&console.log(`[ClaudeFlow] Detected via ${o.method}${o.version?`: v${o.version}`:""}`),!o.available)return{available:!1};let n={"mcp-config":"mcp","local-binary":"cli","npx-cached":"cli","npm-dependency":"npm"};return{available:!0,version:o.version,method:o.method?n[o.method]:void 0}}async function F(t){return{trajectories:!0,modelRouting:!0,pretrain:!0,workers:!0,patternSearch:!0}}function S(t,e){return{version:"1.0",projectRoot:t,integration:{enabled:!0,features:{trajectories:e.trajectories,modelRouting:e.modelRouting,pretrain:e.pretrain,workers:e.workers}},learning:{trajectoryStorage:e.trajectories?"claude-flow":"local",patternSearch:e.patternSearch?"claude-flow":"local"},routing:{modelRouting:e.modelRouting?"claude-flow":"rule-based",preferences:{simple:"haiku",standard:"sonnet",complex:"opus"}},pretrain:{enabled:e.pretrain,depth:"medium",autoRun:!0},workers:{enabled:e.workers,autoDispatch:["optimize","consolidate"]}}}function R(t){let e=a(t,".claude","settings.json"),o={};if(u(e))try{o=f(m(e,"utf-8"))}catch{}o.mcpServers||(o.mcpServers={});let n=o.mcpServers;!n.ruflo&&!n["claude-flow"]&&(n.ruflo={command:"npx",args:["ruflo@3.5.18","mcp"],env:{}}),g(e,JSON.stringify(o,null,2))}async function j(t,e){try{e&&console.log("[ClaudeFlow] Running pretrain analysis..."),C("npx --no-install ruflo hooks pretrain --depth medium",{encoding:"utf-8",timeout:12e4,cwd:t,stdio:["pipe","pipe","pipe"]}),e&&console.log("[ClaudeFlow] Pretrain analysis complete")}catch(o){e&&console.log("[ClaudeFlow] Pretrain analysis skipped:",c(o))}}async function D(t){let{projectRoot:e,force:o,checkOnly:n,debug:s}=t,r=await y(e,s);if(!r.available&&!o)return{available:!1,features:{trajectories:!1,modelRouting:!1,pretrain:!1,workers:!1,patternSearch:!1}};let i=await F(e);if(n)return{available:r.available,version:r.version,features:i};let w=a(e,".agentic-qe"),d=a(w,"claude-flow-integration.json");try{let l=S(e,i);g(d,JSON.stringify(l,null,2)),s&&console.log(`[ClaudeFlow] Config written to: ${d}`)}catch(l){return{available:r.available,version:r.version,features:i,error:`Failed to write config: ${c(l)}`}}try{R(e)}catch(l){s&&console.log("[ClaudeFlow] MCP config update failed:",c(l))}return i.pretrain&&await j(e,s),{available:!0,version:r.version,features:i,configPath:d}}function J(t){let e=a(t,".agentic-qe","claude-flow-integration.json");return u(e)}function N(t){let e=a(t,".agentic-qe","claude-flow-integration.json");if(!u(e))return null;try{return f(m(e,"utf-8"))}catch{return null}}function I(t){let e=a(t,".agentic-qe","claude-flow-integration.json");if(u(e))try{return v("node:fs").rmSync(e),!0}catch{return!1}return!0}export{N as getClaudeFlowConfig,J as isClaudeFlowConfigured,I as removeClaudeFlowIntegration,D as setupClaudeFlowIntegration};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{c as a,d as b,e as c}from"./chunk-R5FOT2GW.js";import"./chunk-K33CP3M4.js";import"./chunk-YSNVBAUR.js";import"./chunk-IFVGKXD2.js";c();export{a as VibiumClientImpl,b as VibiumClientProvider};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b}from"./chunk-F2OCIVD2.js";import"./chunk-CL6NRSRJ.js";import"./chunk-G3XXEPHS.js";import"./chunk-L4TU4IIE.js";import"./chunk-IFVGKXD2.js";export{a as CrossDomainEventRouter,b as createCrossDomainRouter};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u}from"./chunk-YIZNQK5R.js";import"./chunk-P6O43I72.js";import"./chunk-TSXTP4MO.js";import"./chunk-XIJ6LU5G.js";import"./chunk-HGPK3IIX.js";import"./chunk-QEBXLE7N.js";import"./chunk-VQIBPHLI.js";import"./chunk-JG6GFIR4.js";import"./chunk-7BYZSHCI.js";import"./chunk-KFNPCKTB.js";import"./chunk-IURQ4SKQ.js";import"./chunk-TIKBMCDQ.js";import"./chunk-5RDXUTEB.js";import"./chunk-7WTKRSJW.js";import"./chunk-2DSXKIGI.js";import"./chunk-Z5CFWIET.js";import"./chunk-NMJFMH4E.js";import"./chunk-C3W4M7UY.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import"./chunk-LLC3GJXO.js";import"./chunk-G3XXEPHS.js";import"./chunk-YSNVBAUR.js";import"./chunk-L4TU4IIE.js";import"./chunk-44P37G45.js";import"./chunk-XS7YNHNG.js";import"./chunk-2SPDBBGB.js";import"./chunk-F57L5LEP.js";import"./chunk-QWWYIHND.js";import"./chunk-RRCFW2M3.js";import"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";export{t as BUILT_IN_STRATEGIES,b as ConceptGraph,g as DEFAULT_ACTIVATION_CONFIG,a as DEFAULT_CONCEPT_GRAPH_CONFIG,m as DEFAULT_DREAM_CONFIG,q as DEFAULT_DREAM_SCHEDULER_CONFIG,i as DEFAULT_INSIGHT_CONFIG,k as DEFAULT_VALIDATION_THRESHOLDS,n as DreamEngine,r as DreamScheduler,f as HISTORY_TRIM_TARGET_RATIO,j as InsightGenerator,d as MAX_ACTIVATION_HISTORY_ENTRIES,e as MAX_COACTIVATION_ENTRIES,l as RVCOWBranchManager,u as SpeculativeDreamer,h as SpreadingActivation,c as createConceptGraph,o as createDreamEngine,s as createDreamScheduler,p as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f,g,h,i}from"./chunk-L4TU4IIE.js";import"./chunk-IFVGKXD2.js";export{h as NIL,d as parse,b as stringify,c as v1,e as v3,f as v4,g as v5,a as validate,i as version};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,c as b}from"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";b();export{a as HnswAdapter};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b,c,d}from"./chunk-W2CIYDNQ.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import"./chunk-F57L5LEP.js";import"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";export{a as DEFAULT_HNSW_CONFIG,b as HNSWIndex,d as benchmarkHNSW,c as createHNSWIndex};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a as k,b as O}from"./chunk-GEXHAKJ3.js";import{a as h,b as z}from"./chunk-JDJRCINX.js";import{a as P}from"./chunk-5Z3K47TT.js";import{b as S,c as F}from"./chunk-YSNVBAUR.js";import{f as I}from"./chunk-L4TU4IIE.js";import"./chunk-IFVGKXD2.js";var g={heavyweight:{requiresReasoning:!0,requiresTools:!0,requiresVision:!1,requiresExtendedThinking:!0,requiresJsonMode:!0,minContextSize:1e5,costSensitivity:"low",latencySensitivity:"low"},standard:{requiresReasoning:!0,requiresTools:!0,requiresVision:!1,requiresExtendedThinking:!1,requiresJsonMode:!0,minContextSize:5e4,costSensitivity:"medium",latencySensitivity:"medium"},lightweight:{requiresReasoning:!1,requiresTools:!0,requiresVision:!1,requiresExtendedThinking:!1,requiresJsonMode:!0,minContextSize:16e3,costSensitivity:"medium",latencySensitivity:"high"},minimal:{requiresReasoning:!1,requiresTools:!1,requiresVision:!1,requiresExtendedThinking:!1,requiresJsonMode:!1,minContextSize:4e3,costSensitivity:"high",latencySensitivity:"medium"}},G={security:g.heavyweight,"test-generation":g.standard,"code-analysis":g.standard,learning:g.standard,performance:{...g.lightweight,costSensitivity:"high"},coordination:g.lightweight,general:{...g.lightweight,requiresJsonMode:!1,latencySensitivity:"medium"},documentation:{...g.minimal,minContextSize:16e3},simple:g.minimal};var v=class{rules=[];constructor(e=[]){this.setRules(e)}setRules(e){this.rules=[...e].filter(t=>t.enabled).sort((t,r)=>r.priority-t.priority)}getRules(){return[...this.rules]}addRule(e){this.rules.push(e),this.rules=this.rules.filter(t=>t.enabled).sort((t,r)=>r.priority-t.priority)}removeRule(e){let t=this.rules.findIndex(r=>r.id===e);return t>=0?(this.rules.splice(t,1),!0):!1}setRuleEnabled(e,t){let r=this.rules.find(i=>i.id===e);return r?(r.enabled=t,this.rules=this.rules.filter(i=>i.enabled).sort((i,o)=>o.priority-i.priority),!0):!1}evaluate(e){let t=0;for(let r of this.rules)if(t++,this.matchesCondition(e,r.condition))return{rule:r,rulesEvaluated:t};return null}evaluateAll(e){return this.rules.filter(t=>this.matchesCondition(e,t.condition))}matchesCondition(e,t){if(t.agentType!==void 0&&(!e.agentType||!t.agentType.includes(e.agentType))||t.requiresTools!==void 0&&!!e.requiresTools!==t.requiresTools)return!1;if(t.complexity!==void 0){let r=Array.isArray(t.complexity)?t.complexity:[t.complexity];if(!e.complexity||!r.includes(e.complexity))return!1}if(t.localOnly!==void 0&&t.localOnly){let r=["ollama","onnx"];if(e.preferredProvider&&!r.includes(e.preferredProvider))return!1}if(t.requiresReasoning!==void 0&&t.requiresReasoning&&e.complexity==="low")return!1;if(t.tokenRange!==void 0){let r=this.estimateTokens(e);if(t.tokenRange.min!==void 0&&r<t.tokenRange.min||t.tokenRange.max!==void 0&&r>t.tokenRange.max)return!1}return!(t.requiredCapabilities!==void 0&&t.requiredCapabilities.length>0&&(!e.requiredCapabilities||e.requiredCapabilities.length===0||!t.requiredCapabilities.every(i=>e.requiredCapabilities.includes(i)))||t.custom!==void 0&&!t.custom(e))}estimateTokens(e){let t=0;e.systemPrompt&&(t+=Math.ceil(e.systemPrompt.length/4));for(let r of e.messages)t+=Math.ceil(r.content.length/4);return t}},x=[{id:"security-agents-opus",name:"Security Agents to Claude Opus",description:"Route security-critical agents to Claude Opus for best security analysis",condition:{agentType:["security-auditor","security-architect","v3-qe-security-scanner"]},action:{provider:"claude",model:"claude-opus-4-5-20251101",temperature:.1},enabled:!0,priority:100},{id:"test-gen-with-tools",name:"Test Generation with Tools",description:"Route test generation requests that need tools to Claude Sonnet",condition:{agentType:["v3-qe-test-generator","tester"],requiresTools:!0},action:{provider:"claude",model:"claude-sonnet-4-20250514",temperature:.3},enabled:!0,priority:95},{id:"high-complexity-reasoning",name:"High Complexity Reasoning",description:"Route high complexity tasks requiring reasoning to advanced models",condition:{complexity:"high",requiresReasoning:!0},action:{provider:"claude",model:"claude-opus-4-5-20251101",temperature:.2},enabled:!0,priority:90},{id:"code-analysis-agents",name:"Code Analysis Agents",description:"Route code analysis to Claude Sonnet for balanced performance",condition:{agentType:["code-analyzer","v3-qe-code-intelligence","reviewer"]},action:{provider:"claude",model:"claude-sonnet-4-20250514",temperature:.2},enabled:!0,priority:85},{id:"coverage-analysis",name:"Coverage Analysis Agents",description:"Route coverage analysis to efficient models",condition:{agentType:["v3-qe-coverage-analyzer"]},action:{provider:"claude",model:"claude-sonnet-4-20250514",temperature:.1},enabled:!0,priority:80},{id:"defect-prediction",name:"Defect Prediction Agents",description:"Route defect prediction to capable models",condition:{agentType:["v3-qe-defect-predictor"]},action:{provider:"claude",model:"claude-sonnet-4-20250514",temperature:.3},enabled:!0,priority:75},{id:"medium-complexity",name:"Medium Complexity Tasks",description:"Route medium complexity to balanced Claude Sonnet",condition:{complexity:"medium"},action:{provider:"claude",model:"claude-sonnet-4-20250514",temperature:.3},enabled:!0,priority:60},{id:"low-complexity-haiku",name:"Low Complexity to Haiku",description:"Route low complexity tasks to Haiku for cost efficiency",condition:{complexity:"low"},action:{provider:"claude",model:"claude-3-5-haiku-20241022",temperature:.3},enabled:!0,priority:50},{id:"local-only-ollama",name:"Local Only Requests",description:"Route local-only requests to Ollama",condition:{localOnly:!0},action:{provider:"ollama",model:"llama3.1",temperature:.3},enabled:!0,priority:40},{id:"small-requests-haiku",name:"Small Token Requests",description:"Route small requests to Haiku for efficiency",condition:{tokenRange:{max:500}},action:{provider:"claude",model:"claude-3-5-haiku-20241022",temperature:.3},enabled:!0,priority:30}];import{randomUUID as _}from"crypto";var f=class{decisions=[];providerCalls=[];fallbacks=[];cacheHits=0;cacheMisses=0;startTime=new Date;maxRecords;maxCallRecords;constructor(e={}){this.maxRecords=e.maxRecords??1e4,this.maxCallRecords=e.maxCallRecords??5e3}recordRoutingDecision(e,t,r={}){let i={id:`rd-${Date.now()}-${_().slice(0,8)}`,timestamp:new Date,provider:e.providerType,model:e.model,mode:this.inferMode(e.reason),reason:e.reason,latencyMs:t,decisionTimeMs:e.metadata.decisionTimeMs,agentType:r.agentType,success:r.success??!0,tokenUsage:r.tokenUsage,cost:r.cost,wasFallback:e.reason==="fallback",ruleId:e.matchedRule?.id};this.decisions.push(i),this.trimRecords()}recordProviderCall(e,t,r,i,o={}){let n=o.inputTokens??Math.floor(i*.7),c=o.outputTokens??i-n,a={timestamp:new Date,provider:e,model:t,latencyMs:r,inputTokens:n,outputTokens:c,totalTokens:i,success:o.success??!0,cost:o.cost,agentType:o.agentType};this.providerCalls.push(a),this.trimCallRecords()}recordFallback(e,t,r,i){let o={timestamp:new Date,fromProvider:e,toProvider:t,reason:r,agentType:i};this.fallbacks.push(o),this.fallbacks.length>1e3&&(this.fallbacks=this.fallbacks.slice(-1e3))}recordCacheHit(){this.cacheHits++}recordCacheMiss(){this.cacheMisses++}getMetrics(e="all"){let t=this.getWindowStart(e),r=this.filterByTime(this.decisions,t),i=this.filterByTime(this.providerCalls,t),o=this.filterByTime(this.fallbacks,t),n=this.calculateProviderMetrics(r,i),c=this.calculateAgentMetrics(r,i),a=r.map(u=>u.decisionTimeMs),s=r.length,l=this.countByMode(r),d=r.filter(u=>u.wasFallback).length,m=r.filter(u=>u.ruleId).length;return{byProvider:Object.fromEntries(n),byAgentType:c,totalDecisions:s,decisionsByMode:l,avgDecisionTimeMs:this.average(a),p95DecisionTimeMs:this.percentile(a,95),p99DecisionTimeMs:this.percentile(a,99),fallbackRate:s>0?d/s:0,ruleMatchRate:s>0?m/s:0,estimatedCostSavings:this.calculateCostSavings(r),ruleStats:{totalEvaluated:r.reduce((u,y)=>u+1,0),matched:m,avgRulesPerDecision:1},cacheStats:{hits:this.cacheHits,misses:this.cacheMisses,hitRate:this.cacheHits+this.cacheMisses>0?this.cacheHits/(this.cacheHits+this.cacheMisses):0},period:{start:t,end:new Date},recentDecisions:r.slice(-50),fallbackStats:this.calculateFallbackStats(o)}}getMetricsByProvider(e){let t=this.decisions.filter(a=>a.provider===e),r=this.providerCalls.filter(a=>a.provider===e),i=r.map(a=>a.latencyMs),o=t.map(a=>a.decisionTimeMs),n=r.filter(a=>a.success),c=r.filter(a=>!a.success);return{provider:e,selectionCount:t.length,ruleMatchCount:t.filter(a=>a.ruleId).length,fallbackCount:t.filter(a=>a.wasFallback).length,avgDecisionTimeMs:this.average(o),successRate:r.length>0?n.length/r.length:1,avgLatencyMs:this.average(i),p95LatencyMs:this.percentile(i,95),p99LatencyMs:this.percentile(i,99),totalCost:r.reduce((a,s)=>a+(s.cost??0),0),totalTokens:r.reduce((a,s)=>a+s.totalTokens,0),totalInputTokens:r.reduce((a,s)=>a+s.inputTokens,0),totalOutputTokens:r.reduce((a,s)=>a+s.outputTokens,0),circuitState:"closed",latencyHistogram:i.slice(-100),decisionTimeHistogram:o.slice(-100),errorCount:c.length,lastError:c.length>0?c[c.length-1].timestamp:void 0,recentCalls:r.slice(-20)}}getMetricsByAgentType(e){let t=this.decisions.filter(s=>s.agentType===e),r=this.providerCalls.filter(s=>s.agentType===e),i=new Map,o=new Map;for(let s of t)i.set(s.provider,(i.get(s.provider)??0)+1),o.set(s.model,(o.get(s.model)??0)+1);let n=r.map(s=>s.latencyMs),c=t.filter(s=>s.wasFallback).length,a=t.filter(s=>s.success).length;return{agentType:e,totalDecisions:t.length,providerDistribution:i,modelDistribution:o,avgLatencyMs:this.average(n),totalCost:r.reduce((s,l)=>s+(l.cost??0),0),totalTokens:r.reduce((s,l)=>s+l.totalTokens,0),fallbackRate:t.length>0?c/t.length:0,successRate:t.length>0?a/t.length:1}}getAuditLog(e={}){let t=this.decisions;e.since&&(t=t.filter(i=>i.timestamp>=e.since)),e.provider&&(t=t.filter(i=>i.provider===e.provider)),e.agentType&&(t=t.filter(i=>i.agentType===e.agentType));let r=e.limit??100;return t.slice(-r).map(i=>({id:i.id,timestamp:i.timestamp,context:{agentType:i.agentType},decision:{providerType:i.provider,model:i.model,providerModelId:i.model,reason:i.reason,confidence:1,metadata:{decisionTimeMs:i.decisionTimeMs,timestamp:i.timestamp}},outcome:{success:i.success,latencyMs:i.latencyMs,tokenUsage:i.tokenUsage,cost:i.cost}}))}resetMetrics(){this.decisions=[],this.providerCalls=[],this.fallbacks=[],this.cacheHits=0,this.cacheMisses=0,this.startTime=new Date}inferMode(e){switch(e){case"manual":return"manual";case"rule-match":return"rule-based";case"cost-optimization":return"cost-optimized";case"performance-optimization":return"performance-optimized";default:return"rule-based"}}trimRecords(){this.decisions.length>this.maxRecords&&(this.decisions=this.decisions.slice(-this.maxRecords))}trimCallRecords(){this.providerCalls.length>this.maxCallRecords&&(this.providerCalls=this.providerCalls.slice(-this.maxCallRecords))}getWindowStart(e){let t=new Date;switch(e){case"1m":return new Date(t.getTime()-60*1e3);case"5m":return new Date(t.getTime()-300*1e3);case"15m":return new Date(t.getTime()-900*1e3);case"1h":return new Date(t.getTime()-3600*1e3);case"24h":return new Date(t.getTime()-1440*60*1e3);case"7d":return new Date(t.getTime()-10080*60*1e3);default:return this.startTime}}filterByTime(e,t){return e.filter(r=>r.timestamp>=t)}calculateProviderMetrics(e,t){let r=new Map;for(let i of h){let o=e.filter(l=>l.provider===i),n=t.filter(l=>l.provider===i);if(o.length===0&&n.length===0)continue;let c=n.map(l=>l.latencyMs),a=o.map(l=>l.decisionTimeMs),s=n.filter(l=>l.success);r.set(i,{provider:i,selectionCount:o.length,ruleMatchCount:o.filter(l=>l.ruleId).length,fallbackCount:o.filter(l=>l.wasFallback).length,avgDecisionTimeMs:this.average(a),successRate:n.length>0?s.length/n.length:1,avgLatencyMs:this.average(c),p95LatencyMs:this.percentile(c,95),p99LatencyMs:this.percentile(c,99),totalCost:n.reduce((l,d)=>l+(d.cost??0),0),totalTokens:n.reduce((l,d)=>l+d.totalTokens,0),circuitState:"closed"})}return r}calculateAgentMetrics(e,t){let r=new Set;e.forEach(o=>o.agentType&&r.add(o.agentType)),t.forEach(o=>o.agentType&&r.add(o.agentType));let i=new Map;for(let o of r)i.set(o,this.getMetricsByAgentType(o));return i}countByMode(e){let t={manual:0,"rule-based":0,"cost-optimized":0,"performance-optimized":0};for(let r of e)t[r.mode]++;return t}calculateFallbackStats(e){let t=new Map,r=new Map;for(let i of e)t.set(i.fromProvider,(t.get(i.fromProvider)??0)+1),r.set(i.reason,(r.get(i.reason)??0)+1);return{total:e.length,byProvider:t,byReason:r}}calculateCostSavings(e){return e.reduce((t,r)=>r.cost&&r.mode==="cost-optimized"?t+r.cost.totalCost*.2:t,0)}average(e){return e.length===0?0:e.reduce((t,r)=>t+r,0)/e.length}percentile(e,t){if(e.length===0)return 0;let r=[...e].sort((o,n)=>o-n),i=Math.ceil(t/100*r.length)-1;return r[Math.max(0,i)]}};function w(p){return new f(p)}var C=class{records=[];alerts=[];maxRecords;alertCheckInterval;constructor(e={}){this.maxRecords=e.maxRecords??1e4}recordCost(e,t,r,i,o={}){let n=this.calculateCost(t,r,i),c={timestamp:new Date,provider:e,model:t,inputTokens:r,outputTokens:i,inputCost:n.inputCost,outputCost:n.outputCost,totalCost:n.totalCost,agentType:o.agentType,requestId:o.requestId};return this.records.push(c),this.trimRecords(),this.checkAlerts(),c}recordCostFromInfo(e,t,r,i,o={}){let n={timestamp:new Date,provider:e,model:t,inputTokens:r.promptTokens,outputTokens:r.completionTokens,inputCost:i.inputCost,outputCost:i.outputCost,totalCost:i.totalCost,agentType:o.agentType,requestId:o.requestId};return this.records.push(n),this.trimRecords(),this.checkAlerts(),n}getCostByProvider(e="all"){let t=this.getPeriodStart(e),r=this.filterByTime(t),i=new Map;for(let o of h){let n=r.filter(s=>s.provider===o);if(n.length===0)continue;let c=n.reduce((s,l)=>s+l.totalCost,0),a=n.reduce((s,l)=>s+l.inputTokens+l.outputTokens,0);i.set(o,{totalCost:c,totalTokens:a,totalRequests:n.length,avgCostPerRequest:c/n.length,avgCostPerToken:a>0?c/a:0})}return i}getCostByAgentType(e="all"){let t=this.getPeriodStart(e),r=this.filterByTime(t),i=new Set;r.forEach(c=>c.agentType&&i.add(c.agentType));let o=new Map;for(let c of i){let a=r.filter(d=>d.agentType===c),s=a.reduce((d,m)=>d+m.totalCost,0),l=a.reduce((d,m)=>d+m.inputTokens+m.outputTokens,0);o.set(c,{totalCost:s,totalTokens:l,totalRequests:a.length,avgCostPerRequest:a.length>0?s/a.length:0,avgCostPerToken:l>0?s/l:0})}let n=r.filter(c=>!c.agentType);if(n.length>0){let c=n.reduce((s,l)=>s+l.totalCost,0),a=n.reduce((s,l)=>s+l.inputTokens+l.outputTokens,0);o.set("unknown",{totalCost:c,totalTokens:a,totalRequests:n.length,avgCostPerRequest:c/n.length,avgCostPerToken:a>0?c/a:0})}return o}getCostByModel(e="all"){let t=this.getPeriodStart(e),r=this.filterByTime(t),i=new Set;r.forEach(n=>i.add(n.model));let o=new Map;for(let n of i){let c=r.filter(l=>l.model===n),a=c.reduce((l,d)=>l+d.totalCost,0),s=c.reduce((l,d)=>l+d.inputTokens+d.outputTokens,0);o.set(n,{totalCost:a,totalTokens:s,totalRequests:c.length,avgCostPerRequest:c.length>0?a/c.length:0,avgCostPerToken:s>0?a/s:0})}return o}getTotalCost(e="all"){let t=this.getPeriodStart(e);return this.filterByTime(t).reduce((i,o)=>i+o.totalCost,0)}getCostTrend(e){let t=new Date,r=[],i,o;switch(e){case"1h":i=300*1e3,o=12;break;case"24h":i=3600*1e3,o=24;break;case"7d":i=1440*60*1e3,o=7;break}for(let n=o-1;n>=0;n--){let c=new Date(t.getTime()-n*i),a=new Date(c.getTime()-i),s=this.records.filter(l=>l.timestamp>=a&&l.timestamp<c);r.push({timestamp:c,cost:s.reduce((l,d)=>l+d.totalCost,0),tokens:s.reduce((l,d)=>l+d.inputTokens+d.outputTokens,0),requests:s.length})}return r}addBudgetAlert(e,t,r){let i={threshold:e,period:t,callback:r,active:!0};return this.alerts.push(i),this.alertCheckInterval||(this.alertCheckInterval=setInterval(()=>this.checkAlerts(),6e4)),`alert-${this.alerts.length-1}`}removeBudgetAlert(e){return e>=0&&e<this.alerts.length?(this.alerts.splice(e,1),this.alerts.length===0&&this.alertCheckInterval&&(clearInterval(this.alertCheckInterval),this.alertCheckInterval=void 0),!0):!1}getOptimizationSuggestions(){let e=[],t=this.getCostByModel("24h");for(let[n,c]of t)P[n]&&c.totalCost>1&&(n.includes("opus")&&e.push({type:"model-switch",description:"Consider using Sonnet instead of Opus for non-critical tasks",estimatedSavings:c.totalCost*.5,currentCost:c.totalCost,suggestedModel:"claude-sonnet-4-20250514"}),n==="gpt-4o"&&e.push({type:"model-switch",description:"Consider using GPT-4o-mini for simpler tasks",estimatedSavings:c.totalCost*.7,currentCost:c.totalCost,suggestedModel:"gpt-4o-mini"}));let r=this.getCostByProvider("24h"),i=[...r.values()].reduce((n,c)=>n+c.totalCost,0);return i>10&&!r.has("ollama")&&e.push({type:"provider-switch",description:"Consider using Ollama for development/testing workloads",estimatedSavings:i*.3,currentCost:i,suggestedProvider:"ollama"}),[...t.values()].reduce((n,c)=>n+c.totalRequests,0)>100&&e.push({type:"caching",description:"Enable response caching to reduce redundant API calls",estimatedSavings:i*.15,currentCost:i}),e}getRecords(){return[...this.records]}clear(){this.records=[]}reset(){this.records=[],this.alerts=[],this.alertCheckInterval&&(clearInterval(this.alertCheckInterval),this.alertCheckInterval=void 0)}dispose(){this.alertCheckInterval&&(clearInterval(this.alertCheckInterval),this.alertCheckInterval=void 0)}calculateCost(e,t,r){let i=P[e];if(!i)return{inputCost:0,outputCost:0,totalCost:0,currency:"USD"};let o=t/1e6*i.input,n=r/1e6*i.output;return{inputCost:o,outputCost:n,totalCost:o+n,currency:"USD"}}trimRecords(){this.records.length>this.maxRecords&&(this.records=this.records.slice(-this.maxRecords))}getPeriodStart(e){let t=new Date;switch(e){case"1h":return new Date(t.getTime()-3600*1e3);case"24h":return new Date(t.getTime()-1440*60*1e3);case"7d":return new Date(t.getTime()-10080*60*1e3);case"30d":return new Date(t.getTime()-720*60*60*1e3);default:return new Date(0)}}filterByTime(e){return this.records.filter(t=>t.timestamp>=e)}checkAlerts(){for(let e of this.alerts){if(!e.active)continue;let t=this.getTotalCost(e.period);if(t>=e.threshold){e.active=!1;let r=this.getPeriodStart(e.period),i=this.filterByTime(r),o=i.reduce((n,c)=>n+c.inputTokens+c.outputTokens,0);try{e.callback({totalCost:t,totalTokens:o,totalRequests:i.length,avgCostPerRequest:i.length>0?t/i.length:0,avgCostPerToken:o>0?t/o:0})}catch(n){console.error("Budget alert callback error:",n)}}}}};function A(p){return new C(p)}F();var D={"claude-sonnet-4-5":{canonical:"Claude Sonnet 4.5",family:"claude",tier:"standard",providers:{anthropic:"claude-sonnet-4-5-20250929",openrouter:"anthropic/claude-sonnet-4.5",bedrock:"anthropic.claude-sonnet-4-5-v2:0"}},"claude-opus-4":{canonical:"Claude Opus 4",family:"claude",tier:"flagship",providers:{anthropic:"claude-opus-4-20250514",openrouter:"anthropic/claude-opus-4",bedrock:"anthropic.claude-opus-4-v1:0"}},"claude-opus-4-5":{canonical:"Claude Opus 4.5",family:"claude",tier:"flagship",providers:{anthropic:"claude-opus-4-5-20251101",openrouter:"anthropic/claude-opus-4.5",bedrock:"anthropic.claude-opus-4-5-v1:0"}},"claude-haiku-3-5":{canonical:"Claude Haiku 3.5",family:"claude",tier:"economy",providers:{anthropic:"claude-3-5-haiku-20241022",openrouter:"anthropic/claude-3.5-haiku",bedrock:"anthropic.claude-3-5-haiku-v1:0"}},"claude-sonnet-4":{canonical:"Claude Sonnet 4",family:"claude",tier:"standard",providers:{anthropic:"claude-sonnet-4-20250514",openrouter:"anthropic/claude-sonnet-4",bedrock:"anthropic.claude-sonnet-4-v1:0"}},"gpt-4o":{canonical:"GPT-4o",family:"gpt",tier:"standard",providers:{openai:"gpt-4o",azure:"gpt-4o",openrouter:"openai/gpt-4o"}},"gpt-4o-mini":{canonical:"GPT-4o Mini",family:"gpt",tier:"economy",providers:{openai:"gpt-4o-mini",azure:"gpt-4o-mini",openrouter:"openai/gpt-4o-mini"}},"gpt-4-turbo":{canonical:"GPT-4 Turbo",family:"gpt",tier:"premium",providers:{openai:"gpt-4-turbo",azure:"gpt-4-turbo",openrouter:"openai/gpt-4-turbo"}},"gpt-4":{canonical:"GPT-4",family:"gpt",tier:"premium",providers:{openai:"gpt-4",azure:"gpt-4",openrouter:"openai/gpt-4"}},o1:{canonical:"OpenAI o1",family:"gpt",tier:"flagship",providers:{openai:"o1",azure:"o1",openrouter:"openai/o1"}},"o1-mini":{canonical:"OpenAI o1 Mini",family:"gpt",tier:"standard",providers:{openai:"o1-mini",azure:"o1-mini",openrouter:"openai/o1-mini"}},"gemini-pro":{canonical:"Gemini Pro",family:"gemini",tier:"standard",providers:{gemini:"gemini-pro",openrouter:"google/gemini-pro"}},"gemini-pro-1.5":{canonical:"Gemini Pro 1.5",family:"gemini",tier:"standard",providers:{gemini:"gemini-1.5-pro",openrouter:"google/gemini-pro-1.5"}},"gemini-flash-1.5":{canonical:"Gemini Flash 1.5",family:"gemini",tier:"economy",providers:{gemini:"gemini-1.5-flash",openrouter:"google/gemini-flash-1.5"}},"gemini-ultra":{canonical:"Gemini Ultra",family:"gemini",tier:"flagship",providers:{gemini:"gemini-ultra",openrouter:"google/gemini-ultra"}},llama3:{canonical:"Llama 3",family:"llama",tier:"economy",providers:{ollama:"llama3",openrouter:"meta-llama/llama-3-8b-instruct"}},"llama3.1":{canonical:"Llama 3.1",family:"llama",tier:"economy",providers:{ollama:"llama3.1",openrouter:"meta-llama/llama-3.1-8b-instruct"}},codellama:{canonical:"CodeLlama",family:"llama",tier:"economy",providers:{ollama:"codellama",openrouter:"meta-llama/codellama-34b-instruct"}},mistral:{canonical:"Mistral",family:"mistral",tier:"economy",providers:{ollama:"mistral",openrouter:"mistralai/mistral-7b-instruct"}},mixtral:{canonical:"Mixtral",family:"mistral",tier:"standard",providers:{ollama:"mixtral",openrouter:"mistralai/mixtral-8x7b-instruct"}},phi3:{canonical:"Phi-3",family:"phi",tier:"economy",providers:{ollama:"phi3",azure:"phi-3-mini-128k-instruct"}},qwen2:{canonical:"Qwen 2",family:"qwen",tier:"economy",providers:{ollama:"qwen2",openrouter:"qwen/qwen-2-7b-instruct"}}};function U(){let p=new Map;for(let[e,t]of Object.entries(D)){p.set(e,e),p.set(e.toLowerCase(),e);for(let[r,i]of Object.entries(t.providers))i&&(p.set(i,e),p.set(i.toLowerCase(),e),p.set(`${r}/${i}`,e),p.set(`${r}/${i}`.toLowerCase(),e))}return p}var M=U();function E(p,e){let t=T(p),r=D[t];if(!r)throw new Error(`Unknown model: ${p}`);let i=r.providers[e];if(!i)throw new Error(`Model '${t}' (${r.canonical}) is not available on provider '${e}'`);return i}function T(p){let e=M.get(p);if(e||(e=M.get(p.toLowerCase()),e))return e;let t=[/^anthropic\//i,/^openai\//i,/^google\//i,/^meta-llama\//i,/^mistralai\//i,/^qwen\//i];for(let r of t){let i=p.replace(r,"");if(e=M.get(i),e||(e=M.get(i.toLowerCase()),e))return e}throw new Error(`Unknown model ID: ${p}`)}function B(p){try{let e=T(p);return D[e]}catch{return}}var b=class{cache=new Map;maxSize;ttlMs;constructor(e=100,t=6e4){this.maxSize=e,this.ttlMs=t}get(e){let t=this.cache.get(e);return t?Date.now()>t.expiresAt?(this.cache.delete(e),null):t.decision:null}set(e,t){if(this.cache.size>=this.maxSize){let r=this.cache.keys().next().value;r&&this.cache.delete(r)}this.cache.set(e,{decision:t,expiresAt:Date.now()+this.ttlMs})}clear(){this.cache.clear()}getStats(){return{hits:0,misses:0,size:this.cache.size}}},R=class{config;providerManager;ruleEngine;decisionCache;metrics;routerMetrics;costMetrics;initialized=!1;constructor(e,t){this.providerManager=e,this.config={...z,...t};let r=this.config.rules.length>0?this.config.rules:x;this.ruleEngine=new v(r),this.decisionCache=new b(100,this.config.decisionCacheTtlMs),this.metrics=new q,this.routerMetrics=w(),this.costMetrics=A()}async initialize(){this.initialized||(await this.providerManager.initialize(),this.initialized=!0)}getMode(){return this.config.mode}setMode(e){this.config.mode=e,this.decisionCache.clear()}getConfig(){return{...this.config}}updateConfig(e){this.config={...this.config,...e},e.rules&&this.ruleEngine.setRules(e.rules),e.decisionCacheTtlMs&&(this.decisionCache=new b(100,e.decisionCacheTtlMs))}async selectProvider(e){await this.ensureInitialized();let t=Date.now();if(this.config.cacheDecisions){let i=this.generateCacheKey(e),o=this.decisionCache.get(i);if(o)return this.metrics.recordCacheHit(),this.routerMetrics.recordCacheHit(),o;this.metrics.recordCacheMiss(),this.routerMetrics.recordCacheMiss()}let r;switch(this.config.mode){case"manual":r=await this.selectManual(e);break;case"rule-based":r=await this.selectRuleBased(e);break;case"cost-optimized":r=await this.selectCostOptimized(e);break;case"performance-optimized":r=await this.selectPerformanceOptimized(e);break;default:r=await this.selectRuleBased(e)}if(r.metadata.decisionTimeMs=Date.now()-t,this.config.cacheDecisions){let i=this.generateCacheKey(e);this.decisionCache.set(i,r)}return this.metrics.recordDecision(r,this.config.mode),r}async chat(e){await this.ensureInitialized();let t=I(),r=await this.selectProvider(e);return await this.executeWithFallback(e,r,t)}async*stream(e){await this.ensureInitialized();let t=await this.selectProvider(e),r=await this.chat(e),i=100;for(let o=0;o<r.content.length;o+=i){let n=o+i>=r.content.length;yield{type:n?"done":"content",delta:r.content.slice(o,o+i),accumulated:r.content.slice(0,o+i),done:n,tokenCount:Math.ceil((o+i)/4),model:r.model,provider:t.providerType,usage:n?r.usage:void 0}}}getMetrics(){return this.metrics.getMetrics()}getEnhancedMetrics(e){return this.routerMetrics.getMetrics(e)}getProviderMetrics(e){return this.routerMetrics.getMetricsByProvider(e)}getAgentMetrics(e){return this.routerMetrics.getMetricsByAgentType(e)}getCostByProvider(e){return this.costMetrics.getCostByProvider(e)}getCostByAgentType(e){return this.costMetrics.getCostByAgentType(e)}getCostByModel(e){return this.costMetrics.getCostByModel(e)}getTotalCost(e){return this.costMetrics.getTotalCost(e)}getCostTrend(e){return this.costMetrics.getCostTrend(e)}getAuditLog(e){return this.routerMetrics.getAuditLog(e)}getOptimizationSuggestions(){return this.costMetrics.getOptimizationSuggestions()}resetMetrics(){this.metrics.reset(),this.routerMetrics.resetMetrics(),this.costMetrics.reset()}clearCache(){this.decisionCache.clear()}async selectManual(e){let t=e.preferredProvider??this.config.defaultProvider,r=e.model??this.config.defaultModel,i=this.providerManager.getProvider(t);return i?this.createDecision(i,t,r,"manual"):this.createFallbackDecision(e,"manual")}async selectRuleBased(e){let t=this.ruleEngine.evaluate(e);if(t){let{rule:o,rulesEvaluated:n}=t,c=o.action.provider,a=this.providerManager.getProvider(c);if(a){let s=this.createDecision(a,c,o.action.model,"rule-match",o);return s.metadata.rulesEvaluated=n,s}}let r=this.config.defaultProvider,i=this.providerManager.getProvider(r);return i?this.createDecision(i,r,this.config.defaultModel,"default"):this.createFallbackDecision(e,"rule-based")}async selectCostOptimized(e){let t=this.providerManager.getAvailableProviders();if(t.length===0)return this.createFallbackDecision(e,"cost-optimized");let r=1/0,i=t[0],o,n=[];for(let c of t){let a=this.providerManager.getProvider(c);if(!a)continue;let{input:s,output:l}=a.getCostPerToken(),d=this.estimateCostValue(e,s,l);n.push({provider:c,model:a.getConfig().model,reason:`Estimated cost: $${d.toFixed(6)}`,estimatedCost:d,excluded:!1}),d<r&&(r=d,i=c,o=a)}if(o){let c=o.getConfig(),a=this.createDecision(o,i,c.model,"cost-optimization");return a.metadata.estimatedCost=this.createCostEstimate(e,o),a.metadata.alternativesConsidered=n,a}return this.createFallbackDecision(e,"cost-optimized")}async selectPerformanceOptimized(e){let t=this.providerManager.getAvailableProviders(),r=this.providerManager.getMetrics();if(t.length===0)return this.createFallbackDecision(e,"performance-optimized");let i=1/0,o=t[0],n,c=[];for(let a of t){let s=this.providerManager.getProvider(a);if(!s)continue;let d=r[a]?.avgLatencyMs??1/0;c.push({provider:a,model:s.getConfig().model,reason:`Avg latency: ${d}ms`,estimatedLatencyMs:d,excluded:!1}),d<i&&(i=d,o=a,n=s)}if(n){let a=n.getConfig(),s=this.createDecision(n,o,a.model,"performance-optimization");return s.metadata.estimatedLatencyMs=i,s.metadata.alternativesConsidered=c,s}return this.createFallbackDecision(e,"performance-optimized")}async executeWithFallback(e,t,r){let{fallbackChain:i,fallbackBehavior:o}=this.config,n,c=0,a=[{provider:t.providerType,model:t.providerModelId}];for(let s of i.entries)if(!(!s.enabled||s.provider===t.providerType||!["claude","openai","ollama"].includes(s.provider)))for(let d of s.models)a.push({provider:s.provider,model:d});for(let{provider:s,model:l}of a){if(c>=o.maxAttempts)break;let d=this.providerManager.getProvider(s);if(!d)continue;c++;let m=Date.now();try{let u=await d.generate(e.messages,{model:l,temperature:e.temperature,maxTokens:e.maxTokens,systemPrompt:e.systemPrompt,timeoutMs:e.timeoutMs,skipCache:e.skipCache,metadata:e.metadata}),y=Date.now()-m;return this.metrics.recordSuccess(s),this.routerMetrics.recordRoutingDecision(t,y,{agentType:e.agentType,success:!0,tokenUsage:u.usage,cost:u.cost}),this.routerMetrics.recordProviderCall(s,l,y,u.usage.totalTokens,{inputTokens:u.usage.promptTokens,outputTokens:u.usage.completionTokens,success:!0,cost:u.cost.totalCost,agentType:e.agentType}),this.costMetrics.recordCostFromInfo(s,l,u.usage,u.cost,{agentType:e.agentType,requestId:u.requestId}),{content:u.content,model:u.model,providerModelId:u.model,provider:u.provider,usage:u.usage,cost:u.cost,latencyMs:u.latencyMs,finishReason:u.finishReason,cached:u.cached,requestId:u.requestId,routingDecision:t}}catch(u){n=S(u);let y=Date.now()-m;if(this.metrics.recordFailure(s),this.routerMetrics.recordProviderCall(s,l,y,0,{success:!1,agentType:e.agentType}),c<a.length){let L=a[c];L&&this.routerMetrics.recordFallback(s,L.provider,n.message,e.agentType)}if(O(u)&&!u.retryable)throw u;c<o.maxAttempts&&await this.delay(o.delayMs)}}throw k(`All providers failed after ${c} attempts: ${n?.message??"Unknown error"}`,"PROVIDER_UNAVAILABLE",{retryable:!1,cause:n})}createDecision(e,t,r,i,o){let{canonicalModel:n,providerModelId:c}=this.resolveModelIds(r,t);return{provider:e,providerType:t,model:n,providerModelId:c,reason:i,matchedRule:o,confidence:i==="rule-match"?.95:.8,metadata:{decisionTimeMs:0,timestamp:new Date}}}resolveModelIds(e,t){let i={claude:"anthropic",openai:"openai",ollama:"ollama",openrouter:"openrouter",gemini:"gemini","azure-openai":"azure",bedrock:"bedrock"}[t];if(!i)return{canonicalModel:e,providerModelId:e};try{let o=T(e),n=E(o,i);return{canonicalModel:o,providerModelId:n}}catch{try{if(B(e)){let n=E(e,i);return{canonicalModel:e,providerModelId:n}}}catch{}return{canonicalModel:e,providerModelId:e}}}createFallbackDecision(e,t){for(let i of this.config.fallbackChain.entries){if(!i.enabled||!["claude","openai","ollama"].includes(i.provider))continue;let n=this.providerManager.getProvider(i.provider);if(n)return this.createDecision(n,i.provider,i.models[0],"fallback")}let r=this.providerManager.getAvailableProviders();if(r.length>0){let i=r[0],o=this.providerManager.getProvider(i);return this.createDecision(o,i,o.getConfig().model,"fallback")}throw k(`No providers available for ${t} selection`,"PROVIDER_UNAVAILABLE",{retryable:!1})}generateCacheKey(e){return[this.config.mode,e.agentType??"default",e.complexity??"medium",e.requiresTools?"tools":"no-tools",e.preferredProvider??"any"].join(":")}estimateCostValue(e,t,r){let i=0;e.systemPrompt&&(i+=Math.ceil(e.systemPrompt.length/4));for(let n of e.messages)i+=Math.ceil(n.content.length/4);let o=e.maxTokens??1e3;return i*t+o*r}createCostEstimate(e,t){let{input:r,output:i}=t.getCostPerToken(),o=0;e.systemPrompt&&(o+=Math.ceil(e.systemPrompt.length/4));for(let a of e.messages)o+=Math.ceil(a.content.length/4);let n=e.maxTokens??1e3,c=o*r+n*i;return{inputTokens:o,outputTokens:n,totalCostUsd:c,inputCostPer1M:r*1e6,outputCostPer1M:i*1e6}}delay(e){return new Promise(t=>setTimeout(t,e))}async ensureInitialized(){this.initialized||await this.initialize()}},q=class{decisions=new Map;decisionsByMode={manual:0,"rule-based":0,"cost-optimized":0,"performance-optimized":0};totalDecisions=0;cacheHits=0;cacheMisses=0;totalRulesEvaluated=0;rulesMatched=0;fallbackCount=0;startTime=new Date;recordDecision(e,t){this.totalDecisions++,this.decisionsByMode[t]++,e.metadata.rulesEvaluated&&(this.totalRulesEvaluated+=e.metadata.rulesEvaluated),e.matchedRule&&this.rulesMatched++,e.reason==="fallback"&&this.fallbackCount++;let r=this.decisions.get(e.providerType);r||(r=this.createEmptyMetrics(e.providerType),this.decisions.set(e.providerType,r)),r.selectionCount++,e.reason==="rule-match"&&r.ruleMatchCount++,e.reason==="fallback"&&r.fallbackCount++}recordSuccess(e){let t=this.decisions.get(e);if(t){let r=t.successRate*t.selectionCount;t.successRate=(r+1)/t.selectionCount}}recordFailure(e){}recordCacheHit(){this.cacheHits++}recordCacheMiss(){this.cacheMisses++}getMetrics(){let e={};for(let[r,i]of this.decisions)e[r]={...i};let t=this.totalDecisions>0?this.rulesMatched/this.totalDecisions:0;return{byProvider:e,totalDecisions:this.totalDecisions,decisionsByMode:{...this.decisionsByMode},avgDecisionTimeMs:0,p95DecisionTimeMs:0,p99DecisionTimeMs:0,fallbackRate:this.totalDecisions>0?this.fallbackCount/this.totalDecisions:0,ruleMatchRate:t,estimatedCostSavings:0,ruleStats:{totalEvaluated:this.totalRulesEvaluated,matched:this.rulesMatched,avgRulesPerDecision:this.totalDecisions>0?this.totalRulesEvaluated/this.totalDecisions:0},cacheStats:{hits:this.cacheHits,misses:this.cacheMisses,hitRate:this.cacheHits+this.cacheMisses>0?this.cacheHits/(this.cacheHits+this.cacheMisses):0},period:{start:this.startTime,end:new Date}}}reset(){this.decisions.clear(),this.decisionsByMode={manual:0,"rule-based":0,"cost-optimized":0,"performance-optimized":0},this.totalDecisions=0,this.cacheHits=0,this.cacheMisses=0,this.totalRulesEvaluated=0,this.rulesMatched=0,this.fallbackCount=0,this.startTime=new Date}createEmptyMetrics(e){return{provider:e,selectionCount:0,ruleMatchCount:0,fallbackCount:0,avgDecisionTimeMs:0,successRate:1,avgLatencyMs:0,p95LatencyMs:0,p99LatencyMs:0,totalCost:0,totalTokens:0,circuitState:"closed"}}};function Ye(p,e){return new R(p,e)}function Je(p){return new R(p,{mode:"rule-based",rules:x,defaultProvider:"claude",defaultModel:"claude-sonnet-4-20250514",enableMetrics:!0,cacheDecisions:!0})}export{R as HybridRouter,Ye as createHybridRouter,Je as createQERouter};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-CV3KHYEY.js";import"./chunk-NEI3CUGT.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import"./chunk-LLC3GJXO.js";import"./chunk-G3XXEPHS.js";import"./chunk-YSNVBAUR.js";import"./chunk-L4TU4IIE.js";import"./chunk-IFVGKXD2.js";export{a as ImpactAnalyzerService};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b,c,d}from"./chunk-ZGWNU6V6.js";import"./chunk-L7LOSW5T.js";import"./chunk-MQTFPGGG.js";import"./chunk-2NQ37ZD2.js";import"./chunk-AIHD3V62.js";import"./chunk-LLC3GJXO.js";import"./chunk-YSNVBAUR.js";import"./chunk-44P37G45.js";import"./chunk-XS7YNHNG.js";import"./chunk-IFVGKXD2.js";export{a as InitOrchestrator,b as createInitOrchestrator,d as formatInitResult,c as quickInit};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{v as a,w as b}from"./chunk-Y5WIREMP.js";import"./chunk-TI4B6LPH.js";import"./chunk-C4BDVGMS.js";import"./chunk-P5GOHOPL.js";import"./chunk-GOWDJPOX.js";import"./chunk-6V7446OP.js";import"./chunk-MFHKKNVZ.js";import"./chunk-QRQV2KJ3.js";import"./chunk-YBVFSBYN.js";import"./chunk-FOONOTJJ.js";import"./chunk-7CSQKBZM.js";import"./chunk-OUCFT3RT.js";import"./chunk-CL6NRSRJ.js";import"./chunk-R5FOT2GW.js";import"./chunk-YIZNQK5R.js";import"./chunk-P6O43I72.js";import"./chunk-TSXTP4MO.js";import"./chunk-XIJ6LU5G.js";import"./chunk-HGPK3IIX.js";import"./chunk-QEBXLE7N.js";import"./chunk-VQIBPHLI.js";import"./chunk-JG6GFIR4.js";import"./chunk-7BYZSHCI.js";import"./chunk-KFNPCKTB.js";import"./chunk-IURQ4SKQ.js";import"./chunk-E5XSCY5J.js";import"./chunk-TIKBMCDQ.js";import"./chunk-N5EQ3Q63.js";import"./chunk-PRUG76TG.js";import"./chunk-K33CP3M4.js";import"./chunk-N3LKRXKM.js";import"./chunk-W2CIYDNQ.js";import"./chunk-5RDXUTEB.js";import"./chunk-CV3KHYEY.js";import"./chunk-NEI3CUGT.js";import"./chunk-2PM3SD63.js";import"./chunk-NU5DOYGG.js";import"./chunk-7WTKRSJW.js";import"./chunk-2DSXKIGI.js";import"./chunk-Z5CFWIET.js";import"./chunk-NMJFMH4E.js";import"./chunk-C3W4M7UY.js";import"./chunk-S37G7A6J.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import"./chunk-VMBRYYYH.js";import"./chunk-LLC3GJXO.js";import"./chunk-G3XXEPHS.js";import"./chunk-YSNVBAUR.js";import"./chunk-L4TU4IIE.js";import"./chunk-WY4RNWWV.js";import"./chunk-44P37G45.js";import"./chunk-XS7YNHNG.js";import"./chunk-2SPDBBGB.js";import"./chunk-F57L5LEP.js";import"./chunk-QWWYIHND.js";import"./chunk-RRCFW2M3.js";import"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";export{a as QEKernelImpl,b as createKernel};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{g as a}from"./chunk-NEI3CUGT.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import"./chunk-LLC3GJXO.js";import"./chunk-G3XXEPHS.js";import"./chunk-YSNVBAUR.js";import"./chunk-IFVGKXD2.js";export{a as KnowledgeGraphService};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-LPTSNKCM.js";import"./chunk-5BOJ7G3B.js";import"./chunk-N5EQ3Q63.js";import"./chunk-NMJFMH4E.js";import"./chunk-C3W4M7UY.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import"./chunk-LLC3GJXO.js";import"./chunk-YSNVBAUR.js";import"./chunk-L4TU4IIE.js";import"./chunk-44P37G45.js";import"./chunk-XS7YNHNG.js";import"./chunk-2SPDBBGB.js";import"./chunk-F57L5LEP.js";import"./chunk-QWWYIHND.js";import"./chunk-RRCFW2M3.js";import"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";export{a as LoadTestTool};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-WY4RNWWV.js";import"./chunk-QWWYIHND.js";import"./chunk-RRCFW2M3.js";import"./chunk-IFVGKXD2.js";export{a as InMemoryBackend};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a as k}from"./chunk-NDLYVPON.js";import{a as g}from"./chunk-IFVGKXD2.js";import{createHash as M}from"crypto";var w=[{category:"aws_key",regex:/\b(AKIA[0-9A-Z]{16})\b/g,replacement:"<REDACTED:aws_key>",modes:["strict","balanced"]},{category:"env_value",regex:/^([A-Z][A-Z0-9_]{2,})=(.+)$/gm,replacement:"$1=<REDACTED:env_value>",modes:["strict","balanced"]},{category:"api_key_header",regex:/(Authorization:\s*Bearer\s+)\S+/gi,replacement:"$1<REDACTED:api_key>",modes:["strict","balanced"]},{category:"api_key_header",regex:/(x-api-key:\s*)\S+/gi,replacement:"$1<REDACTED:api_key>",modes:["strict","balanced"]},{category:"private_key",regex:/-----BEGIN\s[\w\s]*PRIVATE KEY-----[\s\S]*?-----END\s[\w\s]*PRIVATE KEY-----/g,replacement:"<REDACTED:private_key>",modes:["strict","balanced"]},{category:"jwt",regex:/\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\b/g,replacement:"<REDACTED:jwt>",modes:["strict","balanced"]},{category:"github_token",regex:/\b(ghp_|gho_|ghs_|ghr_|github_pat_)[A-Za-z0-9_]{16,}\b/g,replacement:"<REDACTED:github_token>",modes:["strict","balanced"]},{category:"gitlab_token",regex:/\b(glpat-)[A-Za-z0-9_-]{20,}\b/g,replacement:"<REDACTED:gitlab_token>",modes:["strict","balanced"]},{category:"slack_token",regex:/\b(xoxb-|xoxp-|xoxs-|xoxa-)[A-Za-z0-9-]{10,}\b/g,replacement:"<REDACTED:slack_token>",modes:["strict","balanced"]},{category:"stripe_key",regex:/\b(sk_live_|pk_live_|sk_test_|pk_test_|rk_live_|rk_test_)[A-Za-z0-9]{10,}\b/g,replacement:"<REDACTED:stripe_key>",modes:["strict","balanced"]},{category:"google_api_key",regex:/\bAIzaSy[A-Za-z0-9_-]{33}\b/g,replacement:"<REDACTED:google_api_key>",modes:["strict","balanced"]},{category:"aws_session_token",regex:/\bASIA[0-9A-Z]{16}\b/g,replacement:"<REDACTED:aws_session_token>",modes:["strict","balanced"]},{category:"connection_string",regex:/\b(mongodb(\+srv)?|postgres(ql)?|mysql|redis|amqp):\/\/[^\s"']+/gi,replacement:"<REDACTED:connection_string>",modes:["strict","balanced"]},{category:"generic_secret",regex:/\b(password|secret|token|apikey|api_key|access_key|secret_key)\s*[:=]\s*['"]?(?!ghp_|gho_|ghs_|ghr_|github_pat_|glpat-|xoxb-|xoxp-|xoxs-|xoxa-|sk_live_|pk_live_|sk_test_|pk_test_|rk_live_|rk_test_|AIzaSy|AKIA|ASIA|<REDACTED:)[^\s'"]{8,}['"]?/gi,replacement:"<REDACTED:generic_secret>",modes:["strict","balanced"]},{category:"email",regex:/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g,replacement:"<REDACTED:pii_email>",modes:["strict"]},{category:"phone",regex:/\b(\+?1?[-.\s]?)?\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}\b/g,replacement:"<REDACTED:pii_phone>",modes:["strict"]},{category:"ssn",regex:/\b\d{3}-\d{2}-\d{4}\b/g,replacement:"<REDACTED:pii_ssn>",modes:["strict"]}],R=new Set(["ollama"]),E=new Set(["claude","ollama"]);function u(o){return R.has(o)}function I(o){return E.has(o)}function P(o){return/^qe-security|^qe-pentest/.test(o)}function b(o,t="strict"){if(t==="off")return{text:o,redactions:[],replacementCount:0};let e=o,r=new Set,a=0;for(let s of w){if(!s.modes.includes(t))continue;let c=new RegExp(s.regex.source,s.regex.flags),n=e.match(c);n&&n.length>0&&(r.add(s.category),a+=n.length,e=e.replace(c,s.replacement))}return{text:e,redactions:Array.from(r).sort(),replacementCount:a}}function f(o,t,e){if(P(o)&&!I(t))throw new p(`Security agent "${o}" may only use providers: ${[...E].join(", ")}. Got: "${t}". OpenRouter is excluded (third-party proxy risk).`,6);if(e==="off"&&!u(t))throw new p(`Redaction mode "off" is only allowed for self-hosted providers (${[...R].join(", ")}). Got: "${t}".`,6)}var p=class extends Error{constructor(e,r){super(e);this.exitCode=r;this.name="AdvisorRedactionError"}};var O="openrouter",z="anthropic/claude-opus-4",Z=100,$=`You are the advisor in an executor/advisor pattern. The executor has forwarded its full conversation transcript to you and is waiting for brief strategic guidance.
|
|
3
|
-
|
|
4
|
-
You see the task, every tool call the executor has made, every result it has seen.
|
|
5
|
-
|
|
6
|
-
Respond with a brief plan or correction in under 100 words. Use enumerated steps. No prose explanations. No pleasantries. Do not restate the task \u2014 the executor already knows the task. Focus on the next 1-3 concrete actions the executor should take, in order, with one-line reasons.
|
|
7
|
-
|
|
8
|
-
If you see the executor about to commit to a wrong approach, say so in step 1. If you see the executor is on track, say so in one line and name the specific next action. If the transcript lacks enough information to give useful advice, say "INSUFFICIENT CONTEXT" and name the missing piece.`,m=class{constructor(t,e){this.router=t;this.circuitBreaker=new k(e)}circuitBreaker;getCircuitBreakerState(t){return this.circuitBreaker.getState(t)}resetCircuitBreaker(t){this.circuitBreaker.reset(t)}async consult(t,e={}){let r=e.provider??O,a=e.model??z,s=e.maxWords??Z,c=e.agentName??"unknown",n=e.triggerReason??"manual",d=e.sessionId??"default",y=e.redact??"strict";f(c,r,y);let v=this.circuitBreaker.acquire(d),_=[],l=this.serializeTranscript(t,s);if(!u(r)){let A=b(l,y);l=A.text,_=A.redactions}let D=[{role:"user",content:l}],T=e.advisorSystemPrompt??$,C={messages:D,systemPrompt:T,agentType:c,preferredProvider:r,model:a,maxTokens:Math.max(300,Math.ceil(s*1.6)),temperature:.2,metadata:{advisorCall:!0,triggerReason:n,adrRef:"ADR-092"}},i=await this.router.chat(C),h=i.content.trim(),S=M("sha256").update(h).digest("hex"),x={advice:h,model:i.model,provider:i.provider,tokensIn:i.usage?.promptTokens??0,tokensOut:i.usage?.completionTokens??0,latencyMs:i.latencyMs,costUsd:i.cost?.totalCost??0,adviceHash:S,triggerReason:n,cacheHit:i.cached??!1,redactionsApplied:_,circuitBreakerRemaining:v.remaining};return this.persistConsultation(d,x),x}persistConsultation(t,e){try{let{writeFileSync:r,mkdirSync:a}=g("fs"),{join:s}=g("path"),{homedir:c}=g("os"),n=s(c(),".agentic-qe","advisor","consultations");a(n,{recursive:!0});let d=s(n,`${t}.json`);r(d,JSON.stringify({model:e.model,provider:e.provider,tokensIn:e.tokensIn,tokensOut:e.tokensOut,latencyMs:e.latencyMs,costUsd:e.costUsd,adviceHash:e.adviceHash,triggerReason:e.triggerReason,redactionsApplied:e.redactionsApplied,timestamp:new Date().toISOString()},null,2))}catch{}}serializeTranscript(t,e){let r=[];t.systemPrompt&&r.push(`# Executor System Prompt
|
|
9
|
-
${t.systemPrompt}`),t.taskDescription&&r.push(`# Task
|
|
10
|
-
${t.taskDescription}`),r.push("# Conversation so far");for(let a of t.messages){let s=a.role.toUpperCase();r.push(`[${s}] ${a.content}`)}return r.push(`
|
|
11
|
-
# Your job
|
|
12
|
-
Respond with brief strategic guidance in under ${e} words. Use enumerated steps. No prose.`),r.join(`
|
|
13
|
-
|
|
14
|
-
`)}};function U(o){return new m(o)}export{z as DEFAULT_ADVISOR_MODEL,O as DEFAULT_ADVISOR_PROVIDER,Z as DEFAULT_MAX_WORDS,m as MultiModelExecutor,U as createMultiModelExecutor};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b}from"./chunk-TEHFGVQG.js";import"./chunk-QRQV2KJ3.js";import"./chunk-YBVFSBYN.js";import"./chunk-G3XXEPHS.js";import"./chunk-YSNVBAUR.js";import"./chunk-L4TU4IIE.js";import"./chunk-IFVGKXD2.js";export{a as DefaultProtocolExecutor,b as createProtocolExecutor};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{b as T}from"./chunk-LKYO7SZ7.js";import{a}from"./chunk-GEXHAKJ3.js";import{b as E,c as te}from"./chunk-5Z3K47TT.js";import"./chunk-NMJFMH4E.js";import"./chunk-C3W4M7UY.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import{b as N,d as Q}from"./chunk-LLC3GJXO.js";import{b as v,c as L}from"./chunk-YSNVBAUR.js";import"./chunk-44P37G45.js";import"./chunk-XS7YNHNG.js";import"./chunk-2SPDBBGB.js";import{b as ee,d as oe}from"./chunk-F57L5LEP.js";import"./chunk-QWWYIHND.js";import"./chunk-RRCFW2M3.js";import"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";oe();L();var re={failureThreshold:5,resetTimeoutMs:3e4,halfOpenSuccessThreshold:2,failureWindowMs:6e4,includeTimeouts:!0},J=class{state="closed";failures=[];successCount=0;totalRequests=0;totalSuccesses=0;totalFailures=0;rejectedCount=0;lastFailureTime;lastSuccessTime;openedAt;halfOpenSuccesses=0;config;providerType;constructor(t,e={}){this.providerType=t,this.config={...re,...e}}getState(){return this.state==="open"&&this.openedAt&&Date.now()-this.openedAt.getTime()>=this.config.resetTimeoutMs&&this.transitionTo("half-open"),this.state}canExecute(){let t=this.getState();return t==="closed"?!0:t!=="open"}async execute(t){if(this.totalRequests++,this.getState()==="open")throw this.rejectedCount++,a(`Circuit breaker is open for provider ${this.providerType}`,"CIRCUIT_OPEN",{provider:this.providerType,retryable:!0,retryAfterMs:this.getTimeUntilTransition()});try{let r=await t();return this.recordSuccess(),r}catch(r){throw this.recordFailure(v(r)),r}}recordSuccess(){this.successCount++,this.totalSuccesses++,this.lastSuccessTime=new Date,this.getState()==="half-open"&&(this.halfOpenSuccesses++,this.halfOpenSuccesses>=this.config.halfOpenSuccessThreshold&&this.transitionTo("closed"))}recordFailure(t){if(this.totalFailures++,this.lastFailureTime=new Date,(t.message.toLowerCase().includes("timeout")||t.name==="TimeoutError"||t.name==="AbortError")&&!this.config.includeTimeouts)return;this.failures.push({timestamp:new Date,error:t}),this.cleanOldFailures();let r=this.getState();if(r==="half-open"){this.transitionTo("open");return}r==="closed"&&this.failures.length>=this.config.failureThreshold&&this.transitionTo("open")}getStats(){return{state:this.getState(),totalRequests:this.totalRequests,successCount:this.totalSuccesses,failureCount:this.totalFailures,rejectedCount:this.rejectedCount,lastFailureTime:this.lastFailureTime,lastSuccessTime:this.lastSuccessTime,timeUntilTransitionMs:this.getTimeUntilTransition()}}reset(){this.state="closed",this.failures=[],this.successCount=0,this.halfOpenSuccesses=0,this.openedAt=void 0}forceOpen(){this.transitionTo("open")}forceHalfOpen(){this.transitionTo("half-open")}getRecentFailures(t=5){return this.failures.slice(-t).map(e=>`[${e.timestamp.toISOString()}] ${e.error.message}`)}transitionTo(t){if(this.state!==t)switch(this.state=t,t){case"open":this.openedAt=new Date,this.halfOpenSuccesses=0;break;case"half-open":this.halfOpenSuccesses=0;break;case"closed":this.failures=[],this.openedAt=void 0,this.halfOpenSuccesses=0;break}}cleanOldFailures(){let t=Date.now()-this.config.failureWindowMs;this.failures=this.failures.filter(e=>e.timestamp.getTime()>t)}getTimeUntilTransition(){if(this.state==="open"&&this.openedAt){let t=Date.now()-this.openedAt.getTime(),e=this.config.resetTimeoutMs-t;return Math.max(0,e)}}},U=class{breakers=new Map;defaultConfig;constructor(t={}){this.defaultConfig={...re,...t}}getBreaker(t,e){let r=this.breakers.get(t);return r||(r=new J(t,{...this.defaultConfig,...e}),this.breakers.set(t,r)),r}getAllStats(){let t={};for(let[e,r]of this.breakers)t[e]=r.getStats();return t}getAvailableProviders(){let t=[];for(let[e,r]of this.breakers)r.canExecute()&&t.push(e);return t}resetAll(){for(let t of this.breakers.values())t.reset()}reset(t){let e=this.breakers.get(t);e&&e.reset()}};var se={maxSize:1e3,defaultTtlMs:36e5,enableLRU:!0,cacheGenerations:!0,cacheEmbeddings:!0,cacheCompletions:!0},A=class{cache=new Map;accessOrder=[];config;hits=0;misses=0;evictions=0;constructor(t={}){this.config={...se,...t}}static generateKey(t,e,r){let n=[t,r?.model??"default",String(r?.temperature??.7),String(r?.maxTokens??0),r?.systemPrompt??"",e].join("|"),o=0;for(let i=0;i<n.length;i++){let l=n.charCodeAt(i);o=(o<<5)-o+l,o=o&o}return`${t}:${Math.abs(o).toString(36)}`}get(t){let e=this.cache.get(t);if(!e){this.misses++;return}if(e.ttlMs>0&&Date.now()-e.createdAt.getTime()>e.ttlMs){this.delete(t),this.misses++;return}return this.hits++,e.lastAccessedAt=new Date,e.accessCount++,this.config.enableLRU&&this.updateAccessOrder(t),e.value}set(t,e,r){this.cache.size>=this.config.maxSize&&!this.cache.has(t)&&this.evictLRU();let s={value:e,createdAt:new Date,lastAccessedAt:new Date,accessCount:1,ttlMs:r??this.config.defaultTtlMs,keyHash:t};this.cache.set(t,s),this.config.enableLRU&&this.updateAccessOrder(t)}has(t){let e=this.cache.get(t);return e?e.ttlMs>0&&Date.now()-e.createdAt.getTime()>e.ttlMs?(this.delete(t),!1):!0:!1}delete(t){let e=this.cache.delete(t);if(e){let r=this.accessOrder.indexOf(t);r!==-1&&this.accessOrder.splice(r,1)}return e}clear(){this.cache.clear(),this.accessOrder=[],this.hits=0,this.misses=0,this.evictions=0}getStats(){let t=this.hits+this.misses,e=t>0?this.hits/t:0,r=0;for(let s of this.cache.values())r+=this.estimateSize(s.value);return{size:this.cache.size,maxSize:this.config.maxSize,hits:this.hits,misses:this.misses,hitRate:e,evictions:this.evictions,memoryUsageBytes:r}}keys(){return Array.from(this.cache.keys())}entries(){return Array.from(this.cache.entries())}import(t){for(let[e,r]of t)r.createdAt=new Date(r.createdAt),r.lastAccessedAt=new Date(r.lastAccessedAt),this.cache.set(e,r),this.accessOrder.push(e);for(;this.cache.size>this.config.maxSize;)this.evictLRU()}pruneExpired(){let t=Date.now(),e=0;for(let[r,s]of this.cache.entries())s.ttlMs>0&&t-s.createdAt.getTime()>s.ttlMs&&(this.delete(r),e++);return e}updateAccessOrder(t){let e=this.accessOrder.indexOf(t);e!==-1&&this.accessOrder.splice(e,1),this.accessOrder.push(t)}evictLRU(){if(this.accessOrder.length===0){let e=this.cache.keys().next().value;e&&(this.cache.delete(e),this.evictions++);return}let t=this.accessOrder.shift();t&&(this.cache.delete(t),this.evictions++)}estimateSize(t){return t==null?0:JSON.stringify(t).length*2}},D=class{generationCache;embeddingCache;completionCache;config;constructor(t={}){this.config={...se,...t},this.generationCache=new A(t),this.embeddingCache=new A(t),this.completionCache=new A(t)}getGeneration(t,e){if(!this.config.cacheGenerations)return;let r=A.generateKey("generation",t,e);return this.generationCache.get(r)}setGeneration(t,e,r,s){if(!this.config.cacheGenerations)return;let n=A.generateKey("generation",t,r);this.generationCache.set(n,e,s)}getEmbedding(t,e){if(!this.config.cacheEmbeddings)return;let r=A.generateKey("embedding",t,e);return this.embeddingCache.get(r)}setEmbedding(t,e,r,s){if(!this.config.cacheEmbeddings)return;let n=A.generateKey("embedding",t,r);this.embeddingCache.set(n,e,s)}getCompletion(t,e){if(!this.config.cacheCompletions)return;let r=A.generateKey("completion",t,e);return this.completionCache.get(r)}setCompletion(t,e,r,s){if(!this.config.cacheCompletions)return;let n=A.generateKey("completion",t,r);this.completionCache.set(n,e,s)}getStats(){let t=this.generationCache.getStats(),e=this.embeddingCache.getStats(),r=this.completionCache.getStats(),s=t.hits+e.hits+r.hits,n=t.misses+e.misses+r.misses,o=s+n;return{generation:t,embedding:e,completion:r,total:{size:t.size+e.size+r.size,maxSize:this.config.maxSize*3,hits:s,misses:n,hitRate:o>0?s/o:0,evictions:t.evictions+e.evictions+r.evictions,memoryUsageBytes:t.memoryUsageBytes+e.memoryUsageBytes+r.memoryUsageBytes}}}clear(){this.generationCache.clear(),this.embeddingCache.clear(),this.completionCache.clear()}pruneExpired(){return this.generationCache.pruneExpired()+this.embeddingCache.pruneExpired()+this.completionCache.pruneExpired()}};L();function X(b,t,e,r){let s=Math.min(t*Math.pow(2,b),e),n=Math.random()*r*s;return s+n}var ne=1e3,ie=3e4;function k(b,t=ne,e=ie){return X(b,t,e,0)}var ae={model:"claude-sonnet-4-20250514",maxTokens:4096,temperature:.7,timeoutMs:6e4,maxRetries:3,anthropicVersion:"2023-06-01",enableCache:!0,enableCircuitBreaker:!0},K=class{type="claude";name="Anthropic Claude";config;requestId=0;constructor(t={}){this.config={...ae,...t}}async isAvailable(){if(!this.getApiKey())return!1;try{return(await this.healthCheck()).healthy}catch{return!1}}async healthCheck(){if(!this.getApiKey())return{healthy:!1,error:"API key not configured. Set ANTHROPIC_API_KEY environment variable."};let e=Date.now();try{let r=await this.fetchWithTimeout(`${this.getBaseUrl()}/v1/messages`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({model:this.config.model,max_tokens:1,messages:[{role:"user",content:"Hi"}]})},5e3),s=Date.now()-e;if(!r.ok){let n=await r.text();return{healthy:!1,latencyMs:s,error:`API error: ${r.status} - ${n}`}}return{healthy:!0,latencyMs:s,models:this.getSupportedModels(),details:{apiVersion:this.config.anthropicVersion,defaultModel:this.config.model}}}catch(r){return{healthy:!1,error:r instanceof Error?r.message:"Unknown error"}}}async generate(t,e){if(!this.getApiKey())throw a("Anthropic API key not configured","API_KEY_MISSING",{provider:"claude",retryable:!1});let s=this.formatMessages(t),n=e?.model??this.config.model,o=e?.maxTokens??this.config.maxTokens??4096,i=e?.temperature??this.config.temperature??.7,l=`claude-${++this.requestId}-${Date.now()}`,m=Date.now(),h={model:n,max_tokens:o,temperature:i,messages:s};e?.systemPrompt&&(h.system=e.systemPrompt),e?.stopSequences&&e.stopSequences.length>0&&(h.stop_sequences=e.stopSequences);try{let c=await this.fetchWithRetry(`${this.getBaseUrl()}/v1/messages`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify(h)},e?.timeoutMs??this.config.timeoutMs??6e4,this.config.maxRetries??3),u=Date.now()-m;if(!c.ok){let g=await c.json().catch(()=>({error:{message:"Unknown error"}}));throw this.handleApiError(c.status,g,n)}let p=await c.json(),d={promptTokens:p.usage.input_tokens,completionTokens:p.usage.output_tokens,totalTokens:p.usage.input_tokens+p.usage.output_tokens},f=E.calculateCost(n,d);return T.recordTokenUsage(l,"claude-provider","llm","generate",{inputTokens:p.usage.input_tokens,outputTokens:p.usage.output_tokens,totalTokens:p.usage.input_tokens+p.usage.output_tokens,estimatedCostUsd:f.totalCost}),{content:p.content.filter(g=>g.type==="text").map(g=>g.text).join(""),model:p.model,provider:"claude",usage:d,cost:f,latencyMs:u,finishReason:this.mapFinishReason(p.stop_reason),cached:!1,requestId:l}}catch(c){throw c instanceof Error&&"code"in c?c:a(c instanceof Error?c.message:"Request failed","NETWORK_ERROR",{provider:"claude",model:n,retryable:!0,cause:c})}}async embed(t,e){throw a("Claude does not support native embeddings. Use OpenAI or Ollama for embeddings.","MODEL_NOT_FOUND",{provider:"claude",retryable:!1})}async complete(t,e){let r=await this.generate(t,{model:e?.model,temperature:e?.temperature??.2,maxTokens:e?.maxTokens??256,stopSequences:e?.stopSequences??[`
|
|
3
|
-
|
|
4
|
-
`,"```"]});return{completion:r.content,model:r.model,provider:"claude",usage:r.usage,latencyMs:r.latencyMs,cached:r.cached}}getConfig(){return{...this.config}}getSupportedModels(){return["claude-opus-4-5-20251101","claude-sonnet-4-20250514","claude-3-5-haiku-20241022","claude-3-opus-20240229","claude-3-sonnet-20240229","claude-3-haiku-20240307"]}getCostPerToken(){return E.getCostPerToken(this.config.model)}async dispose(){}getApiKey(){return this.config.apiKey??process.env.ANTHROPIC_API_KEY}getBaseUrl(){return(this.config.baseUrl??"https://api.anthropic.com").replace(/\/$/,"")}getHeaders(){return{"Content-Type":"application/json","x-api-key":this.getApiKey(),"anthropic-version":this.config.anthropicVersion??"2023-06-01"}}formatMessages(t){return typeof t=="string"?[{role:"user",content:t}]:t.filter(e=>e.role!=="system").map(e=>({role:e.role,content:e.content}))}mapFinishReason(t){switch(t){case"end_turn":return"stop";case"max_tokens":return"length";case"stop_sequence":return"stop";default:return"stop"}}handleApiError(t,e,r){let s="error"in e?e.error?.message??"Unknown API error":"Unknown API error",n="error"in e&&"type"in e.error?e.error.type:"";switch(t){case 401:throw a(s,"API_KEY_INVALID",{provider:"claude",model:r,retryable:!1});case 429:throw a(s,"RATE_LIMITED",{provider:"claude",model:r,retryable:!0,retryAfterMs:6e4});case 400:throw n==="invalid_request_error"&&s.includes("context")?a(s,"CONTEXT_LENGTH_EXCEEDED",{provider:"claude",model:r,retryable:!1}):a(s,"UNKNOWN",{provider:"claude",model:r,retryable:!1});case 500:case 502:case 503:throw a(s,"PROVIDER_UNAVAILABLE",{provider:"claude",model:r,retryable:!0,retryAfterMs:5e3});default:throw a(s,"UNKNOWN",{provider:"claude",model:r,retryable:!1})}}async fetchWithTimeout(t,e,r){let s=new AbortController,n=setTimeout(()=>s.abort(),r);try{return await fetch(t,{...e,signal:s.signal})}catch(o){throw o instanceof Error&&o.name==="AbortError"?a("Request timed out","TIMEOUT",{provider:"claude",retryable:!0}):o}finally{clearTimeout(n)}}async fetchWithRetry(t,e,r,s){let n;for(let o=0;o<s;o++)try{let i=await this.fetchWithTimeout(t,e,r);if(i.status>=400&&i.status<500&&i.status!==429)return i;if((i.status>=500||i.status===429)&&o<s-1){let l=k(o);await this.sleep(l);continue}return i}catch(i){if(n=v(i),o<s-1){let l=k(o);await this.sleep(l)}}throw n??new Error("Request failed after retries")}sleep(t){return new Promise(e=>setTimeout(e,t))}};L();var ce={model:"gpt-4o",maxTokens:4096,temperature:.7,timeoutMs:6e4,maxRetries:3,enableCache:!0,enableCircuitBreaker:!0},q=class{type="openai";name="OpenAI";config;requestId=0;constructor(t={}){this.config={...ce,...t}}async isAvailable(){if(!this.getApiKey())return!1;try{return(await this.healthCheck()).healthy}catch{return!1}}async healthCheck(){if(!this.getApiKey())return{healthy:!1,error:"API key not configured. Set OPENAI_API_KEY environment variable."};let e=Date.now();try{let r=await this.fetchWithTimeout(`${this.getBaseUrl()}/v1/chat/completions`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({model:this.config.model,max_tokens:1,messages:[{role:"user",content:"Hi"}]})},5e3),s=Date.now()-e;if(!r.ok){let n=await r.text();return{healthy:!1,latencyMs:s,error:`API error: ${r.status} - ${n}`}}return{healthy:!0,latencyMs:s,models:this.getSupportedModels(),details:{defaultModel:this.config.model,organization:this.config.organization}}}catch(r){return{healthy:!1,error:r instanceof Error?r.message:"Unknown error"}}}async generate(t,e){if(!this.getApiKey())throw a("OpenAI API key not configured","API_KEY_MISSING",{provider:"openai",retryable:!1});let s=this.formatMessages(t,e?.systemPrompt),n=e?.model??this.config.model,o=e?.maxTokens??this.config.maxTokens??4096,i=e?.temperature??this.config.temperature??.7,l=`openai-${++this.requestId}-${Date.now()}`,m=Date.now(),h={model:n,max_tokens:o,temperature:i,messages:s};e?.stopSequences&&e.stopSequences.length>0&&(h.stop=e.stopSequences),this.config.presencePenalty!==void 0&&(h.presence_penalty=this.config.presencePenalty),this.config.frequencyPenalty!==void 0&&(h.frequency_penalty=this.config.frequencyPenalty);try{let c=await this.fetchWithRetry(`${this.getBaseUrl()}/v1/chat/completions`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify(h)},e?.timeoutMs??this.config.timeoutMs??6e4,this.config.maxRetries??3),u=Date.now()-m;if(!c.ok){let g=await c.json().catch(()=>({error:{message:"Unknown error",type:"unknown",code:null}}));throw this.handleApiError(c.status,g,n)}let p=await c.json(),d={promptTokens:p.usage.prompt_tokens,completionTokens:p.usage.completion_tokens,totalTokens:p.usage.total_tokens},f=E.calculateCost(n,d);return T.recordTokenUsage(l,"openai-provider","llm","generate",{inputTokens:p.usage.prompt_tokens,outputTokens:p.usage.completion_tokens,totalTokens:p.usage.total_tokens,estimatedCostUsd:f.totalCost}),{content:p.choices[0]?.message?.content??"",model:p.model,provider:"openai",usage:d,cost:f,latencyMs:u,finishReason:this.mapFinishReason(p.choices[0]?.finish_reason),cached:!1,requestId:l}}catch(c){throw c instanceof Error&&"code"in c?c:a(c instanceof Error?c.message:"Request failed","NETWORK_ERROR",{provider:"openai",model:n,retryable:!0,cause:c})}}async embed(t,e){if(!this.getApiKey())throw a("OpenAI API key not configured","API_KEY_MISSING",{provider:"openai",retryable:!1});let s=e?.model??"text-embedding-3-small",n=Date.now();try{let o=await this.fetchWithTimeout(`${this.getBaseUrl()}/v1/embeddings`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({model:s,input:t})},e?.timeoutMs??this.config.timeoutMs??3e4),i=Date.now()-n;if(!o.ok){let m=await o.json().catch(()=>({error:{message:"Unknown error",type:"unknown",code:null}}));throw this.handleApiError(o.status,m,s)}let l=await o.json();return{embedding:l.data[0].embedding,model:l.model,provider:"openai",tokenCount:l.usage.total_tokens,latencyMs:i,cached:!1}}catch(o){throw o instanceof Error&&"code"in o?o:a(o instanceof Error?o.message:"Embedding request failed","NETWORK_ERROR",{provider:"openai",model:s,retryable:!0,cause:o})}}async complete(t,e){let r=await this.generate(t,{model:e?.model,temperature:e?.temperature??.2,maxTokens:e?.maxTokens??256,stopSequences:e?.stopSequences??[`
|
|
5
|
-
|
|
6
|
-
`]});return{completion:r.content,model:r.model,provider:"openai",usage:r.usage,latencyMs:r.latencyMs,cached:r.cached}}getConfig(){return{...this.config}}getSupportedModels(){return["gpt-4o","gpt-4o-mini","gpt-4-turbo","gpt-4","gpt-3.5-turbo"]}getCostPerToken(){return E.getCostPerToken(this.config.model)}async dispose(){}getApiKey(){return this.config.apiKey??process.env.OPENAI_API_KEY}getBaseUrl(){return(this.config.baseUrl??"https://api.openai.com").replace(/\/$/,"")}getHeaders(){let t={"Content-Type":"application/json",Authorization:`Bearer ${this.getApiKey()}`};return this.config.organization&&(t["OpenAI-Organization"]=this.config.organization),t}formatMessages(t,e){let r=[];if(typeof t=="string")e&&r.push({role:"system",content:e}),r.push({role:"user",content:t});else{let s=t.some(n=>n.role==="system");e&&!s&&r.push({role:"system",content:e});for(let n of t)r.push({role:n.role,content:n.content})}return r}mapFinishReason(t){switch(t){case"stop":return"stop";case"length":return"length";case"content_filter":return"content_filter";default:return"stop"}}handleApiError(t,e,r){let s=e.error?.message??"Unknown API error",n=e.error?.type??"",o=e.error?.code??"";switch(t){case 401:throw a(s,"API_KEY_INVALID",{provider:"openai",model:r,retryable:!1});case 429:throw a(s,"RATE_LIMITED",{provider:"openai",model:r,retryable:!0,retryAfterMs:6e4});case 400:throw o==="context_length_exceeded"||n==="invalid_request_error"?a(s,"CONTEXT_LENGTH_EXCEEDED",{provider:"openai",model:r,retryable:!1}):a(s,"UNKNOWN",{provider:"openai",model:r,retryable:!1});case 500:case 502:case 503:throw a(s,"PROVIDER_UNAVAILABLE",{provider:"openai",model:r,retryable:!0,retryAfterMs:5e3});default:throw a(s,"UNKNOWN",{provider:"openai",model:r,retryable:!1})}}async fetchWithTimeout(t,e,r){let s=new AbortController,n=setTimeout(()=>s.abort(),r);try{return await fetch(t,{...e,signal:s.signal})}catch(o){throw o instanceof Error&&o.name==="AbortError"?a("Request timed out","TIMEOUT",{provider:"openai",retryable:!0}):o}finally{clearTimeout(n)}}async fetchWithRetry(t,e,r,s){let n;for(let o=0;o<s;o++)try{let i=await this.fetchWithTimeout(t,e,r);if(i.status>=400&&i.status<500&&i.status!==429)return i;if((i.status>=500||i.status===429)&&o<s-1){let l=k(o);await this.sleep(l);continue}return i}catch(i){if(n=v(i),o<s-1){let l=k(o);await this.sleep(l)}}throw n??new Error("Request failed after retries")}sleep(t){return new Promise(e=>setTimeout(e,t))}};var le={model:"llama3.1",baseUrl:"http://localhost:11434",maxTokens:4096,temperature:.7,timeoutMs:12e4,maxRetries:2,contextLength:4096,keepAlive:"5m",enableCache:!0,enableCircuitBreaker:!0},B=class{type="ollama";name="Ollama (Local)";config;requestId=0;availableModels=[];constructor(t={}){this.config={...le,...t}}async isAvailable(){try{return(await this.healthCheck()).healthy}catch{return!1}}async healthCheck(){let t=Date.now();try{let e=await this.fetchWithTimeout(`${this.getBaseUrl()}/api/tags`,{method:"GET",headers:{"Content-Type":"application/json"}},5e3),r=Date.now()-t;if(!e.ok)return{healthy:!1,latencyMs:r,error:`Ollama server returned ${e.status}`};let s=await e.json();return this.availableModels=s.models?.map(o=>o.name.split(":")[0])??[],!this.availableModels.some(o=>o===this.config.model||o.startsWith(this.config.model)||this.config.model.startsWith(o))&&this.availableModels.length>0?{healthy:!0,latencyMs:r,models:this.availableModels,details:{warning:`Configured model '${this.config.model}' not found. Available: ${this.availableModels.join(", ")}`,defaultModel:this.config.model}}:{healthy:!0,latencyMs:r,models:this.availableModels,details:{defaultModel:this.config.model,modelCount:this.availableModels.length}}}catch(e){return{healthy:!1,error:`Ollama not running. Start with: ollama serve. Error: ${e instanceof Error?e.message:"Unknown"}`}}}async generate(t,e){let r=e?.model??this.config.model,s=e?.maxTokens??this.config.maxTokens??4096,n=e?.temperature??this.config.temperature??.7,o=`ollama-${++this.requestId}-${Date.now()}`,i=Date.now(),l=Array.isArray(t);try{let m,h,c,u;if(l){let y=this.formatMessages(t,e?.systemPrompt);if(m=await this.fetchWithTimeout(`${this.getBaseUrl()}/api/chat`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:r,messages:y,stream:!1,options:{temperature:n,num_predict:s,stop:e?.stopSequences}})},e?.timeoutMs??this.config.timeoutMs??12e4),!m.ok)throw await this.handleApiError(m,r);let g=await m.json();h=g.message.content,c=g.prompt_eval_count??this.estimateTokens(JSON.stringify(y)),u=g.eval_count??this.estimateTokens(h)}else{let y=e?.systemPrompt?`${e.systemPrompt}
|
|
7
|
-
|
|
8
|
-
${t}`:t;if(m=await this.fetchWithTimeout(`${this.getBaseUrl()}/api/generate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:r,prompt:y,stream:!1,options:{temperature:n,num_predict:s,stop:e?.stopSequences}})},e?.timeoutMs??this.config.timeoutMs??12e4),!m.ok)throw await this.handleApiError(m,r);let g=await m.json();h=g.response,c=g.prompt_eval_count??this.estimateTokens(y),u=g.eval_count??this.estimateTokens(h)}let p=Date.now()-i,d={promptTokens:c,completionTokens:u,totalTokens:c+u},f=E.calculateCost(r,d);return T.recordTokenUsage(o,"ollama-provider","llm","generate",{inputTokens:c,outputTokens:u,totalTokens:c+u,estimatedCostUsd:f.totalCost}),{content:h,model:r,provider:"ollama",usage:d,cost:f,latencyMs:p,finishReason:"stop",cached:!1,requestId:o}}catch(m){throw m instanceof Error&&"code"in m?m:a(m instanceof Error?m.message:"Request failed","NETWORK_ERROR",{provider:"ollama",model:r,retryable:!0,cause:m})}}async embed(t,e){let r=e?.model??"all-MiniLM-L6-v2",s=Date.now();try{let n=await this.fetchWithTimeout(`${this.getBaseUrl()}/api/embeddings`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:r,prompt:t})},e?.timeoutMs??3e4),o=Date.now()-s;if(!n.ok)throw await this.handleApiError(n,r);return{embedding:(await n.json()).embedding,model:r,provider:"ollama",tokenCount:this.estimateTokens(t),latencyMs:o,cached:!1}}catch(n){throw n instanceof Error&&"code"in n?n:a(n instanceof Error?n.message:"Embedding request failed","NETWORK_ERROR",{provider:"ollama",model:r,retryable:!0,cause:n})}}async complete(t,e){let r=e?.model??this.selectCodeModel(),s=await this.generate(t,{model:r,temperature:e?.temperature??.1,maxTokens:e?.maxTokens??256,stopSequences:e?.stopSequences??[`
|
|
9
|
-
|
|
10
|
-
`,"```","// ","# "]});return{completion:s.content,model:s.model,provider:"ollama",usage:s.usage,latencyMs:s.latencyMs,cached:s.cached}}getConfig(){return{...this.config}}getSupportedModels(){let t=["llama3","llama3.1","llama3.2","codellama","mistral","mixtral","phi3","qwen2","gemma","nomic-embed-text"],e=new Set([...t,...this.availableModels]);return Array.from(e)}getCostPerToken(){return{input:0,output:0}}async dispose(){}async pullModel(t){try{let e=await this.fetchWithTimeout(`${this.getBaseUrl()}/api/pull`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t,stream:!1})},6e5);if(!e.ok){let r=await e.text();throw new Error(`Failed to pull model: ${r}`)}}catch(e){throw a(`Failed to pull model ${t}: ${e instanceof Error?e.message:"Unknown"}`,"MODEL_NOT_FOUND",{provider:"ollama",model:t,retryable:!0})}}getBaseUrl(){return(this.config.baseUrl??"http://localhost:11434").replace(/\/$/,"")}formatMessages(t,e){let r=[];e&&r.push({role:"system",content:e});for(let s of t)r.push({role:s.role,content:s.content});return r}selectCodeModel(){let t=["codellama","llama3.1","llama3","mistral"];for(let e of t)if(this.availableModels.some(r=>r===e||r.startsWith(e)))return e;return this.config.model}estimateTokens(t){return Math.ceil(t.length/4)}async handleApiError(t,e){let r=await t.text().catch(()=>"Unknown error");throw t.status===404?a(`Model '${e}' not found. Pull it with: ollama pull ${e}`,"MODEL_NOT_FOUND",{provider:"ollama",model:e,retryable:!1}):t.status===500?a(`Ollama server error: ${r}`,"PROVIDER_UNAVAILABLE",{provider:"ollama",model:e,retryable:!0,retryAfterMs:1e3}):a(`Ollama API error (${t.status}): ${r}`,"UNKNOWN",{provider:"ollama",model:e,retryable:!1})}async fetchWithTimeout(t,e,r){let s=new AbortController,n=setTimeout(()=>s.abort(),r);try{return await fetch(t,{...e,signal:s.signal})}catch(o){throw o instanceof Error&&o.name==="AbortError"?a("Request timed out","TIMEOUT",{provider:"ollama",retryable:!0}):o}finally{clearTimeout(n)}}};L();Q();var ue={model:"anthropic/claude-3.5-sonnet",maxTokens:4096,temperature:.7,timeoutMs:6e4,maxRetries:3,enableCache:!0,enableCircuitBreaker:!0,baseUrl:"https://openrouter.ai/api/v1",allowFallback:!1},z={"anthropic/claude-3.5-sonnet":{input:3,output:15},"anthropic/claude-3.5-sonnet:beta":{input:3,output:15},"anthropic/claude-3-opus":{input:15,output:75},"anthropic/claude-3-sonnet":{input:3,output:15},"anthropic/claude-3-haiku":{input:.25,output:1.25},"openai/gpt-4o":{input:5,output:15},"openai/gpt-4o-mini":{input:.15,output:.6},"openai/gpt-4-turbo":{input:10,output:30},"openai/gpt-3.5-turbo":{input:.5,output:1.5},"google/gemini-pro":{input:.125,output:.375},"google/gemini-pro-1.5":{input:3.5,output:10.5},"meta-llama/llama-3.1-70b-instruct":{input:.59,output:.79},"meta-llama/llama-3.1-8b-instruct":{input:.06,output:.06},"mistralai/mistral-large":{input:2,output:6},"mistralai/mixtral-8x7b-instruct":{input:.24,output:.24},"mistralai/mistral-7b-instruct":{input:.06,output:.06},default:{input:1,output:3}},G=class{type="openai";name="OpenRouter";config;requestId=0;cachedModels=null;constructor(t={}){this.config={...ue,...t}}async isAvailable(){if(!this.getApiKey())return!1;try{return(await this.healthCheck()).healthy}catch{return!1}}async healthCheck(){if(!this.getApiKey())return{healthy:!1,error:"API key not configured. Set OPENROUTER_API_KEY environment variable."};let e=Date.now();try{let r=await this.fetchWithTimeout(`${this.getBaseUrl()}/models`,{method:"GET",headers:this.getHeaders()},5e3),s=Date.now()-e;if(!r.ok){let i=await r.text();return{healthy:!1,latencyMs:s,error:`API error: ${r.status} - ${i}`}}let o=(await r.json()).data?.map(i=>i.id)||[];return this.cachedModels=o,{healthy:!0,latencyMs:s,models:o.slice(0,20),details:{totalModels:o.length,defaultModel:this.config.model}}}catch(r){return{healthy:!1,error:r instanceof Error?r.message:"Unknown error"}}}async generate(t,e){if(!this.getApiKey())throw a("OpenRouter API key not configured","API_KEY_MISSING",{provider:"openai",retryable:!1});let s=this.formatMessages(t,e?.systemPrompt),n=e?.model??this.config.model,o=e?.maxTokens??this.config.maxTokens??4096,i=e?.temperature??this.config.temperature??.7,l=`openrouter-${++this.requestId}-${Date.now()}`,m=Date.now(),h={model:n,max_tokens:o,temperature:i,messages:s};e?.stopSequences&&e.stopSequences.length>0&&(h.stop=e.stopSequences),this.config.allowFallback!==void 0&&(h.route=this.config.allowFallback?"fallback":void 0),this.config.forceProvider&&(h.provider={order:[this.config.forceProvider]});try{let c=await this.fetchWithRetry(`${this.getBaseUrl()}/chat/completions`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify(h)},e?.timeoutMs??this.config.timeoutMs??6e4,this.config.maxRetries??3),u=Date.now()-m;if(!c.ok){let g=await c.json().catch(()=>({error:{message:"Unknown error",type:"unknown",code:null}}));throw this.handleApiError(c.status,g,n)}let p=await c.json(),d={promptTokens:p.usage?.prompt_tokens??0,completionTokens:p.usage?.completion_tokens??0,totalTokens:p.usage?.total_tokens??0},f=this.calculateCost(n,d);return T.recordTokenUsage(l,"openrouter-provider","llm","generate",{inputTokens:d.promptTokens,outputTokens:d.completionTokens,totalTokens:d.totalTokens,estimatedCostUsd:f.totalCost}),{content:p.choices[0]?.message?.content??"",model:p.model,provider:"openai",usage:d,cost:f,latencyMs:u,finishReason:this.mapFinishReason(p.choices[0]?.finish_reason),cached:!1,requestId:l}}catch(c){throw c instanceof Error&&"code"in c?c:a(c instanceof Error?c.message:"Request failed","NETWORK_ERROR",{provider:"openai",model:n,retryable:!0,cause:c})}}async*generateStream(t,e){if(!this.getApiKey())throw a("OpenRouter API key not configured","API_KEY_MISSING",{provider:"openai",retryable:!1});let s=this.formatMessages(t,e?.systemPrompt),n=e?.model??this.config.model,o=e?.maxTokens??this.config.maxTokens??4096,i=e?.temperature??this.config.temperature??.7,l=`openrouter-stream-${++this.requestId}-${Date.now()}`,m=Date.now(),h={model:n,max_tokens:o,temperature:i,messages:s,stream:!0};e?.stopSequences&&e.stopSequences.length>0&&(h.stop=e.stopSequences);let c=await this.fetchWithTimeout(`${this.getBaseUrl()}/chat/completions`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify(h)},e?.timeoutMs??this.config.timeoutMs??6e4);if(!c.ok){let M=await c.json().catch(()=>({error:{message:"Unknown error",type:"unknown",code:null}}));throw this.handleApiError(c.status,M,n)}if(!c.body)throw a("No response body for streaming","NETWORK_ERROR",{provider:"openai",model:n,retryable:!0});let u="",p="stop",d=n,f=c.body.getReader(),y=new TextDecoder,g="";try{for(;;){let{done:M,value:V}=await f.read();if(M)break;g+=y.decode(V,{stream:!0});let x=g.split(`
|
|
11
|
-
`);g=x.pop()||"";for(let _ of x){let P=_.trim();if(!(!P||P==="data: [DONE]")&&P.startsWith("data: "))try{let I=N(P.slice(6)),Y=I.choices[0]?.delta;Y?.content&&(u+=Y.content,yield Y.content),I.choices[0]?.finish_reason&&(p=this.mapFinishReason(I.choices[0].finish_reason)),I.model&&(d=I.model)}catch{}}}}finally{f.releaseLock()}let C=Date.now()-m,R=Math.ceil(JSON.stringify(s).length/4),O=Math.ceil(u.length/4),w={promptTokens:R,completionTokens:O,totalTokens:R+O},S=this.calculateCost(n,w);return T.recordTokenUsage(l,"openrouter-provider","llm","generate-stream",{inputTokens:w.promptTokens,outputTokens:w.completionTokens,totalTokens:w.totalTokens,estimatedCostUsd:S.totalCost}),{content:u,model:d,provider:"openai",usage:w,cost:S,latencyMs:C,finishReason:p,cached:!1,requestId:l}}async embed(t,e){if(!this.getApiKey())throw a("OpenRouter API key not configured","API_KEY_MISSING",{provider:"openai",retryable:!1});let s=e?.model??"openai/text-embedding-3-small",n=Date.now();try{let o=await this.fetchWithTimeout(`${this.getBaseUrl()}/embeddings`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({model:s,input:t})},e?.timeoutMs??this.config.timeoutMs??3e4),i=Date.now()-n;if(!o.ok){let m=await o.json().catch(()=>({error:{message:"Unknown error",type:"unknown",code:null}}));throw this.handleApiError(o.status,m,s)}let l=await o.json();return{embedding:l.data[0].embedding,model:l.model,provider:"openai",tokenCount:l.usage.total_tokens,latencyMs:i,cached:!1}}catch(o){throw o instanceof Error&&"code"in o?o:a(o instanceof Error?o.message:"Embedding request failed","NETWORK_ERROR",{provider:"openai",model:s,retryable:!0,cause:o})}}async complete(t,e){let r=await this.generate(t,{model:e?.model,temperature:e?.temperature??.2,maxTokens:e?.maxTokens??256,stopSequences:e?.stopSequences??[`
|
|
12
|
-
|
|
13
|
-
`]});return{completion:r.content,model:r.model,provider:"openai",usage:r.usage,latencyMs:r.latencyMs,cached:r.cached}}getConfig(){return{...this.config}}getSupportedModels(){return this.cachedModels?this.cachedModels:["anthropic/claude-3.5-sonnet","anthropic/claude-3-opus","anthropic/claude-3-sonnet","anthropic/claude-3-haiku","openai/gpt-4o","openai/gpt-4o-mini","openai/gpt-4-turbo","openai/gpt-3.5-turbo","google/gemini-pro","google/gemini-pro-1.5","meta-llama/llama-3.1-70b-instruct","meta-llama/llama-3.1-8b-instruct","mistralai/mistral-large","mistralai/mixtral-8x7b-instruct"]}getCostPerToken(){let t=z[this.config.model]||z.default;return{input:t.input/1e6,output:t.output/1e6}}async dispose(){this.cachedModels=null}calculateCost(t,e){let r=z[t]||z.default,s=e.promptTokens/1e6*r.input,n=e.completionTokens/1e6*r.output;return{inputCost:s,outputCost:n,totalCost:s+n,currency:"USD"}}getApiKey(){return this.config.apiKey??process.env.OPENROUTER_API_KEY}getBaseUrl(){return(this.config.baseUrl??"https://openrouter.ai/api/v1").replace(/\/$/,"")}getHeaders(){let t={"Content-Type":"application/json",Authorization:`Bearer ${this.getApiKey()}`};return this.config.siteUrl&&(t["HTTP-Referer"]=this.config.siteUrl),this.config.siteName&&(t["X-Title"]=this.config.siteName),t}formatMessages(t,e){let r=[];if(typeof t=="string")e&&r.push({role:"system",content:e}),r.push({role:"user",content:t});else{let s=t.some(n=>n.role==="system");e&&!s&&r.push({role:"system",content:e});for(let n of t)r.push({role:n.role,content:n.content})}return r}mapFinishReason(t){switch(t){case"stop":return"stop";case"length":return"length";case"content_filter":return"content_filter";case"tool_calls":return"stop";default:return"stop"}}handleApiError(t,e,r){let s=e.error?.message??"Unknown API error",n=e.error?.type??"",o=e.error?.code;switch(t){case 401:throw a(s,"API_KEY_INVALID",{provider:"openai",model:r,retryable:!1});case 402:throw a(s,"COST_LIMIT_EXCEEDED",{provider:"openai",model:r,retryable:!1});case 429:throw a(s,"RATE_LIMITED",{provider:"openai",model:r,retryable:!0,retryAfterMs:6e4});case 400:throw o==="context_length_exceeded"||n==="invalid_request_error"?a(s,"CONTEXT_LENGTH_EXCEEDED",{provider:"openai",model:r,retryable:!1}):a(s,"UNKNOWN",{provider:"openai",model:r,retryable:!1});case 404:throw a(s,"MODEL_NOT_FOUND",{provider:"openai",model:r,retryable:!1});case 500:case 502:case 503:throw a(s,"PROVIDER_UNAVAILABLE",{provider:"openai",model:r,retryable:!0,retryAfterMs:5e3});default:throw a(s,"UNKNOWN",{provider:"openai",model:r,retryable:!1})}}async fetchWithTimeout(t,e,r){let s=new AbortController,n=setTimeout(()=>s.abort(),r);try{return await fetch(t,{...e,signal:s.signal})}catch(o){throw o instanceof Error&&o.name==="AbortError"?a("Request timed out","TIMEOUT",{provider:"openai",retryable:!0}):o}finally{clearTimeout(n)}}async fetchWithRetry(t,e,r,s){let n;for(let o=0;o<s;o++)try{let i=await this.fetchWithTimeout(t,e,r);if(i.status>=400&&i.status<500&&i.status!==429)return i;if((i.status>=500||i.status===429)&&o<s-1){let l=k(o);await this.sleep(l);continue}return i}catch(i){if(n=v(i),o<s-1){let l=k(o);await this.sleep(l)}}throw n??new Error("Request failed after retries")}sleep(t){return new Promise(e=>setTimeout(e,t))}};L();Q();var pe={model:"gemini-1.5-pro",maxTokens:8192,temperature:.7,timeoutMs:6e4,maxRetries:3,enableCache:!0,enableCircuitBreaker:!0,baseUrl:"https://generativelanguage.googleapis.com/v1beta",safetyThreshold:"BLOCK_MEDIUM_AND_ABOVE"},$={"gemini-pro":{input:.5,output:1.5},"gemini-1.0-pro":{input:.5,output:1.5},"gemini-1.5-pro":{input:3.5,output:10.5},"gemini-1.5-pro-latest":{input:3.5,output:10.5},"gemini-1.5-flash":{input:.075,output:.3},"gemini-1.5-flash-latest":{input:.075,output:.3},"gemini-2.0-flash-exp":{input:.075,output:.3},"gemini-ultra":{input:7,output:21},"gemini-1.0-ultra":{input:7,output:21},default:{input:1,output:3}},W=class{type="gemini";name="Google Gemini";config;requestId=0;cachedModels=null;constructor(t={}){this.config={...pe,...t}}async isAvailable(){if(!this.getApiKey())return!1;try{return(await this.healthCheck()).healthy}catch{return!1}}async healthCheck(){let t=this.getApiKey();if(!t)return{healthy:!1,error:"API key not configured. Set GOOGLE_AI_API_KEY or GEMINI_API_KEY environment variable."};let e=Date.now();try{let r=await this.fetchWithTimeout(`${this.getBaseUrl()}/models?key=${t}`,{method:"GET",headers:{"Content-Type":"application/json"}},5e3),s=Date.now()-e;if(!r.ok){let i=await r.text();return{healthy:!1,latencyMs:s,error:`API error: ${r.status} - ${i}`}}let o=(await r.json()).models?.filter(i=>i.supportedGenerationMethods?.includes("generateContent")).map(i=>i.name.replace("models/",""))||[];return this.cachedModels=o,{healthy:!0,latencyMs:s,models:o.slice(0,20),details:{totalModels:o.length,defaultModel:this.config.model}}}catch(r){return{healthy:!1,error:r instanceof Error?r.message:"Unknown error"}}}async generate(t,e){let r=this.getApiKey();if(!r)throw a("Gemini API key not configured","API_KEY_MISSING",{provider:"gemini",retryable:!1});let s=this.formatContents(t),n=e?.model??this.config.model,o=e?.maxTokens??this.config.maxTokens??8192,i=e?.temperature??this.config.temperature??.7,l=`gemini-${++this.requestId}-${Date.now()}`,m=Date.now(),h={contents:s,generationConfig:{maxOutputTokens:o,temperature:i,topP:this.config.topP}};e?.systemPrompt&&(h.systemInstruction={parts:[{text:e.systemPrompt}]}),e?.stopSequences&&e.stopSequences.length>0&&(h.generationConfig.stopSequences=e.stopSequences);try{let c=await this.fetchWithRetry(`${this.getBaseUrl()}/models/${n}:generateContent?key=${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(h)},e?.timeoutMs??this.config.timeoutMs??6e4,this.config.maxRetries??3),u=Date.now()-m;if(!c.ok){let g=await c.json().catch(()=>({error:{message:"Unknown error",code:0,status:"UNKNOWN"}}));throw this.handleApiError(c.status,g,n)}let p=await c.json(),d={promptTokens:p.usageMetadata?.promptTokenCount??0,completionTokens:p.usageMetadata?.candidatesTokenCount??0,totalTokens:p.usageMetadata?.totalTokenCount??0},f=this.calculateCost(n,d);return T.recordTokenUsage(l,"gemini-provider","llm","generate",{inputTokens:d.promptTokens,outputTokens:d.completionTokens,totalTokens:d.totalTokens,estimatedCostUsd:f.totalCost}),{content:p.candidates[0]?.content?.parts?.map(g=>g.text??"").join("")??"",model:p.modelVersion??n,provider:"gemini",usage:d,cost:f,latencyMs:u,finishReason:this.mapFinishReason(p.candidates[0]?.finishReason),cached:!1,requestId:l}}catch(c){throw c instanceof Error&&"code"in c?c:a(c instanceof Error?c.message:"Request failed","NETWORK_ERROR",{provider:"gemini",model:n,retryable:!0,cause:c})}}async*generateStream(t,e){let r=this.getApiKey();if(!r)throw a("Gemini API key not configured","API_KEY_MISSING",{provider:"gemini",retryable:!1});let s=this.formatContents(t),n=e?.model??this.config.model,o=e?.maxTokens??this.config.maxTokens??8192,i=e?.temperature??this.config.temperature??.7,l=`gemini-stream-${++this.requestId}-${Date.now()}`,m=Date.now(),h={contents:s,generationConfig:{maxOutputTokens:o,temperature:i}};e?.systemPrompt&&(h.systemInstruction={parts:[{text:e.systemPrompt}]});let c=await this.fetchWithTimeout(`${this.getBaseUrl()}/models/${n}:streamGenerateContent?key=${r}&alt=sse`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(h)},e?.timeoutMs??this.config.timeoutMs??6e4);if(!c.ok){let w=await c.json().catch(()=>({error:{message:"Unknown error",code:0,status:"UNKNOWN"}}));throw this.handleApiError(c.status,w,n)}if(!c.body)throw a("No response body for streaming","NETWORK_ERROR",{provider:"gemini",model:n,retryable:!0});let u="",p="stop",d={promptTokens:0,completionTokens:0,totalTokens:0},f=c.body.getReader(),y=new TextDecoder,g="";try{for(;;){let{done:w,value:S}=await f.read();if(w)break;g+=y.decode(S,{stream:!0});let M=g.split(`
|
|
14
|
-
`);g=M.pop()||"";for(let V of M){let x=V.trim();if(!(!x||!x.startsWith("data: ")))try{let _=N(x.slice(6)),P=_.candidates?.[0]?.content?.parts?.map(I=>I.text??"").join("")??"";P&&(u+=P,yield P),_.candidates?.[0]?.finishReason&&(p=this.mapFinishReason(_.candidates[0].finishReason)),_.usageMetadata&&(d={promptTokens:_.usageMetadata.promptTokenCount,completionTokens:_.usageMetadata.candidatesTokenCount,totalTokens:_.usageMetadata.totalTokenCount})}catch{}}}}finally{f.releaseLock()}let C=Date.now()-m,R=d.totalTokens>0?d:{promptTokens:Math.ceil(JSON.stringify(s).length/4),completionTokens:Math.ceil(u.length/4),totalTokens:0};R.totalTokens=R.promptTokens+R.completionTokens;let O=this.calculateCost(n,R);return T.recordTokenUsage(l,"gemini-provider","llm","generate-stream",{inputTokens:R.promptTokens,outputTokens:R.completionTokens,totalTokens:R.totalTokens,estimatedCostUsd:O.totalCost}),{content:u,model:n,provider:"gemini",usage:R,cost:O,latencyMs:C,finishReason:p,cached:!1,requestId:l}}async embed(t,e){let r=this.getApiKey();if(!r)throw a("Gemini API key not configured","API_KEY_MISSING",{provider:"gemini",retryable:!1});let s=e?.model??"text-embedding-004",n=Date.now();try{let o=await this.fetchWithTimeout(`${this.getBaseUrl()}/models/${s}:embedContent?key=${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:{parts:[{text:t}]}})},e?.timeoutMs??this.config.timeoutMs??3e4),i=Date.now()-n;if(!o.ok){let m=await o.json().catch(()=>({error:{message:"Unknown error",code:0,status:"UNKNOWN"}}));throw this.handleApiError(o.status,m,s)}return{embedding:(await o.json()).embedding.values,model:s,provider:"gemini",tokenCount:Math.ceil(t.length/4),latencyMs:i,cached:!1}}catch(o){throw o instanceof Error&&"code"in o?o:a(o instanceof Error?o.message:"Embedding request failed","NETWORK_ERROR",{provider:"gemini",model:s,retryable:!0,cause:o})}}async complete(t,e){let r=await this.generate(t,{model:e?.model,temperature:e?.temperature??.2,maxTokens:e?.maxTokens??256,stopSequences:e?.stopSequences??[`
|
|
15
|
-
|
|
16
|
-
`]});return{completion:r.content,model:r.model,provider:"gemini",usage:r.usage,latencyMs:r.latencyMs,cached:r.cached}}getConfig(){return{...this.config}}getSupportedModels(){return this.cachedModels?this.cachedModels:["gemini-pro","gemini-1.0-pro","gemini-1.5-pro","gemini-1.5-pro-latest","gemini-1.5-flash","gemini-1.5-flash-latest","gemini-2.0-flash-exp","gemini-ultra"]}getCostPerToken(){let t=$[this.config.model]||$.default;return{input:t.input/1e6,output:t.output/1e6}}async dispose(){this.cachedModels=null}calculateCost(t,e){let r=$[t]||$.default,s=e.promptTokens/1e6*r.input,n=e.completionTokens/1e6*r.output;return{inputCost:s,outputCost:n,totalCost:s+n,currency:"USD"}}getApiKey(){return this.config.apiKey??process.env.GOOGLE_AI_API_KEY??process.env.GEMINI_API_KEY}getBaseUrl(){return(this.config.baseUrl??"https://generativelanguage.googleapis.com/v1beta").replace(/\/$/,"")}formatContents(t){return typeof t=="string"?[{role:"user",parts:[{text:t}]}]:t.filter(e=>e.role!=="system").map(e=>({role:e.role==="assistant"?"model":"user",parts:[{text:e.content}]}))}mapFinishReason(t){switch(t){case"STOP":return"stop";case"MAX_TOKENS":return"length";case"SAFETY":return"content_filter";case"RECITATION":return"content_filter";default:return"stop"}}handleApiError(t,e,r){let s=e.error?.message??"Unknown API error",n=e.error?.status??"";switch(t){case 400:throw s.includes("token")||s.includes("length")||s.includes("exceeds")?a(s,"CONTEXT_LENGTH_EXCEEDED",{provider:"gemini",model:r,retryable:!1}):s.includes("API key")?a(s,"API_KEY_INVALID",{provider:"gemini",model:r,retryable:!1}):a(s,"UNKNOWN",{provider:"gemini",model:r,retryable:!1});case 401:case 403:throw a(s,"API_KEY_INVALID",{provider:"gemini",model:r,retryable:!1});case 404:throw a(s,"MODEL_NOT_FOUND",{provider:"gemini",model:r,retryable:!1});case 429:throw a(s,"RATE_LIMITED",{provider:"gemini",model:r,retryable:!0,retryAfterMs:6e4});case 500:case 502:case 503:throw a(s,"PROVIDER_UNAVAILABLE",{provider:"gemini",model:r,retryable:!0,retryAfterMs:5e3});default:throw a(s,"UNKNOWN",{provider:"gemini",model:r,retryable:!1})}}async fetchWithTimeout(t,e,r){let s=new AbortController,n=setTimeout(()=>s.abort(),r);try{return await fetch(t,{...e,signal:s.signal})}catch(o){throw o instanceof Error&&o.name==="AbortError"?a("Request timed out","TIMEOUT",{provider:"gemini",retryable:!0}):o}finally{clearTimeout(n)}}async fetchWithRetry(t,e,r,s){let n;for(let o=0;o<s;o++)try{let i=await this.fetchWithTimeout(t,e,r);if(i.status>=400&&i.status<500&&i.status!==429)return i;if((i.status>=500||i.status===429)&&o<s-1){let l=k(o);await this.sleep(l);continue}return i}catch(i){if(n=v(i),o<s-1){let l=k(o);await this.sleep(l)}}throw n??new Error("Request failed after retries")}sleep(t){return new Promise(e=>setTimeout(e,t))}};L();var de={model:"gpt-4o",maxTokens:4096,temperature:.7,timeoutMs:6e4,maxRetries:3,enableCache:!0,enableCircuitBreaker:!0,apiVersion:"2024-02-15-preview"},j=class{type="azure-openai";name="Azure OpenAI";config;requestId=0;constructor(t){this.config={...de,...t}}async isAvailable(){let t=this.getEndpoint(),e=this.getApiKey()||this.getAzureAdToken();if(!t||!e||!this.config.deploymentId)return!1;try{return(await this.healthCheck()).healthy}catch{return!1}}async healthCheck(){let t=this.getEndpoint(),e=this.getApiKey()||this.getAzureAdToken();if(!t)return{healthy:!1,error:"Azure endpoint not configured. Set AZURE_OPENAI_ENDPOINT environment variable."};if(!e)return{healthy:!1,error:"Azure authentication not configured. Set AZURE_OPENAI_API_KEY or provide azureAdToken."};if(!this.config.deploymentId)return{healthy:!1,error:"Deployment ID not configured. Set AZURE_OPENAI_DEPLOYMENT or provide deploymentId."};let r=Date.now();try{let s=await this.fetchWithTimeout(this.buildUrl("chat/completions"),{method:"POST",headers:this.getHeaders(),body:JSON.stringify({max_tokens:1,messages:[{role:"user",content:"Hi"}]})},5e3),n=Date.now()-r;if(!s.ok){let o=await s.text();return{healthy:!1,latencyMs:n,error:`API error: ${s.status} - ${o}`}}return{healthy:!0,latencyMs:n,models:this.getSupportedModels(),details:{endpoint:this.getEndpoint(),deploymentId:this.config.deploymentId,apiVersion:this.config.apiVersion,authType:this.getAzureAdToken()?"Azure AD":"API Key"}}}catch(s){return{healthy:!1,error:s instanceof Error?s.message:"Unknown error"}}}async generate(t,e){let r=this.getEndpoint(),s=this.getApiKey()||this.getAzureAdToken();if(!r||!s)throw a("Azure OpenAI not configured","API_KEY_MISSING",{provider:"azure-openai",retryable:!1});let n=this.formatMessages(t,e?.systemPrompt),o=e?.model??this.config.model??"gpt-4o",i=e?.maxTokens??this.config.maxTokens??4096,l=e?.temperature??this.config.temperature??.7,m=`azure-openai-${++this.requestId}-${Date.now()}`,h=Date.now(),c={max_tokens:i,temperature:l,messages:n};e?.stopSequences&&e.stopSequences.length>0&&(c.stop=e.stopSequences),this.config.presencePenalty!==void 0&&(c.presence_penalty=this.config.presencePenalty),this.config.frequencyPenalty!==void 0&&(c.frequency_penalty=this.config.frequencyPenalty);try{let u=await this.fetchWithRetry(this.buildUrl("chat/completions"),{method:"POST",headers:this.getHeaders(),body:JSON.stringify(c)},e?.timeoutMs??this.config.timeoutMs??6e4,this.config.maxRetries??3),p=Date.now()-h;if(!u.ok){let C=await u.json().catch(()=>({error:{message:"Unknown error",type:"unknown",code:null}}));throw this.handleApiError(u.status,C,o)}let d=await u.json(),f={promptTokens:d.usage.prompt_tokens,completionTokens:d.usage.completion_tokens,totalTokens:d.usage.total_tokens},y=E.calculateCost(o,f);return T.recordTokenUsage(m,"azure-openai-provider","llm","generate",{inputTokens:d.usage.prompt_tokens,outputTokens:d.usage.completion_tokens,totalTokens:d.usage.total_tokens,estimatedCostUsd:y.totalCost}),{content:d.choices[0]?.message?.content??"",model:d.model,provider:"azure-openai",usage:f,cost:y,latencyMs:p,finishReason:this.mapFinishReason(d.choices[0]?.finish_reason),cached:!1,requestId:m}}catch(u){throw u instanceof Error&&"code"in u?u:a(u instanceof Error?u.message:"Request failed","NETWORK_ERROR",{provider:"azure-openai",model:o,retryable:!0,cause:u})}}async embed(t,e){let r=this.getEndpoint(),s=this.getApiKey()||this.getAzureAdToken();if(!r||!s)throw a("Azure OpenAI not configured","API_KEY_MISSING",{provider:"azure-openai",retryable:!1});let n=e?.model??this.config.deploymentId,o=Date.now();try{let i=await this.fetchWithTimeout(this.buildUrl("embeddings",n),{method:"POST",headers:this.getHeaders(),body:JSON.stringify({input:t})},e?.timeoutMs??this.config.timeoutMs??3e4),l=Date.now()-o;if(!i.ok){let h=await i.json().catch(()=>({error:{message:"Unknown error",type:"unknown",code:null}}));throw this.handleApiError(i.status,h,n)}let m=await i.json();return{embedding:m.data[0].embedding,model:m.model,provider:"azure-openai",tokenCount:m.usage.total_tokens,latencyMs:l,cached:!1}}catch(i){throw i instanceof Error&&"code"in i?i:a(i instanceof Error?i.message:"Embedding request failed","NETWORK_ERROR",{provider:"azure-openai",model:n,retryable:!0,cause:i})}}async complete(t,e){let r=await this.generate(t,{model:e?.model,temperature:e?.temperature??.2,maxTokens:e?.maxTokens??256,stopSequences:e?.stopSequences??[`
|
|
17
|
-
|
|
18
|
-
`]});return{completion:r.content,model:r.model,provider:"azure-openai",usage:r.usage,latencyMs:r.latencyMs,cached:r.cached}}getConfig(){return{...this.config}}getSupportedModels(){return["gpt-4o","gpt-4o-mini","gpt-4-turbo","gpt-4","gpt-35-turbo","text-embedding-ada-002","text-embedding-3-small","text-embedding-3-large"]}getCostPerToken(){return E.getCostPerToken(this.config.model??"gpt-4o")}async dispose(){}getApiKey(){return this.config.apiKey??process.env.AZURE_OPENAI_API_KEY}getAzureAdToken(){return this.config.azureAdToken}getEndpoint(){return(this.config.endpoint??process.env.AZURE_OPENAI_ENDPOINT)?.replace(/\/$/,"")}getApiVersion(){return this.config.apiVersion??process.env.AZURE_OPENAI_API_VERSION??"2024-02-15-preview"}buildUrl(t,e){let r=this.getEndpoint(),s=e??this.config.deploymentId,n=this.getApiVersion();return`${r}/openai/deployments/${s}/${t}?api-version=${n}`}getHeaders(){let t={"Content-Type":"application/json"},e=this.getAzureAdToken();if(e)t.Authorization=`Bearer ${e}`;else{let r=this.getApiKey();r&&(t["api-key"]=r)}return t}formatMessages(t,e){let r=[];if(typeof t=="string")e&&r.push({role:"system",content:e}),r.push({role:"user",content:t});else{let s=t.some(n=>n.role==="system");e&&!s&&r.push({role:"system",content:e});for(let n of t)r.push({role:n.role,content:n.content})}return r}mapFinishReason(t){switch(t){case"stop":return"stop";case"length":return"length";case"content_filter":return"content_filter";default:return"stop"}}handleApiError(t,e,r){let s=e.error?.message??"Unknown API error",n=e.error?.code??"",o=e.error?.innererror?.code??"";switch(t){case 401:throw a(s,"API_KEY_INVALID",{provider:"azure-openai",model:r,retryable:!1});case 403:throw a(s,"API_KEY_INVALID",{provider:"azure-openai",model:r,retryable:!1});case 429:throw a(s,"RATE_LIMITED",{provider:"azure-openai",model:r,retryable:!0,retryAfterMs:6e4});case 400:throw n==="context_length_exceeded"||o==="context_length_exceeded"?a(s,"CONTEXT_LENGTH_EXCEEDED",{provider:"azure-openai",model:r,retryable:!1}):o==="content_filter"?a(s,"CONTENT_FILTERED",{provider:"azure-openai",model:r,retryable:!1}):a(s,"UNKNOWN",{provider:"azure-openai",model:r,retryable:!1});case 404:throw a(`Deployment not found: ${r}`,"MODEL_NOT_FOUND",{provider:"azure-openai",model:r,retryable:!1});case 500:case 502:case 503:throw a(s,"PROVIDER_UNAVAILABLE",{provider:"azure-openai",model:r,retryable:!0,retryAfterMs:5e3});default:throw a(s,"UNKNOWN",{provider:"azure-openai",model:r,retryable:!1})}}async fetchWithTimeout(t,e,r){let s=new AbortController,n=setTimeout(()=>s.abort(),r);try{return await fetch(t,{...e,signal:s.signal})}catch(o){throw o instanceof Error&&o.name==="AbortError"?a("Request timed out","TIMEOUT",{provider:"azure-openai",retryable:!0}):o}finally{clearTimeout(n)}}async fetchWithRetry(t,e,r,s){let n;for(let o=0;o<s;o++)try{let i=await this.fetchWithTimeout(t,e,r);if(i.status>=400&&i.status<500&&i.status!==429)return i;if((i.status>=500||i.status===429)&&o<s-1){let l=k(o);await this.sleep(l);continue}return i}catch(i){if(n=v(i),o<s-1){let l=k(o);await this.sleep(l)}}throw n??new Error("Request failed after retries")}sleep(t){return new Promise(e=>setTimeout(e,t))}};L();var me={model:"anthropic.claude-3-5-sonnet-20241022-v2:0",region:"us-east-1",maxTokens:4096,temperature:.7,timeoutMs:6e4,maxRetries:3,enableCache:!0,enableCircuitBreaker:!0},Z={"claude-opus-4-5-20251101":"anthropic.claude-opus-4-5-v1:0","claude-opus-4-5":"anthropic.claude-opus-4-5-v1:0","claude-opus-4-20250514":"anthropic.claude-opus-4-v1:0","claude-opus-4":"anthropic.claude-opus-4-v1:0","claude-sonnet-4-5-20250929":"anthropic.claude-sonnet-4-5-v2:0","claude-sonnet-4-5":"anthropic.claude-sonnet-4-5-v2:0","claude-sonnet-4-20250514":"anthropic.claude-sonnet-4-v1:0","claude-sonnet-4":"anthropic.claude-sonnet-4-v1:0","claude-3-5-haiku-20241022":"anthropic.claude-3-5-haiku-v1:0","claude-haiku-3-5":"anthropic.claude-3-5-haiku-v1:0","claude-3-opus-20240229":"anthropic.claude-3-opus-20240229-v1:0","claude-3-sonnet-20240229":"anthropic.claude-3-sonnet-20240229-v1:0","claude-3-haiku-20240307":"anthropic.claude-3-haiku-20240307-v1:0","claude-3-5-sonnet-20241022":"anthropic.claude-3-5-sonnet-20241022-v2:0"},Hr=Object.fromEntries(Object.entries(Z).map(([b,t])=>[t,b])),F=class{type="bedrock";name="AWS Bedrock";config;requestId=0;constructor(t={}){this.config={...me,...t}}async isAvailable(){if(!this.getCredentials())return!1;try{return(await this.healthCheck()).healthy}catch{return!1}}async healthCheck(){if(!this.getCredentials())return{healthy:!1,error:"AWS credentials not configured. Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables, or use IAM role."};let e=Date.now();try{let r=this.mapToBedrockModel(this.config.model),s=await this.invokeModel(r,{anthropic_version:"bedrock-2023-05-31",max_tokens:1,messages:[{role:"user",content:"Hi"}]},5e3),n=Date.now()-e;if(!s.ok){let o=await s.text();return{healthy:!1,latencyMs:n,error:`API error: ${s.status} - ${o}`}}return{healthy:!0,latencyMs:n,models:this.getSupportedModels(),details:{region:this.getRegion(),defaultModel:this.config.model}}}catch(r){return{healthy:!1,error:r instanceof Error?r.message:"Unknown error"}}}async generate(t,e){if(!this.getCredentials())throw a("AWS credentials not configured","API_KEY_MISSING",{provider:"bedrock",retryable:!1});let s=this.formatMessages(t),n=e?.model??this.config.model,o=this.mapToBedrockModel(n),i=e?.maxTokens??this.config.maxTokens??4096,l=e?.temperature??this.config.temperature??.7,m=`bedrock-${++this.requestId}-${Date.now()}`,h=Date.now(),c={anthropic_version:"bedrock-2023-05-31",max_tokens:i,messages:s};l!==void 0&&(c.temperature=Math.min(Math.max(l,0),1)),e?.systemPrompt&&(c.system=e.systemPrompt),e?.stopSequences&&e.stopSequences.length>0&&(c.stop_sequences=e.stopSequences);try{let u=await this.invokeModelWithRetry(o,c,e?.timeoutMs??this.config.timeoutMs??6e4,this.config.maxRetries??3),p=Date.now()-h;if(!u.ok){let C=await u.json().catch(()=>({message:"Unknown error"}));throw this.handleApiError(u.status,C,n)}let d=await u.json(),f={promptTokens:d.usage.input_tokens,completionTokens:d.usage.output_tokens,totalTokens:d.usage.input_tokens+d.usage.output_tokens},y=E.calculateCost(o,f);return T.recordTokenUsage(m,"bedrock-provider","llm","generate",{inputTokens:d.usage.input_tokens,outputTokens:d.usage.output_tokens,totalTokens:d.usage.input_tokens+d.usage.output_tokens,estimatedCostUsd:y.totalCost}),{content:d.content.filter(C=>C.type==="text").map(C=>C.text).join(""),model:o,provider:"bedrock",usage:f,cost:y,latencyMs:p,finishReason:this.mapFinishReason(d.stop_reason),cached:!1,requestId:m}}catch(u){throw u instanceof Error&&"code"in u?u:a(u instanceof Error?u.message:"Request failed","NETWORK_ERROR",{provider:"bedrock",model:n,retryable:!0,cause:u})}}async embed(t,e){throw a("Bedrock Claude models do not support native embeddings. Use Bedrock Titan or Cohere for embeddings.","MODEL_NOT_FOUND",{provider:"bedrock",retryable:!1})}async complete(t,e){let r=await this.generate(t,{model:e?.model,temperature:e?.temperature??.2,maxTokens:e?.maxTokens??256,stopSequences:e?.stopSequences??[`
|
|
19
|
-
|
|
20
|
-
`,"```"]});return{completion:r.content,model:r.model,provider:"bedrock",usage:r.usage,latencyMs:r.latencyMs,cached:r.cached}}getConfig(){return{...this.config}}getSupportedModels(){return Object.keys(Z)}getCostPerToken(){let t=this.mapToBedrockModel(this.config.model);return E.getCostPerToken(t)}async dispose(){}getCredentials(){let t=this.config.accessKeyId??process.env.AWS_ACCESS_KEY_ID,e=this.config.secretAccessKey??process.env.AWS_SECRET_ACCESS_KEY,r=this.config.sessionToken??process.env.AWS_SESSION_TOKEN;return!t||!e?null:{region:this.getRegion(),service:"bedrock",accessKeyId:t,secretAccessKey:e,sessionToken:r}}getRegion(){return this.config.region??process.env.AWS_REGION??process.env.AWS_DEFAULT_REGION??"us-east-1"}mapToBedrockModel(t){if(t.startsWith("anthropic."))return t;let e=Z[t];return e||t}getEndpointUrl(t){let e=this.getRegion();return`${this.config.baseUrl??`https://bedrock-runtime.${e}.amazonaws.com`}/model/${t}/invoke`}async invokeModel(t,e,r){let s=this.getCredentials();if(!s)throw a("AWS credentials not configured","API_KEY_MISSING",{provider:"bedrock",retryable:!1});let n=this.getEndpointUrl(t),o=JSON.stringify(e),i=await this.signRequest(n,o,s);return this.fetchWithTimeout(n,{method:"POST",headers:i,body:o},r)}async invokeModelWithRetry(t,e,r,s){let n;for(let o=0;o<s;o++)try{let i=await this.invokeModel(t,e,r);if(i.status>=400&&i.status<500&&i.status!==429)return i;if((i.status>=500||i.status===429)&&o<s-1){let l=k(o);await this.sleep(l);continue}return i}catch(i){if(n=v(i),o<s-1){let l=k(o);await this.sleep(l)}}throw n??new Error("Request failed after retries")}async signRequest(t,e,r){let s=new URL(t),o=new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),i=o.substring(0,8),l={"Content-Type":"application/json",Host:s.host,"X-Amz-Date":o};r.sessionToken&&(l["X-Amz-Security-Token"]=r.sessionToken);let m="POST",h=s.pathname,c="",u=Object.keys(l).map(M=>M.toLowerCase()).sort().join(";"),p=Object.keys(l).map(M=>`${M.toLowerCase()}:${l[M].trim()}`).sort().join(`
|
|
21
|
-
`)+`
|
|
22
|
-
`,d=await this.sha256(e),f=[m,h,c,p,u,d].join(`
|
|
23
|
-
`),y="AWS4-HMAC-SHA256",g=`${i}/${r.region}/${r.service}/aws4_request`,C=await this.sha256(f),R=[y,o,g,C].join(`
|
|
24
|
-
`),O=await this.getSignatureKey(r.secretAccessKey,i,r.region,r.service),w=await this.hmacHex(O,R),S=`${y} Credential=${r.accessKeyId}/${g}, SignedHeaders=${u}, Signature=${w}`;return{...l,Authorization:S}}async sha256(t){let r=new TextEncoder().encode(t),s=await crypto.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(s)).map(n=>n.toString(16).padStart(2,"0")).join("")}async hmac(t,e){let r=new TextEncoder,s=t instanceof Uint8Array?t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength):t,n=await crypto.subtle.importKey("raw",s,{name:"HMAC",hash:"SHA-256"},!1,["sign"]);return crypto.subtle.sign("HMAC",n,r.encode(e))}async hmacHex(t,e){let r=await this.hmac(t,e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}async getSignatureKey(t,e,r,s){let n=new TextEncoder,o=await this.hmac(n.encode(`AWS4${t}`),e),i=await this.hmac(o,r),l=await this.hmac(i,s);return this.hmac(l,"aws4_request")}formatMessages(t){return typeof t=="string"?[{role:"user",content:t}]:t.filter(e=>e.role!=="system").map(e=>({role:e.role,content:e.content}))}mapFinishReason(t){switch(t){case"end_turn":return"stop";case"max_tokens":return"length";case"stop_sequence":return"stop";default:return"stop"}}handleApiError(t,e,r){let s=e.message??"Unknown API error",n=e.__type??"";switch(t){case 401:case 403:throw a(s,"API_KEY_INVALID",{provider:"bedrock",model:r,retryable:!1});case 429:throw a(s,"RATE_LIMITED",{provider:"bedrock",model:r,retryable:!0,retryAfterMs:6e4});case 400:throw n.includes("ValidationException")&&s.includes("token")?a(s,"CONTEXT_LENGTH_EXCEEDED",{provider:"bedrock",model:r,retryable:!1}):a(s,"UNKNOWN",{provider:"bedrock",model:r,retryable:!1});case 500:case 502:case 503:throw a(s,"PROVIDER_UNAVAILABLE",{provider:"bedrock",model:r,retryable:!0,retryAfterMs:5e3});default:throw a(s,"UNKNOWN",{provider:"bedrock",model:r,retryable:!1})}}async fetchWithTimeout(t,e,r){let s=new AbortController,n=setTimeout(()=>s.abort(),r);try{return await fetch(t,{...e,signal:s.signal})}catch(o){throw o instanceof Error&&o.name==="AbortError"?a("Request timed out","TIMEOUT",{provider:"bedrock",retryable:!0}):o}finally{clearTimeout(n)}}sleep(t){return new Promise(e=>setTimeout(e,t))}};L();var he={primary:"claude",fallbacks:["openai","ollama"],loadBalancing:"round-robin",providers:{},global:{enableCostTracking:!0,enableMetrics:!0}},H=class{providers=new Map;circuitBreakers;cache;costTracker;config;metrics=new Map;roundRobinIndex=0;initialized=!1;constructor(t={},e){this.config={...he,...t},this.circuitBreakers=new U(e?.circuitBreakerConfig),this.cache=new D(e?.cacheConfig),this.costTracker=e?.costTracker??te()}async initialize(){if(!this.initialized){await this.createProviders();for(let t of this.providers.keys())this.initializeMetrics(t);this.initialized=!0}}async generate(t,e){if(await this.ensureInitialized(),!e?.skipCache){let s=typeof t=="string"?t:JSON.stringify(t),n=this.cache.getGeneration(s,{model:e?.model,temperature:e?.temperature,maxTokens:e?.maxTokens,systemPrompt:e?.systemPrompt});if(n)return{...n,cached:!0}}let r=await this.executeWithFailover("generate",async s=>s.generate(t,e),e?.preferredProvider);if(!e?.skipCache){let s=typeof t=="string"?t:JSON.stringify(t);this.cache.setGeneration(s,r,{model:e?.model,temperature:e?.temperature,maxTokens:e?.maxTokens,systemPrompt:e?.systemPrompt})}return this.costTracker.recordUsage(r.provider,r.model,r.usage,r.requestId),r}async embed(t,e){if(await this.ensureInitialized(),!e?.skipCache){let n=this.cache.getEmbedding(t,{model:e?.model});if(n)return{...n,cached:!0}}let r=["openai","ollama"],s=await this.executeWithFailover("embed",async n=>n.embed(t,e),r.find(n=>this.providers.has(n)));return e?.skipCache||this.cache.setEmbedding(t,s,{model:e?.model}),s}async complete(t,e){if(await this.ensureInitialized(),!e?.skipCache){let s=this.cache.getCompletion(t,{model:e?.model,temperature:e?.temperature,maxTokens:e?.maxTokens});if(s)return{...s,cached:!0}}let r=await this.executeWithFailover("complete",async s=>s.complete(t,e));return e?.skipCache||this.cache.setCompletion(t,r,{model:e?.model,temperature:e?.temperature,maxTokens:e?.maxTokens}),r}async healthCheck(){await this.ensureInitialized();let t={};for(let[e,r]of this.providers)t[e]=await r.healthCheck();return t}getProvider(t){return this.providers.get(t)}getAvailableProviders(){let t=[];for(let[e,r]of this.providers)this.circuitBreakers.getBreaker(e).canExecute()&&t.push(e);return t}getMetrics(){let t={};for(let[e,r]of this.metrics){let s=this.circuitBreakers.getBreaker(e),n=r.latencies.slice(-100);t[e]={provider:e,totalRequests:r.totalRequests,successCount:r.successCount,failureCount:r.failureCount,avgLatencyMs:this.calculateAverage(n),p95LatencyMs:this.calculatePercentile(n,95),p99LatencyMs:this.calculatePercentile(n,99),totalCost:r.totalCost,totalTokens:r.totalTokens,circuitState:s.getState()}}return t}getCacheStats(){return this.cache.getStats()}getCostSummary(t="day"){return this.costTracker.getSummary(t)}clearCache(){this.cache.clear()}resetCircuitBreakers(){this.circuitBreakers.resetAll()}async dispose(){for(let t of this.providers.values())await t.dispose();this.providers.clear(),this.metrics.clear(),this.cache.clear(),this.initialized=!1}async createProviders(){let t=new Set([this.config.primary,...this.config.fallbacks]);for(let e of t)try{let r=this.createProvider(e);this.providers.set(e,r)}catch(r){console.warn(`Failed to create ${e} provider: ${r instanceof Error?r.message:"Unknown"}`)}if(this.providers.size===0)throw a("No LLM providers could be initialized","PROVIDER_UNAVAILABLE",{retryable:!1})}createProvider(t){switch(t){case"claude":return new K(this.config.providers.claude);case"openai":return new q(this.config.providers.openai);case"ollama":return new B(this.config.providers.ollama);case"openrouter":return new G(this.config.providers.openrouter);case"gemini":return new W(this.config.providers.gemini);case"azure-openai":{let e=this.config.providers["azure-openai"];if(!e)throw new Error("Azure OpenAI provider requires configuration with deploymentId");return new j(e)}case"bedrock":return new F(this.config.providers.bedrock);default:throw new Error(`Unknown provider type: ${t}`)}}initializeMetrics(t){this.metrics.set(t,{totalRequests:0,successCount:0,failureCount:0,latencies:[],totalCost:0,totalTokens:0})}async executeWithFailover(t,e,r){let s=this.selectProvider(r),n=new Set,o,i=[s.provider.type,...this.config.fallbacks.filter(l=>l!==s.provider.type)];for(let l of i){if(n.has(l))continue;n.add(l);let m=this.providers.get(l);if(!m)continue;let h=this.circuitBreakers.getBreaker(l);if(h.canExecute())try{let c=Date.now(),u=await h.execute(()=>e(m)),p=Date.now()-c;return this.recordSuccess(l,p,u),u}catch(c){if(o=v(c),this.recordFailure(l,o),"retryable"in o&&!o.retryable)throw o}}throw a(`All providers failed for ${t}: ${o?.message??"Unknown error"}`,"PROVIDER_UNAVAILABLE",{retryable:!1,cause:o})}selectProvider(t){if(t){let r=this.providers.get(t),s=this.circuitBreakers.getBreaker(t);if(r&&s.canExecute())return{provider:r,reason:"primary"}}let e=this.getAvailableProviders();if(e.length===0){let r=this.providers.get(this.config.primary);if(r)return{provider:r,reason:"fallback"};throw a("No providers available","PROVIDER_UNAVAILABLE",{retryable:!1})}switch(this.config.loadBalancing){case"round-robin":return this.selectRoundRobin(e);case"least-cost":return this.selectLeastCost(e);case"least-latency":return this.selectLeastLatency(e);case"random":return this.selectRandom(e);default:return this.selectRoundRobin(e)}}selectRoundRobin(t){this.roundRobinIndex=(this.roundRobinIndex+1)%t.length;let e=t[this.roundRobinIndex];return{provider:this.providers.get(e),reason:"load-balance"}}selectLeastCost(t){let e=1/0,r=t[0];for(let s of t){let n=this.providers.get(s),{input:o,output:i}=n.getCostPerToken(),l=o+i;l<e&&(e=l,r=s)}return{provider:this.providers.get(r),reason:"cost-optimization",metadata:{estimatedCost:e}}}selectLeastLatency(t){let e=1/0,r=t[0];for(let s of t){let n=this.metrics.get(s);if(n&&n.latencies.length>0){let o=this.calculateAverage(n.latencies);o<e&&(e=o,r=s)}}return{provider:this.providers.get(r),reason:"latency-optimization",metadata:{avgLatency:e}}}selectRandom(t){let e=ee(0,t.length),r=t[e];return{provider:this.providers.get(r),reason:"load-balance"}}recordSuccess(t,e,r){let s=this.metrics.get(t);if(s&&(s.totalRequests++,s.successCount++,s.latencies.push(e),s.latencies.length>1e3&&(s.latencies=s.latencies.slice(-1e3)),r&&typeof r=="object")){let n=r;n.cost?.totalCost&&(s.totalCost+=n.cost.totalCost),n.usage?.totalTokens&&(s.totalTokens+=n.usage.totalTokens)}}recordFailure(t,e){let r=this.metrics.get(t);r&&(r.totalRequests++,r.failureCount++)}async ensureInitialized(){this.initialized||await this.initialize()}calculateAverage(t){return t.length===0?0:t.reduce((e,r)=>e+r,0)/t.length}calculatePercentile(t,e){if(t.length===0)return 0;let r=[...t].sort((n,o)=>n-o),s=Math.ceil(e/100*r.length)-1;return r[Math.max(0,s)]}};function ws(b){return new H(b)}function Ms(){return new H({primary:"claude",fallbacks:["openai","ollama"],loadBalancing:"least-cost",providers:{claude:{model:"claude-sonnet-4-20250514",maxTokens:8192,temperature:.3},openai:{model:"gpt-4o",maxTokens:8192,temperature:.3},ollama:{model:"llama3.1",maxTokens:4096,temperature:.3}},global:{enableCostTracking:!0,enableMetrics:!0,maxCostPerDay:100}})}export{he as DEFAULT_PROVIDER_MANAGER_CONFIG,H as ProviderManager,ws as createProviderManager,Ms as createQEProviderManager};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a as h,b as i,c as j,d as k,e as l,f as m,g as n}from"./chunk-HGPK3IIX.js";import"./chunk-QEBXLE7N.js";import{a as e,b as f,d as g}from"./chunk-VQIBPHLI.js";import"./chunk-JG6GFIR4.js";import{a,b,c,h as d}from"./chunk-7BYZSHCI.js";import"./chunk-KFNPCKTB.js";import"./chunk-TIKBMCDQ.js";import"./chunk-5RDXUTEB.js";import"./chunk-7WTKRSJW.js";import"./chunk-2DSXKIGI.js";import"./chunk-NMJFMH4E.js";import"./chunk-C3W4M7UY.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import"./chunk-LLC3GJXO.js";import"./chunk-G3XXEPHS.js";import"./chunk-YSNVBAUR.js";import"./chunk-L4TU4IIE.js";import"./chunk-44P37G45.js";import"./chunk-XS7YNHNG.js";import"./chunk-2SPDBBGB.js";import"./chunk-F57L5LEP.js";import"./chunk-QWWYIHND.js";import"./chunk-RRCFW2M3.js";import"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";export{j as AGENT_CAPABILITIES,h as DEFAULT_QE_REASONING_BANK_CONFIG,i as PRETRAINED_PATTERNS,m as QEReasoningBank,l as RELATED_DOMAINS,d as applyPatternTemplate,k as calculateAgentScores,n as createQEReasoningBank,a as detectQEDomain,b as detectQEDomains,g as generateGuidanceContext,f as getCombinedGuidance,e as getGuidance,c as mapQEDomainToAQE};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{c as a,d as b,e as c,f as d}from"./chunk-DKJZW6KO.js";import"./chunk-DZZKBPOK.js";import"./chunk-WUDYOEEV.js";import"./chunk-AIHD3V62.js";import"./chunk-FOONOTJJ.js";import"./chunk-7CSQKBZM.js";import"./chunk-OUCFT3RT.js";import"./chunk-CL6NRSRJ.js";import"./chunk-JG6GFIR4.js";import"./chunk-7BYZSHCI.js";import"./chunk-NMJFMH4E.js";import"./chunk-C3W4M7UY.js";import"./chunk-S37G7A6J.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import"./chunk-LLC3GJXO.js";import"./chunk-G3XXEPHS.js";import"./chunk-YSNVBAUR.js";import"./chunk-L4TU4IIE.js";import"./chunk-44P37G45.js";import"./chunk-XS7YNHNG.js";import"./chunk-2SPDBBGB.js";import"./chunk-F57L5LEP.js";import"./chunk-QWWYIHND.js";import"./chunk-RRCFW2M3.js";import"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";export{a as DOMAIN_GROUPS,c as QueenCoordinator,b as TASK_DOMAIN_MAP,d as createQueenCoordinator};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b,c}from"./chunk-KUU5KPBS.js";import"./chunk-XBG6EFDT.js";import"./chunk-ZWGFOQOS.js";import"./chunk-STVZ2TBG.js";import"./chunk-C2HPZ65V.js";import"./chunk-LLC3GJXO.js";import"./chunk-YSNVBAUR.js";import"./chunk-IFVGKXD2.js";export{a as ModelRouter,b as createModelRouter,c as createModelRouterWithAgentBooster};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b}from"./chunk-PX2LQIS3.js";import"./chunk-5Z3K47TT.js";import"./chunk-C5QJV576.js";import"./chunk-MQTFPGGG.js";import"./chunk-NMJFMH4E.js";import"./chunk-C3W4M7UY.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import"./chunk-LLC3GJXO.js";import"./chunk-YSNVBAUR.js";import"./chunk-44P37G45.js";import"./chunk-XS7YNHNG.js";import"./chunk-2SPDBBGB.js";import"./chunk-F57L5LEP.js";import"./chunk-QWWYIHND.js";import"./chunk-RRCFW2M3.js";import"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";export{a as RoutingFeedbackCollector,b as createRoutingFeedbackCollector};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,f as e}from"./chunk-7WTKRSJW.js";import"./chunk-IFVGKXD2.js";e();export{a as createRvfStore,d as isRvfNativeAvailable,b as openRvfStore,c as openRvfStoreReadonly};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b}from"./chunk-44P37G45.js";import"./chunk-XS7YNHNG.js";import"./chunk-IFVGKXD2.js";b();export{a as openDatabase};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-TFK7FDC4.js";import"./chunk-5BOJ7G3B.js";import"./chunk-N5EQ3Q63.js";import"./chunk-NMJFMH4E.js";import"./chunk-C3W4M7UY.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import"./chunk-LLC3GJXO.js";import"./chunk-YSNVBAUR.js";import"./chunk-L4TU4IIE.js";import"./chunk-44P37G45.js";import"./chunk-XS7YNHNG.js";import"./chunk-2SPDBBGB.js";import"./chunk-F57L5LEP.js";import"./chunk-QWWYIHND.js";import"./chunk-RRCFW2M3.js";import"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";export{a as TestScheduleTool};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b,c,d}from"./chunk-KXNVYDJF.js";import"./chunk-7D352FKW.js";import"./chunk-LLC3GJXO.js";import"./chunk-G3XXEPHS.js";import"./chunk-YSNVBAUR.js";import"./chunk-IFVGKXD2.js";export{a as PersistentScheduler,b as createPersistentScheduler,d as createScheduleEntry,c as generateScheduleId};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b,d as c}from"./chunk-TIKBMCDQ.js";import"./chunk-7WTKRSJW.js";import"./chunk-IFVGKXD2.js";c();export{a as getSharedRvfAdapter,b as resetSharedRvfAdapter};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b,c,d}from"./chunk-KFNPCKTB.js";import"./chunk-2DSXKIGI.js";import"./chunk-NMJFMH4E.js";import"./chunk-C3W4M7UY.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import"./chunk-LLC3GJXO.js";import"./chunk-YSNVBAUR.js";import"./chunk-L4TU4IIE.js";import"./chunk-44P37G45.js";import"./chunk-XS7YNHNG.js";import"./chunk-2SPDBBGB.js";import"./chunk-F57L5LEP.js";import"./chunk-QWWYIHND.js";import"./chunk-RRCFW2M3.js";import"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";export{a as DEFAULT_SQLITE_CONFIG,c as SQLitePatternStore,d as createSQLitePatternStore,b as hashEmbedding};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b,e as f,f as g,g as h,h as i,i as j,j as k,k as l,l as m,m as n,o}from"./chunk-NMJFMH4E.js";import"./chunk-C3W4M7UY.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import"./chunk-LLC3GJXO.js";import"./chunk-YSNVBAUR.js";import"./chunk-44P37G45.js";import"./chunk-XS7YNHNG.js";import{a as c,d,e}from"./chunk-2SPDBBGB.js";import"./chunk-F57L5LEP.js";import"./chunk-QWWYIHND.js";import"./chunk-RRCFW2M3.js";import"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";o();export{a as ALLOWED_TABLE_NAMES,c as BinaryHeap,i as DEFAULT_UNIFIED_MEMORY_CONFIG,d as UnifiedHnswIndex,k as UnifiedMemoryManager,f as clearProjectRootCache,e as createHnswIndex,g as findProjectRoot,h as getDefaultDbPath,j as getResolvedDefaultConfig,l as getUnifiedMemory,m as initializeUnifiedMemory,n as resetUnifiedMemory,b as validateTableName};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f}from"./chunk-2SPDBBGB.js";import"./chunk-F57L5LEP.js";import"./chunk-QWWYIHND.js";import"./chunk-RRCFW2M3.js";import"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";f();export{a as BinaryHeap,b as InMemoryHNSWIndex,c as RuvectorFlatIndex,d as UnifiedHnswIndex,e as createHnswIndex};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e}from"./chunk-Z5CFWIET.js";import"./chunk-NMJFMH4E.js";import"./chunk-C3W4M7UY.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import"./chunk-LLC3GJXO.js";import"./chunk-YSNVBAUR.js";import"./chunk-44P37G45.js";import"./chunk-XS7YNHNG.js";import"./chunk-2SPDBBGB.js";import"./chunk-F57L5LEP.js";import"./chunk-QWWYIHND.js";import"./chunk-RRCFW2M3.js";import"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";export{a as DEFAULT_UNIFIED_CONFIG,b as UnifiedPersistenceManager,c as getUnifiedPersistence,d as initializeUnifiedPersistence,e as resetUnifiedPersistence};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.11");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-O374BYD4.js";import"./chunk-5BOJ7G3B.js";import"./chunk-N5EQ3Q63.js";import"./chunk-NMJFMH4E.js";import"./chunk-C3W4M7UY.js";import"./chunk-7J3CK3UY.js";import"./chunk-5QQVR2PJ.js";import"./chunk-LLC3GJXO.js";import"./chunk-YSNVBAUR.js";import"./chunk-L4TU4IIE.js";import"./chunk-44P37G45.js";import"./chunk-XS7YNHNG.js";import"./chunk-2SPDBBGB.js";import"./chunk-F57L5LEP.js";import"./chunk-QWWYIHND.js";import"./chunk-RRCFW2M3.js";import"./chunk-6RU5DG36.js";import"./chunk-NWUOACDR.js";import"./chunk-K6S2C76B.js";import"./chunk-IFVGKXD2.js";export{a as VisualSecurityTool};
|