autohand-cli 0.8.3 → 0.9.1

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 (546) hide show
  1. package/README.md +191 -74
  2. package/dist/{AgentRegistry-ODDXPAFR.js → AgentRegistry-GOV7FN2O.js} +2 -2
  3. package/dist/AgentRegistry-J2C6JBZ3.cjs +10 -0
  4. package/dist/{AutomodeManager-EOVHGRPP.js → AutomodeManager-APLLPEYJ.js} +31 -17
  5. package/dist/{AutomodeManager-6ATBE7Q5.cjs → AutomodeManager-MPSXT2RH.cjs} +38 -24
  6. package/dist/CommunitySkillsCache-22BB3J6H.cjs +8 -0
  7. package/dist/{CommunitySkillsCache-QLE57BN5.js → CommunitySkillsCache-ZACDPD4J.js} +2 -2
  8. package/dist/GitHubRegistryFetcher-CYJLF2XL.cjs +7 -0
  9. package/dist/{GitHubRegistryFetcher-NT5GFZXS.js → GitHubRegistryFetcher-J2BWPXJF.js} +1 -1
  10. package/dist/{HookManager-B2F35M27.js → HookManager-2S6AHOC3.js} +1 -1
  11. package/dist/{HookManager-PFAFE3FK.cjs → HookManager-TVEQI5ZU.cjs} +2 -2
  12. package/dist/{ImportWizard-OHRKBANZ.js → ImportWizard-AEBMAKXE.js} +33 -9
  13. package/dist/{ImportWizard-CJRZPPHL.cjs → ImportWizard-AF2XL6DS.cjs} +37 -13
  14. package/dist/LearnAdvisor-KKEQ5QCV.js +9 -0
  15. package/dist/LearnAdvisor-Q7RAYLPF.cjs +9 -0
  16. package/dist/{McpClientManager-NQ3EW2IF.cjs → McpClientManager-BNSKLHIN.cjs} +2 -2
  17. package/dist/{McpClientManager-VBIMGKXU.js → McpClientManager-SL35BR24.js} +1 -1
  18. package/dist/MemoryManager-PMNAEZMB.cjs +8 -0
  19. package/dist/{MemoryManager-2LAT7IHS.js → MemoryManager-QZRLTUB5.js} +2 -2
  20. package/dist/NVIDIAProvider-C3FWQOBZ.cjs +14 -0
  21. package/dist/NVIDIAProvider-SJPY3ONR.js +14 -0
  22. package/dist/{PermissionManager-7NQHRCHY.js → PermissionManager-MT7KBNNR.js} +3 -3
  23. package/dist/PermissionManager-URCNP5EC.cjs +11 -0
  24. package/dist/{ProjectProfiler-UG42W6WD.cjs → ProjectProfiler-CDAE7ECW.cjs} +1 -0
  25. package/dist/{ProjectProfiler-P4QJQWWA.js → ProjectProfiler-NZTJDRHD.js} +1 -0
  26. package/dist/ProviderFactory-56N3ECE4.cjs +12 -0
  27. package/dist/{ProviderFactory-2IYJ5OPW.js → ProviderFactory-RB4RVAF6.js} +4 -1
  28. package/dist/SessionManager-2IZGWASQ.cjs +10 -0
  29. package/dist/{SessionManager-4U4JFQ3C.js → SessionManager-554PHVPC.js} +2 -2
  30. package/dist/SkillsRegistry-GMRVONOQ.cjs +9 -0
  31. package/dist/{SkillsRegistry-RFEINXRT.js → SkillsRegistry-NHHMIUYJ.js} +2 -2
  32. package/dist/SubAgent-4GOR2FIJ.js +13 -0
  33. package/dist/SubAgent-ZJMDH4FI.cjs +13 -0
  34. package/dist/{SyncApiClient-B5RT2ECG.js → SyncApiClient-G3FM65IV.js} +1 -1
  35. package/dist/SyncApiClient-ODBDECOG.cjs +11 -0
  36. package/dist/about-3USFSGOH.js +15 -0
  37. package/dist/about-QR52U5DD.cjs +15 -0
  38. package/dist/acp-5Y2W6OZP.js +1556 -0
  39. package/dist/acp-GSYE75OB.cjs +1556 -0
  40. package/dist/actionExecutor-KHUU3Z3Q.cjs +28 -0
  41. package/dist/actionExecutor-PLQJZLZV.js +28 -0
  42. package/dist/add-dir-BTAD5OZS.cjs +11 -0
  43. package/dist/{add-dir-TUJM3PG5.js → add-dir-HCERJDBR.js} +3 -2
  44. package/dist/agent-B3EVT7NN.cjs +126 -0
  45. package/dist/agent-SATQ3WZ3.js +126 -0
  46. package/dist/agents/builtin/code-cleaner.md +1 -1
  47. package/dist/agents/builtin/docs-writer.md +1 -1
  48. package/dist/agents/builtin/researcher.md +2 -2
  49. package/dist/agents/builtin/reviewer.md +1 -1
  50. package/dist/agents/builtin/tester.md +1 -1
  51. package/dist/agents/builtin/todo-resolver.md +1 -1
  52. package/dist/agents-44CRJGM7.cjs +18 -0
  53. package/dist/agents-NN4ZAJ7R.js +18 -0
  54. package/dist/agents-new-6D6G4QS6.cjs +17 -0
  55. package/dist/agents-new-7GAQ25EK.js +17 -0
  56. package/dist/{autoSkill-LQEVQFIH.js → autoSkill-66PKCYTW.js} +2 -2
  57. package/dist/autoSkill-VQLGBELN.cjs +20 -0
  58. package/dist/automode-45DWV4TN.cjs +10 -0
  59. package/dist/{automode-R6P3VHLS.js → automode-BUF3VGXU.js} +2 -2
  60. package/dist/browserToolBridge-BXRQB4B4.cjs +58 -0
  61. package/dist/browserToolBridge-F5N66PE7.js +58 -0
  62. package/dist/chrome-Q2U73HZB.cjs +50 -0
  63. package/dist/chrome-Q54OALOK.cjs +21 -0
  64. package/dist/chrome-Y3T7EIHG.js +50 -0
  65. package/dist/chrome-ZNJ46OYW.js +21 -0
  66. package/dist/chromeSkill-53TH55PM.js +105 -0
  67. package/dist/chromeSkill-THW7N4IY.cjs +105 -0
  68. package/dist/{chunk-HXGBSJL5.cjs → chunk-22SCR3EV.cjs} +2 -2
  69. package/dist/chunk-26G7YGOW.js +367 -0
  70. package/dist/{chunk-3L53OA4E.cjs → chunk-2ESQR35E.cjs} +10 -10
  71. package/dist/chunk-2H5O745H.js +63 -0
  72. package/dist/{chunk-ULDM2SNB.js → chunk-2IW5YFJ4.js} +48 -47
  73. package/dist/{chunk-U55TWFJI.cjs → chunk-2VHB43IX.cjs} +24 -6
  74. package/dist/chunk-3EDDDZS2.cjs +5 -0
  75. package/dist/{chunk-X5VSP65C.cjs → chunk-3ICORF7M.cjs} +4 -4
  76. package/dist/chunk-3OF56EMA.cjs +197 -0
  77. package/dist/chunk-3UC6DMFI.cjs +93 -0
  78. package/dist/{chunk-64H4FRM3.cjs → chunk-3UHRCHKB.cjs} +32 -34
  79. package/dist/{chunk-JCLYQ2JC.js → chunk-3ZOOH44N.js} +12 -6
  80. package/dist/{chunk-TUD3Z3BD.js → chunk-44ZWOBTI.js} +136 -55
  81. package/dist/chunk-4567QNRB.js +444 -0
  82. package/dist/chunk-45CHNQM6.cjs +517 -0
  83. package/dist/chunk-46MTALKD.js +44 -0
  84. package/dist/{chunk-WHE2SWHU.js → chunk-4E7SHPNQ.js} +2 -2
  85. package/dist/chunk-4LMUDS2K.js +124 -0
  86. package/dist/{chunk-W7RYQJLO.cjs → chunk-4XFHP2SN.cjs} +46 -15
  87. package/dist/chunk-4XVLNOFA.js +360 -0
  88. package/dist/{chunk-GBHDROGL.js → chunk-575PXZX7.js} +16 -4
  89. package/dist/chunk-5A7ZL64N.js +139 -0
  90. package/dist/chunk-5GCQ5UMV.cjs +85 -0
  91. package/dist/chunk-5JTTM5SC.js +59 -0
  92. package/dist/{chunk-IETRBBMP.cjs → chunk-5K3CDSWZ.cjs} +108 -31
  93. package/dist/{chunk-KLWJIPU2.cjs → chunk-5SFV2NCY.cjs} +20 -16
  94. package/dist/chunk-5ZNYX4VH.cjs +71 -0
  95. package/dist/{chunk-A4IJHHV7.cjs → chunk-63ANVAOJ.cjs} +52 -11
  96. package/dist/{chunk-MYISNQH4.js → chunk-65LRPW5W.js} +1 -1
  97. package/dist/chunk-6AYJCDTA.js +360 -0
  98. package/dist/{chunk-X2MSVKDV.js → chunk-6HF6XSCC.js} +2 -2
  99. package/dist/{chunk-AEJH23FO.cjs → chunk-6JWCGQJU.cjs} +6 -6
  100. package/dist/chunk-6OECOAK5.cjs +360 -0
  101. package/dist/chunk-6R25D2H5.js +121 -0
  102. package/dist/chunk-7DJJGKM6.js +77 -0
  103. package/dist/{chunk-VG34MG2U.js → chunk-7IRQ7JEH.js} +9 -6
  104. package/dist/chunk-7MY4JHER.js +27 -0
  105. package/dist/chunk-7PJKTSRN.js +152 -0
  106. package/dist/{chunk-SKYG33B2.cjs → chunk-7PT646AL.cjs} +3 -3
  107. package/dist/chunk-7WAUCLLQ.js +229 -0
  108. package/dist/{chunk-U46VYPLR.cjs → chunk-7XTUL7ZD.cjs} +9 -9
  109. package/dist/chunk-AE2ILW25.cjs +152 -0
  110. package/dist/{chunk-T2M64VHA.cjs → chunk-AOKXYGBQ.cjs} +61 -41
  111. package/dist/chunk-AQ5PVHOC.cjs +113 -0
  112. package/dist/{chunk-N2BLVUPM.cjs → chunk-AZ47LKD5.cjs} +3 -3
  113. package/dist/chunk-B4HSNOIH.cjs +354 -0
  114. package/dist/chunk-B76FJKEJ.cjs +184 -0
  115. package/dist/chunk-BP37FVBM.js +85 -0
  116. package/dist/chunk-BQU3HAE7.js +21 -0
  117. package/dist/chunk-BYE7RQFZ.cjs +121 -0
  118. package/dist/chunk-C46B72VK.js +1034 -0
  119. package/dist/{chunk-HIVRCQS2.js → chunk-C5QIQQ37.js} +56 -25
  120. package/dist/chunk-CCIDL4SA.js +19931 -0
  121. package/dist/{chunk-XVUHNWMX.js → chunk-CECH6QQP.js} +17 -19
  122. package/dist/chunk-CFAWTLSC.js +13 -0
  123. package/dist/{chunk-ZYQMLKOK.cjs → chunk-CK4HAHVY.cjs} +212 -70
  124. package/dist/chunk-CO2AADYU.cjs +360 -0
  125. package/dist/chunk-CRTCZ4WL.cjs +19931 -0
  126. package/dist/chunk-CSTUTDTH.js +75 -0
  127. package/dist/{chunk-K2C56QGS.cjs → chunk-D546G7DA.cjs} +1650 -479
  128. package/dist/{chunk-CNBKZEX5.cjs → chunk-DA7NBAJK.cjs} +49 -17
  129. package/dist/{chunk-G4CAKI3V.js → chunk-DGBPWODD.js} +7 -2
  130. package/dist/chunk-DHUQZ53B.cjs +29 -0
  131. package/dist/{chunk-RGR6ME5J.cjs → chunk-DI57A4BX.cjs} +25 -28
  132. package/dist/{chunk-5K6NGAVM.js → chunk-DNSD7DVJ.js} +67 -52
  133. package/dist/{chunk-RDF37HKB.cjs → chunk-DSSCERHI.cjs} +3 -2
  134. package/dist/{chunk-NAJ4IZKD.cjs → chunk-EA2MS25U.cjs} +8 -6
  135. package/dist/{chunk-SJAVBCOA.js → chunk-EEHWALXA.js} +94 -3
  136. package/dist/chunk-ES2HJQ4N.js +37 -0
  137. package/dist/{chunk-G27PQQFD.js → chunk-EYHKL4QC.js} +1 -1
  138. package/dist/{chunk-SV2WA57F.js → chunk-FBQJZKFX.js} +38 -15
  139. package/dist/chunk-FFBDRUO5.cjs +59 -0
  140. package/dist/{chunk-N7LI55V4.js → chunk-FFHSCM5M.js} +15 -8
  141. package/dist/{chunk-SAHBLB3E.js → chunk-FP46B4X3.js} +208 -3
  142. package/dist/chunk-FQVG6ZHF.js +197 -0
  143. package/dist/{chunk-J2GSFVUV.cjs → chunk-GAOPJ5S3.cjs} +74 -59
  144. package/dist/{chunk-S52YW5ZQ.js → chunk-GNBBIAMD.js} +16 -19
  145. package/dist/chunk-GSDV75A5.js +715 -0
  146. package/dist/chunk-GWY26SUD.cjs +63 -0
  147. package/dist/{chunk-TUAITHWL.js → chunk-H426KOGY.js} +2 -1
  148. package/dist/{chunk-EZMINVLU.js → chunk-H4D2Q2AL.js} +5 -2
  149. package/dist/chunk-HC2Q6A3E.cjs +4967 -0
  150. package/dist/{chunk-3WVJEL7K.cjs → chunk-HDK2EHVH.cjs} +3 -1
  151. package/dist/{chunk-5IXII4HX.cjs → chunk-HG3ZASBH.cjs} +23 -16
  152. package/dist/chunk-HK5A54AV.cjs +280 -0
  153. package/dist/{chunk-LQGVEP3E.js → chunk-HQUSEWT4.js} +45 -13
  154. package/dist/chunk-HSWWM6AM.js +2340 -0
  155. package/dist/chunk-HTU4W3GB.js +183 -0
  156. package/dist/{chunk-HLHTG5ZU.cjs → chunk-HVCIB4SW.cjs} +14 -12
  157. package/dist/chunk-HXHE2KAO.js +385 -0
  158. package/dist/{chunk-LJFUXC56.cjs → chunk-HXQREVTA.cjs} +9 -6
  159. package/dist/{chunk-SLQAYV3W.js → chunk-HZWU6IO3.js} +11 -2
  160. package/dist/chunk-I2ZK3AOD.js +866 -0
  161. package/dist/chunk-IEPLQ47J.js +719 -0
  162. package/dist/chunk-J5HE6CUM.cjs +124 -0
  163. package/dist/{chunk-LIEXWM2M.js → chunk-JAQO6XDB.js} +19 -1
  164. package/dist/chunk-JB3JCYBJ.js +113 -0
  165. package/dist/chunk-JCUHCH37.cjs +247 -0
  166. package/dist/{chunk-FPHU2ES6.cjs → chunk-JM3ZTQUK.cjs} +19 -9
  167. package/dist/{chunk-NDMIPTV4.js → chunk-JMJRFSNJ.js} +8 -3
  168. package/dist/{chunk-ZLSGXMGQ.js → chunk-JMN3GZU6.js} +2 -0
  169. package/dist/chunk-JPFRI4L4.js +4967 -0
  170. package/dist/{chunk-BVKXEQVG.cjs → chunk-JV5HVCHU.cjs} +22 -10
  171. package/dist/chunk-KA2U6MY2.js +388 -0
  172. package/dist/{chunk-SEKD5FH3.cjs → chunk-KASXKDF2.cjs} +8 -3
  173. package/dist/chunk-KJ26T7GM.cjs +367 -0
  174. package/dist/chunk-KM7R5YPS.cjs +385 -0
  175. package/dist/{chunk-MBBY4ZIK.js → chunk-KMP6Y3LJ.js} +4 -1
  176. package/dist/chunk-KWXGDSYT.js +184 -0
  177. package/dist/{chunk-C5IJIM2V.cjs → chunk-L46OUKW5.cjs} +68 -37
  178. package/dist/{chunk-6UJMCWRY.js → chunk-L6OH44HL.js} +19 -9
  179. package/dist/chunk-LANGD5CO.js +280 -0
  180. package/dist/{chunk-APIXPPMT.js → chunk-LEZEWKPA.js} +1004 -39
  181. package/dist/{chunk-ULQ6MDSJ.cjs → chunk-LFDPTJYF.cjs} +43 -35
  182. package/dist/chunk-LJD7KR3L.cjs +44 -0
  183. package/dist/{chunk-NCC6ETZS.js → chunk-LUMV3DB2.js} +41 -33
  184. package/dist/{chunk-QXH5RCFI.js → chunk-M5DK524Z.js} +2 -2
  185. package/dist/chunk-M7B7RRBK.cjs +1034 -0
  186. package/dist/chunk-MANJ67D3.js +3897 -0
  187. package/dist/{chunk-HPHJ73GU.cjs → chunk-MGNXABSU.cjs} +9 -9
  188. package/dist/{chunk-6ZCULLCA.js → chunk-MMKZSJUN.js} +1 -1
  189. package/dist/{chunk-DVUHHH3B.cjs → chunk-MQQH4XQH.cjs} +4 -4
  190. package/dist/chunk-MUNUUFU7.cjs +21 -0
  191. package/dist/{chunk-DVZOENQ7.cjs → chunk-MZN6JBRZ.cjs} +9 -4
  192. package/dist/{chunk-OOKY3HPZ.js → chunk-NB6M6ESM.js} +50 -9
  193. package/dist/{chunk-BYONM7UM.js → chunk-NBGOIFKP.js} +265 -18
  194. package/dist/chunk-NHWHEW7M.cjs +75 -0
  195. package/dist/chunk-NQZH5CR2.cjs +468 -0
  196. package/dist/{chunk-EGPXJERY.cjs → chunk-NV6LCD2I.cjs} +119 -28
  197. package/dist/chunk-NVATU4V6.cjs +44 -0
  198. package/dist/{chunk-YZXUDM5X.js → chunk-NZ3ZWLUW.js} +204 -62
  199. package/dist/chunk-NZ7GCK7Y.cjs +92 -0
  200. package/dist/{chunk-VEKDGU2Q.cjs → chunk-NZQFKXM3.cjs} +49 -25
  201. package/dist/chunk-O5GI6SR3.js +59 -0
  202. package/dist/{chunk-56SWIDEL.cjs → chunk-OCATAKXV.cjs} +57 -56
  203. package/dist/{chunk-SKV2F3NM.js → chunk-OIGYWOL6.js} +1 -1
  204. package/dist/{chunk-IFFXSTOM.cjs → chunk-ONVYXTUT.cjs} +3 -3
  205. package/dist/chunk-OR67YXQK.cjs +13 -0
  206. package/dist/chunk-OV3T5MUH.cjs +715 -0
  207. package/dist/{chunk-OHUZKDGX.js → chunk-P4FUTSVK.js} +3 -3
  208. package/dist/chunk-P6SLT2F4.cjs +139 -0
  209. package/dist/{chunk-TNZRZQ7Q.js → chunk-PB7W7R72.js} +3 -78
  210. package/dist/chunk-PCM3N3CL.cjs +37 -0
  211. package/dist/{chunk-2AA5MFES.js → chunk-PGFLPURU.js} +8 -5
  212. package/dist/{chunk-DJDE4DTT.cjs → chunk-PIXQ2AVM.cjs} +25 -19
  213. package/dist/chunk-PNIAIOMZ.cjs +229 -0
  214. package/dist/{chunk-HTLINWX6.cjs → chunk-PQBYFEBL.cjs} +16 -13
  215. package/dist/{chunk-22D2CNTP.cjs → chunk-PSAH4ZQB.cjs} +5 -2
  216. package/dist/{chunk-3VTAFAL2.js → chunk-PTTZI4QZ.js} +16 -12
  217. package/dist/{chunk-WPVWQSL7.cjs → chunk-PY73W5MQ.cjs} +16 -13
  218. package/dist/{chunk-EGMZDTSL.js → chunk-PZZMIYII.js} +10 -2
  219. package/dist/{chunk-HBZU3RBZ.js → chunk-Q3BS6FPM.js} +34 -10
  220. package/dist/chunk-QBYGMMDD.js +517 -0
  221. package/dist/chunk-QLZOMZO5.cjs +388 -0
  222. package/dist/{chunk-ADUFCS4Q.cjs → chunk-QQ64HEHP.cjs} +160 -79
  223. package/dist/{chunk-L3TWPROA.js → chunk-QRQF3556.js} +44 -24
  224. package/dist/{chunk-YHD6TUIR.cjs → chunk-QW2RW2GY.cjs} +2 -0
  225. package/dist/chunk-RAKO7UN7.js +114 -0
  226. package/dist/{chunk-7TQH3CL4.cjs → chunk-RBXBH6EB.cjs} +78 -35
  227. package/dist/chunk-RFUKZIJF.cjs +78 -0
  228. package/dist/chunk-RS2E32YB.js +71 -0
  229. package/dist/{chunk-OLSBBZW6.cjs → chunk-S5JNQIGL.cjs} +5 -5
  230. package/dist/{chunk-FTYY5JJD.js → chunk-S5QKRA2V.js} +2 -2
  231. package/dist/chunk-SD3NTC7D.cjs +77 -0
  232. package/dist/{chunk-KPELYZ6L.js → chunk-SDLY4X3G.js} +2 -2
  233. package/dist/{chunk-IDFF5J2E.js → chunk-SFFEKZGC.js} +38 -7
  234. package/dist/{chunk-EGFT4PGW.js → chunk-SHRLFX6F.js} +8 -3
  235. package/dist/{chunk-3WICOC33.js → chunk-SNDDZG5H.js} +124 -84
  236. package/dist/{chunk-CZXGCVTR.cjs → chunk-SOVR7S3T.cjs} +2 -2
  237. package/dist/chunk-SPQ7QIQ6.js +78 -0
  238. package/dist/{chunk-XRZEUWKF.js → chunk-SRMGWMQO.js} +1 -1
  239. package/dist/{chunk-R33VKSH5.cjs → chunk-SVVP4UUZ.cjs} +11 -11
  240. package/dist/{chunk-7BTSG4ME.cjs → chunk-SY2P3Z5W.cjs} +1004 -39
  241. package/dist/chunk-SZD45IDG.js +468 -0
  242. package/dist/{chunk-3O3MOK5C.cjs → chunk-TE4SYTWR.cjs} +1114 -142
  243. package/dist/chunk-TH26BQJG.js +101 -0
  244. package/dist/{chunk-QNGEW5TC.js → chunk-TR6NECEZ.js} +1 -1
  245. package/dist/{chunk-YGN4CQIP.js → chunk-TYBPTKFT.js} +1 -1
  246. package/dist/{chunk-GJH7XMSK.js → chunk-U2QUMKCB.js} +8 -6
  247. package/dist/{chunk-47CKWKEX.cjs → chunk-U6PLSPMD.cjs} +9 -4
  248. package/dist/chunk-UOQECODR.js +34 -0
  249. package/dist/chunk-UR27UDTB.js +354 -0
  250. package/dist/chunk-UWZ4G3SQ.js +93 -0
  251. package/dist/{chunk-Y72HH2TF.cjs → chunk-V3SZLWEQ.cjs} +33 -24
  252. package/dist/chunk-V4HGZSKQ.cjs +183 -0
  253. package/dist/{chunk-3PDTTAKJ.js → chunk-V5ELP2XE.js} +19 -12
  254. package/dist/{chunk-3K2ESU53.cjs → chunk-VKOXFT4L.cjs} +2 -2
  255. package/dist/{chunk-XTB6VJVQ.cjs → chunk-VLGGMQUN.cjs} +6 -6
  256. package/dist/chunk-VQHSYAPZ.cjs +3897 -0
  257. package/dist/chunk-VUGOOGHB.js +400 -0
  258. package/dist/chunk-W5QLA6WP.cjs +866 -0
  259. package/dist/chunk-WBU4Q4GS.cjs +400 -0
  260. package/dist/{chunk-KWXVKLQ5.cjs → chunk-WGNMOVMT.cjs} +7 -82
  261. package/dist/chunk-WJYFLQ7G.cjs +27 -0
  262. package/dist/{chunk-RKJTGGMU.cjs → chunk-WKRDBCP2.cjs} +221 -16
  263. package/dist/{chunk-ZSPXQYG2.js → chunk-WNJXIACY.js} +7 -5
  264. package/dist/{chunk-AYS2ASM7.js → chunk-WPE2XHVX.js} +1 -1
  265. package/dist/chunk-WTB7AFL6.cjs +101 -0
  266. package/dist/{chunk-JYTDYJVW.js → chunk-X3TI5TJJ.js} +1 -1
  267. package/dist/chunk-X5P6QQOB.cjs +719 -0
  268. package/dist/{chunk-245KJE5Y.cjs → chunk-X7XMITIL.cjs} +14 -6
  269. package/dist/chunk-XF2WIKHR.cjs +34 -0
  270. package/dist/{chunk-DV2ZHK7B.cjs → chunk-XNIMSVS6.cjs} +49 -26
  271. package/dist/chunk-XW3XCK4E.cjs +59 -0
  272. package/dist/{chunk-N23UAW4I.js → chunk-XZVDYC5U.js} +7 -2
  273. package/dist/chunk-Y5BDE24P.cjs +444 -0
  274. package/dist/{chunk-NAGQ2PDC.js → chunk-YC5OBZQU.js} +1604 -433
  275. package/dist/chunk-YISPVAXO.cjs +2340 -0
  276. package/dist/{chunk-KQGPTCQJ.js → chunk-YQDI753V.js} +68 -25
  277. package/dist/{chunk-UJ2JSM6H.js → chunk-YVQI26H4.js} +2 -0
  278. package/dist/{chunk-NNPAM4HC.cjs → chunk-YWH55BWK.cjs} +15 -6
  279. package/dist/{chunk-X2YOZQIP.cjs → chunk-YWTIXHU6.cjs} +266 -19
  280. package/dist/{chunk-XX2ZO7DS.js → chunk-YXM6SA7P.js} +25 -16
  281. package/dist/chunk-YZWE7XSM.js +5 -0
  282. package/dist/chunk-ZASDSY7P.cjs +114 -0
  283. package/dist/{chunk-2UC22DJU.js → chunk-ZNGRLCFQ.js} +30 -4
  284. package/dist/{chunk-KANW6OYC.cjs → chunk-ZNYZB7XY.cjs} +34 -8
  285. package/dist/{chunk-NA6WQDYW.js → chunk-ZPLCAXJW.js} +1088 -116
  286. package/dist/{chunk-7UOUW76C.js → chunk-ZQAT5VT5.js} +101 -24
  287. package/dist/chunk-ZUYYHKQA.js +44 -0
  288. package/dist/clear-QJXU25IF.cjs +12 -0
  289. package/dist/{clear-A3N4GK2S.js → clear-Y5TO3RZA.js} +3 -3
  290. package/dist/communityInstaller-LXMVKVAV.cjs +22 -0
  291. package/dist/{communityInstaller-LOP2EDH5.js → communityInstaller-RVL4STPS.js} +8 -5
  292. package/dist/completion-JX4T2ONW.cjs +17 -0
  293. package/dist/completion-SE3XYG74.js +17 -0
  294. package/dist/config-3224PRW4.cjs +21 -0
  295. package/dist/{config-HPJPKTO6.js → config-7KPHKFTP.js} +7 -4
  296. package/dist/{constants-LISJW3DD.js → constants-EJFAWJQI.js} +1 -1
  297. package/dist/constants-MCCGUU5F.cjs +21 -0
  298. package/dist/{defaultHooks-IHSJR2AX.cjs → defaultHooks-2V2CQL63.cjs} +25 -10
  299. package/dist/{defaultHooks-KUKHK3AG.js → defaultHooks-TMHDU3FS.js} +25 -10
  300. package/dist/export-BJVIDZC4.js +15 -0
  301. package/dist/export-KU4557HK.cjs +15 -0
  302. package/dist/feature-K3LG5IJP.cjs +14 -0
  303. package/dist/feature-V4JF5TNJ.js +14 -0
  304. package/dist/features-5OJTLKS7.js +23 -0
  305. package/dist/features-VCBJQXCX.cjs +23 -0
  306. package/dist/feedback-D4437VE4.js +18 -0
  307. package/dist/feedback-VZPEHGFY.cjs +18 -0
  308. package/dist/fffSearchProvider-2YCNKOYD.js +412 -0
  309. package/dist/fffSearchProvider-W6627E2V.cjs +412 -0
  310. package/dist/{filesystem-Z7BWAWMZ.js → filesystem-L6DQKGWK.js} +3 -2
  311. package/dist/filesystem-PGUPCMVK.cjs +11 -0
  312. package/dist/go-X4E6BCD6.js +12 -0
  313. package/dist/go-XREVFS5I.cjs +12 -0
  314. package/dist/goal-4M3J6JS2.cjs +16 -0
  315. package/dist/goal-EI66BV7W.js +16 -0
  316. package/dist/help-GGFS7WHY.cjs +12 -0
  317. package/dist/{help-GFQXNZOK.js → help-MLIROWKM.js} +2 -2
  318. package/dist/{history-E3N6BJP7.js → history-GQJ6RZD6.js} +2 -2
  319. package/dist/history-J4LUIOSI.cjs +14 -0
  320. package/dist/hooks-FSRIUS6A.cjs +18 -0
  321. package/dist/hooks-PPFHCF7T.js +18 -0
  322. package/dist/i18n-CI6VFXL5.cjs +33 -0
  323. package/dist/{i18n-SY7QRM22.js → i18n-Q7UZJRPL.js} +1 -1
  324. package/dist/ide-BUSVE54P.js +15 -0
  325. package/dist/ide-YR27BPGM.cjs +15 -0
  326. package/dist/immediateCommandRouter-MTEHZXQX.js +15 -0
  327. package/dist/immediateCommandRouter-ROXU3MWT.cjs +15 -0
  328. package/dist/{import-W7SVLSTC.js → import-3VBKI6BN.js} +3 -3
  329. package/dist/{import-ADI37ZUR.cjs → import-C7S6UJMW.cjs} +3 -3
  330. package/dist/import-DBK4OCDF.cjs +10 -0
  331. package/dist/{import-KGKKZ3B7.js → import-U47DXCA7.js} +2 -2
  332. package/dist/index.cjs +837 -23011
  333. package/dist/index.d.cts +95 -0
  334. package/dist/index.d.ts +95 -0
  335. package/dist/index.js +864 -23038
  336. package/dist/init-OXTYS72D.cjs +10 -0
  337. package/dist/{init-7MFK626E.js → init-Q2O4R42R.js} +2 -2
  338. package/dist/inkMode-VUE6ZDLD.cjs +7 -0
  339. package/dist/inkMode-WBNFOSAT.js +7 -0
  340. package/dist/inputPrompt-3CFZDUBH.js +90 -0
  341. package/dist/inputPrompt-JMACL4EB.cjs +90 -0
  342. package/dist/language-EK3M6UBV.cjs +22 -0
  343. package/dist/language-Q3RUGGOW.js +22 -0
  344. package/dist/learn-3DSX7DYG.cjs +23 -0
  345. package/dist/learn-OPOH5L43.js +23 -0
  346. package/dist/login-GST7MWXJ.cjs +27 -0
  347. package/dist/login-Q7DZKAX4.js +27 -0
  348. package/dist/logout-2G7OUK7I.cjs +24 -0
  349. package/dist/logout-FNBBL2UI.js +24 -0
  350. package/dist/mcp-AH3MMUBU.js +21 -0
  351. package/dist/mcp-DW7R63IB.cjs +21 -0
  352. package/dist/{mcp-install-2FEROZTL.js → mcp-install-222PCKSW.js} +18 -10
  353. package/dist/{mcp-install-WM6BQRI5.cjs → mcp-install-IA4ZS2SV.cjs} +22 -14
  354. package/dist/memory-6NX3DAIY.cjs +10 -0
  355. package/dist/{memory-J73WZH2I.js → memory-VB46T5H3.js} +2 -2
  356. package/dist/model-64NAELFS.cjs +10 -0
  357. package/dist/{model-AES267IN.js → model-SJJG64AM.js} +2 -2
  358. package/dist/new-DU5SOOOY.cjs +12 -0
  359. package/dist/{new-5CLF3MKH.js → new-ERZ5C6CN.js} +3 -3
  360. package/dist/onboarding-2U2BV2KE.cjs +36 -0
  361. package/dist/onboarding-ZQXMPSMJ.js +36 -0
  362. package/dist/permissions-7ACNFK7A.js +10 -0
  363. package/dist/permissions-GSNNV7RJ.cjs +10 -0
  364. package/dist/plan-XEJMOT55.cjs +13 -0
  365. package/dist/{plan-65HMS5HQ.js → plan-YYUAXPTL.js} +3 -1
  366. package/dist/pr-review-CW6J7P62.cjs +9 -0
  367. package/dist/pr-review-YZSBQVT2.js +9 -0
  368. package/dist/{quit-XDZYRSPU.js → quit-WY6T267G.js} +2 -2
  369. package/dist/quit-XIRE2KRE.cjs +10 -0
  370. package/dist/rawMode-6W5AXAKI.cjs +7 -0
  371. package/dist/rawMode-GFNLXQPU.js +7 -0
  372. package/dist/{registry-PTHWERKC.js → registry-4DXUDKJN.js} +29 -44
  373. package/dist/{registry-IVT4G2RT.cjs → registry-UEO3ETZ7.cjs} +65 -80
  374. package/dist/repeat-P4FAPE3Y.cjs +17 -0
  375. package/dist/{repeat-EVCWUL6Z.js → repeat-RALE6AUO.js} +7 -3
  376. package/dist/resume-RQZ3WXBP.cjs +17 -0
  377. package/dist/resume-XSXZMDMD.js +17 -0
  378. package/dist/review-QHP2KP4Q.js +9 -0
  379. package/dist/review-UWHWQHCB.cjs +9 -0
  380. package/dist/ripgrep-67SCU2BA.cjs +9 -0
  381. package/dist/ripgrep-VHJQQ55W.js +9 -0
  382. package/dist/rpc-XH7QLN4H.js +3874 -0
  383. package/dist/rpc-YF54T7JU.cjs +3874 -0
  384. package/dist/search-VXXFGZWU.cjs +21 -0
  385. package/dist/search-YAWGX7P7.js +21 -0
  386. package/dist/{sessions-6GWEBMKS.js → sessions-NJYHJOEL.js} +2 -2
  387. package/dist/sessions-OSG3UJEZ.cjs +10 -0
  388. package/dist/settings-SO2UIGWV.cjs +42 -0
  389. package/dist/settings-ZXUQH3DO.js +42 -0
  390. package/dist/setup-KG7EGKF5.js +30 -0
  391. package/dist/setup-RSOPCQ57.cjs +30 -0
  392. package/dist/share-WFAGZ5PY.js +17 -0
  393. package/dist/share-ZU3SGACF.cjs +17 -0
  394. package/dist/skills-KBVAQAD2.cjs +29 -0
  395. package/dist/skills-NBTNDVAY.js +29 -0
  396. package/dist/{skills-ZZCIAS7C.js → skills-OB6RDW7D.js} +10 -7
  397. package/dist/{skills-PG542VEB.cjs → skills-ZROBG3RZ.cjs} +13 -10
  398. package/dist/{skills-install-SRC3Z2MS.js → skills-install-BHTIEMKH.js} +21 -70
  399. package/dist/{skills-install-67DOBPJC.cjs → skills-install-ILX6QVEF.cjs} +34 -83
  400. package/dist/skills-new-B45VQ2PP.cjs +18 -0
  401. package/dist/skills-new-YMRP2HNO.js +18 -0
  402. package/dist/slashCommands-53VYIBJU.js +105 -0
  403. package/dist/slashCommands-BG2RGGZ6.cjs +105 -0
  404. package/dist/status-CQ2IUOVK.cjs +24 -0
  405. package/dist/status-E7IGNVPC.js +24 -0
  406. package/dist/summarizer-DGPHE5IQ.js +17 -0
  407. package/dist/summarizer-JNXLUAQG.cjs +17 -0
  408. package/dist/sync-7C25MOT2.js +22 -0
  409. package/dist/{sync-VU2NSJ4O.js → sync-OCJN4ZSO.js} +3 -3
  410. package/dist/sync-XRP46IVG.cjs +40 -0
  411. package/dist/sync-ZMFVE7T4.cjs +22 -0
  412. package/dist/{teammate-SXRVXNQV.cjs → teammate-D77B6QRT.cjs} +31 -9
  413. package/dist/{teammate-SD26GR37.js → teammate-EZCMHOIL.js} +30 -8
  414. package/dist/templates-ARG2VRWW.cjs +11 -0
  415. package/dist/templates-UGVZV3KJ.js +11 -0
  416. package/dist/theme-KKRDE6P7.cjs +22 -0
  417. package/dist/theme-XF7XIWBQ.js +22 -0
  418. package/dist/tools-3PPTTKFV.js +9 -0
  419. package/dist/tools-THIQA7WC.cjs +9 -0
  420. package/dist/ui/questionModal.cjs +8 -5
  421. package/dist/ui/questionModal.js +7 -4
  422. package/dist/{undo-OL2EDBRY.js → undo-GNUTFXCW.js} +2 -2
  423. package/dist/undo-U4KN7QQM.cjs +10 -0
  424. package/dist/usage-QSTNSDAO.js +24 -0
  425. package/dist/usage-YDEMQBNQ.cjs +24 -0
  426. package/dist/web-3BA2WV37.cjs +37 -0
  427. package/dist/web-6FYGBX5K.js +37 -0
  428. package/dist/workspaceSafety-MDJGHK6D.cjs +9 -0
  429. package/dist/workspaceSafety-XOUMUBVB.js +9 -0
  430. package/dist/yolo-GF2YD7ZI.js +9 -0
  431. package/dist/yolo-OGDA7HNC.cjs +9 -0
  432. package/dist/yoloMode-3DJDA75U.cjs +17 -0
  433. package/dist/yoloMode-4JOOSU26.js +17 -0
  434. package/package.json +51 -49
  435. package/dist/AgentRegistry-HRPN6ZOF.cjs +0 -10
  436. package/dist/CommunitySkillsCache-KE435RAR.cjs +0 -8
  437. package/dist/GitHubRegistryFetcher-I45SESIL.cjs +0 -7
  438. package/dist/LearnAdvisor-FLBA6FDD.js +0 -9
  439. package/dist/LearnAdvisor-GG3CXQF3.cjs +0 -9
  440. package/dist/MemoryManager-2LQPIYVE.cjs +0 -8
  441. package/dist/PermissionManager-X57BXHJ6.cjs +0 -11
  442. package/dist/ProviderFactory-KPJOGQWF.cjs +0 -9
  443. package/dist/SessionManager-YBJAZXNO.cjs +0 -10
  444. package/dist/SkillsRegistry-7O72A6TZ.cjs +0 -9
  445. package/dist/SubAgent-JT4HZHN7.js +0 -11
  446. package/dist/SubAgent-VPNYDWAU.cjs +0 -11
  447. package/dist/SyncApiClient-HQXJL5BT.cjs +0 -11
  448. package/dist/about-4DB5KTHW.js +0 -12
  449. package/dist/about-LXAOXZFT.cjs +0 -12
  450. package/dist/actionExecutor-23JB2WUC.js +0 -19
  451. package/dist/actionExecutor-X5UEZSKH.cjs +0 -19
  452. package/dist/add-dir-YC37DMSF.cjs +0 -10
  453. package/dist/agents-YF3BSUU5.js +0 -12
  454. package/dist/agents-ZOUHPMYR.cjs +0 -12
  455. package/dist/agents-new-HSH4GQPG.js +0 -14
  456. package/dist/agents-new-VYUDOCE7.cjs +0 -14
  457. package/dist/autoSkill-X5W52WOE.cjs +0 -20
  458. package/dist/automode-SJGM7VEI.cjs +0 -10
  459. package/dist/chunk-ALYU6VTM.js +0 -105
  460. package/dist/chunk-B53A2NM2.js +0 -2030
  461. package/dist/chunk-BJXSNT46.js +0 -100
  462. package/dist/chunk-CB4E2T5N.cjs +0 -312
  463. package/dist/chunk-DNUOXBHL.js +0 -539
  464. package/dist/chunk-EFX2QSZX.cjs +0 -33
  465. package/dist/chunk-GCXYXLRA.cjs +0 -111
  466. package/dist/chunk-H2ZRHQQV.js +0 -33
  467. package/dist/chunk-HNRPK5MY.cjs +0 -85
  468. package/dist/chunk-HVKOZ2VP.cjs +0 -115
  469. package/dist/chunk-JJLYWH5Y.cjs +0 -100
  470. package/dist/chunk-LWUJFGOZ.js +0 -115
  471. package/dist/chunk-MERYP6AM.cjs +0 -539
  472. package/dist/chunk-MZAPWNAC.cjs +0 -207
  473. package/dist/chunk-NTSDP2WB.js +0 -226
  474. package/dist/chunk-OUZQXMHL.cjs +0 -226
  475. package/dist/chunk-PGESAU2W.cjs +0 -2030
  476. package/dist/chunk-SYVYLZZF.cjs +0 -24
  477. package/dist/chunk-SZOLA6FR.js +0 -111
  478. package/dist/chunk-VWDHR4HV.js +0 -168
  479. package/dist/chunk-Y45G6ZO5.cjs +0 -168
  480. package/dist/chunk-YRLYSQEQ.cjs +0 -105
  481. package/dist/chunk-ZYVS43MU.js +0 -312
  482. package/dist/clear-GK4IEUUS.cjs +0 -12
  483. package/dist/communityInstaller-XXC7RLE4.cjs +0 -19
  484. package/dist/completion-HWABSAEL.js +0 -14
  485. package/dist/completion-IUUVQG4D.cjs +0 -14
  486. package/dist/config-HF7WOLZF.cjs +0 -18
  487. package/dist/constants-PEO3P2SJ.cjs +0 -21
  488. package/dist/export-QJAV2FCZ.js +0 -12
  489. package/dist/export-XSRFXGWU.cjs +0 -12
  490. package/dist/feedback-4TCIL3ML.cjs +0 -15
  491. package/dist/feedback-SJ6VVEY3.js +0 -15
  492. package/dist/filesystem-W56QZUJF.cjs +0 -10
  493. package/dist/help-ISBVQL3S.cjs +0 -12
  494. package/dist/history-XQ4GTSFU.cjs +0 -14
  495. package/dist/hooks-CJNKJ5PF.js +0 -13
  496. package/dist/hooks-UTMBTAXT.cjs +0 -13
  497. package/dist/i18n-N7QQ7A5M.cjs +0 -33
  498. package/dist/ide-RTA4UJV4.js +0 -12
  499. package/dist/ide-VWVOLIFF.cjs +0 -12
  500. package/dist/immediateCommandRouter-BW34JNXL.js +0 -9
  501. package/dist/immediateCommandRouter-SHOVNB5X.cjs +0 -9
  502. package/dist/import-ZLJVONXH.cjs +0 -10
  503. package/dist/init-TBKAB4LZ.cjs +0 -10
  504. package/dist/language-MDSHEXHB.cjs +0 -18
  505. package/dist/language-PXTQSHIG.js +0 -18
  506. package/dist/learn-623TW5EK.cjs +0 -20
  507. package/dist/learn-BCPV7GM2.js +0 -20
  508. package/dist/localProjectPermissions-BHQXEWZJ.cjs +0 -18
  509. package/dist/localProjectPermissions-GMOUYQM6.js +0 -18
  510. package/dist/login-QMVEETWJ.js +0 -20
  511. package/dist/login-QYMXAL3K.cjs +0 -20
  512. package/dist/logout-2CMTDAOJ.js +0 -18
  513. package/dist/logout-ZOHVZAUK.cjs +0 -18
  514. package/dist/mcp-IUVKK65S.js +0 -18
  515. package/dist/mcp-TXC7PYG3.cjs +0 -18
  516. package/dist/memory-WRIHDEPK.cjs +0 -10
  517. package/dist/model-RLP75SF5.cjs +0 -10
  518. package/dist/new-HLSFL6A4.cjs +0 -12
  519. package/dist/permissions-GP6FTGZ2.js +0 -13
  520. package/dist/permissions-O6EKKPOG.cjs +0 -13
  521. package/dist/plan-MCAXDIM2.cjs +0 -11
  522. package/dist/quit-TQX6GXA5.cjs +0 -10
  523. package/dist/repeat-BSPS5TWD.cjs +0 -13
  524. package/dist/resume-2GOPDLL4.cjs +0 -13
  525. package/dist/resume-37IUVDA6.js +0 -13
  526. package/dist/search-7KUSHIBL.cjs +0 -17
  527. package/dist/search-OJGDRIMA.js +0 -17
  528. package/dist/sessions-CYYCHSQG.cjs +0 -10
  529. package/dist/settings-2D7CAO66.cjs +0 -30
  530. package/dist/settings-BXR6SBJP.js +0 -30
  531. package/dist/share-BXQY5IQU.js +0 -14
  532. package/dist/share-OSFXZBGS.cjs +0 -14
  533. package/dist/skills-FL6O6AOM.cjs +0 -26
  534. package/dist/skills-PNKQZRNK.js +0 -26
  535. package/dist/skills-new-XFMEHHIF.cjs +0 -15
  536. package/dist/skills-new-ZNZPHUKS.js +0 -15
  537. package/dist/slashCommands-LLCNPK3X.js +0 -76
  538. package/dist/slashCommands-RXZZS6RE.cjs +0 -76
  539. package/dist/status-BCECUJXT.cjs +0 -11
  540. package/dist/status-EFO7MQU3.js +0 -11
  541. package/dist/sync-IJYJ6KKM.js +0 -18
  542. package/dist/sync-LFT6SBPF.cjs +0 -18
  543. package/dist/sync-U7SDPBNZ.cjs +0 -40
  544. package/dist/theme-AWBHSG7J.cjs +0 -18
  545. package/dist/theme-TQLBPJ2E.js +0 -18
  546. package/dist/undo-IBBGP7A2.cjs +0 -10
@@ -1,14 +1,14 @@
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; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
3
+ var _chunkSY2P3Z5Wcjs = require('./chunk-SY2P3Z5W.cjs');
4
4
 
5
5
  // src/commands/help.ts
6
6
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
7
7
  var _terminallink = require('terminal-link'); var _terminallink2 = _interopRequireDefault(_terminallink);
8
8
  async function help() {
9
- const { SLASH_COMMANDS } = await Promise.resolve().then(() => _interopRequireWildcard(require("./slashCommands-RXZZS6RE.cjs")));
9
+ const { SLASH_COMMANDS } = await Promise.resolve().then(() => _interopRequireWildcard(require("./slashCommands-BG2RGGZ6.cjs")));
10
10
  console.log(_chalk2.default.cyan(`
11
- ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.help.title")}
11
+ ${_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.help.title")}
12
12
  `));
13
13
  const commands = SLASH_COMMANDS.filter((cmd) => cmd.implemented && cmd.command !== "/?").sort((a, b) => a.command.localeCompare(b.command));
14
14
  const maxLen = Math.max(...commands.map((c) => c.command.length)) + 2;
@@ -16,15 +16,15 @@ async function help() {
16
16
  console.log(` ${_chalk2.default.yellow(command.padEnd(maxLen))} ${_chalk2.default.gray(description)}`);
17
17
  }
18
18
  console.log(_chalk2.default.cyan(`
19
- ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.help.tips.title")}
19
+ ${_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.help.tips.title")}
20
20
  `));
21
- console.log(_chalk2.default.gray(` \u2022 ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.help.tips.mention")}`));
22
- console.log(_chalk2.default.gray(` \u2022 ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.help.tips.arrows")}`));
23
- console.log(_chalk2.default.gray(` \u2022 ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.help.tips.tab")}`));
24
- console.log(_chalk2.default.gray(` \u2022 ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.help.tips.escape")}
21
+ console.log(_chalk2.default.gray(` \u2022 ${_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.help.tips.mention")}`));
22
+ console.log(_chalk2.default.gray(` \u2022 ${_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.help.tips.arrows")}`));
23
+ console.log(_chalk2.default.gray(` \u2022 ${_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.help.tips.tab")}`));
24
+ console.log(_chalk2.default.gray(` \u2022 ${_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.help.tips.escape")}
25
25
  `));
26
26
  const docLink = _terminallink2.default.call(void 0, "docs.autohand.ai", "https://docs.autohand.ai");
27
- console.log(_chalk2.default.gray(` ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.help.docsLink", { link: docLink })}
27
+ console.log(_chalk2.default.gray(` ${_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.help.docsLink", { link: docLink })}
28
28
  `));
29
29
  return null;
30
30
  }
@@ -3,7 +3,7 @@ import {
3
3
  showInput,
4
4
  showModal,
5
5
  showPassword
6
- } from "./chunk-YZXUDM5X.js";
6
+ } from "./chunk-NZ3ZWLUW.js";
7
7
 
8
8
  // src/utils/prompt.ts
9
9
  async function safePrompt(questions) {
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
3
+ var _chunkSY2P3Z5Wcjs = require('./chunk-SY2P3Z5W.cjs');
4
4
 
5
5
  // src/commands/undo.ts
6
6
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
@@ -29,13 +29,13 @@ async function undo(ctx) {
29
29
  console.log(_chalk2.default.green(" Removed untracked files"));
30
30
  }
31
31
  } else {
32
- console.log(_chalk2.default.gray(" " + _chunk7BTSG4MEcjs.t.call(void 0, "commands.undo.noChanges")));
32
+ console.log(_chalk2.default.gray(" " + _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.undo.noChanges")));
33
33
  }
34
34
  try {
35
35
  await ctx.undoFileMutation();
36
- console.log(_chalk2.default.green(" " + _chunk7BTSG4MEcjs.t.call(void 0, "commands.undo.success", { file: "last mutation" })));
36
+ console.log(_chalk2.default.green(" " + _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.undo.success", { file: "last mutation" })));
37
37
  } catch (e) {
38
- console.log(_chalk2.default.gray(" " + _chunk7BTSG4MEcjs.t.call(void 0, "commands.undo.noChanges")));
38
+ console.log(_chalk2.default.gray(" " + _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.undo.noChanges")));
39
39
  }
40
40
  ctx.removeLastTurn();
41
41
  console.log(_chalk2.default.green(" Removed last conversation turn"));
@@ -0,0 +1,21 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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; }// src/ui/rawMode.ts
2
+ function safeSetRawMode(input, mode) {
3
+ if (!_optionalChain([input, 'optionalAccess', _ => _.isTTY]) || typeof input.setRawMode !== "function") {
4
+ return false;
5
+ }
6
+ try {
7
+ input.setRawMode(mode);
8
+ return true;
9
+ } catch (e) {
10
+ return false;
11
+ }
12
+ }
13
+
14
+
15
+
16
+ exports.safeSetRawMode = safeSetRawMode;
17
+ /**
18
+ * @license
19
+ * Copyright 2025 Autohand AI LLC
20
+ * SPDX-License-Identifier: Apache-2.0
21
+ */
@@ -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; }
2
2
 
3
- var _chunkCNBKZEX5cjs = require('./chunk-CNBKZEX5.cjs');
3
+ var _chunkDA7NBAJKcjs = require('./chunk-DA7NBAJK.cjs');
4
4
 
5
5
 
6
6
  var _chunkYFXTE422cjs = require('./chunk-YFXTE422.cjs');
7
7
 
8
8
 
9
- var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
9
+ var _chunkSY2P3Z5Wcjs = require('./chunk-SY2P3Z5W.cjs');
10
10
 
11
11
  // src/commands/clear.ts
12
12
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
@@ -16,7 +16,7 @@ async function clearConversation(ctx) {
16
16
  sessionId: _nullishCoalesce(_optionalChain([ctx, 'access', _ => _.sessionManager, 'access', _2 => _2.getCurrentSession, 'call', _3 => _3(), 'optionalAccess', _4 => _4.metadata, 'access', _5 => _5.sessionId]), () => ( ""))
17
17
  });
18
18
  }
19
- const conversationHistory = _chunkCNBKZEX5cjs.ConversationManager.getInstance().history();
19
+ const conversationHistory = _chunkDA7NBAJKcjs.ConversationManager.getInstance().history();
20
20
  const saved = await _chunkYFXTE422cjs.extractAndSaveSessionMemories.call(void 0, {
21
21
  llm: ctx.llm,
22
22
  memoryManager: ctx.memoryManager,
@@ -29,6 +29,11 @@ async function clearConversation(ctx) {
29
29
  }
30
30
  await ctx.resetConversation();
31
31
  await ctx.sessionManager.createSession(ctx.workspaceRoot, ctx.model);
32
+ if (ctx.clearScreen) {
33
+ ctx.clearScreen();
34
+ } else {
35
+ process.stdout.write("\x1B[2J\x1B[H");
36
+ }
32
37
  console.log();
33
38
  if (saved.length > 0) {
34
39
  console.log(
@@ -37,7 +42,7 @@ async function clearConversation(ctx) {
37
42
  )
38
43
  );
39
44
  } else {
40
- console.log(_chalk2.default.cyan(_chunk7BTSG4MEcjs.t.call(void 0, "commands.new.cleared")));
45
+ console.log(_chalk2.default.cyan(_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.new.cleared")));
41
46
  }
42
47
  console.log();
43
48
  return null;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  t
3
- } from "./chunk-APIXPPMT.js";
3
+ } from "./chunk-LEZEWKPA.js";
4
4
 
5
5
  // src/commands/automode.ts
6
6
  import chalk from "chalk";
@@ -9,6 +9,8 @@ var metadata = {
9
9
  description: t("commands.automode.description"),
10
10
  implemented: true,
11
11
  subcommands: [
12
+ { name: "on", description: "Enable interactive auto-mode for this session" },
13
+ { name: "off", description: "Disable interactive auto-mode for this session" },
12
14
  { name: "status", description: "Show current loop state" },
13
15
  { name: "pause", description: "Pause the active loop" },
14
16
  { name: "resume", description: "Resume paused loop" },
@@ -22,6 +24,10 @@ function parseArgs(args) {
22
24
  result.subcommand = firstArg;
23
25
  args = args.slice(1);
24
26
  }
27
+ if (["on", "off"].includes(firstArg)) {
28
+ result.subcommand = firstArg;
29
+ args = args.slice(1);
30
+ }
25
31
  const promptParts = [];
26
32
  for (let i = 0; i < args.length; i++) {
27
33
  const arg = args[i];
@@ -42,25 +48,46 @@ function parseArgs(args) {
42
48
  }
43
49
  async function automode(ctx, args = []) {
44
50
  const { automodeManager } = ctx;
45
- if (!automodeManager) {
51
+ const parsed = parseArgs(args);
52
+ const interactiveAutomodeEnabled = ctx.isInteractiveAutomodeEnabled?.() === true;
53
+ const canToggleInteractiveAutomode = typeof ctx.setInteractiveAutomodeEnabled === "function";
54
+ if (!automodeManager && !canToggleInteractiveAutomode && parsed.subcommand !== "status") {
46
55
  return "Auto-mode manager not available. Please restart autohand.";
47
56
  }
48
- const parsed = parseArgs(args);
49
57
  switch (parsed.subcommand) {
50
58
  case "status":
51
- return handleStatus(automodeManager);
59
+ return handleStatus(automodeManager, interactiveAutomodeEnabled);
60
+ case "on":
61
+ return handleInteractiveToggle(ctx, true);
62
+ case "off":
63
+ return handleInteractiveToggle(ctx, false);
52
64
  case "pause":
65
+ if (!automodeManager) {
66
+ return "No auto-mode session is currently running.";
67
+ }
53
68
  return handlePause(automodeManager);
54
69
  case "resume":
70
+ if (!automodeManager) {
71
+ return "No auto-mode session to resume.";
72
+ }
55
73
  return handleResume(automodeManager);
56
74
  case "cancel":
75
+ if (!automodeManager) {
76
+ return "No auto-mode session to cancel.";
77
+ }
57
78
  return handleCancel(automodeManager);
58
79
  case "help":
59
80
  return showHelp();
60
81
  default:
82
+ if (!parsed.prompt && canToggleInteractiveAutomode) {
83
+ return handleInteractiveToggle(ctx, !interactiveAutomodeEnabled);
84
+ }
61
85
  if (!parsed.prompt) {
62
86
  return showHelp();
63
87
  }
88
+ if (!automodeManager) {
89
+ return 'Standalone auto-mode loops are only available from the CLI flag today. Use `autohand --auto-mode "<task>"`.';
90
+ }
64
91
  return handleStart(automodeManager, parsed);
65
92
  }
66
93
  }
@@ -80,10 +107,14 @@ Settings:
80
107
 
81
108
  ` + chalk.gray("Press ESC to cancel at any time.");
82
109
  }
83
- function handleStatus(manager) {
84
- const state = manager.getState();
110
+ function handleStatus(manager, interactiveEnabled) {
111
+ const state = manager?.getState();
112
+ const lines = [
113
+ `Interactive auto-mode: ${interactiveEnabled ? "enabled" : "disabled"}`
114
+ ];
85
115
  if (!state) {
86
- return "No auto-mode session is currently active.";
116
+ lines.push("No auto-mode session is currently active.");
117
+ return lines.join("\n");
87
118
  }
88
119
  const statusEmoji = {
89
120
  running: "\u{1F504}",
@@ -92,7 +123,7 @@ function handleStatus(manager) {
92
123
  cancelled: "\u26A0\uFE0F",
93
124
  failed: "\u274C"
94
125
  };
95
- const lines = [
126
+ lines.push(
96
127
  "",
97
128
  `${statusEmoji[state.status] ?? "\u2753"} Auto-Mode Status`,
98
129
  "",
@@ -101,7 +132,7 @@ function handleStatus(manager) {
101
132
  ` ${t("commands.automode.iteration", { current: String(state.currentIteration), max: String(state.maxIterations) })}`,
102
133
  ` Files created: ${state.filesCreated}`,
103
134
  ` Files modified: ${state.filesModified}`
104
- ];
135
+ );
105
136
  if (state.branch) {
106
137
  lines.push(` Branch: ${state.branch}`);
107
138
  }
@@ -111,6 +142,13 @@ function handleStatus(manager) {
111
142
  lines.push("");
112
143
  return lines.join("\n");
113
144
  }
145
+ function handleInteractiveToggle(ctx, enabled) {
146
+ if (!ctx.setInteractiveAutomodeEnabled) {
147
+ return "Interactive auto-mode is not available in this session.";
148
+ }
149
+ ctx.setInteractiveAutomodeEnabled(enabled);
150
+ return `Interactive auto-mode ${enabled ? "enabled" : "disabled"}.`;
151
+ }
114
152
  async function handlePause(manager) {
115
153
  if (!manager.isActive()) {
116
154
  return "No auto-mode session is currently running.";
@@ -146,6 +184,9 @@ Auto-mode lets autohand work autonomously on tasks through
146
184
  iterative improvement cycles-inspired by the Ralph technique.
147
185
 
148
186
  ${chalk.yellow("Usage:")}
187
+ /automode Toggle interactive auto-mode on or off
188
+ /automode on Enable interactive auto-mode
189
+ /automode off Disable interactive auto-mode
149
190
  /automode <prompt> Start auto-mode with a task
150
191
  /automode status Show current loop state
151
192
  /automode pause Pause the loop
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Theme,
3
3
  detectColorMode,
4
- getTheme,
5
- isThemeInitialized,
6
- setTheme
7
- } from "./chunk-LIEXWM2M.js";
4
+ getThemeSnapshot,
5
+ setTheme,
6
+ subscribeThemeChanges
7
+ } from "./chunk-JAQO6XDB.js";
8
8
 
9
9
  // src/ui/theme/themes.ts
10
10
  var darkTheme = {
@@ -46,8 +46,8 @@ var darkTheme = {
46
46
  dim: "gray200",
47
47
  text: "gray200",
48
48
  // Backgrounds & Content
49
- userMessageBg: "bgMedium",
50
- userMessageText: "gray200",
49
+ userMessageBg: "gray500",
50
+ userMessageText: "gray100",
51
51
  toolPendingBg: "bgLight",
52
52
  toolSuccessBg: "#1b3d1b",
53
53
  toolErrorBg: "#3d1b1b",
@@ -396,6 +396,203 @@ var githubDarkTheme = {
396
396
  mdListBullet: "blue"
397
397
  }
398
398
  };
399
+ var cappadociaTheme = {
400
+ name: "cappadocia",
401
+ vars: {
402
+ roseTuff: "#c46a58",
403
+ valleyClay: "#8f4638",
404
+ balloonRed: "#e65a4f",
405
+ balloonBlue: "#4aa3c7",
406
+ sunriseGold: "#f4b95f",
407
+ apricotSky: "#f2a56f",
408
+ chalkWhite: "#fff0df",
409
+ night: "#1a1114",
410
+ surface: "#27191a",
411
+ surfaceLight: "#3a2421",
412
+ gray100: "#fff2e5",
413
+ gray200: "#ead1bf",
414
+ gray300: "#caa895",
415
+ gray400: "#a77e70",
416
+ gray500: "#805f58",
417
+ gray600: "#614741",
418
+ gray700: "#442d2a",
419
+ gray800: "#2b1d1b",
420
+ gray900: "#170f0e"
421
+ },
422
+ colors: {
423
+ accent: "sunriseGold",
424
+ border: "gray600",
425
+ borderAccent: "balloonBlue",
426
+ borderMuted: "gray700",
427
+ success: "balloonBlue",
428
+ error: "balloonRed",
429
+ warning: "sunriseGold",
430
+ muted: "gray400",
431
+ dim: "gray100",
432
+ text: "chalkWhite",
433
+ userMessageBg: "surfaceLight",
434
+ userMessageText: "chalkWhite",
435
+ toolPendingBg: "surface",
436
+ toolSuccessBg: "#17313a",
437
+ toolErrorBg: "#3a1818",
438
+ toolTitle: "sunriseGold",
439
+ toolOutput: "gray200",
440
+ diffAdded: "balloonBlue",
441
+ diffRemoved: "balloonRed",
442
+ diffContext: "gray400",
443
+ syntaxComment: "gray500",
444
+ syntaxKeyword: "roseTuff",
445
+ syntaxFunction: "balloonBlue",
446
+ syntaxVariable: "chalkWhite",
447
+ syntaxString: "sunriseGold",
448
+ syntaxNumber: "apricotSky",
449
+ syntaxType: "balloonBlue",
450
+ syntaxOperator: "balloonRed",
451
+ syntaxPunctuation: "gray300",
452
+ mdHeading: "sunriseGold",
453
+ mdLink: "balloonBlue",
454
+ mdLinkUrl: "gray400",
455
+ mdCode: "apricotSky",
456
+ mdCodeBlock: "gray200",
457
+ mdCodeBlockBorder: "gray600",
458
+ mdQuote: "chalkWhite",
459
+ mdQuoteBorder: "roseTuff",
460
+ mdHr: "gray700",
461
+ mdListBullet: "sunriseGold"
462
+ }
463
+ };
464
+ var rioTheme = {
465
+ name: "rio",
466
+ vars: {
467
+ macawBlue: "#1f8edb",
468
+ macawDeepBlue: "#00539f",
469
+ macawCyan: "#39c7d7",
470
+ macawGold: "#ffc857",
471
+ rainforest: "#0f9d58",
472
+ palm: "#45c46f",
473
+ hibiscus: "#f05a70",
474
+ cloudWhite: "#effcff",
475
+ night: "#06121f",
476
+ surface: "#0b1e2d",
477
+ surfaceLight: "#102d42",
478
+ gray100: "#eaf8ff",
479
+ gray200: "#c9e5f1",
480
+ gray300: "#9ac3d6",
481
+ gray400: "#6e99ad",
482
+ gray500: "#4e778c",
483
+ gray600: "#36596c",
484
+ gray700: "#213948",
485
+ gray800: "#142534",
486
+ gray900: "#07131e"
487
+ },
488
+ colors: {
489
+ accent: "macawCyan",
490
+ border: "gray600",
491
+ borderAccent: "macawBlue",
492
+ borderMuted: "gray700",
493
+ success: "palm",
494
+ error: "hibiscus",
495
+ warning: "macawGold",
496
+ muted: "gray400",
497
+ dim: "gray100",
498
+ text: "cloudWhite",
499
+ userMessageBg: "surfaceLight",
500
+ userMessageText: "cloudWhite",
501
+ toolPendingBg: "surface",
502
+ toolSuccessBg: "#123728",
503
+ toolErrorBg: "#3b1a25",
504
+ toolTitle: "macawCyan",
505
+ toolOutput: "gray200",
506
+ diffAdded: "palm",
507
+ diffRemoved: "hibiscus",
508
+ diffContext: "gray400",
509
+ syntaxComment: "gray500",
510
+ syntaxKeyword: "macawGold",
511
+ syntaxFunction: "macawCyan",
512
+ syntaxVariable: "cloudWhite",
513
+ syntaxString: "palm",
514
+ syntaxNumber: "macawGold",
515
+ syntaxType: "macawBlue",
516
+ syntaxOperator: "macawCyan",
517
+ syntaxPunctuation: "gray300",
518
+ mdHeading: "macawCyan",
519
+ mdLink: "macawBlue",
520
+ mdLinkUrl: "gray400",
521
+ mdCode: "macawGold",
522
+ mdCodeBlock: "gray200",
523
+ mdCodeBlockBorder: "gray600",
524
+ mdQuote: "macawGold",
525
+ mdQuoteBorder: "macawDeepBlue",
526
+ mdHr: "gray700",
527
+ mdListBullet: "macawCyan"
528
+ }
529
+ };
530
+ var australiaTheme = {
531
+ name: "australia",
532
+ vars: {
533
+ oceanBlue: "#0057b8",
534
+ unionBlue: "#012169",
535
+ gold: "#ffcd00",
536
+ eucalyptus: "#6f9e60",
537
+ wattle: "#f6c945",
538
+ redOchre: "#c1440e",
539
+ sand: "#f2d7a0",
540
+ sky: "#5bc0eb",
541
+ night: "#07111f",
542
+ surface: "#101c2e",
543
+ surfaceLight: "#182842",
544
+ gray100: "#eef6ff",
545
+ gray200: "#d1e3f4",
546
+ gray300: "#a9bed3",
547
+ gray400: "#7a91a8",
548
+ gray500: "#5b7188",
549
+ gray600: "#405368",
550
+ gray700: "#263648",
551
+ gray800: "#172536",
552
+ gray900: "#08121d"
553
+ },
554
+ colors: {
555
+ accent: "gold",
556
+ border: "gray600",
557
+ borderAccent: "oceanBlue",
558
+ borderMuted: "gray700",
559
+ success: "eucalyptus",
560
+ error: "redOchre",
561
+ warning: "wattle",
562
+ muted: "gray400",
563
+ dim: "gray100",
564
+ text: "gray100",
565
+ userMessageBg: "surfaceLight",
566
+ userMessageText: "gray100",
567
+ toolPendingBg: "surface",
568
+ toolSuccessBg: "#19301f",
569
+ toolErrorBg: "#3d1c13",
570
+ toolTitle: "gold",
571
+ toolOutput: "gray200",
572
+ diffAdded: "eucalyptus",
573
+ diffRemoved: "redOchre",
574
+ diffContext: "gray400",
575
+ syntaxComment: "gray500",
576
+ syntaxKeyword: "gold",
577
+ syntaxFunction: "sky",
578
+ syntaxVariable: "gray100",
579
+ syntaxString: "eucalyptus",
580
+ syntaxNumber: "wattle",
581
+ syntaxType: "sand",
582
+ syntaxOperator: "sky",
583
+ syntaxPunctuation: "gray300",
584
+ mdHeading: "gold",
585
+ mdLink: "sky",
586
+ mdLinkUrl: "gray400",
587
+ mdCode: "wattle",
588
+ mdCodeBlock: "gray200",
589
+ mdCodeBlockBorder: "gray600",
590
+ mdQuote: "sand",
591
+ mdQuoteBorder: "oceanBlue",
592
+ mdHr: "gray700",
593
+ mdListBullet: "gold"
594
+ }
595
+ };
399
596
  var lightTheme = {
400
597
  name: "light",
401
598
  vars: {
@@ -475,8 +672,24 @@ var builtInThemes = {
475
672
  dracula: draculaTheme,
476
673
  sandy: sandyTheme,
477
674
  tui: tuiTheme,
478
- "github-dark": githubDarkTheme
675
+ "github-dark": githubDarkTheme,
676
+ cappadocia: cappadociaTheme,
677
+ rio: rioTheme,
678
+ australia: australiaTheme
679
+ };
680
+ var legacyBuiltInThemeAliases = {
681
+ turkey: "cappadocia",
682
+ brazil: "rio"
479
683
  };
684
+ function getBuiltInTheme(name) {
685
+ return builtInThemes[name] ?? builtInThemes[legacyBuiltInThemeAliases[name] ?? ""];
686
+ }
687
+ function isBuiltInTheme(name) {
688
+ return name in builtInThemes || name in legacyBuiltInThemeAliases;
689
+ }
690
+ function getBuiltInThemeNames() {
691
+ return Object.keys(builtInThemes);
692
+ }
480
693
  function getDefaultThemeName() {
481
694
  return "dark";
482
695
  }
@@ -805,6 +1018,24 @@ function detectGhosttyTheme() {
805
1018
 
806
1019
  // src/ui/theme/loader.ts
807
1020
  var CUSTOM_THEMES_DIR = join2(homedir2(), ".autohand", "themes");
1021
+ var configThemes = /* @__PURE__ */ new Map();
1022
+ function configureThemeSources(sources) {
1023
+ configThemes.clear();
1024
+ if (!sources?.inlineThemes) {
1025
+ return;
1026
+ }
1027
+ for (const [themeName, partialTheme] of Object.entries(sources.inlineThemes)) {
1028
+ const normalizedName = themeName.trim();
1029
+ if (!normalizedName) {
1030
+ throw new ThemeLoadError("Config theme names must be non-empty", themeName);
1031
+ }
1032
+ const themeDefinition = validateAndMergeTheme(
1033
+ { ...partialTheme, name: partialTheme.name || normalizedName },
1034
+ normalizedName
1035
+ );
1036
+ configThemes.set(normalizedName, themeDefinition);
1037
+ }
1038
+ }
808
1039
  var ThemeLoadError = class extends Error {
809
1040
  constructor(message, themeName, cause) {
810
1041
  super(message);
@@ -812,6 +1043,8 @@ var ThemeLoadError = class extends Error {
812
1043
  this.cause = cause;
813
1044
  this.name = "ThemeLoadError";
814
1045
  }
1046
+ themeName;
1047
+ cause;
815
1048
  };
816
1049
  function loadTheme(themeName) {
817
1050
  const definition = getThemeDefinition(themeName);
@@ -832,8 +1065,13 @@ function initTheme(themeName) {
832
1065
  }
833
1066
  }
834
1067
  function getThemeDefinition(themeName) {
835
- if (themeName in builtInThemes) {
836
- return builtInThemes[themeName];
1068
+ const builtInTheme = getBuiltInTheme(themeName);
1069
+ if (builtInTheme) {
1070
+ return builtInTheme;
1071
+ }
1072
+ const configTheme = configThemes.get(themeName);
1073
+ if (configTheme) {
1074
+ return configTheme;
837
1075
  }
838
1076
  const customThemePath = join2(CUSTOM_THEMES_DIR, `${themeName}.json`);
839
1077
  if (existsSync2(customThemePath)) {
@@ -958,6 +1196,7 @@ var CURATED_GHOSTTY_THEMES = [
958
1196
  ];
959
1197
  function listAvailableThemes() {
960
1198
  const builtIn = Object.keys(builtInThemes).sort();
1199
+ const config = Array.from(configThemes.keys()).filter((name) => !builtIn.includes(name)).sort();
961
1200
  const ghostty = [];
962
1201
  for (const name of CURATED_GHOSTTY_THEMES) {
963
1202
  if (loadGhosttyTheme(name)) {
@@ -972,7 +1211,7 @@ function listAvailableThemes() {
972
1211
  for (const file of files) {
973
1212
  if (file.endsWith(".json")) {
974
1213
  const name = file.slice(0, -5);
975
- if (!builtIn.includes(name)) {
1214
+ if (!builtIn.includes(name) && !config.includes(name)) {
976
1215
  custom.push(name);
977
1216
  }
978
1217
  }
@@ -981,10 +1220,11 @@ function listAvailableThemes() {
981
1220
  }
982
1221
  }
983
1222
  custom.sort();
984
- return [...builtIn, ...ghostty, ...custom];
1223
+ return [...builtIn, ...config, ...ghostty, ...custom];
985
1224
  }
986
1225
  function themeExists(themeName) {
987
- if (themeName in builtInThemes) return true;
1226
+ if (isBuiltInTheme(themeName)) return true;
1227
+ if (configThemes.has(themeName)) return true;
988
1228
  const customPath = join2(CUSTOM_THEMES_DIR, `${themeName}.json`);
989
1229
  if (existsSync2(customPath)) return true;
990
1230
  return loadGhosttyTheme(themeName) !== null;
@@ -1024,7 +1264,7 @@ function autoInitTheme(themeName) {
1024
1264
  }
1025
1265
 
1026
1266
  // src/ui/theme/ThemeContext.tsx
1027
- import { createContext, useContext, useMemo } from "react";
1267
+ import { createContext, useContext, useMemo, useSyncExternalStore } from "react";
1028
1268
  import { jsx } from "react/jsx-runtime";
1029
1269
  var defaultContextValue = {
1030
1270
  get theme() {
@@ -1042,16 +1282,21 @@ var defaultContextValue = {
1042
1282
  };
1043
1283
  var ThemeContext = createContext(defaultContextValue);
1044
1284
  var ThemeProvider = ({ theme: providedTheme, themeName, children }) => {
1285
+ const globalTheme = useSyncExternalStore(
1286
+ subscribeThemeChanges,
1287
+ getThemeSnapshot,
1288
+ getThemeSnapshot
1289
+ );
1045
1290
  const theme = useMemo(() => {
1046
1291
  if (providedTheme) return providedTheme;
1047
- if (isThemeInitialized()) {
1048
- return getTheme();
1292
+ if (globalTheme) {
1293
+ return globalTheme;
1049
1294
  }
1050
1295
  if (themeName) {
1051
- return initTheme(themeName);
1296
+ return loadTheme(themeName);
1052
1297
  }
1053
- return initTheme();
1054
- }, [providedTheme, themeName]);
1298
+ return loadTheme("dark");
1299
+ }, [providedTheme, themeName, globalTheme]);
1055
1300
  const value = useMemo(
1056
1301
  () => ({
1057
1302
  theme,
@@ -1070,7 +1315,9 @@ function useTheme() {
1070
1315
 
1071
1316
  export {
1072
1317
  builtInThemes,
1318
+ getBuiltInThemeNames,
1073
1319
  CUSTOM_THEMES_DIR,
1320
+ configureThemeSources,
1074
1321
  initTheme,
1075
1322
  listAvailableThemes,
1076
1323
  themeExists,