autohand-cli 0.8.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +173 -74
- package/dist/AgentRegistry-EGBDIUAK.cjs +10 -0
- package/dist/{AgentRegistry-7LDL5HJH.js → AgentRegistry-XPWSVO3Q.js} +3 -3
- package/dist/{AutomodeManager-MWLKGPZK.js → AutomodeManager-APLLPEYJ.js} +32 -18
- package/dist/{AutomodeManager-NYIZNODK.cjs → AutomodeManager-MPSXT2RH.cjs} +38 -24
- package/dist/CommunitySkillsCache-2OIUV227.cjs +8 -0
- package/dist/CommunitySkillsCache-ZEQWP6YM.js +8 -0
- package/dist/GitHubRegistryFetcher-CYJLF2XL.cjs +7 -0
- package/dist/{GitHubRegistryFetcher-6JQ5JEDZ.js → GitHubRegistryFetcher-J2BWPXJF.js} +2 -2
- package/dist/HookManager-CWLTFKWO.js +7 -0
- package/dist/HookManager-TMAJQU4S.cjs +7 -0
- package/dist/{ImportWizard-35YBJ4AM.cjs → ImportWizard-MQXEED2U.cjs} +41 -17
- package/dist/{ImportWizard-XH7CINCH.js → ImportWizard-QBKQEXDW.js} +35 -11
- package/dist/LearnAdvisor-46FG2XIP.js +9 -0
- package/dist/LearnAdvisor-XBRDNAGH.cjs +9 -0
- package/dist/McpClientManager-BNSKLHIN.cjs +8 -0
- package/dist/{McpClientManager-7RM6YT35.js → McpClientManager-SL35BR24.js} +2 -2
- package/dist/MemoryManager-34L4YOKA.cjs +8 -0
- package/dist/MemoryManager-WJMLPWGU.js +8 -0
- package/dist/NVIDIAProvider-2HR737UE.js +14 -0
- package/dist/NVIDIAProvider-MVTL62PR.cjs +14 -0
- package/dist/PermissionManager-5OOJ7FAT.cjs +11 -0
- package/dist/{PermissionManager-ATUV34LQ.js → PermissionManager-KMYILJ4Z.js} +4 -4
- package/dist/{ProjectProfiler-ZDWR2ODG.cjs → ProjectProfiler-CDAE7ECW.cjs} +2 -1
- package/dist/{ProjectProfiler-UMJJSOCE.js → ProjectProfiler-NZTJDRHD.js} +2 -1
- package/dist/ProviderFactory-C3YPXTDD.cjs +11 -0
- package/dist/ProviderFactory-HFPRVQ25.js +11 -0
- package/dist/SessionManager-PNBTJJTQ.js +10 -0
- package/dist/SessionManager-WAPTFMDO.cjs +10 -0
- package/dist/SkillsRegistry-4RRD5GMX.js +9 -0
- package/dist/SkillsRegistry-7AJP74GJ.cjs +9 -0
- package/dist/SubAgent-FDIH3DXB.js +11 -0
- package/dist/SubAgent-HVL2ICVZ.cjs +11 -0
- package/dist/{SyncApiClient-LVIO4C2S.js → SyncApiClient-LRPFNCKJ.js} +2 -2
- package/dist/SyncApiClient-VMBOLQ6H.cjs +11 -0
- package/dist/about-BW3PDZUU.js +14 -0
- package/dist/about-FCAX37YC.cjs +14 -0
- package/dist/acp-EOETGAHC.cjs +1517 -0
- package/dist/acp-VHEL7BOW.js +1517 -0
- package/dist/actionExecutor-33I47NZS.js +24 -0
- package/dist/actionExecutor-4YBMR3YH.cjs +24 -0
- package/dist/add-dir-7SS6KSH5.cjs +11 -0
- package/dist/add-dir-VFX7QT4E.js +11 -0
- package/dist/agent-DMRUFU4M.cjs +116 -0
- package/dist/agent-WCJEYQJT.js +116 -0
- package/dist/agents/builtin/code-cleaner.md +1 -1
- package/dist/agents/builtin/docs-writer.md +1 -1
- package/dist/agents/builtin/researcher.md +2 -2
- package/dist/agents/builtin/reviewer.md +1 -1
- package/dist/agents/builtin/tester.md +1 -1
- package/dist/agents/builtin/todo-resolver.md +1 -1
- package/dist/agents-CHROO3VU.cjs +17 -0
- package/dist/agents-UVDUL65K.js +17 -0
- package/dist/agents-new-AUBWSOXP.js +17 -0
- package/dist/agents-new-Y562WC47.cjs +17 -0
- package/dist/{autoSkill-6TGBTEQD.js → autoSkill-EFMK6WU6.js} +3 -3
- package/dist/autoSkill-YOLLFTP2.cjs +20 -0
- package/dist/automode-BMYSRM34.js +10 -0
- package/dist/automode-DBLKTTKD.cjs +10 -0
- package/dist/browserToolBridge-BXRQB4B4.cjs +58 -0
- package/dist/browserToolBridge-F5N66PE7.js +58 -0
- package/dist/{cc-7LEIJ3KF.js → cc-AYEP2CA3.js} +1 -1
- package/dist/{cc-Q5MM4AWC.cjs → cc-S2QLQFBR.cjs} +1 -1
- package/dist/chrome-ATC4OO5I.cjs +20 -0
- package/dist/chrome-NHJ44WUN.js +50 -0
- package/dist/chrome-O62WXV7F.js +20 -0
- package/dist/chrome-XHJLCO4M.cjs +50 -0
- package/dist/chromeSkill-53TH55PM.js +105 -0
- package/dist/chromeSkill-THW7N4IY.cjs +105 -0
- package/dist/{chunk-HOAHWIQ5.cjs → chunk-2CGE7ZV3.cjs} +26 -26
- package/dist/chunk-2H5O745H.js +63 -0
- package/dist/chunk-2HOLOHVK.js +2219 -0
- package/dist/{chunk-3PDTTAKJ.js → chunk-2QL6MNXG.js} +15 -8
- package/dist/{chunk-PGRH5Q77.cjs → chunk-2VHB43IX.cjs} +35 -6
- package/dist/{chunk-VG34MG2U.js → chunk-37M5UM6I.js} +9 -6
- package/dist/{chunk-6HYLHBQG.cjs → chunk-3DDL2E55.cjs} +20 -16
- package/dist/chunk-3EDDDZS2.cjs +5 -0
- package/dist/{chunk-6OYHF6MF.js → chunk-3GUEUCZK.js} +28 -4
- package/dist/{chunk-N254NRHT.cjs → chunk-3HT76LNN.cjs} +9 -2
- package/dist/{chunk-DVUHHH3B.cjs → chunk-3KLSNNRW.cjs} +4 -4
- package/dist/chunk-3LJJG5YY.cjs +387 -0
- package/dist/chunk-3OF56EMA.cjs +197 -0
- package/dist/chunk-3PXKRVCW.js +108 -0
- package/dist/{chunk-IKGWDOGU.cjs → chunk-3S563FNF.cjs} +160 -79
- package/dist/chunk-3UT7R3XV.js +663 -0
- package/dist/chunk-4256YRCO.cjs +80 -0
- package/dist/chunk-46C73ZKK.cjs +663 -0
- package/dist/chunk-46MTALKD.js +44 -0
- package/dist/{chunk-AEJH23FO.cjs → chunk-47PHDKNW.cjs} +6 -6
- package/dist/chunk-4LMUDS2K.js +124 -0
- package/dist/{chunk-HLHTG5ZU.cjs → chunk-5CMYEM3R.cjs} +14 -12
- package/dist/{chunk-MBBY4ZIK.js → chunk-5F6ZKSHO.js} +4 -1
- package/dist/chunk-5JFTY3VU.js +74 -0
- package/dist/chunk-5JTTM5SC.js +59 -0
- package/dist/{chunk-IETRBBMP.cjs → chunk-5K3CDSWZ.cjs} +108 -31
- package/dist/{chunk-GJH7XMSK.js → chunk-5VHP6HDQ.js} +8 -6
- package/dist/{chunk-6ZCULLCA.js → chunk-62RTC3XX.js} +1 -1
- package/dist/{chunk-MSED7RH2.cjs → chunk-6GUODJKM.cjs} +112 -41
- package/dist/{chunk-47CKWKEX.cjs → chunk-6HH236FV.cjs} +9 -4
- package/dist/{chunk-WHE2SWHU.js → chunk-6NVAK6CK.js} +2 -2
- package/dist/chunk-6R25D2H5.js +121 -0
- package/dist/{chunk-3PCTTUNW.cjs → chunk-6XVVIY54.cjs} +55 -25
- package/dist/{chunk-3L53OA4E.cjs → chunk-75EDROHL.cjs} +10 -10
- package/dist/{chunk-G4CAKI3V.js → chunk-7HPWMALN.js} +7 -2
- package/dist/chunk-7JLT2VNW.cjs +18963 -0
- package/dist/chunk-7LWQCE4Y.cjs +987 -0
- package/dist/{chunk-OLSBBZW6.cjs → chunk-7MU7LWF3.cjs} +5 -5
- package/dist/{chunk-HLQV64Y5.js → chunk-7RFJB75Y.js} +140 -59
- package/dist/{chunk-X2MSVKDV.js → chunk-A7HHCIDQ.js} +2 -2
- package/dist/{chunk-SKYG33B2.cjs → chunk-AC7DZ6SK.cjs} +3 -3
- package/dist/{chunk-XX2ZO7DS.js → chunk-ACDQGA4Z.js} +90 -16
- package/dist/{chunk-CZXGCVTR.cjs → chunk-AOKCI722.cjs} +2 -2
- package/dist/chunk-ARBEHFCG.js +715 -0
- package/dist/{chunk-OOKY3HPZ.js → chunk-AT7OWLY5.js} +50 -9
- package/dist/chunk-AU6JAGZJ.cjs +231 -0
- package/dist/chunk-AUFNACED.js +18963 -0
- package/dist/{chunk-CDBPBM2K.cjs → chunk-AUYSIEVV.cjs} +3 -3
- package/dist/chunk-B4HSNOIH.cjs +354 -0
- package/dist/{chunk-EGMZDTSL.js → chunk-B5CGDNMR.js} +10 -2
- package/dist/{chunk-34M3HWLR.js → chunk-BFQDQRDE.js} +2 -2
- package/dist/{chunk-2AA5MFES.js → chunk-BL2UC7HC.js} +8 -5
- package/dist/{chunk-LNMYK2F5.cjs → chunk-BQ22N3TX.cjs} +56 -41
- package/dist/chunk-BQU3HAE7.js +21 -0
- package/dist/chunk-BWF4VDYE.js +3897 -0
- package/dist/chunk-BYE7RQFZ.cjs +121 -0
- package/dist/{chunk-APIXPPMT.js → chunk-CBFH2J3O.js} +855 -33
- package/dist/chunk-CCVMREXI.js +420 -0
- package/dist/chunk-CFAWTLSC.js +13 -0
- package/dist/{chunk-G27PQQFD.js → chunk-CFFE4VA3.js} +1 -1
- package/dist/{chunk-ZYQMLKOK.cjs → chunk-CH2J4PVE.cjs} +212 -70
- package/dist/{chunk-7BTSG4ME.cjs → chunk-CHI52KFR.cjs} +855 -33
- package/dist/{chunk-DJDE4DTT.cjs → chunk-CWINVFRI.cjs} +25 -19
- package/dist/{chunk-HXGBSJL5.cjs → chunk-D2OSPLYC.cjs} +2 -2
- package/dist/{chunk-GBHDROGL.js → chunk-D6GZBSOX.js} +16 -4
- package/dist/{chunk-CNBKZEX5.cjs → chunk-DA7NBAJK.cjs} +49 -17
- package/dist/chunk-DEQVRSV5.cjs +866 -0
- package/dist/{chunk-RGR6ME5J.cjs → chunk-DI57A4BX.cjs} +25 -28
- package/dist/{chunk-WM5PAOTQ.cjs → chunk-DIZTWFVR.cjs} +1649 -484
- package/dist/{chunk-YZXUDM5X.js → chunk-DLP436GI.js} +204 -62
- package/dist/{chunk-OHUZKDGX.js → chunk-DMRXF5DU.js} +3 -3
- package/dist/{chunk-U46VYPLR.cjs → chunk-DPSIGY6L.cjs} +9 -9
- package/dist/{chunk-DN573ME7.cjs → chunk-DRWDEHE5.cjs} +4 -4
- package/dist/{chunk-SEKD5FH3.cjs → chunk-E26KKI46.cjs} +5 -2
- package/dist/{chunk-J4Q7XR3G.js → chunk-E46DJH5S.js} +3 -3
- package/dist/{chunk-Q7XSCYND.cjs → chunk-E6GFD7VR.cjs} +49 -26
- package/dist/chunk-ES2HJQ4N.js +37 -0
- package/dist/chunk-EZJHLOWP.js +80 -0
- package/dist/chunk-FFBDRUO5.cjs +59 -0
- package/dist/{chunk-AYSFIUFW.js → chunk-FGT6KK6T.js} +38 -15
- package/dist/{chunk-SAHBLB3E.js → chunk-FP46B4X3.js} +208 -3
- package/dist/{chunk-DSPQEHDT.js → chunk-FQAVGSPW.js} +2 -2
- package/dist/chunk-FQVG6ZHF.js +197 -0
- package/dist/chunk-GBMDFWJX.cjs +152 -0
- package/dist/{chunk-DRE2RXBZ.js → chunk-GGLKUENP.js} +1605 -440
- package/dist/{chunk-S52YW5ZQ.js → chunk-GNBBIAMD.js} +16 -19
- package/dist/{chunk-MYISNQH4.js → chunk-GWO66KBI.js} +1 -1
- package/dist/chunk-GWY26SUD.cjs +63 -0
- package/dist/{chunk-YGN4CQIP.js → chunk-GZ6DV2UG.js} +1 -1
- package/dist/{chunk-EZMINVLU.js → chunk-H4D2Q2AL.js} +5 -2
- package/dist/chunk-HDK2EHVH.cjs +570 -0
- package/dist/chunk-HJIXWGQZ.js +139 -0
- package/dist/{chunk-6RF7UKUS.js → chunk-HKYZSUQ5.js} +48 -47
- package/dist/{chunk-LQGVEP3E.js → chunk-HQUSEWT4.js} +45 -13
- package/dist/{chunk-HTLINWX6.cjs → chunk-HQWQZML5.cjs} +16 -13
- package/dist/{chunk-DVZOENQ7.cjs → chunk-HS4USDND.cjs} +9 -4
- package/dist/chunk-HSCUPEA4.cjs +3897 -0
- package/dist/{chunk-JCLYQ2JC.js → chunk-HXJEGMGB.js} +12 -6
- package/dist/{chunk-LJFUXC56.cjs → chunk-HXQREVTA.cjs} +9 -6
- package/dist/{chunk-SCXX4LW5.js → chunk-I24CWKKK.js} +15 -8
- package/dist/chunk-IAGCRVJ3.js +355 -0
- package/dist/chunk-IEXKKKOF.cjs +92 -0
- package/dist/{chunk-5IXII4HX.cjs → chunk-IGMPWJ2I.cjs} +19 -12
- package/dist/chunk-IKUMVBCW.cjs +33 -0
- package/dist/{chunk-XTB6VJVQ.cjs → chunk-J2K57QM7.cjs} +6 -6
- package/dist/{chunk-O4IF4NJT.cjs → chunk-J5ADZN6V.cjs} +57 -56
- package/dist/chunk-J5HE6CUM.cjs +124 -0
- package/dist/{chunk-JS7IPR7P.js → chunk-JAQO6XDB.js} +31 -2
- package/dist/chunk-JIMSII7R.js +987 -0
- package/dist/chunk-JJ4KA7HK.cjs +2219 -0
- package/dist/chunk-JMN3GZU6.js +570 -0
- package/dist/{chunk-X5VSP65C.cjs → chunk-JP3YHTQ2.cjs} +4 -4
- package/dist/{chunk-SKV2F3NM.js → chunk-JYKPWK5O.js} +1 -1
- package/dist/{chunk-NNPAM4HC.cjs → chunk-KNTUI4TZ.cjs} +12 -6
- package/dist/{chunk-HIVRCQS2.js → chunk-L4F7SUYL.js} +56 -25
- package/dist/{chunk-C5IJIM2V.cjs → chunk-LDJQ5QHG.cjs} +68 -37
- package/dist/{chunk-ULQ6MDSJ.cjs → chunk-LFDPTJYF.cjs} +43 -35
- package/dist/chunk-LJD7KR3L.cjs +44 -0
- package/dist/chunk-LN7D3EJZ.js +387 -0
- package/dist/{chunk-643VRA5S.cjs → chunk-LQBONA55.cjs} +32 -8
- package/dist/{chunk-NCC6ETZS.js → chunk-LUMV3DB2.js} +41 -33
- package/dist/chunk-M4KNC5BQ.js +78 -0
- package/dist/chunk-MO4KP6XS.cjs +229 -0
- package/dist/{chunk-BVKXEQVG.cjs → chunk-MOJ7ADW4.cjs} +22 -10
- package/dist/chunk-MPULXVC4.cjs +715 -0
- package/dist/{chunk-X5YJ34FZ.cjs → chunk-MQESBFBZ.cjs} +46 -23
- package/dist/chunk-MUNUUFU7.cjs +21 -0
- package/dist/{chunk-X3WS5LDG.js → chunk-MX75JYIY.js} +7 -5
- package/dist/chunk-MXVIDIC6.cjs +139 -0
- package/dist/{chunk-3K2ESU53.cjs → chunk-N6O3XUZ2.cjs} +2 -2
- package/dist/{chunk-IVM5F2AE.js → chunk-NBGOIFKP.js} +265 -18
- package/dist/{chunk-SLQAYV3W.js → chunk-NMQ47RCG.js} +8 -2
- package/dist/{chunk-JYTDYJVW.js → chunk-O64I2GYI.js} +1 -1
- package/dist/{chunk-IFFXSTOM.cjs → chunk-O6TQP7U7.cjs} +3 -3
- package/dist/{chunk-AYS2ASM7.js → chunk-OHWMWKJQ.js} +1 -1
- package/dist/{chunk-N23UAW4I.js → chunk-OM24WXEE.js} +7 -2
- package/dist/{chunk-MAKMSQMQ.cjs → chunk-OPNI6O7F.cjs} +8 -6
- package/dist/chunk-OR67YXQK.cjs +13 -0
- package/dist/{chunk-QOXPOR5D.js → chunk-OV3PVUYN.js} +115 -44
- package/dist/{chunk-TNZRZQ7Q.js → chunk-PB7W7R72.js} +3 -78
- package/dist/chunk-PCM3N3CL.cjs +37 -0
- package/dist/{chunk-A4IJHHV7.cjs → chunk-PDHT7LQS.cjs} +52 -11
- package/dist/{chunk-LA7H35XM.cjs → chunk-PHJO5YAL.cjs} +9 -9
- package/dist/{chunk-KPELYZ6L.js → chunk-PQLKJCIE.js} +2 -2
- package/dist/chunk-PUD76XQT.cjs +78 -0
- package/dist/chunk-Q2IL4DDI.cjs +355 -0
- package/dist/{chunk-WPVWQSL7.cjs → chunk-Q6AC3PHY.cjs} +16 -13
- package/dist/{chunk-XRZEUWKF.js → chunk-QCHIDZBA.js} +1 -1
- package/dist/{chunk-IQ5RXU6O.js → chunk-QEGOB6QV.js} +1 -1
- package/dist/{chunk-JSBRDJBE.js → chunk-QGM4M3NI.js} +8 -1
- package/dist/chunk-QKP772OZ.js +4291 -0
- package/dist/chunk-QQ7PANOP.js +59 -0
- package/dist/{chunk-YHD6TUIR.cjs → chunk-QW2RW2GY.cjs} +2 -0
- package/dist/chunk-RAKO7UN7.js +114 -0
- package/dist/chunk-RBHANOYY.js +33 -0
- package/dist/chunk-RBZ7AFX7.cjs +29 -0
- package/dist/{chunk-TXSDBGKX.cjs → chunk-REMGR23V.cjs} +46 -49
- package/dist/chunk-ROLA6EFO.cjs +85 -0
- package/dist/{chunk-TBEGGJNC.cjs → chunk-SOLBYSLY.cjs} +33 -16
- package/dist/{chunk-FKSDEWDH.js → chunk-SWCQM52V.js} +68 -25
- package/dist/{chunk-H5SWOLG6.js → chunk-TBOLJDUG.js} +39 -24
- package/dist/chunk-TH26BQJG.js +101 -0
- package/dist/{chunk-245KJE5Y.cjs → chunk-TJNBASFD.cjs} +14 -6
- package/dist/chunk-TKKN34TV.js +229 -0
- package/dist/chunk-TQ33WBY5.cjs +74 -0
- package/dist/{chunk-EGFT4PGW.js → chunk-TWQDAUZU.js} +5 -2
- package/dist/{chunk-OGV4WJ5L.cjs → chunk-TXPSTCG7.cjs} +74 -59
- package/dist/{chunk-CAMZTXV6.js → chunk-U4C3HW6P.js} +67 -52
- package/dist/{chunk-5P2NXKP3.js → chunk-UEIXJG45.js} +104 -76
- package/dist/{chunk-22D2CNTP.cjs → chunk-UGFVM77J.cjs} +5 -2
- package/dist/chunk-UOQECODR.js +34 -0
- package/dist/chunk-UR27UDTB.js +354 -0
- package/dist/chunk-UWFG2R2I.cjs +420 -0
- package/dist/{chunk-Y72HH2TF.cjs → chunk-UXLW45ZE.cjs} +102 -28
- package/dist/{chunk-FPHU2ES6.cjs → chunk-VBOFPU5M.cjs} +6 -0
- package/dist/{chunk-JX3DFKBI.js → chunk-VDWJMWDF.js} +54 -24
- package/dist/{chunk-LENHP55G.cjs → chunk-VGEV44V2.cjs} +1076 -158
- package/dist/{chunk-33RSHBDH.js → chunk-VKBIE6I6.js} +38 -7
- package/dist/{chunk-CWMZKFTT.js → chunk-VRMZO6TB.js} +31 -8
- package/dist/chunk-VUGOOGHB.js +400 -0
- package/dist/chunk-WBU4Q4GS.cjs +400 -0
- package/dist/chunk-WGLBC5AY.cjs +59 -0
- package/dist/{chunk-KWXVKLQ5.cjs → chunk-WGNMOVMT.cjs} +7 -82
- package/dist/{chunk-RKJTGGMU.cjs → chunk-WKRDBCP2.cjs} +221 -16
- package/dist/chunk-WRTXCQ3V.cjs +4291 -0
- package/dist/chunk-WTB7AFL6.cjs +101 -0
- package/dist/{chunk-NDMIPTV4.js → chunk-WZV6UVPY.js} +8 -3
- package/dist/chunk-XF2WIKHR.cjs +34 -0
- package/dist/{chunk-L3WAH3EM.cjs → chunk-XGMI6IYB.cjs} +46 -15
- package/dist/{chunk-FW774QXH.js → chunk-XIVFAD2L.js} +1048 -130
- package/dist/chunk-XV2HXRHX.js +85 -0
- package/dist/{chunk-72FKPBT5.js → chunk-Y3M2DABP.js} +16 -12
- package/dist/{chunk-QNGEW5TC.js → chunk-YV63VW4K.js} +1 -1
- package/dist/{chunk-UJ2JSM6H.js → chunk-YVQI26H4.js} +2 -0
- package/dist/{chunk-RD5XAJR2.cjs → chunk-YWTIXHU6.cjs} +266 -19
- package/dist/chunk-YZWE7XSM.js +5 -0
- package/dist/{chunk-I5IW3T2Y.js → chunk-Z3XSSF7B.js} +32 -15
- package/dist/{chunk-6UJMCWRY.js → chunk-Z4LIPMPM.js} +6 -0
- package/dist/chunk-ZASDSY7P.cjs +114 -0
- package/dist/{chunk-R33VKSH5.cjs → chunk-ZHJ7JGME.cjs} +11 -11
- package/dist/chunk-ZPD2AO3U.js +866 -0
- package/dist/{chunk-7UOUW76C.js → chunk-ZQAT5VT5.js} +101 -24
- package/dist/chunk-ZR46OJNZ.js +152 -0
- package/dist/{chunk-G3V4SFET.cjs → chunk-ZZ63NW7A.cjs} +78 -35
- package/dist/clear-33TWQ2ES.cjs +12 -0
- package/dist/clear-OFLFQ3MR.js +12 -0
- package/dist/{communityInstaller-6KCFN7YZ.js → communityInstaller-COB2KTOW.js} +9 -6
- package/dist/communityInstaller-TWMGPSYM.cjs +22 -0
- package/dist/completion-IIZMHXYP.cjs +17 -0
- package/dist/completion-PT4VM2H2.js +17 -0
- package/dist/config-KL6WU7R2.cjs +20 -0
- package/dist/{config-ZN66VXPS.js → config-R4O7GBTY.js} +7 -5
- package/dist/{constants-UFM5B232.js → constants-HVCHVQAF.js} +2 -2
- package/dist/constants-RLMJ5D5P.cjs +21 -0
- package/dist/{defaultHooks-RCXPHF4M.cjs → defaultHooks-2V2CQL63.cjs} +26 -11
- package/dist/{defaultHooks-RDRMER3Z.js → defaultHooks-TMHDU3FS.js} +26 -11
- package/dist/export-3PK3VFCE.js +15 -0
- package/dist/export-WLGNWEMJ.cjs +15 -0
- package/dist/{extractSessionMemories-V7K42ZHW.js → extractSessionMemories-A2JX5WJ2.js} +1 -1
- package/dist/{extractSessionMemories-SDW2MVBQ.cjs → extractSessionMemories-XL3MS37F.cjs} +1 -1
- package/dist/feedback-G635NCLJ.js +18 -0
- package/dist/feedback-LLMK3TZH.cjs +18 -0
- package/dist/fffSearchProvider-2YCNKOYD.js +412 -0
- package/dist/fffSearchProvider-W6627E2V.cjs +412 -0
- package/dist/filesystem-L6DQKGWK.js +11 -0
- package/dist/filesystem-PGUPCMVK.cjs +11 -0
- package/dist/{formatters-6K7QVWQL.cjs → formatters-53XTCNGQ.cjs} +1 -1
- package/dist/{formatters-DQHO5I36.js → formatters-T6KV4BPP.js} +1 -1
- package/dist/help-BAXLP2M2.cjs +12 -0
- package/dist/{help-2BLR7L43.js → help-X3OAZ3CY.js} +3 -3
- package/dist/history-6HOJSEMT.cjs +14 -0
- package/dist/{history-5FZ3M2AK.js → history-YKFPHBJN.js} +3 -3
- package/dist/hooks-7TA4PIIB.js +18 -0
- package/dist/hooks-XVFU67T2.cjs +18 -0
- package/dist/{i18n-K7QOWIBH.js → i18n-2KBUU7XL.js} +2 -2
- package/dist/i18n-MUJMKTFM.cjs +33 -0
- package/dist/ide-CCQ33PGC.cjs +15 -0
- package/dist/ide-VLVFBZ5F.js +15 -0
- package/dist/immediateCommandRouter-MTEHZXQX.js +15 -0
- package/dist/immediateCommandRouter-ROXU3MWT.cjs +15 -0
- package/dist/{import-UXM3VK7B.js → import-4CHYLS4K.js} +4 -4
- package/dist/{import-QEME3E4T.cjs → import-I7T4ZHYL.cjs} +4 -4
- package/dist/import-J46F54JY.cjs +10 -0
- package/dist/import-JWPYKXCZ.js +10 -0
- package/dist/index.cjs +747 -22356
- package/dist/index.d.cts +93 -0
- package/dist/index.d.ts +93 -0
- package/dist/index.js +786 -22395
- package/dist/init-262MWZV4.js +10 -0
- package/dist/init-EE5Y7RBL.cjs +10 -0
- package/dist/inkMode-VUE6ZDLD.cjs +7 -0
- package/dist/inkMode-WBNFOSAT.js +7 -0
- package/dist/inputPrompt-IIFKCX5Q.cjs +90 -0
- package/dist/inputPrompt-YGBHDUEP.js +90 -0
- package/dist/language-CVLPB7OV.js +21 -0
- package/dist/language-ZTWFHUSV.cjs +21 -0
- package/dist/learn-PON7I5QS.js +23 -0
- package/dist/learn-XLRSVNA3.cjs +23 -0
- package/dist/{lint-D5UOJWIK.cjs → lint-4NDGCSCL.cjs} +1 -1
- package/dist/{lint-NJPZWVN2.js → lint-FZ7ZJUB3.js} +1 -1
- package/dist/login-223QTGBG.cjs +26 -0
- package/dist/login-6IKTBUBY.js +26 -0
- package/dist/logout-RN2AG6SI.js +23 -0
- package/dist/logout-U3M4FFX7.cjs +23 -0
- package/dist/mcp-5O6PUL4G.js +20 -0
- package/dist/mcp-NUQ76QQB.cjs +20 -0
- package/dist/{mcp-install-VESN42PI.js → mcp-install-6XWXLFVY.js} +18 -11
- package/dist/{mcp-install-G27HSS3Z.cjs → mcp-install-P6DHES7V.cjs} +22 -15
- package/dist/memory-CYMDQ2YC.cjs +10 -0
- package/dist/memory-Q54CESNM.js +10 -0
- package/dist/{message-ZJ5AYAMT.cjs → message-4OKO775J.cjs} +1 -1
- package/dist/{message-JUBOK2VU.js → message-X3LOAAM7.js} +1 -1
- package/dist/model-6AJ77PJG.js +10 -0
- package/dist/model-IDRCKDML.cjs +10 -0
- package/dist/new-7LEWOUF2.cjs +12 -0
- package/dist/new-ZXHEWC2S.js +12 -0
- package/dist/onboarding-FXX7YHSJ.cjs +35 -0
- package/dist/onboarding-JYNMK6NI.js +35 -0
- package/dist/{patch-MOD7QC3D.cjs → patch-DJ2GPFST.cjs} +1 -1
- package/dist/{patch-5F6VBIT3.js → patch-NIJWIRHS.js} +1 -1
- package/dist/permissions-YBNSANIA.cjs +10 -0
- package/dist/permissions-YHJMVA6L.js +10 -0
- package/dist/plan-XEJMOT55.cjs +13 -0
- package/dist/plan-YYUAXPTL.js +13 -0
- package/dist/pr-review-CW6J7P62.cjs +9 -0
- package/dist/pr-review-YZSBQVT2.js +9 -0
- package/dist/quit-B43SJ6E4.cjs +10 -0
- package/dist/quit-GWTNHQSP.js +10 -0
- package/dist/rawMode-6W5AXAKI.cjs +7 -0
- package/dist/rawMode-GFNLXQPU.js +7 -0
- package/dist/{registry-KWZGYJC2.js → registry-34GL6BNJ.js} +30 -45
- package/dist/{registry-YN4FQPOO.cjs → registry-V24W7YK6.cjs} +66 -81
- package/dist/repeat-P4FAPE3Y.cjs +17 -0
- package/dist/repeat-RALE6AUO.js +17 -0
- package/dist/resume-DYVOQN5L.cjs +16 -0
- package/dist/resume-M25UQKOX.js +16 -0
- package/dist/review-QHP2KP4Q.js +9 -0
- package/dist/review-UWHWQHCB.cjs +9 -0
- package/dist/ripgrep-67SCU2BA.cjs +9 -0
- package/dist/ripgrep-VHJQQ55W.js +9 -0
- package/dist/rpc-NPS3PU4O.cjs +3730 -0
- package/dist/rpc-S3DGW6KV.js +3730 -0
- package/dist/search-CPX4PWHP.js +20 -0
- package/dist/search-VUF3M4N3.cjs +20 -0
- package/dist/{session-BSU2L5UI.cjs → session-LXKC4X5Q.cjs} +1 -1
- package/dist/{session-SZMRN5KG.js → session-NMMO4QOL.js} +1 -1
- package/dist/sessions-IYAXMK23.js +10 -0
- package/dist/sessions-JODKER5D.cjs +10 -0
- package/dist/settings-55BNW6BF.js +33 -0
- package/dist/settings-BKTS7OMC.cjs +33 -0
- package/dist/setup-IRC5HQG2.js +29 -0
- package/dist/setup-MMQ7TWOP.cjs +29 -0
- package/dist/share-6JRQECAH.cjs +17 -0
- package/dist/share-YM5MJKMO.js +17 -0
- package/dist/{skills-FYY6F2WV.cjs → skills-GGMZOVIE.cjs} +14 -11
- package/dist/skills-LWSOKOSH.cjs +29 -0
- package/dist/{skills-6OL4OSGA.js → skills-MVIZNHT4.js} +13 -10
- package/dist/skills-VWOMV3CR.js +29 -0
- package/dist/{skills-install-6CSWC24P.js → skills-install-QBA5RCV6.js} +22 -71
- package/dist/{skills-install-O3LZ2ETC.cjs → skills-install-VTAMCNNY.cjs} +35 -84
- package/dist/skills-new-GPL46YV2.js +18 -0
- package/dist/skills-new-L5BEZN5V.cjs +18 -0
- package/dist/slashCommands-FBPCIWM5.cjs +95 -0
- package/dist/slashCommands-FCWY5DXW.js +95 -0
- package/dist/status-3B5SDZPL.js +17 -0
- package/dist/status-TTGRF6NC.cjs +17 -0
- package/dist/summarizer-DGPHE5IQ.js +17 -0
- package/dist/summarizer-JNXLUAQG.cjs +17 -0
- package/dist/sync-77CXVVTK.cjs +21 -0
- package/dist/{sync-KWX67OUN.js → sync-7BILIQHP.js} +4 -4
- package/dist/sync-7OKF6636.js +21 -0
- package/dist/sync-EH4K5U3N.cjs +40 -0
- package/dist/{tasks-5FPBIFLC.js → tasks-R5MBGAQ6.js} +1 -1
- package/dist/{tasks-TXGKGNH6.cjs → tasks-V4WB3MFR.cjs} +1 -1
- package/dist/{team-5YXP3JGR.js → team-JESCHGWB.js} +1 -1
- package/dist/{team-IIWEZKNR.cjs → team-VQQKWGZB.cjs} +1 -1
- package/dist/{teammate-L6EZQ3I2.js → teammate-GZQSCIMS.js} +29 -8
- package/dist/{teammate-2KMKJXAM.cjs → teammate-J6PHGL23.cjs} +30 -9
- package/dist/theme-64BYGJ57.cjs +21 -0
- package/dist/theme-YJE6HEON.js +21 -0
- package/dist/tools-3PPTTKFV.js +9 -0
- package/dist/tools-THIQA7WC.cjs +9 -0
- package/dist/ui/questionModal.cjs +9 -6
- package/dist/ui/questionModal.js +8 -5
- package/dist/undo-PRTEGL2J.cjs +10 -0
- package/dist/undo-SZEHLX7X.js +10 -0
- package/dist/{update-TVAJMMBC.js → update-53WMKYVS.js} +1 -1
- package/dist/{update-Z6BIIQDC.cjs → update-NV6QRYY7.cjs} +1 -1
- package/dist/web-3BA2WV37.cjs +37 -0
- package/dist/web-6FYGBX5K.js +37 -0
- package/dist/workspaceSafety-MDJGHK6D.cjs +9 -0
- package/dist/workspaceSafety-XOUMUBVB.js +9 -0
- package/dist/yolo-GF2YD7ZI.js +9 -0
- package/dist/yolo-OGDA7HNC.cjs +9 -0
- package/dist/yoloMode-3DJDA75U.cjs +17 -0
- package/dist/yoloMode-4JOOSU26.js +17 -0
- package/package.json +46 -49
- package/dist/AgentRegistry-NQCLWABO.cjs +0 -10
- package/dist/CommunitySkillsCache-6QPRMTJO.js +0 -8
- package/dist/CommunitySkillsCache-GTQMOCCO.cjs +0 -8
- package/dist/GitHubRegistryFetcher-S7QFUEKV.cjs +0 -7
- package/dist/HookManager-Q2KYMCP4.cjs +0 -7
- package/dist/HookManager-TTP4Y6DC.js +0 -7
- package/dist/LearnAdvisor-A4Q5PPBI.js +0 -9
- package/dist/LearnAdvisor-GASQD7HT.cjs +0 -9
- package/dist/McpClientManager-RKD7C6OY.cjs +0 -8
- package/dist/MemoryManager-GUNLRP5S.js +0 -8
- package/dist/MemoryManager-TNSGKDKX.cjs +0 -8
- package/dist/PermissionManager-KMN53FJP.cjs +0 -11
- package/dist/ProviderFactory-MR5B23QJ.js +0 -9
- package/dist/ProviderFactory-VFGCJJX6.cjs +0 -9
- package/dist/SessionManager-FEUAU3ZJ.cjs +0 -10
- package/dist/SessionManager-IKWAK2PI.js +0 -10
- package/dist/SkillsRegistry-KPQFTRIT.cjs +0 -9
- package/dist/SkillsRegistry-XJSKPDF2.js +0 -9
- package/dist/SubAgent-NYH6GWQ3.js +0 -11
- package/dist/SubAgent-PZKBDUBA.cjs +0 -11
- package/dist/SyncApiClient-ZNYMT36M.cjs +0 -11
- package/dist/about-HHTF2YFL.js +0 -12
- package/dist/about-JGRVNNQC.cjs +0 -12
- package/dist/actionExecutor-U6IBN2TU.cjs +0 -19
- package/dist/actionExecutor-XT5FW3W6.js +0 -19
- package/dist/add-dir-247K3XRY.js +0 -10
- package/dist/add-dir-GS4DXKKH.cjs +0 -10
- package/dist/agents-R6ZEFTVR.cjs +0 -12
- package/dist/agents-WJPQWQF2.js +0 -12
- package/dist/agents-new-HKVEIBDJ.js +0 -14
- package/dist/agents-new-X6GTHIO6.cjs +0 -14
- package/dist/autoSkill-H4T6VVDA.cjs +0 -20
- package/dist/automode-BC6NVECO.js +0 -10
- package/dist/automode-WN2RSOGW.cjs +0 -10
- package/dist/chunk-33A755XB.cjs +0 -168
- package/dist/chunk-3OTU3RS3.cjs +0 -1607
- package/dist/chunk-4PKF7WPD.js +0 -100
- package/dist/chunk-ALYU6VTM.js +0 -105
- package/dist/chunk-AS6RTLN7.cjs +0 -203
- package/dist/chunk-BWN2CLLM.cjs +0 -298
- package/dist/chunk-HQ7YZKXE.js +0 -168
- package/dist/chunk-HVKOZ2VP.cjs +0 -115
- package/dist/chunk-J6QET7EF.cjs +0 -454
- package/dist/chunk-LWUJFGOZ.js +0 -115
- package/dist/chunk-P47WPOXN.js +0 -298
- package/dist/chunk-PRRCJFU3.cjs +0 -85
- package/dist/chunk-RO6WYEWH.js +0 -454
- package/dist/chunk-SYVYLZZF.cjs +0 -24
- package/dist/chunk-T73IDKDF.js +0 -111
- package/dist/chunk-YRLYSQEQ.cjs +0 -105
- package/dist/chunk-ZQE72E6W.cjs +0 -100
- package/dist/chunk-ZVY2XD6T.js +0 -1607
- package/dist/clear-UO4MNWZW.cjs +0 -12
- package/dist/clear-ZJ5NYP6E.js +0 -12
- package/dist/communityInstaller-PVSOFDZD.cjs +0 -19
- package/dist/completion-MMF2PN2H.js +0 -14
- package/dist/completion-UI5WKHXI.cjs +0 -14
- package/dist/config-E7RINK4R.cjs +0 -18
- package/dist/constants-6CPCJ3DY.cjs +0 -21
- package/dist/export-N4XIVDSL.cjs +0 -12
- package/dist/export-W22L4D5C.js +0 -12
- package/dist/feedback-DR6ADSNE.cjs +0 -15
- package/dist/feedback-FEEAP4QW.js +0 -15
- package/dist/filesystem-3SGCW2BF.js +0 -10
- package/dist/filesystem-MCFXJQ6R.cjs +0 -10
- package/dist/help-AQHGTS7P.cjs +0 -12
- package/dist/history-NIUDRMKA.cjs +0 -14
- package/dist/hooks-2EY4IPKV.js +0 -13
- package/dist/hooks-LJVORRIG.cjs +0 -13
- package/dist/i18n-ARDG2SMC.cjs +0 -33
- package/dist/ide-GFW6IJHD.js +0 -12
- package/dist/ide-N2ZNSSB3.cjs +0 -12
- package/dist/import-DFVN3KNZ.js +0 -10
- package/dist/import-ZS6DPGU5.cjs +0 -10
- package/dist/init-PY75HA3S.cjs +0 -10
- package/dist/init-QNMWLAVY.js +0 -10
- package/dist/language-5UE4G2BT.cjs +0 -18
- package/dist/language-UXMHEZUJ.js +0 -18
- package/dist/learn-HJ3FLNZC.cjs +0 -20
- package/dist/learn-MVYS3RU5.js +0 -20
- package/dist/localProjectPermissions-N77HA3XK.js +0 -18
- package/dist/localProjectPermissions-UFSMNTBJ.cjs +0 -18
- package/dist/login-DSE7H63A.js +0 -20
- package/dist/login-V3MEWPKN.cjs +0 -20
- package/dist/logout-BMVCLKKW.js +0 -18
- package/dist/logout-XEG7FHOZ.cjs +0 -18
- package/dist/mcp-PYUR4PHO.js +0 -18
- package/dist/mcp-SG6JFLGC.cjs +0 -18
- package/dist/memory-4ZMMEZ2Z.js +0 -10
- package/dist/memory-QSGMVVGH.cjs +0 -10
- package/dist/model-NANLBZ4Z.cjs +0 -10
- package/dist/model-ZXNV4AF7.js +0 -10
- package/dist/new-5QJY5JP2.js +0 -12
- package/dist/new-PMMG55UX.cjs +0 -12
- package/dist/permissions-LECTCJ4H.cjs +0 -13
- package/dist/permissions-VP5VGIBL.js +0 -13
- package/dist/plan-G5CEKJI4.js +0 -11
- package/dist/plan-QKOHE3LH.cjs +0 -11
- package/dist/quit-BKOOPHU5.cjs +0 -10
- package/dist/quit-FVFNYACP.js +0 -10
- package/dist/resume-EXFQSQPH.js +0 -13
- package/dist/resume-PP2IQM5S.cjs +0 -13
- package/dist/search-C56FBN67.cjs +0 -17
- package/dist/search-XGZDYBF4.js +0 -17
- package/dist/sessions-54KI3F2Q.js +0 -10
- package/dist/sessions-DDTSPNVW.cjs +0 -10
- package/dist/settings-BDO37TTO.cjs +0 -30
- package/dist/settings-FHRDFPLK.js +0 -30
- package/dist/share-IERCTBGN.cjs +0 -14
- package/dist/share-TGROUE6R.js +0 -14
- package/dist/skills-OM4IGBAA.cjs +0 -26
- package/dist/skills-S3GRN323.js +0 -26
- package/dist/skills-new-ALD2PTHN.js +0 -15
- package/dist/skills-new-PWLKK7GW.cjs +0 -15
- package/dist/slashCommands-L4ZD33LJ.js +0 -75
- package/dist/slashCommands-YY2VUUDF.cjs +0 -75
- package/dist/status-3PC5XWSS.cjs +0 -11
- package/dist/status-KCLVOYPD.js +0 -11
- package/dist/sync-6SDWG5RK.js +0 -18
- package/dist/sync-7JMZVEQD.cjs +0 -40
- package/dist/sync-WHURZL3U.cjs +0 -18
- package/dist/theme-BE5A4FPN.cjs +0 -18
- package/dist/theme-YMFCQP7J.js +0 -18
- package/dist/undo-KZHUUZTD.cjs +0 -10
- package/dist/undo-NEIEHQVX.js +0 -10
|
@@ -1,12 +1,74 @@
|
|
|
1
1
|
import {
|
|
2
2
|
GitIgnoreParser
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-H4D2Q2AL.js";
|
|
4
|
+
import {
|
|
5
|
+
resolveRipgrepCommand
|
|
6
|
+
} from "./chunk-UOQECODR.js";
|
|
4
7
|
|
|
5
8
|
// src/actions/filesystem.ts
|
|
6
9
|
import fs from "fs-extra";
|
|
7
10
|
import path from "path";
|
|
8
11
|
import { spawnSync } from "child_process";
|
|
9
12
|
import { applyPatch as applyUnifiedPatch } from "diff";
|
|
13
|
+
|
|
14
|
+
// src/utils/patchValidator.ts
|
|
15
|
+
function validateAndFixPatch(patch) {
|
|
16
|
+
const lines = patch.split("\n");
|
|
17
|
+
const result = [];
|
|
18
|
+
let i = 0;
|
|
19
|
+
while (i < lines.length) {
|
|
20
|
+
const line = lines[i];
|
|
21
|
+
const hunkMatch = line.match(/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/);
|
|
22
|
+
if (hunkMatch) {
|
|
23
|
+
i++;
|
|
24
|
+
const hunkLines = [];
|
|
25
|
+
while (i < lines.length) {
|
|
26
|
+
const nextLine = lines[i];
|
|
27
|
+
if (nextLine.match(/^@@ /) || nextLine.match(/^(---|\+\+\+|Index:|diff\s)/) || nextLine === "===================================================================") {
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
hunkLines.push(nextLine);
|
|
31
|
+
i++;
|
|
32
|
+
}
|
|
33
|
+
let oldCount = 0;
|
|
34
|
+
let newCount = 0;
|
|
35
|
+
for (const hunkLine of hunkLines) {
|
|
36
|
+
if (hunkLine.length === 0) continue;
|
|
37
|
+
const firstChar = hunkLine[0];
|
|
38
|
+
if (firstChar === "-") {
|
|
39
|
+
oldCount++;
|
|
40
|
+
} else if (firstChar === "+") {
|
|
41
|
+
newCount++;
|
|
42
|
+
} else if (firstChar === " " || firstChar === " ") {
|
|
43
|
+
oldCount++;
|
|
44
|
+
newCount++;
|
|
45
|
+
} else if (firstChar === "\\") {
|
|
46
|
+
} else {
|
|
47
|
+
oldCount++;
|
|
48
|
+
newCount++;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const oldStart = hunkMatch[1];
|
|
52
|
+
const newStart = hunkMatch[3];
|
|
53
|
+
let correctedHeader;
|
|
54
|
+
if (oldCount === 0) {
|
|
55
|
+
correctedHeader = `@@ -${parseInt(oldStart) + 1} +${newStart},${newCount} @@`;
|
|
56
|
+
} else if (newCount === 0) {
|
|
57
|
+
correctedHeader = `@@ -${oldStart},${oldCount} +${parseInt(newStart) + 1} @@`;
|
|
58
|
+
} else {
|
|
59
|
+
correctedHeader = `@@ -${oldStart},${oldCount} +${newStart},${newCount} @@`;
|
|
60
|
+
}
|
|
61
|
+
result.push(correctedHeader);
|
|
62
|
+
result.push(...hunkLines);
|
|
63
|
+
} else {
|
|
64
|
+
result.push(line);
|
|
65
|
+
i++;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return result.join("\n");
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// src/actions/filesystem.ts
|
|
10
72
|
var FILE_LIMITS = {
|
|
11
73
|
/** Maximum file size for read operations (10MB) */
|
|
12
74
|
MAX_READ_SIZE: 10 * 1024 * 1024,
|
|
@@ -20,16 +82,18 @@ var FILE_LIMITS = {
|
|
|
20
82
|
MAX_UNDO_STACK: 100
|
|
21
83
|
};
|
|
22
84
|
var FileActionManager = class {
|
|
85
|
+
undoStack = [];
|
|
86
|
+
workspaceRoot;
|
|
87
|
+
additionalDirs;
|
|
88
|
+
// Preview mode state
|
|
89
|
+
previewMode = false;
|
|
90
|
+
pendingChanges = [];
|
|
91
|
+
batchId = null;
|
|
92
|
+
changeCounter = 0;
|
|
93
|
+
onBatchChange = null;
|
|
94
|
+
currentToolId = "";
|
|
95
|
+
currentToolName = "";
|
|
23
96
|
constructor(workspaceRoot, additionalDirs = []) {
|
|
24
|
-
this.undoStack = [];
|
|
25
|
-
// Preview mode state
|
|
26
|
-
this.previewMode = false;
|
|
27
|
-
this.pendingChanges = [];
|
|
28
|
-
this.batchId = null;
|
|
29
|
-
this.changeCounter = 0;
|
|
30
|
-
this.onBatchChange = null;
|
|
31
|
-
this.currentToolId = "";
|
|
32
|
-
this.currentToolName = "";
|
|
33
97
|
const resolvedRoot = path.resolve(workspaceRoot);
|
|
34
98
|
try {
|
|
35
99
|
this.workspaceRoot = fs.realpathSync(resolvedRoot);
|
|
@@ -186,6 +250,14 @@ var FileActionManager = class {
|
|
|
186
250
|
get root() {
|
|
187
251
|
return this.workspaceRoot;
|
|
188
252
|
}
|
|
253
|
+
setWorkspaceRoot(workspaceRoot) {
|
|
254
|
+
const resolvedRoot = path.resolve(workspaceRoot);
|
|
255
|
+
try {
|
|
256
|
+
this.workspaceRoot = fs.realpathSync(resolvedRoot);
|
|
257
|
+
} catch {
|
|
258
|
+
this.workspaceRoot = resolvedRoot;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
189
261
|
async readFile(target) {
|
|
190
262
|
const filePath = this.resolvePath(target);
|
|
191
263
|
const exists = await fs.pathExists(filePath);
|
|
@@ -235,7 +307,8 @@ var FileActionManager = class {
|
|
|
235
307
|
async applyPatch(target, patch, description) {
|
|
236
308
|
const filePath = this.resolvePath(target);
|
|
237
309
|
const current = await this.readFileSafe(target);
|
|
238
|
-
const
|
|
310
|
+
const fixedPatch = validateAndFixPatch(patch);
|
|
311
|
+
const updated = applyUnifiedPatch(current, fixedPatch);
|
|
239
312
|
if (updated === false) {
|
|
240
313
|
throw new Error(`Failed to apply patch to ${target}`);
|
|
241
314
|
}
|
|
@@ -261,7 +334,7 @@ var FileActionManager = class {
|
|
|
261
334
|
}
|
|
262
335
|
search(query, relativePath) {
|
|
263
336
|
const searchDir = this.resolvePath(relativePath ?? ".");
|
|
264
|
-
const rgResult = spawnSync(
|
|
337
|
+
const rgResult = spawnSync(resolveRipgrepCommand(), [
|
|
265
338
|
"--line-number",
|
|
266
339
|
"--color",
|
|
267
340
|
"never",
|
|
@@ -443,18 +516,7 @@ var FileActionManager = class {
|
|
|
443
516
|
resolvePath(target) {
|
|
444
517
|
const normalized = path.isAbsolute(target) ? target : path.join(this.workspaceRoot, target);
|
|
445
518
|
const resolved = path.resolve(normalized);
|
|
446
|
-
|
|
447
|
-
try {
|
|
448
|
-
realPath = fs.realpathSync(resolved);
|
|
449
|
-
} catch {
|
|
450
|
-
const parentDir = path.dirname(resolved);
|
|
451
|
-
try {
|
|
452
|
-
const realParent = fs.realpathSync(parentDir);
|
|
453
|
-
realPath = path.join(realParent, path.basename(resolved));
|
|
454
|
-
} catch {
|
|
455
|
-
realPath = resolved;
|
|
456
|
-
}
|
|
457
|
-
}
|
|
519
|
+
const realPath = this.resolveRealPathOrAncestor(resolved);
|
|
458
520
|
const allAllowedRoots = [this.workspaceRoot, ...this.additionalDirs];
|
|
459
521
|
for (const allowedRoot of allAllowedRoots) {
|
|
460
522
|
let realRoot;
|
|
@@ -471,6 +533,21 @@ var FileActionManager = class {
|
|
|
471
533
|
const allowedDirsList = allAllowedRoots.join(", ");
|
|
472
534
|
throw new Error(`Path ${target} escapes the allowed directories: ${allowedDirsList}`);
|
|
473
535
|
}
|
|
536
|
+
resolveRealPathOrAncestor(resolvedPath) {
|
|
537
|
+
let probe = resolvedPath;
|
|
538
|
+
while (true) {
|
|
539
|
+
try {
|
|
540
|
+
const realProbe = fs.realpathSync(probe);
|
|
541
|
+
return probe === resolvedPath ? realProbe : path.join(realProbe, path.relative(probe, resolvedPath));
|
|
542
|
+
} catch {
|
|
543
|
+
const parent = path.dirname(probe);
|
|
544
|
+
if (parent === probe) {
|
|
545
|
+
return resolvedPath;
|
|
546
|
+
}
|
|
547
|
+
probe = parent;
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
}
|
|
474
551
|
walkFallback(query, baseDir) {
|
|
475
552
|
const hits = [];
|
|
476
553
|
const stack = [baseDir];
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildChromeOpenUrl,
|
|
3
|
+
createBrowserHandoff,
|
|
4
|
+
detectExtensionProfile,
|
|
5
|
+
ensureNativeHostInstalled,
|
|
6
|
+
getManifestTarget,
|
|
7
|
+
hasActiveHandoff,
|
|
8
|
+
openChromeContinuation
|
|
9
|
+
} from "./chunk-ARBEHFCG.js";
|
|
10
|
+
import {
|
|
11
|
+
showModal
|
|
12
|
+
} from "./chunk-DLP436GI.js";
|
|
13
|
+
import {
|
|
14
|
+
saveConfig
|
|
15
|
+
} from "./chunk-3UT7R3XV.js";
|
|
16
|
+
|
|
17
|
+
// src/commands/chrome.ts
|
|
18
|
+
import chalk from "chalk";
|
|
19
|
+
import fs from "fs-extra";
|
|
20
|
+
var metadata = {
|
|
21
|
+
command: "/chrome",
|
|
22
|
+
description: "continue the current session in the Autohand Chrome extension",
|
|
23
|
+
implemented: true
|
|
24
|
+
};
|
|
25
|
+
async function withModalPause(ctx, fn) {
|
|
26
|
+
await ctx.onBeforeModal?.();
|
|
27
|
+
try {
|
|
28
|
+
return await fn();
|
|
29
|
+
} finally {
|
|
30
|
+
await ctx.onAfterModal?.();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async function chrome(ctx, args = []) {
|
|
34
|
+
const subcommand = args[0]?.toLowerCase();
|
|
35
|
+
if (subcommand === "disconnect") {
|
|
36
|
+
if (!ctx.config) return "Config not available.";
|
|
37
|
+
const chromeConfig = ctx.config.chrome ?? {};
|
|
38
|
+
chromeConfig.enabledByDefault = false;
|
|
39
|
+
ctx.config.chrome = chromeConfig;
|
|
40
|
+
await saveConfig(ctx.config);
|
|
41
|
+
return `${chalk.green("\u2713")} Browser bridge disconnected and disabled.`;
|
|
42
|
+
}
|
|
43
|
+
const currentSession = ctx.sessionManager.getCurrentSession();
|
|
44
|
+
const sessionId = currentSession?.metadata.sessionId;
|
|
45
|
+
if (!sessionId) {
|
|
46
|
+
return "No active session. Start a task first, then run /chrome.";
|
|
47
|
+
}
|
|
48
|
+
const extensionId = ctx.config?.chrome?.extensionId;
|
|
49
|
+
const nativeHostInstalled = await fs.pathExists(getManifestTarget("chrome").manifestPath);
|
|
50
|
+
let extensionDetected = false;
|
|
51
|
+
if (extensionId) {
|
|
52
|
+
extensionDetected = await detectExtensionProfile(extensionId) !== null;
|
|
53
|
+
}
|
|
54
|
+
const nativeHostReady = ensureNativeHostInstalled({ extensionId }).catch(() => {
|
|
55
|
+
});
|
|
56
|
+
const activeHandoff = await hasActiveHandoff();
|
|
57
|
+
let connectionLabel;
|
|
58
|
+
if (activeHandoff) {
|
|
59
|
+
connectionLabel = chalk.green("Handoff pending");
|
|
60
|
+
} else if (nativeHostInstalled && extensionDetected) {
|
|
61
|
+
connectionLabel = chalk.green("Extension ready");
|
|
62
|
+
} else if (nativeHostInstalled) {
|
|
63
|
+
connectionLabel = chalk.yellow("Native host installed");
|
|
64
|
+
} else {
|
|
65
|
+
connectionLabel = chalk.red("Not installed");
|
|
66
|
+
}
|
|
67
|
+
const statusLabel = nativeHostInstalled ? "Ready" : "Disabled";
|
|
68
|
+
const extLabel = nativeHostInstalled ? extensionDetected ? chalk.green("Installed") : chalk.yellow("Native host only") : chalk.red("Not installed");
|
|
69
|
+
let selected = null;
|
|
70
|
+
let isReshow = false;
|
|
71
|
+
while (true) {
|
|
72
|
+
const enabledByDefault = ctx.config?.chrome?.enabledByDefault ? "Yes" : "No";
|
|
73
|
+
const options = [
|
|
74
|
+
{ label: "Open in Chrome", value: "open", description: "Hand off session and open browser" },
|
|
75
|
+
{ label: "Manage permissions", value: "permissions", description: "Open extension settings page" },
|
|
76
|
+
{ label: "Reconnect extension", value: "reconnect", description: "Reinstall native messaging host" },
|
|
77
|
+
{ label: `Enabled by default: ${enabledByDefault}`, value: "toggle", description: "Start browser bridge with the CLI" }
|
|
78
|
+
];
|
|
79
|
+
const title = [
|
|
80
|
+
chalk.yellow.bold("Autohand in Chrome (Beta)"),
|
|
81
|
+
"",
|
|
82
|
+
"Autohand in Chrome works with the extension to control your browser",
|
|
83
|
+
"from the CLI. Navigate, fill forms, capture screenshots, and debug.",
|
|
84
|
+
"",
|
|
85
|
+
`Connection: ${connectionLabel}`,
|
|
86
|
+
`Status: ${statusLabel}`,
|
|
87
|
+
`Extension: ${extLabel}`,
|
|
88
|
+
"",
|
|
89
|
+
`Usage: ${chalk.yellow("autohand --chrome")} or ${chalk.yellow("autohand --no-chrome")}`,
|
|
90
|
+
"",
|
|
91
|
+
"Site-level permissions are inherited from the Chrome extension.",
|
|
92
|
+
`Learn more: ${chalk.gray("https://autohand.ai/docs/chrome")}`
|
|
93
|
+
].join("\n");
|
|
94
|
+
if (isReshow) {
|
|
95
|
+
const titleLines = title.split("\n").length;
|
|
96
|
+
const optionLines = options.length * 2;
|
|
97
|
+
const chrome2 = 1;
|
|
98
|
+
const totalLines = titleLines + optionLines + chrome2 + 3;
|
|
99
|
+
process.stdout.write(`\x1B[${totalLines}A\x1B[0J`);
|
|
100
|
+
}
|
|
101
|
+
selected = await withModalPause(
|
|
102
|
+
ctx,
|
|
103
|
+
() => showModal({ title, options, initialIndex: isReshow ? 3 : void 0 })
|
|
104
|
+
);
|
|
105
|
+
if (!selected) return null;
|
|
106
|
+
if (selected.value === "toggle" && ctx.config) {
|
|
107
|
+
const chromeConfig = ctx.config.chrome ?? {};
|
|
108
|
+
chromeConfig.enabledByDefault = !chromeConfig.enabledByDefault;
|
|
109
|
+
ctx.config.chrome = chromeConfig;
|
|
110
|
+
await saveConfig(ctx.config);
|
|
111
|
+
isReshow = true;
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
switch (selected.value) {
|
|
117
|
+
case "open": {
|
|
118
|
+
await nativeHostReady;
|
|
119
|
+
await createBrowserHandoff({
|
|
120
|
+
sessionId,
|
|
121
|
+
workspaceRoot: ctx.workspaceRoot,
|
|
122
|
+
extensionId,
|
|
123
|
+
installUrl: ctx.config?.chrome?.installUrl
|
|
124
|
+
});
|
|
125
|
+
await openChromeContinuation(
|
|
126
|
+
buildChromeOpenUrl({ installUrl: ctx.config?.chrome?.installUrl }),
|
|
127
|
+
ctx.config?.chrome?.browser ?? "auto",
|
|
128
|
+
{ userDataDir: ctx.config?.chrome?.userDataDir, profileDirectory: ctx.config?.chrome?.profileDirectory }
|
|
129
|
+
);
|
|
130
|
+
return `${chalk.green("\u2713")} Opened Chrome. Side panel ${chalk.gray("(Cmd+E)")} to continue.
|
|
131
|
+
Session: ${chalk.gray(sessionId)}`;
|
|
132
|
+
}
|
|
133
|
+
case "permissions": {
|
|
134
|
+
return "Open the Chrome extension options page to manage permissions.";
|
|
135
|
+
}
|
|
136
|
+
case "reconnect": {
|
|
137
|
+
await nativeHostReady;
|
|
138
|
+
return `${chalk.green("\u2713")} Native messaging host reinstalled. Open the Chrome side panel manually if needed.`;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export {
|
|
145
|
+
metadata,
|
|
146
|
+
chrome
|
|
147
|
+
};
|
|
148
|
+
/**
|
|
149
|
+
* @license
|
|
150
|
+
* Copyright 2026 Autohand AI LLC
|
|
151
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
152
|
+
*/
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunk7MU7LWF3cjs = require('./chunk-7MU7LWF3.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkREMGR23Vcjs = require('./chunk-REMGR23V.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkE26KKI46cjs = require('./chunk-E26KKI46.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
|
|
14
14
|
|
|
15
15
|
// src/commands/feedback.ts
|
|
16
16
|
var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
|
|
@@ -18,14 +18,14 @@ var _os = require('os'); var _os2 = _interopRequireDefault(_os);
|
|
|
18
18
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
19
19
|
var metadata = {
|
|
20
20
|
command: "/feedback",
|
|
21
|
-
description:
|
|
21
|
+
description: _chunkCHI52KFRcjs.t.call(void 0, "commands.feedback.description"),
|
|
22
22
|
implemented: true
|
|
23
23
|
};
|
|
24
24
|
var DEFAULT_API_BASE_URL = "https://api.autohand.ai";
|
|
25
25
|
var API_TIMEOUT = 1e4;
|
|
26
26
|
var COOLDOWN_MAX_SUBMISSIONS = 5;
|
|
27
27
|
var COOLDOWN_WINDOW_MS = 60 * 60 * 1e3;
|
|
28
|
-
var COOLDOWN_STATE_PATH = `${
|
|
28
|
+
var COOLDOWN_STATE_PATH = `${_chunkE26KKI46cjs.AUTOHAND_PATHS.feedback}/cooldown.json`;
|
|
29
29
|
async function checkCooldown() {
|
|
30
30
|
try {
|
|
31
31
|
if (!await _fsextra2.default.pathExists(COOLDOWN_STATE_PATH)) {
|
|
@@ -56,7 +56,7 @@ async function recordSubmission() {
|
|
|
56
56
|
const windowStart = now - COOLDOWN_WINDOW_MS;
|
|
57
57
|
state.submissions = state.submissions.filter((ts) => ts > windowStart);
|
|
58
58
|
state.submissions.push(now);
|
|
59
|
-
await _fsextra2.default.ensureDir(
|
|
59
|
+
await _fsextra2.default.ensureDir(_chunkE26KKI46cjs.AUTOHAND_PATHS.feedback);
|
|
60
60
|
await _fsextra2.default.writeJson(COOLDOWN_STATE_PATH, state, { spaces: 2 });
|
|
61
61
|
} catch (e2) {
|
|
62
62
|
}
|
|
@@ -68,18 +68,18 @@ async function feedback(_ctx) {
|
|
|
68
68
|
console.log(_chalk2.default.gray(`Please wait ${cooldown.waitMinutes} minute${cooldown.waitMinutes === 1 ? "" : "s"} before submitting again.`));
|
|
69
69
|
return null;
|
|
70
70
|
}
|
|
71
|
-
const ratingAnswer = await
|
|
71
|
+
const ratingAnswer = await _chunk7MU7LWF3cjs.safePrompt.call(void 0, [
|
|
72
72
|
{
|
|
73
73
|
type: "select",
|
|
74
74
|
name: "rating",
|
|
75
75
|
message: "How would you rate your experience?",
|
|
76
76
|
choices: [
|
|
77
|
-
{ name: "5", message: "
|
|
78
|
-
{ name: "4", message: "
|
|
79
|
-
{ name: "3", message: "
|
|
80
|
-
{ name: "2", message: "
|
|
81
|
-
{ name: "1", message: "
|
|
82
|
-
{ name: "skip", message: "
|
|
77
|
+
{ name: "5", message: "Excellent" },
|
|
78
|
+
{ name: "4", message: "Good" },
|
|
79
|
+
{ name: "3", message: "Okay" },
|
|
80
|
+
{ name: "2", message: "Poor" },
|
|
81
|
+
{ name: "1", message: "Very Poor" },
|
|
82
|
+
{ name: "skip", message: "Skip rating" }
|
|
83
83
|
]
|
|
84
84
|
}
|
|
85
85
|
]);
|
|
@@ -87,43 +87,83 @@ async function feedback(_ctx) {
|
|
|
87
87
|
console.log(_chalk2.default.gray("Feedback discarded."));
|
|
88
88
|
return null;
|
|
89
89
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
type: "input",
|
|
93
|
-
name: "feedback",
|
|
94
|
-
message: "What worked? What broke? (optional)"
|
|
95
|
-
}
|
|
96
|
-
]);
|
|
97
|
-
if (!textAnswer) {
|
|
98
|
-
console.log(_chalk2.default.gray("Feedback discarded."));
|
|
90
|
+
if (ratingAnswer.rating === "skip") {
|
|
91
|
+
console.log(_chalk2.default.gray("Feedback skipped."));
|
|
99
92
|
return null;
|
|
100
93
|
}
|
|
101
|
-
const npsScore =
|
|
102
|
-
|
|
94
|
+
const npsScore = parseInt(ratingAnswer.rating, 10);
|
|
95
|
+
let reason;
|
|
96
|
+
let improvement;
|
|
97
|
+
let recommend;
|
|
98
|
+
if (npsScore >= 4) {
|
|
99
|
+
const reasonAnswer = await _chunk7MU7LWF3cjs.safePrompt.call(void 0, [
|
|
100
|
+
{
|
|
101
|
+
type: "input",
|
|
102
|
+
name: "reason",
|
|
103
|
+
message: "What do you like most about Autohand? (optional, press Enter to skip)"
|
|
104
|
+
}
|
|
105
|
+
]);
|
|
106
|
+
if (!reasonAnswer) {
|
|
107
|
+
console.log(_chalk2.default.gray("Feedback discarded."));
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
reason = _optionalChain([reasonAnswer, 'access', _ => _.reason, 'optionalAccess', _2 => _2.trim, 'call', _3 => _3()]) || void 0;
|
|
111
|
+
const recommendAnswer = await _chunk7MU7LWF3cjs.safePrompt.call(void 0, [
|
|
112
|
+
{
|
|
113
|
+
type: "select",
|
|
114
|
+
name: "recommend",
|
|
115
|
+
message: "Would you recommend Autohand to a colleague?",
|
|
116
|
+
choices: [
|
|
117
|
+
{ name: "yes", message: "Yes" },
|
|
118
|
+
{ name: "no", message: "No" }
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
]);
|
|
122
|
+
if (!recommendAnswer) {
|
|
123
|
+
console.log(_chalk2.default.gray("Feedback discarded."));
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
recommend = recommendAnswer.recommend === "yes";
|
|
127
|
+
} else {
|
|
128
|
+
const improvementAnswer = await _chunk7MU7LWF3cjs.safePrompt.call(void 0, [
|
|
129
|
+
{
|
|
130
|
+
type: "input",
|
|
131
|
+
name: "improvement",
|
|
132
|
+
message: "What could we do better? (optional, press Enter to skip)"
|
|
133
|
+
}
|
|
134
|
+
]);
|
|
135
|
+
if (!improvementAnswer) {
|
|
136
|
+
console.log(_chalk2.default.gray("Feedback discarded."));
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
improvement = _optionalChain([improvementAnswer, 'access', _4 => _4.improvement, 'optionalAccess', _5 => _5.trim, 'call', _6 => _6()]) || void 0;
|
|
140
|
+
}
|
|
103
141
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
104
142
|
const runtimeError = getLastRuntimeError();
|
|
105
143
|
const deviceId = await getDeviceId();
|
|
106
144
|
const payload = {
|
|
107
145
|
npsScore,
|
|
146
|
+
recommend,
|
|
147
|
+
reason,
|
|
148
|
+
improvement,
|
|
108
149
|
triggerType: "manual",
|
|
109
150
|
timestamp: now,
|
|
110
151
|
deviceId,
|
|
111
|
-
cliVersion:
|
|
152
|
+
cliVersion: _chunkREMGR23Vcjs.package_default.version,
|
|
112
153
|
platform: process.platform,
|
|
113
154
|
osVersion: _os2.default.release(),
|
|
114
155
|
nodeVersion: process.version,
|
|
115
|
-
freeformFeedback,
|
|
116
156
|
env: {
|
|
117
157
|
platform: `${process.platform}-${process.arch}`,
|
|
118
158
|
node: process.version,
|
|
119
|
-
bun: _optionalChain([process, 'access',
|
|
159
|
+
bun: _optionalChain([process, 'access', _7 => _7.versions, 'optionalAccess', _8 => _8.bun]),
|
|
120
160
|
cwd: process.cwd(),
|
|
121
161
|
shell: process.env.SHELL
|
|
122
162
|
},
|
|
123
163
|
runtimeError: runtimeError ? formatError(runtimeError) : null
|
|
124
164
|
};
|
|
125
165
|
try {
|
|
126
|
-
const feedbackPath =
|
|
166
|
+
const feedbackPath = _chunkE26KKI46cjs.AUTOHAND_FILES.feedbackLog;
|
|
127
167
|
await _fsextra2.default.ensureFile(feedbackPath);
|
|
128
168
|
await _fsextra2.default.appendFile(feedbackPath, JSON.stringify(payload) + "\n", "utf8");
|
|
129
169
|
} catch (e3) {
|
|
@@ -132,7 +172,7 @@ async function feedback(_ctx) {
|
|
|
132
172
|
const apiBaseUrl = getFeedbackApiBaseUrl(_ctx);
|
|
133
173
|
const response = await sendFeedbackToApi(payload, apiBaseUrl);
|
|
134
174
|
if (response.success) {
|
|
135
|
-
console.log(_chalk2.default.green(
|
|
175
|
+
console.log(_chalk2.default.green(_chunkCHI52KFRcjs.t.call(void 0, "commands.feedback.success")));
|
|
136
176
|
} else {
|
|
137
177
|
if (/rate limit/i.test(_nullishCoalesce(response.error, () => ( "")))) {
|
|
138
178
|
console.log(_chalk2.default.yellow("Feedback saved locally (rate limited, will retry later)."));
|
|
@@ -153,11 +193,11 @@ async function sendFeedbackToApi(payload, apiBaseUrl) {
|
|
|
153
193
|
const controller = new AbortController();
|
|
154
194
|
const timeoutId = setTimeout(() => controller.abort(), API_TIMEOUT);
|
|
155
195
|
try {
|
|
156
|
-
const response = await fetch(
|
|
196
|
+
const response = await fetch(getFeedbackSubmitUrl(apiBaseUrl), {
|
|
157
197
|
method: "POST",
|
|
158
198
|
headers: {
|
|
159
199
|
"Content-Type": "application/json",
|
|
160
|
-
"X-CLI-Version":
|
|
200
|
+
"X-CLI-Version": _chunkREMGR23Vcjs.package_default.version,
|
|
161
201
|
"X-Device-ID": payload.deviceId
|
|
162
202
|
},
|
|
163
203
|
body: JSON.stringify(payload),
|
|
@@ -179,7 +219,10 @@ async function sendFeedbackToApi(payload, apiBaseUrl) {
|
|
|
179
219
|
}
|
|
180
220
|
}
|
|
181
221
|
function getFeedbackApiBaseUrl(ctx) {
|
|
182
|
-
return _optionalChain([process, 'access',
|
|
222
|
+
return _optionalChain([process, 'access', _9 => _9.env, 'access', _10 => _10.AUTOHAND_API_URL, 'optionalAccess', _11 => _11.trim, 'call', _12 => _12()]) || _optionalChain([ctx, 'access', _13 => _13.config, 'optionalAccess', _14 => _14.api, 'optionalAccess', _15 => _15.baseUrl, 'optionalAccess', _16 => _16.trim, 'call', _17 => _17()]) || DEFAULT_API_BASE_URL;
|
|
223
|
+
}
|
|
224
|
+
function getFeedbackSubmitUrl(apiBaseUrl) {
|
|
225
|
+
return `${apiBaseUrl.replace(/\/+$/, "")}/v1/feedback`;
|
|
183
226
|
}
|
|
184
227
|
function formatFeedbackApiError(status, rawBody) {
|
|
185
228
|
const body = (_nullishCoalesce(rawBody, () => ( ""))).replace(/\s+/g, " ").trim();
|
|
@@ -212,7 +255,7 @@ function truncateFeedbackError(text, max = 220) {
|
|
|
212
255
|
return `${text.slice(0, Math.max(0, max - 1))}\u2026`;
|
|
213
256
|
}
|
|
214
257
|
async function getDeviceId() {
|
|
215
|
-
const deviceIdPath = `${
|
|
258
|
+
const deviceIdPath = `${_chunkE26KKI46cjs.AUTOHAND_PATHS.feedback}/.device-id`;
|
|
216
259
|
try {
|
|
217
260
|
if (await _fsextra2.default.pathExists(deviceIdPath)) {
|
|
218
261
|
return (await _fsextra2.default.readFile(deviceIdPath, "utf8")).trim();
|
|
@@ -221,7 +264,7 @@ async function getDeviceId() {
|
|
|
221
264
|
}
|
|
222
265
|
const deviceId = `anon_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 10)}`;
|
|
223
266
|
try {
|
|
224
|
-
await _fsextra2.default.ensureDir(
|
|
267
|
+
await _fsextra2.default.ensureDir(_chunkE26KKI46cjs.AUTOHAND_PATHS.feedback);
|
|
225
268
|
await _fsextra2.default.writeFile(deviceIdPath, deviceId);
|
|
226
269
|
} catch (e6) {
|
|
227
270
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkHS4USDNDcjs = require('./chunk-HS4USDND.cjs');
|
|
5
|
+
require('./chunk-DA7NBAJK.cjs');
|
|
6
|
+
require('./chunk-YFXTE422.cjs');
|
|
7
|
+
require('./chunk-CHI52KFR.cjs');
|
|
8
|
+
require('./chunk-3HT76LNN.cjs');
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
exports.clearConversation = _chunkHS4USDNDcjs.clearConversation; exports.metadata = _chunkHS4USDNDcjs.metadata;
|
|
@@ -4,12 +4,15 @@ import {
|
|
|
4
4
|
injectGeneratedMetadata,
|
|
5
5
|
injectLearnMetadata,
|
|
6
6
|
installSkillWithSecurity
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-DMRXF5DU.js";
|
|
8
|
+
import "./chunk-DLP436GI.js";
|
|
9
|
+
import "./chunk-NMQ47RCG.js";
|
|
10
|
+
import "./chunk-5JFTY3VU.js";
|
|
11
|
+
import "./chunk-NBGOIFKP.js";
|
|
12
|
+
import "./chunk-JAQO6XDB.js";
|
|
13
|
+
import "./chunk-TWQDAUZU.js";
|
|
14
|
+
import "./chunk-CBFH2J3O.js";
|
|
15
|
+
import "./chunk-QGM4M3NI.js";
|
|
13
16
|
export {
|
|
14
17
|
computeProjectHash,
|
|
15
18
|
fetchRegistryWithFallback,
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkZHJ7JGMEcjs = require('./chunk-ZHJ7JGME.cjs');
|
|
8
|
+
require('./chunk-CH2J4PVE.cjs');
|
|
9
|
+
require('./chunk-KNTUI4TZ.cjs');
|
|
10
|
+
require('./chunk-TQ33WBY5.cjs');
|
|
11
|
+
require('./chunk-YWTIXHU6.cjs');
|
|
12
|
+
require('./chunk-2VHB43IX.cjs');
|
|
13
|
+
require('./chunk-E26KKI46.cjs');
|
|
14
|
+
require('./chunk-CHI52KFR.cjs');
|
|
15
|
+
require('./chunk-3HT76LNN.cjs');
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
exports.computeProjectHash = _chunkZHJ7JGMEcjs.computeProjectHash; exports.fetchRegistryWithFallback = _chunkZHJ7JGMEcjs.fetchRegistryWithFallback; exports.injectGeneratedMetadata = _chunkZHJ7JGMEcjs.injectGeneratedMetadata; exports.injectLearnMetadata = _chunkZHJ7JGMEcjs.injectLearnMetadata; exports.installSkillWithSecurity = _chunkZHJ7JGMEcjs.installSkillWithSecurity;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _chunkAC7DZ6SKcjs = require('./chunk-AC7DZ6SK.cjs');
|
|
6
|
+
require('./chunk-CH2J4PVE.cjs');
|
|
7
|
+
require('./chunk-KNTUI4TZ.cjs');
|
|
8
|
+
require('./chunk-TQ33WBY5.cjs');
|
|
9
|
+
require('./chunk-YWTIXHU6.cjs');
|
|
10
|
+
require('./chunk-2VHB43IX.cjs');
|
|
11
|
+
require('./chunk-CHI52KFR.cjs');
|
|
12
|
+
require('./chunk-3HT76LNN.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
exports.execute = _chunkAC7DZ6SKcjs.execute; exports.metadata = _chunkAC7DZ6SKcjs.metadata; exports.runCompletionCommand = _chunkAC7DZ6SKcjs.runCompletionCommand;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {
|
|
2
|
+
execute,
|
|
3
|
+
metadata,
|
|
4
|
+
runCompletionCommand
|
|
5
|
+
} from "./chunk-JYKPWK5O.js";
|
|
6
|
+
import "./chunk-DLP436GI.js";
|
|
7
|
+
import "./chunk-NMQ47RCG.js";
|
|
8
|
+
import "./chunk-5JFTY3VU.js";
|
|
9
|
+
import "./chunk-NBGOIFKP.js";
|
|
10
|
+
import "./chunk-JAQO6XDB.js";
|
|
11
|
+
import "./chunk-CBFH2J3O.js";
|
|
12
|
+
import "./chunk-QGM4M3NI.js";
|
|
13
|
+
export {
|
|
14
|
+
execute,
|
|
15
|
+
metadata,
|
|
16
|
+
runCompletionCommand
|
|
17
|
+
};
|