autohand-cli 0.7.9 → 0.7.10

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-RGUM5QQ4.cjs +11 -0
  15. package/dist/about-VDR3SIHS.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-DRXFJR7F.cjs → chunk-3UNX56GC.cjs} +17 -16
  29. package/dist/chunk-46WX5IO2.cjs +499 -0
  30. package/dist/{chunk-IYZBLUEJ.js → chunk-4ULBAYME.js} +8 -6
  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-3DVEGFBZ.js → chunk-BODVOW7B.js} +64 -13
  47. package/dist/{chunk-HUA44A35.cjs → chunk-BZ73ZQTE.cjs} +17 -11
  48. package/dist/{chunk-6DSJ7XST.cjs → chunk-C22G4UE4.cjs} +13 -10
  49. package/dist/{chunk-T7HQBZZB.cjs → chunk-C2E3GJEE.cjs} +12 -9
  50. package/dist/{chunk-UP6YRP44.js → chunk-C5SVIQG3.js} +10 -5
  51. package/dist/{chunk-7GJR65DQ.js → chunk-CUBYCLNL.js} +2 -1
  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-C26EN22G.cjs → chunk-DUDDZRCS.cjs} +9 -5
  56. package/dist/{chunk-WT367RVU.js → chunk-E7YL3AHT.js} +15 -9
  57. package/dist/{chunk-5UC3VAJ2.cjs → chunk-EAOEAQGF.cjs} +2 -1
  58. package/dist/{chunk-CHVXUA3O.cjs → chunk-EV53SLSB.cjs} +4 -4
  59. package/dist/{chunk-PVSYZXS7.js → chunk-F3EIOVSQ.js} +11 -10
  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-HLFZPN65.js +94 -0
  65. package/dist/{chunk-ZWS3KSMK.js → chunk-HQQ4NKER.js} +5 -2
  66. package/dist/{chunk-WBDPILKI.cjs → chunk-HVOBMOZ2.cjs} +6 -2
  67. package/dist/{chunk-RDGYHJ52.js → chunk-IPI3JXKP.js} +9 -6
  68. package/dist/{chunk-OO7EKEJH.cjs → chunk-IXFOH4OC.cjs} +17 -14
  69. package/dist/chunk-JS7IPR7P.js +249 -0
  70. package/dist/{chunk-CPO5KEQS.cjs → chunk-KC5FPUOF.cjs} +2 -2
  71. package/dist/{chunk-TUO5SZRD.cjs → chunk-L42HTMMR.cjs} +2 -2
  72. package/dist/chunk-LGGZQTLM.cjs +209 -0
  73. package/dist/chunk-LOXOD4IS.cjs +8630 -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-NF7RIHJK.js +45 -0
  78. package/dist/{chunk-KJAZ4YAR.cjs → chunk-NGBN2NGH.cjs} +76 -25
  79. package/dist/{chunk-MRDZHNCF.cjs → chunk-NRORJRD4.cjs} +4 -4
  80. package/dist/{chunk-OTS4YFSZ.cjs → chunk-OKABWSWA.cjs} +7 -3
  81. package/dist/{chunk-4BZ65NIH.js → chunk-OLG7LZBD.js} +1 -1
  82. package/dist/{chunk-KZ7VMQTC.js → chunk-OMEH2EVE.js} +5 -1
  83. package/dist/{chunk-LCBOOA7S.js → chunk-P5VDZ6PV.js} +1 -1
  84. package/dist/{chunk-V5MTBGM4.cjs → chunk-PA2H2263.cjs} +6 -2
  85. package/dist/chunk-PGRH5Q77.cjs +249 -0
  86. package/dist/{chunk-CMNQAF6C.js → chunk-PM62ZYXA.js} +12 -9
  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-FSTLJIR5.cjs → chunk-R7SDL3DJ.cjs} +16 -13
  96. package/dist/{chunk-LY5VN3B3.cjs → chunk-RJP3SZ7Q.cjs} +41 -253
  97. package/dist/{chunk-KS45GREN.js → chunk-RJXNNIFW.js} +7 -4
  98. package/dist/{chunk-LYMZDJX5.cjs → chunk-S5G7OEN2.cjs} +26 -18
  99. package/dist/{chunk-3DGR4GNN.cjs → chunk-SA4JOV4F.cjs} +10 -8
  100. package/dist/chunk-SAG6IY5Z.cjs +94 -0
  101. package/dist/{chunk-WCN5WDOI.cjs → chunk-TSY7JHIV.cjs} +2 -2
  102. package/dist/chunk-U23U52ZN.cjs +124 -0
  103. package/dist/chunk-UET7BDX2.js +8630 -0
  104. package/dist/{chunk-J7VV7JAB.js → chunk-UM4QEO36.js} +6 -4
  105. package/dist/{chunk-NCLCL7JK.js → chunk-WD5ZF6HE.js} +1 -1
  106. package/dist/{chunk-HF65HHDU.cjs → chunk-WH5RW7DV.cjs} +24 -22
  107. package/dist/{chunk-GSOEIEOU.js → chunk-WJ276BIP.js} +5 -1
  108. package/dist/{chunk-OXJCLU3X.js → chunk-WLTVF77A.js} +1 -1
  109. package/dist/{chunk-WGO4ACS7.cjs → chunk-WOGJXDBU.cjs} +3 -3
  110. package/dist/{chunk-QJ53OSGF.js → chunk-WRJLBHWB.js} +6 -2
  111. package/dist/{chunk-LKIKNRUP.js → chunk-WYLFLZ42.js} +8 -5
  112. package/dist/{chunk-HWDP4HQO.cjs → chunk-XL77XYI2.cjs} +4 -4
  113. package/dist/{chunk-QAJM6VG5.js → chunk-XLI7SHCH.js} +2 -2
  114. package/dist/chunk-Y27LG4BQ.cjs +45 -0
  115. package/dist/chunk-Y6OWFIUF.js +209 -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-ARI7CLVQ.js +14 -0
  127. package/dist/feedback-OZTPYHKJ.cjs +14 -0
  128. package/dist/help-4674IV4D.cjs +58 -0
  129. package/dist/help-ENG5KV2M.js +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-2JD2AKKX.cjs +13 -0
  171. package/dist/share-MYGDOTQE.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-M3XHJELG.cjs +10 -0
  179. package/dist/status-ZQDUYMKQ.js +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 +2 -1
  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,4 +1,8 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/commands/new.ts
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+ var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
4
+
5
+ // src/commands/new.ts
2
6
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
3
7
  async function newConversation(ctx) {
4
8
  const currentSession = ctx.sessionManager.getCurrentSession();
@@ -8,8 +12,7 @@ async function newConversation(ctx) {
8
12
  await ctx.resetConversation();
9
13
  await ctx.sessionManager.createSession(ctx.workspaceRoot, ctx.model);
10
14
  console.log();
11
- console.log(_chalk2.default.cyan("New conversation started."));
12
- console.log(_chalk2.default.gray("Previous session saved. Ready for new instructions."));
15
+ console.log(_chalk2.default.cyan(_chunkLOXOD4IScjs.t.call(void 0, "commands.new.cleared")));
13
16
  console.log();
14
17
  return null;
15
18
  }
@@ -0,0 +1,94 @@
1
+ import {
2
+ package_default
3
+ } from "./chunk-CUBYCLNL.js";
4
+ import {
5
+ getTheme,
6
+ isThemeInitialized
7
+ } from "./chunk-JS7IPR7P.js";
8
+ import {
9
+ t
10
+ } from "./chunk-UET7BDX2.js";
11
+
12
+ // src/commands/about.ts
13
+ import { execSync } from "child_process";
14
+ import chalk from "chalk";
15
+ import terminalLink from "terminal-link";
16
+ function getGitCommit() {
17
+ if (true) {
18
+ return "ec6118d";
19
+ }
20
+ try {
21
+ return execSync("git rev-parse --short HEAD", { encoding: "utf8", stdio: ["pipe", "pipe", "ignore"] }).trim();
22
+ } catch {
23
+ return "unknown";
24
+ }
25
+ }
26
+ function getVersionString() {
27
+ const commit = getGitCommit();
28
+ return commit !== "unknown" ? `${package_default.version} (${commit})` : package_default.version;
29
+ }
30
+ var ASCII_FRIEND = [
31
+ "\u2880\u2874\u281B\u281B\u283B\u28F7\u2844\u2800\u28E0\u2876\u281F\u281B\u283B\u28F6\u2844\u2880\u28F4\u287E\u281B\u281B\u28BF\u28E6\u2800\u2880\u28F4\u281E\u281B\u281B\u2836\u2840",
32
+ "\u284E\u2800\u28B0\u28F6\u2846\u2808\u28FF\u28F4\u28FF\u2801\u28F4\u28F6\u2844\u2818\u28FF\u28FE\u284F\u2880\u28F6\u28E6\u2800\u28BB\u2847\u28FF\u2803\u28A0\u28F6\u2846\u2800\u28B9",
33
+ "\u28A7\u2800\u2818\u281B\u2803\u28A0\u287F\u2819\u28FF\u2840\u2819\u281B\u2803\u28F0\u287F\u28BB\u28E7\u2808\u281B\u281B\u2880\u28FE\u2807\u28BB\u28C6\u2808\u281B\u280B\u2800\u287C",
34
+ "\u2808\u283B\u28B6\u28F6\u287E\u281F\u2801\u2800\u2818\u283F\u28B6\u28F6\u287E\u281F\u2801\u2800\u2819\u2837\u28F6\u28F6\u283F\u280B\u2800\u2808\u283B\u2837\u28F6\u2876\u281A\u2801",
35
+ "\u2880\u28F4\u283F\u283F\u2837\u28E6\u2840\u2800\u28E0\u28F6\u283F\u283B\u28B7\u28E6\u2840\u2800\u28E0\u287E\u281F\u283F\u28F6\u28C4\u2800\u2880\u28F4\u287E\u283F\u283F\u28F6\u28C4",
36
+ "\u287E\u2803\u28A0\u28E4\u2844\u2818\u28FF\u28E0\u28FF\u2801\u28E0\u28E4\u2844\u2839\u28F7\u28FC\u284F\u2880\u28E4\u28E4\u2808\u28BF\u2846\u28FE\u280F\u2880\u28E4\u28C4\u2808\u28BF",
37
+ "\u28A7\u2840\u2838\u283F\u2807\u2880\u28FF\u283A\u28FF\u2840\u283B\u283F\u2803\u28B0\u28FF\u28BF\u28C7\u2808\u283F\u283F\u2800\u28FC\u2847\u28BF\u28C7\u2818\u283F\u2807\u2800\u28F8",
38
+ "\u2808\u28BF\u28E6\u28E4\u28F4\u287F\u2803\u2800\u2819\u28B7\u28E6\u28E4\u28F6\u287F\u2801\u2808\u283B\u28F7\u28E4\u28E4\u287E\u281B\u2800\u2808\u28BF\u28E6\u28E4\u28E4\u2834\u2801"
39
+ ].join("\n");
40
+ async function about() {
41
+ let accent;
42
+ let muted;
43
+ let text;
44
+ if (isThemeInitialized()) {
45
+ const theme = getTheme();
46
+ accent = (text2) => chalk.hex(theme.colors.accent)(text2);
47
+ muted = (text2) => chalk.hex(theme.colors.muted)(text2);
48
+ text = (str) => chalk.hex(theme.colors.text)(str);
49
+ } else {
50
+ accent = (text2) => chalk.cyan(text2);
51
+ muted = (text2) => chalk.gray(text2);
52
+ text = (text2) => chalk.white(text2);
53
+ }
54
+ console.log(chalk.gray(ASCII_FRIEND));
55
+ console.log();
56
+ console.log(accent(`${t("commands.about.title")} v${getVersionString()}`));
57
+ console.log(muted(t("commands.about.subtitle")));
58
+ console.log();
59
+ const websiteUrl = "https://autohand.ai";
60
+ const githubUrl = "https://github.com/autohandai/";
61
+ const docsUrl = "https://docs.autohand.ai";
62
+ const websiteLink = terminalLink(chalk.cyan.underline("autohand.ai"), websiteUrl);
63
+ const githubLink = terminalLink(chalk.cyan.underline("github.com/autohandai/"), githubUrl);
64
+ const docsLink = terminalLink(chalk.cyan.underline("docs.autohand.ai"), docsUrl);
65
+ console.log(`${text("\u{1F310}")} ${text(t("commands.about.website") + ":")} ${websiteLink}`);
66
+ console.log(`${text("\u{1F4E6}")} ${text(t("commands.about.github") + ":")} ${githubLink}`);
67
+ console.log(`${text("\u{1F4DA}")} ${text(t("commands.about.docs") + ":")} ${docsLink}`);
68
+ console.log();
69
+ console.log(text(`\u{1F4A1} ${t("commands.about.contribute")}`));
70
+ console.log(text(` \u2022 ${t("commands.about.feedback")}: ${accent("/feedback")}`));
71
+ console.log(text(` \u2022 ${t("commands.about.submitPR")}: ${accent("gh pr create")}`));
72
+ const issuesUrl = "https://github.com/autohandai/code-cli/issues";
73
+ const issuesLink = terminalLink(chalk.cyan.underline("github.com/autohandai/code-cli/issues"), issuesUrl);
74
+ console.log(text(` \u2022 ${t("commands.about.reportIssues")}: ${issuesLink}`));
75
+ console.log();
76
+ console.log(muted(t("commands.about.pressKey")));
77
+ console.log();
78
+ return null;
79
+ }
80
+ var metadata = {
81
+ command: "/about",
82
+ description: "show information about Autohand",
83
+ implemented: true
84
+ };
85
+
86
+ export {
87
+ about,
88
+ metadata
89
+ };
90
+ /**
91
+ * @license
92
+ * Copyright 2025 Autohand AI LLC
93
+ * SPDX-License-Identifier: Apache-2.0
94
+ */
@@ -1,3 +1,7 @@
1
+ import {
2
+ t
3
+ } from "./chunk-UET7BDX2.js";
4
+
1
5
  // src/commands/new.ts
2
6
  import chalk from "chalk";
3
7
  async function newConversation(ctx) {
@@ -8,8 +12,7 @@ async function newConversation(ctx) {
8
12
  await ctx.resetConversation();
9
13
  await ctx.sessionManager.createSession(ctx.workspaceRoot, ctx.model);
10
14
  console.log();
11
- console.log(chalk.cyan("New conversation started."));
12
- console.log(chalk.gray("Previous session saved. Ready for new instructions."));
15
+ console.log(chalk.cyan(t("commands.new.cleared")));
13
16
  console.log();
14
17
  return null;
15
18
  }
@@ -1,10 +1,14 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/commands/quit.ts
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
4
+
5
+ // src/commands/quit.ts
2
6
  async function quit() {
3
7
  return "/quit";
4
8
  }
5
9
  var metadata = {
6
10
  command: "/quit",
7
- description: "end the current Autohand session",
11
+ description: _chunkLOXOD4IScjs.t.call(void 0, "commands.quit.description"),
8
12
  implemented: true
9
13
  };
10
14
 
@@ -1,18 +1,21 @@
1
1
  import {
2
2
  getAuthClient
3
- } from "./chunk-4YQ2OJAL.js";
3
+ } from "./chunk-D2XFTCRP.js";
4
4
  import {
5
5
  safePrompt
6
- } from "./chunk-NCLCL7JK.js";
6
+ } from "./chunk-WD5ZF6HE.js";
7
7
  import {
8
8
  saveConfig
9
- } from "./chunk-K6CZ2AGI.js";
9
+ } from "./chunk-ZBIBLOZL.js";
10
+ import {
11
+ t
12
+ } from "./chunk-UET7BDX2.js";
10
13
 
11
14
  // src/commands/logout.ts
12
15
  import chalk from "chalk";
13
16
  var metadata = {
14
17
  command: "/logout",
15
- description: "sign out of your Autohand account",
18
+ description: t("commands.logout.description"),
16
19
  implemented: true
17
20
  };
18
21
  async function logout(ctx) {
@@ -30,7 +33,7 @@ async function logout(ctx) {
30
33
  initial: true
31
34
  });
32
35
  if (!result || !result.confirm) {
33
- console.log(chalk.gray("Logout cancelled."));
36
+ console.log(chalk.gray(t("commands.logout.cancelled")));
34
37
  return null;
35
38
  }
36
39
  const authClient = getAuthClient();
@@ -44,7 +47,7 @@ async function logout(ctx) {
44
47
  };
45
48
  await saveConfig(updatedConfig);
46
49
  console.log();
47
- console.log(chalk.green("Successfully logged out."));
50
+ console.log(chalk.green(t("commands.logout.success")));
48
51
  console.log(chalk.gray("Your local session has been cleared."));
49
52
  console.log();
50
53
  return null;
@@ -1,13 +1,16 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunk5UC3VAJ2cjs = require('./chunk-5UC3VAJ2.cjs');
3
+ var _chunkEAOEAQGFcjs = require('./chunk-EAOEAQGF.cjs');
4
4
 
5
5
 
6
- var _chunkLJCSSR5Vcjs = require('./chunk-LJCSSR5V.cjs');
6
+ var _chunkMNCWB5F7cjs = require('./chunk-MNCWB5F7.cjs');
7
7
 
8
8
 
9
9
 
10
- var _chunkAQNY2M6Qcjs = require('./chunk-AQNY2M6Q.cjs');
10
+ var _chunkGIZL57FEcjs = require('./chunk-GIZL57FE.cjs');
11
+
12
+
13
+ var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
11
14
 
12
15
  // src/commands/feedback.ts
13
16
  var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
@@ -15,14 +18,14 @@ var _os = require('os'); var _os2 = _interopRequireDefault(_os);
15
18
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
16
19
  var metadata = {
17
20
  command: "/feedback",
18
- description: "share feedback with environment details",
21
+ description: _chunkLOXOD4IScjs.t.call(void 0, "commands.feedback.description"),
19
22
  implemented: true
20
23
  };
21
24
  var API_BASE_URL = "https://api.autohand.ai";
22
25
  var API_TIMEOUT = 1e4;
23
26
  var COOLDOWN_MAX_SUBMISSIONS = 5;
24
27
  var COOLDOWN_WINDOW_MS = 60 * 60 * 1e3;
25
- var COOLDOWN_STATE_PATH = `${_chunkAQNY2M6Qcjs.AUTOHAND_PATHS.feedback}/cooldown.json`;
28
+ var COOLDOWN_STATE_PATH = `${_chunkGIZL57FEcjs.AUTOHAND_PATHS.feedback}/cooldown.json`;
26
29
  async function checkCooldown() {
27
30
  try {
28
31
  if (!await _fsextra2.default.pathExists(COOLDOWN_STATE_PATH)) {
@@ -53,7 +56,7 @@ async function recordSubmission() {
53
56
  const windowStart = now - COOLDOWN_WINDOW_MS;
54
57
  state.submissions = state.submissions.filter((ts) => ts > windowStart);
55
58
  state.submissions.push(now);
56
- await _fsextra2.default.ensureDir(_chunkAQNY2M6Qcjs.AUTOHAND_PATHS.feedback);
59
+ await _fsextra2.default.ensureDir(_chunkGIZL57FEcjs.AUTOHAND_PATHS.feedback);
57
60
  await _fsextra2.default.writeJson(COOLDOWN_STATE_PATH, state, { spaces: 2 });
58
61
  } catch (e2) {
59
62
  }
@@ -65,7 +68,7 @@ async function feedback(_ctx) {
65
68
  console.log(_chalk2.default.gray(`Please wait ${cooldown.waitMinutes} minute${cooldown.waitMinutes === 1 ? "" : "s"} before submitting again.`));
66
69
  return null;
67
70
  }
68
- const ratingAnswer = await _chunkLJCSSR5Vcjs.safePrompt.call(void 0, [
71
+ const ratingAnswer = await _chunkMNCWB5F7cjs.safePrompt.call(void 0, [
69
72
  {
70
73
  type: "select",
71
74
  name: "rating",
@@ -84,7 +87,7 @@ async function feedback(_ctx) {
84
87
  console.log(_chalk2.default.gray("Feedback discarded."));
85
88
  return null;
86
89
  }
87
- const textAnswer = await _chunkLJCSSR5Vcjs.safePrompt.call(void 0, [
90
+ const textAnswer = await _chunkMNCWB5F7cjs.safePrompt.call(void 0, [
88
91
  {
89
92
  type: "input",
90
93
  name: "feedback",
@@ -105,7 +108,7 @@ async function feedback(_ctx) {
105
108
  triggerType: "manual",
106
109
  timestamp: now,
107
110
  deviceId,
108
- cliVersion: _chunk5UC3VAJ2cjs.package_default.version,
111
+ cliVersion: _chunkEAOEAQGFcjs.package_default.version,
109
112
  platform: process.platform,
110
113
  osVersion: _os2.default.release(),
111
114
  nodeVersion: process.version,
@@ -120,7 +123,7 @@ async function feedback(_ctx) {
120
123
  runtimeError: runtimeError ? formatError(runtimeError) : null
121
124
  };
122
125
  try {
123
- const feedbackPath = _chunkAQNY2M6Qcjs.AUTOHAND_FILES.feedbackLog;
126
+ const feedbackPath = _chunkGIZL57FEcjs.AUTOHAND_FILES.feedbackLog;
124
127
  await _fsextra2.default.ensureFile(feedbackPath);
125
128
  await _fsextra2.default.appendFile(feedbackPath, JSON.stringify(payload) + "\n", "utf8");
126
129
  } catch (e3) {
@@ -128,7 +131,7 @@ async function feedback(_ctx) {
128
131
  try {
129
132
  const response = await sendFeedbackToApi(payload);
130
133
  if (response.success) {
131
- console.log(_chalk2.default.green("Feedback submitted successfully. Thank you!"));
134
+ console.log(_chalk2.default.green(_chunkLOXOD4IScjs.t.call(void 0, "commands.feedback.success")));
132
135
  } else {
133
136
  if (_optionalChain([response, 'access', _6 => _6.error, 'optionalAccess', _7 => _7.includes, 'call', _8 => _8("Rate limit")])) {
134
137
  console.log(_chalk2.default.yellow("Feedback saved locally (rate limited, will retry later)."));
@@ -153,7 +156,7 @@ async function sendFeedbackToApi(payload) {
153
156
  method: "POST",
154
157
  headers: {
155
158
  "Content-Type": "application/json",
156
- "X-CLI-Version": _chunk5UC3VAJ2cjs.package_default.version,
159
+ "X-CLI-Version": _chunkEAOEAQGFcjs.package_default.version,
157
160
  "X-Device-ID": payload.deviceId
158
161
  },
159
162
  body: JSON.stringify(payload),
@@ -175,7 +178,7 @@ async function sendFeedbackToApi(payload) {
175
178
  }
176
179
  }
177
180
  async function getDeviceId() {
178
- const deviceIdPath = `${_chunkAQNY2M6Qcjs.AUTOHAND_PATHS.feedback}/.device-id`;
181
+ const deviceIdPath = `${_chunkGIZL57FEcjs.AUTOHAND_PATHS.feedback}/.device-id`;
179
182
  try {
180
183
  if (await _fsextra2.default.pathExists(deviceIdPath)) {
181
184
  return (await _fsextra2.default.readFile(deviceIdPath, "utf8")).trim();
@@ -184,7 +187,7 @@ async function getDeviceId() {
184
187
  }
185
188
  const deviceId = `anon_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 10)}`;
186
189
  try {
187
- await _fsextra2.default.ensureDir(_chunkAQNY2M6Qcjs.AUTOHAND_PATHS.feedback);
190
+ await _fsextra2.default.ensureDir(_chunkGIZL57FEcjs.AUTOHAND_PATHS.feedback);
188
191
  await _fsextra2.default.writeFile(deviceIdPath, deviceId);
189
192
  } catch (e5) {
190
193
  }
@@ -0,0 +1,249 @@
1
+ // 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 = 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
+ export {
238
+ Theme,
239
+ detectColorMode,
240
+ hexToRgb,
241
+ getTheme,
242
+ setTheme,
243
+ isThemeInitialized
244
+ };
245
+ /**
246
+ * @license
247
+ * Copyright 2025 Autohand AI LLC
248
+ * SPDX-License-Identifier: Apache-2.0
249
+ */
@@ -1,13 +1,13 @@
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(); } }
2
2
 
3
- var _chunkAQNY2M6Qcjs = require('./chunk-AQNY2M6Q.cjs');
3
+ var _chunkGIZL57FEcjs = require('./chunk-GIZL57FE.cjs');
4
4
 
5
5
  // src/permissions/localProjectPermissions.ts
6
6
  var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
7
7
  var _path = require('path'); var _path2 = _interopRequireDefault(_path);
8
8
  var LOCAL_SETTINGS_FILE = "settings.local.json";
9
9
  function getLocalSettingsPath(workspaceRoot) {
10
- return _path2.default.join(workspaceRoot, _chunkAQNY2M6Qcjs.PROJECT_DIR_NAME, LOCAL_SETTINGS_FILE);
10
+ return _path2.default.join(workspaceRoot, _chunkGIZL57FEcjs.PROJECT_DIR_NAME, LOCAL_SETTINGS_FILE);
11
11
  }
12
12
  async function loadLocalProjectSettings(workspaceRoot) {
13
13
  const settingsPath = getLocalSettingsPath(workspaceRoot);
@@ -1,6 +1,6 @@
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 _chunkAQNY2M6Qcjs = require('./chunk-AQNY2M6Q.cjs');
3
+ var _chunkGIZL57FEcjs = require('./chunk-GIZL57FE.cjs');
4
4
 
5
5
  // src/session/SessionManager.ts
6
6
  var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
@@ -10,7 +10,7 @@ var SessionManager = class {
10
10
  constructor(baseDir) {
11
11
  this.currentSession = null;
12
12
  this.index = null;
13
- this.sessionsDir = _nullishCoalesce(baseDir, () => ( _chunkAQNY2M6Qcjs.AUTOHAND_PATHS.sessions));
13
+ this.sessionsDir = _nullishCoalesce(baseDir, () => ( _chunkGIZL57FEcjs.AUTOHAND_PATHS.sessions));
14
14
  }
15
15
  async initialize() {
16
16
  await _fsextra2.default.ensureDir(this.sessionsDir);