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,13 +1,33 @@
|
|
|
1
1
|
import {
|
|
2
2
|
I18nProvider,
|
|
3
|
+
inkRenderOptions,
|
|
3
4
|
useTranslation
|
|
4
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-NMQ47RCG.js";
|
|
6
|
+
import {
|
|
7
|
+
disableBracketedPaste,
|
|
8
|
+
enableBracketedPaste
|
|
9
|
+
} from "./chunk-5JFTY3VU.js";
|
|
10
|
+
import {
|
|
11
|
+
ThemeProvider,
|
|
12
|
+
useTheme
|
|
13
|
+
} from "./chunk-NBGOIFKP.js";
|
|
5
14
|
|
|
6
15
|
// src/ui/ink/components/Modal.tsx
|
|
7
16
|
import { useState, useMemo, useCallback } from "react";
|
|
8
17
|
import { Box, Text, useInput, render } from "ink";
|
|
18
|
+
|
|
19
|
+
// src/ui/resetScrollRegion.ts
|
|
20
|
+
function resetScrollRegion() {
|
|
21
|
+
if (process.stdout.isTTY) {
|
|
22
|
+
process.stdout.write("\x1B[r");
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// src/ui/ink/components/Modal.tsx
|
|
9
27
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
10
28
|
var OTHER_VALUE = "__other__";
|
|
29
|
+
var ENTER_ALTERNATE_SCREEN = "\x1B[?1049h\x1B[2J\x1B[H";
|
|
30
|
+
var EXIT_ALTERNATE_SCREEN = "\x1B[?1049l";
|
|
11
31
|
function resolveInitialCursor(mode, optionsLength, initialIndex, defaultValue) {
|
|
12
32
|
if (mode === "confirm") {
|
|
13
33
|
return defaultValue === false ? 1 : 0;
|
|
@@ -17,13 +37,42 @@ function resolveInitialCursor(mode, optionsLength, initialIndex, defaultValue) {
|
|
|
17
37
|
}
|
|
18
38
|
return Math.max(0, Math.min(optionsLength - 1, Math.floor(initialIndex)));
|
|
19
39
|
}
|
|
40
|
+
function isModalCancelInput(char, key) {
|
|
41
|
+
if (key.escape) {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
if (char === "\x1B" || char === "\x1B") {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
if (char === "c" && key.ctrl) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
return /^\x1b\[27(?:;\d+)?[u~]$/.test(char);
|
|
51
|
+
}
|
|
20
52
|
function unmountAndResolve(instance, value, resolve) {
|
|
21
|
-
|
|
22
|
-
|
|
53
|
+
void (async () => {
|
|
54
|
+
instance.unmount();
|
|
55
|
+
try {
|
|
56
|
+
await instance.waitUntilExit();
|
|
57
|
+
} finally {
|
|
58
|
+
cleanupModalRender(process.stdout);
|
|
59
|
+
resolve(value);
|
|
60
|
+
}
|
|
61
|
+
})();
|
|
62
|
+
}
|
|
63
|
+
function prepareModalRender(output = process.stdout) {
|
|
64
|
+
disableBracketedPaste(output);
|
|
65
|
+
resetScrollRegion();
|
|
66
|
+
output.write(ENTER_ALTERNATE_SCREEN);
|
|
67
|
+
}
|
|
68
|
+
function cleanupModalRender(output = process.stdout) {
|
|
69
|
+
output.write(EXIT_ALTERNATE_SCREEN);
|
|
70
|
+
enableBracketedPaste(output);
|
|
23
71
|
}
|
|
24
72
|
function Modal(props) {
|
|
25
73
|
const { t } = useTranslation();
|
|
26
|
-
const {
|
|
74
|
+
const { theme } = useTheme();
|
|
75
|
+
const { title, logo, onCancel } = props;
|
|
27
76
|
const mode = "mode" in props ? props.mode : "select";
|
|
28
77
|
const selectOptionCount = mode === "select" && "options" in props ? props.options.length + ("allowCustomInput" in props && props.allowCustomInput ? 1 : 0) : 0;
|
|
29
78
|
const confirmDefaultValue = mode === "confirm" && typeof props.defaultValue === "boolean" ? props.defaultValue : void 0;
|
|
@@ -47,12 +96,25 @@ function Modal(props) {
|
|
|
47
96
|
});
|
|
48
97
|
const [customInput, setCustomInput] = useState("");
|
|
49
98
|
const [isCustomMode, setIsCustomMode] = useState(false);
|
|
99
|
+
const isMultiSelect = mode === "select" && "multiSelect" in props && props.multiSelect;
|
|
100
|
+
const [checkedSet, setCheckedSet] = useState(() => {
|
|
101
|
+
if (!isMultiSelect || !("options" in props)) return /* @__PURE__ */ new Set();
|
|
102
|
+
return new Set(
|
|
103
|
+
props.options.filter((o) => o.checked).map((o) => o.value)
|
|
104
|
+
);
|
|
105
|
+
});
|
|
50
106
|
const [inputValue, setInputValue] = useState(() => {
|
|
51
107
|
if (mode === "input" && "defaultValue" in props && typeof props.defaultValue === "string") {
|
|
52
108
|
return props.defaultValue;
|
|
53
109
|
}
|
|
54
110
|
return "";
|
|
55
111
|
});
|
|
112
|
+
const [inputCursor, setInputCursor] = useState(() => {
|
|
113
|
+
if (mode === "input" && "defaultValue" in props && typeof props.defaultValue === "string") {
|
|
114
|
+
return props.defaultValue.length;
|
|
115
|
+
}
|
|
116
|
+
return 0;
|
|
117
|
+
});
|
|
56
118
|
const [validationError, setValidationError] = useState(null);
|
|
57
119
|
const choices = useMemo(() => {
|
|
58
120
|
if (mode === "select" && "options" in props) {
|
|
@@ -92,7 +154,7 @@ function Modal(props) {
|
|
|
92
154
|
[choices]
|
|
93
155
|
);
|
|
94
156
|
useInput((char, key) => {
|
|
95
|
-
if (key
|
|
157
|
+
if (isModalCancelInput(char, key)) {
|
|
96
158
|
if (mode === "select" && isCustomMode) {
|
|
97
159
|
setIsCustomMode(false);
|
|
98
160
|
setCustomInput("");
|
|
@@ -117,13 +179,37 @@ function Modal(props) {
|
|
|
117
179
|
}
|
|
118
180
|
return;
|
|
119
181
|
}
|
|
120
|
-
if (key.
|
|
121
|
-
|
|
122
|
-
|
|
182
|
+
if (key.leftArrow) {
|
|
183
|
+
setInputCursor((prev) => Math.max(0, prev - 1));
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
if (key.rightArrow) {
|
|
187
|
+
setInputCursor((prev) => Math.min(inputValue.length, prev + 1));
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
if (char === "a" && key.ctrl || key.meta && key.leftArrow) {
|
|
191
|
+
setInputCursor(0);
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
if (char === "e" && key.ctrl || key.meta && key.rightArrow) {
|
|
195
|
+
setInputCursor(inputValue.length);
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
if (key.backspace) {
|
|
199
|
+
if (inputCursor > 0) {
|
|
200
|
+
setInputValue(
|
|
201
|
+
(prev) => prev.slice(0, inputCursor - 1) + prev.slice(inputCursor)
|
|
202
|
+
);
|
|
203
|
+
setInputCursor((prev) => prev - 1);
|
|
204
|
+
setValidationError(null);
|
|
205
|
+
}
|
|
123
206
|
return;
|
|
124
207
|
}
|
|
125
208
|
if (char && !key.ctrl && !key.meta) {
|
|
126
|
-
setInputValue(
|
|
209
|
+
setInputValue(
|
|
210
|
+
(prev) => prev.slice(0, inputCursor) + char + prev.slice(inputCursor)
|
|
211
|
+
);
|
|
212
|
+
setInputCursor((prev) => prev + char.length);
|
|
127
213
|
setValidationError(null);
|
|
128
214
|
}
|
|
129
215
|
return;
|
|
@@ -138,7 +224,7 @@ function Modal(props) {
|
|
|
138
224
|
}
|
|
139
225
|
return;
|
|
140
226
|
}
|
|
141
|
-
if (key.backspace
|
|
227
|
+
if (key.backspace) {
|
|
142
228
|
setCustomInput((prev) => prev.slice(0, -1));
|
|
143
229
|
return;
|
|
144
230
|
}
|
|
@@ -147,6 +233,23 @@ function Modal(props) {
|
|
|
147
233
|
}
|
|
148
234
|
return;
|
|
149
235
|
}
|
|
236
|
+
if (isMultiSelect && char === " " && "onToggle" in props) {
|
|
237
|
+
const selected = choices[cursor];
|
|
238
|
+
if (selected && !selected.disabled) {
|
|
239
|
+
setCheckedSet((prev) => {
|
|
240
|
+
const next = new Set(prev);
|
|
241
|
+
const nowChecked = !next.has(selected.value);
|
|
242
|
+
if (nowChecked) {
|
|
243
|
+
next.add(selected.value);
|
|
244
|
+
} else {
|
|
245
|
+
next.delete(selected.value);
|
|
246
|
+
}
|
|
247
|
+
props.onToggle?.(selected, nowChecked);
|
|
248
|
+
return next;
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
150
253
|
if (key.return) {
|
|
151
254
|
const selected = choices[cursor];
|
|
152
255
|
if (selected?.disabled) {
|
|
@@ -211,27 +314,33 @@ function Modal(props) {
|
|
|
211
314
|
if (mode === "input" || mode === "password") {
|
|
212
315
|
const displayValue = mode === "password" ? "\u2022".repeat(inputValue.length) : inputValue;
|
|
213
316
|
const placeholderText = "placeholder" in props && props.placeholder || (mode === "password" ? t("ui.passwordPlaceholder") : t("ui.inputPlaceholder"));
|
|
317
|
+
const beforeCursor = displayValue.slice(0, inputCursor);
|
|
318
|
+
const atCursor = displayValue[inputCursor] ?? " ";
|
|
319
|
+
const afterCursor = displayValue.slice(inputCursor + 1);
|
|
214
320
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
215
321
|
/* @__PURE__ */ jsxs(Box, { children: [
|
|
216
|
-
/* @__PURE__ */ jsx(Text, {
|
|
217
|
-
|
|
218
|
-
|
|
322
|
+
/* @__PURE__ */ jsx(Text, { children: theme.fg("warning", "> ") }),
|
|
323
|
+
displayValue ? /* @__PURE__ */ jsxs(Text, { children: [
|
|
324
|
+
beforeCursor,
|
|
325
|
+
/* @__PURE__ */ jsx(Text, { inverse: true, children: atCursor }),
|
|
326
|
+
afterCursor
|
|
327
|
+
] }) : /* @__PURE__ */ jsxs(Text, { children: [
|
|
328
|
+
theme.fg("muted", placeholderText),
|
|
329
|
+
/* @__PURE__ */ jsx(Text, { inverse: true, children: " " })
|
|
330
|
+
] })
|
|
219
331
|
] }),
|
|
220
|
-
validationError && /* @__PURE__ */ jsx(Box, { marginTop: 1, children: /* @__PURE__ */ jsx(Text, {
|
|
332
|
+
validationError && /* @__PURE__ */ jsx(Box, { marginTop: 1, children: /* @__PURE__ */ jsx(Text, { children: theme.fg("error", validationError) }) })
|
|
221
333
|
] });
|
|
222
334
|
}
|
|
223
335
|
if (mode === "select" && isCustomMode) {
|
|
224
336
|
return /* @__PURE__ */ jsxs(Box, { children: [
|
|
225
|
-
/* @__PURE__ */
|
|
226
|
-
t("ui.questionYourAnswer"),
|
|
227
|
-
": "
|
|
228
|
-
] }),
|
|
337
|
+
/* @__PURE__ */ jsx(Text, { children: theme.fg("warning", `${t("ui.questionYourAnswer")}: `) }),
|
|
229
338
|
/* @__PURE__ */ jsx(Text, { children: customInput }),
|
|
230
|
-
/* @__PURE__ */ jsx(Text, {
|
|
339
|
+
/* @__PURE__ */ jsx(Text, { children: theme.fg("muted", "\u2588") })
|
|
231
340
|
] });
|
|
232
341
|
}
|
|
233
342
|
if (hasNoChoices) {
|
|
234
|
-
return /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(Text, {
|
|
343
|
+
return /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(Text, { children: theme.fg("muted", t("ui.noOptionsAvailable")) }) });
|
|
235
344
|
}
|
|
236
345
|
const needsScroll = choices.length > maxVisible;
|
|
237
346
|
const windowEnd = Math.min(windowStart + maxVisible, choices.length);
|
|
@@ -242,40 +351,20 @@ function Modal(props) {
|
|
|
242
351
|
const isDisabled = choice.disabled;
|
|
243
352
|
let color;
|
|
244
353
|
if (isDisabled) {
|
|
245
|
-
color = "
|
|
354
|
+
color = "dim";
|
|
246
355
|
} else if (isSelected) {
|
|
247
|
-
color = "
|
|
356
|
+
color = "accent";
|
|
248
357
|
}
|
|
358
|
+
const checkbox = isMultiSelect ? checkedSet.has(choice.value) ? "\u2611 " : "\u2610 " : "";
|
|
249
359
|
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", children: [
|
|
250
|
-
/* @__PURE__ */
|
|
251
|
-
|
|
252
|
-
i + 1,
|
|
253
|
-
". ",
|
|
254
|
-
choice.label,
|
|
255
|
-
isDisabled ? " (disabled)" : ""
|
|
256
|
-
] }),
|
|
257
|
-
choice.description && /* @__PURE__ */ jsxs(Text, { color: "gray", children: [
|
|
258
|
-
" ",
|
|
259
|
-
choice.description
|
|
260
|
-
] })
|
|
360
|
+
/* @__PURE__ */ jsx(Text, { children: theme.fg(color ?? "text", `${isSelected ? "\u25B8 " : " "}${checkbox}${i + 1}. ${choice.label}${isDisabled ? " (disabled)" : ""}`) }),
|
|
361
|
+
choice.description && /* @__PURE__ */ jsx(Text, { children: theme.fg("muted", ` ${choice.description}`) })
|
|
261
362
|
] }, `${choice.value}-${i}`);
|
|
262
363
|
});
|
|
263
364
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
264
|
-
needsScroll && windowStart > 0 && /* @__PURE__ */
|
|
265
|
-
" ",
|
|
266
|
-
"\u2191",
|
|
267
|
-
" ",
|
|
268
|
-
windowStart,
|
|
269
|
-
" more above"
|
|
270
|
-
] }),
|
|
365
|
+
needsScroll && windowStart > 0 && /* @__PURE__ */ jsx(Text, { children: theme.fg("muted", ` \u2191 ${windowStart} more above`) }),
|
|
271
366
|
items,
|
|
272
|
-
needsScroll && windowEnd < choices.length && /* @__PURE__ */
|
|
273
|
-
" ",
|
|
274
|
-
"\u2193",
|
|
275
|
-
" ",
|
|
276
|
-
choices.length - windowEnd,
|
|
277
|
-
" more below"
|
|
278
|
-
] })
|
|
367
|
+
needsScroll && windowEnd < choices.length && /* @__PURE__ */ jsx(Text, { children: theme.fg("muted", ` \u2193 ${choices.length - windowEnd} more below`) })
|
|
279
368
|
] });
|
|
280
369
|
};
|
|
281
370
|
const renderHint = () => {
|
|
@@ -288,32 +377,40 @@ function Modal(props) {
|
|
|
288
377
|
if (mode === "select" && isCustomMode) {
|
|
289
378
|
return t("ui.questionCustomHint");
|
|
290
379
|
}
|
|
380
|
+
if (isMultiSelect) {
|
|
381
|
+
return "Space toggle \xB7 Enter confirm \xB7 ESC cancel";
|
|
382
|
+
}
|
|
291
383
|
return t("ui.questionSelectHint");
|
|
292
384
|
};
|
|
293
385
|
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", paddingX: 1, children: [
|
|
294
|
-
/* @__PURE__ */ jsx(
|
|
386
|
+
logo && /* @__PURE__ */ jsx(Box, { flexDirection: "column", children: logo.split("\n").map((line, i) => /* @__PURE__ */ jsx(Text, { children: line }, i)) }),
|
|
387
|
+
/* @__PURE__ */ jsx(Text, { children: theme.fg("accent", title) }),
|
|
295
388
|
/* @__PURE__ */ jsx(Text, { children: " " }),
|
|
296
389
|
renderContent(),
|
|
297
390
|
/* @__PURE__ */ jsx(Text, { children: " " }),
|
|
298
|
-
/* @__PURE__ */ jsx(Text, {
|
|
391
|
+
/* @__PURE__ */ jsx(Text, { children: theme.fg("muted", renderHint()) })
|
|
299
392
|
] });
|
|
300
393
|
}
|
|
301
394
|
async function showModal(options) {
|
|
302
|
-
const { title, options: modalOptions, allowCustomInput, multiSelect, maxVisible } = options;
|
|
395
|
+
const { title, logo, options: modalOptions, allowCustomInput, multiSelect, maxVisible, onToggle } = options;
|
|
303
396
|
if (!process.stdout.isTTY) {
|
|
304
397
|
return null;
|
|
305
398
|
}
|
|
399
|
+
prepareModalRender(process.stdout);
|
|
400
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
306
401
|
return new Promise((resolve) => {
|
|
307
402
|
let completed = false;
|
|
308
403
|
const instance = render(
|
|
309
|
-
/* @__PURE__ */ jsx(I18nProvider, { children: /* @__PURE__ */ jsx(
|
|
404
|
+
/* @__PURE__ */ jsx(I18nProvider, { children: /* @__PURE__ */ jsx(ThemeProvider, { children: /* @__PURE__ */ jsx(
|
|
310
405
|
Modal,
|
|
311
406
|
{
|
|
312
407
|
title,
|
|
408
|
+
logo,
|
|
313
409
|
options: modalOptions,
|
|
314
410
|
allowCustomInput,
|
|
315
411
|
multiSelect,
|
|
316
412
|
maxVisible,
|
|
413
|
+
onToggle,
|
|
317
414
|
onSelect: (option) => {
|
|
318
415
|
if (completed) return;
|
|
319
416
|
completed = true;
|
|
@@ -325,8 +422,13 @@ async function showModal(options) {
|
|
|
325
422
|
unmountAndResolve(instance, null, resolve);
|
|
326
423
|
}
|
|
327
424
|
}
|
|
328
|
-
) }),
|
|
329
|
-
{
|
|
425
|
+
) }) }),
|
|
426
|
+
inkRenderOptions({
|
|
427
|
+
stdin: process.stdin,
|
|
428
|
+
stdout: process.stdout,
|
|
429
|
+
stderr: process.stderr,
|
|
430
|
+
exitOnCtrlC: false
|
|
431
|
+
})
|
|
330
432
|
);
|
|
331
433
|
});
|
|
332
434
|
}
|
|
@@ -334,10 +436,12 @@ async function showConfirm(options) {
|
|
|
334
436
|
if (!process.stdout.isTTY) {
|
|
335
437
|
return false;
|
|
336
438
|
}
|
|
439
|
+
prepareModalRender(process.stdout);
|
|
440
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
337
441
|
return new Promise((resolve) => {
|
|
338
442
|
let completed = false;
|
|
339
443
|
const instance = render(
|
|
340
|
-
/* @__PURE__ */ jsx(I18nProvider, { children: /* @__PURE__ */ jsx(
|
|
444
|
+
/* @__PURE__ */ jsx(I18nProvider, { children: /* @__PURE__ */ jsx(ThemeProvider, { children: /* @__PURE__ */ jsx(
|
|
341
445
|
Modal,
|
|
342
446
|
{
|
|
343
447
|
mode: "confirm",
|
|
@@ -356,8 +460,13 @@ async function showConfirm(options) {
|
|
|
356
460
|
unmountAndResolve(instance, false, resolve);
|
|
357
461
|
}
|
|
358
462
|
}
|
|
359
|
-
) }),
|
|
360
|
-
{
|
|
463
|
+
) }) }),
|
|
464
|
+
inkRenderOptions({
|
|
465
|
+
stdin: process.stdin,
|
|
466
|
+
stdout: process.stdout,
|
|
467
|
+
stderr: process.stderr,
|
|
468
|
+
exitOnCtrlC: false
|
|
469
|
+
})
|
|
361
470
|
);
|
|
362
471
|
});
|
|
363
472
|
}
|
|
@@ -365,10 +474,12 @@ async function showInput(options) {
|
|
|
365
474
|
if (!process.stdout.isTTY) {
|
|
366
475
|
return null;
|
|
367
476
|
}
|
|
477
|
+
prepareModalRender(process.stdout);
|
|
478
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
368
479
|
return new Promise((resolve) => {
|
|
369
480
|
let completed = false;
|
|
370
481
|
const instance = render(
|
|
371
|
-
/* @__PURE__ */ jsx(I18nProvider, { children: /* @__PURE__ */ jsx(
|
|
482
|
+
/* @__PURE__ */ jsx(I18nProvider, { children: /* @__PURE__ */ jsx(ThemeProvider, { children: /* @__PURE__ */ jsx(
|
|
372
483
|
Modal,
|
|
373
484
|
{
|
|
374
485
|
mode: "input",
|
|
@@ -387,8 +498,13 @@ async function showInput(options) {
|
|
|
387
498
|
unmountAndResolve(instance, null, resolve);
|
|
388
499
|
}
|
|
389
500
|
}
|
|
390
|
-
) }),
|
|
391
|
-
{
|
|
501
|
+
) }) }),
|
|
502
|
+
inkRenderOptions({
|
|
503
|
+
stdin: process.stdin,
|
|
504
|
+
stdout: process.stdout,
|
|
505
|
+
stderr: process.stderr,
|
|
506
|
+
exitOnCtrlC: false
|
|
507
|
+
})
|
|
392
508
|
);
|
|
393
509
|
});
|
|
394
510
|
}
|
|
@@ -396,10 +512,12 @@ async function showPassword(options) {
|
|
|
396
512
|
if (!process.stdout.isTTY) {
|
|
397
513
|
return null;
|
|
398
514
|
}
|
|
515
|
+
prepareModalRender(process.stdout);
|
|
516
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
399
517
|
return new Promise((resolve) => {
|
|
400
518
|
let completed = false;
|
|
401
519
|
const instance = render(
|
|
402
|
-
/* @__PURE__ */ jsx(I18nProvider, { children: /* @__PURE__ */ jsx(
|
|
520
|
+
/* @__PURE__ */ jsx(I18nProvider, { children: /* @__PURE__ */ jsx(ThemeProvider, { children: /* @__PURE__ */ jsx(
|
|
403
521
|
Modal,
|
|
404
522
|
{
|
|
405
523
|
mode: "password",
|
|
@@ -417,19 +535,43 @@ async function showPassword(options) {
|
|
|
417
535
|
unmountAndResolve(instance, null, resolve);
|
|
418
536
|
}
|
|
419
537
|
}
|
|
420
|
-
) }),
|
|
421
|
-
{
|
|
538
|
+
) }) }),
|
|
539
|
+
inkRenderOptions({
|
|
540
|
+
stdin: process.stdin,
|
|
541
|
+
stdout: process.stdout,
|
|
542
|
+
stderr: process.stderr,
|
|
543
|
+
exitOnCtrlC: false
|
|
544
|
+
})
|
|
422
545
|
);
|
|
423
546
|
});
|
|
424
547
|
}
|
|
425
548
|
|
|
426
549
|
export {
|
|
550
|
+
prepareModalRender,
|
|
551
|
+
cleanupModalRender,
|
|
427
552
|
Modal,
|
|
428
553
|
showModal,
|
|
429
554
|
showConfirm,
|
|
430
555
|
showInput,
|
|
431
556
|
showPassword
|
|
432
557
|
};
|
|
558
|
+
/**
|
|
559
|
+
* @license
|
|
560
|
+
* Copyright 2025 Autohand AI LLC
|
|
561
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
562
|
+
*
|
|
563
|
+
* Shared utility: reset ANSI scroll region before Ink mounts.
|
|
564
|
+
*
|
|
565
|
+
* Terminal regions (split scroll/fixed areas for persistent input)
|
|
566
|
+
* prevent Ink from moving the cursor back up to overwrite previous
|
|
567
|
+
* renders, causing duplicated output on re-renders (e.g., arrow key
|
|
568
|
+
* navigation). Writing ESC[r resets the scroll region to the full
|
|
569
|
+
* terminal so Ink can render correctly.
|
|
570
|
+
*
|
|
571
|
+
* CONTRACT: After showing any Ink-based modal/component, the caller
|
|
572
|
+
* must ensure terminal regions are re-enabled (PersistentInput.resume()
|
|
573
|
+
* calls regions.enable() which re-sets the scroll region).
|
|
574
|
+
*/
|
|
433
575
|
/**
|
|
434
576
|
* @license
|
|
435
577
|
* Copyright 2025 Autohand AI LLC
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
showConfirm
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DLP436GI.js";
|
|
4
4
|
import {
|
|
5
5
|
AUTOHAND_PATHS,
|
|
6
6
|
PROJECT_DIR_NAME
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-TWQDAUZU.js";
|
|
8
8
|
import {
|
|
9
9
|
t
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-CBFH2J3O.js";
|
|
11
11
|
|
|
12
12
|
// src/skills/communityInstaller.ts
|
|
13
13
|
import crypto from "crypto";
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
var _chunkJHGIWNHLcjs = require('./chunk-JHGIWNHL.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunk7MU7LWF3cjs = require('./chunk-7MU7LWF3.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkE26KKI46cjs = require('./chunk-E26KKI46.cjs');
|
|
10
10
|
|
|
11
11
|
// src/commands/skills-new.ts
|
|
12
12
|
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
@@ -25,7 +25,7 @@ async function createSkill(ctx) {
|
|
|
25
25
|
console.log(_chalk2.default.red("Skills registry not available."));
|
|
26
26
|
return null;
|
|
27
27
|
}
|
|
28
|
-
const answers = await
|
|
28
|
+
const answers = await _chunk7MU7LWF3cjs.safePrompt.call(void 0, [
|
|
29
29
|
{
|
|
30
30
|
type: "input",
|
|
31
31
|
name: "name",
|
|
@@ -65,7 +65,7 @@ async function createSkill(ctx) {
|
|
|
65
65
|
console.log(_chalk2.default.gray("Canceled: no name provided."));
|
|
66
66
|
return null;
|
|
67
67
|
}
|
|
68
|
-
const storageResult = await
|
|
68
|
+
const storageResult = await _chunk7MU7LWF3cjs.safePrompt.call(void 0, {
|
|
69
69
|
type: "select",
|
|
70
70
|
name: "level",
|
|
71
71
|
message: "Where should this skill be saved?",
|
|
@@ -81,7 +81,7 @@ async function createSkill(ctx) {
|
|
|
81
81
|
const storageLevel = storageResult.level;
|
|
82
82
|
if (skillsRegistry.hasSkill(name)) {
|
|
83
83
|
console.log(_chalk2.default.yellow(`A skill named "${name}" already exists.`));
|
|
84
|
-
const result = await
|
|
84
|
+
const result = await _chunk7MU7LWF3cjs.safePrompt.call(void 0, {
|
|
85
85
|
type: "confirm",
|
|
86
86
|
name: "overwrite",
|
|
87
87
|
message: "Do you want to overwrite it?",
|
|
@@ -100,7 +100,7 @@ async function createSkill(ctx) {
|
|
|
100
100
|
console.log(_chalk2.default.gray(` Similarity: ${(match.score * 100).toFixed(0)}%`));
|
|
101
101
|
}
|
|
102
102
|
console.log();
|
|
103
|
-
const result = await
|
|
103
|
+
const result = await _chunk7MU7LWF3cjs.safePrompt.call(void 0, {
|
|
104
104
|
type: "select",
|
|
105
105
|
name: "proceed",
|
|
106
106
|
message: "How would you like to proceed?",
|
|
@@ -150,7 +150,7 @@ Output only the raw markdown content, no code fences.`
|
|
|
150
150
|
console.log(content.length > 800 ? content.slice(0, 800) + "\n...(truncated)" : content);
|
|
151
151
|
console.log(_chalk2.default.gray("\u2500".repeat(50)));
|
|
152
152
|
console.log();
|
|
153
|
-
const confirmResult = await
|
|
153
|
+
const confirmResult = await _chunk7MU7LWF3cjs.safePrompt.call(void 0, {
|
|
154
154
|
type: "confirm",
|
|
155
155
|
name: "confirm",
|
|
156
156
|
message: "Save this skill?",
|
|
@@ -160,7 +160,7 @@ Output only the raw markdown content, no code fences.`
|
|
|
160
160
|
console.log(_chalk2.default.gray("Canceled."));
|
|
161
161
|
return null;
|
|
162
162
|
}
|
|
163
|
-
const baseDir = storageLevel === "project" ? _path2.default.join(ctx.workspaceRoot, ".autohand", "skills") :
|
|
163
|
+
const baseDir = storageLevel === "project" ? _path2.default.join(ctx.workspaceRoot, ".autohand", "skills") : _chunkE26KKI46cjs.AUTOHAND_PATHS.skills;
|
|
164
164
|
const skillDir = _path2.default.join(baseDir, name);
|
|
165
165
|
const skillPath = _path2.default.join(skillDir, "SKILL.md");
|
|
166
166
|
try {
|
|
@@ -169,7 +169,7 @@ Output only the raw markdown content, no code fences.`
|
|
|
169
169
|
console.log(_chalk2.default.green(`\u2713 Saved new skill to ${skillPath}`));
|
|
170
170
|
const success = await skillsRegistry.saveSkill(name, content);
|
|
171
171
|
if (success) {
|
|
172
|
-
const activateResult = await
|
|
172
|
+
const activateResult = await _chunk7MU7LWF3cjs.safePrompt.call(void 0, {
|
|
173
173
|
type: "confirm",
|
|
174
174
|
name: "activate",
|
|
175
175
|
message: "Activate this skill now?",
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunk3HT76LNNcjs = require('./chunk-3HT76LNN.cjs');
|
|
5
5
|
|
|
6
6
|
// node_modules/cli-spinners/spinners.json
|
|
7
|
-
var require_spinners =
|
|
7
|
+
var require_spinners = _chunk3HT76LNNcjs.__commonJS.call(void 0, {
|
|
8
8
|
"node_modules/cli-spinners/spinners.json"(exports, module) {
|
|
9
9
|
module.exports = {
|
|
10
10
|
dots: {
|
|
@@ -1632,7 +1632,7 @@ var require_spinners = _chunkN254NRHTcjs.__commonJS.call(void 0, {
|
|
|
1632
1632
|
});
|
|
1633
1633
|
|
|
1634
1634
|
// node_modules/cli-spinners/index.js
|
|
1635
|
-
var require_cli_spinners =
|
|
1635
|
+
var require_cli_spinners = _chunk3HT76LNNcjs.__commonJS.call(void 0, {
|
|
1636
1636
|
"node_modules/cli-spinners/index.js"(exports, module) {
|
|
1637
1637
|
"use strict";
|
|
1638
1638
|
var spinners2 = Object.assign({}, require_spinners());
|
|
@@ -1649,7 +1649,7 @@ var require_cli_spinners = _chunkN254NRHTcjs.__commonJS.call(void 0, {
|
|
|
1649
1649
|
});
|
|
1650
1650
|
|
|
1651
1651
|
// node_modules/ink-spinner/build/index.js
|
|
1652
|
-
var import_cli_spinners =
|
|
1652
|
+
var import_cli_spinners = _chunk3HT76LNNcjs.__toESM.call(void 0, require_cli_spinners(), 1);
|
|
1653
1653
|
var _react = require('react'); var _react2 = _interopRequireDefault(_react);
|
|
1654
1654
|
var _ink = require('ink');
|
|
1655
1655
|
function Spinner({ type = "dots" }) {
|
|
@@ -3,7 +3,7 @@ var _os = require('os'); var _os2 = _interopRequireDefault(_os);
|
|
|
3
3
|
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
4
4
|
var AUTOHAND_HOME = process.env.AUTOHAND_HOME || _path2.default.join(_os2.default.homedir(), ".autohand");
|
|
5
5
|
var AUTOHAND_PATHS = {
|
|
6
|
-
/** Configuration files (config.
|
|
6
|
+
/** Configuration files (config.toml, config.yaml, config.yml, config.json) */
|
|
7
7
|
config: AUTOHAND_HOME,
|
|
8
8
|
/** Session data storage */
|
|
9
9
|
sessions: _path2.default.join(AUTOHAND_HOME, "sessions"),
|
|
@@ -33,6 +33,7 @@ var AUTOHAND_PATHS = {
|
|
|
33
33
|
var AUTOHAND_FILES = {
|
|
34
34
|
/** Main config file */
|
|
35
35
|
configJson: _path2.default.join(AUTOHAND_HOME, "config.json"),
|
|
36
|
+
configToml: _path2.default.join(AUTOHAND_HOME, "config.toml"),
|
|
36
37
|
configYaml: _path2.default.join(AUTOHAND_HOME, "config.yaml"),
|
|
37
38
|
configYml: _path2.default.join(AUTOHAND_HOME, "config.yml"),
|
|
38
39
|
/** Device ID for telemetry */
|
|
@@ -57,7 +58,9 @@ var AUTH_CONFIG = {
|
|
|
57
58
|
},
|
|
58
59
|
pollInterval: 2e3,
|
|
59
60
|
authTimeout: 5 * 60 * 1e3,
|
|
60
|
-
sessionExpiryDays: 30
|
|
61
|
+
sessionExpiryDays: 30,
|
|
62
|
+
/** Idle timeout in ms before forcing logout (30 minutes) */
|
|
63
|
+
idleTimeoutMs: 30 * 60 * 1e3
|
|
61
64
|
};
|
|
62
65
|
var SYNC_CONFIG = {
|
|
63
66
|
/** Default sync interval in ms (5 minutes) */
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
showInput,
|
|
4
4
|
showModal,
|
|
5
5
|
showPassword
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-DLP436GI.js";
|
|
7
7
|
import {
|
|
8
8
|
saveConfig
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-3UT7R3XV.js";
|
|
10
10
|
import {
|
|
11
11
|
t
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-CBFH2J3O.js";
|
|
13
13
|
|
|
14
14
|
// src/commands/settings.ts
|
|
15
15
|
import chalk from "chalk";
|