agentic-qe 3.9.31 → 3.9.33
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/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +143 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-PSHWPJGO.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-AQXZYWZY.js → agent-booster-wasm-DUOP4SS6.js} +2 -2
- package/dist/cli/chunks/{agent-handler-7N4ZPXCY.js → agent-handler-6AHMQ5OK.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-FLKF2JVX.js → agent-memory-branch-77WTL4KU.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-2WOSQ42V.js +2 -0
- package/dist/cli/chunks/{audit-B4V4IKTA.js → audit-ZRSUAGID.js} +2 -2
- package/dist/cli/chunks/base-QZ6CGEZG.js +2 -0
- package/dist/cli/chunks/{hnswlib-node-WENGW3YX.js → better-sqlite3-QOENX3WX.js} +2 -2
- package/dist/cli/chunks/{brain-handler-OOXJ2KYY.js → brain-handler-EPNKL22C.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-LFKFW3A4.js → branch-enumerator-VVPWHTZ4.js} +2 -2
- package/dist/cli/chunks/{browser-F72IES2I.js → browser-NNQ6UHFJ.js} +2 -2
- package/dist/cli/chunks/browser-workflow-T74U33BJ.js +2 -0
- package/dist/cli/chunks/{chunk-PSF6YQQM.js → chunk-23VQRQCC.js} +3 -3
- package/dist/cli/chunks/{chunk-HHEIQHLQ.js → chunk-24M7JF3G.js} +2 -2
- package/dist/cli/chunks/{chunk-5WWQLPB4.js → chunk-2NRCDJBB.js} +2 -2
- package/dist/cli/chunks/{chunk-GJSH4UZ3.js → chunk-3B5ZAFB2.js} +3 -3
- package/dist/cli/chunks/{heartbeat-scheduler-OH3SS7MH.js → chunk-3J4TTZP7.js} +2 -2
- package/dist/cli/chunks/{chunk-7MXQV7RB.js → chunk-46LV5MI3.js} +2 -2
- package/dist/cli/chunks/{chunk-35SFAIXE.js → chunk-473YM6LV.js} +2 -2
- package/dist/cli/chunks/{chunk-QEJBJST4.js → chunk-4HJAUI2N.js} +1 -1
- package/dist/cli/chunks/{chunk-YMN4C32S.js → chunk-4MRVNLCT.js} +3 -3
- package/dist/cli/chunks/{chunk-JKKV5KKS.js → chunk-54B5QL4A.js} +2 -2
- package/dist/cli/chunks/{chunk-CYUGE5ZQ.js → chunk-5RILQ3EG.js} +1 -1
- package/dist/cli/chunks/{chunk-TJGIIGKL.js → chunk-63SAZCUH.js} +2 -2
- package/dist/cli/chunks/{chunk-XGBIXRKD.js → chunk-6DBS53L7.js} +2 -2
- package/dist/cli/chunks/{chunk-XMMWYQJK.js → chunk-6S5H34AN.js} +2 -2
- package/dist/cli/chunks/{chunk-52D3CYE5.js → chunk-6TC6UCDL.js} +2 -2
- package/dist/cli/chunks/{chunk-DMF4Z2M6.js → chunk-7HRE2VTG.js} +2 -2
- package/dist/cli/chunks/{chunk-AKJWBJDK.js → chunk-7ZMRQKO2.js} +2 -2
- package/dist/cli/chunks/{chunk-OXOXNAEZ.js → chunk-AE7P7VDM.js} +2 -2
- package/dist/cli/chunks/{chunk-7OVVBBOZ.js → chunk-AGMHJ3GS.js} +2 -2
- package/dist/cli/chunks/{chunk-WB6TI6Q3.js → chunk-AL54ARD4.js} +2 -2
- package/dist/cli/chunks/{chunk-5M4F3PAL.js → chunk-AVQS5H7Y.js} +1 -1
- package/dist/cli/chunks/{chunk-SL4TAJOE.js → chunk-B4N7XODV.js} +2 -2
- package/dist/cli/chunks/{chunk-NBKM7NKX.js → chunk-BD6BS2AL.js} +2 -2
- package/dist/cli/chunks/{chunk-ROEIR3OD.js → chunk-BIXDUMZ4.js} +1 -1
- package/dist/cli/chunks/{chunk-5AMAJCZS.js → chunk-BLNISJ3M.js} +3 -3
- package/dist/cli/chunks/{chunk-462MZLJB.js → chunk-BOHAND5J.js} +1 -1
- package/dist/cli/chunks/{chunk-G3YKCZWQ.js → chunk-C2XCETKV.js} +3 -3
- package/dist/cli/chunks/{chunk-A424Z7LA.js → chunk-C5UGKQUG.js} +1 -1
- package/dist/cli/chunks/{chunk-VUL5HIKR.js → chunk-CAZQL4G2.js} +2 -2
- package/dist/cli/chunks/{chunk-K37CNLQZ.js → chunk-CCSISDAP.js} +1 -1
- package/dist/cli/chunks/{chunk-PYYNY7RJ.js → chunk-CG2IM6IA.js} +1 -1
- package/dist/cli/chunks/{chunk-CUSLB7MB.js → chunk-DEXOYNIQ.js} +2 -2
- package/dist/cli/chunks/{chunk-YEZJE2ZW.js → chunk-DLUEORKO.js} +4 -4
- package/dist/cli/chunks/{chunk-RTGNWRQI.js → chunk-EVDEFUJG.js} +2 -2
- package/dist/cli/chunks/{chunk-MAJ5QFVY.js → chunk-EYCV6IYA.js} +1 -1
- package/dist/cli/chunks/{chunk-X2FLWV5C.js → chunk-F6WQ3ES6.js} +2 -2
- package/dist/cli/chunks/{chunk-JJRZOLDY.js → chunk-FEJCPLXV.js} +2 -2
- package/dist/cli/chunks/{chunk-VSKABN3B.js → chunk-FHSCCEHZ.js} +2 -2
- package/dist/cli/chunks/{chunk-7RPEBKQZ.js → chunk-FQQJUIN7.js} +2 -2
- package/dist/cli/chunks/chunk-FRS4DYHG.js +2 -0
- package/dist/cli/chunks/{chunk-M6RVKGIP.js → chunk-GBMKXJKW.js} +2 -2
- package/dist/cli/chunks/{chunk-ONMJJ2C3.js → chunk-GJKTHVFE.js} +1 -1
- package/dist/cli/chunks/{chunk-JRIDPOEZ.js → chunk-GLA2TD4M.js} +4 -4
- package/dist/cli/chunks/{chunk-QITO7E7Y.js → chunk-GU5DISHT.js} +1 -1
- package/dist/cli/chunks/chunk-GVO53VR5.js +2 -0
- package/dist/cli/chunks/{chunk-AQN6PDHI.js → chunk-GY2G2YYH.js} +1 -1
- package/dist/cli/chunks/{chunk-IRRGUXAU.js → chunk-H5AQHFIA.js} +1 -1
- package/dist/cli/chunks/{chunk-G2U7Q6V6.js → chunk-HCAWQ7ZD.js} +2 -2
- package/dist/cli/chunks/{chunk-XTWYCMAM.js → chunk-HJETZJJO.js} +2 -2
- package/dist/cli/chunks/{chunk-T4DDCMKG.js → chunk-HRE4TFMN.js} +140 -140
- package/dist/cli/chunks/{chunk-EKYPQ5DX.js → chunk-HVC3F4IM.js} +1 -1
- package/dist/cli/chunks/{chunk-UIRTXM7C.js → chunk-IQ5OS342.js} +61 -121
- package/dist/cli/chunks/{chunk-TYUIQSSF.js → chunk-IWBJ7KB7.js} +2 -2
- package/dist/cli/chunks/{chunk-PUSZ4NBY.js → chunk-IXWIABRJ.js} +2 -2
- package/dist/cli/chunks/{chunk-UNXUSYRL.js → chunk-IYDZ4NWA.js} +2 -2
- package/dist/cli/chunks/chunk-JEGTTVTL.js +2 -0
- package/dist/cli/chunks/{chunk-L7DNPOAQ.js → chunk-JF4SWEMU.js} +2 -2
- package/dist/cli/chunks/{chunk-GN7FUCJH.js → chunk-JGCTXHHZ.js} +1 -1
- package/dist/cli/chunks/{chunk-3VKB4HVT.js → chunk-JHFQJKTW.js} +2 -2
- package/dist/cli/chunks/{chunk-BMS7WFDB.js → chunk-JJY6K3OI.js} +1 -1
- package/dist/cli/chunks/{chunk-LF5RO6WO.js → chunk-JMSQW6KN.js} +1 -1
- package/dist/cli/chunks/{chunk-QGLWFZVQ.js → chunk-JPJURL4N.js} +2 -2
- package/dist/cli/chunks/{chunk-XNJ6DIEW.js → chunk-JTXZ3MMZ.js} +2 -2
- package/dist/cli/chunks/{chunk-L63KB63A.js → chunk-JYDWDNNZ.js} +2 -2
- package/dist/cli/chunks/{chunk-YQJBE6NX.js → chunk-K5YL3O22.js} +2 -2
- package/dist/cli/chunks/chunk-KD2B54EH.js +2 -0
- package/dist/cli/chunks/{chunk-DUF733Z7.js → chunk-KF3R6OCB.js} +1 -1
- package/dist/cli/chunks/{chunk-XY3WUGD3.js → chunk-KGA5XCHX.js} +2 -2
- package/dist/cli/chunks/{chunk-EJXRBAQF.js → chunk-KLTN2AVK.js} +2 -2
- package/dist/cli/chunks/{chunk-YLEMSN46.js → chunk-KQDWD34T.js} +1 -1
- package/dist/cli/chunks/{chunk-RDJWUKIR.js → chunk-L77OGJVK.js} +2 -2
- package/dist/cli/chunks/{chunk-62KYX5NH.js → chunk-LAPIIGZ2.js} +2 -2
- package/dist/cli/chunks/chunk-LERCHSFI.js +5 -0
- package/dist/cli/chunks/{chunk-VLAGWLHF.js → chunk-LFPYLTNN.js} +2 -2
- package/dist/cli/chunks/{chunk-LRWRFKQH.js → chunk-LICFVB4C.js} +1 -1
- package/dist/cli/chunks/{chunk-N6SIKSCO.js → chunk-LJBVPR3Z.js} +2 -2
- package/dist/cli/chunks/{chunk-GQFAVT2I.js → chunk-LKEQBIX2.js} +1 -1
- package/dist/cli/chunks/chunk-LVCQ4LSA.js +2 -0
- package/dist/cli/chunks/{chunk-XE4YKDIM.js → chunk-LXWXZPEB.js} +2 -2
- package/dist/cli/chunks/{chunk-5G2L4XRU.js → chunk-LYWA4OU6.js} +2 -2
- package/dist/cli/chunks/{chunk-REJEFTWX.js → chunk-MAP6IAOP.js} +1 -1
- package/dist/cli/chunks/{chunk-EAIPJSKH.js → chunk-MCONVCB6.js} +3 -3
- package/dist/cli/chunks/{chunk-TLCCM2AF.js → chunk-MFMPTRZW.js} +1 -1
- package/dist/cli/chunks/{chunk-MYCVU3D3.js → chunk-MI5TV5HT.js} +2 -2
- package/dist/cli/chunks/{chunk-CNKOIHF6.js → chunk-MULV6D5J.js} +2 -2
- package/dist/cli/chunks/{chunk-47QIAHUJ.js → chunk-MZ6GBVQY.js} +2 -2
- package/dist/cli/chunks/{chunk-ZG4EKPGV.js → chunk-N44DNZTM.js} +1 -1
- package/dist/cli/chunks/{chunk-FOAWHNOP.js → chunk-NCTSH4T6.js} +2 -2
- package/dist/cli/chunks/{chunk-NTVJKQ5S.js → chunk-ND33EKHX.js} +2 -2
- package/dist/cli/chunks/{chunk-BYHUGO73.js → chunk-NFFA2UKL.js} +3 -3
- package/dist/cli/chunks/{chunk-YN7HCVUP.js → chunk-NNFWNI6A.js} +2 -2
- package/dist/cli/chunks/{chunk-NNF3GCGF.js → chunk-OPC4ZVSN.js} +2 -2
- package/dist/cli/chunks/{chunk-KXRDQQGN.js → chunk-OXGZKXSI.js} +2 -2
- package/dist/cli/chunks/{chunk-NZQYNUGM.js → chunk-PIINM2PD.js} +2 -2
- package/dist/cli/chunks/{chunk-K6MFAVXK.js → chunk-Q5JL7NZG.js} +2 -2
- package/dist/cli/chunks/{chunk-I3TFGMOQ.js → chunk-QCFJQZXN.js} +1 -1
- package/dist/cli/chunks/{chunk-IY4P35N3.js → chunk-QSH4Y5E6.js} +2 -2
- package/dist/cli/chunks/{chunk-JMLOEW7Y.js → chunk-QYIGUM3F.js} +2 -2
- package/dist/cli/chunks/chunk-R3U7DSLA.js +62 -0
- package/dist/cli/chunks/{chunk-QMSDKKYG.js → chunk-RP2RRUKT.js} +1 -1
- package/dist/cli/chunks/{chunk-ZWSRIJ2T.js → chunk-SFNSMZGU.js} +2 -2
- package/dist/cli/chunks/{chunk-N6P7ENG7.js → chunk-SHAXRSWJ.js} +2 -2
- package/dist/cli/chunks/{chunk-UIIEZMSM.js → chunk-SR2EV7PQ.js} +1 -1
- package/dist/cli/chunks/{chunk-TVHWI77X.js → chunk-TGMZ7K72.js} +1 -1
- package/dist/cli/chunks/{chunk-7V7TP242.js → chunk-TH2BBFJ6.js} +1 -1
- package/dist/cli/chunks/{chunk-ENCFLC44.js → chunk-TIEXYJMS.js} +2 -2
- package/dist/cli/chunks/{chunk-VA45HLBF.js → chunk-TLVEBQCX.js} +2 -2
- package/dist/cli/chunks/chunk-TNQW3FUW.js +29 -0
- package/dist/cli/chunks/{chunk-NLUBN642.js → chunk-U5L7FALK.js} +2 -2
- package/dist/cli/chunks/{chunk-KJAIE7SL.js → chunk-UBOH75WQ.js} +4 -4
- package/dist/cli/chunks/{chunk-CFLA2GBS.js → chunk-UDJLIERV.js} +2 -2
- package/dist/cli/chunks/{chunk-VAIOZDG5.js → chunk-UYMA75Y4.js} +1 -1
- package/dist/cli/chunks/{chunk-ZBJRNCWX.js → chunk-V7GV54AY.js} +2 -2
- package/dist/cli/chunks/{chunk-AKFRM4IO.js → chunk-VJHKNSOC.js} +2 -2
- package/dist/cli/chunks/{chunk-L4JTTPU7.js → chunk-VK7AXSAI.js} +2 -2
- package/dist/cli/chunks/{chunk-FUHPLXJX.js → chunk-VSV6PV47.js} +1 -1
- package/dist/cli/chunks/{chunk-VOOJDHLI.js → chunk-VVGXCLJF.js} +3 -3
- package/dist/cli/chunks/{chunk-CQWZNVIM.js → chunk-WRPQJZSP.js} +2 -2
- package/dist/cli/chunks/{chunk-4N736EES.js → chunk-YCD3EBQJ.js} +2 -2
- package/dist/cli/chunks/{chunk-JF3U456G.js → chunk-YDIHYU7V.js} +2 -2
- package/dist/cli/chunks/{chunk-7UHRT5AX.js → chunk-ZGR5LFER.js} +2 -2
- package/dist/cli/chunks/{chunk-W7XVEWKQ.js → chunk-ZSDK26IP.js} +1 -1
- package/dist/cli/chunks/{chunk-PTOTOBOU.js → chunk-ZUFM5K7F.js} +1 -1
- package/dist/cli/chunks/{ci-LRTJSZHT.js → ci-WZ4E35B6.js} +2 -2
- package/dist/cli/chunks/{ci-output-LISCHUKD.js → ci-output-WMYWSAHI.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-7PMP25KZ.js → circuit-breaker-4E4ZZ47P.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-DOW4QVMC.js → claude-flow-setup-Q37FECGF.js} +2 -2
- package/dist/cli/chunks/client-3YW2WA67.js +2 -0
- package/dist/cli/chunks/{cline-installer-2NXQGW73.js → cline-installer-O7GPSWES.js} +2 -2
- package/dist/cli/chunks/{code-3X6RWAS7.js → code-AEIXP2UD.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-4ABP5WCP.js → code-index-extractor-5RXCWE5W.js} +2 -2
- package/dist/cli/chunks/{codex-installer-V7PII6GL.js → codex-installer-HDPSP2IN.js} +2 -2
- package/dist/cli/chunks/{completions-Y7LNQ63I.js → completions-LYTPZCND.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-XLYMAM6I.js → complexity-analyzer-WBRRBUIA.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-GOT4TKNT.js → continuedev-installer-6KICDS72.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-D6BAQVIO.js → copilot-installer-2YI4SWDH.js} +2 -2
- package/dist/cli/chunks/{cost-tracker-VT7C5Q52.js → cost-tracker-YEVYFYK5.js} +2 -2
- package/dist/cli/chunks/{coverage-C62MRP4M.js → coverage-MO2TU62L.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-2MAV2XPY.js +2 -0
- package/dist/cli/chunks/{cursor-installer-WAWSS2K2.js → cursor-installer-AO2JNN27.js} +2 -2
- package/dist/cli/chunks/daemon-6DWF4GAR.js +16 -0
- package/dist/cli/chunks/daemon-WCSJ3HS2.js +10 -0
- package/dist/cli/chunks/{dag-attention-scheduler-SZIZWPV7.js → dag-attention-scheduler-NI6TAE7Y.js} +2 -2
- package/dist/cli/chunks/{detect-AJX6NJEP.js → detect-3MTKRZEI.js} +2 -2
- package/dist/cli/chunks/{dist-node-E5X47QTY.js → dist-node-32YFXCS3.js} +2 -2
- package/dist/cli/chunks/{domain-handler-FN3PIP45.js → domain-handler-TFVVUKSC.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-N3TOJEMT.js → domain-transfer-7HWX6PVA.js} +2 -2
- package/dist/cli/chunks/dream-4N3YBX36.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-PJI5TZKR.js → embed-and-insert-pattern-GGNDGEHX.js} +2 -2
- package/dist/cli/chunks/{eval-OS54TDQU.js → eval-T2KWZU2L.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-FBM4ANZW.js → experience-capture-middleware-JHQPDNVK.js} +3 -3
- package/dist/cli/chunks/{fast-paths-2CVAAPQO.js → fast-paths-KJQ56NG6.js} +2 -2
- package/dist/cli/chunks/{feature-flags-GEXTW6OT.js → feature-flags-DJU7Z6UH.js} +2 -2
- package/dist/cli/chunks/{feature-flags-A5KFWVFC.js → feature-flags-IPK5DUQM.js} +2 -2
- package/dist/cli/chunks/{file-discovery-KWLVC7KN.js → file-discovery-G5I7VV34.js} +2 -2
- package/dist/cli/chunks/{fleet-MNKH356S.js → fleet-BRKXQGTC.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-ALTWYFVZ.js → gnn-wrapper-F44UEMIK.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-MBMEPEGW.js → heartbeat-handler-4EJQ3VWP.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-5KZS7T6Q.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-A4XK3GZU.js +2 -0
- package/dist/cli/chunks/hnsw-index-TI7LZBWF.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-WTD5PR5V.js → hnsw-legacy-bridge-HVFM7LAR.js} +2 -2
- package/dist/cli/chunks/{better-sqlite3-NYOVLWBG.js → hnswlib-node-SDVX3I7F.js} +2 -2
- package/dist/cli/chunks/{hooks-ELHGEBFK.js → hooks-QFQSVB2C.js} +10 -10
- package/dist/cli/chunks/{hybrid-router-D6ZMIZCE.js → hybrid-router-TZPIYG3I.js} +2 -2
- package/dist/cli/chunks/{hypergraph-engine-JOQ6TERZ.js → hypergraph-engine-HXG5GI27.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-HX45YWWN.js → hypergraph-handler-R4LFFQ3Z.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-NQZBRTZH.js +2 -0
- package/dist/cli/chunks/{init-handler-TNVU6NQ6.js → init-handler-NJKVTURQ.js} +13 -12
- package/dist/cli/chunks/init-wizard-UZR2AKQA.js +2 -0
- package/dist/cli/chunks/kernel-2HFKLNTS.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-YC5RJIY4.js → kilocode-installer-T6CMAQ6P.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-EAB26M55.js → kiro-installer-IOAHUSWU.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-GHICW2ZM.js +2 -0
- package/dist/cli/chunks/{learning-A2OB7D2B.js → learning-2AH5KAFV.js} +3 -3
- package/dist/cli/chunks/{llm-router-KEG6PA7C.js → llm-router-I3YBDMC7.js} +4 -4
- package/dist/cli/chunks/load-MTLOPMP4.js +2 -0
- package/dist/cli/chunks/load-test-DUOZJLRA.js +2 -0
- package/dist/cli/chunks/{mcp-ERJHZ6FN.js → mcp-EEINX3NP.js} +2 -2
- package/dist/cli/chunks/{memory-GSRIJIVR.js → memory-OBDYP5P7.js} +5 -5
- package/dist/cli/chunks/memory-backend-AMPSDQR7.js +2 -0
- package/dist/cli/chunks/memory-handlers-TTMZ2JK6.js +2 -0
- package/dist/cli/chunks/{multi-model-executor-GK3V7ERC.js → multi-model-executor-OCANACFF.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-6TTN26RG.js → opencode-installer-4PNJOOKX.js} +2 -2
- package/dist/cli/chunks/{orchestrator-YVTSM6QW.js → orchestrator-DGIKNLST.js} +5 -5
- package/dist/cli/chunks/{pipeline-EWLJCY5G.js → pipeline-4DZ3FRRT.js} +2 -2
- package/dist/cli/chunks/{platform-2ULHQQME.js → platform-A27VETGX.js} +2 -2
- package/dist/cli/chunks/{plugin-PYN2KOXA.js → plugin-SAIG2MCN.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-IULCTOGZ.js → prime-radiant-advanced-wasm-XBCJETFT.js} +2 -2
- package/dist/cli/chunks/protocol-executor-4HZSMKVG.js +2 -0
- package/dist/cli/chunks/{protocol-handler-FZYI2SBP.js → protocol-handler-NDOZLFK7.js} +2 -2
- package/dist/cli/chunks/{prove-DN7S74SP.js → prove-XVUI5VJL.js} +2 -2
- package/dist/cli/chunks/{provider-manager-FT3MCROB.js → provider-manager-W6CZHTWY.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-OGPCKVDP.js +2 -0
- package/dist/cli/chunks/{quality-ITBU6LGC.js → quality-MRCQ7SDM.js} +2 -2
- package/dist/cli/chunks/queen-coordinator-ETWOFJGR.js +2 -0
- package/dist/cli/chunks/{real-embeddings-PZUZ5RXJ.js → real-embeddings-3NBKHQSF.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-2LMVZOUZ.js → roocode-installer-FPWTSZG7.js} +2 -2
- package/dist/cli/chunks/router-OMWLL5V3.js +2 -0
- package/dist/cli/chunks/routing-feedback-SULO56IE.js +2 -0
- package/dist/cli/chunks/{routing-handler-5RB73UCF.js → routing-handler-SYAT3QTK.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-VBN4APMG.js → ruvector-commands-Y3JV2RC4.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-BNY4AUWT.js → rvf-dual-writer-4IS5JKSA.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-73MKPBGV.js → rvf-migration-adapter-FPEUOS55.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-SGVB7ZAZ.js → rvf-migration-coordinator-FR4NHRNG.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-PFMHXYDR.js +2 -0
- package/dist/cli/chunks/safe-db-V34EBOPG.js +2 -0
- package/dist/cli/chunks/schedule-WJALMS5B.js +2 -0
- package/dist/cli/chunks/scheduler-CBWMQLTY.js +2 -0
- package/dist/cli/chunks/{security-XUH4H7R3.js → security-EPJBWOM2.js} +3 -3
- package/dist/cli/chunks/shared-rvf-adapter-KOZOSWBO.js +2 -0
- package/dist/cli/chunks/{shared-rvf-dual-writer-GML4EDYF.js → shared-rvf-dual-writer-MSUS3ROX.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-7RV55RNF.js +2 -0
- package/dist/cli/chunks/{status-handler-XI7GJF6Z.js → status-handler-7T6ZWWSG.js} +2 -2
- package/dist/cli/chunks/{structural-health-WPCYKOXV.js → structural-health-IT5COKMM.js} +2 -2
- package/dist/cli/chunks/sync-CYTAJ62F.js +17 -0
- package/dist/cli/chunks/sync-MVC5LKWT.js +2 -0
- package/dist/cli/chunks/{task-handler-FZB55IEG.js → task-handler-R5T6DQ62.js} +2 -2
- package/dist/cli/chunks/{task-handlers-EXZGFH7F.js → task-handlers-BQDACRA4.js} +3 -3
- package/dist/cli/chunks/{test-XYRN4OVU.js → test-JQ6DNHJU.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-FLVOPGOT.js → test-scheduling-47CCXYB3.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-FDCFVRHM.js → token-bootstrap-THINRRHA.js} +2 -2
- package/dist/cli/chunks/{token-usage-MHNZF3DM.js → token-usage-AQOWJPTG.js} +2 -2
- package/dist/cli/chunks/{transformers-4CRVTMWY.js → transformers-KRVEZU55.js} +2 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-UDOTWN4W.js +2 -0
- package/dist/cli/chunks/{types-RKCD4BNL.js → types-YZSDKHGD.js} +2 -2
- package/dist/cli/chunks/unified-memory-FHP2C2NF.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-MI27GSUL.js +2 -0
- package/dist/cli/chunks/unified-persistence-67RJXTNL.js +2 -0
- package/dist/cli/chunks/{upgrade-463W7VKH.js → upgrade-UX6VHS4H.js} +2 -2
- package/dist/cli/chunks/{validate-LENSMEAY.js → validate-SUS7IEZG.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-4FEBNAWA.js → validate-swarm-E2YE6GY2.js} +2 -2
- package/dist/cli/chunks/{vibium-TXNVIVWJ.js → vibium-UZMTKRTE.js} +2 -2
- package/dist/cli/chunks/visual-security-JF6AGYOT.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-BZEGWID4.js → web-tree-sitter-XXU37FYS.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-7AFXJTPU.js → windsurf-installer-WRTVYD3Y.js} +2 -2
- package/dist/cli/chunks/{witness-chain-G6SUZOZG.js → witness-chain-6OSAEH67.js} +2 -2
- package/dist/cli/chunks/witness-chain-HNY2ED2G.js +2 -0
- package/dist/cli/chunks/{workflow-EVQPO6FH.js → workflow-7XKEQVKT.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-OPUU4TNV.js +2 -0
- package/dist/cli/chunks/{wrappers-HR6RUDI2.js → wrappers-2HDILUDI.js} +2 -2
- package/dist/cli/handlers/init-handler.js +47 -0
- package/dist/domains/learning-optimization/coordinator-helpers.js +7 -1
- package/dist/domains/learning-optimization/coordinator.js +5 -1
- package/dist/domains/learning-optimization/services/learning-coordinator.js +42 -17
- package/dist/domains/learning-optimization/services/metrics-optimizer.js +4 -1
- package/dist/domains/learning-optimization/services/production-intel.js +14 -5
- package/dist/domains/learning-optimization/services/transfer-specialist.js +12 -4
- package/dist/integrations/embeddings/base/EmbeddingGenerator.d.ts +1 -1
- package/dist/integrations/embeddings/base/EmbeddingGenerator.js +14 -5
- package/dist/kernel/hybrid-backend.d.ts +17 -7
- package/dist/kernel/hybrid-backend.js +24 -10
- package/dist/kernel/interfaces.d.ts +21 -6
- package/dist/kernel/memory-backend.d.ts +5 -5
- package/dist/kernel/memory-backend.js +14 -7
- package/dist/learning/real-embeddings.js +1 -1
- package/dist/mcp/bundle.js +454 -454
- package/dist/mcp/handlers/core-handlers.js +21 -0
- package/dist/shared/parsers/tree-sitter-wasm-parser.js +8 -3
- package/dist/shared/utils/index.d.ts +1 -0
- package/dist/shared/utils/index.js +1 -0
- package/dist/shared/utils/kv-date-rehydrate.d.ts +51 -0
- package/dist/shared/utils/kv-date-rehydrate.js +78 -0
- package/dist/workers/interfaces.d.ts +26 -0
- package/dist/workers/worker-manager.d.ts +15 -12
- package/dist/workers/worker-manager.js +11 -0
- package/dist/workers/workers/learning-consolidation.js +123 -90
- package/package.json +23 -10
- package/dist/cli/chunks/adapter-CI2GZYME.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-KNQKALLI.js +0 -2
- package/dist/cli/chunks/base-P7PRMQWY.js +0 -2
- package/dist/cli/chunks/browser-workflow-QUP4A763.js +0 -2
- package/dist/cli/chunks/chunk-2NLZXG6V.js +0 -2
- package/dist/cli/chunks/chunk-5Z6PYYWK.js +0 -2
- package/dist/cli/chunks/chunk-RBDAHW2M.js +0 -2
- package/dist/cli/chunks/client-XF6SJO2C.js +0 -2
- package/dist/cli/chunks/cross-domain-router-J2OFPM6R.js +0 -2
- package/dist/cli/chunks/daemon-CP2ETHRF.js +0 -19
- package/dist/cli/chunks/dream-D5LD5SOZ.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-M2MMM3N6.js +0 -2
- package/dist/cli/chunks/hnsw-index-JO7KNF7M.js +0 -2
- package/dist/cli/chunks/impact-analyzer-ROQL4J7P.js +0 -2
- package/dist/cli/chunks/init-wizard-4BDFZX4M.js +0 -2
- package/dist/cli/chunks/kernel-37Y63WKR.js +0 -2
- package/dist/cli/chunks/knowledge-graph-V3DX6ZCX.js +0 -2
- package/dist/cli/chunks/load-D6ZDLVA3.js +0 -2
- package/dist/cli/chunks/load-test-HPBA2CMT.js +0 -2
- package/dist/cli/chunks/memory-backend-DODDBB46.js +0 -2
- package/dist/cli/chunks/memory-handlers-MFLCRS7V.js +0 -2
- package/dist/cli/chunks/protocol-executor-D56OYMCJ.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-KXROIEK7.js +0 -2
- package/dist/cli/chunks/queen-coordinator-XOGATERL.js +0 -2
- package/dist/cli/chunks/router-3EHNUCOM.js +0 -2
- package/dist/cli/chunks/routing-feedback-ZHKGET22.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-4YC5IQUW.js +0 -2
- package/dist/cli/chunks/safe-db-PLJRHQIC.js +0 -2
- package/dist/cli/chunks/schedule-7DGELVJE.js +0 -2
- package/dist/cli/chunks/scheduler-VWASEC2J.js +0 -2
- package/dist/cli/chunks/shared-rvf-adapter-DCVDY2XW.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-CTEBGVOW.js +0 -2
- package/dist/cli/chunks/sync-SFKTCRZC.js +0 -23
- package/dist/cli/chunks/tree-sitter-wasm-parser-CI3V4AND.js +0 -2
- package/dist/cli/chunks/unified-memory-YDKXKW3D.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-6N7YZCLR.js +0 -2
- package/dist/cli/chunks/unified-persistence-UTWLPUQI.js +0 -2
- package/dist/cli/chunks/visual-security-DGXSOFKD.js +0 -2
- package/dist/cli/chunks/witness-chain-VP4MF6EU.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-VXSYAKQY.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
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.
|
|
2
|
-
import{e as P}from"./chunk-
|
|
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.33");process.exit(0)}
|
|
2
|
+
import{e as P}from"./chunk-JYDWDNNZ.js";import"./chunk-6DBS53L7.js";import{a as V}from"./chunk-ZGR5LFER.js";import"./chunk-TGMZ7K72.js";import{b as v,d as F}from"./chunk-AL54ARD4.js";import"./chunk-LVCQ4LSA.js";import"./chunk-PIINM2PD.js";import"./chunk-Q5JL7NZG.js";import"./chunk-2NRCDJBB.js";import"./chunk-JJY6K3OI.js";F();import{Command as M}from"commander";import{readFileSync as A,writeFileSync as S,existsSync as C,readdirSync as O,statSync as B}from"fs";import{join as b,resolve as j,basename as I}from"path";import e from"chalk";function R(i){let n=j(i);if(!C(n))throw new Error(`Input path not found: ${n}`);if(B(n).isDirectory()){let r=[],t=O(n).filter(o=>o.endsWith(".json")).map(o=>b(n,o));for(let o of t)try{let u=v(A(o,"utf-8"));if($(u))r.push(u);else if(Array.isArray(u))for(let d of u)$(d)&&r.push(d)}catch{console.warn(e.yellow(`Warning: Could not parse ${I(o)}`))}return r}else{let r=v(A(n,"utf-8"));if($(r))return[r];if(Array.isArray(r))return r.filter($);throw new Error("Invalid input format. Expected ParallelValidationRunResult or array of results.")}}function $(i){return typeof i=="object"&&i!==null&&"runId"in i&&"model"in i&&"outcomes"in i&&Array.isArray(i.outcomes)}function D(){return V({storeQEPattern:async()=>{},searchQEPatterns:async()=>({success:!0,value:[]}),addFact:async()=>({success:!0,value:void 0}),query:async()=>({success:!0,value:{results:[],confidence:0}}),getStats:()=>({totalPatterns:0,totalFacts:0,indexHealth:1,lastCompaction:new Date})})}function T(){let i=process.cwd(),n=[b(i,".claude/skills/trust-tier-manifest.json"),b(i,".claude/skills/skills-manifest.json")];for(let g of n)if(C(g))return g;return b(i,".claude/skills/trust-tier-manifest.json")}function L(i,n,g){let r=g.format||"markdown";if(r==="markdown"||r==="both"){let t=n.generateMarkdownReport(i);if(g.output){let o=r==="both"?g.output.replace(/\.\w+$/,".md"):g.output;S(o,t),console.log(e.green(`Markdown report written to: ${o}`))}else console.log(`
|
|
3
3
|
`+t)}if(r==="json"||r==="both"){let t=n.generateJsonReport(i);if(g.output){let o=r==="both"?g.output.replace(/\.\w+$/,".json"):g.output;S(o,t),console.log(e.green(`JSON report written to: ${o}`))}else console.log(`
|
|
4
4
|
`+t)}}function G(i,n,g){let r=new M("skill").description("Skill validation and reporting (ADR-056)");return r.command("report").description("Generate aggregated report from validation results").requiredOption("-i, --input <path>","Input file or directory containing validation results").option("-o, --output <path>","Output file path (default: stdout)").option("-f, --format <format>","Output format: markdown, json, or both","markdown").option("-b, --baseline <path>","Baseline directory for regression detection").option("--detect-regressions","Enable regression detection against historical data").option("--update-manifest","Update trust tier manifest with new pass rates").option("-t, --threshold <number>","Regression threshold (0-1)",parseFloat).option("-v, --verbose","Verbose output").action(async t=>{try{t.verbose&&(console.log(e.blue(`
|
|
5
5
|
Validation Result Aggregator`)),console.log(e.gray(`ADR-056 Phase 5
|
|
@@ -1,5 +1,5 @@
|
|
|
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.
|
|
2
|
-
import{a as i,b as v,c as d,d as p}from"./chunk-
|
|
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.33");process.exit(0)}
|
|
2
|
+
import{a as i,b as v,c as d,d as p}from"./chunk-JYDWDNNZ.js";import{a as h}from"./chunk-IYDZ4NWA.js";import"./chunk-6DBS53L7.js";import{a as k}from"./chunk-ZGR5LFER.js";import"./chunk-GU5DISHT.js";import"./chunk-TGMZ7K72.js";import"./chunk-YDIHYU7V.js";import"./chunk-HVC3F4IM.js";import"./chunk-MZ6GBVQY.js";import"./chunk-SR2EV7PQ.js";import"./chunk-N44DNZTM.js";import"./chunk-FHSCCEHZ.js";import"./chunk-HJETZJJO.js";import"./chunk-46LV5MI3.js";import"./chunk-F6WQ3ES6.js";import"./chunk-AL54ARD4.js";import"./chunk-LVCQ4LSA.js";import"./chunk-PIINM2PD.js";import"./chunk-H5AQHFIA.js";import"./chunk-Q5JL7NZG.js";import"./chunk-LKEQBIX2.js";import"./chunk-UDJLIERV.js";import"./chunk-KLTN2AVK.js";import"./chunk-LJBVPR3Z.js";import"./chunk-2NRCDJBB.js";import"./chunk-AGMHJ3GS.js";import"./chunk-HCAWQ7ZD.js";import"./chunk-DEXOYNIQ.js";import"./chunk-7HRE2VTG.js";import"./chunk-VJHKNSOC.js";import"./chunk-JJY6K3OI.js";import{Command as x}from"commander";import o from"chalk";function _(e,t,a){let c=new x("validate").description("Validation commands for skills and agents");return c.command("swarm").description("Validate skills in parallel using Claude Flow swarms (ADR-056)").option("-s, --skills <skills>",'Comma-separated list of skills to validate, or "all" for P0 skills',"all").option("-m, --models <models>","Comma-separated list of models to validate against",p.join(",")).option("-t, --topology <topology>","Swarm topology: hierarchical or mesh","hierarchical").option("--max-concurrent <number>","Maximum concurrent skill validations",String(i.maxConcurrentSkills)).option("--max-models <number>","Maximum concurrent models per skill",String(i.maxConcurrentModels)).option("--timeout <ms>","Timeout per validation in milliseconds",String(i.timeout)).option("--no-retry","Disable retries on failure").option("-v, --verbose","Show detailed output").option("--json","Output results as JSON").action(async l=>{if(await a())try{console.log(o.blue(`
|
|
3
3
|
Swarm Skill Validation
|
|
4
4
|
`));let r=l.skills==="all"?[...d]:l.skills.split(",").map(y=>y.trim()),u=l.models.split(",").map(y=>y.trim()),g=P(l.topology),n={topology:g,maxConcurrentSkills:parseInt(l.maxConcurrent,10)||i.maxConcurrentSkills,maxConcurrentModels:parseInt(l.maxModels,10)||i.maxConcurrentModels,timeout:parseInt(l.timeout,10)||i.timeout,continueOnFailure:!0,retry:l.retry!==!1?i.retry:void 0};l.verbose&&(console.log(o.gray("Configuration:")),console.log(o.gray(` Topology: ${n.topology}`)),console.log(o.gray(` Skills: ${r.length}`)),console.log(o.gray(` Models: ${u.length}`)),console.log(o.gray(` Max Concurrent Skills: ${n.maxConcurrentSkills}`)),console.log(o.gray(` Max Concurrent Models: ${n.maxConcurrentModels}`)),console.log(o.gray(` Timeout: ${n.timeout}ms`)),console.log(o.gray(` Retry: ${n.retry?"enabled":"disabled"}`)),console.log("")),console.log(o.cyan(` Skills: ${r.join(", ")}`)),console.log(o.cyan(` Models: ${u.join(", ")}`)),console.log(o.cyan(` Topology: ${g}`)),console.log("");let m=await R(e),f=k(m),C=v(n,f),w=Date.now();console.log(o.yellow(` Starting parallel validation...
|
|
5
5
|
`));let $=await C.validateSkillsParallel(r,u),s=C.getSummary($),b=Date.now()-w;l.json?T(s):V(s,l.verbose),console.log(o.blue(`
|
|
@@ -1,2 +1,2 @@
|
|
|
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.
|
|
2
|
-
import{c as t}from"./chunk-
|
|
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.33");process.exit(0)}
|
|
2
|
+
import{c as t}from"./chunk-JJY6K3OI.js";import{createRequire as o}from"module";var i,e,a,c,l,p,s,m,u,d,A,f,h,_,b,v,L,n=t(()=>{i=o(import.meta.url),e=i("vibium"),a=e,{RuvectorLayer:c,TensorCompress:l,differentiableSearch:p,hierarchicalForward:s,getCompressionLevel:m,init:u,FlashAttention:d,DotProductAttention:A,MultiHeadAttention:f,HyperbolicAttention:h,LinearAttention:_,MoEAttention:b,SonaEngine:v,pipeline:L}=e||{}});n();export{A as DotProductAttention,d as FlashAttention,h as HyperbolicAttention,_ as LinearAttention,b as MoEAttention,f as MultiHeadAttention,c as RuvectorLayer,v as SonaEngine,l as TensorCompress,a as default,p as differentiableSearch,m as getCompressionLevel,s as hierarchicalForward,u as init,L as pipeline};
|
|
@@ -0,0 +1,2 @@
|
|
|
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.33");process.exit(0)}
|
|
2
|
+
import{a}from"./chunk-KGA5XCHX.js";import"./chunk-7ZMRQKO2.js";import"./chunk-MCONVCB6.js";import"./chunk-46LV5MI3.js";import"./chunk-F6WQ3ES6.js";import"./chunk-AL54ARD4.js";import"./chunk-LVCQ4LSA.js";import"./chunk-PIINM2PD.js";import"./chunk-Q5JL7NZG.js";import"./chunk-LKEQBIX2.js";import"./chunk-UDJLIERV.js";import"./chunk-KLTN2AVK.js";import"./chunk-LJBVPR3Z.js";import"./chunk-2NRCDJBB.js";import"./chunk-AGMHJ3GS.js";import"./chunk-HCAWQ7ZD.js";import"./chunk-DEXOYNIQ.js";import"./chunk-7HRE2VTG.js";import"./chunk-VJHKNSOC.js";import"./chunk-JJY6K3OI.js";export{a as VisualSecurityTool};
|
|
@@ -1,2 +1,2 @@
|
|
|
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.
|
|
2
|
-
import"./chunk-
|
|
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.33");process.exit(0)}
|
|
2
|
+
import"./chunk-JJY6K3OI.js";import{createRequire as t}from"module";var o=t(import.meta.url),e=o("web-tree-sitter"),i=e,{RuvectorLayer:n,TensorCompress:a,differentiableSearch:c,hierarchicalForward:s,getCompressionLevel:l,init:p,FlashAttention:m,DotProductAttention:u,MultiHeadAttention:d,HyperbolicAttention:A,LinearAttention:f,MoEAttention:h,SonaEngine:_,pipeline:b}=e||{};export{u as DotProductAttention,m as FlashAttention,A as HyperbolicAttention,f as LinearAttention,h as MoEAttention,d as MultiHeadAttention,n as RuvectorLayer,_ as SonaEngine,a as TensorCompress,i as default,c as differentiableSearch,l as getCompressionLevel,s as hierarchicalForward,p as init,b as pipeline};
|
|
@@ -1,5 +1,5 @@
|
|
|
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.
|
|
2
|
-
import{b as u}from"./chunk-
|
|
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.33");process.exit(0)}
|
|
2
|
+
import{b as u}from"./chunk-LICFVB4C.js";import{a as f,c as h}from"./chunk-Q5JL7NZG.js";import"./chunk-JJY6K3OI.js";h();import{existsSync as i,mkdirSync as d,readFileSync as g,writeFileSync as a}from"fs";import{join as p,dirname as v}from"path";var c=class{projectRoot;overwrite;generator;constructor(e){this.projectRoot=e.projectRoot,this.overwrite=e.overwrite??!1,this.generator=u()}async install(){let e={success:!0,mcpConfigured:!1,rulesInstalled:!1,errors:[],configPath:"",rulesPath:""};try{let t=this.generator.generateMcpConfig("windsurf"),r=p(this.projectRoot,t.path);if(e.configPath=r,!i(r)||this.overwrite){let o=v(r);if(i(o)||d(o,{recursive:!0}),i(r)&&this.overwrite){let m=this.mergeExistingConfig(r,t.content);a(r,m)}else a(r,t.content);e.mcpConfigured=!0}let n=this.generator.generateBehavioralRules("windsurf"),s=p(this.projectRoot,n.path);if(e.rulesPath=s,!i(s)||this.overwrite){if(i(s)&&this.overwrite){let o=this.mergeExistingRules(s,n.content);a(s,o)}else a(s,n.content);e.rulesInstalled=!0}}catch(t){e.success=!1,e.errors.push(`Windsurf installation failed: ${f(t)}`)}return e}mergeExistingConfig(e,t){try{let r=JSON.parse(g(e,"utf-8")),n=JSON.parse(t);return r.mcpServers||(r.mcpServers={}),Object.assign(r.mcpServers,n.mcpServers),JSON.stringify(r,null,2)+`
|
|
3
3
|
`}catch{return t}}mergeExistingRules(e,t){try{let r=g(e,"utf-8");return r.includes("Agentic QE")||r.includes("fleet_init")?r:r.trimEnd()+`
|
|
4
4
|
|
|
5
5
|
---
|
|
@@ -1,2 +1,2 @@
|
|
|
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.
|
|
2
|
-
import{a,b,c,d,e,f,g}from"./chunk-
|
|
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.33");process.exit(0)}
|
|
2
|
+
import{a,b,c,d,e,f,g}from"./chunk-MZ6GBVQY.js";import"./chunk-LVCQ4LSA.js";import"./chunk-PIINM2PD.js";import"./chunk-VJHKNSOC.js";import"./chunk-JJY6K3OI.js";export{c as PersistentWitnessChain,a as SPRTAccumulator,b as WitnessChain,f as createPersistentWitnessChain,e as createWitnessChain,d as createWitnessChainSQLitePersistence,g as isWitnessChainFeatureEnabled};
|
|
@@ -0,0 +1,2 @@
|
|
|
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.33");process.exit(0)}
|
|
2
|
+
import{a,b,c,d,e,f,g,h}from"./chunk-GBMKXJKW.js";import"./chunk-46LV5MI3.js";import"./chunk-F6WQ3ES6.js";import"./chunk-AL54ARD4.js";import"./chunk-LVCQ4LSA.js";import"./chunk-PIINM2PD.js";import"./chunk-Q5JL7NZG.js";import"./chunk-UDJLIERV.js";import"./chunk-KLTN2AVK.js";import"./chunk-LJBVPR3Z.js";import"./chunk-2NRCDJBB.js";import"./chunk-AGMHJ3GS.js";import"./chunk-HCAWQ7ZD.js";import"./chunk-DEXOYNIQ.js";import"./chunk-7HRE2VTG.js";import"./chunk-VJHKNSOC.js";import"./chunk-JJY6K3OI.js";export{a as GENESIS_PREV_HASH,f as WitnessChain,h as createWitnessChain,g as getWitnessChain,d as hashWith,e as serializeEntry,b as sha256,c as shake256};
|
|
@@ -1,5 +1,5 @@
|
|
|
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.
|
|
2
|
-
import"./chunk-
|
|
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.33");process.exit(0)}
|
|
2
|
+
import"./chunk-CAZQL4G2.js";import{b as $}from"./chunk-CCSISDAP.js";import{d as R}from"./chunk-6S5H34AN.js";import{b as k,c as C,d as b}from"./chunk-FQQJUIN7.js";import{c as W}from"./chunk-AL54ARD4.js";import"./chunk-H5AQHFIA.js";import"./chunk-Q5JL7NZG.js";import"./chunk-JJY6K3OI.js";import{Command as O}from"commander";import o from"chalk";function P(d,a){let m=d.indexOf("=");return m>0&&(a[d.substring(0,m)]=d.substring(m+1)),a}function x(d,a,m){let y=new O("workflow").description("Manage QE workflows and pipelines (ADR-041)");return y.command("run <file>").description("Execute a QE pipeline from YAML file").option("-w, --watch","Watch execution progress").option("-v, --verbose","Show detailed output").option("--params <json>","Additional parameters as JSON","{}").action(async(t,l)=>{if(!await m())return;let e=await import("fs"),c=(await import("path")).resolve(t);try{console.log(o.blue(`
|
|
3
3
|
Running workflow from: ${t}
|
|
4
4
|
`));let s=k(c);if(!s.success||!s.workflow){console.log(o.red("Failed to parse pipeline:"));for(let w of s.errors)console.log(o.red(` ${w}`));await a(1)}let r={...W(l.params,"params")};if(s.pipeline){for(let w of s.pipeline.stages)if(w.params)for(let[S,h]of Object.entries(w.params))r[S]=h}if(!d.workflowOrchestrator.getWorkflow(s.workflow.id)){let w=d.workflowOrchestrator.registerWorkflow(s.workflow);w.success||(console.log(o.red(`Failed to register workflow: ${w.error.message}`)),await a(1))}let n=await d.workflowOrchestrator.executeWorkflow(s.workflow.id,r);if(!n.success){console.log(o.red(`Failed to start workflow: ${n.error.message}`)),await a(1);return}let p=n.value;if(console.log(o.cyan(` Execution ID: ${p}`)),console.log(o.gray(` Workflow: ${s.workflow.name}`)),console.log(o.gray(` Stages: ${s.workflow.steps.length}`)),console.log(""),l.watch){console.log(o.blue(`Workflow Progress:
|
|
5
5
|
`));let w,S=Date.now();for(;;){let g=d.workflowOrchestrator.getWorkflowStatus(p);if(!g)break;if(!w||w.progress!==g.progress||w.status!==g.status||JSON.stringify(w.currentSteps)!==JSON.stringify(g.currentSteps)){process.stdout.write("\r\x1B[K");let v="\u2588".repeat(Math.floor(g.progress/5))+"\u2591".repeat(20-Math.floor(g.progress/5)),D=g.status==="completed"?o.green:g.status==="failed"?o.red:g.status==="running"?o.yellow:o.gray;console.log(` [${v}] ${g.progress}% - ${D(g.status)}`),g.currentSteps.length>0&&l.verbose&&console.log(o.gray(` Running: ${g.currentSteps.join(", ")}`)),w=g}if(g.status==="completed"||g.status==="failed"||g.status==="cancelled")break;await new Promise(v=>setTimeout(v,500))}let h=d.workflowOrchestrator.getWorkflowStatus(p);if(h){console.log("");let g=h.duration||Date.now()-S;h.status==="completed"?(console.log(o.green("Workflow completed successfully")),console.log(o.gray(` Duration: ${$(g)}`)),console.log(o.gray(` Completed: ${h.completedSteps.length} stages`)),h.skippedSteps.length>0&&console.log(o.yellow(` Skipped: ${h.skippedSteps.length} stages`))):h.status==="failed"?(console.log(o.red("Workflow failed")),console.log(o.red(` Error: ${h.error}`)),console.log(o.gray(` Failed stages: ${h.failedSteps.join(", ")}`))):console.log(o.yellow(`Workflow ${h.status}`))}}else console.log(o.green("Workflow execution started")),console.log(o.gray(` Use 'aqe workflow status ${p}' to check progress`));console.log(""),await a(0)}catch(s){console.error(o.red(`
|
|
@@ -35,10 +35,10 @@ Workflow cancelled: ${t}
|
|
|
35
35
|
`)):console.log(o.red(`
|
|
36
36
|
Failed to cancel workflow: ${l.error.message}
|
|
37
37
|
`)),await a(l.success?0:1)}catch(l){console.error(o.red(`
|
|
38
|
-
Failed to cancel workflow:`),l),await a(1)}}),y.command("browser-list").description("List available browser workflow templates").action(async()=>{try{let{BrowserWorkflowTool:t}=await import("./browser-workflow-
|
|
38
|
+
Failed to cancel workflow:`),l),await a(1)}}),y.command("browser-list").description("List available browser workflow templates").action(async()=>{try{let{BrowserWorkflowTool:t}=await import("./browser-workflow-T74U33BJ.js"),e=await new t().invoke({});if(e.success&&e.data){console.log(o.blue(`
|
|
39
39
|
Browser Workflow Templates:
|
|
40
40
|
`));for(let u of e.data.availableTemplates)console.log(` ${o.cyan(u)}`);console.log("")}else console.log(o.red(`Failed: ${e.error||"Unknown error"}`));await a(0)}catch(t){console.error(o.red(`
|
|
41
|
-
Failed:`),t),await a(1)}}),y.command("browser-load [template]").description("Load and validate a browser workflow template or inline YAML").option("--yaml <yaml>","Inline YAML workflow definition").option("-v, --var <key=value>","Variable override (repeatable)",P,{}).option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async(t,l)=>{try{let{BrowserWorkflowTool:e}=await import("./browser-workflow-
|
|
41
|
+
Failed:`),t),await a(1)}}),y.command("browser-load [template]").description("Load and validate a browser workflow template or inline YAML").option("--yaml <yaml>","Inline YAML workflow definition").option("-v, --var <key=value>","Variable override (repeatable)",P,{}).option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async(t,l)=>{try{let{BrowserWorkflowTool:e}=await import("./browser-workflow-T74U33BJ.js"),{writeOutput:u,toJSON:c}=await import("./ci-output-WMYWSAHI.js"),s=new e,f={variables:l.var||{}};if(l.yaml)f.workflowYaml=l.yaml;else if(t)if(t.endsWith(".yaml")||t.endsWith(".yml")){let i=await import("fs"),p=(await import("path")).resolve(t);i.existsSync(p)||(console.log(o.red(`
|
|
42
42
|
File not found: ${p}
|
|
43
43
|
`)),await a(1)),f.workflowYaml=i.readFileSync(p,"utf-8")}else f.templateName=t;else console.log(o.red(`
|
|
44
44
|
Provide a template name or --yaml. Use "workflow browser-list" to see templates.
|
|
@@ -0,0 +1,2 @@
|
|
|
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.33");process.exit(0)}
|
|
2
|
+
import{a,b,c,d}from"./chunk-V7GV54AY.js";import"./chunk-6TC6UCDL.js";import"./chunk-46LV5MI3.js";import"./chunk-F6WQ3ES6.js";import"./chunk-AL54ARD4.js";import"./chunk-LVCQ4LSA.js";import"./chunk-PIINM2PD.js";import"./chunk-H5AQHFIA.js";import"./chunk-Q5JL7NZG.js";import"./chunk-LKEQBIX2.js";import"./chunk-UDJLIERV.js";import"./chunk-KLTN2AVK.js";import"./chunk-LJBVPR3Z.js";import"./chunk-2NRCDJBB.js";import"./chunk-AGMHJ3GS.js";import"./chunk-HCAWQ7ZD.js";import"./chunk-DEXOYNIQ.js";import"./chunk-7HRE2VTG.js";import"./chunk-VJHKNSOC.js";import"./chunk-JJY6K3OI.js";export{b as DEFAULT_WORKFLOW_CONFIG,a as WorkflowEvents,c as WorkflowOrchestrator,d as createWorkflowOrchestrator};
|
|
@@ -1,2 +1,2 @@
|
|
|
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.
|
|
2
|
-
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v as L,w as M,x as N}from"./chunk-
|
|
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.33");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,v as L,w as M,x as N}from"./chunk-JHFQJKTW.js";import{a as v,b as w,c as x,d as y,e as z,f as A,g as B,h as C,i as D,j as E,k as F,l as G,m as H,n as I,o as J,p as K}from"./chunk-OPC4ZVSN.js";import"./chunk-46LV5MI3.js";import"./chunk-F6WQ3ES6.js";import"./chunk-AL54ARD4.js";import"./chunk-LVCQ4LSA.js";import"./chunk-PIINM2PD.js";import"./chunk-Q5JL7NZG.js";import"./chunk-UDJLIERV.js";import"./chunk-KLTN2AVK.js";import"./chunk-LJBVPR3Z.js";import"./chunk-2NRCDJBB.js";import"./chunk-AGMHJ3GS.js";import"./chunk-HCAWQ7ZD.js";import"./chunk-DEXOYNIQ.js";import"./chunk-7HRE2VTG.js";import"./chunk-VJHKNSOC.js";import"./chunk-JJY6K3OI.js";export{z as GNNLayerFactory,i as QEFlashAttention,x as QEGNNEmbeddingIndex,y as QEGNNIndexFactory,a as QESONA,e as QE_FLASH_ATTENTION_CONFIG,g as QE_PERFORMANCE_TARGETS,f as QE_SONA_CONFIG,A as TensorCompressionFactory,u as batchComputeAttention,K as batchDifferentiableSearch,M as checkRuvectorPackagesAvailable,c as createDomainQESONA,j as createQEFlashAttention,b as createQESONA,D as getDifferentiableSearch,F as getGetCompressionLevel,E as getHierarchicalForward,G as getInit,h as getOptimalBlockConfig,k as getQEFlashAttentionConfig,n as getRuvectorDotProductAttention,m as getRuvectorFlashAttention,p as getRuvectorHyperbolicAttention,B as getRuvectorLayer,q as getRuvectorLinearAttention,r as getRuvectorMoEAttention,o as getRuvectorMultiHeadAttention,L as getRuvectorPackageVersions,C as getTensorCompress,l as getWorkloadTypes,N as initAllRuvectorPackages,w as initGNN,d as isAttentionAvailable,v as isGNNAvailable,s as toFloat32Array,H as toFloat32ArrayGNN,J as toIEmbedding,t as toNumberArrayAttn,I as toNumberArrayGNN};
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Handles the 'aqe init' command for system initialization.
|
|
5
5
|
*/
|
|
6
6
|
import chalk from 'chalk';
|
|
7
|
+
import { createRequire } from 'node:module';
|
|
7
8
|
import { ALL_DOMAINS } from '../../shared/types/index.js';
|
|
8
9
|
import { toErrorMessage } from '../../shared/error-utils.js';
|
|
9
10
|
// ============================================================================
|
|
@@ -227,6 +228,7 @@ export class InitHandler {
|
|
|
227
228
|
console.log(chalk.gray('\n MCP server configured in .mcp.json'));
|
|
228
229
|
console.log(chalk.gray(' Use --no-mcp to skip MCP setup if using CLI only\n'));
|
|
229
230
|
}
|
|
231
|
+
printOptionalPeerHints();
|
|
230
232
|
}
|
|
231
233
|
else {
|
|
232
234
|
console.log(chalk.red(' Initialization failed. Check errors above.\n'));
|
|
@@ -282,6 +284,7 @@ export class InitHandler {
|
|
|
282
284
|
console.log(chalk.gray('\n MCP server configured in .mcp.json'));
|
|
283
285
|
console.log(chalk.gray(' Use --no-mcp to skip MCP setup if using CLI only\n'));
|
|
284
286
|
}
|
|
287
|
+
printOptionalPeerHints();
|
|
285
288
|
}
|
|
286
289
|
else {
|
|
287
290
|
console.log(chalk.red(' Initialization failed. Check errors above.\n'));
|
|
@@ -419,6 +422,50 @@ Examples:
|
|
|
419
422
|
}
|
|
420
423
|
}
|
|
421
424
|
// ============================================================================
|
|
425
|
+
// Optional peer-dep hints
|
|
426
|
+
// ============================================================================
|
|
427
|
+
// Declared in package.json's peerDependenciesMeta. NOT auto-installed because
|
|
428
|
+
// they each pull @claude-flow/cli@3.6.x, whose internal peer mismatch creates
|
|
429
|
+
// ~480 packages of transitive noise and ERESOLVE warnings during npm install.
|
|
430
|
+
// Users opt into them only when they want the feature.
|
|
431
|
+
const OPTIONAL_PEERS = [
|
|
432
|
+
{
|
|
433
|
+
pkg: '@claude-flow/browser',
|
|
434
|
+
version: '3.0.0-alpha.1',
|
|
435
|
+
enables: 'browser MCP server — URL safety + PII scanning in browser flows',
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
pkg: '@claude-flow/guidance',
|
|
439
|
+
version: '3.0.0-alpha.1',
|
|
440
|
+
enables: 'governance — trust accumulator, continue-gate, proof envelope',
|
|
441
|
+
},
|
|
442
|
+
];
|
|
443
|
+
function isPeerInstalled(pkg) {
|
|
444
|
+
const require = createRequire(import.meta.url);
|
|
445
|
+
try {
|
|
446
|
+
require.resolve(pkg);
|
|
447
|
+
return true;
|
|
448
|
+
}
|
|
449
|
+
catch (err) {
|
|
450
|
+
// ERR_PACKAGE_PATH_NOT_EXPORTED means the package IS installed but its
|
|
451
|
+
// `exports` field has no CJS condition for the bare specifier — still
|
|
452
|
+
// counts as installed for our purposes.
|
|
453
|
+
const code = err?.code;
|
|
454
|
+
return code === 'ERR_PACKAGE_PATH_NOT_EXPORTED';
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
function printOptionalPeerHints() {
|
|
458
|
+
const missing = OPTIONAL_PEERS.filter(({ pkg }) => !isPeerInstalled(pkg));
|
|
459
|
+
if (missing.length === 0)
|
|
460
|
+
return;
|
|
461
|
+
console.log(chalk.bold('\n Optional add-ons (install only if you want the feature):'));
|
|
462
|
+
for (const { pkg, version, enables } of missing) {
|
|
463
|
+
console.log(` ${chalk.gray(pkg)} ${chalk.dim('— ' + enables)}`);
|
|
464
|
+
console.log(chalk.cyan(` npm install -g ${pkg}@${version}`));
|
|
465
|
+
}
|
|
466
|
+
console.log('');
|
|
467
|
+
}
|
|
468
|
+
// ============================================================================
|
|
422
469
|
// Factory
|
|
423
470
|
// ============================================================================
|
|
424
471
|
export function createInitHandler(cleanupAndExit) {
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* domain relationships, pattern similarity, checksum
|
|
7
7
|
*/
|
|
8
8
|
import { ok, ALL_DOMAINS, } from '../../shared/types/index.js';
|
|
9
|
+
import { rehydrateDates } from '../../shared/utils/kv-date-rehydrate.js';
|
|
9
10
|
/**
|
|
10
11
|
* Get experiences for a specific domain within a time range
|
|
11
12
|
*/
|
|
@@ -15,7 +16,12 @@ export async function getExperiencesForDomain(memory, domain, timeRange) {
|
|
|
15
16
|
for (const key of keys) {
|
|
16
17
|
const experienceId = await memory.get(key);
|
|
17
18
|
if (experienceId) {
|
|
18
|
-
|
|
19
|
+
// #493: rehydrate timestamp at the kv-read seam. Without this,
|
|
20
|
+
// `timeRange.contains(experience.timestamp)` silently filters every
|
|
21
|
+
// experience out — `string >= Date` coerces to NaN, all comparisons
|
|
22
|
+
// false. Same root cause the team patched at
|
|
23
|
+
// learning-coordinator.ts:898-904 (#491 Bug 3).
|
|
24
|
+
const experience = rehydrateDates(await memory.get(`learning:experience:${experienceId}`), ['timestamp']);
|
|
19
25
|
if (experience && timeRange.contains(experience.timestamp)) {
|
|
20
26
|
experiences.push(experience);
|
|
21
27
|
}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { LoggerFactory } from '../../logging/index.js';
|
|
6
6
|
import { v4 as uuidv4 } from 'uuid';
|
|
7
7
|
import { toError } from '../../shared/error-utils.js';
|
|
8
|
+
import { rehydrateDates } from '../../shared/utils/kv-date-rehydrate.js';
|
|
8
9
|
import { ok, err, ALL_DOMAINS, } from '../../shared/types/index.js';
|
|
9
10
|
import { TimeRange } from '../../shared/value-objects/index.js';
|
|
10
11
|
import { LearningOptimizationEvents, createEvent, } from '../../shared/events/domain-events.js';
|
|
@@ -1191,7 +1192,10 @@ export class LearningOptimizationCoordinator extends BaseDomainCoordinator {
|
|
|
1191
1192
|
for (const key of keys) {
|
|
1192
1193
|
const experienceId = await this.memory.get(key);
|
|
1193
1194
|
if (experienceId) {
|
|
1194
|
-
|
|
1195
|
+
// #493: rehydrate timestamp at the kv-read seam — without this,
|
|
1196
|
+
// `timeRange.contains` silently filters every experience out
|
|
1197
|
+
// (string vs Date coerces to NaN). Same root cause as #491 Bug 3.
|
|
1198
|
+
const experience = rehydrateDates(await this.memory.get(`learning:experience:${experienceId}`), ['timestamp']);
|
|
1195
1199
|
if (experience && timeRange.contains(experience.timestamp)) {
|
|
1196
1200
|
experiences.push(experience);
|
|
1197
1201
|
}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { LoggerFactory } from '../../../logging/index.js';
|
|
6
6
|
import { v4 as uuidv4 } from 'uuid';
|
|
7
7
|
import { ok, err } from '../../../shared/types/index.js';
|
|
8
|
+
import { rehydrateDates } from '../../../shared/utils/kv-date-rehydrate.js';
|
|
8
9
|
import { toError } from '../../../shared/error-utils.js';
|
|
9
10
|
import { createQEFlashAttention, } from '../../../integrations/ruvector/wrappers.js';
|
|
10
11
|
const DEFAULT_CONFIG = {
|
|
@@ -22,6 +23,14 @@ const DEFAULT_CONFIG = {
|
|
|
22
23
|
* Implements pattern learning and experience mining capabilities
|
|
23
24
|
*/
|
|
24
25
|
const logger = LoggerFactory.create('learning-optimization/learning-coordinator');
|
|
26
|
+
/**
|
|
27
|
+
* #491 Bug 2: every read in this file must pass this namespace to match
|
|
28
|
+
* the writes (which already specify `namespace: 'learning-optimization'`).
|
|
29
|
+
* Without it, HybridBackend defaults to `default` and the coordinator
|
|
30
|
+
* cannot read its own data — `mineExperiences` returned 0 for every
|
|
31
|
+
* domain even on installs with hundreds of indexed experiences.
|
|
32
|
+
*/
|
|
33
|
+
const LEARNING_NS = { namespace: 'learning-optimization' };
|
|
25
34
|
export class LearningCoordinatorService {
|
|
26
35
|
config;
|
|
27
36
|
memory;
|
|
@@ -245,9 +254,9 @@ Provide:
|
|
|
245
254
|
async findMatchingPatterns(context, limit = 10) {
|
|
246
255
|
try {
|
|
247
256
|
const patterns = [];
|
|
248
|
-
const keys = await this.memory.search('learning:pattern:*', 100);
|
|
257
|
+
const keys = await this.memory.search('learning:pattern:*', 100, LEARNING_NS);
|
|
249
258
|
for (const key of keys) {
|
|
250
|
-
const pattern = await this.memory.get(key);
|
|
259
|
+
const pattern = await this.memory.get(key, LEARNING_NS);
|
|
251
260
|
if (pattern && this.matchesContext(pattern, context)) {
|
|
252
261
|
patterns.push(pattern);
|
|
253
262
|
}
|
|
@@ -292,7 +301,7 @@ Provide:
|
|
|
292
301
|
async updatePatternFeedback(patternId, success) {
|
|
293
302
|
try {
|
|
294
303
|
const key = `learning:pattern:${patternId}`;
|
|
295
|
-
const pattern = await this.memory.get(key);
|
|
304
|
+
const pattern = await this.memory.get(key, LEARNING_NS);
|
|
296
305
|
if (!pattern) {
|
|
297
306
|
return err(new Error(`Pattern ${patternId} not found`));
|
|
298
307
|
}
|
|
@@ -329,7 +338,7 @@ Provide:
|
|
|
329
338
|
}
|
|
330
339
|
const patterns = [];
|
|
331
340
|
for (const id of patternIds) {
|
|
332
|
-
const pattern = await this.memory.get(`learning:pattern:${id}
|
|
341
|
+
const pattern = await this.memory.get(`learning:pattern:${id}`, LEARNING_NS);
|
|
333
342
|
if (pattern) {
|
|
334
343
|
patterns.push(pattern);
|
|
335
344
|
}
|
|
@@ -377,10 +386,10 @@ Provide:
|
|
|
377
386
|
*/
|
|
378
387
|
async getPatternStats(domain) {
|
|
379
388
|
try {
|
|
380
|
-
const keys = await this.memory.search('learning:pattern:*', 500);
|
|
389
|
+
const keys = await this.memory.search('learning:pattern:*', 500, LEARNING_NS);
|
|
381
390
|
const patterns = [];
|
|
382
391
|
for (const key of keys) {
|
|
383
|
-
const pattern = await this.memory.get(key);
|
|
392
|
+
const pattern = await this.memory.get(key, LEARNING_NS);
|
|
384
393
|
if (pattern && (!domain || pattern.domain === domain)) {
|
|
385
394
|
patterns.push(pattern);
|
|
386
395
|
}
|
|
@@ -525,12 +534,16 @@ Provide:
|
|
|
525
534
|
*/
|
|
526
535
|
async getReplayBuffer(agentId, limit = 100) {
|
|
527
536
|
try {
|
|
528
|
-
const keys = await this.memory.search(`learning:experience:index:agent:${agentId.value}:*`, limit);
|
|
537
|
+
const keys = await this.memory.search(`learning:experience:index:agent:${agentId.value}:*`, limit, LEARNING_NS);
|
|
529
538
|
const experiences = [];
|
|
530
539
|
for (const key of keys) {
|
|
531
|
-
const experienceId = await this.memory.get(key);
|
|
540
|
+
const experienceId = await this.memory.get(key, LEARNING_NS);
|
|
532
541
|
if (experienceId) {
|
|
533
|
-
|
|
542
|
+
// #493: rehydrate `timestamp` at the kv-read seam — the sort
|
|
543
|
+
// below throws once the replay buffer has any kv-stored entries.
|
|
544
|
+
// Same hazard the team already noted in mineExperiences at
|
|
545
|
+
// learning-coordinator.ts:898-904 (#491 Bug 3).
|
|
546
|
+
const experience = rehydrateDates(await this.memory.get(`learning:experience:${experienceId}`, LEARNING_NS), ['timestamp']);
|
|
534
547
|
if (experience) {
|
|
535
548
|
experiences.push(experience);
|
|
536
549
|
}
|
|
@@ -601,18 +614,18 @@ Provide:
|
|
|
601
614
|
}
|
|
602
615
|
async archivePattern(patternId) {
|
|
603
616
|
const key = `learning:pattern:${patternId}`;
|
|
604
|
-
const pattern = await this.memory.get(key);
|
|
617
|
+
const pattern = await this.memory.get(key, LEARNING_NS);
|
|
605
618
|
if (pattern) {
|
|
606
619
|
await this.memory.set(`learning:pattern:archived:${patternId}`, pattern, {
|
|
607
620
|
namespace: 'learning-optimization',
|
|
608
621
|
persist: true,
|
|
609
622
|
});
|
|
610
|
-
await this.memory.delete(key);
|
|
623
|
+
await this.memory.delete(key, LEARNING_NS);
|
|
611
624
|
}
|
|
612
625
|
}
|
|
613
626
|
async updatePatternUsage(patternId) {
|
|
614
627
|
const key = `learning:pattern:${patternId}`;
|
|
615
|
-
const pattern = await this.memory.get(key);
|
|
628
|
+
const pattern = await this.memory.get(key, LEARNING_NS);
|
|
616
629
|
if (pattern) {
|
|
617
630
|
const updated = {
|
|
618
631
|
...pattern,
|
|
@@ -639,14 +652,26 @@ Provide:
|
|
|
639
652
|
await this.memory.set(`learning:experience:index:domain:${experience.domain}:${experience.id}`, experience.id, { namespace: 'learning-optimization', ttl: 86400 * 30 });
|
|
640
653
|
}
|
|
641
654
|
async getExperiencesByDomainAndTime(domain, timeRange) {
|
|
642
|
-
const keys = await this.memory.search(`learning:experience:index:domain:${domain}:*`, 1000);
|
|
655
|
+
const keys = await this.memory.search(`learning:experience:index:domain:${domain}:*`, 1000, LEARNING_NS);
|
|
643
656
|
const experiences = [];
|
|
644
657
|
for (const key of keys) {
|
|
645
|
-
const experienceId = await this.memory.get(key);
|
|
658
|
+
const experienceId = await this.memory.get(key, LEARNING_NS);
|
|
646
659
|
if (experienceId) {
|
|
647
|
-
const experience = await this.memory.get(`learning:experience:${experienceId}
|
|
648
|
-
if (experience
|
|
649
|
-
|
|
660
|
+
const experience = await this.memory.get(`learning:experience:${experienceId}`, LEARNING_NS);
|
|
661
|
+
if (experience) {
|
|
662
|
+
// #491 Bug 3: kv stores Date via JSON.stringify (→ ISO string)
|
|
663
|
+
// but JSON.parse does not re-hydrate. `TimeRange.contains` does
|
|
664
|
+
// `date >= start`; in `string >= Date`, the string coerces to
|
|
665
|
+
// NaN and every comparison is false — so every experience was
|
|
666
|
+
// silently dropped by the time-window filter, leaving
|
|
667
|
+
// `mineExperiences` mining 0 for every domain. Coerce at the
|
|
668
|
+
// boundary; downstream code expects a real Date.
|
|
669
|
+
const ts = experience.timestamp instanceof Date
|
|
670
|
+
? experience.timestamp
|
|
671
|
+
: new Date(experience.timestamp);
|
|
672
|
+
if (timeRange.contains(ts)) {
|
|
673
|
+
experiences.push({ ...experience, timestamp: ts });
|
|
674
|
+
}
|
|
650
675
|
}
|
|
651
676
|
}
|
|
652
677
|
}
|
|
@@ -6,6 +6,7 @@ import { v4 as uuidv4 } from 'uuid';
|
|
|
6
6
|
import { ok, err } from '../../../shared/types/index.js';
|
|
7
7
|
import { toError } from '../../../shared/error-utils.js';
|
|
8
8
|
import { secureRandom } from '../../../shared/utils/crypto-random.js';
|
|
9
|
+
import { rehydrateDates } from '../../../shared/utils/kv-date-rehydrate.js';
|
|
9
10
|
const DEFAULT_CONFIG = {
|
|
10
11
|
defaultConfidenceLevel: 0.95,
|
|
11
12
|
minSamplesForOptimization: 20,
|
|
@@ -252,7 +253,9 @@ export class MetricsOptimizerService {
|
|
|
252
253
|
const keys = await this.memory.search(`learning:metrics:history:${strategyId}:*`, limit);
|
|
253
254
|
const snapshots = [];
|
|
254
255
|
for (const key of keys) {
|
|
255
|
-
|
|
256
|
+
// #493: rehydrate `timestamp` at the kv-read seam — without this,
|
|
257
|
+
// the sort below throws once any snapshot exists in the kv.
|
|
258
|
+
const snapshot = rehydrateDates(await this.memory.get(key), ['timestamp']);
|
|
256
259
|
if (snapshot) {
|
|
257
260
|
snapshots.push(snapshot);
|
|
258
261
|
}
|
|
@@ -6,6 +6,7 @@ import { v4 as uuidv4 } from 'uuid';
|
|
|
6
6
|
import { ok, err } from '../../../shared/types/index.js';
|
|
7
7
|
import { TimeRange } from '../../../shared/value-objects/index.js';
|
|
8
8
|
import { toError } from '../../../shared/error-utils.js';
|
|
9
|
+
import { rehydrateDates } from '../../../shared/utils/kv-date-rehydrate.js';
|
|
9
10
|
const DEFAULT_CONFIG = {
|
|
10
11
|
metricsRetentionDays: 90,
|
|
11
12
|
anomalyThreshold: 2.5,
|
|
@@ -91,7 +92,11 @@ export class ProductionIntelService {
|
|
|
91
92
|
for (const key of keys) {
|
|
92
93
|
const metricId = await this.memory.get(key);
|
|
93
94
|
if (metricId) {
|
|
94
|
-
|
|
95
|
+
// #493: rehydrate Date fields at the kv-read seam. Without this,
|
|
96
|
+
// `metric.timestamp` arrives as an ISO string after JSON.parse —
|
|
97
|
+
// `timeRange.contains` silently drops every metric (string vs Date
|
|
98
|
+
// coercion yields NaN) and `.getTime()` below throws.
|
|
99
|
+
const metric = rehydrateDates(await this.memory.get(`production:metric:${metricId}`), ['timestamp']);
|
|
95
100
|
if (metric && timeRange.contains(metric.timestamp)) {
|
|
96
101
|
metrics.push(metric);
|
|
97
102
|
}
|
|
@@ -138,7 +143,9 @@ export class ProductionIntelService {
|
|
|
138
143
|
*/
|
|
139
144
|
async resolveIncident(incidentId, rootCause, resolution) {
|
|
140
145
|
try {
|
|
141
|
-
|
|
146
|
+
// #493: rehydrate before spreading — `incident.startedAt` is consumed
|
|
147
|
+
// downstream by updateExperienceWithResolution → .getTime() math.
|
|
148
|
+
const incident = rehydrateDates(await this.memory.get(`production:incident:${incidentId}`), ['startedAt', 'resolvedAt']);
|
|
142
149
|
if (!incident) {
|
|
143
150
|
return err(new Error(`Incident ${incidentId} not found`));
|
|
144
151
|
}
|
|
@@ -171,14 +178,15 @@ export class ProductionIntelService {
|
|
|
171
178
|
if (key.includes(':index:')) {
|
|
172
179
|
const incidentId = await this.memory.get(key);
|
|
173
180
|
if (incidentId) {
|
|
174
|
-
|
|
181
|
+
// #493: rehydrate startedAt/resolvedAt at the kv-read seam.
|
|
182
|
+
const incident = rehydrateDates(await this.memory.get(`production:incident:${incidentId}`), ['startedAt', 'resolvedAt']);
|
|
175
183
|
if (incident) {
|
|
176
184
|
incidents.push(incident);
|
|
177
185
|
}
|
|
178
186
|
}
|
|
179
187
|
}
|
|
180
188
|
else {
|
|
181
|
-
const incident = await this.memory.get(key);
|
|
189
|
+
const incident = rehydrateDates(await this.memory.get(key), ['startedAt', 'resolvedAt']);
|
|
182
190
|
if (incident) {
|
|
183
191
|
incidents.push(incident);
|
|
184
192
|
}
|
|
@@ -426,7 +434,8 @@ export class ProductionIntelService {
|
|
|
426
434
|
const keys = await this.memory.search('production:milestone:*', limit);
|
|
427
435
|
const milestones = [];
|
|
428
436
|
for (const key of keys) {
|
|
429
|
-
|
|
437
|
+
// #493: rehydrate achievedAt at the kv-read seam.
|
|
438
|
+
const milestone = rehydrateDates(await this.memory.get(key), ['achievedAt']);
|
|
430
439
|
if (milestone) {
|
|
431
440
|
milestones.push(milestone);
|
|
432
441
|
}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { v4 as uuidv4 } from 'uuid';
|
|
6
6
|
import { ok, err, ALL_DOMAINS } from '../../../shared/types/index.js';
|
|
7
7
|
import { toError } from '../../../shared/error-utils.js';
|
|
8
|
+
import { rehydrateDates } from '../../../shared/utils/kv-date-rehydrate.js';
|
|
8
9
|
const DEFAULT_CONFIG = {
|
|
9
10
|
maxKnowledgeItems: 1000,
|
|
10
11
|
relevanceThreshold: 0.5,
|
|
@@ -64,7 +65,11 @@ export class TransferSpecialistService {
|
|
|
64
65
|
keys = await this.memory.search('learning:knowledge:shared:*', query.limit || 100);
|
|
65
66
|
}
|
|
66
67
|
for (const key of keys) {
|
|
67
|
-
|
|
68
|
+
// #493: rehydrate Date fields at the kv-read seam. `createdAt` is
|
|
69
|
+
// consumed by validateRelevance().getTime() and `expiresAt` is
|
|
70
|
+
// compared via `new Date() > knowledge.expiresAt` — both broken
|
|
71
|
+
// when the field is a string after JSON round-trip.
|
|
72
|
+
const knowledge = rehydrateDates(await this.memory.get(key), ['createdAt', 'expiresAt']);
|
|
68
73
|
if (knowledge && this.matchesQuery(knowledge, query)) {
|
|
69
74
|
results.push(knowledge);
|
|
70
75
|
}
|
|
@@ -75,7 +80,8 @@ export class TransferSpecialistService {
|
|
|
75
80
|
if (query.embedding && query.embedding.length > 0) {
|
|
76
81
|
const vectorResults = await this.memory.vectorSearch(query.embedding, query.limit || 10);
|
|
77
82
|
for (const vr of vectorResults) {
|
|
78
|
-
|
|
83
|
+
// #493: rehydrate Date fields at the kv-read seam.
|
|
84
|
+
const knowledge = rehydrateDates(await this.memory.get(vr.key), ['createdAt', 'expiresAt']);
|
|
79
85
|
if (knowledge &&
|
|
80
86
|
!results.some((r) => r.id === knowledge.id) &&
|
|
81
87
|
this.matchesQuery(knowledge, query)) {
|
|
@@ -246,7 +252,8 @@ export class TransferSpecialistService {
|
|
|
246
252
|
* Get knowledge by ID
|
|
247
253
|
*/
|
|
248
254
|
async getKnowledgeById(id) {
|
|
249
|
-
|
|
255
|
+
// #493: rehydrate Date fields at the kv-read seam.
|
|
256
|
+
const knowledge = rehydrateDates(await this.memory.get(`learning:knowledge:shared:${id}`), ['createdAt', 'expiresAt']);
|
|
250
257
|
return knowledge || null;
|
|
251
258
|
}
|
|
252
259
|
/**
|
|
@@ -257,7 +264,8 @@ export class TransferSpecialistService {
|
|
|
257
264
|
const keys = await this.memory.search(`learning:knowledge:project:${sourceProject}:*`, 500);
|
|
258
265
|
const results = [];
|
|
259
266
|
for (const key of keys) {
|
|
260
|
-
|
|
267
|
+
// #493: rehydrate Date fields at the kv-read seam.
|
|
268
|
+
const knowledge = rehydrateDates(await this.memory.get(key), ['createdAt', 'expiresAt']);
|
|
261
269
|
if (!knowledge)
|
|
262
270
|
continue;
|
|
263
271
|
// Apply filter
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
import type { IEmbedding, IEmbeddingModelConfig, IEmbeddingOptions, IBatchEmbeddingResult, ISimilarityResult, ISearchOptions, IEmbeddingStats, EmbeddingDimension, EmbeddingNamespace, QuantizationType } from './types.js';
|
|
14
14
|
export type { IEmbedding, IEmbeddingModelConfig, IEmbeddingOptions, IBatchEmbeddingResult, ISimilarityResult, ISearchOptions, IEmbeddingStats, EmbeddingDimension, EmbeddingNamespace, QuantizationType, };
|
|
15
15
|
import { EmbeddingCache } from '../cache/EmbeddingCache.js';
|
|
16
|
-
import type { Tensor } from '@
|
|
16
|
+
import type { Tensor } from '@huggingface/transformers';
|
|
17
17
|
/**
|
|
18
18
|
* Feature extraction pipeline interface
|
|
19
19
|
*
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* @module integrations/embeddings/base/EmbeddingGenerator
|
|
12
12
|
*/
|
|
13
13
|
import { EmbeddingCache } from '../cache/EmbeddingCache.js';
|
|
14
|
-
import { pipeline } from '@
|
|
14
|
+
import { pipeline } from '@huggingface/transformers';
|
|
15
15
|
import { cosineSimilarity } from '../../../shared/utils/vector-math.js';
|
|
16
16
|
/**
|
|
17
17
|
* Base embedding generator class
|
|
@@ -54,11 +54,20 @@ export class EmbeddingGenerator {
|
|
|
54
54
|
const startTime = performance.now();
|
|
55
55
|
// Use ONNX runtime if enabled
|
|
56
56
|
if (this.config.onnxEnabled) {
|
|
57
|
+
// v4 replaced `quantized: bool` with `dtype: DataType`. We map our
|
|
58
|
+
// QuantizationType to the closest model-load dtype; the 'binary' bucket
|
|
59
|
+
// is a post-process step, not a model weight format, so we fall back to
|
|
60
|
+
// q8 for load and keep the binary quantization step downstream.
|
|
61
|
+
const loadDtype = this.config.quantization === 'none' ? 'fp32' :
|
|
62
|
+
this.config.quantization === 'fp16' ? 'fp16' :
|
|
63
|
+
this.config.quantization === 'int8' ? 'int8' : 'q8';
|
|
57
64
|
this.model = await pipeline('feature-extraction', this.config.model, {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
65
|
+
dtype: loadDtype,
|
|
66
|
+
// v4 narrowed ProgressInfo to a discriminated union — `progress`
|
|
67
|
+
// only exists on the "progress"/download variants.
|
|
68
|
+
progress_callback: (info) => {
|
|
69
|
+
if (info.status === 'progress' && typeof info.progress === 'number') {
|
|
70
|
+
console.log(`Downloading model: ${(info.progress * 100).toFixed(0)}%`);
|
|
62
71
|
}
|
|
63
72
|
},
|
|
64
73
|
});
|