autohand-cli 0.9.0 → 0.9.2

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.
Files changed (455) hide show
  1. package/README.md +118 -76
  2. package/dist/AgentRegistry-BBQRODQC.cjs +18 -0
  3. package/dist/AgentRegistry-JBXZUPML.js +18 -0
  4. package/dist/{CommunitySkillsCache-ZEQWP6YM.js → CommunitySkillsCache-CI7UN2DX.js} +2 -2
  5. package/dist/CommunitySkillsCache-XTQ6RMTA.cjs +8 -0
  6. package/dist/{HookManager-CWLTFKWO.js → HookManager-BELBPQQI.js} +1 -1
  7. package/dist/{HookManager-TMAJQU4S.cjs → HookManager-ZL2CLAJW.cjs} +2 -2
  8. package/dist/{ImportWizard-MQXEED2U.cjs → ImportWizard-U6CIJREW.cjs} +13 -13
  9. package/dist/{ImportWizard-QBKQEXDW.js → ImportWizard-VJFSWSUQ.js} +4 -4
  10. package/dist/LearnAdvisor-LAURA3IB.cjs +9 -0
  11. package/dist/LearnAdvisor-RFOBXFG7.js +9 -0
  12. package/dist/MemoryManager-3A2VRPF2.js +9 -0
  13. package/dist/MemoryManager-UOEQZIDC.cjs +9 -0
  14. package/dist/{NVIDIAProvider-2HR737UE.js → NVIDIAProvider-AFNJNWJM.js} +1 -1
  15. package/dist/NVIDIAProvider-L5GTYRCQ.cjs +14 -0
  16. package/dist/{PermissionManager-KMYILJ4Z.js → PermissionManager-N2LDSOYF.js} +3 -3
  17. package/dist/PermissionManager-ZNURIEYR.cjs +11 -0
  18. package/dist/ProviderFactory-3BFS65V7.cjs +13 -0
  19. package/dist/{ProviderFactory-HFPRVQ25.js → ProviderFactory-XUT6BSGB.js} +4 -2
  20. package/dist/SessionManager-LGPQIA57.cjs +10 -0
  21. package/dist/{SessionManager-PNBTJJTQ.js → SessionManager-OR4KDDDS.js} +2 -2
  22. package/dist/{SkillsRegistry-4RRD5GMX.js → SkillsRegistry-IL3GWROU.js} +2 -2
  23. package/dist/SkillsRegistry-PM34DQNA.cjs +9 -0
  24. package/dist/SubAgent-2WG4QQB5.cjs +13 -0
  25. package/dist/SubAgent-ICGN23TQ.js +13 -0
  26. package/dist/{SyncApiClient-LRPFNCKJ.js → SyncApiClient-G3FM65IV.js} +1 -1
  27. package/dist/SyncApiClient-ODBDECOG.cjs +11 -0
  28. package/dist/{about-BW3PDZUU.js → about-OYVGQMJJ.js} +5 -4
  29. package/dist/about-U2BH7HDR.cjs +15 -0
  30. package/dist/{acp-VHEL7BOW.js → acp-JWHGXZL5.js} +207 -102
  31. package/dist/{acp-EOETGAHC.cjs → acp-S37JOBCS.cjs} +226 -121
  32. package/dist/actionExecutor-2QEPMELQ.cjs +28 -0
  33. package/dist/actionExecutor-6NCCORRB.js +28 -0
  34. package/dist/add-dir-KFUHSIR2.cjs +11 -0
  35. package/dist/{add-dir-VFX7QT4E.js → add-dir-MM2BM2Z2.js} +2 -2
  36. package/dist/agent-DUIYLIVN.js +132 -0
  37. package/dist/agent-YYEHGDAK.cjs +132 -0
  38. package/dist/agents-GBGG4CW7.cjs +19 -0
  39. package/dist/agents-ZH34C72F.js +19 -0
  40. package/dist/agents-new-ERXLS7SB.cjs +17 -0
  41. package/dist/agents-new-EVTGPTA4.js +17 -0
  42. package/dist/{autoSkill-EFMK6WU6.js → autoSkill-HEWKJ5JV.js} +2 -2
  43. package/dist/autoSkill-YL6PN6AV.cjs +20 -0
  44. package/dist/automode-4BJ7FNPL.cjs +10 -0
  45. package/dist/{automode-BMYSRM34.js → automode-S4U7A7Q2.js} +2 -2
  46. package/dist/chrome-45ZXHL5N.cjs +22 -0
  47. package/dist/{chrome-NHJ44WUN.js → chrome-BBSRVG6S.js} +2 -2
  48. package/dist/chrome-IFVZRHAT.cjs +50 -0
  49. package/dist/chrome-MYE6DNA2.js +22 -0
  50. package/dist/chunk-24CEJYEG.cjs +579 -0
  51. package/dist/{chunk-47PHDKNW.cjs → chunk-255GIVM2.cjs} +6 -6
  52. package/dist/{chunk-DIZTWFVR.cjs → chunk-2BDSR2OW.cjs} +238 -61
  53. package/dist/{chunk-BL2UC7HC.js → chunk-2BPIR7LA.js} +121 -4
  54. package/dist/{chunk-BQ22N3TX.cjs → chunk-2NY7OHBF.cjs} +47 -27
  55. package/dist/chunk-2WUNHTXL.js +303 -0
  56. package/dist/{chunk-HQWQZML5.cjs → chunk-34B6ZO6W.cjs} +124 -7
  57. package/dist/{chunk-5JTTM5SC.js → chunk-3BJN7GAH.js} +1 -1
  58. package/dist/{chunk-4256YRCO.cjs → chunk-3CAXECWJ.cjs} +30 -17
  59. package/dist/{chunk-KNTUI4TZ.cjs → chunk-3CBYUBZC.cjs} +5 -5
  60. package/dist/chunk-3DF3GZQ7.js +277 -0
  61. package/dist/{chunk-E26KKI46.cjs → chunk-3JURXAL6.cjs} +61 -8
  62. package/dist/{chunk-MOJ7ADW4.cjs → chunk-3KWAP2Y3.cjs} +88 -9
  63. package/dist/{chunk-OHWMWKJQ.js → chunk-3MCK6UBL.js} +1 -1
  64. package/dist/{chunk-5VHP6HDQ.js → chunk-3TH7IK4M.js} +62 -9
  65. package/dist/{chunk-ACDQGA4Z.js → chunk-3V77OB3W.js} +7 -72
  66. package/dist/{chunk-HS4USDND.cjs → chunk-3Y5UEK7K.cjs} +4 -4
  67. package/dist/{chunk-XV2HXRHX.js → chunk-4GPPSBEZ.js} +3 -3
  68. package/dist/chunk-5CMBAJ6K.js +377 -0
  69. package/dist/{chunk-MO4KP6XS.cjs → chunk-5YRXFBYZ.cjs} +35 -6
  70. package/dist/chunk-5ZNYX4VH.cjs +71 -0
  71. package/dist/chunk-6AC2TT26.js +156 -0
  72. package/dist/{chunk-UGFVM77J.cjs → chunk-6EIQ6A6U.cjs} +2 -2
  73. package/dist/{chunk-SWCQM52V.js → chunk-6HSEDXVF.js} +4 -4
  74. package/dist/{chunk-QQ7PANOP.js → chunk-6NUXK62F.js} +1 -1
  75. package/dist/{chunk-5CMYEM3R.cjs → chunk-6TGCAPYH.cjs} +62 -9
  76. package/dist/{chunk-NMQ47RCG.js → chunk-6W3SZCSP.js} +1 -1
  77. package/dist/{chunk-VRMZO6TB.js → chunk-73LV3DDZ.js} +7 -6
  78. package/dist/{chunk-3GUEUCZK.js → chunk-7BGGLIQF.js} +85 -1
  79. package/dist/{chunk-RBHANOYY.js → chunk-7DJJGKM6.js} +47 -3
  80. package/dist/{chunk-LQBONA55.cjs → chunk-7EEK7CRR.cjs} +85 -1
  81. package/dist/chunk-7TO3PDMV.cjs +324 -0
  82. package/dist/chunk-7UU22RSH.cjs +277 -0
  83. package/dist/{chunk-E6GFD7VR.cjs → chunk-A3GAM6FM.cjs} +11 -11
  84. package/dist/{chunk-DEQVRSV5.cjs → chunk-A7DJU75T.cjs} +8 -8
  85. package/dist/{chunk-DPSIGY6L.cjs → chunk-AAAO4ERQ.cjs} +9 -9
  86. package/dist/{chunk-FQAVGSPW.js → chunk-AAJLMP57.js} +2 -2
  87. package/dist/chunk-ABR756QN.js +529 -0
  88. package/dist/{chunk-JYKPWK5O.js → chunk-APFGDIPD.js} +3 -1
  89. package/dist/{chunk-Y3M2DABP.js → chunk-APQYRMYL.js} +4 -4
  90. package/dist/{chunk-Q2IL4DDI.cjs → chunk-AZKOIF2G.cjs} +62 -19
  91. package/dist/{chunk-MXVIDIC6.cjs → chunk-AZLHUPNC.cjs} +2 -2
  92. package/dist/chunk-B55VCYSQ.cjs +30 -0
  93. package/dist/{chunk-WZV6UVPY.js → chunk-BLQUMSM3.js} +1 -1
  94. package/dist/{chunk-PHJO5YAL.cjs → chunk-BXKPX6K4.cjs} +9 -9
  95. package/dist/{chunk-3KLSNNRW.cjs → chunk-C66FN2LP.cjs} +4 -4
  96. package/dist/{chunk-OV3PVUYN.js → chunk-CH7KUFAS.js} +9 -9
  97. package/dist/{chunk-CWINVFRI.cjs → chunk-CILSXOPI.cjs} +17 -17
  98. package/dist/{chunk-3UT7R3XV.js → chunk-CM24K6ZT.js} +145 -12
  99. package/dist/chunk-CMEZ42F2.cjs +303 -0
  100. package/dist/{chunk-46C73ZKK.cjs → chunk-CNQKIWIS.cjs} +152 -19
  101. package/dist/{chunk-5JFTY3VU.js → chunk-CSTUTDTH.js} +2 -1
  102. package/dist/{chunk-REMGR23V.cjs → chunk-CSUGNNJY.cjs} +10 -4
  103. package/dist/{chunk-TBOLJDUG.js → chunk-D6HB3H3L.js} +31 -11
  104. package/dist/{chunk-OM24WXEE.js → chunk-D7AYKVKW.js} +2 -2
  105. package/dist/{chunk-6GUODJKM.cjs → chunk-DLCXWOWT.cjs} +23 -23
  106. package/dist/{chunk-CH2J4PVE.cjs → chunk-DMM2BKSV.cjs} +121 -28
  107. package/dist/{chunk-M4KNC5BQ.js → chunk-DW3DPV77.js} +1 -1
  108. package/dist/chunk-ECQD2QC3.cjs +33 -0
  109. package/dist/{chunk-UEIXJG45.js → chunk-EEYOS3UC.js} +116 -80
  110. package/dist/{chunk-7HPWMALN.js → chunk-EF2EN5CR.js} +2 -2
  111. package/dist/{chunk-7LWQCE4Y.cjs → chunk-EFXFURDY.cjs} +192 -58
  112. package/dist/chunk-EK34UZPB.cjs +40 -0
  113. package/dist/{chunk-7JLT2VNW.cjs → chunk-FJR6EZLO.cjs} +9666 -7201
  114. package/dist/{chunk-GZ6DV2UG.js → chunk-FPO7YNPQ.js} +1 -1
  115. package/dist/{chunk-O64I2GYI.js → chunk-FS4I6BNR.js} +1 -1
  116. package/dist/{chunk-MX75JYIY.js → chunk-FSJ2MNOC.js} +3 -3
  117. package/dist/{chunk-7RFJB75Y.js → chunk-GEHZMC4G.js} +11 -8
  118. package/dist/{chunk-UWFG2R2I.cjs → chunk-GO6C2RAR.cjs} +36 -9
  119. package/dist/{chunk-WGLBC5AY.cjs → chunk-GSMR6V36.cjs} +4 -4
  120. package/dist/{chunk-Z3XSSF7B.js → chunk-GSZWATME.js} +1 -1
  121. package/dist/{chunk-7MU7LWF3.cjs → chunk-GYLGCR6F.cjs} +5 -5
  122. package/dist/{chunk-O6TQP7U7.cjs → chunk-H3OOWNYQ.cjs} +3 -3
  123. package/dist/{chunk-2QL6MNXG.js → chunk-H65446XW.js} +115 -20
  124. package/dist/chunk-H7HXRRHK.js +324 -0
  125. package/dist/{chunk-ZZ63NW7A.cjs → chunk-HN2JTDN5.cjs} +17 -17
  126. package/dist/{chunk-AOKCI722.cjs → chunk-HNXUZ5OY.cjs} +2 -2
  127. package/dist/{chunk-AUYSIEVV.cjs → chunk-HOYT3E65.cjs} +3 -3
  128. package/dist/{chunk-DMRXF5DU.js → chunk-HTPY5ESD.js} +3 -3
  129. package/dist/chunk-HTU4W3GB.js +183 -0
  130. package/dist/{chunk-3DDL2E55.cjs → chunk-HVLWH2AF.cjs} +10 -10
  131. package/dist/{chunk-HSCUPEA4.cjs → chunk-HZTEU4W5.cjs} +74 -105
  132. package/dist/{chunk-XGMI6IYB.cjs → chunk-I5T7LPFP.cjs} +7 -7
  133. package/dist/{chunk-XIVFAD2L.js → chunk-IB5CJXE7.js} +173 -12
  134. package/dist/chunk-INNXFLDR.cjs +388 -0
  135. package/dist/{chunk-75EDROHL.cjs → chunk-JFLEP3T7.cjs} +10 -10
  136. package/dist/chunk-JJGDOBFL.js +40 -0
  137. package/dist/{chunk-VBOFPU5M.cjs → chunk-JM3ZTQUK.cjs} +13 -9
  138. package/dist/{chunk-HJIXWGQZ.js → chunk-JSU46T6K.js} +1 -1
  139. package/dist/{chunk-AT7OWLY5.js → chunk-K6WN6BT4.js} +1 -1
  140. package/dist/{chunk-LN7D3EJZ.js → chunk-KA2U6MY2.js} +4 -3
  141. package/dist/{chunk-3S563FNF.cjs → chunk-KIQH3SMT.cjs} +34 -31
  142. package/dist/{chunk-BWF4VDYE.js → chunk-KPRXHIE2.js} +54 -85
  143. package/dist/{chunk-Z4LIPMPM.js → chunk-L6OH44HL.js} +13 -9
  144. package/dist/{chunk-A7HHCIDQ.js → chunk-LIO3RX2Z.js} +2 -2
  145. package/dist/{chunk-DLP436GI.js → chunk-LOSXLH7P.js} +110 -17
  146. package/dist/{chunk-IEXKKKOF.cjs → chunk-LSOR72PB.cjs} +23 -23
  147. package/dist/{chunk-IAGCRVJ3.js → chunk-MA3AVDCC.js} +55 -12
  148. package/dist/{chunk-B5CGDNMR.js → chunk-ME3S2WIR.js} +3 -3
  149. package/dist/{chunk-HKYZSUQ5.js → chunk-NC2I2M4P.js} +4 -4
  150. package/dist/{chunk-GBMDFWJX.cjs → chunk-NC4A4LVC.cjs} +13 -13
  151. package/dist/{chunk-E46DJH5S.js → chunk-NGEK5FCJ.js} +176 -3
  152. package/dist/{chunk-TQ33WBY5.cjs → chunk-NHWHEW7M.cjs} +2 -1
  153. package/dist/{chunk-62RTC3XX.js → chunk-NKW6CHXQ.js} +1 -1
  154. package/dist/{chunk-3PXKRVCW.js → chunk-NOWCRKP2.js} +10 -4
  155. package/dist/{chunk-HXJEGMGB.js → chunk-NUB2LMB6.js} +2 -2
  156. package/dist/chunk-NVATU4V6.cjs +44 -0
  157. package/dist/chunk-O246MKIW.cjs +267 -0
  158. package/dist/{chunk-QCHIDZBA.js → chunk-OGFWL2PS.js} +1 -1
  159. package/dist/{chunk-JJ4KA7HK.cjs → chunk-ONNGAR6W.cjs} +415 -551
  160. package/dist/{chunk-TKKN34TV.js → chunk-OOFR6A62.js} +33 -4
  161. package/dist/{chunk-6NVAK6CK.js → chunk-OZ7FHO7J.js} +2 -2
  162. package/dist/{chunk-2CGE7ZV3.cjs → chunk-P5EWGUI2.cjs} +201 -28
  163. package/dist/{chunk-GGLKUENP.js → chunk-P6BQJPAI.js} +191 -14
  164. package/dist/{chunk-TWQDAUZU.js → chunk-PG2JIU5M.js} +60 -7
  165. package/dist/chunk-PI27G2ED.cjs +377 -0
  166. package/dist/{chunk-YV63VW4K.js → chunk-PI7LRPL6.js} +1 -1
  167. package/dist/{chunk-TXPSTCG7.cjs → chunk-PMPEC5HN.cjs} +18 -15
  168. package/dist/{chunk-ROLA6EFO.cjs → chunk-PYUP7AKY.cjs} +14 -14
  169. package/dist/{chunk-BFQDQRDE.js → chunk-QC5Z3ZT5.js} +2 -2
  170. package/dist/chunk-QDO4L2A7.cjs +156 -0
  171. package/dist/{chunk-LFDPTJYF.cjs → chunk-QDXRI5AM.cjs} +1 -1
  172. package/dist/{chunk-3LJJG5YY.cjs → chunk-QLZOMZO5.cjs} +4 -3
  173. package/dist/chunk-QVXMSQOG.js +430 -0
  174. package/dist/{chunk-ZHJ7JGME.cjs → chunk-R4UKBKDY.cjs} +11 -11
  175. package/dist/{chunk-IGMPWJ2I.cjs → chunk-R75AWII3.cjs} +118 -23
  176. package/dist/{chunk-VGEV44V2.cjs → chunk-RD5PLUIX.cjs} +191 -30
  177. package/dist/{chunk-I24CWKKK.js → chunk-RGB34CV5.js} +3 -3
  178. package/dist/{chunk-CHI52KFR.cjs → chunk-RJCZLFHE.cjs} +246 -39
  179. package/dist/{chunk-D2OSPLYC.cjs → chunk-RKWNM2BJ.cjs} +2 -2
  180. package/dist/{chunk-FGT6KK6T.js → chunk-RMVONICR.js} +3 -3
  181. package/dist/{chunk-Q6AC3PHY.cjs → chunk-RPSYRJL7.cjs} +10 -4
  182. package/dist/chunk-RS2E32YB.js +71 -0
  183. package/dist/chunk-RWKU2X7O.js +388 -0
  184. package/dist/chunk-RZLEGVMH.cjs +565 -0
  185. package/dist/{chunk-5F6ZKSHO.js → chunk-S2L3Y677.js} +1 -1
  186. package/dist/{chunk-ARBEHFCG.js → chunk-S7KVUIOS.js} +1 -1
  187. package/dist/{chunk-AC7DZ6SK.cjs → chunk-SACJJ6NO.cjs} +5 -3
  188. package/dist/{chunk-IKUMVBCW.cjs → chunk-SD3NTC7D.cjs} +48 -4
  189. package/dist/{chunk-CBFH2J3O.js → chunk-SJQU2ZFR.js} +246 -39
  190. package/dist/{chunk-GWO66KBI.js → chunk-SKAQKQFF.js} +12 -2
  191. package/dist/chunk-T4DXP5OP.js +30 -0
  192. package/dist/{chunk-CFFE4VA3.js → chunk-T6FTB6K2.js} +1 -1
  193. package/dist/{chunk-U4C3HW6P.js → chunk-T6N6GRFT.js} +13 -10
  194. package/dist/{chunk-D6GZBSOX.js → chunk-TJFKA6A7.js} +82 -3
  195. package/dist/{chunk-2HOLOHVK.js → chunk-TJZUPS4Z.js} +163 -299
  196. package/dist/{chunk-RBZ7AFX7.cjs → chunk-TLKHZ425.cjs} +2 -2
  197. package/dist/{chunk-J2K57QM7.cjs → chunk-TQ24NLXO.cjs} +6 -6
  198. package/dist/{chunk-LUMV3DB2.js → chunk-TWBAU46X.js} +1 -1
  199. package/dist/{chunk-OPNI6O7F.cjs → chunk-TZB5XADL.cjs} +4 -4
  200. package/dist/{chunk-6HH236FV.cjs → chunk-UAYXZXWU.cjs} +4 -4
  201. package/dist/{chunk-MPULXVC4.cjs → chunk-UKBFNBDO.cjs} +11 -11
  202. package/dist/chunk-UMJYX5KD.js +565 -0
  203. package/dist/chunk-USKYTHDL.cjs +235 -0
  204. package/dist/chunk-V4HGZSKQ.cjs +183 -0
  205. package/dist/{chunk-MQESBFBZ.cjs → chunk-VAJUSZMC.cjs} +21 -20
  206. package/dist/{chunk-PQLKJCIE.js → chunk-VGQG4NBJ.js} +2 -2
  207. package/dist/chunk-VLUIVJ3J.js +235 -0
  208. package/dist/chunk-VOBINVMV.cjs +430 -0
  209. package/dist/{chunk-L4F7SUYL.js → chunk-VSHKKCSH.js} +16 -5
  210. package/dist/{chunk-LDJQ5QHG.cjs → chunk-VSZU3MGA.cjs} +28 -17
  211. package/dist/{chunk-YFXTE422.cjs → chunk-VWHAUB77.cjs} +8 -3
  212. package/dist/{chunk-EZJHLOWP.js → chunk-VXGYFX45.js} +20 -7
  213. package/dist/{chunk-JIMSII7R.js → chunk-WH6YUQDB.js} +193 -59
  214. package/dist/{chunk-VKBIE6I6.js → chunk-WQ6TD55V.js} +2 -2
  215. package/dist/{chunk-ZR46OJNZ.js → chunk-WQWECXTY.js} +3 -3
  216. package/dist/{chunk-SOLBYSLY.cjs → chunk-WVDJUJH6.cjs} +2 -2
  217. package/dist/{chunk-QKP772OZ.js → chunk-X24VIVDZ.js} +963 -103
  218. package/dist/{chunk-37M5UM6I.js → chunk-X4NRTLXD.js} +7 -1
  219. package/dist/chunk-X53SHYCG.js +27 -0
  220. package/dist/{chunk-PUD76XQT.cjs → chunk-XB2Z4ZAK.cjs} +5 -5
  221. package/dist/chunk-Y47OJGLB.cjs +27 -0
  222. package/dist/{chunk-WRTXCQ3V.cjs → chunk-Y4MN27V3.cjs} +1080 -220
  223. package/dist/{chunk-ZK6HOR62.js → chunk-YEHFYZFU.js} +7 -2
  224. package/dist/{chunk-FFBDRUO5.cjs → chunk-YICIUY23.cjs} +1 -1
  225. package/dist/{chunk-PDHT7LQS.cjs → chunk-YMXYC777.cjs} +3 -3
  226. package/dist/{chunk-TJNBASFD.cjs → chunk-Z3GRWK6O.cjs} +8 -8
  227. package/dist/{chunk-JP3YHTQ2.cjs → chunk-Z5GG2KSL.cjs} +4 -4
  228. package/dist/{chunk-ZPD2AO3U.js → chunk-ZER7DYQK.js} +2 -2
  229. package/dist/{chunk-UXLW45ZE.cjs → chunk-ZFDXZEZJ.cjs} +25 -90
  230. package/dist/chunk-ZFV4HJA6.js +579 -0
  231. package/dist/chunk-ZHMYTI5D.cjs +529 -0
  232. package/dist/{chunk-CCVMREXI.js → chunk-ZLR2TFBC.js} +35 -8
  233. package/dist/{chunk-J5ADZN6V.cjs → chunk-ZTWNU5QZ.cjs} +20 -20
  234. package/dist/chunk-ZUYYHKQA.js +44 -0
  235. package/dist/{chunk-AUFNACED.js → chunk-ZVLVLDYN.js} +9086 -6621
  236. package/dist/clear-AJGXD2BB.cjs +12 -0
  237. package/dist/{clear-OFLFQ3MR.js → clear-HAHDSWKW.js} +3 -3
  238. package/dist/communityInstaller-IRR6M3N6.cjs +22 -0
  239. package/dist/{communityInstaller-COB2KTOW.js → communityInstaller-OLKEUGMX.js} +6 -6
  240. package/dist/completion-G7Z436TF.cjs +17 -0
  241. package/dist/{completion-PT4VM2H2.js → completion-ZS3AXJ6A.js} +5 -5
  242. package/dist/{config-R4O7GBTY.js → config-OWYAQPCX.js} +5 -3
  243. package/dist/config-W2BHT2QE.cjs +22 -0
  244. package/dist/{constants-HVCHVQAF.js → constants-AS6K67AA.js} +5 -3
  245. package/dist/constants-B4W5BT7F.cjs +23 -0
  246. package/dist/{export-3PK3VFCE.js → export-5HIU3KMD.js} +5 -5
  247. package/dist/export-GFD32UY2.cjs +15 -0
  248. package/dist/{extractSessionMemories-A2JX5WJ2.js → extractSessionMemories-K6ZVAW2F.js} +1 -1
  249. package/dist/{extractSessionMemories-XL3MS37F.cjs → extractSessionMemories-LLOIJR5U.cjs} +2 -2
  250. package/dist/feature-KP74CZ3F.cjs +14 -0
  251. package/dist/feature-OPNVMB2E.js +14 -0
  252. package/dist/features-LT55MURX.cjs +24 -0
  253. package/dist/features-ZDIU26WX.js +24 -0
  254. package/dist/feedback-7WTJFQ6S.js +18 -0
  255. package/dist/feedback-CEOJ3453.cjs +18 -0
  256. package/dist/go-2CY5SZNR.js +16 -0
  257. package/dist/go-O2CSQON4.cjs +16 -0
  258. package/dist/goal-DL2N2AWT.cjs +16 -0
  259. package/dist/goal-IJS7VZSG.js +16 -0
  260. package/dist/help-RNOGDEBA.cjs +12 -0
  261. package/dist/{help-X3OAZ3CY.js → help-TCWD2IRH.js} +2 -2
  262. package/dist/{history-YKFPHBJN.js → history-ATOR5OQV.js} +2 -2
  263. package/dist/history-UUSGX2AL.cjs +14 -0
  264. package/dist/{hooks-7TA4PIIB.js → hooks-R3Z5QKUP.js} +6 -6
  265. package/dist/hooks-RWM5UY67.cjs +18 -0
  266. package/dist/{i18n-2KBUU7XL.js → i18n-4QI4TD4I.js} +1 -1
  267. package/dist/i18n-MFAEU5RV.cjs +33 -0
  268. package/dist/ide-6PBTCCUQ.js +15 -0
  269. package/dist/ide-UE3G7NMQ.cjs +15 -0
  270. package/dist/{import-I7T4ZHYL.cjs → import-2IG76KAN.cjs} +6 -4
  271. package/dist/{import-JWPYKXCZ.js → import-E47QL4DW.js} +2 -2
  272. package/dist/import-NQDNBFUL.cjs +10 -0
  273. package/dist/{import-4CHYLS4K.js → import-VQIHGJWS.js} +6 -4
  274. package/dist/index.cjs +512 -305
  275. package/dist/index.d.cts +40 -0
  276. package/dist/index.d.ts +40 -0
  277. package/dist/index.js +402 -195
  278. package/dist/init-DX3RDGDT.cjs +10 -0
  279. package/dist/{init-262MWZV4.js → init-Q54OAAFZ.js} +2 -2
  280. package/dist/{inputPrompt-YGBHDUEP.js → inputPrompt-V2VBDRM7.js} +3 -3
  281. package/dist/inputPrompt-WVGVWAHS.cjs +90 -0
  282. package/dist/language-I6KXAOXD.js +23 -0
  283. package/dist/language-XMIVOH5E.cjs +23 -0
  284. package/dist/learn-JPVVGTKU.js +23 -0
  285. package/dist/learn-NLSHI2MZ.cjs +23 -0
  286. package/dist/login-NABQYLYC.cjs +28 -0
  287. package/dist/login-XPOVFSWN.js +28 -0
  288. package/dist/logout-HNHCGB4Q.js +25 -0
  289. package/dist/logout-SKGDXJSW.cjs +25 -0
  290. package/dist/{mcp-5O6PUL4G.js → mcp-EN73YFGZ.js} +8 -6
  291. package/dist/mcp-TADZCPJQ.cjs +22 -0
  292. package/dist/{mcp-install-P6DHES7V.cjs → mcp-install-2GKWWBAS.cjs} +15 -13
  293. package/dist/{mcp-install-6XWXLFVY.js → mcp-install-3TBTVSHW.js} +10 -8
  294. package/dist/memory-GRXFTDIN.cjs +10 -0
  295. package/dist/{memory-Q54CESNM.js → memory-K2P3CDCH.js} +2 -2
  296. package/dist/{model-6AJ77PJG.js → model-DEG22OWA.js} +2 -2
  297. package/dist/model-OSD74T7Z.cjs +10 -0
  298. package/dist/new-4NWBOATU.cjs +12 -0
  299. package/dist/{new-ZXHEWC2S.js → new-KJAP2MB6.js} +3 -3
  300. package/dist/onboarding-2U5WE2OA.js +39 -0
  301. package/dist/onboarding-5DZFCO5Q.cjs +39 -0
  302. package/dist/permissions-KY5I6YQ3.cjs +10 -0
  303. package/dist/{permissions-YHJMVA6L.js → permissions-TKYON7PP.js} +2 -2
  304. package/dist/{plan-YYUAXPTL.js → plan-DYHHLZSS.js} +1 -1
  305. package/dist/plan-PYKP652W.cjs +13 -0
  306. package/dist/quit-GSKJL42O.js +14 -0
  307. package/dist/quit-TQSRTBUT.cjs +14 -0
  308. package/dist/{registry-34GL6BNJ.js → registry-EZ4V4TUQ.js} +1339 -1
  309. package/dist/{registry-V24W7YK6.cjs → registry-LCWYI4IB.cjs} +1378 -40
  310. package/dist/resume-4VWJXARX.cjs +17 -0
  311. package/dist/resume-TLHWWWFN.js +17 -0
  312. package/dist/{review-QHP2KP4Q.js → review-CSK4IYTO.js} +1 -1
  313. package/dist/review-XLJEUH5K.cjs +9 -0
  314. package/dist/{rpc-S3DGW6KV.js → rpc-3DLQBDWU.js} +301 -130
  315. package/dist/{rpc-NPS3PU4O.cjs → rpc-O36WUU3L.cjs} +399 -228
  316. package/dist/search-DSX2CY4A.cjs +22 -0
  317. package/dist/search-I3QUDUQL.js +22 -0
  318. package/dist/sessionBranching-DVNOUWJT.cjs +19 -0
  319. package/dist/sessionBranching-FKV4CR36.js +19 -0
  320. package/dist/sessions-3JUOT3ED.cjs +10 -0
  321. package/dist/{sessions-IYAXMK23.js → sessions-VWMDIPOS.js} +2 -2
  322. package/dist/settings-FT2LZZUV.js +45 -0
  323. package/dist/settings-RL4KNWHB.cjs +45 -0
  324. package/dist/setup-HQEJVOYT.js +32 -0
  325. package/dist/setup-MN54LKOL.cjs +32 -0
  326. package/dist/share-BUAFZNBX.cjs +17 -0
  327. package/dist/share-CGB6MAVJ.js +17 -0
  328. package/dist/skills/builtin/code-reviewer/SKILL.md +64 -0
  329. package/dist/skills/builtin/goal-writer/SKILL.md +124 -0
  330. package/dist/{skills-VWOMV3CR.js → skills-7DKR3HRZ.js} +8 -8
  331. package/dist/{skills-MVIZNHT4.js → skills-BBBENOEY.js} +9 -9
  332. package/dist/skills-OQM7IHAF.cjs +29 -0
  333. package/dist/{skills-GGMZOVIE.cjs → skills-RA2PKL63.cjs} +10 -10
  334. package/dist/{skills-install-VTAMCNNY.cjs → skills-install-D7K476SL.cjs} +16 -16
  335. package/dist/{skills-install-QBA5RCV6.js → skills-install-T4SOKJSL.js} +9 -9
  336. package/dist/skills-new-S33NGEU3.js +18 -0
  337. package/dist/skills-new-UVYH53MD.cjs +18 -0
  338. package/dist/slashCommands-MWOUDSQP.js +111 -0
  339. package/dist/slashCommands-XASURUTV.cjs +111 -0
  340. package/dist/squad-PIIYDFVH.cjs +15 -0
  341. package/dist/squad-VHYOVEJP.js +15 -0
  342. package/dist/status-GHFTXQBL.js +25 -0
  343. package/dist/status-WXMIJIU3.cjs +25 -0
  344. package/dist/statusline-2K7AC6ZQ.js +21 -0
  345. package/dist/statusline-GROI4HOC.cjs +21 -0
  346. package/dist/sync-254WF6JI.cjs +42 -0
  347. package/dist/sync-2DIZN4EH.cjs +24 -0
  348. package/dist/{sync-7BILIQHP.js → sync-J6I2ZUKQ.js} +6 -4
  349. package/dist/{sync-7OKF6636.js → sync-Z3LVSEEV.js} +8 -5
  350. package/dist/{teammate-J6PHGL23.cjs → teammate-EXR76PEQ.cjs} +9 -8
  351. package/dist/{teammate-GZQSCIMS.js → teammate-K4DAOFEQ.js} +8 -7
  352. package/dist/templates-ARG2VRWW.cjs +11 -0
  353. package/dist/templates-UGVZV3KJ.js +11 -0
  354. package/dist/theme-MVQDSU47.js +23 -0
  355. package/dist/theme-QAKEYWJG.cjs +23 -0
  356. package/dist/ui/questionModal.cjs +6 -6
  357. package/dist/ui/questionModal.js +5 -5
  358. package/dist/{undo-SZEHLX7X.js → undo-5AU47JHF.js} +2 -2
  359. package/dist/undo-ME6WKUXZ.cjs +10 -0
  360. package/dist/usage-QTKO2YMD.js +25 -0
  361. package/dist/usage-TYNJKVER.cjs +25 -0
  362. package/package.json +10 -4
  363. package/dist/AgentRegistry-EGBDIUAK.cjs +0 -10
  364. package/dist/AgentRegistry-XPWSVO3Q.js +0 -10
  365. package/dist/CommunitySkillsCache-2OIUV227.cjs +0 -8
  366. package/dist/LearnAdvisor-46FG2XIP.js +0 -9
  367. package/dist/LearnAdvisor-XBRDNAGH.cjs +0 -9
  368. package/dist/MemoryManager-34L4YOKA.cjs +0 -8
  369. package/dist/MemoryManager-WJMLPWGU.js +0 -8
  370. package/dist/NVIDIAProvider-MVTL62PR.cjs +0 -14
  371. package/dist/PermissionManager-5OOJ7FAT.cjs +0 -11
  372. package/dist/ProviderFactory-C3YPXTDD.cjs +0 -11
  373. package/dist/SessionManager-WAPTFMDO.cjs +0 -10
  374. package/dist/SkillsRegistry-7AJP74GJ.cjs +0 -9
  375. package/dist/SubAgent-FDIH3DXB.js +0 -11
  376. package/dist/SubAgent-HVL2ICVZ.cjs +0 -11
  377. package/dist/SyncApiClient-VMBOLQ6H.cjs +0 -11
  378. package/dist/about-FCAX37YC.cjs +0 -14
  379. package/dist/actionExecutor-33I47NZS.js +0 -24
  380. package/dist/actionExecutor-4YBMR3YH.cjs +0 -24
  381. package/dist/add-dir-7SS6KSH5.cjs +0 -11
  382. package/dist/agent-DMRUFU4M.cjs +0 -116
  383. package/dist/agent-WCJEYQJT.js +0 -116
  384. package/dist/agents-CHROO3VU.cjs +0 -17
  385. package/dist/agents-UVDUL65K.js +0 -17
  386. package/dist/agents-new-AUBWSOXP.js +0 -17
  387. package/dist/agents-new-Y562WC47.cjs +0 -17
  388. package/dist/autoSkill-YOLLFTP2.cjs +0 -20
  389. package/dist/automode-DBLKTTKD.cjs +0 -10
  390. package/dist/chrome-ATC4OO5I.cjs +0 -20
  391. package/dist/chrome-O62WXV7F.js +0 -20
  392. package/dist/chrome-XHJLCO4M.cjs +0 -50
  393. package/dist/chunk-6XVVIY54.cjs +0 -256
  394. package/dist/chunk-AU6JAGZJ.cjs +0 -231
  395. package/dist/chunk-N6O3XUZ2.cjs +0 -23
  396. package/dist/chunk-VDWJMWDF.js +0 -256
  397. package/dist/clear-33TWQ2ES.cjs +0 -12
  398. package/dist/communityInstaller-TWMGPSYM.cjs +0 -22
  399. package/dist/completion-IIZMHXYP.cjs +0 -17
  400. package/dist/config-KL6WU7R2.cjs +0 -20
  401. package/dist/constants-RLMJ5D5P.cjs +0 -21
  402. package/dist/export-WLGNWEMJ.cjs +0 -15
  403. package/dist/feedback-G635NCLJ.js +0 -18
  404. package/dist/feedback-LLMK3TZH.cjs +0 -18
  405. package/dist/help-BAXLP2M2.cjs +0 -12
  406. package/dist/history-6HOJSEMT.cjs +0 -14
  407. package/dist/hooks-XVFU67T2.cjs +0 -18
  408. package/dist/i18n-MUJMKTFM.cjs +0 -33
  409. package/dist/ide-CCQ33PGC.cjs +0 -15
  410. package/dist/ide-VLVFBZ5F.js +0 -15
  411. package/dist/import-J46F54JY.cjs +0 -10
  412. package/dist/init-EE5Y7RBL.cjs +0 -10
  413. package/dist/inputPrompt-IIFKCX5Q.cjs +0 -90
  414. package/dist/language-CVLPB7OV.js +0 -21
  415. package/dist/language-ZTWFHUSV.cjs +0 -21
  416. package/dist/learn-PON7I5QS.js +0 -23
  417. package/dist/learn-XLRSVNA3.cjs +0 -23
  418. package/dist/login-223QTGBG.cjs +0 -26
  419. package/dist/login-6IKTBUBY.js +0 -26
  420. package/dist/logout-RN2AG6SI.js +0 -23
  421. package/dist/logout-U3M4FFX7.cjs +0 -23
  422. package/dist/mcp-NUQ76QQB.cjs +0 -20
  423. package/dist/memory-CYMDQ2YC.cjs +0 -10
  424. package/dist/model-IDRCKDML.cjs +0 -10
  425. package/dist/new-7LEWOUF2.cjs +0 -12
  426. package/dist/onboarding-FXX7YHSJ.cjs +0 -35
  427. package/dist/onboarding-JYNMK6NI.js +0 -35
  428. package/dist/permissions-YBNSANIA.cjs +0 -10
  429. package/dist/plan-XEJMOT55.cjs +0 -13
  430. package/dist/quit-B43SJ6E4.cjs +0 -10
  431. package/dist/quit-GWTNHQSP.js +0 -10
  432. package/dist/resume-DYVOQN5L.cjs +0 -16
  433. package/dist/resume-M25UQKOX.js +0 -16
  434. package/dist/review-UWHWQHCB.cjs +0 -9
  435. package/dist/search-CPX4PWHP.js +0 -20
  436. package/dist/search-VUF3M4N3.cjs +0 -20
  437. package/dist/sessions-JODKER5D.cjs +0 -10
  438. package/dist/settings-55BNW6BF.js +0 -33
  439. package/dist/settings-BKTS7OMC.cjs +0 -33
  440. package/dist/setup-IRC5HQG2.js +0 -29
  441. package/dist/setup-MMQ7TWOP.cjs +0 -29
  442. package/dist/share-6JRQECAH.cjs +0 -17
  443. package/dist/share-YM5MJKMO.js +0 -17
  444. package/dist/skills-LWSOKOSH.cjs +0 -29
  445. package/dist/skills-new-GPL46YV2.js +0 -18
  446. package/dist/skills-new-L5BEZN5V.cjs +0 -18
  447. package/dist/slashCommands-FBPCIWM5.cjs +0 -95
  448. package/dist/slashCommands-FCWY5DXW.js +0 -95
  449. package/dist/status-3B5SDZPL.js +0 -17
  450. package/dist/status-TTGRF6NC.cjs +0 -17
  451. package/dist/sync-77CXVVTK.cjs +0 -21
  452. package/dist/sync-EH4K5U3N.cjs +0 -40
  453. package/dist/theme-64BYGJ57.cjs +0 -21
  454. package/dist/theme-YJE6HEON.js +0 -21
  455. package/dist/undo-PRTEGL2J.cjs +0 -10
@@ -0,0 +1,324 @@
1
+ // src/features/featureRegistry.ts
2
+ var AWS_BEDROCK_PROVIDER_FLAG = "aws_bedrock_provider";
3
+ var FEATURE_REGISTRY = [
4
+ {
5
+ id: "mcp",
6
+ label: "MCP tools",
7
+ description: "Connect configured Model Context Protocol servers and expose their tools.",
8
+ stage: "stable",
9
+ configPath: "mcp.enabled",
10
+ defaultEnabled: true,
11
+ requiresRestart: true
12
+ },
13
+ {
14
+ id: "hooks",
15
+ label: "Lifecycle hooks",
16
+ description: "Run configured shell hooks around prompts, tools, sessions, and notifications.",
17
+ stage: "stable",
18
+ configPath: "hooks.enabled",
19
+ defaultEnabled: true
20
+ },
21
+ {
22
+ id: "teams",
23
+ label: "Agent teams",
24
+ description: "Enable multi-agent team coordination commands and teammate execution.",
25
+ stage: "experimental",
26
+ configPath: "teams.enabled",
27
+ defaultEnabled: true
28
+ },
29
+ {
30
+ id: "community_skills",
31
+ label: "Community skills",
32
+ description: "Enable discovery and use of community skill packs.",
33
+ stage: "stable",
34
+ configPath: "communitySkills.enabled",
35
+ defaultEnabled: true
36
+ },
37
+ {
38
+ id: "prompt_suggestions",
39
+ label: "Prompt suggestions",
40
+ description: "Show generated next-step suggestions in the interactive prompt placeholder.",
41
+ stage: "stable",
42
+ configPath: "ui.promptSuggestions",
43
+ defaultEnabled: true
44
+ },
45
+ {
46
+ id: "request_queue",
47
+ label: "Request queue",
48
+ description: "Allow typing follow-up requests while the agent is still working.",
49
+ stage: "stable",
50
+ configPath: "agent.enableRequestQueue",
51
+ defaultEnabled: true
52
+ },
53
+ {
54
+ id: "thinking_display",
55
+ label: "Thinking display",
56
+ description: "Show model thinking or reasoning blocks when the provider returns them.",
57
+ stage: "stable",
58
+ configPath: "ui.showThinking",
59
+ defaultEnabled: true
60
+ },
61
+ {
62
+ id: "completion_notifications",
63
+ label: "Completion notifications",
64
+ description: "Show desktop notifications when an agent turn completes.",
65
+ stage: "stable",
66
+ configPath: "ui.showCompletionNotification",
67
+ defaultEnabled: true
68
+ },
69
+ {
70
+ id: "terminal_bell",
71
+ label: "Terminal bell",
72
+ description: "Ring the terminal bell when work completes.",
73
+ stage: "stable",
74
+ configPath: "ui.terminalBell",
75
+ defaultEnabled: true
76
+ },
77
+ {
78
+ id: "tool_selection_cache",
79
+ label: "Tool selection cache",
80
+ description: "Cache local tool-schema selection for equivalent turns.",
81
+ stage: "stable",
82
+ configPath: "agent.toolSelectionCache",
83
+ defaultEnabled: true
84
+ },
85
+ {
86
+ id: "usage_v2",
87
+ label: "Usage v2",
88
+ description: "Show the v2 usage dashboard with model, provider, context, and limit details.",
89
+ stage: "experimental",
90
+ configPath: "features.usageV2",
91
+ defaultEnabled: false
92
+ },
93
+ {
94
+ id: AWS_BEDROCK_PROVIDER_FLAG,
95
+ label: "AWS Bedrock provider",
96
+ description: "Enable AWS Bedrock as a first-class model provider.",
97
+ stage: "experimental",
98
+ configPath: "features.awsBedrockProvider",
99
+ defaultEnabled: true,
100
+ requiresRestart: true
101
+ },
102
+ {
103
+ id: "slash_goal",
104
+ label: "Slash goal",
105
+ description: "Enable experimental persistent goals across /goal, --goal, tools, RPC, and ACP.",
106
+ stage: "experimental",
107
+ configPath: "features.slashGoal",
108
+ defaultEnabled: false
109
+ },
110
+ {
111
+ id: "token_usage_status",
112
+ label: "Token usage status",
113
+ description: "Show real-time token usage (tokens up/down and context window occupancy) in the status line.",
114
+ stage: "experimental",
115
+ configPath: "features.tokenUsageStatus",
116
+ defaultEnabled: false
117
+ },
118
+ {
119
+ id: "experimental_fork",
120
+ label: "Experimental fork",
121
+ description: "Enable branching a new session from the active session or an earlier user message.",
122
+ stage: "experimental",
123
+ configPath: "features.experimentalFork",
124
+ defaultEnabled: false
125
+ },
126
+ {
127
+ id: "experimental_clone",
128
+ label: "Experimental clone",
129
+ description: "Enable duplicating the active session branch into a new session.",
130
+ stage: "experimental",
131
+ configPath: "features.experimentalClone",
132
+ defaultEnabled: false
133
+ },
134
+ {
135
+ id: "experimental_handoff",
136
+ label: "Experimental handoff",
137
+ description: "Enable handoff session commands for continuing work from another Autohand surface.",
138
+ stage: "experimental",
139
+ configPath: "features.experimentalHandoff",
140
+ defaultEnabled: false
141
+ },
142
+ {
143
+ id: "chrome_integration",
144
+ label: "Chrome integration",
145
+ description: "Start the browser bridge by default for Chrome extension handoff.",
146
+ stage: "experimental",
147
+ configPath: "chrome.enabledByDefault",
148
+ defaultEnabled: false,
149
+ requiresRestart: true
150
+ },
151
+ {
152
+ id: "telemetry",
153
+ label: "Telemetry",
154
+ description: "Share anonymized product telemetry when explicitly enabled.",
155
+ stage: "stable",
156
+ configPath: "telemetry.enabled",
157
+ defaultEnabled: false
158
+ }
159
+ ];
160
+ function isAwsBedrockProviderEnabled(config) {
161
+ const definition = FEATURE_REGISTRY.find((feature) => feature.id === AWS_BEDROCK_PROVIDER_FLAG);
162
+ return config?.features?.awsBedrockProvider ?? definition?.defaultEnabled ?? true;
163
+ }
164
+ function isTokenUsageStatusEnabled(config) {
165
+ const definition = FEATURE_REGISTRY.find((feature) => feature.id === "token_usage_status");
166
+ return config?.features?.tokenUsageStatus ?? definition?.defaultEnabled ?? false;
167
+ }
168
+ var LOCAL_FEATURE_IDS = new Set(FEATURE_REGISTRY.map((feature) => feature.id));
169
+ function isLocalFeatureId(id) {
170
+ return LOCAL_FEATURE_IDS.has(id);
171
+ }
172
+ function isRecord(value) {
173
+ return value !== null && typeof value === "object" && !Array.isArray(value);
174
+ }
175
+ function getNestedValue(root, configPath) {
176
+ let current = root;
177
+ for (const part of configPath.split(".")) {
178
+ if (!isRecord(current)) {
179
+ return void 0;
180
+ }
181
+ current = current[part];
182
+ }
183
+ return current;
184
+ }
185
+ function setNestedValue(root, configPath, value) {
186
+ const parts = configPath.split(".");
187
+ let current = root;
188
+ for (const part of parts.slice(0, -1)) {
189
+ const existing = current[part];
190
+ if (!isRecord(existing)) {
191
+ current[part] = {};
192
+ }
193
+ current = current[part];
194
+ }
195
+ current[parts[parts.length - 1]] = value;
196
+ }
197
+ function getRemoteFeatureStates(config, options = {}) {
198
+ const remoteOverrides = config.features?.remoteOverrides || {};
199
+ const snapshot = options.remoteSnapshot;
200
+ if (!snapshot) return [];
201
+ return snapshot.flags.filter((flag) => !isLocalFeatureId(flag.key) && isVisibleRemoteExperiment(flag)).map((flag) => {
202
+ const localOverride = remoteOverrides[flag.key] === "off" ? "off" : void 0;
203
+ return {
204
+ id: flag.key,
205
+ label: flag.key,
206
+ description: `Remote feature flag (${flag.reason})`,
207
+ stage: "experimental",
208
+ defaultEnabled: false,
209
+ enabled: flag.enabled && localOverride !== "off",
210
+ source: "remote",
211
+ remoteEnabled: flag.enabled,
212
+ reason: flag.reason,
213
+ userOverridable: flag.userOverridable,
214
+ localOverride,
215
+ lastEvaluatedAt: snapshot.evaluatedAt
216
+ };
217
+ });
218
+ }
219
+ function isVisibleRemoteExperiment(flag) {
220
+ const reason = flag.reason.toLowerCase();
221
+ if (reason.includes("archived") || reason.includes("client_type mismatch") || reason.includes("client type mismatch")) {
222
+ return false;
223
+ }
224
+ return !flag.clientTypes || flag.clientTypes.length === 0 || flag.clientTypes.includes("cli");
225
+ }
226
+ function getFeatureState(config, id, options = {}) {
227
+ const definition = FEATURE_REGISTRY.find((feature) => feature.id === id);
228
+ if (definition) {
229
+ const rawValue = definition.configPath ? getNestedValue(config, definition.configPath) : void 0;
230
+ return {
231
+ ...definition,
232
+ source: "local",
233
+ enabled: typeof rawValue === "boolean" ? rawValue : definition.defaultEnabled
234
+ };
235
+ }
236
+ return getRemoteFeatureStates(config, options).find((feature) => feature.id === id);
237
+ }
238
+ function listFeatureStates(config, options = {}) {
239
+ const local = FEATURE_REGISTRY.map((feature) => ({
240
+ ...feature,
241
+ source: "local",
242
+ enabled: getFeatureState(config, feature.id, options)?.enabled ?? feature.defaultEnabled
243
+ }));
244
+ return [...local, ...getRemoteFeatureStates(config, options)];
245
+ }
246
+ function setFeatureState(config, id, enabled, options = {}) {
247
+ const definition = FEATURE_REGISTRY.find((feature) => feature.id === id);
248
+ if (definition) {
249
+ if (!definition.configPath) {
250
+ return { ok: false, error: `Feature "${id}" cannot be changed locally.` };
251
+ }
252
+ setNestedValue(config, definition.configPath, enabled);
253
+ return {
254
+ ok: true,
255
+ feature: getFeatureState(config, id, options)
256
+ };
257
+ }
258
+ const remoteFeature = getRemoteFeatureStates(config, options).find((feature) => feature.id === id);
259
+ if (!remoteFeature) {
260
+ return { ok: false, error: `Unknown feature "${id}".` };
261
+ }
262
+ config.features ||= {};
263
+ config.features.remoteOverrides ||= {};
264
+ if (enabled) {
265
+ delete config.features.remoteOverrides[id];
266
+ return { ok: true, feature: getFeatureState(config, id, options) };
267
+ }
268
+ if (!remoteFeature.userOverridable) {
269
+ return { ok: false, error: `Feature "${id}" is controlled remotely and cannot be changed locally.` };
270
+ }
271
+ config.features.remoteOverrides[id] = "off";
272
+ return { ok: true, feature: getFeatureState(config, id, options) };
273
+ }
274
+ function formatFeatureList(config, options = {}) {
275
+ const states = listFeatureStates(config, options);
276
+ const idWidth = Math.max(...states.map((feature) => feature.id.length), "feature".length);
277
+ const sourceWidth = Math.max(...states.map((feature) => feature.source.length), "source".length);
278
+ const stageWidth = Math.max(...states.map((feature) => feature.stage.length), "stage".length);
279
+ return states.map((feature) => `${feature.id.padEnd(idWidth + 2)}${feature.source.padEnd(sourceWidth + 2)}${feature.stage.padEnd(stageWidth + 2)}${String(feature.enabled)}`).join("\n");
280
+ }
281
+ function formatFeatureStatus(config, id, options = {}) {
282
+ const feature = getFeatureState(config, id, options);
283
+ if (!feature) {
284
+ return `Unknown feature "${id}".`;
285
+ }
286
+ const restart = feature.requiresRestart ? "yes" : "no";
287
+ const lines = [
288
+ `${feature.id}`,
289
+ `Label: ${feature.label}`,
290
+ `Source: ${feature.source}`,
291
+ `Stage: ${feature.stage}`,
292
+ `Enabled: ${String(feature.enabled)}`,
293
+ `Config: ${feature.configPath || "remote"}`,
294
+ `Default: ${String(feature.defaultEnabled)}`,
295
+ `Restart required: ${restart}`,
296
+ `Description: ${feature.description}`
297
+ ];
298
+ if (feature.source === "remote") {
299
+ lines.push(
300
+ `Remote enabled: ${String(feature.remoteEnabled)}`,
301
+ `Local override: ${feature.localOverride || "none"}`,
302
+ `Reason: ${feature.reason || "unknown"}`,
303
+ `User overridable: ${String(feature.userOverridable !== false)}`,
304
+ `Last evaluated: ${feature.lastEvaluatedAt || "never"}`
305
+ );
306
+ }
307
+ return lines.join("\n");
308
+ }
309
+
310
+ export {
311
+ isAwsBedrockProviderEnabled,
312
+ isTokenUsageStatusEnabled,
313
+ isLocalFeatureId,
314
+ getFeatureState,
315
+ listFeatureStates,
316
+ setFeatureState,
317
+ formatFeatureList,
318
+ formatFeatureStatus
319
+ };
320
+ /**
321
+ * @license
322
+ * Copyright 2026 Autohand AI LLC
323
+ * SPDX-License-Identifier: Apache-2.0
324
+ */
@@ -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 _chunk7MU7LWF3cjs = require('./chunk-7MU7LWF3.cjs');
3
+ var _chunkGYLGCR6Fcjs = require('./chunk-GYLGCR6F.cjs');
4
4
 
5
5
 
6
- var _chunkREMGR23Vcjs = require('./chunk-REMGR23V.cjs');
6
+ var _chunkCSUGNNJYcjs = require('./chunk-CSUGNNJY.cjs');
7
7
 
8
8
 
9
9
 
10
- var _chunkE26KKI46cjs = require('./chunk-E26KKI46.cjs');
10
+ var _chunk3JURXAL6cjs = require('./chunk-3JURXAL6.cjs');
11
11
 
12
12
 
13
- var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
13
+ var _chunkRJCZLFHEcjs = require('./chunk-RJCZLFHE.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: _chunkCHI52KFRcjs.t.call(void 0, "commands.feedback.description"),
21
+ description: _chunkRJCZLFHEcjs.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 = `${_chunkE26KKI46cjs.AUTOHAND_PATHS.feedback}/cooldown.json`;
28
+ var COOLDOWN_STATE_PATH = `${_chunk3JURXAL6cjs.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(_chunkE26KKI46cjs.AUTOHAND_PATHS.feedback);
59
+ await _fsextra2.default.ensureDir(_chunk3JURXAL6cjs.AUTOHAND_PATHS.feedback);
60
60
  await _fsextra2.default.writeJson(COOLDOWN_STATE_PATH, state, { spaces: 2 });
61
61
  } catch (e2) {
62
62
  }
@@ -68,7 +68,7 @@ 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 _chunk7MU7LWF3cjs.safePrompt.call(void 0, [
71
+ const ratingAnswer = await _chunkGYLGCR6Fcjs.safePrompt.call(void 0, [
72
72
  {
73
73
  type: "select",
74
74
  name: "rating",
@@ -96,7 +96,7 @@ async function feedback(_ctx) {
96
96
  let improvement;
97
97
  let recommend;
98
98
  if (npsScore >= 4) {
99
- const reasonAnswer = await _chunk7MU7LWF3cjs.safePrompt.call(void 0, [
99
+ const reasonAnswer = await _chunkGYLGCR6Fcjs.safePrompt.call(void 0, [
100
100
  {
101
101
  type: "input",
102
102
  name: "reason",
@@ -108,7 +108,7 @@ async function feedback(_ctx) {
108
108
  return null;
109
109
  }
110
110
  reason = _optionalChain([reasonAnswer, 'access', _ => _.reason, 'optionalAccess', _2 => _2.trim, 'call', _3 => _3()]) || void 0;
111
- const recommendAnswer = await _chunk7MU7LWF3cjs.safePrompt.call(void 0, [
111
+ const recommendAnswer = await _chunkGYLGCR6Fcjs.safePrompt.call(void 0, [
112
112
  {
113
113
  type: "select",
114
114
  name: "recommend",
@@ -125,7 +125,7 @@ async function feedback(_ctx) {
125
125
  }
126
126
  recommend = recommendAnswer.recommend === "yes";
127
127
  } else {
128
- const improvementAnswer = await _chunk7MU7LWF3cjs.safePrompt.call(void 0, [
128
+ const improvementAnswer = await _chunkGYLGCR6Fcjs.safePrompt.call(void 0, [
129
129
  {
130
130
  type: "input",
131
131
  name: "improvement",
@@ -149,7 +149,7 @@ async function feedback(_ctx) {
149
149
  triggerType: "manual",
150
150
  timestamp: now,
151
151
  deviceId,
152
- cliVersion: _chunkREMGR23Vcjs.package_default.version,
152
+ cliVersion: _chunkCSUGNNJYcjs.package_default.version,
153
153
  platform: process.platform,
154
154
  osVersion: _os2.default.release(),
155
155
  nodeVersion: process.version,
@@ -163,7 +163,7 @@ async function feedback(_ctx) {
163
163
  runtimeError: runtimeError ? formatError(runtimeError) : null
164
164
  };
165
165
  try {
166
- const feedbackPath = _chunkE26KKI46cjs.AUTOHAND_FILES.feedbackLog;
166
+ const feedbackPath = _chunk3JURXAL6cjs.AUTOHAND_FILES.feedbackLog;
167
167
  await _fsextra2.default.ensureFile(feedbackPath);
168
168
  await _fsextra2.default.appendFile(feedbackPath, JSON.stringify(payload) + "\n", "utf8");
169
169
  } catch (e3) {
@@ -172,7 +172,7 @@ async function feedback(_ctx) {
172
172
  const apiBaseUrl = getFeedbackApiBaseUrl(_ctx);
173
173
  const response = await sendFeedbackToApi(payload, apiBaseUrl);
174
174
  if (response.success) {
175
- console.log(_chalk2.default.green(_chunkCHI52KFRcjs.t.call(void 0, "commands.feedback.success")));
175
+ console.log(_chalk2.default.green(_chunkRJCZLFHEcjs.t.call(void 0, "commands.feedback.success")));
176
176
  } else {
177
177
  if (/rate limit/i.test(_nullishCoalesce(response.error, () => ( "")))) {
178
178
  console.log(_chalk2.default.yellow("Feedback saved locally (rate limited, will retry later)."));
@@ -197,7 +197,7 @@ async function sendFeedbackToApi(payload, apiBaseUrl) {
197
197
  method: "POST",
198
198
  headers: {
199
199
  "Content-Type": "application/json",
200
- "X-CLI-Version": _chunkREMGR23Vcjs.package_default.version,
200
+ "X-CLI-Version": _chunkCSUGNNJYcjs.package_default.version,
201
201
  "X-Device-ID": payload.deviceId
202
202
  },
203
203
  body: JSON.stringify(payload),
@@ -255,7 +255,7 @@ function truncateFeedbackError(text, max = 220) {
255
255
  return `${text.slice(0, Math.max(0, max - 1))}\u2026`;
256
256
  }
257
257
  async function getDeviceId() {
258
- const deviceIdPath = `${_chunkE26KKI46cjs.AUTOHAND_PATHS.feedback}/.device-id`;
258
+ const deviceIdPath = `${_chunk3JURXAL6cjs.AUTOHAND_PATHS.feedback}/.device-id`;
259
259
  try {
260
260
  if (await _fsextra2.default.pathExists(deviceIdPath)) {
261
261
  return (await _fsextra2.default.readFile(deviceIdPath, "utf8")).trim();
@@ -264,7 +264,7 @@ async function getDeviceId() {
264
264
  }
265
265
  const deviceId = `anon_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 10)}`;
266
266
  try {
267
- await _fsextra2.default.ensureDir(_chunkE26KKI46cjs.AUTOHAND_PATHS.feedback);
267
+ await _fsextra2.default.ensureDir(_chunk3JURXAL6cjs.AUTOHAND_PATHS.feedback);
268
268
  await _fsextra2.default.writeFile(deviceIdPath, deviceId);
269
269
  } catch (e6) {
270
270
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
3
+ var _chunkRJCZLFHEcjs = require('./chunk-RJCZLFHE.cjs');
4
4
 
5
5
  // src/commands/init.ts
6
6
  async function init(ctx) {
@@ -9,7 +9,7 @@ async function init(ctx) {
9
9
  }
10
10
  var metadata = {
11
11
  command: "/init",
12
- description: _chunkCHI52KFRcjs.t.call(void 0, "commands.init.description"),
12
+ description: _chunkRJCZLFHEcjs.t.call(void 0, "commands.init.description"),
13
13
  implemented: true
14
14
  };
15
15
 
@@ -1,15 +1,15 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
2
2
 
3
- var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
3
+ var _chunkRJCZLFHEcjs = require('./chunk-RJCZLFHE.cjs');
4
4
 
5
5
  // src/commands/import.ts
6
6
  var metadata = {
7
7
  command: "/import",
8
- description: _chunkCHI52KFRcjs.t.call(void 0, "commands.import.description") || "Import data from other coding agents",
8
+ description: _chunkRJCZLFHEcjs.t.call(void 0, "commands.import.description") || "Import data from other coding agents",
9
9
  implemented: true
10
10
  };
11
11
  async function execute(args) {
12
- const { runImport } = await Promise.resolve().then(() => _interopRequireWildcard(require("./import-I7T4ZHYL.cjs")));
12
+ const { runImport } = await Promise.resolve().then(() => _interopRequireWildcard(require("./import-2IG76KAN.cjs")));
13
13
  const source = args[0];
14
14
  const flags = args.slice(1);
15
15
  const all = flags.includes("--all");
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  showConfirm
3
- } from "./chunk-DLP436GI.js";
3
+ } from "./chunk-LOSXLH7P.js";
4
4
  import {
5
5
  AUTOHAND_PATHS,
6
6
  PROJECT_DIR_NAME
7
- } from "./chunk-TWQDAUZU.js";
7
+ } from "./chunk-PG2JIU5M.js";
8
8
  import {
9
9
  t
10
- } from "./chunk-CBFH2J3O.js";
10
+ } from "./chunk-SJQU2ZFR.js";
11
11
 
12
12
  // src/skills/communityInstaller.ts
13
13
  import crypto from "crypto";