autohand-cli 0.8.2 → 0.8.3

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 (257) hide show
  1. package/dist/{AgentRegistry-NQCLWABO.cjs → AgentRegistry-HRPN6ZOF.cjs} +1 -1
  2. package/dist/{AgentRegistry-7LDL5HJH.js → AgentRegistry-ODDXPAFR.js} +1 -1
  3. package/dist/{AutomodeManager-NYIZNODK.cjs → AutomodeManager-6ATBE7Q5.cjs} +1 -1
  4. package/dist/{AutomodeManager-MWLKGPZK.js → AutomodeManager-EOVHGRPP.js} +1 -1
  5. package/dist/{CommunitySkillsCache-GTQMOCCO.cjs → CommunitySkillsCache-KE435RAR.cjs} +1 -1
  6. package/dist/{CommunitySkillsCache-6QPRMTJO.js → CommunitySkillsCache-QLE57BN5.js} +1 -1
  7. package/dist/{GitHubRegistryFetcher-S7QFUEKV.cjs → GitHubRegistryFetcher-I45SESIL.cjs} +1 -1
  8. package/dist/{GitHubRegistryFetcher-6JQ5JEDZ.js → GitHubRegistryFetcher-NT5GFZXS.js} +1 -1
  9. package/dist/HookManager-B2F35M27.js +7 -0
  10. package/dist/HookManager-PFAFE3FK.cjs +7 -0
  11. package/dist/{ImportWizard-35YBJ4AM.cjs → ImportWizard-CJRZPPHL.cjs} +4 -4
  12. package/dist/{ImportWizard-XH7CINCH.js → ImportWizard-OHRKBANZ.js} +2 -2
  13. package/dist/LearnAdvisor-FLBA6FDD.js +9 -0
  14. package/dist/LearnAdvisor-GG3CXQF3.cjs +9 -0
  15. package/dist/{McpClientManager-RKD7C6OY.cjs → McpClientManager-NQ3EW2IF.cjs} +1 -1
  16. package/dist/{McpClientManager-7RM6YT35.js → McpClientManager-VBIMGKXU.js} +1 -1
  17. package/dist/{MemoryManager-GUNLRP5S.js → MemoryManager-2LAT7IHS.js} +1 -1
  18. package/dist/{MemoryManager-TNSGKDKX.cjs → MemoryManager-2LQPIYVE.cjs} +1 -1
  19. package/dist/{PermissionManager-ATUV34LQ.js → PermissionManager-7NQHRCHY.js} +2 -2
  20. package/dist/PermissionManager-X57BXHJ6.cjs +11 -0
  21. package/dist/{ProjectProfiler-UMJJSOCE.js → ProjectProfiler-P4QJQWWA.js} +1 -1
  22. package/dist/{ProjectProfiler-ZDWR2ODG.cjs → ProjectProfiler-UG42W6WD.cjs} +1 -1
  23. package/dist/{ProviderFactory-MR5B23QJ.js → ProviderFactory-2IYJ5OPW.js} +2 -2
  24. package/dist/ProviderFactory-KPJOGQWF.cjs +9 -0
  25. package/dist/{SessionManager-IKWAK2PI.js → SessionManager-4U4JFQ3C.js} +1 -1
  26. package/dist/{SessionManager-FEUAU3ZJ.cjs → SessionManager-YBJAZXNO.cjs} +1 -1
  27. package/dist/{SkillsRegistry-KPQFTRIT.cjs → SkillsRegistry-7O72A6TZ.cjs} +1 -1
  28. package/dist/{SkillsRegistry-XJSKPDF2.js → SkillsRegistry-RFEINXRT.js} +1 -1
  29. package/dist/{SubAgent-NYH6GWQ3.js → SubAgent-JT4HZHN7.js} +2 -2
  30. package/dist/{SubAgent-PZKBDUBA.cjs → SubAgent-VPNYDWAU.cjs} +3 -3
  31. package/dist/{SyncApiClient-LVIO4C2S.js → SyncApiClient-B5RT2ECG.js} +1 -1
  32. package/dist/{SyncApiClient-ZNYMT36M.cjs → SyncApiClient-HQXJL5BT.cjs} +1 -1
  33. package/dist/about-4DB5KTHW.js +12 -0
  34. package/dist/about-LXAOXZFT.cjs +12 -0
  35. package/dist/{actionExecutor-XT5FW3W6.js → actionExecutor-23JB2WUC.js} +5 -5
  36. package/dist/{actionExecutor-U6IBN2TU.cjs → actionExecutor-X5UEZSKH.cjs} +6 -6
  37. package/dist/{add-dir-247K3XRY.js → add-dir-TUJM3PG5.js} +1 -1
  38. package/dist/{add-dir-GS4DXKKH.cjs → add-dir-YC37DMSF.cjs} +1 -1
  39. package/dist/{agents-WJPQWQF2.js → agents-YF3BSUU5.js} +1 -1
  40. package/dist/{agents-R6ZEFTVR.cjs → agents-ZOUHPMYR.cjs} +1 -1
  41. package/dist/{agents-new-HKVEIBDJ.js → agents-new-HSH4GQPG.js} +1 -1
  42. package/dist/{agents-new-X6GTHIO6.cjs → agents-new-VYUDOCE7.cjs} +1 -1
  43. package/dist/{autoSkill-6TGBTEQD.js → autoSkill-LQEVQFIH.js} +2 -2
  44. package/dist/autoSkill-X5W52WOE.cjs +20 -0
  45. package/dist/{automode-BC6NVECO.js → automode-R6P3VHLS.js} +1 -1
  46. package/dist/{automode-WN2RSOGW.cjs → automode-SJGM7VEI.cjs} +1 -1
  47. package/dist/{cc-7LEIJ3KF.js → cc-AYEP2CA3.js} +1 -1
  48. package/dist/{cc-Q5MM4AWC.cjs → cc-S2QLQFBR.cjs} +1 -1
  49. package/dist/{chunk-6OYHF6MF.js → chunk-2UC22DJU.js} +3 -3
  50. package/dist/{chunk-N254NRHT.cjs → chunk-3HT76LNN.cjs} +9 -2
  51. package/dist/{chunk-LENHP55G.cjs → chunk-3O3MOK5C.cjs} +151 -44
  52. package/dist/{chunk-72FKPBT5.js → chunk-3VTAFAL2.js} +2 -2
  53. package/dist/{chunk-5P2NXKP3.js → chunk-3WICOC33.js} +27 -23
  54. package/dist/chunk-3WVJEL7K.cjs +568 -0
  55. package/dist/{chunk-O4IF4NJT.cjs → chunk-56SWIDEL.cjs} +7 -7
  56. package/dist/{chunk-CAMZTXV6.js → chunk-5K6NGAVM.js} +1 -1
  57. package/dist/{chunk-MSED7RH2.cjs → chunk-64H4FRM3.cjs} +95 -22
  58. package/dist/{chunk-G3V4SFET.cjs → chunk-7TQH3CL4.cjs} +3 -3
  59. package/dist/{chunk-IKGWDOGU.cjs → chunk-ADUFCS4Q.cjs} +1 -1
  60. package/dist/{chunk-ZVY2XD6T.js → chunk-B53A2NM2.js} +552 -129
  61. package/dist/{chunk-4PKF7WPD.js → chunk-BJXSNT46.js} +3 -3
  62. package/dist/{chunk-IVM5F2AE.js → chunk-BYONM7UM.js} +1 -1
  63. package/dist/{chunk-BWN2CLLM.cjs → chunk-CB4E2T5N.cjs} +19 -5
  64. package/dist/{chunk-RO6WYEWH.js → chunk-DNUOXBHL.js} +85 -0
  65. package/dist/{chunk-DN573ME7.cjs → chunk-DRWDEHE5.cjs} +4 -4
  66. package/dist/{chunk-Q7XSCYND.cjs → chunk-DV2ZHK7B.cjs} +13 -13
  67. package/dist/chunk-EFX2QSZX.cjs +33 -0
  68. package/dist/{chunk-HOAHWIQ5.cjs → chunk-EGPXJERY.cjs} +2 -2
  69. package/dist/{chunk-34M3HWLR.js → chunk-FTYY5JJD.js} +1 -1
  70. package/dist/{chunk-TXSDBGKX.cjs → chunk-GCXYXLRA.cjs} +1 -1
  71. package/dist/chunk-H2ZRHQQV.js +33 -0
  72. package/dist/{chunk-CWMZKFTT.js → chunk-HBZU3RBZ.js} +1 -1
  73. package/dist/{chunk-PRRCJFU3.cjs → chunk-HNRPK5MY.cjs} +2 -2
  74. package/dist/{chunk-LA7H35XM.cjs → chunk-HPHJ73GU.cjs} +1 -1
  75. package/dist/{chunk-33RSHBDH.js → chunk-IDFF5J2E.js} +1 -1
  76. package/dist/{chunk-OGV4WJ5L.cjs → chunk-J2GSFVUV.cjs} +5 -5
  77. package/dist/{chunk-ZQE72E6W.cjs → chunk-JJLYWH5Y.cjs} +7 -7
  78. package/dist/{chunk-WM5PAOTQ.cjs → chunk-K2C56QGS.cjs} +191 -43
  79. package/dist/{chunk-643VRA5S.cjs → chunk-KANW6OYC.cjs} +3 -3
  80. package/dist/{chunk-6HYLHBQG.cjs → chunk-KLWJIPU2.cjs} +4 -4
  81. package/dist/{chunk-FKSDEWDH.js → chunk-KQGPTCQJ.js} +1 -1
  82. package/dist/{chunk-H5SWOLG6.js → chunk-L3TWPROA.js} +3 -3
  83. package/dist/{chunk-JS7IPR7P.js → chunk-LIEXWM2M.js} +12 -1
  84. package/dist/{chunk-J6QET7EF.cjs → chunk-MERYP6AM.cjs} +89 -4
  85. package/dist/{chunk-AS6RTLN7.cjs → chunk-MZAPWNAC.cjs} +48 -44
  86. package/dist/{chunk-CDBPBM2K.cjs → chunk-N2BLVUPM.cjs} +1 -1
  87. package/dist/{chunk-SCXX4LW5.js → chunk-N7LI55V4.js} +1 -1
  88. package/dist/{chunk-FW774QXH.js → chunk-NA6WQDYW.js} +134 -27
  89. package/dist/{chunk-DRE2RXBZ.js → chunk-NAGQ2PDC.js} +164 -16
  90. package/dist/{chunk-MAKMSQMQ.cjs → chunk-NAJ4IZKD.cjs} +2 -2
  91. package/dist/{chunk-JX3DFKBI.js → chunk-NTSDP2WB.js} +1 -1
  92. package/dist/{chunk-3PCTTUNW.cjs → chunk-OUZQXMHL.cjs} +2 -2
  93. package/dist/{chunk-3OTU3RS3.cjs → chunk-PGESAU2W.cjs} +599 -176
  94. package/dist/{chunk-IQ5RXU6O.js → chunk-QEGOB6QV.js} +1 -1
  95. package/dist/{chunk-JSBRDJBE.js → chunk-QGM4M3NI.js} +8 -1
  96. package/dist/{chunk-DSPQEHDT.js → chunk-QXH5RCFI.js} +1 -1
  97. package/dist/{chunk-TBEGGJNC.cjs → chunk-RDF37HKB.cjs} +32 -16
  98. package/dist/{chunk-J4Q7XR3G.js → chunk-SJAVBCOA.js} +1 -1
  99. package/dist/{chunk-AYSFIUFW.js → chunk-SV2WA57F.js} +3 -3
  100. package/dist/{chunk-T73IDKDF.js → chunk-SZOLA6FR.js} +1 -1
  101. package/dist/{chunk-LNMYK2F5.cjs → chunk-T2M64VHA.cjs} +5 -5
  102. package/dist/{chunk-I5IW3T2Y.js → chunk-TUAITHWL.js} +31 -15
  103. package/dist/{chunk-HLQV64Y5.js → chunk-TUD3Z3BD.js} +1 -1
  104. package/dist/{chunk-PGRH5Q77.cjs → chunk-U55TWFJI.cjs} +12 -1
  105. package/dist/{chunk-6RF7UKUS.js → chunk-ULDM2SNB.js} +1 -1
  106. package/dist/{chunk-X5YJ34FZ.cjs → chunk-VEKDGU2Q.cjs} +3 -3
  107. package/dist/{chunk-HQ7YZKXE.js → chunk-VWDHR4HV.js} +2 -2
  108. package/dist/{chunk-L3WAH3EM.cjs → chunk-W7RYQJLO.cjs} +2 -2
  109. package/dist/{chunk-RD5XAJR2.cjs → chunk-X2YOZQIP.cjs} +6 -6
  110. package/dist/{chunk-QOXPOR5D.js → chunk-XVUHNWMX.js} +105 -32
  111. package/dist/{chunk-33A755XB.cjs → chunk-Y45G6ZO5.cjs} +3 -3
  112. package/dist/chunk-ZLSGXMGQ.js +568 -0
  113. package/dist/{chunk-X3WS5LDG.js → chunk-ZSPXQYG2.js} +2 -2
  114. package/dist/{chunk-P47WPOXN.js → chunk-ZYVS43MU.js} +17 -3
  115. package/dist/{clear-ZJ5NYP6E.js → clear-A3N4GK2S.js} +1 -1
  116. package/dist/{clear-UO4MNWZW.cjs → clear-GK4IEUUS.cjs} +1 -1
  117. package/dist/{communityInstaller-6KCFN7YZ.js → communityInstaller-LOP2EDH5.js} +1 -1
  118. package/dist/{communityInstaller-PVSOFDZD.cjs → communityInstaller-XXC7RLE4.cjs} +1 -1
  119. package/dist/{completion-MMF2PN2H.js → completion-HWABSAEL.js} +1 -1
  120. package/dist/{completion-UI5WKHXI.cjs → completion-IUUVQG4D.cjs} +1 -1
  121. package/dist/config-HF7WOLZF.cjs +18 -0
  122. package/dist/{config-ZN66VXPS.js → config-HPJPKTO6.js} +4 -4
  123. package/dist/{constants-UFM5B232.js → constants-LISJW3DD.js} +1 -1
  124. package/dist/{constants-6CPCJ3DY.cjs → constants-PEO3P2SJ.cjs} +1 -1
  125. package/dist/{defaultHooks-RCXPHF4M.cjs → defaultHooks-IHSJR2AX.cjs} +1 -1
  126. package/dist/{defaultHooks-RDRMER3Z.js → defaultHooks-KUKHK3AG.js} +1 -1
  127. package/dist/{export-W22L4D5C.js → export-QJAV2FCZ.js} +1 -1
  128. package/dist/{export-N4XIVDSL.cjs → export-XSRFXGWU.cjs} +1 -1
  129. package/dist/{extractSessionMemories-V7K42ZHW.js → extractSessionMemories-A2JX5WJ2.js} +1 -1
  130. package/dist/{extractSessionMemories-SDW2MVBQ.cjs → extractSessionMemories-XL3MS37F.cjs} +1 -1
  131. package/dist/{feedback-DR6ADSNE.cjs → feedback-4TCIL3ML.cjs} +4 -4
  132. package/dist/{feedback-FEEAP4QW.js → feedback-SJ6VVEY3.js} +3 -3
  133. package/dist/{filesystem-MCFXJQ6R.cjs → filesystem-W56QZUJF.cjs} +1 -1
  134. package/dist/{filesystem-3SGCW2BF.js → filesystem-Z7BWAWMZ.js} +1 -1
  135. package/dist/{formatters-6K7QVWQL.cjs → formatters-53XTCNGQ.cjs} +1 -1
  136. package/dist/{formatters-DQHO5I36.js → formatters-T6KV4BPP.js} +1 -1
  137. package/dist/{help-2BLR7L43.js → help-GFQXNZOK.js} +2 -2
  138. package/dist/help-ISBVQL3S.cjs +12 -0
  139. package/dist/{history-5FZ3M2AK.js → history-E3N6BJP7.js} +1 -1
  140. package/dist/{history-NIUDRMKA.cjs → history-XQ4GTSFU.cjs} +1 -1
  141. package/dist/{hooks-2EY4IPKV.js → hooks-CJNKJ5PF.js} +1 -1
  142. package/dist/{hooks-LJVORRIG.cjs → hooks-UTMBTAXT.cjs} +1 -1
  143. package/dist/{i18n-ARDG2SMC.cjs → i18n-N7QQ7A5M.cjs} +1 -1
  144. package/dist/{i18n-K7QOWIBH.js → i18n-SY7QRM22.js} +1 -1
  145. package/dist/{ide-GFW6IJHD.js → ide-RTA4UJV4.js} +1 -1
  146. package/dist/{ide-N2ZNSSB3.cjs → ide-VWVOLIFF.cjs} +1 -1
  147. package/dist/immediateCommandRouter-BW34JNXL.js +9 -0
  148. package/dist/immediateCommandRouter-SHOVNB5X.cjs +9 -0
  149. package/dist/{import-QEME3E4T.cjs → import-ADI37ZUR.cjs} +4 -4
  150. package/dist/{import-DFVN3KNZ.js → import-KGKKZ3B7.js} +2 -2
  151. package/dist/{import-UXM3VK7B.js → import-W7SVLSTC.js} +4 -4
  152. package/dist/import-ZLJVONXH.cjs +10 -0
  153. package/dist/index.cjs +1713 -1051
  154. package/dist/index.js +1185 -523
  155. package/dist/{init-QNMWLAVY.js → init-7MFK626E.js} +1 -1
  156. package/dist/{init-PY75HA3S.cjs → init-TBKAB4LZ.cjs} +1 -1
  157. package/dist/language-MDSHEXHB.cjs +18 -0
  158. package/dist/{language-UXMHEZUJ.js → language-PXTQSHIG.js} +5 -5
  159. package/dist/{learn-HJ3FLNZC.cjs → learn-623TW5EK.cjs} +5 -5
  160. package/dist/{learn-MVYS3RU5.js → learn-BCPV7GM2.js} +4 -4
  161. package/dist/{lint-D5UOJWIK.cjs → lint-4NDGCSCL.cjs} +1 -1
  162. package/dist/{lint-NJPZWVN2.js → lint-FZ7ZJUB3.js} +1 -1
  163. package/dist/{localProjectPermissions-UFSMNTBJ.cjs → localProjectPermissions-BHQXEWZJ.cjs} +1 -1
  164. package/dist/{localProjectPermissions-N77HA3XK.js → localProjectPermissions-GMOUYQM6.js} +1 -1
  165. package/dist/{login-DSE7H63A.js → login-QMVEETWJ.js} +6 -6
  166. package/dist/{login-V3MEWPKN.cjs → login-QYMXAL3K.cjs} +7 -7
  167. package/dist/{logout-BMVCLKKW.js → logout-2CMTDAOJ.js} +6 -6
  168. package/dist/logout-ZOHVZAUK.cjs +18 -0
  169. package/dist/{mcp-PYUR4PHO.js → mcp-IUVKK65S.js} +5 -5
  170. package/dist/mcp-TXC7PYG3.cjs +18 -0
  171. package/dist/{mcp-install-VESN42PI.js → mcp-install-2FEROZTL.js} +4 -4
  172. package/dist/{mcp-install-G27HSS3Z.cjs → mcp-install-WM6BQRI5.cjs} +5 -5
  173. package/dist/{memory-4ZMMEZ2Z.js → memory-J73WZH2I.js} +1 -1
  174. package/dist/{memory-QSGMVVGH.cjs → memory-WRIHDEPK.cjs} +1 -1
  175. package/dist/{message-ZJ5AYAMT.cjs → message-4OKO775J.cjs} +1 -1
  176. package/dist/{message-JUBOK2VU.js → message-X3LOAAM7.js} +1 -1
  177. package/dist/{model-ZXNV4AF7.js → model-AES267IN.js} +1 -1
  178. package/dist/{model-NANLBZ4Z.cjs → model-RLP75SF5.cjs} +1 -1
  179. package/dist/{new-5QJY5JP2.js → new-5CLF3MKH.js} +1 -1
  180. package/dist/{new-PMMG55UX.cjs → new-HLSFL6A4.cjs} +1 -1
  181. package/dist/{patch-MOD7QC3D.cjs → patch-DJ2GPFST.cjs} +1 -1
  182. package/dist/{patch-5F6VBIT3.js → patch-NIJWIRHS.js} +1 -1
  183. package/dist/{permissions-VP5VGIBL.js → permissions-GP6FTGZ2.js} +1 -1
  184. package/dist/{permissions-LECTCJ4H.cjs → permissions-O6EKKPOG.cjs} +1 -1
  185. package/dist/{plan-G5CEKJI4.js → plan-65HMS5HQ.js} +1 -1
  186. package/dist/{plan-QKOHE3LH.cjs → plan-MCAXDIM2.cjs} +1 -1
  187. package/dist/{quit-BKOOPHU5.cjs → quit-TQX6GXA5.cjs} +1 -1
  188. package/dist/{quit-FVFNYACP.js → quit-XDZYRSPU.js} +1 -1
  189. package/dist/{registry-YN4FQPOO.cjs → registry-IVT4G2RT.cjs} +1 -1
  190. package/dist/{registry-KWZGYJC2.js → registry-PTHWERKC.js} +1 -1
  191. package/dist/repeat-BSPS5TWD.cjs +13 -0
  192. package/dist/repeat-EVCWUL6Z.js +13 -0
  193. package/dist/{resume-PP2IQM5S.cjs → resume-2GOPDLL4.cjs} +1 -1
  194. package/dist/{resume-EXFQSQPH.js → resume-37IUVDA6.js} +1 -1
  195. package/dist/search-7KUSHIBL.cjs +17 -0
  196. package/dist/{search-XGZDYBF4.js → search-OJGDRIMA.js} +5 -5
  197. package/dist/{session-BSU2L5UI.cjs → session-LXKC4X5Q.cjs} +1 -1
  198. package/dist/{session-SZMRN5KG.js → session-NMMO4QOL.js} +1 -1
  199. package/dist/{sessions-54KI3F2Q.js → sessions-6GWEBMKS.js} +1 -1
  200. package/dist/{sessions-DDTSPNVW.cjs → sessions-CYYCHSQG.cjs} +1 -1
  201. package/dist/settings-2D7CAO66.cjs +30 -0
  202. package/dist/{settings-FHRDFPLK.js → settings-BXR6SBJP.js} +5 -5
  203. package/dist/{share-TGROUE6R.js → share-BXQY5IQU.js} +3 -3
  204. package/dist/share-OSFXZBGS.cjs +14 -0
  205. package/dist/skills-FL6O6AOM.cjs +26 -0
  206. package/dist/{skills-FYY6F2WV.cjs → skills-PG542VEB.cjs} +1 -1
  207. package/dist/{skills-S3GRN323.js → skills-PNKQZRNK.js} +2 -2
  208. package/dist/{skills-6OL4OSGA.js → skills-ZZCIAS7C.js} +1 -1
  209. package/dist/{skills-install-O3LZ2ETC.cjs → skills-install-67DOBPJC.cjs} +1 -1
  210. package/dist/{skills-install-6CSWC24P.js → skills-install-SRC3Z2MS.js} +1 -1
  211. package/dist/{skills-new-PWLKK7GW.cjs → skills-new-XFMEHHIF.cjs} +1 -1
  212. package/dist/{skills-new-ALD2PTHN.js → skills-new-ZNZPHUKS.js} +1 -1
  213. package/dist/{slashCommands-L4ZD33LJ.js → slashCommands-LLCNPK3X.js} +27 -26
  214. package/dist/{slashCommands-YY2VUUDF.cjs → slashCommands-RXZZS6RE.cjs} +28 -27
  215. package/dist/status-BCECUJXT.cjs +11 -0
  216. package/dist/{status-KCLVOYPD.js → status-EFO7MQU3.js} +3 -3
  217. package/dist/{sync-6SDWG5RK.js → sync-IJYJ6KKM.js} +5 -5
  218. package/dist/sync-LFT6SBPF.cjs +18 -0
  219. package/dist/{sync-7JMZVEQD.cjs → sync-U7SDPBNZ.cjs} +1 -1
  220. package/dist/{sync-KWX67OUN.js → sync-VU2NSJ4O.js} +1 -1
  221. package/dist/{tasks-5FPBIFLC.js → tasks-R5MBGAQ6.js} +1 -1
  222. package/dist/{tasks-TXGKGNH6.cjs → tasks-V4WB3MFR.cjs} +1 -1
  223. package/dist/{team-5YXP3JGR.js → team-JESCHGWB.js} +1 -1
  224. package/dist/{team-IIWEZKNR.cjs → team-VQQKWGZB.cjs} +1 -1
  225. package/dist/{teammate-L6EZQ3I2.js → teammate-SD26GR37.js} +7 -7
  226. package/dist/{teammate-2KMKJXAM.cjs → teammate-SXRVXNQV.cjs} +7 -7
  227. package/dist/theme-AWBHSG7J.cjs +18 -0
  228. package/dist/{theme-YMFCQP7J.js → theme-TQLBPJ2E.js} +5 -5
  229. package/dist/ui/questionModal.cjs +1 -1
  230. package/dist/ui/questionModal.js +1 -1
  231. package/dist/{undo-KZHUUZTD.cjs → undo-IBBGP7A2.cjs} +1 -1
  232. package/dist/{undo-NEIEHQVX.js → undo-OL2EDBRY.js} +1 -1
  233. package/dist/{update-TVAJMMBC.js → update-53WMKYVS.js} +1 -1
  234. package/dist/{update-Z6BIIQDC.cjs → update-NV6QRYY7.cjs} +1 -1
  235. package/package.json +1 -1
  236. package/dist/HookManager-Q2KYMCP4.cjs +0 -7
  237. package/dist/HookManager-TTP4Y6DC.js +0 -7
  238. package/dist/LearnAdvisor-A4Q5PPBI.js +0 -9
  239. package/dist/LearnAdvisor-GASQD7HT.cjs +0 -9
  240. package/dist/PermissionManager-KMN53FJP.cjs +0 -11
  241. package/dist/ProviderFactory-VFGCJJX6.cjs +0 -9
  242. package/dist/about-HHTF2YFL.js +0 -12
  243. package/dist/about-JGRVNNQC.cjs +0 -12
  244. package/dist/autoSkill-H4T6VVDA.cjs +0 -20
  245. package/dist/config-E7RINK4R.cjs +0 -18
  246. package/dist/help-AQHGTS7P.cjs +0 -12
  247. package/dist/import-ZS6DPGU5.cjs +0 -10
  248. package/dist/language-5UE4G2BT.cjs +0 -18
  249. package/dist/logout-XEG7FHOZ.cjs +0 -18
  250. package/dist/mcp-SG6JFLGC.cjs +0 -18
  251. package/dist/search-C56FBN67.cjs +0 -17
  252. package/dist/settings-BDO37TTO.cjs +0 -30
  253. package/dist/share-IERCTBGN.cjs +0 -14
  254. package/dist/skills-OM4IGBAA.cjs +0 -26
  255. package/dist/status-3PC5XWSS.cjs +0 -11
  256. package/dist/sync-WHURZL3U.cjs +0 -18
  257. package/dist/theme-BE5A4FPN.cjs +0 -18
@@ -1,6 +1,6 @@
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 }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await 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 _chunkJ6QET7EFcjs = require('./chunk-J6QET7EF.cjs');
3
+ var _chunkMERYP6AMcjs = require('./chunk-MERYP6AM.cjs');
4
4
 
5
5
 
6
6
  var _chunk4JNNTOGFcjs = require('./chunk-4JNNTOGF.cjs');
@@ -19,7 +19,7 @@ var _chunkZYQMLKOKcjs = require('./chunk-ZYQMLKOK.cjs');
19
19
 
20
20
 
21
21
 
22
- var _chunkPGRH5Q77cjs = require('./chunk-PGRH5Q77.cjs');
22
+ var _chunkU55TWFJIcjs = require('./chunk-U55TWFJI.cjs');
23
23
 
24
24
 
25
25
  var _chunkSEKD5FH3cjs = require('./chunk-SEKD5FH3.cjs');
@@ -515,8 +515,8 @@ function tokenize(code, language) {
515
515
  return tokens;
516
516
  }
517
517
  function colorToken(token) {
518
- if (_chunkPGRH5Q77cjs.isThemeInitialized.call(void 0, )) {
519
- const theme = _chunkPGRH5Q77cjs.getTheme.call(void 0, );
518
+ if (_chunkU55TWFJIcjs.isThemeInitialized.call(void 0, )) {
519
+ const theme = _chunkU55TWFJIcjs.getTheme.call(void 0, );
520
520
  switch (token.type) {
521
521
  case "keyword":
522
522
  return theme.fg("syntaxKeyword", token.value);
@@ -673,6 +673,10 @@ function runCommand(cmd, args, cwd, options = {}) {
673
673
  });
674
674
  });
675
675
  }
676
+ var SHELL_PATTERN = /[|><;&`]|\$[({A-Za-z_]|&&|\|\||[*?](?![\w./-]*$)/;
677
+ function needsShell(cmd) {
678
+ return SHELL_PATTERN.test(cmd);
679
+ }
676
680
 
677
681
  // src/actions/metadata.ts
678
682
  var _crypto = require('crypto'); var _crypto2 = _interopRequireDefault(_crypto);
@@ -802,14 +806,22 @@ function checkoutFile(cwd, file) {
802
806
  function gitStatus(cwd) {
803
807
  const result = _child_process.spawnSync.call(void 0, "git", ["status", "-sb"], { cwd, encoding: "utf8" });
804
808
  if (result.status !== 0) {
805
- throw new Error(result.stderr || "git status failed");
809
+ const stderr = (result.stderr || "").trim();
810
+ if (stderr.includes("not a git repository")) {
811
+ return "This directory is not a git repository. You should call run_command with `git init` to initialize one, then retry.";
812
+ }
813
+ throw new Error(stderr || "git status failed");
806
814
  }
807
815
  return result.stdout || "clean";
808
816
  }
809
817
  function gitListUntracked(cwd) {
810
818
  const result = _child_process.spawnSync.call(void 0, "git", ["ls-files", "--others", "--exclude-standard"], { cwd, encoding: "utf8" });
811
819
  if (result.status !== 0) {
812
- throw new Error(result.stderr || "git ls-files failed");
820
+ const stderr = (result.stderr || "").trim();
821
+ if (stderr.includes("not a git repository")) {
822
+ return "This directory is not a git repository. You should call run_command with `git init` to initialize one, then retry.";
823
+ }
824
+ throw new Error(stderr || "git ls-files failed");
813
825
  }
814
826
  return result.stdout || "";
815
827
  }
@@ -2190,6 +2202,110 @@ async function webRepo(options) {
2190
2202
  }
2191
2203
  }
2192
2204
 
2205
+ // src/actions/projectTracker.ts
2206
+
2207
+ var ISSUE_LIST_FIELDS = "number,title,state,assignees,labels,createdAt,url";
2208
+ var ISSUE_VIEW_FIELDS = "number,title,state,body,assignees,labels,comments,createdAt,milestone,author,url";
2209
+ var PR_LIST_FIELDS = "number,title,state,author,baseRefName,headRefName,labels,createdAt,isDraft,url";
2210
+ var PR_VIEW_FIELDS = "number,title,state,body,author,baseRefName,headRefName,labels,comments,latestReviews,statusCheckRollup,mergeable,additions,deletions,createdAt,isDraft,url";
2211
+ async function runGh(args) {
2212
+ return new Promise((resolve, reject) => {
2213
+ _child_process.execFile.call(void 0, "gh", args, {
2214
+ timeout: 3e4,
2215
+ maxBuffer: 5 * 1024 * 1024
2216
+ // 5MB
2217
+ }, (err, stdout, stderr) => {
2218
+ if (!err) {
2219
+ resolve(stdout);
2220
+ return;
2221
+ }
2222
+ const error = err;
2223
+ if (error.code === "ENOENT" || _optionalChain([error, 'access', _43 => _43.message, 'optionalAccess', _44 => _44.includes, 'call', _45 => _45("command not found")])) {
2224
+ reject(new Error("gh CLI is not installed. Install it from https://cli.github.com"));
2225
+ return;
2226
+ }
2227
+ const errMsg = stderr || error.message || "Unknown error";
2228
+ if (errMsg.includes("auth login") || errMsg.includes("not logged")) {
2229
+ reject(new Error("gh CLI is not authenticated. Run 'gh auth login' first."));
2230
+ return;
2231
+ }
2232
+ reject(new Error(`gh command failed: ${errMsg.trim()}`));
2233
+ });
2234
+ });
2235
+ }
2236
+ async function projectTracker(action) {
2237
+ if (action.action === "get_issue" || action.action === "get_pr") {
2238
+ if (action.number == null) {
2239
+ return `Error: The 'number' parameter is required for ${action.action}`;
2240
+ }
2241
+ if (!Number.isInteger(action.number) || action.number <= 0) {
2242
+ return `Error: The 'number' parameter must be a positive integer`;
2243
+ }
2244
+ }
2245
+ if (action.state === "merged" && action.action === "list_issues") {
2246
+ return `Error: The 'merged' state is only valid for list_prs`;
2247
+ }
2248
+ try {
2249
+ switch (action.action) {
2250
+ case "list_issues":
2251
+ return await listIssues(action);
2252
+ case "get_issue":
2253
+ return await getIssue(action);
2254
+ case "list_prs":
2255
+ return await listPrs(action);
2256
+ case "get_pr":
2257
+ return await getPr(action);
2258
+ case "get_user":
2259
+ return await getUser();
2260
+ default:
2261
+ return `Error: Unknown action: ${action.action}. Valid actions: list_issues, get_issue, list_prs, get_pr, get_user`;
2262
+ }
2263
+ } catch (err) {
2264
+ return `Error: ${err instanceof Error ? err.message : String(err)}`;
2265
+ }
2266
+ }
2267
+ async function listIssues(action) {
2268
+ const args = ["issue", "list", "--json", ISSUE_LIST_FIELDS];
2269
+ args.push("--limit", String(_nullishCoalesce(action.limit, () => ( 20))));
2270
+ if (action.state) args.push("--state", action.state);
2271
+ if (action.assignee) args.push("--assignee", action.assignee);
2272
+ if (action.labels) args.push("--label", action.labels);
2273
+ if (action.repo) args.push("-R", action.repo);
2274
+ return runGh(args);
2275
+ }
2276
+ async function getIssue(action) {
2277
+ const args = ["issue", "view", String(action.number), "--json", ISSUE_VIEW_FIELDS];
2278
+ if (action.repo) args.push("-R", action.repo);
2279
+ return runGh(args);
2280
+ }
2281
+ async function listPrs(action) {
2282
+ const args = ["pr", "list", "--json", PR_LIST_FIELDS];
2283
+ args.push("--limit", String(_nullishCoalesce(action.limit, () => ( 20))));
2284
+ if (action.state) args.push("--state", action.state);
2285
+ if (action.author) args.push("--author", action.author);
2286
+ if (action.base) args.push("--base", action.base);
2287
+ if (action.labels) args.push("--label", action.labels);
2288
+ if (action.repo) args.push("-R", action.repo);
2289
+ return runGh(args);
2290
+ }
2291
+ async function getPr(action) {
2292
+ const args = ["pr", "view", String(action.number), "--json", PR_VIEW_FIELDS];
2293
+ if (action.repo) args.push("-R", action.repo);
2294
+ return runGh(args);
2295
+ }
2296
+ async function getUser() {
2297
+ try {
2298
+ const stdout = await runGh(["api", "user", "--jq", ".login"]);
2299
+ return `Authenticated as: ${stdout.trim()}`;
2300
+ } catch (err) {
2301
+ const msg = err instanceof Error ? err.message : String(err);
2302
+ if (msg.includes("not installed") || msg.includes("not authenticated")) {
2303
+ throw err;
2304
+ }
2305
+ throw new Error("Failed to get GitHub user. Ensure gh is authenticated: run 'gh auth status'");
2306
+ }
2307
+ }
2308
+
2193
2309
  // src/core/toolsRegistry.ts
2194
2310
 
2195
2311
 
@@ -2756,7 +2872,7 @@ var ActionExecutor = class _ActionExecutor {
2756
2872
  this.logExploration = deps.onExploration;
2757
2873
  this.toolsRegistry = _nullishCoalesce(deps.toolsRegistry, () => ( new ToolsRegistry()));
2758
2874
  this.getRegisteredTools = _nullishCoalesce(deps.getRegisteredTools, () => ( (() => [])));
2759
- this.permissionManager = _nullishCoalesce(deps.permissionManager, () => ( new (0, _chunkJ6QET7EFcjs.PermissionManager)(deps.runtime.config.permissions)));
2875
+ this.permissionManager = _nullishCoalesce(deps.permissionManager, () => ( new (0, _chunkMERYP6AMcjs.PermissionManager)(deps.runtime.config.permissions)));
2760
2876
  this.memoryManager = deps.memoryManager;
2761
2877
  this.onToolOutput = deps.onToolOutput;
2762
2878
  this.onFileModified = deps.onFileModified;
@@ -2774,7 +2890,7 @@ var ActionExecutor = class _ActionExecutor {
2774
2890
  return {};
2775
2891
  }
2776
2892
  const hookResponse = await this.onPermissionRequest(context);
2777
- if (!_optionalChain([hookResponse, 'optionalAccess', _43 => _43.decision])) {
2893
+ if (!_optionalChain([hookResponse, 'optionalAccess', _46 => _46.decision])) {
2778
2894
  return {};
2779
2895
  }
2780
2896
  switch (hookResponse.decision) {
@@ -3043,7 +3159,7 @@ ${steps.map((s) => `${s.number}. ${s.description}`).join("\n")}`;
3043
3159
  this.showDiff(oldContent, newContent, action.path);
3044
3160
  }
3045
3161
  await this.files.writeFile(action.path, newContent);
3046
- _optionalChain([this, 'access', _44 => _44.onFileModified, 'optionalCall', _45 => _45(action.path)]);
3162
+ _optionalChain([this, 'access', _47 => _47.onFileModified, 'optionalCall', _48 => _48(action.path)]);
3047
3163
  return exists ? `Updated ${action.path}` : `Created ${action.path}`;
3048
3164
  }
3049
3165
  case "append_file": {
@@ -3057,7 +3173,7 @@ ${steps.map((s) => `${s.number}. ${s.description}`).join("\n")}`;
3057
3173
  \u{1F4DD} ${action.path}:`));
3058
3174
  this.showDiff(oldContent, newContent, action.path);
3059
3175
  await this.files.appendFile(action.path, addition);
3060
- _optionalChain([this, 'access', _46 => _46.onFileModified, 'optionalCall', _47 => _47(action.path)]);
3176
+ _optionalChain([this, 'access', _49 => _49.onFileModified, 'optionalCall', _50 => _50(action.path)]);
3061
3177
  return `Appended to ${action.path}`;
3062
3178
  }
3063
3179
  case "apply_patch": {
@@ -3075,7 +3191,7 @@ ${steps.map((s) => `${s.number}. ${s.description}`).join("\n")}`;
3075
3191
  await this.files.applyPatch(action.path, patch);
3076
3192
  const newContent = await this.files.readFile(action.path);
3077
3193
  this.showDiff(oldContent, newContent, action.path);
3078
- _optionalChain([this, 'access', _48 => _48.onFileModified, 'optionalCall', _49 => _49(action.path)]);
3194
+ _optionalChain([this, 'access', _51 => _51.onFileModified, 'optionalCall', _52 => _52(action.path)]);
3079
3195
  return `Patched ${action.path}`;
3080
3196
  }
3081
3197
  case "tools_registry": {
@@ -3166,7 +3282,7 @@ ${hit.snippet}`).join("\n\n");
3166
3282
  \u{1F504} ${action.path}:`));
3167
3283
  this.showDiff(content, result, action.path);
3168
3284
  await this.files.writeFile(action.path, result);
3169
- _optionalChain([this, 'access', _50 => _50.onFileModified, 'optionalCall', _51 => _51(action.path)]);
3285
+ _optionalChain([this, 'access', _53 => _53.onFileModified, 'optionalCall', _54 => _54(action.path)]);
3170
3286
  }
3171
3287
  return `Updated ${action.path}`;
3172
3288
  }
@@ -3182,31 +3298,44 @@ ${hit.snippet}`).join("\n\n");
3182
3298
  return 'Error: run_command requires a "command" argument (string)';
3183
3299
  }
3184
3300
  const shouldStreamOutput = Boolean(
3185
- this.onToolOutput && _optionalChain([context, 'optionalAccess', _52 => _52.toolCallId]) && !action.background && process.env.AUTOHAND_STREAM_TOOL_OUTPUT === "1"
3301
+ this.onToolOutput && _optionalChain([context, 'optionalAccess', _55 => _55.toolCallId]) && !action.background && process.env.AUTOHAND_STREAM_TOOL_OUTPUT === "1"
3186
3302
  );
3187
3303
  const emitOutput = (stream, data) => {
3188
3304
  if (!shouldStreamOutput) {
3189
3305
  return;
3190
3306
  }
3191
- _optionalChain([this, 'access', _53 => _53.onToolOutput, 'optionalCall', _54 => _54({
3307
+ _optionalChain([this, 'access', _56 => _56.onToolOutput, 'optionalCall', _57 => _57({
3192
3308
  tool: action.type,
3193
- toolCallId: _optionalChain([context, 'optionalAccess', _55 => _55.toolCallId]),
3309
+ toolCallId: _optionalChain([context, 'optionalAccess', _58 => _58.toolCallId]),
3194
3310
  stream,
3195
3311
  data
3196
3312
  })]);
3197
3313
  };
3198
- const result = await runCommand(
3199
- action.command,
3200
- _nullishCoalesce(action.args, () => ( [])),
3201
- this.runtime.workspaceRoot,
3202
- {
3203
- directory: action.directory,
3204
- background: action.background,
3205
- onStdout: (chunk) => emitOutput("stdout", chunk),
3206
- onStderr: (chunk) => emitOutput("stderr", chunk)
3207
- }
3208
- );
3209
3314
  const cmdStr = `${action.command} ${(_nullishCoalesce(action.args, () => ( []))).join(" ")}`.trim();
3315
+ let result;
3316
+ const useShell = needsShell(action.command);
3317
+ const shellCmd = useShell ? `${action.command} ${(_nullishCoalesce(action.args, () => ( []))).join(" ")}`.trim() : action.command;
3318
+ const shellArgs = useShell ? [] : _nullishCoalesce(action.args, () => ( []));
3319
+ try {
3320
+ result = await runCommand(
3321
+ shellCmd,
3322
+ shellArgs,
3323
+ this.runtime.workspaceRoot,
3324
+ {
3325
+ directory: action.directory,
3326
+ background: action.background,
3327
+ shell: useShell,
3328
+ onStdout: (chunk) => emitOutput("stdout", chunk),
3329
+ onStderr: (chunk) => emitOutput("stderr", chunk)
3330
+ }
3331
+ );
3332
+ } catch (err) {
3333
+ const error = err;
3334
+ if (error.code === "ENOENT" || error.message.includes("Command not found")) {
3335
+ return `Error: Command not found: "${action.command}". Make sure it is installed and available on your PATH.`;
3336
+ }
3337
+ return `Error running "${cmdStr}": ${error.message}`;
3338
+ }
3210
3339
  const header = action.description ? `$ ${action.description}
3211
3340
  > ${cmdStr}` : `$ ${cmdStr}`;
3212
3341
  const dirInfo = action.directory ? `[dir: ${action.directory}]` : "";
@@ -3669,7 +3798,7 @@ ${result.removed.map((p) => ` - ${p}`).join("\n")}`;
3669
3798
  if (oldContent !== newContent) {
3670
3799
  this.showDiff(oldContent, newContent, action.file_path);
3671
3800
  await this.files.writeFile(action.file_path, newContent);
3672
- _optionalChain([this, 'access', _56 => _56.onFileModified, 'optionalCall', _57 => _57(action.file_path)]);
3801
+ _optionalChain([this, 'access', _59 => _59.onFileModified, 'optionalCall', _60 => _60(action.file_path)]);
3673
3802
  }
3674
3803
  return `Applied ${action.edits.length} edit(s) to ${action.file_path}`;
3675
3804
  }
@@ -3877,12 +4006,24 @@ ${result.removed.map((p) => ` - ${p}`).join("\n")}`;
3877
4006
  console.log(_chalk2.default.gray(previewResult + (formattedResult.length > 500 ? "\n ... (truncated)" : "")));
3878
4007
  return formattedResult;
3879
4008
  }
4009
+ // Project Tracker
4010
+ case "project_tracker": {
4011
+ if (!action.action) {
4012
+ throw new Error('project_tracker requires an "action" parameter.');
4013
+ }
4014
+ console.log(_chalk2.default.cyan(`
4015
+ \u{1F50D} project_tracker: ${action.action}${action.number ? ` #${action.number}` : ""}...`));
4016
+ const trackerResult = await projectTracker(action);
4017
+ const trackerPreview = trackerResult.slice(0, 500);
4018
+ console.log(_chalk2.default.gray(trackerPreview + (trackerResult.length > 500 ? "\n ... (truncated)" : "")));
4019
+ return trackerResult;
4020
+ }
3880
4021
  // Skills Discovery
3881
4022
  case "find_agent_skills": {
3882
4023
  const query = _nullishCoalesce(action.query, () => ( ""));
3883
4024
  console.log(_chalk2.default.cyan(`
3884
4025
  Searching skills: "${query}"${action.category ? ` [${action.category}]` : ""}...`));
3885
- const { searchCommunitySkills } = await Promise.resolve().then(() => _interopRequireWildcard(require("./skills-FYY6F2WV.cjs")));
4026
+ const { searchCommunitySkills } = await Promise.resolve().then(() => _interopRequireWildcard(require("./skills-PG542VEB.cjs")));
3886
4027
  const result = await searchCommunitySkills(query, {
3887
4028
  category: action.category,
3888
4029
  limit: action.limit
@@ -3912,7 +4053,7 @@ Searching skills: "${query}"${action.category ? ` [${action.category}]` : ""}...
3912
4053
  title: "Select an answer:",
3913
4054
  options
3914
4055
  });
3915
- const selected = _optionalChain([result, 'optionalAccess', _58 => _58.value]);
4056
+ const selected = _optionalChain([result, 'optionalAccess', _61 => _61.value]);
3916
4057
  if (!selected) {
3917
4058
  console.log(_chalk2.default.yellow("\nAnswer cancelled.\n"));
3918
4059
  return "<answer>No answer provided</answer>";
@@ -3968,7 +4109,7 @@ Searching skills: "${query}"${action.category ? ` [${action.category}]` : ""}...
3968
4109
  * Identifies imports, classes, functions, and key sections with line numbers.
3969
4110
  */
3970
4111
  extractFileOutline(lines, filePath) {
3971
- const ext = _optionalChain([filePath, 'access', _59 => _59.split, 'call', _60 => _60("."), 'access', _61 => _61.pop, 'call', _62 => _62(), 'optionalAccess', _63 => _63.toLowerCase, 'call', _64 => _64()]) || "";
4112
+ const ext = _optionalChain([filePath, 'access', _62 => _62.split, 'call', _63 => _63("."), 'access', _64 => _64.pop, 'call', _65 => _65(), 'optionalAccess', _66 => _66.toLowerCase, 'call', _67 => _67()]) || "";
3972
4113
  const outline = [];
3973
4114
  const patterns = {
3974
4115
  ts: [
@@ -4055,7 +4196,7 @@ Searching skills: "${query}"${action.category ? ` [${action.category}]` : ""}...
4055
4196
  if (!target) {
4056
4197
  return;
4057
4198
  }
4058
- _optionalChain([this, 'access', _65 => _65.logExploration, 'optionalCall', _66 => _66({ kind, target })]);
4199
+ _optionalChain([this, 'access', _68 => _68.logExploration, 'optionalCall', _69 => _69({ kind, target })]);
4059
4200
  }
4060
4201
  async executeCustomCommand(action) {
4061
4202
  const existing = await loadCustomCommand(action.name);
@@ -4236,8 +4377,8 @@ Searching skills: "${query}"${action.category ? ` [${action.category}]` : ""}...
4236
4377
  * Colorize raw git diff output with green for additions and red for removals
4237
4378
  */
4238
4379
  colorizeGitDiff(diffOutput) {
4239
- const useTheme = _chunkPGRH5Q77cjs.isThemeInitialized.call(void 0, );
4240
- const theme = useTheme ? _chunkPGRH5Q77cjs.getTheme.call(void 0, ) : null;
4380
+ const useTheme = _chunkU55TWFJIcjs.isThemeInitialized.call(void 0, );
4381
+ const theme = useTheme ? _chunkU55TWFJIcjs.getTheme.call(void 0, ) : null;
4241
4382
  if (!diffOutput || diffOutput === "No diff") {
4242
4383
  return theme ? theme.fg("muted", "No changes") : _chalk2.default.gray("No changes");
4243
4384
  }
@@ -4246,12 +4387,12 @@ Searching skills: "${query}"${action.category ? ` [${action.category}]` : ""}...
4246
4387
  const colorizedLines = [];
4247
4388
  let additions = 0;
4248
4389
  let deletions = 0;
4249
- const addedColor = _optionalChain([theme, 'optionalAccess', _67 => _67.getColor, 'call', _68 => _68("diffAdded")]) || "#4caf50";
4250
- const removedColor = _optionalChain([theme, 'optionalAccess', _69 => _69.getColor, 'call', _70 => _70("diffRemoved")]) || "#f44336";
4251
- const contextColor = _optionalChain([theme, 'optionalAccess', _71 => _71.getColor, 'call', _72 => _72("diffContext")]) || "#9e9e9e";
4252
- const accentColor = _optionalChain([theme, 'optionalAccess', _73 => _73.getColor, 'call', _74 => _74("accent")]) || "#00bcd4";
4253
- const addedRgb = _chunkPGRH5Q77cjs.hexToRgb.call(void 0, addedColor);
4254
- const removedRgb = _chunkPGRH5Q77cjs.hexToRgb.call(void 0, removedColor);
4390
+ const addedColor = _optionalChain([theme, 'optionalAccess', _70 => _70.getColor, 'call', _71 => _71("diffAdded")]) || "#4caf50";
4391
+ const removedColor = _optionalChain([theme, 'optionalAccess', _72 => _72.getColor, 'call', _73 => _73("diffRemoved")]) || "#f44336";
4392
+ const contextColor = _optionalChain([theme, 'optionalAccess', _74 => _74.getColor, 'call', _75 => _75("diffContext")]) || "#9e9e9e";
4393
+ const accentColor = _optionalChain([theme, 'optionalAccess', _76 => _76.getColor, 'call', _77 => _77("accent")]) || "#00bcd4";
4394
+ const addedRgb = _chunkU55TWFJIcjs.hexToRgb.call(void 0, addedColor);
4395
+ const removedRgb = _chunkU55TWFJIcjs.hexToRgb.call(void 0, removedColor);
4255
4396
  const addBgR = addedRgb ? Math.floor(addedRgb.r * 0.15) : 30;
4256
4397
  const addBgG = addedRgb ? Math.floor(addedRgb.g * 0.2) : 50;
4257
4398
  const addBgB = addedRgb ? Math.floor(addedRgb.b * 0.15) : 30;
@@ -4320,8 +4461,8 @@ Searching skills: "${query}"${action.category ? ` [${action.category}]` : ""}...
4320
4461
  const contextLines = 3;
4321
4462
  const lang = filePath ? detectLanguage(filePath) : "text";
4322
4463
  const shouldHighlight = lang !== "text";
4323
- const useTheme = _chunkPGRH5Q77cjs.isThemeInitialized.call(void 0, );
4324
- const theme = useTheme ? _chunkPGRH5Q77cjs.getTheme.call(void 0, ) : null;
4464
+ const useTheme = _chunkU55TWFJIcjs.isThemeInitialized.call(void 0, );
4465
+ const theme = useTheme ? _chunkU55TWFJIcjs.getTheme.call(void 0, ) : null;
4325
4466
  let additions = 0;
4326
4467
  let deletions = 0;
4327
4468
  for (const part of diff) {
@@ -4418,7 +4559,7 @@ Searching skills: "${query}"${action.category ? ` [${action.category}]` : ""}...
4418
4559
  const removedColor = theme.getColor("diffRemoved");
4419
4560
  const contextColor = theme.getColor("diffContext");
4420
4561
  if (change.type === "add") {
4421
- const addedRgb = _chunkPGRH5Q77cjs.hexToRgb.call(void 0, addedColor);
4562
+ const addedRgb = _chunkU55TWFJIcjs.hexToRgb.call(void 0, addedColor);
4422
4563
  const bgR = addedRgb ? Math.floor(addedRgb.r * 0.15) : 30;
4423
4564
  const bgG = addedRgb ? Math.floor(addedRgb.g * 0.2) : 50;
4424
4565
  const bgB = addedRgb ? Math.floor(addedRgb.b * 0.15) : 30;
@@ -4426,7 +4567,7 @@ Searching skills: "${query}"${action.category ? ` [${action.category}]` : ""}...
4426
4567
  const content = _chalk2.default.bgRgb(bgR, bgG, bgB)(` ${highlighted} `.padEnd(Math.max(termWidth - 10, change.line.length + 2)));
4427
4568
  console.log(prefix + content);
4428
4569
  } else if (change.type === "remove") {
4429
- const removedRgb = _chunkPGRH5Q77cjs.hexToRgb.call(void 0, removedColor);
4570
+ const removedRgb = _chunkU55TWFJIcjs.hexToRgb.call(void 0, removedColor);
4430
4571
  const bgR = removedRgb ? Math.floor(removedRgb.r * 0.25) : 60;
4431
4572
  const bgG = removedRgb ? Math.floor(removedRgb.g * 0.15) : 30;
4432
4573
  const bgB = removedRgb ? Math.floor(removedRgb.b * 0.15) : 30;
@@ -4488,6 +4629,13 @@ exports.getAutoCommitInfo = getAutoCommitInfo; exports.ToolsRegistry = ToolsRegi
4488
4629
  *
4489
4630
  * GitHub and GitLab repository browsing capabilities.
4490
4631
  */
4632
+ /**
4633
+ * @license
4634
+ * Copyright 2025 Autohand AI LLC
4635
+ * SPDX-License-Identifier: Apache-2.0
4636
+ *
4637
+ * Project tracker — queries GitHub issues and PRs via gh CLI.
4638
+ */
4491
4639
  /**
4492
4640
  * @license
4493
4641
  * Copyright 2025 Autohand AI LLC
@@ -28,7 +28,7 @@ var HookManager = class {
28
28
  */
29
29
  async installDefaultHooks() {
30
30
  try {
31
- const { DEFAULT_HOOKS, SMART_COMMIT_HOOK } = await Promise.resolve().then(() => _interopRequireWildcard(require("./defaultHooks-RCXPHF4M.cjs")));
31
+ const { DEFAULT_HOOKS, SMART_COMMIT_HOOK } = await Promise.resolve().then(() => _interopRequireWildcard(require("./defaultHooks-IHSJR2AX.cjs")));
32
32
  this.settings.hooks = [...DEFAULT_HOOKS, SMART_COMMIT_HOOK];
33
33
  if (this.onPersist) {
34
34
  await this.onPersist();
@@ -56,7 +56,7 @@ var HookManager = class {
56
56
  */
57
57
  async mergeDefaultHooks() {
58
58
  try {
59
- const { DEFAULT_HOOKS, SMART_COMMIT_HOOK } = await Promise.resolve().then(() => _interopRequireWildcard(require("./defaultHooks-RCXPHF4M.cjs")));
59
+ const { DEFAULT_HOOKS, SMART_COMMIT_HOOK } = await Promise.resolve().then(() => _interopRequireWildcard(require("./defaultHooks-IHSJR2AX.cjs")));
60
60
  const allDefaults = [...DEFAULT_HOOKS, SMART_COMMIT_HOOK];
61
61
  const existingHooks = _nullishCoalesce(this.settings.hooks, () => ( []));
62
62
  const existingIds = new Set(existingHooks.map((h) => this.getHookIdentifier(h)));
@@ -84,7 +84,7 @@ var HookManager = class {
84
84
  const hooksDir = path.join(os.homedir(), ".autohand", "hooks");
85
85
  const isWindows = os.platform() === "win32";
86
86
  await fs.ensureDir(hooksDir);
87
- const { HOOK_SCRIPTS, HOOK_SCRIPTS_WINDOWS } = await Promise.resolve().then(() => _interopRequireWildcard(require("./defaultHooks-RCXPHF4M.cjs")));
87
+ const { HOOK_SCRIPTS, HOOK_SCRIPTS_WINDOWS } = await Promise.resolve().then(() => _interopRequireWildcard(require("./defaultHooks-IHSJR2AX.cjs")));
88
88
  for (const [scriptName, scriptContent] of Object.entries(HOOK_SCRIPTS)) {
89
89
  const scriptPath = path.join(hooksDir, scriptName);
90
90
  if (!await fs.pathExists(scriptPath)) {
@@ -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 _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 _chunk33A755XBcjs = require('./chunk-33A755XB.cjs');
3
+ var _chunkY45G6ZO5cjs = require('./chunk-Y45G6ZO5.cjs');
4
4
 
5
5
 
6
6
  var _chunkOLSBBZW6cjs = require('./chunk-OLSBBZW6.cjs');
7
7
 
8
8
 
9
- var _chunkBWN2CLLMcjs = require('./chunk-BWN2CLLM.cjs');
9
+ var _chunkCB4E2T5Ncjs = require('./chunk-CB4E2T5N.cjs');
10
10
 
11
11
 
12
12
  var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
@@ -36,7 +36,7 @@ async function logout(ctx) {
36
36
  console.log(_chalk2.default.gray(_chunk7BTSG4MEcjs.t.call(void 0, "commands.logout.cancelled")));
37
37
  return null;
38
38
  }
39
- const authClient = _chunk33A755XBcjs.getAuthClient.call(void 0, );
39
+ const authClient = _chunkY45G6ZO5cjs.getAuthClient.call(void 0, );
40
40
  try {
41
41
  await authClient.logout(config.auth.token);
42
42
  } catch (e) {
@@ -45,7 +45,7 @@ async function logout(ctx) {
45
45
  ...config,
46
46
  auth: void 0
47
47
  };
48
- await _chunkBWN2CLLMcjs.saveConfig.call(void 0, updatedConfig);
48
+ await _chunkCB4E2T5Ncjs.saveConfig.call(void 0, updatedConfig);
49
49
  console.log();
50
50
  console.log(_chalk2.default.green(_chunk7BTSG4MEcjs.t.call(void 0, "commands.logout.success")));
51
51
  console.log(_chalk2.default.gray("Your local session has been cleared."));
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  package_default
3
- } from "./chunk-T73IDKDF.js";
3
+ } from "./chunk-SZOLA6FR.js";
4
4
  import {
5
5
  safePrompt
6
6
  } from "./chunk-6ZCULLCA.js";
@@ -4,13 +4,13 @@ import {
4
4
  } from "./chunk-3PDTTAKJ.js";
5
5
  import {
6
6
  getAuthClient
7
- } from "./chunk-HQ7YZKXE.js";
7
+ } from "./chunk-VWDHR4HV.js";
8
8
  import {
9
9
  safePrompt
10
10
  } from "./chunk-6ZCULLCA.js";
11
11
  import {
12
12
  saveConfig
13
- } from "./chunk-P47WPOXN.js";
13
+ } from "./chunk-ZYVS43MU.js";
14
14
  import {
15
15
  AUTH_CONFIG
16
16
  } from "./chunk-EGFT4PGW.js";
@@ -141,7 +141,7 @@ async function checkAndRestoreSyncData(token, userId, config) {
141
141
  enabled: true
142
142
  }
143
143
  });
144
- const { getSyncApiClient } = await import("./SyncApiClient-LVIO4C2S.js");
144
+ const { getSyncApiClient } = await import("./SyncApiClient-B5RT2ECG.js");
145
145
  const apiClient = getSyncApiClient();
146
146
  const remoteManifest = await apiClient.getRemoteManifest(token);
147
147
  if (!remoteManifest || remoteManifest.files.length === 0) {
@@ -233,6 +233,16 @@ function setTheme(theme) {
233
233
  function isThemeInitialized() {
234
234
  return globalTheme !== null;
235
235
  }
236
+ function themedFg(token, text, fallback) {
237
+ if (!isThemeInitialized()) {
238
+ return fallback(text);
239
+ }
240
+ try {
241
+ return getTheme().fg(token, text);
242
+ } catch {
243
+ return fallback(text);
244
+ }
245
+ }
236
246
 
237
247
  export {
238
248
  Theme,
@@ -240,7 +250,8 @@ export {
240
250
  hexToRgb,
241
251
  getTheme,
242
252
  setTheme,
243
- isThemeInitialized
253
+ isThemeInitialized,
254
+ themedFg
244
255
  };
245
256
  /**
246
257
  * @license