autohand-cli 0.7.9 → 0.7.11

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 (254) hide show
  1. package/README.md +19 -0
  2. package/dist/{AutomodeManager-YVCJXOMQ.js → AutomodeManager-NGRAO2MH.js} +35 -8
  3. package/dist/{AutomodeManager-HV6M7EAX.cjs → AutomodeManager-ZKQMBM4T.cjs} +35 -8
  4. package/dist/{CommunitySkillsCache-YWDFZBKP.js → CommunitySkillsCache-ILWHWE5P.js} +2 -2
  5. package/dist/CommunitySkillsCache-KHC6RUJW.cjs +7 -0
  6. package/dist/MemoryManager-6ZT7IDO5.cjs +7 -0
  7. package/dist/MemoryManager-AJGS5AKB.js +7 -0
  8. package/dist/PermissionManager-HG6W2DGU.cjs +10 -0
  9. package/dist/{PermissionManager-WYP5JPCQ.js → PermissionManager-U5OMGR3L.js} +3 -3
  10. package/dist/SessionManager-BJ2G6VV4.cjs +9 -0
  11. package/dist/{SessionManager-SFBDIBGA.js → SessionManager-ENPGYK5J.js} +2 -2
  12. package/dist/SkillsRegistry-6ZFOCT25.cjs +8 -0
  13. package/dist/{SkillsRegistry-E437FFJV.js → SkillsRegistry-C2SHOZ5D.js} +2 -2
  14. package/dist/about-225R5LMN.cjs +11 -0
  15. package/dist/about-BCPUOQVH.js +11 -0
  16. package/dist/add-dir-3BMVJ5H3.cjs +9 -0
  17. package/dist/{add-dir-PNU7AGKO.js → add-dir-RP2BL3JW.js} +2 -1
  18. package/dist/agents-JQ2PHCQB.js +10 -0
  19. package/dist/agents-RGSZ2BM3.cjs +10 -0
  20. package/dist/agents-new-LSJN2L2T.cjs +13 -0
  21. package/dist/agents-new-MZUEVKSK.js +13 -0
  22. package/dist/automode-DP3BMYJB.cjs +9 -0
  23. package/dist/{automode-QCRJSBRT.js → automode-XOF3U3OB.js} +2 -1
  24. package/dist/{chunk-A5KU3JZW.cjs → chunk-34OGUMRO.cjs} +9 -5
  25. package/dist/{chunk-NTFNUTY2.js → chunk-3652ROFD.js} +2 -2
  26. package/dist/{chunk-KNLBEUAV.cjs → chunk-3DQSBW4B.cjs} +10 -6
  27. package/dist/{chunk-32R47CAQ.cjs → chunk-3S4DEIJP.cjs} +2 -2
  28. package/dist/chunk-46WX5IO2.cjs +499 -0
  29. package/dist/{chunk-IYZBLUEJ.js → chunk-4ULBAYME.js} +8 -6
  30. package/dist/{chunk-5UC3VAJ2.cjs → chunk-4XHHW7QX.cjs} +9 -8
  31. package/dist/{chunk-JRV4SOJU.cjs → chunk-5BQ57AZC.cjs} +9 -9
  32. package/dist/{chunk-7WKEDH3E.cjs → chunk-5FZM7KLB.cjs} +13 -10
  33. package/dist/{chunk-FN5S5OE7.cjs → chunk-5NZA4UB4.cjs} +3 -3
  34. package/dist/{chunk-PFS5ZOCO.js → chunk-5Q3W4DEU.js} +18 -10
  35. package/dist/{chunk-VMMGT42E.cjs → chunk-65GTO4QM.cjs} +7 -3
  36. package/dist/{chunk-CXZEPTRI.js → chunk-6P3K4YUW.js} +6 -2
  37. package/dist/chunk-73XIKTZL.js +124 -0
  38. package/dist/{chunk-P6EGMTK4.js → chunk-7QNW24ZT.js} +8 -4
  39. package/dist/{chunk-XT4OSHSB.cjs → chunk-AEYOIPHD.cjs} +6 -2
  40. package/dist/{chunk-KXNAGJE6.cjs → chunk-ANUQFV43.cjs} +6 -6
  41. package/dist/chunk-ATR3RORT.js +499 -0
  42. package/dist/{chunk-XOSFZHSS.js → chunk-B72CC4O6.js} +2 -2
  43. package/dist/{chunk-TAZJSKFD.js → chunk-BBIKQW66.js} +9 -5
  44. package/dist/{chunk-FFA4LDAO.cjs → chunk-BDIZGBDA.cjs} +8 -3
  45. package/dist/{chunk-YDJA5ETO.js → chunk-BG4OQUKP.js} +1 -1
  46. package/dist/chunk-BKGPWAEE.js +94 -0
  47. package/dist/{chunk-3DVEGFBZ.js → chunk-BODVOW7B.js} +64 -13
  48. package/dist/{chunk-7GJR65DQ.js → chunk-BXV5O6VU.js} +9 -8
  49. package/dist/{chunk-HUA44A35.cjs → chunk-BZ73ZQTE.cjs} +17 -11
  50. package/dist/{chunk-T7HQBZZB.cjs → chunk-C2E3GJEE.cjs} +12 -9
  51. package/dist/{chunk-UP6YRP44.js → chunk-C5SVIQG3.js} +10 -5
  52. package/dist/{chunk-4YQ2OJAL.js → chunk-D2XFTCRP.js} +1 -1
  53. package/dist/{chunk-R5PZPF55.js → chunk-DEAEO7RI.js} +1 -1
  54. package/dist/chunk-DMPVI3YK.cjs +400 -0
  55. package/dist/{chunk-DRXFJR7F.cjs → chunk-DMXN5LJB.cjs} +17 -16
  56. package/dist/{chunk-PVSYZXS7.js → chunk-DTXY7JDL.js} +11 -10
  57. package/dist/{chunk-C26EN22G.cjs → chunk-DUDDZRCS.cjs} +9 -5
  58. package/dist/{chunk-WT367RVU.js → chunk-E7YL3AHT.js} +15 -9
  59. package/dist/{chunk-CHVXUA3O.cjs → chunk-EV53SLSB.cjs} +4 -4
  60. package/dist/{chunk-VQDWNDP5.js → chunk-GD4AFYJ3.js} +1 -1
  61. package/dist/{chunk-AQNY2M6Q.cjs → chunk-GIZL57FE.cjs} +3 -1
  62. package/dist/{chunk-I4HVBWYF.js → chunk-GLAE5K5W.js} +7 -2
  63. package/dist/{chunk-4AMTDSQ3.cjs → chunk-HDSEJMWI.cjs} +6 -3
  64. package/dist/{chunk-ZWS3KSMK.js → chunk-HQQ4NKER.js} +5 -2
  65. package/dist/{chunk-WBDPILKI.cjs → chunk-HVOBMOZ2.cjs} +6 -2
  66. package/dist/{chunk-CMNQAF6C.js → chunk-IJFTBVSD.js} +12 -9
  67. package/dist/{chunk-RDGYHJ52.js → chunk-IPI3JXKP.js} +9 -6
  68. package/dist/chunk-JS7IPR7P.js +249 -0
  69. package/dist/{chunk-CPO5KEQS.cjs → chunk-KC5FPUOF.cjs} +2 -2
  70. package/dist/{chunk-TUO5SZRD.cjs → chunk-L42HTMMR.cjs} +2 -2
  71. package/dist/chunk-LOXOD4IS.cjs +8630 -0
  72. package/dist/{chunk-6DSJ7XST.cjs → chunk-LQ5V5YC7.cjs} +13 -10
  73. package/dist/chunk-M6N5HSY3.js +209 -0
  74. package/dist/{chunk-LJCSSR5V.cjs → chunk-MNCWB5F7.cjs} +5 -5
  75. package/dist/{chunk-BTVNRLSE.js → chunk-MYNHJHDZ.js} +1 -1
  76. package/dist/{chunk-O3EX3SAD.cjs → chunk-N4ZSG6JJ.cjs} +2 -2
  77. package/dist/{chunk-OO7EKEJH.cjs → chunk-NBD4PL2E.cjs} +17 -14
  78. package/dist/chunk-NF7RIHJK.js +45 -0
  79. package/dist/{chunk-KJAZ4YAR.cjs → chunk-NGBN2NGH.cjs} +76 -25
  80. package/dist/{chunk-MRDZHNCF.cjs → chunk-NRORJRD4.cjs} +4 -4
  81. package/dist/{chunk-OTS4YFSZ.cjs → chunk-OKABWSWA.cjs} +7 -3
  82. package/dist/{chunk-4BZ65NIH.js → chunk-OLG7LZBD.js} +1 -1
  83. package/dist/{chunk-KZ7VMQTC.js → chunk-OMEH2EVE.js} +5 -1
  84. package/dist/{chunk-LCBOOA7S.js → chunk-P5VDZ6PV.js} +1 -1
  85. package/dist/{chunk-V5MTBGM4.cjs → chunk-PA2H2263.cjs} +6 -2
  86. package/dist/chunk-PGRH5Q77.cjs +249 -0
  87. package/dist/chunk-PNSRJT46.js +380 -0
  88. package/dist/{chunk-UL5T2XIY.cjs → chunk-PSED4Z4X.cjs} +13 -11
  89. package/dist/{chunk-PGH3MHPP.js → chunk-PWLLLJHU.js} +3 -1
  90. package/dist/{chunk-DOTAX65F.js → chunk-PYLR4J2D.js} +8 -4
  91. package/dist/{chunk-3SDEZTZD.js → chunk-QC6IUDDJ.js} +1 -1
  92. package/dist/{chunk-WJICM4SK.cjs → chunk-QM7HZCQW.cjs} +11 -6
  93. package/dist/chunk-QRQ5EX7I.cjs +380 -0
  94. package/dist/{chunk-RX4KPL6H.js → chunk-QU64XI5X.js} +9 -6
  95. package/dist/{chunk-LKIKNRUP.js → chunk-R4OLUJV7.js} +8 -5
  96. package/dist/{chunk-FSTLJIR5.cjs → chunk-R7SDL3DJ.cjs} +16 -13
  97. package/dist/{chunk-LY5VN3B3.cjs → chunk-RJP3SZ7Q.cjs} +41 -253
  98. package/dist/{chunk-KS45GREN.js → chunk-RJXNNIFW.js} +7 -4
  99. package/dist/{chunk-LYMZDJX5.cjs → chunk-S5G7OEN2.cjs} +26 -18
  100. package/dist/{chunk-3DGR4GNN.cjs → chunk-SA4JOV4F.cjs} +10 -8
  101. package/dist/chunk-SAGM3TE3.cjs +94 -0
  102. package/dist/{chunk-WCN5WDOI.cjs → chunk-TSY7JHIV.cjs} +2 -2
  103. package/dist/chunk-U23U52ZN.cjs +124 -0
  104. package/dist/chunk-UET7BDX2.js +8630 -0
  105. package/dist/{chunk-J7VV7JAB.js → chunk-UM4QEO36.js} +6 -4
  106. package/dist/{chunk-NCLCL7JK.js → chunk-WD5ZF6HE.js} +1 -1
  107. package/dist/{chunk-HF65HHDU.cjs → chunk-WH5RW7DV.cjs} +24 -22
  108. package/dist/{chunk-GSOEIEOU.js → chunk-WJ276BIP.js} +5 -1
  109. package/dist/{chunk-OXJCLU3X.js → chunk-WLTVF77A.js} +1 -1
  110. package/dist/{chunk-WGO4ACS7.cjs → chunk-WOGJXDBU.cjs} +3 -3
  111. package/dist/{chunk-QJ53OSGF.js → chunk-WRJLBHWB.js} +6 -2
  112. package/dist/chunk-X4OLP5C5.cjs +209 -0
  113. package/dist/{chunk-HWDP4HQO.cjs → chunk-XL77XYI2.cjs} +4 -4
  114. package/dist/{chunk-QAJM6VG5.js → chunk-XLI7SHCH.js} +2 -2
  115. package/dist/chunk-Y27LG4BQ.cjs +45 -0
  116. package/dist/chunk-YKSSNFDZ.js +400 -0
  117. package/dist/{chunk-VRI7EXV6.js → chunk-YMDLUTF2.js} +5 -1
  118. package/dist/{chunk-J2RUI7GJ.js → chunk-YVY27BJT.js} +5 -3
  119. package/dist/{chunk-K6CZ2AGI.js → chunk-ZBIBLOZL.js} +35 -247
  120. package/dist/completion-HVSWU5GR.cjs +13 -0
  121. package/dist/completion-WJ2MVNDH.js +13 -0
  122. package/dist/constants-RBQTR32A.cjs +20 -0
  123. package/dist/{constants-OFIAR4E5.js → constants-V6J54N3X.js} +1 -1
  124. package/dist/export-NN7F5ANA.js +11 -0
  125. package/dist/export-UPS3AK2P.cjs +11 -0
  126. package/dist/feedback-KPNRMSP4.js +14 -0
  127. package/dist/feedback-OTXZVKE7.cjs +14 -0
  128. package/dist/help-M7NFPCM4.js +58 -0
  129. package/dist/help-UBHIUDQR.cjs +58 -0
  130. package/dist/history-2KUM6GN4.cjs +13 -0
  131. package/dist/history-RZFT34Q7.js +13 -0
  132. package/dist/hooks-7QSUBHBM.cjs +12 -0
  133. package/dist/hooks-S4MD4QSR.js +12 -0
  134. package/dist/i18n-6NKENUIV.js +32 -0
  135. package/dist/i18n-MXQXQOVE.cjs +32 -0
  136. package/dist/ide-5STDV43A.cjs +11 -0
  137. package/dist/ide-W2NYXOWQ.js +11 -0
  138. package/dist/index.cjs +15320 -12906
  139. package/dist/index.js +15465 -13051
  140. package/dist/init-FG5KEJCZ.cjs +9 -0
  141. package/dist/init-TV4MJDYK.js +9 -0
  142. package/dist/language-52Q7CSAY.cjs +16 -0
  143. package/dist/language-FXFDGOBF.js +16 -0
  144. package/dist/localProjectPermissions-2EATUDZM.cjs +17 -0
  145. package/dist/{localProjectPermissions-FD5AK5FB.js → localProjectPermissions-WQYMGI42.js} +2 -2
  146. package/dist/login-AN42IOBK.js +18 -0
  147. package/dist/login-I65V4TGU.cjs +18 -0
  148. package/dist/logout-KK5UWGNG.js +16 -0
  149. package/dist/logout-VYYNWBHZ.cjs +16 -0
  150. package/dist/mcp-4SKTDECJ.js +15 -0
  151. package/dist/mcp-AGWPTMAX.cjs +15 -0
  152. package/dist/mcp-install-3NN2HAYR.cjs +473 -0
  153. package/dist/mcp-install-KTV52DQK.js +473 -0
  154. package/dist/memory-LG4K6XV6.cjs +9 -0
  155. package/dist/{memory-4GSP7NKV.js → memory-LRDK2SYC.js} +2 -1
  156. package/dist/model-P5D7ATE7.cjs +9 -0
  157. package/dist/{model-HKEFSH5E.js → model-WBFJIGUN.js} +2 -1
  158. package/dist/{new-EEZC4XXV.js → new-5A7RQEKI.js} +2 -1
  159. package/dist/new-EAATWI2G.cjs +9 -0
  160. package/dist/permissions-5URK6C44.js +12 -0
  161. package/dist/permissions-CJUDVG63.cjs +12 -0
  162. package/dist/quit-A33JHDG7.cjs +9 -0
  163. package/dist/quit-IYBLN3DB.js +9 -0
  164. package/dist/resume-OPSJTCH7.cjs +12 -0
  165. package/dist/resume-TOWEEN5D.js +12 -0
  166. package/dist/search-GOLIE5BA.js +14 -0
  167. package/dist/search-H42HGUK5.cjs +14 -0
  168. package/dist/{sessions-4KXIT76T.js → sessions-B5NENDKY.js} +2 -1
  169. package/dist/sessions-YHAVEMWY.cjs +9 -0
  170. package/dist/share-3YWFZGNM.cjs +13 -0
  171. package/dist/share-T6I2LRGS.js +13 -0
  172. package/dist/{skills-PB4HXV4R.js → skills-ICEQ2TNC.js} +2 -1
  173. package/dist/skills-LFVNZOMF.cjs +13 -0
  174. package/dist/{skills-install-UBBNXWD5.js → skills-install-6RN7FVCP.js} +9 -8
  175. package/dist/{skills-install-7SFS24HY.cjs → skills-install-LU6GA2WF.cjs} +14 -13
  176. package/dist/skills-new-5BM5PDFX.cjs +14 -0
  177. package/dist/skills-new-KWBWOX74.js +14 -0
  178. package/dist/status-BAGXGSKE.js +10 -0
  179. package/dist/status-BMD2UFHC.cjs +10 -0
  180. package/dist/sync-6M3WRKMH.cjs +39 -0
  181. package/dist/sync-73D2MP65.cjs +16 -0
  182. package/dist/{sync-LYKDHRFM.js → sync-EXYX7HXW.js} +2 -2
  183. package/dist/sync-LL6M67CN.js +16 -0
  184. package/dist/theme-IFEI2IBJ.cjs +16 -0
  185. package/dist/theme-U3SKEULY.js +16 -0
  186. package/dist/ui/questionModal.cjs +28 -0
  187. package/dist/ui/questionModal.d.cts +11 -0
  188. package/dist/ui/questionModal.d.ts +11 -0
  189. package/dist/ui/questionModal.js +28 -0
  190. package/dist/undo-4DS67OAW.cjs +9 -0
  191. package/dist/undo-YMALVAPN.js +9 -0
  192. package/package.json +9 -8
  193. package/dist/CommunitySkillsCache-N2RWBCY2.cjs +0 -7
  194. package/dist/MemoryManager-J7APSLZ7.js +0 -7
  195. package/dist/MemoryManager-RLLYVIDY.cjs +0 -7
  196. package/dist/PermissionManager-ISI5OAJK.cjs +0 -10
  197. package/dist/SessionManager-7MF76Q3Q.cjs +0 -9
  198. package/dist/SkillsRegistry-UTK2YT4M.cjs +0 -8
  199. package/dist/add-dir-OMK3Y4DM.cjs +0 -8
  200. package/dist/agents-N2ZB4O2A.cjs +0 -9
  201. package/dist/agents-ZMT7HBRT.js +0 -9
  202. package/dist/agents-new-3EWS2NR3.cjs +0 -11
  203. package/dist/agents-new-TCGUYK5I.js +0 -11
  204. package/dist/automode-BRHUHGXU.cjs +0 -8
  205. package/dist/chunk-6SM6N7DJ.js +0 -2828
  206. package/dist/chunk-BEIG7V7Q.cjs +0 -51
  207. package/dist/chunk-L5QWMGLV.cjs +0 -2828
  208. package/dist/chunk-Z3Q2AFDS.js +0 -51
  209. package/dist/completion-NCSTSKTL.cjs +0 -11
  210. package/dist/completion-NTZERPAZ.js +0 -11
  211. package/dist/constants-B2X7KDIH.cjs +0 -20
  212. package/dist/export-5AJNVX4O.cjs +0 -9
  213. package/dist/export-ZQHTLV4W.js +0 -9
  214. package/dist/feedback-F7BMGSV6.cjs +0 -12
  215. package/dist/feedback-NL7CWTRY.js +0 -12
  216. package/dist/help-PKC6QCNG.js +0 -10
  217. package/dist/help-UEELQRHP.cjs +0 -10
  218. package/dist/hooks-AX5VPCZ3.cjs +0 -10
  219. package/dist/hooks-V22HVLQT.js +0 -10
  220. package/dist/init-DML7AOII.js +0 -8
  221. package/dist/init-SLLSDDJN.cjs +0 -8
  222. package/dist/language-IEKARNQH.js +0 -13
  223. package/dist/language-ULQCKXAD.cjs +0 -13
  224. package/dist/localProjectPermissions-7FI3XF4K.cjs +0 -17
  225. package/dist/login-PD3DFJLM.js +0 -15
  226. package/dist/login-VHGT4YKT.cjs +0 -15
  227. package/dist/logout-2QXNFGDT.js +0 -13
  228. package/dist/logout-A4SMKEFO.cjs +0 -13
  229. package/dist/memory-CFNC7RJH.cjs +0 -8
  230. package/dist/model-TKVEJ5BC.cjs +0 -8
  231. package/dist/new-EB2MBQXA.cjs +0 -8
  232. package/dist/permissions-S7433NQJ.js +0 -10
  233. package/dist/permissions-YZ6WCDBL.cjs +0 -10
  234. package/dist/quit-2RYFGIJP.cjs +0 -8
  235. package/dist/quit-RSYIERO5.js +0 -8
  236. package/dist/resume-54ERVSFM.cjs +0 -10
  237. package/dist/resume-YJ5CVKAP.js +0 -10
  238. package/dist/search-4TEQMUPU.js +0 -11
  239. package/dist/search-QGLS4SV7.cjs +0 -11
  240. package/dist/sessions-7RTCPVNE.cjs +0 -8
  241. package/dist/share-2B2T3AUU.cjs +0 -11
  242. package/dist/share-SZMXZIA3.js +0 -11
  243. package/dist/skills-HVQNCTGK.cjs +0 -12
  244. package/dist/skills-new-5FSDAJWE.js +0 -12
  245. package/dist/skills-new-IOTZYE6F.cjs +0 -12
  246. package/dist/status-AGPSKXSW.js +0 -9
  247. package/dist/status-WOINF556.cjs +0 -9
  248. package/dist/sync-64MZDWGG.js +0 -14
  249. package/dist/sync-F5ECJW25.cjs +0 -39
  250. package/dist/sync-W5UR7BEP.cjs +0 -14
  251. package/dist/theme-CWG3ZLHB.cjs +0 -13
  252. package/dist/theme-HQKV7YAP.js +0 -13
  253. package/dist/undo-2WR2ZIEC.cjs +0 -8
  254. package/dist/undo-7QJBXARS.js +0 -8
@@ -1,25 +1,28 @@
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 _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; }
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(); } } 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
3
 
4
- var _chunk32R47CAQcjs = require('./chunk-32R47CAQ.cjs');
4
+ var _chunk3S4DEIJPcjs = require('./chunk-3S4DEIJP.cjs');
5
5
 
6
6
 
7
- var _chunkWCN5WDOIcjs = require('./chunk-WCN5WDOI.cjs');
7
+ var _chunkTSY7JHIVcjs = require('./chunk-TSY7JHIV.cjs');
8
8
 
9
9
 
10
- var _chunkLJCSSR5Vcjs = require('./chunk-LJCSSR5V.cjs');
10
+ var _chunkMNCWB5F7cjs = require('./chunk-MNCWB5F7.cjs');
11
11
 
12
12
 
13
- var _chunkLY5VN3B3cjs = require('./chunk-LY5VN3B3.cjs');
13
+ var _chunkRJP3SZ7Qcjs = require('./chunk-RJP3SZ7Q.cjs');
14
14
 
15
15
 
16
- var _chunkAQNY2M6Qcjs = require('./chunk-AQNY2M6Q.cjs');
16
+ var _chunkGIZL57FEcjs = require('./chunk-GIZL57FE.cjs');
17
+
18
+
19
+ var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
17
20
 
18
21
  // src/commands/login.ts
19
22
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
20
23
  var metadata = {
21
24
  command: "/login",
22
- description: "sign in to your Autohand account",
25
+ description: _chunkLOXOD4IScjs.t.call(void 0, "commands.login.description"),
23
26
  implemented: true
24
27
  };
25
28
  async function openBrowser(url) {
@@ -53,33 +56,33 @@ function sleep(ms) {
53
56
  async function login(ctx) {
54
57
  const config = ctx.config;
55
58
  if (_optionalChain([config, 'optionalAccess', _ => _.auth, 'optionalAccess', _2 => _2.token]) && _optionalChain([config, 'optionalAccess', _3 => _3.auth, 'optionalAccess', _4 => _4.user])) {
56
- const result = await _chunkLJCSSR5Vcjs.safePrompt.call(void 0, {
59
+ const result = await _chunkMNCWB5F7cjs.safePrompt.call(void 0, {
57
60
  type: "confirm",
58
61
  name: "continueLogin",
59
62
  message: `Already logged in as ${_chalk2.default.cyan(config.auth.user.email)}. Log in with a different account?`,
60
63
  initial: false
61
64
  });
62
65
  if (!result || !result.continueLogin) {
63
- console.log(_chalk2.default.gray("Login cancelled."));
66
+ console.log(_chalk2.default.gray(_chunkLOXOD4IScjs.t.call(void 0, "commands.login.cancelled")));
64
67
  return null;
65
68
  }
66
69
  }
67
- const authClient = _chunkWCN5WDOIcjs.getAuthClient.call(void 0, );
70
+ const authClient = _chunkTSY7JHIVcjs.getAuthClient.call(void 0, );
68
71
  console.log(_chalk2.default.gray("Initiating authentication..."));
69
72
  const initResult = await authClient.initiateDeviceAuth();
70
73
  if (!initResult.success || !initResult.deviceCode || !initResult.userCode) {
71
- console.log(_chalk2.default.red(`Failed to start login: ${initResult.error || "Unknown error"}`));
74
+ console.log(_chalk2.default.red(_chunkLOXOD4IScjs.t.call(void 0, "commands.login.failed", { error: initResult.error || "Unknown error" })));
72
75
  return null;
73
76
  }
74
77
  console.log();
75
78
  console.log(_chalk2.default.bold("To sign in, visit:"));
76
- console.log(_chalk2.default.cyan.underline(initResult.verificationUriComplete || `${_chunkAQNY2M6Qcjs.AUTH_CONFIG.authorizationUrl}?code=${initResult.userCode}`));
79
+ console.log(_chalk2.default.cyan.underline(initResult.verificationUriComplete || `${_chunkGIZL57FEcjs.AUTH_CONFIG.authorizationUrl}?code=${initResult.userCode}`));
77
80
  console.log();
78
81
  console.log(_chalk2.default.gray("Or enter this code manually:"));
79
82
  console.log(_chalk2.default.bold.yellow(` ${initResult.userCode}`));
80
83
  console.log();
81
84
  const browserOpened = await openBrowser(
82
- initResult.verificationUriComplete || `${_chunkAQNY2M6Qcjs.AUTH_CONFIG.authorizationUrl}?code=${initResult.userCode}`
85
+ initResult.verificationUriComplete || `${_chunkGIZL57FEcjs.AUTH_CONFIG.authorizationUrl}?code=${initResult.userCode}`
83
86
  );
84
87
  if (browserOpened) {
85
88
  console.log(_chalk2.default.gray("Browser opened. Complete the login in your browser."));
@@ -90,8 +93,8 @@ async function login(ctx) {
90
93
  console.log(_chalk2.default.gray("Waiting for authorization..."));
91
94
  console.log(_chalk2.default.gray("(Press Ctrl+C to cancel)"));
92
95
  const startTime = Date.now();
93
- const timeout = _chunkAQNY2M6Qcjs.AUTH_CONFIG.authTimeout;
94
- const pollInterval = initResult.interval ? initResult.interval * 1e3 : _chunkAQNY2M6Qcjs.AUTH_CONFIG.pollInterval;
96
+ const timeout = _chunkGIZL57FEcjs.AUTH_CONFIG.authTimeout;
97
+ const pollInterval = initResult.interval ? initResult.interval * 1e3 : _chunkGIZL57FEcjs.AUTH_CONFIG.pollInterval;
95
98
  let dots = 0;
96
99
  const maxDots = 3;
97
100
  while (Date.now() - startTime < timeout) {
@@ -101,7 +104,7 @@ async function login(ctx) {
101
104
  const pollResult = await authClient.pollDeviceAuth(initResult.deviceCode);
102
105
  if (pollResult.status === "authorized" && pollResult.token && pollResult.user) {
103
106
  process.stdout.write("\r" + " ".repeat(20) + "\r");
104
- const expiresAt = new Date(Date.now() + _chunkAQNY2M6Qcjs.AUTH_CONFIG.sessionExpiryDays * 24 * 60 * 60 * 1e3).toISOString();
107
+ const expiresAt = new Date(Date.now() + _chunkGIZL57FEcjs.AUTH_CONFIG.sessionExpiryDays * 24 * 60 * 60 * 1e3).toISOString();
105
108
  const updatedConfig = {
106
109
  ...config,
107
110
  auth: {
@@ -110,10 +113,9 @@ async function login(ctx) {
110
113
  expiresAt
111
114
  }
112
115
  };
113
- await _chunkLY5VN3B3cjs.saveConfig.call(void 0, updatedConfig);
116
+ await _chunkRJP3SZ7Qcjs.saveConfig.call(void 0, updatedConfig);
114
117
  console.log();
115
- console.log(_chalk2.default.green("Login successful!"));
116
- console.log(_chalk2.default.cyan(`Welcome, ${pollResult.user.name || pollResult.user.email}!`));
118
+ console.log(_chalk2.default.green(_chunkLOXOD4IScjs.t.call(void 0, "commands.login.success", { email: pollResult.user.name || pollResult.user.email })));
117
119
  console.log();
118
120
  await checkAndRestoreSyncData(pollResult.token, pollResult.user.id, updatedConfig);
119
121
  return null;
@@ -130,11 +132,11 @@ async function login(ctx) {
130
132
  }
131
133
  async function checkAndRestoreSyncData(token, userId, config) {
132
134
  try {
133
- const syncService = _chunk32R47CAQcjs.createSyncService.call(void 0, {
135
+ const syncService = _chunk3S4DEIJPcjs.createSyncService.call(void 0, {
134
136
  authToken: token,
135
137
  userId,
136
138
  config: {
137
- ..._chunk32R47CAQcjs.DEFAULT_SYNC_CONFIG,
139
+ ..._chunk3S4DEIJPcjs.DEFAULT_SYNC_CONFIG,
138
140
  ...config.sync,
139
141
  enabled: true
140
142
  }
@@ -151,7 +153,7 @@ async function checkAndRestoreSyncData(token, userId, config) {
151
153
  console.log(_chalk2.default.cyan(`Found cloud sync data (${fileCount} files, ${sizeStr})`));
152
154
  console.log(_chalk2.default.gray("This includes your settings, agents, skills, and memory."));
153
155
  console.log();
154
- const result = await _chunkLJCSSR5Vcjs.safePrompt.call(void 0, {
156
+ const result = await _chunkMNCWB5F7cjs.safePrompt.call(void 0, {
155
157
  type: "confirm",
156
158
  name: "restore",
157
159
  message: "Would you like to restore your settings from the cloud?",
@@ -162,17 +164,66 @@ async function checkAndRestoreSyncData(token, userId, config) {
162
164
  return;
163
165
  }
164
166
  console.log(_chalk2.default.gray("Restoring settings from cloud..."));
165
- const syncResult = await syncService.forceDownload();
166
- if (syncResult.success) {
167
+ console.log(_chalk2.default.gray("(Press ESC or Ctrl+C to cancel)"));
168
+ const syncResult = await cancellableOperation(
169
+ () => syncService.forceDownload()
170
+ );
171
+ if (!syncResult) {
172
+ console.log(_chalk2.default.yellow("\nSync restore cancelled."));
173
+ console.log(_chalk2.default.gray("You can sync later with /sync."));
174
+ } else if (syncResult.success) {
167
175
  console.log(_chalk2.default.green(`Restored ${syncResult.downloaded} files from cloud.`));
168
176
  } else {
169
177
  console.log(_chalk2.default.yellow(`Sync restore failed: ${syncResult.error}`));
170
178
  console.log(_chalk2.default.gray("You can try again later with /sync."));
171
179
  }
172
- } catch (error) {
180
+ } catch (e2) {
173
181
  console.log(_chalk2.default.gray("Could not check cloud sync data."));
174
182
  }
175
183
  }
184
+ async function cancellableOperation(fn) {
185
+ const stdin = process.stdin;
186
+ const wasRaw = stdin.isRaw;
187
+ return new Promise((resolve) => {
188
+ let settled = false;
189
+ const cleanup = () => {
190
+ stdin.removeListener("data", onData);
191
+ if (stdin.isTTY && stdin.setRawMode) {
192
+ try {
193
+ stdin.setRawMode(_nullishCoalesce(wasRaw, () => ( false)));
194
+ } catch (e3) {
195
+ }
196
+ }
197
+ };
198
+ const onData = (data) => {
199
+ const s = data.toString();
200
+ if (s === "\x1B" || s === "") {
201
+ if (settled) return;
202
+ settled = true;
203
+ cleanup();
204
+ resolve(null);
205
+ }
206
+ };
207
+ if (stdin.isTTY && stdin.setRawMode) {
208
+ try {
209
+ stdin.setRawMode(true);
210
+ } catch (e4) {
211
+ }
212
+ }
213
+ stdin.on("data", onData);
214
+ fn().then((result) => {
215
+ if (settled) return;
216
+ settled = true;
217
+ cleanup();
218
+ resolve(result);
219
+ }).catch(() => {
220
+ if (settled) return;
221
+ settled = true;
222
+ cleanup();
223
+ resolve(null);
224
+ });
225
+ });
226
+ }
176
227
  function formatSize(bytes) {
177
228
  if (bytes === 0) return "0 B";
178
229
  if (bytes < 1024) return `${bytes} B`;
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunkLJCSSR5Vcjs = require('./chunk-LJCSSR5V.cjs');
3
+ var _chunkMNCWB5F7cjs = require('./chunk-MNCWB5F7.cjs');
4
4
 
5
5
 
6
- var _chunkAQNY2M6Qcjs = require('./chunk-AQNY2M6Q.cjs');
6
+ var _chunkGIZL57FEcjs = require('./chunk-GIZL57FE.cjs');
7
7
 
8
8
  // src/commands/agents-new.ts
9
9
  var _path = require('path'); var _path2 = _interopRequireDefault(_path);
@@ -16,7 +16,7 @@ var metadata = {
16
16
  prd: "prd/sub_agents_architecture.md"
17
17
  };
18
18
  async function createAgent(ctx) {
19
- const answers = await _chunkLJCSSR5Vcjs.safePrompt.call(void 0, [
19
+ const answers = await _chunkMNCWB5F7cjs.safePrompt.call(void 0, [
20
20
  {
21
21
  type: "input",
22
22
  name: "name",
@@ -83,7 +83,7 @@ function buildPrompt(name, description) {
83
83
  ].filter(Boolean).join("\n");
84
84
  }
85
85
  function getAgentsDir() {
86
- return _chunkAQNY2M6Qcjs.AUTOHAND_PATHS.agents;
86
+ return _chunkGIZL57FEcjs.AUTOHAND_PATHS.agents;
87
87
  }
88
88
  function slugify(input) {
89
89
  return input.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "") || "agent";
@@ -1,8 +1,12 @@
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; }// src/commands/automode.ts
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
+
3
+ var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
4
+
5
+ // src/commands/automode.ts
2
6
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
3
7
  var metadata = {
4
8
  command: "/automode",
5
- description: "Start or control autonomous development loops",
9
+ description: _chunkLOXOD4IScjs.t.call(void 0, "commands.automode.description"),
6
10
  implemented: true
7
11
  };
8
12
  function parseArgs(args) {
@@ -88,7 +92,7 @@ function handleStatus(manager) {
88
92
  "",
89
93
  ` Session: ${state.sessionId}`,
90
94
  ` Status: ${state.status}`,
91
- ` Iteration: ${state.currentIteration}/${state.maxIterations}`,
95
+ ` ${_chunkLOXOD4IScjs.t.call(void 0, "commands.automode.iteration", { current: String(state.currentIteration), max: String(state.maxIterations) })}`,
92
96
  ` Files created: ${state.filesCreated}`,
93
97
  ` Files modified: ${state.filesModified}`
94
98
  ];
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  AUTOHAND_PATHS,
3
3
  PROJECT_DIR_NAME
4
- } from "./chunk-PGH3MHPP.js";
4
+ } from "./chunk-PWLLLJHU.js";
5
5
 
6
6
  // src/memory/MemoryManager.ts
7
7
  import fs from "fs-extra";
@@ -1,3 +1,7 @@
1
+ import {
2
+ t
3
+ } from "./chunk-UET7BDX2.js";
4
+
1
5
  // src/commands/model.ts
2
6
  async function model(ctx) {
3
7
  await ctx.promptModelSelection();
@@ -5,7 +9,7 @@ async function model(ctx) {
5
9
  }
6
10
  var metadata = {
7
11
  command: "/model",
8
- description: "choose what model and reasoning effort to use",
12
+ description: t("commands.model.description"),
9
13
  implemented: true
10
14
  };
11
15
 
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-6UJMCWRY.js";
4
4
  import {
5
5
  AUTOHAND_HOME
6
- } from "./chunk-PGH3MHPP.js";
6
+ } from "./chunk-PWLLLJHU.js";
7
7
 
8
8
  // src/sync/types.ts
9
9
  var DEFAULT_SYNC_CONFIG = {
@@ -1,11 +1,15 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/commands/init.ts
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
4
+
5
+ // src/commands/init.ts
2
6
  async function init(ctx) {
3
7
  await ctx.createAgentsFile();
4
8
  return null;
5
9
  }
6
10
  var metadata = {
7
11
  command: "/init",
8
- description: "create an AGENTS.md file with instructions for Autohand",
12
+ description: _chunkLOXOD4IScjs.t.call(void 0, "commands.init.description"),
9
13
  implemented: true
10
14
  };
11
15
 
@@ -0,0 +1,249 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// src/ui/theme/Theme.ts
2
+ var Theme = class {
3
+ constructor(name, colors, colorMode) {
4
+ this.ansiCache = /* @__PURE__ */ new Map();
5
+ this.name = name;
6
+ this.colors = colors;
7
+ this.colorMode = _nullishCoalesce(colorMode, () => ( detectColorMode()));
8
+ }
9
+ /**
10
+ * Apply foreground color to text.
11
+ */
12
+ fg(token, text) {
13
+ if (this.colorMode === "none") return text;
14
+ const color = this.colors[token];
15
+ if (!color) return text;
16
+ const ansi = this.getAnsiCode(color, "fg");
17
+ return `${ansi}${text}\x1B[39m`;
18
+ }
19
+ /**
20
+ * Apply background color to text.
21
+ */
22
+ bg(token, text) {
23
+ if (this.colorMode === "none") return text;
24
+ const color = this.colors[token];
25
+ if (!color) return text;
26
+ const ansi = this.getAnsiCode(color, "bg");
27
+ return `${ansi}${text}\x1B[49m`;
28
+ }
29
+ /**
30
+ * Apply both foreground and background colors.
31
+ */
32
+ fgBg(fgToken, bgToken, text) {
33
+ if (this.colorMode === "none") return text;
34
+ const fgColor = this.colors[fgToken];
35
+ const bgColor = this.colors[bgToken];
36
+ const fgAnsi = fgColor ? this.getAnsiCode(fgColor, "fg") : "";
37
+ const bgAnsi = bgColor ? this.getAnsiCode(bgColor, "bg") : "";
38
+ return `${fgAnsi}${bgAnsi}${text}\x1B[0m`;
39
+ }
40
+ /**
41
+ * Apply bold style.
42
+ */
43
+ bold(text) {
44
+ return `\x1B[1m${text}\x1B[22m`;
45
+ }
46
+ /**
47
+ * Apply italic style.
48
+ */
49
+ italic(text) {
50
+ return `\x1B[3m${text}\x1B[23m`;
51
+ }
52
+ /**
53
+ * Apply underline style.
54
+ */
55
+ underline(text) {
56
+ return `\x1B[4m${text}\x1B[24m`;
57
+ }
58
+ /**
59
+ * Apply dim style.
60
+ */
61
+ dimStyle(text) {
62
+ return `\x1B[2m${text}\x1B[22m`;
63
+ }
64
+ /**
65
+ * Apply strikethrough style.
66
+ */
67
+ strikethrough(text) {
68
+ return `\x1B[9m${text}\x1B[29m`;
69
+ }
70
+ /**
71
+ * Reset all styles.
72
+ */
73
+ reset(text) {
74
+ return `\x1B[0m${text}\x1B[0m`;
75
+ }
76
+ /**
77
+ * Get raw color value for a token.
78
+ */
79
+ getColor(token) {
80
+ return this.colors[token] || "";
81
+ }
82
+ /**
83
+ * Get current color mode.
84
+ */
85
+ getColorMode() {
86
+ return this.colorMode;
87
+ }
88
+ /**
89
+ * Convert color value to ANSI escape code.
90
+ */
91
+ getAnsiCode(color, type) {
92
+ const cacheKey = `${color}:${type}`;
93
+ const cached = this.ansiCache.get(cacheKey);
94
+ if (cached) return cached;
95
+ const code = this.colorToAnsi(color, type);
96
+ this.ansiCache.set(cacheKey, code);
97
+ return code;
98
+ }
99
+ /**
100
+ * Convert a color value to ANSI code based on color mode.
101
+ */
102
+ colorToAnsi(color, type) {
103
+ if (!color) return "";
104
+ if (color.startsWith("#")) {
105
+ return this.hexToAnsi(color, type);
106
+ }
107
+ const numValue = parseInt(color, 10);
108
+ if (!isNaN(numValue) && numValue >= 0 && numValue <= 255) {
109
+ return this.index256ToAnsi(numValue, type);
110
+ }
111
+ return "";
112
+ }
113
+ /**
114
+ * Convert hex color to ANSI code.
115
+ */
116
+ hexToAnsi(hex, type) {
117
+ const rgb = hexToRgb(hex);
118
+ if (!rgb) return "";
119
+ const base = type === "fg" ? 38 : 48;
120
+ if (this.colorMode === "truecolor") {
121
+ return `\x1B[${base};2;${rgb.r};${rgb.g};${rgb.b}m`;
122
+ } else if (this.colorMode === "256") {
123
+ const index = rgbTo256(rgb.r, rgb.g, rgb.b);
124
+ return `\x1B[${base};5;${index}m`;
125
+ } else if (this.colorMode === "16") {
126
+ const index = rgbTo16(rgb.r, rgb.g, rgb.b);
127
+ const code = type === "fg" ? index < 8 ? 30 + index : 90 + index - 8 : index < 8 ? 40 + index : 100 + index - 8;
128
+ return `\x1B[${code}m`;
129
+ }
130
+ return "";
131
+ }
132
+ /**
133
+ * Convert 256-color index to ANSI code.
134
+ */
135
+ index256ToAnsi(index, type) {
136
+ const base = type === "fg" ? 38 : 48;
137
+ if (this.colorMode === "truecolor" || this.colorMode === "256") {
138
+ return `\x1B[${base};5;${index}m`;
139
+ } else if (this.colorMode === "16") {
140
+ const basicIndex = index < 16 ? index : index256To16(index);
141
+ const code = type === "fg" ? basicIndex < 8 ? 30 + basicIndex : 90 + basicIndex - 8 : basicIndex < 8 ? 40 + basicIndex : 100 + basicIndex - 8;
142
+ return `\x1B[${code}m`;
143
+ }
144
+ return "";
145
+ }
146
+ };
147
+ function detectColorMode() {
148
+ if (process.env.NO_COLOR !== void 0) {
149
+ return "none";
150
+ }
151
+ if (process.env.FORCE_COLOR !== void 0) {
152
+ const level = parseInt(process.env.FORCE_COLOR, 10);
153
+ if (level === 0) return "none";
154
+ if (level === 1) return "16";
155
+ if (level === 2) return "256";
156
+ if (level >= 3) return "truecolor";
157
+ }
158
+ const colorterm = process.env.COLORTERM;
159
+ if (colorterm === "truecolor" || colorterm === "24bit") {
160
+ return "truecolor";
161
+ }
162
+ const term = process.env.TERM || "";
163
+ if (term.includes("256color") || term.includes("256-color")) {
164
+ return "256";
165
+ }
166
+ if (term.includes("color") || term.includes("ansi") || term === "xterm") {
167
+ return "16";
168
+ }
169
+ if (process.stdout.isTTY) {
170
+ return "256";
171
+ }
172
+ return "none";
173
+ }
174
+ function hexToRgb(hex) {
175
+ const match = hex.match(/^#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/);
176
+ if (match) {
177
+ return {
178
+ r: parseInt(match[1], 16),
179
+ g: parseInt(match[2], 16),
180
+ b: parseInt(match[3], 16)
181
+ };
182
+ }
183
+ const shortMatch = hex.match(/^#?([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/);
184
+ if (shortMatch) {
185
+ return {
186
+ r: parseInt(shortMatch[1] + shortMatch[1], 16),
187
+ g: parseInt(shortMatch[2] + shortMatch[2], 16),
188
+ b: parseInt(shortMatch[3] + shortMatch[3], 16)
189
+ };
190
+ }
191
+ return null;
192
+ }
193
+ function rgbTo256(r, g, b) {
194
+ if (r === g && g === b) {
195
+ if (r < 8) return 16;
196
+ if (r > 248) return 231;
197
+ return Math.round((r - 8) / 10) + 232;
198
+ }
199
+ const ri = Math.round(r / 51);
200
+ const gi = Math.round(g / 51);
201
+ const bi = Math.round(b / 51);
202
+ return 16 + 36 * ri + 6 * gi + bi;
203
+ }
204
+ function rgbTo16(r, g, b) {
205
+ const bright = (r + g + b) / 3 > 128 ? 8 : 0;
206
+ const ri = r > 128 ? 1 : 0;
207
+ const gi = g > 128 ? 2 : 0;
208
+ const bi = b > 128 ? 4 : 0;
209
+ return bright + ri + gi + bi;
210
+ }
211
+ function index256To16(index) {
212
+ if (index < 16) return index;
213
+ if (index >= 232) {
214
+ const gray = (index - 232) * 10 + 8;
215
+ return gray > 128 ? 15 : 0;
216
+ }
217
+ const adjusted = index - 16;
218
+ const r = Math.floor(adjusted / 36) * 51;
219
+ const g = Math.floor(adjusted % 36 / 6) * 51;
220
+ const b = adjusted % 6 * 51;
221
+ return rgbTo16(r, g, b);
222
+ }
223
+ var globalTheme = null;
224
+ function getTheme() {
225
+ if (!globalTheme) {
226
+ throw new Error("Theme not initialized. Call initTheme() first.");
227
+ }
228
+ return globalTheme;
229
+ }
230
+ function setTheme(theme) {
231
+ globalTheme = theme;
232
+ }
233
+ function isThemeInitialized() {
234
+ return globalTheme !== null;
235
+ }
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+ exports.Theme = Theme; exports.detectColorMode = detectColorMode; exports.hexToRgb = hexToRgb; exports.getTheme = getTheme; exports.setTheme = setTheme; exports.isThemeInitialized = isThemeInitialized;
245
+ /**
246
+ * @license
247
+ * Copyright 2025 Autohand AI LLC
248
+ * SPDX-License-Identifier: Apache-2.0
249
+ */