autohand-cli 0.9.1 → 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 (432) hide show
  1. package/README.md +103 -79
  2. package/dist/AgentRegistry-BBQRODQC.cjs +18 -0
  3. package/dist/AgentRegistry-JBXZUPML.js +18 -0
  4. package/dist/{CommunitySkillsCache-ZACDPD4J.js → CommunitySkillsCache-CI7UN2DX.js} +2 -2
  5. package/dist/CommunitySkillsCache-XTQ6RMTA.cjs +8 -0
  6. package/dist/{HookManager-2S6AHOC3.js → HookManager-BELBPQQI.js} +1 -1
  7. package/dist/{HookManager-TVEQI5ZU.cjs → HookManager-ZL2CLAJW.cjs} +2 -2
  8. package/dist/{ImportWizard-AF2XL6DS.cjs → ImportWizard-U6CIJREW.cjs} +12 -12
  9. package/dist/{ImportWizard-AEBMAKXE.js → ImportWizard-VJFSWSUQ.js} +3 -3
  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-SJPY3ONR.js → NVIDIAProvider-AFNJNWJM.js} +1 -1
  15. package/dist/NVIDIAProvider-L5GTYRCQ.cjs +14 -0
  16. package/dist/{PermissionManager-MT7KBNNR.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-RB4RVAF6.js → ProviderFactory-XUT6BSGB.js} +4 -3
  20. package/dist/SessionManager-LGPQIA57.cjs +10 -0
  21. package/dist/{SessionManager-554PHVPC.js → SessionManager-OR4KDDDS.js} +2 -2
  22. package/dist/{SkillsRegistry-NHHMIUYJ.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/{about-3USFSGOH.js → about-OYVGQMJJ.js} +3 -3
  27. package/dist/{about-QR52U5DD.cjs → about-U2BH7HDR.cjs} +4 -4
  28. package/dist/{acp-5Y2W6OZP.js → acp-JWHGXZL5.js} +169 -103
  29. package/dist/{acp-GSYE75OB.cjs → acp-S37JOBCS.cjs} +184 -118
  30. package/dist/{actionExecutor-KHUU3Z3Q.cjs → actionExecutor-2QEPMELQ.cjs} +13 -13
  31. package/dist/{actionExecutor-PLQJZLZV.js → actionExecutor-6NCCORRB.js} +12 -12
  32. package/dist/add-dir-KFUHSIR2.cjs +11 -0
  33. package/dist/{add-dir-HCERJDBR.js → add-dir-MM2BM2Z2.js} +2 -2
  34. package/dist/agent-DUIYLIVN.js +132 -0
  35. package/dist/agent-YYEHGDAK.cjs +132 -0
  36. package/dist/agents-GBGG4CW7.cjs +19 -0
  37. package/dist/agents-ZH34C72F.js +19 -0
  38. package/dist/agents-new-ERXLS7SB.cjs +17 -0
  39. package/dist/{agents-new-7GAQ25EK.js → agents-new-EVTGPTA4.js} +6 -6
  40. package/dist/{autoSkill-66PKCYTW.js → autoSkill-HEWKJ5JV.js} +2 -2
  41. package/dist/autoSkill-YL6PN6AV.cjs +20 -0
  42. package/dist/automode-4BJ7FNPL.cjs +10 -0
  43. package/dist/{automode-BUF3VGXU.js → automode-S4U7A7Q2.js} +2 -2
  44. package/dist/chrome-45ZXHL5N.cjs +22 -0
  45. package/dist/{chrome-Y3T7EIHG.js → chrome-BBSRVG6S.js} +2 -2
  46. package/dist/chrome-IFVZRHAT.cjs +50 -0
  47. package/dist/chrome-MYE6DNA2.js +22 -0
  48. package/dist/{chunk-45CHNQM6.cjs → chunk-24CEJYEG.cjs} +93 -31
  49. package/dist/{chunk-6JWCGQJU.cjs → chunk-255GIVM2.cjs} +6 -6
  50. package/dist/{chunk-D546G7DA.cjs → chunk-2BDSR2OW.cjs} +98 -75
  51. package/dist/{chunk-PGFLPURU.js → chunk-2BPIR7LA.js} +121 -4
  52. package/dist/{chunk-AOKXYGBQ.cjs → chunk-2NY7OHBF.cjs} +41 -26
  53. package/dist/chunk-2WUNHTXL.js +303 -0
  54. package/dist/{chunk-PQBYFEBL.cjs → chunk-34B6ZO6W.cjs} +124 -7
  55. package/dist/{chunk-5JTTM5SC.js → chunk-3BJN7GAH.js} +1 -1
  56. package/dist/{chunk-3UC6DMFI.cjs → chunk-3CAXECWJ.cjs} +15 -15
  57. package/dist/{chunk-YWH55BWK.cjs → chunk-3CBYUBZC.cjs} +6 -9
  58. package/dist/chunk-3DF3GZQ7.js +277 -0
  59. package/dist/{chunk-KASXKDF2.cjs → chunk-3JURXAL6.cjs} +58 -7
  60. package/dist/{chunk-JV5HVCHU.cjs → chunk-3KWAP2Y3.cjs} +88 -9
  61. package/dist/{chunk-WPE2XHVX.js → chunk-3MCK6UBL.js} +1 -1
  62. package/dist/{chunk-U2QUMKCB.js → chunk-3TH7IK4M.js} +62 -9
  63. package/dist/{chunk-YXM6SA7P.js → chunk-3V77OB3W.js} +3 -3
  64. package/dist/{chunk-MZN6JBRZ.cjs → chunk-3Y5UEK7K.cjs} +4 -4
  65. package/dist/{chunk-BP37FVBM.js → chunk-4GPPSBEZ.js} +3 -3
  66. package/dist/{chunk-4XVLNOFA.js → chunk-5CMBAJ6K.js} +20 -3
  67. package/dist/{chunk-PNIAIOMZ.cjs → chunk-5YRXFBYZ.cjs} +35 -6
  68. package/dist/chunk-6AC2TT26.js +156 -0
  69. package/dist/{chunk-PSAH4ZQB.cjs → chunk-6EIQ6A6U.cjs} +2 -2
  70. package/dist/{chunk-YQDI753V.js → chunk-6HSEDXVF.js} +4 -4
  71. package/dist/{chunk-O5GI6SR3.js → chunk-6NUXK62F.js} +1 -1
  72. package/dist/{chunk-HVCIB4SW.cjs → chunk-6TGCAPYH.cjs} +62 -9
  73. package/dist/{chunk-HZWU6IO3.js → chunk-6W3SZCSP.js} +2 -5
  74. package/dist/{chunk-Q3BS6FPM.js → chunk-73LV3DDZ.js} +4 -4
  75. package/dist/{chunk-ZNGRLCFQ.js → chunk-7BGGLIQF.js} +83 -1
  76. package/dist/{chunk-ZNYZB7XY.cjs → chunk-7EEK7CRR.cjs} +83 -1
  77. package/dist/{chunk-HK5A54AV.cjs → chunk-7TO3PDMV.cjs} +48 -4
  78. package/dist/chunk-7UU22RSH.cjs +277 -0
  79. package/dist/{chunk-XNIMSVS6.cjs → chunk-A3GAM6FM.cjs} +11 -11
  80. package/dist/{chunk-W5QLA6WP.cjs → chunk-A7DJU75T.cjs} +8 -8
  81. package/dist/{chunk-7XTUL7ZD.cjs → chunk-AAAO4ERQ.cjs} +9 -9
  82. package/dist/{chunk-M5DK524Z.js → chunk-AAJLMP57.js} +2 -2
  83. package/dist/chunk-ABR756QN.js +529 -0
  84. package/dist/{chunk-OIGYWOL6.js → chunk-APFGDIPD.js} +3 -1
  85. package/dist/{chunk-PTTZI4QZ.js → chunk-APQYRMYL.js} +4 -4
  86. package/dist/{chunk-CO2AADYU.cjs → chunk-AZKOIF2G.cjs} +55 -17
  87. package/dist/{chunk-P6SLT2F4.cjs → chunk-AZLHUPNC.cjs} +2 -2
  88. package/dist/chunk-B55VCYSQ.cjs +30 -0
  89. package/dist/{chunk-JMJRFSNJ.js → chunk-BLQUMSM3.js} +1 -1
  90. package/dist/{chunk-MGNXABSU.cjs → chunk-BXKPX6K4.cjs} +9 -9
  91. package/dist/{chunk-MQQH4XQH.cjs → chunk-C66FN2LP.cjs} +4 -4
  92. package/dist/{chunk-CECH6QQP.js → chunk-CH7KUFAS.js} +10 -10
  93. package/dist/{chunk-PIXQ2AVM.cjs → chunk-CILSXOPI.cjs} +17 -17
  94. package/dist/{chunk-IEPLQ47J.js → chunk-CM24K6ZT.js} +89 -12
  95. package/dist/chunk-CMEZ42F2.cjs +303 -0
  96. package/dist/{chunk-X5P6QQOB.cjs → chunk-CNQKIWIS.cjs} +100 -23
  97. package/dist/{chunk-AQ5PVHOC.cjs → chunk-CSUGNNJY.cjs} +4 -3
  98. package/dist/{chunk-QRQF3556.js → chunk-D6HB3H3L.js} +25 -10
  99. package/dist/{chunk-XZVDYC5U.js → chunk-D7AYKVKW.js} +2 -2
  100. package/dist/{chunk-3UHRCHKB.cjs → chunk-DLCXWOWT.cjs} +23 -23
  101. package/dist/{chunk-CK4HAHVY.cjs → chunk-DMM2BKSV.cjs} +118 -25
  102. package/dist/{chunk-SPQ7QIQ6.js → chunk-DW3DPV77.js} +1 -1
  103. package/dist/chunk-ECQD2QC3.cjs +33 -0
  104. package/dist/{chunk-SNDDZG5H.js → chunk-EEYOS3UC.js} +90 -70
  105. package/dist/{chunk-DGBPWODD.js → chunk-EF2EN5CR.js} +2 -2
  106. package/dist/{chunk-M7B7RRBK.cjs → chunk-EFXFURDY.cjs} +138 -51
  107. package/dist/chunk-EK34UZPB.cjs +40 -0
  108. package/dist/{chunk-CRTCZ4WL.cjs → chunk-FJR6EZLO.cjs} +3834 -2337
  109. package/dist/{chunk-TYBPTKFT.js → chunk-FPO7YNPQ.js} +1 -1
  110. package/dist/{chunk-X3TI5TJJ.js → chunk-FS4I6BNR.js} +1 -1
  111. package/dist/{chunk-WNJXIACY.js → chunk-FSJ2MNOC.js} +3 -3
  112. package/dist/{chunk-44ZWOBTI.js → chunk-GEHZMC4G.js} +12 -9
  113. package/dist/{chunk-Y5BDE24P.cjs → chunk-GO6C2RAR.cjs} +3 -0
  114. package/dist/{chunk-XW3XCK4E.cjs → chunk-GSMR6V36.cjs} +4 -4
  115. package/dist/{chunk-H426KOGY.js → chunk-GSZWATME.js} +1 -1
  116. package/dist/{chunk-S5JNQIGL.cjs → chunk-GYLGCR6F.cjs} +5 -5
  117. package/dist/{chunk-ONVYXTUT.cjs → chunk-H3OOWNYQ.cjs} +3 -3
  118. package/dist/{chunk-V5ELP2XE.js → chunk-H65446XW.js} +110 -15
  119. package/dist/{chunk-LANGD5CO.js → chunk-H7HXRRHK.js} +45 -1
  120. package/dist/{chunk-RBXBH6EB.cjs → chunk-HN2JTDN5.cjs} +17 -17
  121. package/dist/{chunk-SOVR7S3T.cjs → chunk-HNXUZ5OY.cjs} +2 -2
  122. package/dist/{chunk-AZ47LKD5.cjs → chunk-HOYT3E65.cjs} +3 -3
  123. package/dist/{chunk-P4FUTSVK.js → chunk-HTPY5ESD.js} +3 -3
  124. package/dist/{chunk-5SFV2NCY.cjs → chunk-HVLWH2AF.cjs} +10 -10
  125. package/dist/{chunk-VQHSYAPZ.cjs → chunk-HZTEU4W5.cjs} +62 -93
  126. package/dist/{chunk-4XFHP2SN.cjs → chunk-I5T7LPFP.cjs} +7 -7
  127. package/dist/{chunk-ZPLCAXJW.js → chunk-IB5CJXE7.js} +7 -7
  128. package/dist/{chunk-KM7R5YPS.cjs → chunk-INNXFLDR.cjs} +9 -6
  129. package/dist/{chunk-2ESQR35E.cjs → chunk-JFLEP3T7.cjs} +10 -10
  130. package/dist/chunk-JJGDOBFL.js +40 -0
  131. package/dist/{chunk-5A7ZL64N.js → chunk-JSU46T6K.js} +1 -1
  132. package/dist/{chunk-NB6M6ESM.js → chunk-K6WN6BT4.js} +1 -1
  133. package/dist/{chunk-QQ64HEHP.cjs → chunk-KIQH3SMT.cjs} +34 -31
  134. package/dist/{chunk-MANJ67D3.js → chunk-KPRXHIE2.js} +52 -83
  135. package/dist/{chunk-6HF6XSCC.js → chunk-LIO3RX2Z.js} +2 -2
  136. package/dist/{chunk-NZ3ZWLUW.js → chunk-LOSXLH7P.js} +109 -16
  137. package/dist/{chunk-NZ7GCK7Y.cjs → chunk-LSOR72PB.cjs} +23 -23
  138. package/dist/{chunk-6AYJCDTA.js → chunk-MA3AVDCC.js} +47 -9
  139. package/dist/{chunk-PZZMIYII.js → chunk-ME3S2WIR.js} +3 -3
  140. package/dist/{chunk-2IW5YFJ4.js → chunk-NC2I2M4P.js} +4 -4
  141. package/dist/{chunk-AE2ILW25.cjs → chunk-NC4A4LVC.cjs} +13 -13
  142. package/dist/{chunk-EEHWALXA.js → chunk-NGEK5FCJ.js} +85 -3
  143. package/dist/{chunk-MMKZSJUN.js → chunk-NKW6CHXQ.js} +1 -1
  144. package/dist/{chunk-JB3JCYBJ.js → chunk-NOWCRKP2.js} +4 -3
  145. package/dist/{chunk-3ZOOH44N.js → chunk-NUB2LMB6.js} +2 -2
  146. package/dist/chunk-O246MKIW.cjs +267 -0
  147. package/dist/{chunk-SRMGWMQO.js → chunk-OGFWL2PS.js} +1 -1
  148. package/dist/{chunk-YISPVAXO.cjs → chunk-ONNGAR6W.cjs} +340 -597
  149. package/dist/{chunk-7WAUCLLQ.js → chunk-OOFR6A62.js} +33 -4
  150. package/dist/{chunk-4E7SHPNQ.js → chunk-OZ7FHO7J.js} +2 -2
  151. package/dist/{chunk-NV6LCD2I.cjs → chunk-P5EWGUI2.cjs} +109 -27
  152. package/dist/{chunk-YC5OBZQU.js → chunk-P6BQJPAI.js} +41 -18
  153. package/dist/{chunk-SHRLFX6F.js → chunk-PG2JIU5M.js} +57 -6
  154. package/dist/{chunk-6OECOAK5.cjs → chunk-PI27G2ED.cjs} +25 -8
  155. package/dist/{chunk-TR6NECEZ.js → chunk-PI7LRPL6.js} +1 -1
  156. package/dist/{chunk-GAOPJ5S3.cjs → chunk-PMPEC5HN.cjs} +18 -15
  157. package/dist/{chunk-5GCQ5UMV.cjs → chunk-PYUP7AKY.cjs} +14 -14
  158. package/dist/{chunk-S5QKRA2V.js → chunk-QC5Z3ZT5.js} +2 -2
  159. package/dist/chunk-QDO4L2A7.cjs +156 -0
  160. package/dist/{chunk-LFDPTJYF.cjs → chunk-QDXRI5AM.cjs} +1 -1
  161. package/dist/{chunk-26G7YGOW.js → chunk-QVXMSQOG.js} +84 -21
  162. package/dist/{chunk-SVVP4UUZ.cjs → chunk-R4UKBKDY.cjs} +11 -11
  163. package/dist/{chunk-HG3ZASBH.cjs → chunk-R75AWII3.cjs} +112 -17
  164. package/dist/{chunk-TE4SYTWR.cjs → chunk-RD5PLUIX.cjs} +8 -8
  165. package/dist/{chunk-FFHSCM5M.js → chunk-RGB34CV5.js} +3 -3
  166. package/dist/{chunk-SY2P3Z5W.cjs → chunk-RJCZLFHE.cjs} +96 -32
  167. package/dist/{chunk-22SCR3EV.cjs → chunk-RKWNM2BJ.cjs} +2 -2
  168. package/dist/{chunk-FBQJZKFX.js → chunk-RMVONICR.js} +3 -3
  169. package/dist/{chunk-PY73W5MQ.cjs → chunk-RPSYRJL7.cjs} +10 -4
  170. package/dist/{chunk-HXHE2KAO.js → chunk-RWKU2X7O.js} +7 -4
  171. package/dist/{chunk-NQZH5CR2.cjs → chunk-RZLEGVMH.cjs} +102 -5
  172. package/dist/{chunk-KMP6Y3LJ.js → chunk-S2L3Y677.js} +1 -1
  173. package/dist/{chunk-GSDV75A5.js → chunk-S7KVUIOS.js} +1 -1
  174. package/dist/{chunk-7PT646AL.cjs → chunk-SACJJ6NO.cjs} +5 -3
  175. package/dist/{chunk-LEZEWKPA.js → chunk-SJQU2ZFR.js} +96 -32
  176. package/dist/{chunk-65LRPW5W.js → chunk-SKAQKQFF.js} +12 -2
  177. package/dist/chunk-T4DXP5OP.js +30 -0
  178. package/dist/{chunk-EYHKL4QC.js → chunk-T6FTB6K2.js} +1 -1
  179. package/dist/{chunk-DNSD7DVJ.js → chunk-T6N6GRFT.js} +13 -10
  180. package/dist/{chunk-575PXZX7.js → chunk-TJFKA6A7.js} +82 -3
  181. package/dist/{chunk-HSWWM6AM.js → chunk-TJZUPS4Z.js} +34 -291
  182. package/dist/{chunk-DHUQZ53B.cjs → chunk-TLKHZ425.cjs} +2 -2
  183. package/dist/{chunk-VLGGMQUN.cjs → chunk-TQ24NLXO.cjs} +6 -6
  184. package/dist/{chunk-LUMV3DB2.js → chunk-TWBAU46X.js} +1 -1
  185. package/dist/{chunk-EA2MS25U.cjs → chunk-TZB5XADL.cjs} +4 -4
  186. package/dist/{chunk-U6PLSPMD.cjs → chunk-UAYXZXWU.cjs} +4 -4
  187. package/dist/{chunk-OV3T5MUH.cjs → chunk-UKBFNBDO.cjs} +11 -11
  188. package/dist/{chunk-SZD45IDG.js → chunk-UMJYX5KD.js} +101 -4
  189. package/dist/{chunk-B76FJKEJ.cjs → chunk-USKYTHDL.cjs} +69 -18
  190. package/dist/{chunk-NZQFKXM3.cjs → chunk-VAJUSZMC.cjs} +15 -15
  191. package/dist/{chunk-SDLY4X3G.js → chunk-VGQG4NBJ.js} +2 -2
  192. package/dist/{chunk-KWXGDSYT.js → chunk-VLUIVJ3J.js} +58 -7
  193. package/dist/{chunk-KJ26T7GM.cjs → chunk-VOBINVMV.cjs} +105 -42
  194. package/dist/{chunk-C5QIQQ37.js → chunk-VSHKKCSH.js} +16 -5
  195. package/dist/{chunk-L46OUKW5.cjs → chunk-VSZU3MGA.cjs} +28 -17
  196. package/dist/{chunk-YFXTE422.cjs → chunk-VWHAUB77.cjs} +8 -3
  197. package/dist/{chunk-UWZ4G3SQ.js → chunk-VXGYFX45.js} +4 -4
  198. package/dist/{chunk-C46B72VK.js → chunk-WH6YUQDB.js} +141 -54
  199. package/dist/{chunk-SFFEKZGC.js → chunk-WQ6TD55V.js} +2 -2
  200. package/dist/{chunk-7PJKTSRN.js → chunk-WQWECXTY.js} +3 -3
  201. package/dist/{chunk-DSSCERHI.cjs → chunk-WVDJUJH6.cjs} +2 -2
  202. package/dist/{chunk-JPFRI4L4.js → chunk-X24VIVDZ.js} +210 -26
  203. package/dist/{chunk-7IRQ7JEH.js → chunk-X4NRTLXD.js} +7 -1
  204. package/dist/{chunk-7MY4JHER.js → chunk-X53SHYCG.js} +2 -2
  205. package/dist/{chunk-RFUKZIJF.cjs → chunk-XB2Z4ZAK.cjs} +5 -5
  206. package/dist/{chunk-WJYFLQ7G.cjs → chunk-Y47OJGLB.cjs} +3 -3
  207. package/dist/{chunk-HC2Q6A3E.cjs → chunk-Y4MN27V3.cjs} +361 -177
  208. package/dist/{chunk-ZK6HOR62.js → chunk-YEHFYZFU.js} +7 -2
  209. package/dist/{chunk-FFBDRUO5.cjs → chunk-YICIUY23.cjs} +1 -1
  210. package/dist/{chunk-63ANVAOJ.cjs → chunk-YMXYC777.cjs} +3 -3
  211. package/dist/{chunk-X7XMITIL.cjs → chunk-Z3GRWK6O.cjs} +8 -8
  212. package/dist/{chunk-3ICORF7M.cjs → chunk-Z5GG2KSL.cjs} +4 -4
  213. package/dist/{chunk-I2ZK3AOD.js → chunk-ZER7DYQK.js} +2 -2
  214. package/dist/{chunk-V3SZLWEQ.cjs → chunk-ZFDXZEZJ.cjs} +11 -11
  215. package/dist/{chunk-QBYGMMDD.js → chunk-ZFV4HJA6.js} +66 -4
  216. package/dist/chunk-ZHMYTI5D.cjs +529 -0
  217. package/dist/{chunk-4567QNRB.js → chunk-ZLR2TFBC.js} +3 -0
  218. package/dist/{chunk-OCATAKXV.cjs → chunk-ZTWNU5QZ.cjs} +20 -20
  219. package/dist/{chunk-CCIDL4SA.js → chunk-ZVLVLDYN.js} +2915 -1418
  220. package/dist/clear-AJGXD2BB.cjs +12 -0
  221. package/dist/{clear-Y5TO3RZA.js → clear-HAHDSWKW.js} +3 -3
  222. package/dist/communityInstaller-IRR6M3N6.cjs +22 -0
  223. package/dist/{communityInstaller-RVL4STPS.js → communityInstaller-OLKEUGMX.js} +5 -5
  224. package/dist/completion-G7Z436TF.cjs +17 -0
  225. package/dist/{completion-SE3XYG74.js → completion-ZS3AXJ6A.js} +4 -4
  226. package/dist/{config-7KPHKFTP.js → config-OWYAQPCX.js} +5 -4
  227. package/dist/config-W2BHT2QE.cjs +22 -0
  228. package/dist/{constants-EJFAWJQI.js → constants-AS6K67AA.js} +5 -3
  229. package/dist/constants-B4W5BT7F.cjs +23 -0
  230. package/dist/{export-BJVIDZC4.js → export-5HIU3KMD.js} +4 -4
  231. package/dist/export-GFD32UY2.cjs +15 -0
  232. package/dist/{extractSessionMemories-A2JX5WJ2.js → extractSessionMemories-K6ZVAW2F.js} +1 -1
  233. package/dist/{extractSessionMemories-XL3MS37F.cjs → extractSessionMemories-LLOIJR5U.cjs} +2 -2
  234. package/dist/feature-KP74CZ3F.cjs +14 -0
  235. package/dist/{feature-V4JF5TNJ.js → feature-OPNVMB2E.js} +2 -2
  236. package/dist/features-LT55MURX.cjs +24 -0
  237. package/dist/features-ZDIU26WX.js +24 -0
  238. package/dist/feedback-7WTJFQ6S.js +18 -0
  239. package/dist/feedback-CEOJ3453.cjs +18 -0
  240. package/dist/go-2CY5SZNR.js +16 -0
  241. package/dist/go-O2CSQON4.cjs +16 -0
  242. package/dist/goal-DL2N2AWT.cjs +16 -0
  243. package/dist/goal-IJS7VZSG.js +16 -0
  244. package/dist/help-RNOGDEBA.cjs +12 -0
  245. package/dist/{help-MLIROWKM.js → help-TCWD2IRH.js} +2 -2
  246. package/dist/{history-GQJ6RZD6.js → history-ATOR5OQV.js} +2 -2
  247. package/dist/history-UUSGX2AL.cjs +14 -0
  248. package/dist/{hooks-PPFHCF7T.js → hooks-R3Z5QKUP.js} +5 -5
  249. package/dist/hooks-RWM5UY67.cjs +18 -0
  250. package/dist/{i18n-Q7UZJRPL.js → i18n-4QI4TD4I.js} +1 -1
  251. package/dist/i18n-MFAEU5RV.cjs +33 -0
  252. package/dist/{ide-BUSVE54P.js → ide-6PBTCCUQ.js} +4 -4
  253. package/dist/ide-UE3G7NMQ.cjs +15 -0
  254. package/dist/{import-C7S6UJMW.cjs → import-2IG76KAN.cjs} +6 -4
  255. package/dist/{import-U47DXCA7.js → import-E47QL4DW.js} +2 -2
  256. package/dist/import-NQDNBFUL.cjs +10 -0
  257. package/dist/{import-3VBKI6BN.js → import-VQIHGJWS.js} +6 -4
  258. package/dist/index.cjs +444 -334
  259. package/dist/index.d.cts +38 -0
  260. package/dist/index.d.ts +38 -0
  261. package/dist/index.js +324 -214
  262. package/dist/init-DX3RDGDT.cjs +10 -0
  263. package/dist/{init-Q2O4R42R.js → init-Q54OAAFZ.js} +2 -2
  264. package/dist/{inputPrompt-3CFZDUBH.js → inputPrompt-V2VBDRM7.js} +2 -2
  265. package/dist/inputPrompt-WVGVWAHS.cjs +90 -0
  266. package/dist/language-I6KXAOXD.js +23 -0
  267. package/dist/language-XMIVOH5E.cjs +23 -0
  268. package/dist/learn-JPVVGTKU.js +23 -0
  269. package/dist/learn-NLSHI2MZ.cjs +23 -0
  270. package/dist/login-NABQYLYC.cjs +28 -0
  271. package/dist/login-XPOVFSWN.js +28 -0
  272. package/dist/logout-HNHCGB4Q.js +25 -0
  273. package/dist/logout-SKGDXJSW.cjs +25 -0
  274. package/dist/{mcp-AH3MMUBU.js → mcp-EN73YFGZ.js} +8 -7
  275. package/dist/mcp-TADZCPJQ.cjs +22 -0
  276. package/dist/{mcp-install-IA4ZS2SV.cjs → mcp-install-2GKWWBAS.cjs} +14 -13
  277. package/dist/{mcp-install-222PCKSW.js → mcp-install-3TBTVSHW.js} +9 -8
  278. package/dist/memory-GRXFTDIN.cjs +10 -0
  279. package/dist/{memory-VB46T5H3.js → memory-K2P3CDCH.js} +2 -2
  280. package/dist/{model-SJJG64AM.js → model-DEG22OWA.js} +2 -2
  281. package/dist/model-OSD74T7Z.cjs +10 -0
  282. package/dist/new-4NWBOATU.cjs +12 -0
  283. package/dist/{new-ERZ5C6CN.js → new-KJAP2MB6.js} +3 -3
  284. package/dist/{onboarding-ZQXMPSMJ.js → onboarding-2U5WE2OA.js} +17 -14
  285. package/dist/onboarding-5DZFCO5Q.cjs +39 -0
  286. package/dist/permissions-KY5I6YQ3.cjs +10 -0
  287. package/dist/{permissions-7ACNFK7A.js → permissions-TKYON7PP.js} +2 -2
  288. package/dist/{plan-YYUAXPTL.js → plan-DYHHLZSS.js} +1 -1
  289. package/dist/plan-PYKP652W.cjs +13 -0
  290. package/dist/quit-GSKJL42O.js +14 -0
  291. package/dist/quit-TQSRTBUT.cjs +14 -0
  292. package/dist/{registry-4DXUDKJN.js → registry-EZ4V4TUQ.js} +1339 -1
  293. package/dist/{registry-UEO3ETZ7.cjs → registry-LCWYI4IB.cjs} +1378 -40
  294. package/dist/resume-4VWJXARX.cjs +17 -0
  295. package/dist/{resume-XSXZMDMD.js → resume-TLHWWWFN.js} +5 -5
  296. package/dist/{review-QHP2KP4Q.js → review-CSK4IYTO.js} +1 -1
  297. package/dist/review-XLJEUH5K.cjs +9 -0
  298. package/dist/{rpc-XH7QLN4H.js → rpc-3DLQBDWU.js} +151 -124
  299. package/dist/{rpc-YF54T7JU.cjs → rpc-O36WUU3L.cjs} +169 -142
  300. package/dist/search-DSX2CY4A.cjs +22 -0
  301. package/dist/search-I3QUDUQL.js +22 -0
  302. package/dist/sessionBranching-DVNOUWJT.cjs +19 -0
  303. package/dist/sessionBranching-FKV4CR36.js +19 -0
  304. package/dist/sessions-3JUOT3ED.cjs +10 -0
  305. package/dist/{sessions-NJYHJOEL.js → sessions-VWMDIPOS.js} +2 -2
  306. package/dist/{settings-ZXUQH3DO.js → settings-FT2LZZUV.js} +11 -8
  307. package/dist/settings-RL4KNWHB.cjs +45 -0
  308. package/dist/setup-HQEJVOYT.js +32 -0
  309. package/dist/setup-MN54LKOL.cjs +32 -0
  310. package/dist/share-BUAFZNBX.cjs +17 -0
  311. package/dist/{share-WFAGZ5PY.js → share-CGB6MAVJ.js} +6 -6
  312. package/dist/skills/builtin/code-reviewer/SKILL.md +64 -0
  313. package/dist/skills/builtin/goal-writer/SKILL.md +124 -0
  314. package/dist/{skills-NBTNDVAY.js → skills-7DKR3HRZ.js} +7 -7
  315. package/dist/{skills-OB6RDW7D.js → skills-BBBENOEY.js} +9 -9
  316. package/dist/skills-OQM7IHAF.cjs +29 -0
  317. package/dist/{skills-ZROBG3RZ.cjs → skills-RA2PKL63.cjs} +9 -9
  318. package/dist/{skills-install-ILX6QVEF.cjs → skills-install-D7K476SL.cjs} +15 -15
  319. package/dist/{skills-install-BHTIEMKH.js → skills-install-T4SOKJSL.js} +8 -8
  320. package/dist/{skills-new-YMRP2HNO.js → skills-new-S33NGEU3.js} +6 -6
  321. package/dist/skills-new-UVYH53MD.cjs +18 -0
  322. package/dist/slashCommands-MWOUDSQP.js +111 -0
  323. package/dist/slashCommands-XASURUTV.cjs +111 -0
  324. package/dist/squad-PIIYDFVH.cjs +15 -0
  325. package/dist/squad-VHYOVEJP.js +15 -0
  326. package/dist/status-GHFTXQBL.js +25 -0
  327. package/dist/status-WXMIJIU3.cjs +25 -0
  328. package/dist/statusline-2K7AC6ZQ.js +21 -0
  329. package/dist/statusline-GROI4HOC.cjs +21 -0
  330. package/dist/sync-254WF6JI.cjs +42 -0
  331. package/dist/sync-2DIZN4EH.cjs +24 -0
  332. package/dist/{sync-OCJN4ZSO.js → sync-J6I2ZUKQ.js} +5 -3
  333. package/dist/{sync-7C25MOT2.js → sync-Z3LVSEEV.js} +8 -6
  334. package/dist/{teammate-D77B6QRT.cjs → teammate-EXR76PEQ.cjs} +5 -5
  335. package/dist/{teammate-EZCMHOIL.js → teammate-K4DAOFEQ.js} +5 -5
  336. package/dist/theme-MVQDSU47.js +23 -0
  337. package/dist/theme-QAKEYWJG.cjs +23 -0
  338. package/dist/ui/questionModal.cjs +5 -5
  339. package/dist/ui/questionModal.js +4 -4
  340. package/dist/{undo-GNUTFXCW.js → undo-5AU47JHF.js} +2 -2
  341. package/dist/undo-ME6WKUXZ.cjs +10 -0
  342. package/dist/{usage-QSTNSDAO.js → usage-QTKO2YMD.js} +6 -5
  343. package/dist/usage-TYNJKVER.cjs +25 -0
  344. package/package.json +4 -3
  345. package/dist/AgentRegistry-GOV7FN2O.js +0 -10
  346. package/dist/AgentRegistry-J2C6JBZ3.cjs +0 -10
  347. package/dist/CommunitySkillsCache-22BB3J6H.cjs +0 -8
  348. package/dist/LearnAdvisor-KKEQ5QCV.js +0 -9
  349. package/dist/LearnAdvisor-Q7RAYLPF.cjs +0 -9
  350. package/dist/MemoryManager-PMNAEZMB.cjs +0 -8
  351. package/dist/MemoryManager-QZRLTUB5.js +0 -8
  352. package/dist/NVIDIAProvider-C3FWQOBZ.cjs +0 -14
  353. package/dist/PermissionManager-URCNP5EC.cjs +0 -11
  354. package/dist/ProviderFactory-56N3ECE4.cjs +0 -12
  355. package/dist/SessionManager-2IZGWASQ.cjs +0 -10
  356. package/dist/SkillsRegistry-GMRVONOQ.cjs +0 -9
  357. package/dist/SubAgent-4GOR2FIJ.js +0 -13
  358. package/dist/SubAgent-ZJMDH4FI.cjs +0 -13
  359. package/dist/add-dir-BTAD5OZS.cjs +0 -11
  360. package/dist/agent-B3EVT7NN.cjs +0 -126
  361. package/dist/agent-SATQ3WZ3.js +0 -126
  362. package/dist/agents-44CRJGM7.cjs +0 -18
  363. package/dist/agents-NN4ZAJ7R.js +0 -18
  364. package/dist/agents-new-6D6G4QS6.cjs +0 -17
  365. package/dist/autoSkill-VQLGBELN.cjs +0 -20
  366. package/dist/automode-45DWV4TN.cjs +0 -10
  367. package/dist/chrome-Q2U73HZB.cjs +0 -50
  368. package/dist/chrome-Q54OALOK.cjs +0 -21
  369. package/dist/chrome-ZNJ46OYW.js +0 -21
  370. package/dist/chunk-JCUHCH37.cjs +0 -247
  371. package/dist/chunk-VKOXFT4L.cjs +0 -23
  372. package/dist/clear-QJXU25IF.cjs +0 -12
  373. package/dist/communityInstaller-LXMVKVAV.cjs +0 -22
  374. package/dist/completion-JX4T2ONW.cjs +0 -17
  375. package/dist/config-3224PRW4.cjs +0 -21
  376. package/dist/constants-MCCGUU5F.cjs +0 -21
  377. package/dist/export-KU4557HK.cjs +0 -15
  378. package/dist/feature-K3LG5IJP.cjs +0 -14
  379. package/dist/features-5OJTLKS7.js +0 -23
  380. package/dist/features-VCBJQXCX.cjs +0 -23
  381. package/dist/feedback-D4437VE4.js +0 -18
  382. package/dist/feedback-VZPEHGFY.cjs +0 -18
  383. package/dist/go-X4E6BCD6.js +0 -12
  384. package/dist/go-XREVFS5I.cjs +0 -12
  385. package/dist/goal-4M3J6JS2.cjs +0 -16
  386. package/dist/goal-EI66BV7W.js +0 -16
  387. package/dist/help-GGFS7WHY.cjs +0 -12
  388. package/dist/history-J4LUIOSI.cjs +0 -14
  389. package/dist/hooks-FSRIUS6A.cjs +0 -18
  390. package/dist/i18n-CI6VFXL5.cjs +0 -33
  391. package/dist/ide-YR27BPGM.cjs +0 -15
  392. package/dist/import-DBK4OCDF.cjs +0 -10
  393. package/dist/init-OXTYS72D.cjs +0 -10
  394. package/dist/inputPrompt-JMACL4EB.cjs +0 -90
  395. package/dist/language-EK3M6UBV.cjs +0 -22
  396. package/dist/language-Q3RUGGOW.js +0 -22
  397. package/dist/learn-3DSX7DYG.cjs +0 -23
  398. package/dist/learn-OPOH5L43.js +0 -23
  399. package/dist/login-GST7MWXJ.cjs +0 -27
  400. package/dist/login-Q7DZKAX4.js +0 -27
  401. package/dist/logout-2G7OUK7I.cjs +0 -24
  402. package/dist/logout-FNBBL2UI.js +0 -24
  403. package/dist/mcp-DW7R63IB.cjs +0 -21
  404. package/dist/memory-6NX3DAIY.cjs +0 -10
  405. package/dist/model-64NAELFS.cjs +0 -10
  406. package/dist/new-DU5SOOOY.cjs +0 -12
  407. package/dist/onboarding-2U2BV2KE.cjs +0 -36
  408. package/dist/permissions-GSNNV7RJ.cjs +0 -10
  409. package/dist/plan-XEJMOT55.cjs +0 -13
  410. package/dist/quit-WY6T267G.js +0 -10
  411. package/dist/quit-XIRE2KRE.cjs +0 -10
  412. package/dist/resume-RQZ3WXBP.cjs +0 -17
  413. package/dist/review-UWHWQHCB.cjs +0 -9
  414. package/dist/search-VXXFGZWU.cjs +0 -21
  415. package/dist/search-YAWGX7P7.js +0 -21
  416. package/dist/sessions-OSG3UJEZ.cjs +0 -10
  417. package/dist/settings-SO2UIGWV.cjs +0 -42
  418. package/dist/setup-KG7EGKF5.js +0 -30
  419. package/dist/setup-RSOPCQ57.cjs +0 -30
  420. package/dist/share-ZU3SGACF.cjs +0 -17
  421. package/dist/skills-KBVAQAD2.cjs +0 -29
  422. package/dist/skills-new-B45VQ2PP.cjs +0 -18
  423. package/dist/slashCommands-53VYIBJU.js +0 -105
  424. package/dist/slashCommands-BG2RGGZ6.cjs +0 -105
  425. package/dist/status-CQ2IUOVK.cjs +0 -24
  426. package/dist/status-E7IGNVPC.js +0 -24
  427. package/dist/sync-XRP46IVG.cjs +0 -40
  428. package/dist/sync-ZMFVE7T4.cjs +0 -22
  429. package/dist/theme-KKRDE6P7.cjs +0 -22
  430. package/dist/theme-XF7XIWBQ.js +0 -22
  431. package/dist/undo-U4KN7QQM.cjs +0 -10
  432. package/dist/usage-YDEMQBNQ.cjs +0 -24
@@ -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; } var _class;
2
2
 
3
- var _chunkAQ5PVHOCcjs = require('./chunk-AQ5PVHOC.cjs');
3
+ var _chunkCSUGNNJYcjs = require('./chunk-CSUGNNJY.cjs');
4
4
 
5
5
 
6
6
 
7
- var _chunkCK4HAHVYcjs = require('./chunk-CK4HAHVY.cjs');
7
+ var _chunkDMM2BKSVcjs = require('./chunk-DMM2BKSV.cjs');
8
8
 
9
9
 
10
- var _chunkKASXKDF2cjs = require('./chunk-KASXKDF2.cjs');
10
+ var _chunk3JURXAL6cjs = require('./chunk-3JURXAL6.cjs');
11
11
 
12
12
 
13
- var _chunkSY2P3Z5Wcjs = require('./chunk-SY2P3Z5W.cjs');
13
+ var _chunkRJCZLFHEcjs = require('./chunk-RJCZLFHE.cjs');
14
14
 
15
15
  // src/commands/share.ts
16
16
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
@@ -180,7 +180,7 @@ function serializeSession(session, options) {
180
180
  const toolUsage = extractToolUsage(messages);
181
181
  const gitDiff = options.gitDiff ? parseGitDiff(options.gitDiff) : void 0;
182
182
  const client = {
183
- cliVersion: _chunkAQ5PVHOCcjs.package_default.version,
183
+ cliVersion: _chunkCSUGNNJYcjs.package_default.version,
184
184
  platform: process.platform,
185
185
  deviceId: options.deviceId
186
186
  };
@@ -216,7 +216,7 @@ var DEFAULT_CONFIG = {
216
216
  // 30s for large payloads
217
217
  maxRetries: 3,
218
218
  offlineQueue: true,
219
- cliVersion: _chunkAQ5PVHOCcjs.package_default.version
219
+ cliVersion: _chunkCSUGNNJYcjs.package_default.version
220
220
  };
221
221
  var ShareApiClient = (_class = class {
222
222
 
@@ -225,9 +225,9 @@ var ShareApiClient = (_class = class {
225
225
  __init() {this.deviceId = null}
226
226
  constructor(configOverrides) {;_class.prototype.__init.call(this);
227
227
  this.config = { ...DEFAULT_CONFIG, ...configOverrides };
228
- const dataDir = _path2.default.join(_chunkKASXKDF2cjs.AUTOHAND_PATHS.config, "share");
228
+ const dataDir = _path2.default.join(_chunk3JURXAL6cjs.AUTOHAND_PATHS.config, "share");
229
229
  this.queuePath = _path2.default.join(dataDir, "queue.json");
230
- this.deviceIdPath = _path2.default.join(_chunkKASXKDF2cjs.AUTOHAND_PATHS.feedback, ".device-id");
230
+ this.deviceIdPath = _path2.default.join(_chunk3JURXAL6cjs.AUTOHAND_PATHS.feedback, ".device-id");
231
231
  }
232
232
  // ============ Device ID ============
233
233
  /**
@@ -458,7 +458,7 @@ function terminalLink(url, text) {
458
458
  }
459
459
  var metadata = {
460
460
  command: "/share",
461
- description: _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.share.description"),
461
+ description: _chunkRJCZLFHEcjs.t.call(void 0, "commands.share.description"),
462
462
  implemented: true
463
463
  };
464
464
  async function execute(_args, context) {
@@ -503,7 +503,7 @@ async function execute(_args, context) {
503
503
  { label: "Public - Anyone with the link can view", value: "public" },
504
504
  { label: "Private - Requires one-time passcode", value: "private" }
505
505
  ];
506
- const visibilityResult = await _chunkCK4HAHVYcjs.showModal.call(void 0, {
506
+ const visibilityResult = await _chunkDMM2BKSVcjs.showModal.call(void 0, {
507
507
  title: "Share visibility:",
508
508
  options: visibilityOptions
509
509
  });
@@ -512,7 +512,7 @@ async function execute(_args, context) {
512
512
  return;
513
513
  }
514
514
  const visibility = visibilityResult.value;
515
- const confirmed = await _chunkCK4HAHVYcjs.showConfirm.call(void 0, {
515
+ const confirmed = await _chunkDMM2BKSVcjs.showConfirm.call(void 0, {
516
516
  title: `Share this session as ${visibility}?`,
517
517
  defaultValue: true
518
518
  });
@@ -536,7 +536,7 @@ async function execute(_args, context) {
536
536
  const inputTokens = _nullishCoalesce(_optionalChain([context, 'access', _18 => _18.getInputTokensUsed, 'optionalCall', _19 => _19()]), () => ( 0));
537
537
  const outputTokens = _nullishCoalesce(_optionalChain([context, 'access', _20 => _20.getOutputTokensUsed, 'optionalCall', _21 => _21()]), () => ( 0));
538
538
  console.log();
539
- const spinner = _ora2.default.call(void 0, _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.share.generating")).start();
539
+ const spinner = _ora2.default.call(void 0, _chunkRJCZLFHEcjs.t.call(void 0, "commands.share.generating")).start();
540
540
  try {
541
541
  const payload = serializeSession(session, {
542
542
  model: context.model,
@@ -553,7 +553,7 @@ async function execute(_args, context) {
553
553
  spinner.stop();
554
554
  if (response.success && response.url) {
555
555
  console.log();
556
- console.log(_chalk2.default.green.bold(_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.share.success", { url: terminalLink(response.url) })));
556
+ console.log(_chalk2.default.green.bold(_chunkRJCZLFHEcjs.t.call(void 0, "commands.share.success", { url: terminalLink(response.url) })));
557
557
  if (visibility === "private" && response.passcode) {
558
558
  console.log();
559
559
  console.log(`${_chalk2.default.bold("Passcode:")} ${_chalk2.default.yellow.bold(response.passcode)}`);
@@ -567,14 +567,14 @@ async function execute(_args, context) {
567
567
  } else {
568
568
  console.log();
569
569
  console.log(
570
- _chalk2.default.red(_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.share.failed", { error: response.error || "Unknown error" }))
570
+ _chalk2.default.red(_chunkRJCZLFHEcjs.t.call(void 0, "commands.share.failed", { error: response.error || "Unknown error" }))
571
571
  );
572
572
  console.log();
573
573
  }
574
574
  } catch (error) {
575
575
  spinner.stop();
576
576
  console.log();
577
- console.log(_chalk2.default.red(_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.share.failed", { error: error.message })));
577
+ console.log(_chalk2.default.red(_chunkRJCZLFHEcjs.t.call(void 0, "commands.share.failed", { error: error.message })));
578
578
  console.log();
579
579
  }
580
580
  }
@@ -2,10 +2,10 @@ import {
2
2
  showConfirm,
3
3
  showInput,
4
4
  showModal
5
- } from "./chunk-NZ3ZWLUW.js";
5
+ } from "./chunk-LOSXLH7P.js";
6
6
  import {
7
7
  t
8
- } from "./chunk-LEZEWKPA.js";
8
+ } from "./chunk-SJQU2ZFR.js";
9
9
 
10
10
  // src/commands/export.ts
11
11
  import chalk from "chalk";
@@ -1,18 +1,19 @@
1
1
  import {
2
2
  GoalManager
3
- } from "./chunk-SZD45IDG.js";
3
+ } from "./chunk-UMJYX5KD.js";
4
4
  import {
5
5
  GOAL_FEATURE_DISABLED_MESSAGE,
6
6
  resolveGoalFeatureEnabled
7
- } from "./chunk-7MY4JHER.js";
7
+ } from "./chunk-X53SHYCG.js";
8
8
 
9
9
  // src/commands/goal.ts
10
10
  import chalk from "chalk";
11
11
  var metadata = {
12
12
  command: "/goal",
13
- description: "Create, inspect, pause, resume, complete, clear, and queue persistent goals",
13
+ description: "Create, inspect, refine, pause, resume, complete, clear, and queue persistent goals",
14
14
  implemented: true,
15
15
  subcommands: [
16
+ { name: "writer", description: "Interview the user and draft a stronger goal before creating it" },
16
17
  { name: "queue", description: "List queued goals or enqueue a goal" },
17
18
  { name: "pause", description: "Pause the current goal" },
18
19
  { name: "resume", description: "Resume a paused or queued goal" },
@@ -29,11 +30,19 @@ async function goal(ctx, args = []) {
29
30
  const manager = new GoalManager(ctx.workspaceRoot);
30
31
  const input = args.join(" ").trim();
31
32
  if (!input) {
32
- return formatSnapshot(await manager.getSnapshot());
33
+ const snapshot = await manager.getSnapshot();
34
+ if (!snapshot.goal && snapshot.queue.length === 0) {
35
+ return startGoalWriter(ctx);
36
+ }
37
+ return formatSnapshot(snapshot);
33
38
  }
34
39
  const [subcommand, ...restArgs] = args;
35
40
  const rest = restArgs.join(" ").trim();
36
41
  switch (subcommand?.toLowerCase()) {
42
+ case "writer":
43
+ case "write":
44
+ case "refine":
45
+ return startGoalWriter(ctx, rest);
37
46
  case "queue":
38
47
  return handleQueue(manager, rest);
39
48
  case "pause":
@@ -53,8 +62,13 @@ async function goal(ctx, args = []) {
53
62
  }
54
63
  return formatMutation(resumed);
55
64
  }
56
- case "complete":
57
- return formatMutation(await manager.updateGoal({ status: "complete" }));
65
+ case "complete": {
66
+ const completed = await manager.updateGoal({ status: "complete" });
67
+ if (completed.ok && completed.started && completed.goal?.status === "active") {
68
+ queueGoalContinuation(ctx, completed.goal.objective);
69
+ }
70
+ return formatMutation(completed);
71
+ }
58
72
  case "clear":
59
73
  return formatMutation(await manager.clearGoal());
60
74
  case "templates": {
@@ -73,6 +87,7 @@ async function goal(ctx, args = []) {
73
87
  if (!resolved.ok) return chalk.yellow(resolved.message);
74
88
  const created = await manager.createGoal(resolved.input, { replace: false });
75
89
  if (created.ok && created.goal) {
90
+ await emitGoalWrittenCompleted(ctx, created.goal, "slash");
76
91
  queueGoalContinuation(ctx, created.goal.objective);
77
92
  }
78
93
  return formatMutation(created);
@@ -89,6 +104,28 @@ async function runGoalCli(workspaceRoot, rawInput, config) {
89
104
  const args = input.match(/"[^"]*"|'[^']*'|\S+/g)?.map(unquote) ?? [];
90
105
  return goal({ workspaceRoot }, args);
91
106
  }
107
+ function startGoalWriter(ctx, roughGoal) {
108
+ const activated = ctx.skillsRegistry?.activateSkill("goal-writer") ?? false;
109
+ const roughGoalText = roughGoal?.trim() || "No rough goal was provided yet.";
110
+ ctx.queueInstruction?.([
111
+ "Activate the built-in goal-writer skill and use it to help the user draft one or more stronger /goal objectives.",
112
+ "Interview the user with follow-up questions when the finish line, proof, boundaries, loop, or stop rule is unclear.",
113
+ "Show every full drafted objective and get explicit user approval before calling create_goal. If more than one goal is approved, call create_goal for each one in order so later goals are queued.",
114
+ `Rough goal request: ${roughGoalText}`
115
+ ].join("\n"));
116
+ return [
117
+ "Goal writer started.",
118
+ activated ? "The built-in $goal-writer skill is active for the next turn." : "The next turn will use the built-in $goal-writer skill instructions if available.",
119
+ "Answer the follow-up questions to create a completion contract with proof, boundaries, and a stop rule."
120
+ ].join("\n");
121
+ }
122
+ async function emitGoalWrittenCompleted(ctx, goalState, source) {
123
+ await ctx.hookManager?.executeHooks("goal-written:completed", {
124
+ goalId: goalState.goalId,
125
+ goalObjective: goalState.objective,
126
+ goalSource: source
127
+ });
128
+ }
92
129
  async function handleQueue(manager, rest) {
93
130
  if (!rest) {
94
131
  const snapshot = await manager.getSnapshot();
@@ -120,6 +157,10 @@ function formatMutation(result) {
120
157
  if (result.started) {
121
158
  lines.push(`Started queue item: ${result.started.queueId}`);
122
159
  }
160
+ if (result.completedRun?.length && result.queue.length === 0) {
161
+ lines.push("");
162
+ lines.push(formatCompletedRun(result.completedRun));
163
+ }
123
164
  if (result.queue.length > 0 && !result.queued?.length) {
124
165
  lines.push("");
125
166
  lines.push(formatQueue({ queue: result.queue }));
@@ -127,7 +168,7 @@ function formatMutation(result) {
127
168
  return lines.join("\n");
128
169
  }
129
170
  function formatSnapshot(snapshot) {
130
- if (!snapshot.goal && snapshot.queue.length === 0) {
171
+ if (!snapshot.goal && snapshot.queue.length === 0 && snapshot.completed.length === 0) {
131
172
  return [
132
173
  "No goal is currently set.",
133
174
  "Use /goal <objective> to create one, or /goal queue <objective> to queue later work."
@@ -140,6 +181,10 @@ function formatSnapshot(snapshot) {
140
181
  parts.push("");
141
182
  parts.push(formatQueue(snapshot));
142
183
  }
184
+ if (snapshot.completed.length > 0) {
185
+ parts.push("");
186
+ parts.push(formatCompletedRun(snapshot.completed));
187
+ }
143
188
  return parts.join("\n");
144
189
  }
145
190
  function formatGoal(goalState) {
@@ -162,6 +207,12 @@ function formatQueue(snapshot) {
162
207
  ...snapshot.queue.map((item, index) => `${index + 1}. [${item.queueId}] ${item.objective}`)
163
208
  ].join("\n");
164
209
  }
210
+ function formatCompletedRun(completed) {
211
+ return [
212
+ `Completed goals this session (${completed.length}):`,
213
+ ...completed.map((item, index) => `${index + 1}. ${item.objective}`)
214
+ ].join("\n");
215
+ }
165
216
  function formatDuration(seconds) {
166
217
  const whole = Math.max(0, Math.floor(seconds));
167
218
  const minutes = Math.floor(whole / 60);
@@ -1,12 +1,12 @@
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; } var _class;
2
2
 
3
- var _chunkAQ5PVHOCcjs = require('./chunk-AQ5PVHOC.cjs');
3
+ var _chunkCSUGNNJYcjs = require('./chunk-CSUGNNJY.cjs');
4
4
 
5
5
 
6
- var _chunkCK4HAHVYcjs = require('./chunk-CK4HAHVY.cjs');
6
+ var _chunkDMM2BKSVcjs = require('./chunk-DMM2BKSV.cjs');
7
7
 
8
8
 
9
- var _chunkX5P6QQOBcjs = require('./chunk-X5P6QQOB.cjs');
9
+ var _chunkCNQKIWIScjs = require('./chunk-CNQKIWIS.cjs');
10
10
 
11
11
 
12
12
 
@@ -14,10 +14,10 @@ var _chunkX5P6QQOBcjs = require('./chunk-X5P6QQOB.cjs');
14
14
 
15
15
 
16
16
 
17
- var _chunkHK5A54AVcjs = require('./chunk-HK5A54AV.cjs');
17
+ var _chunk7TO3PDMVcjs = require('./chunk-7TO3PDMV.cjs');
18
18
 
19
19
 
20
- var _chunkKASXKDF2cjs = require('./chunk-KASXKDF2.cjs');
20
+ var _chunk3JURXAL6cjs = require('./chunk-3JURXAL6.cjs');
21
21
 
22
22
  // src/features/RemoteFeatureFlagManager.ts
23
23
  var _crypto = require('crypto'); var _crypto2 = _interopRequireDefault(_crypto);
@@ -25,18 +25,19 @@ var _os = require('os'); var _os2 = _interopRequireDefault(_os);
25
25
  var _path = require('path'); var _path2 = _interopRequireDefault(_path);
26
26
  var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
27
27
  var FEATURE_FLAG_REQUEST_TIMEOUT_MS = 1500;
28
+ var CLI_CLIENT_TYPE = "cli";
28
29
  function getApiBaseUrl(config) {
29
30
  return (_optionalChain([config, 'access', _ => _.api, 'optionalAccess', _2 => _2.baseUrl]) || _optionalChain([config, 'access', _3 => _3.telemetry, 'optionalAccess', _4 => _4.apiBaseUrl]) || "https://api.autohand.ai").replace(/\/+$/, "");
30
31
  }
31
32
  function readDeviceId() {
32
33
  try {
33
- _fsextra2.default.ensureDirSync(_path2.default.dirname(_chunkKASXKDF2cjs.AUTOHAND_FILES.deviceId));
34
- if (_fsextra2.default.existsSync(_chunkKASXKDF2cjs.AUTOHAND_FILES.deviceId)) {
35
- const existing = _fsextra2.default.readFileSync(_chunkKASXKDF2cjs.AUTOHAND_FILES.deviceId, "utf8").trim();
34
+ _fsextra2.default.ensureDirSync(_path2.default.dirname(_chunk3JURXAL6cjs.AUTOHAND_FILES.deviceId));
35
+ if (_fsextra2.default.existsSync(_chunk3JURXAL6cjs.AUTOHAND_FILES.deviceId)) {
36
+ const existing = _fsextra2.default.readFileSync(_chunk3JURXAL6cjs.AUTOHAND_FILES.deviceId, "utf8").trim();
36
37
  if (existing) return existing;
37
38
  }
38
39
  const next = _crypto2.default.randomUUID();
39
- _fsextra2.default.writeFileSync(_chunkKASXKDF2cjs.AUTOHAND_FILES.deviceId, next);
40
+ _fsextra2.default.writeFileSync(_chunk3JURXAL6cjs.AUTOHAND_FILES.deviceId, next);
40
41
  return next;
41
42
  } catch (e) {
42
43
  return _crypto2.default.randomUUID();
@@ -49,11 +50,14 @@ function parseSnapshot(value) {
49
50
  if (!flag || typeof flag !== "object") continue;
50
51
  const candidate = flag;
51
52
  if (typeof candidate.key !== "string" || typeof candidate.enabled !== "boolean") continue;
53
+ const clientTypes = parseClientTypes(candidate);
54
+ if (!isCliFeatureFlag(candidate, clientTypes)) continue;
52
55
  flags.push({
53
56
  key: candidate.key,
54
57
  enabled: candidate.enabled,
55
58
  reason: typeof candidate.reason === "string" ? candidate.reason : "unknown",
56
- userOverridable: candidate.userOverridable !== false
59
+ userOverridable: candidate.userOverridable !== false,
60
+ ...clientTypes.length > 0 ? { clientTypes } : {}
57
61
  });
58
62
  }
59
63
  return {
@@ -64,6 +68,65 @@ function parseSnapshot(value) {
64
68
  ttlSeconds: typeof value.ttlSeconds === "number" ? value.ttlSeconds : 300
65
69
  };
66
70
  }
71
+ function parseClientTypes(candidate) {
72
+ const values = [
73
+ candidate.clientType,
74
+ candidate.clientTypes,
75
+ candidate.client_type,
76
+ candidate.client_types,
77
+ candidate.clients,
78
+ candidate.targetClients,
79
+ candidate.target_clients
80
+ ];
81
+ const clientTypes = /* @__PURE__ */ new Set();
82
+ for (const value of values) {
83
+ if (typeof value === "string") {
84
+ for (const item of value.split(",")) {
85
+ const clientType = item.trim();
86
+ if (clientType) clientTypes.add(clientType);
87
+ }
88
+ continue;
89
+ }
90
+ if (Array.isArray(value)) {
91
+ for (const item of value) {
92
+ if (typeof item === "string") {
93
+ clientTypes.add(item);
94
+ }
95
+ }
96
+ }
97
+ }
98
+ return [...clientTypes].map((clientType) => clientType.toLowerCase());
99
+ }
100
+ function isCliFeatureFlag(candidate, clientTypes) {
101
+ if (isArchivedFeatureFlag(candidate)) {
102
+ return false;
103
+ }
104
+ const reason = typeof candidate.reason === "string" ? candidate.reason.toLowerCase() : "";
105
+ if (reason.includes("client_type mismatch") || reason.includes("client type mismatch")) {
106
+ return false;
107
+ }
108
+ if (clientTypes.length > 0) {
109
+ return clientTypes.includes(CLI_CLIENT_TYPE);
110
+ }
111
+ const platforms = _nullishCoalesce(candidate.platforms, () => ( candidate.targetPlatforms));
112
+ if (Array.isArray(platforms)) {
113
+ const platformValues = platforms.filter((platform) => typeof platform === "string");
114
+ return platformValues.length === 0 || platformValues.includes(process.platform);
115
+ }
116
+ return true;
117
+ }
118
+ function isArchivedFeatureFlag(candidate) {
119
+ if (candidate.archived === true || candidate.deleted === true) {
120
+ return true;
121
+ }
122
+ const archivalFields = [
123
+ candidate.status,
124
+ candidate.state,
125
+ candidate.lifecycle,
126
+ candidate.reason
127
+ ];
128
+ return archivalFields.some((value) => typeof value === "string" && value.toLowerCase().includes("archived"));
129
+ }
67
130
  function isSnapshotFresh(snapshot) {
68
131
  const evaluatedAt = Date.parse(snapshot.evaluatedAt);
69
132
  if (Number.isNaN(evaluatedAt)) return false;
@@ -74,7 +137,7 @@ function createEvaluationUrl(config, deviceId, clientVersion) {
74
137
  const environment = _optionalChain([config, 'access', _5 => _5.features, 'optionalAccess', _6 => _6.environment]) || "production";
75
138
  const url = new URL(`${getApiBaseUrl(config)}/v1/feature-flags/evaluate`);
76
139
  url.searchParams.set("environment", environment);
77
- url.searchParams.set("clientType", "cli");
140
+ url.searchParams.set("clientType", CLI_CLIENT_TYPE);
78
141
  url.searchParams.set("deviceId", deviceId);
79
142
  url.searchParams.set("cliVersion", clientVersion);
80
143
  url.searchParams.set("platform", process.platform);
@@ -94,15 +157,15 @@ async function downloadRemoteFeatureFlags(config, deviceId, clientVersion) {
94
157
  }
95
158
  }
96
159
  async function writeRemoteFeatureFlagCache(snapshot) {
97
- await _fsextra2.default.ensureDir(_path2.default.dirname(_chunkKASXKDF2cjs.AUTOHAND_FILES.featureFlagsCache));
98
- await _fsextra2.default.writeJson(_chunkKASXKDF2cjs.AUTOHAND_FILES.featureFlagsCache, snapshot, { spaces: 2 });
160
+ await _fsextra2.default.ensureDir(_path2.default.dirname(_chunk3JURXAL6cjs.AUTOHAND_FILES.featureFlagsCache));
161
+ await _fsextra2.default.writeJson(_chunk3JURXAL6cjs.AUTOHAND_FILES.featureFlagsCache, snapshot, { spaces: 2 });
99
162
  }
100
163
  async function loadCachedRemoteFeatureFlags() {
101
164
  try {
102
- if (!await _fsextra2.default.pathExists(_chunkKASXKDF2cjs.AUTOHAND_FILES.featureFlagsCache)) {
165
+ if (!await _fsextra2.default.pathExists(_chunk3JURXAL6cjs.AUTOHAND_FILES.featureFlagsCache)) {
103
166
  return null;
104
167
  }
105
- const data = await _fsextra2.default.readJson(_chunkKASXKDF2cjs.AUTOHAND_FILES.featureFlagsCache);
168
+ const data = await _fsextra2.default.readJson(_chunk3JURXAL6cjs.AUTOHAND_FILES.featureFlagsCache);
106
169
  return parseSnapshot(data);
107
170
  } catch (e3) {
108
171
  return null;
@@ -113,7 +176,7 @@ async function loadRemoteFeatureFlags(config, options = {}) {
113
176
  if (!options.forceRefresh && cached && isSnapshotFresh(cached)) {
114
177
  return cached;
115
178
  }
116
- const downloaded = await downloadRemoteFeatureFlags(config, readDeviceId(), _chunkAQ5PVHOCcjs.package_default.version);
179
+ const downloaded = await downloadRemoteFeatureFlags(config, readDeviceId(), _chunkCSUGNNJYcjs.package_default.version);
117
180
  if (downloaded) {
118
181
  await writeRemoteFeatureFlagCache(downloaded);
119
182
  return downloaded;
@@ -125,7 +188,7 @@ var RemoteFeatureFlagManager = (_class = class {
125
188
  this.config = config;
126
189
  this.apiBaseUrl = getApiBaseUrl(config);
127
190
  this.environment = _optionalChain([config, 'access', _7 => _7.features, 'optionalAccess', _8 => _8.environment]) || "production";
128
- this.clientVersion = _chunkAQ5PVHOCcjs.package_default.version;
191
+ this.clientVersion = _chunkCSUGNNJYcjs.package_default.version;
129
192
  }
130
193
 
131
194
  __init() {this.snapshot = null}
@@ -146,7 +209,7 @@ var RemoteFeatureFlagManager = (_class = class {
146
209
  return this.snapshot;
147
210
  }
148
211
  isFeatureEnabled(key, localDefault = false) {
149
- if (_chunkHK5A54AVcjs.isLocalFeatureId.call(void 0, key)) {
212
+ if (_chunk7TO3PDMVcjs.isLocalFeatureId.call(void 0, key)) {
150
213
  return localDefault;
151
214
  }
152
215
  const flag = _optionalChain([this, 'access', _9 => _9.snapshot, 'optionalAccess', _10 => _10.flags, 'access', _11 => _11.find, 'call', _12 => _12((item) => item.key === key)]);
@@ -195,15 +258,15 @@ var RemoteFeatureFlagManager = (_class = class {
195
258
  // src/commands/features.ts
196
259
  function renderUsage() {
197
260
  return [
198
- "Usage: /features [list|status|enable|disable|refresh]",
261
+ "Usage: /experiments [list|status|enable|disable|refresh]",
199
262
  "",
200
263
  "Commands:",
201
- " /features",
202
- " /features list",
203
- " /features status <feature>",
204
- " /features enable <feature>",
205
- " /features disable <feature>",
206
- " /features refresh"
264
+ " /experiments",
265
+ " /experiments list",
266
+ " /experiments status <feature>",
267
+ " /experiments enable <feature>",
268
+ " /experiments disable <feature>",
269
+ " /experiments refresh"
207
270
  ].join("\n");
208
271
  }
209
272
  function requireConfig(config) {
@@ -214,11 +277,11 @@ async function setFeatureEnabled(config, featureId, enabled, remoteSnapshot) {
214
277
  return renderUsage();
215
278
  }
216
279
  const snapshot = remoteSnapshot === void 0 ? await loadRemoteFeatureFlags(config) : remoteSnapshot;
217
- const result = _chunkHK5A54AVcjs.setFeatureState.call(void 0, config, featureId, enabled, { remoteSnapshot: snapshot });
280
+ const result = _chunk7TO3PDMVcjs.setFeatureState.call(void 0, config, featureId, enabled, { remoteSnapshot: snapshot });
218
281
  if (!result.ok || !result.feature) {
219
282
  return _nullishCoalesce(result.error, () => ( `Unknown feature "${featureId}".`));
220
283
  }
221
- await _chunkX5P6QQOBcjs.saveConfig.call(void 0, config);
284
+ await _chunkCNQKIWIScjs.saveConfig.call(void 0, config);
222
285
  if (result.feature.source === "remote") {
223
286
  if (enabled) {
224
287
  return `Following remote state for ${result.feature.id} (currently ${result.feature.enabled ? "on" : "off"}).`;
@@ -232,7 +295,7 @@ async function setFeatureEnabled(config, featureId, enabled, remoteSnapshot) {
232
295
  async function showInteractiveFeatures(config, remoteSnapshot) {
233
296
  let toggleCount = 0;
234
297
  const pendingSaves = [];
235
- const states = _chunkHK5A54AVcjs.listFeatureStates.call(void 0, config, { remoteSnapshot });
298
+ const states = _chunk7TO3PDMVcjs.listFeatureStates.call(void 0, config, { remoteSnapshot });
236
299
  const initialStates = new Map(states.map((feature) => [feature.id, feature.enabled]));
237
300
  const finalStates = new Map(initialStates);
238
301
  const restartRequired = new Set(states.filter((feature) => feature.requiresRestart).map((feature) => feature.id));
@@ -242,19 +305,19 @@ async function showInteractiveFeatures(config, remoteSnapshot) {
242
305
  checked: feature.enabled,
243
306
  description: feature.description
244
307
  }));
245
- await _chunkCK4HAHVYcjs.showModal.call(void 0, {
246
- title: "Features - space toggles, enter closes",
308
+ await _chunkDMM2BKSVcjs.showModal.call(void 0, {
309
+ title: "Experiments - space toggles, enter closes",
247
310
  options,
248
311
  multiSelect: true,
249
312
  maxVisible: 12,
250
313
  onToggle: (option, checked) => {
251
- const result = _chunkHK5A54AVcjs.setFeatureState.call(void 0, config, option.value, checked, { remoteSnapshot });
314
+ const result = _chunk7TO3PDMVcjs.setFeatureState.call(void 0, config, option.value, checked, { remoteSnapshot });
252
315
  if (!result.ok) {
253
316
  return;
254
317
  }
255
318
  toggleCount += 1;
256
319
  finalStates.set(option.value, _nullishCoalesce(_optionalChain([result, 'access', _23 => _23.feature, 'optionalAccess', _24 => _24.enabled]), () => ( checked)));
257
- pendingSaves.push(_chunkX5P6QQOBcjs.saveConfig.call(void 0, config));
320
+ pendingSaves.push(_chunkCNQKIWIScjs.saveConfig.call(void 0, config));
258
321
  }
259
322
  });
260
323
  await Promise.all(pendingSaves);
@@ -319,10 +382,10 @@ async function features(ctx, args = []) {
319
382
  if (ctx.interactive) {
320
383
  return showInteractiveFeatures(required, remoteSnapshot);
321
384
  }
322
- return _chunkHK5A54AVcjs.formatFeatureList.call(void 0, required, { remoteSnapshot });
385
+ return _chunk7TO3PDMVcjs.formatFeatureList.call(void 0, required, { remoteSnapshot });
323
386
  case "status":
324
387
  case "show":
325
- return featureId ? _chunkHK5A54AVcjs.formatFeatureStatus.call(void 0, required, featureId, { remoteSnapshot }) : renderUsage();
388
+ return featureId ? _chunk7TO3PDMVcjs.formatFeatureStatus.call(void 0, required, featureId, { remoteSnapshot }) : renderUsage();
326
389
  case "enable":
327
390
  case "on":
328
391
  return setFeatureEnabled(required, featureId, true, remoteSnapshot);
@@ -335,21 +398,21 @@ async function features(ctx, args = []) {
335
398
  }
336
399
  return `Downloaded ${remoteSnapshot.flags.length} remote feature${remoteSnapshot.flags.length === 1 ? "" : "s"} from ${remoteSnapshot.environment}.`;
337
400
  default:
338
- if (_chunkHK5A54AVcjs.getFeatureState.call(void 0, required, subcommand, { remoteSnapshot })) {
339
- return _chunkHK5A54AVcjs.formatFeatureStatus.call(void 0, required, subcommand, { remoteSnapshot });
401
+ if (_chunk7TO3PDMVcjs.getFeatureState.call(void 0, required, subcommand, { remoteSnapshot })) {
402
+ return _chunk7TO3PDMVcjs.formatFeatureStatus.call(void 0, required, subcommand, { remoteSnapshot });
340
403
  }
341
404
  return renderUsage();
342
405
  }
343
406
  }
344
407
  var metadata = {
345
- command: "/features",
346
- description: "list and toggle Autohand feature switches",
408
+ command: "/experiments",
409
+ description: "list and toggle Autohand experiments",
347
410
  implemented: true,
348
411
  subcommands: [
349
- { name: "list", description: "List feature switches and current state" },
350
- { name: "status", description: "Show one feature switch" },
351
- { name: "enable", description: "Enable a feature switch" },
352
- { name: "disable", description: "Disable a feature switch" },
412
+ { name: "list", description: "List experiments and current state" },
413
+ { name: "status", description: "Show one experiment" },
414
+ { name: "enable", description: "Enable an experiment" },
415
+ { name: "disable", description: "Disable an experiment" },
353
416
  { name: "refresh", description: "Download remote feature flags from the Autohand API" }
354
417
  ]
355
418
  };
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  safePrompt
3
- } from "./chunk-MMKZSJUN.js";
3
+ } from "./chunk-NKW6CHXQ.js";
4
4
  import {
5
5
  showModal
6
- } from "./chunk-NZ3ZWLUW.js";
6
+ } from "./chunk-LOSXLH7P.js";
7
7
  import {
8
8
  t
9
- } from "./chunk-LEZEWKPA.js";
9
+ } from "./chunk-SJQU2ZFR.js";
10
10
 
11
11
  // src/commands/hooks.ts
12
12
  import chalk from "chalk";
@@ -19,6 +19,7 @@ var HOOK_EVENTS = [
19
19
  "post-tool",
20
20
  "file-modified",
21
21
  "stop",
22
+ "post-response",
22
23
  "subagent-stop",
23
24
  "permission-request",
24
25
  "notification",
@@ -35,6 +36,8 @@ var HOOK_EVENTS = [
35
36
  // Learn events
36
37
  "pre-learn",
37
38
  "post-learn",
39
+ // Goal authoring events
40
+ "goal-written:completed",
38
41
  // Team events
39
42
  "team-created",
40
43
  "teammate-spawned",
@@ -49,7 +52,12 @@ var HOOK_EVENTS = [
49
52
  "review:failed",
50
53
  "review:completed",
51
54
  // Mode events
52
- "mode-change"
55
+ "mode-change",
56
+ // Context lifecycle events
57
+ "context:compact",
58
+ "context:overflow",
59
+ "context:warning",
60
+ "context:critical"
53
61
  ];
54
62
  var EVENT_DESCRIPTIONS = {
55
63
  "session-start": "When a session begins",
@@ -77,6 +85,8 @@ var EVENT_DESCRIPTIONS = {
77
85
  // Learn events
78
86
  "pre-learn": "Before a learn operation begins",
79
87
  "post-learn": "After a learn operation completes",
88
+ // Goal authoring events
89
+ "goal-written:completed": "After a goal objective is created",
80
90
  // Team events
81
91
  "team-created": "When a team is created",
82
92
  "teammate-spawned": "When a teammate process starts",
@@ -145,7 +155,8 @@ function getHookIcon(hook) {
145
155
  "permission-request": "\u{1F510}",
146
156
  "notification": "\u{1F514}",
147
157
  "subagent-stop": "\u{1F916}",
148
- "pre-prompt": "\u{1F4AD}"
158
+ "pre-prompt": "\u{1F4AD}",
159
+ "goal-written:completed": "\u{1F3C1}"
149
160
  };
150
161
  return eventIcons[hook.event] || "\u2022";
151
162
  }