agim-cli 1.3.10 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/dist/cli-ui/service.d.ts.map +1 -1
  2. package/dist/cli-ui/service.js +5 -1
  3. package/dist/cli-ui/service.js.map +1 -1
  4. package/dist/cli-ui/tui/app.d.ts +5 -1
  5. package/dist/cli-ui/tui/app.d.ts.map +1 -1
  6. package/dist/cli-ui/tui/app.js +138 -32
  7. package/dist/cli-ui/tui/app.js.map +1 -1
  8. package/dist/cli-ui/tui/index.d.ts.map +1 -1
  9. package/dist/cli-ui/tui/index.js +44 -3
  10. package/dist/cli-ui/tui/index.js.map +1 -1
  11. package/dist/cli-ui/tui/mouse-stdin.d.ts +29 -0
  12. package/dist/cli-ui/tui/mouse-stdin.d.ts.map +1 -0
  13. package/dist/cli-ui/tui/mouse-stdin.js +76 -0
  14. package/dist/cli-ui/tui/mouse-stdin.js.map +1 -0
  15. package/dist/core/a2a.d.ts +1 -1
  16. package/dist/core/a2a.d.ts.map +1 -1
  17. package/dist/core/a2a.js +7 -12
  18. package/dist/core/a2a.js.map +1 -1
  19. package/dist/core/llm/fs-dispatcher.d.ts.map +1 -1
  20. package/dist/core/llm/fs-dispatcher.js +14 -13
  21. package/dist/core/llm/fs-dispatcher.js.map +1 -1
  22. package/dist/core/skills/builtin/agim-self/SKILL.md +4 -4
  23. package/dist/plugins/agents/native/index.js +1 -1
  24. package/dist/plugins/agents/native/index.js.map +1 -1
  25. package/dist/web/public/assets/{a2a-BJDnrQvr.js → a2a-DWibx2v1.js} +2 -2
  26. package/dist/web/public/assets/{a2a-BJDnrQvr.js.map → a2a-DWibx2v1.js.map} +1 -1
  27. package/dist/web/public/assets/{activity-ODVTDapn.js → activity-CSppRQoj.js} +2 -2
  28. package/dist/web/public/assets/{activity-ODVTDapn.js.map → activity-CSppRQoj.js.map} +1 -1
  29. package/dist/web/public/assets/{admins-DUDFhuCJ.js → admins-C9uvJ-ek.js} +2 -2
  30. package/dist/web/public/assets/{admins-DUDFhuCJ.js.map → admins-C9uvJ-ek.js.map} +1 -1
  31. package/dist/web/public/assets/{agents-DFrinQ8S.js → agents-rbtxCOzD.js} +2 -2
  32. package/dist/web/public/assets/{agents-DFrinQ8S.js.map → agents-rbtxCOzD.js.map} +1 -1
  33. package/dist/web/public/assets/{approvals-BBhAiOwe.js → approvals-CgRDzZZP.js} +2 -2
  34. package/dist/web/public/assets/{approvals-BBhAiOwe.js.map → approvals-CgRDzZZP.js.map} +1 -1
  35. package/dist/web/public/assets/{arrow-down-Czj6Xxqp.js → arrow-down-DfVXLyJ6.js} +2 -2
  36. package/dist/web/public/assets/{arrow-down-Czj6Xxqp.js.map → arrow-down-DfVXLyJ6.js.map} +1 -1
  37. package/dist/web/public/assets/{arrow-up-DMJEvzmu.js → arrow-up-CMHA89ux.js} +2 -2
  38. package/dist/web/public/assets/{arrow-up-DMJEvzmu.js.map → arrow-up-CMHA89ux.js.map} +1 -1
  39. package/dist/web/public/assets/{asks-p9bF8Q81.js → asks-9JCznWEb.js} +2 -2
  40. package/dist/web/public/assets/{asks-p9bF8Q81.js.map → asks-9JCznWEb.js.map} +1 -1
  41. package/dist/web/public/assets/{audit-D3Rwft_U.js → audit-DM5sKNA4.js} +2 -2
  42. package/dist/web/public/assets/{audit-D3Rwft_U.js.map → audit-DM5sKNA4.js.map} +1 -1
  43. package/dist/web/public/assets/{bell-BcfPrP44.js → bell-BzG0tUiv.js} +2 -2
  44. package/dist/web/public/assets/{bell-BcfPrP44.js.map → bell-BzG0tUiv.js.map} +1 -1
  45. package/dist/web/public/assets/{bgjobs-DI-G4o1P.js → bgjobs-dLxHKjQK.js} +2 -2
  46. package/dist/web/public/assets/{bgjobs-DI-G4o1P.js.map → bgjobs-dLxHKjQK.js.map} +1 -1
  47. package/dist/web/public/assets/{brain-j7MTWb2W.js → brain-9QmMQ6Ap.js} +2 -2
  48. package/dist/web/public/assets/{brain-j7MTWb2W.js.map → brain-9QmMQ6Ap.js.map} +1 -1
  49. package/dist/web/public/assets/{briefcase-D6VTVxcr.js → briefcase-BehkRQvT.js} +2 -2
  50. package/dist/web/public/assets/{briefcase-D6VTVxcr.js.map → briefcase-BehkRQvT.js.map} +1 -1
  51. package/dist/web/public/assets/{chat-Sh71acST.js → chat-nfyoGDVp.js} +2 -2
  52. package/dist/web/public/assets/{chat-Sh71acST.js.map → chat-nfyoGDVp.js.map} +1 -1
  53. package/dist/web/public/assets/{chevron-left-CJRMeoEU.js → chevron-left-DHpm5XR1.js} +2 -2
  54. package/dist/web/public/assets/{chevron-left-CJRMeoEU.js.map → chevron-left-DHpm5XR1.js.map} +1 -1
  55. package/dist/web/public/assets/{chevron-right-D7RvBcn9.js → chevron-right-BIKADdPm.js} +2 -2
  56. package/dist/web/public/assets/{chevron-right-D7RvBcn9.js.map → chevron-right-BIKADdPm.js.map} +1 -1
  57. package/dist/web/public/assets/{circle-check-DyXDqWS7.js → circle-check-BbAeV_k2.js} +2 -2
  58. package/dist/web/public/assets/{circle-check-DyXDqWS7.js.map → circle-check-BbAeV_k2.js.map} +1 -1
  59. package/dist/web/public/assets/{circle-check-big-4AFRLlHX.js → circle-check-big-Cd4Eyz41.js} +2 -2
  60. package/dist/web/public/assets/{circle-check-big-4AFRLlHX.js.map → circle-check-big-Cd4Eyz41.js.map} +1 -1
  61. package/dist/web/public/assets/{circle-x-CKhp9N2v.js → circle-x-CrmHcrAS.js} +2 -2
  62. package/dist/web/public/assets/{circle-x-CKhp9N2v.js.map → circle-x-CrmHcrAS.js.map} +1 -1
  63. package/dist/web/public/assets/{clock-BFwIA0Jz.js → clock-jJtwqx8f.js} +2 -2
  64. package/dist/web/public/assets/{clock-BFwIA0Jz.js.map → clock-jJtwqx8f.js.map} +1 -1
  65. package/dist/web/public/assets/{confirm-dialog-Cm_B6a_Y.js → confirm-dialog-D4JCDxHT.js} +2 -2
  66. package/dist/web/public/assets/{confirm-dialog-Cm_B6a_Y.js.map → confirm-dialog-D4JCDxHT.js.map} +1 -1
  67. package/dist/web/public/assets/{copy-C2cKu0ar.js → copy-D9ljWg7b.js} +2 -2
  68. package/dist/web/public/assets/{copy-C2cKu0ar.js.map → copy-D9ljWg7b.js.map} +1 -1
  69. package/dist/web/public/assets/{data-table-DP1nlFsW.js → data-table-yUuGHUSG.js} +2 -2
  70. package/dist/web/public/assets/{data-table-DP1nlFsW.js.map → data-table-yUuGHUSG.js.map} +1 -1
  71. package/dist/web/public/assets/{download-PfYhaNlR.js → download-9zxV6ejH.js} +2 -2
  72. package/dist/web/public/assets/{download-PfYhaNlR.js.map → download-9zxV6ejH.js.map} +1 -1
  73. package/dist/web/public/assets/{email-CAS5_GZJ.js → email-C8Fx7GcZ.js} +2 -2
  74. package/dist/web/public/assets/{email-CAS5_GZJ.js.map → email-C8Fx7GcZ.js.map} +1 -1
  75. package/dist/web/public/assets/{empty-state-CJm-vEmY.js → empty-state-B0sJBvsG.js} +2 -2
  76. package/dist/web/public/assets/{empty-state-CJm-vEmY.js.map → empty-state-B0sJBvsG.js.map} +1 -1
  77. package/dist/web/public/assets/{external-link-CBqMMl-X.js → external-link-C3fHPbrL.js} +2 -2
  78. package/dist/web/public/assets/{external-link-CBqMMl-X.js.map → external-link-C3fHPbrL.js.map} +1 -1
  79. package/dist/web/public/assets/{eye-CqZWsMY2.js → eye-BrcGR1Ln.js} +2 -2
  80. package/dist/web/public/assets/{eye-CqZWsMY2.js.map → eye-BrcGR1Ln.js.map} +1 -1
  81. package/dist/web/public/assets/{facts-DzePN4sU.js → facts-DNcekpR_.js} +2 -2
  82. package/dist/web/public/assets/{facts-DzePN4sU.js.map → facts-DNcekpR_.js.map} +1 -1
  83. package/dist/web/public/assets/{goals-B3nMxvT5.js → goals-BJ0I0rVU.js} +2 -2
  84. package/dist/web/public/assets/{goals-B3nMxvT5.js.map → goals-BJ0I0rVU.js.map} +1 -1
  85. package/dist/web/public/assets/{health-Br5o8-3r.js → health-DCFAQ615.js} +2 -2
  86. package/dist/web/public/assets/{health-Br5o8-3r.js.map → health-DCFAQ615.js.map} +1 -1
  87. package/dist/web/public/assets/{heart-pulse-tKr9RbAP.js → heart-pulse-CiwiVY1D.js} +2 -2
  88. package/dist/web/public/assets/{heart-pulse-tKr9RbAP.js.map → heart-pulse-CiwiVY1D.js.map} +1 -1
  89. package/dist/web/public/assets/{heartbeat-C1wrwDfB.js → heartbeat-CYIIkyqM.js} +2 -2
  90. package/dist/web/public/assets/{heartbeat-C1wrwDfB.js.map → heartbeat-CYIIkyqM.js.map} +1 -1
  91. package/dist/web/public/assets/{hot-Cg_tG6vW.js → hot-SjwVKjTN.js} +2 -2
  92. package/dist/web/public/assets/{hot-Cg_tG6vW.js.map → hot-SjwVKjTN.js.map} +1 -1
  93. package/dist/web/public/assets/{index-kq3mrzTq.js → index-BiXaJRfQ.js} +3 -3
  94. package/dist/web/public/assets/{index-kq3mrzTq.js.map → index-BiXaJRfQ.js.map} +1 -1
  95. package/dist/web/public/assets/{injection-DlagYMTW.js → injection-rK-nXEck.js} +2 -2
  96. package/dist/web/public/assets/{injection-DlagYMTW.js.map → injection-rK-nXEck.js.map} +1 -1
  97. package/dist/web/public/assets/{installed-1JZZhebV.js → installed-C3GsWhFt.js} +2 -2
  98. package/dist/web/public/assets/{installed-1JZZhebV.js.map → installed-C3GsWhFt.js.map} +1 -1
  99. package/dist/web/public/assets/{jobs-x1N93chr.js → jobs-Bu20ae1w.js} +2 -2
  100. package/dist/web/public/assets/{jobs-x1N93chr.js.map → jobs-Bu20ae1w.js.map} +1 -1
  101. package/dist/web/public/assets/{layout-vc5vV1Pk.js → layout-B4AOR7bx.js} +2 -2
  102. package/dist/web/public/assets/{layout-vc5vV1Pk.js.map → layout-B4AOR7bx.js.map} +1 -1
  103. package/dist/web/public/assets/{layout-x8HdhDD2.js → layout-BjiHbubM.js} +2 -2
  104. package/dist/web/public/assets/{layout-x8HdhDD2.js.map → layout-BjiHbubM.js.map} +1 -1
  105. package/dist/web/public/assets/{layout-B-1hwvUx.js → layout-C0eeaex1.js} +2 -2
  106. package/dist/web/public/assets/{layout-B-1hwvUx.js.map → layout-C0eeaex1.js.map} +1 -1
  107. package/dist/web/public/assets/{layout-BL59PdSJ.js → layout-CHFdMCNs.js} +2 -2
  108. package/dist/web/public/assets/{layout-BL59PdSJ.js.map → layout-CHFdMCNs.js.map} +1 -1
  109. package/dist/web/public/assets/{layout-BiPpIZhD.js → layout-e2mh2uBC.js} +2 -2
  110. package/dist/web/public/assets/{layout-BiPpIZhD.js.map → layout-e2mh2uBC.js.map} +1 -1
  111. package/dist/web/public/assets/{llm-BpQBNzJC.js → llm-CgMGyAjF.js} +2 -2
  112. package/dist/web/public/assets/{llm-BpQBNzJC.js.map → llm-CgMGyAjF.js.map} +1 -1
  113. package/dist/web/public/assets/{loader-circle-wNz3NK0s.js → loader-circle-D_dW2RUZ.js} +2 -2
  114. package/dist/web/public/assets/{loader-circle-wNz3NK0s.js.map → loader-circle-D_dW2RUZ.js.map} +1 -1
  115. package/dist/web/public/assets/{map-pin-Cr5e7O3j.js → map-pin-jOOaGCmo.js} +2 -2
  116. package/dist/web/public/assets/{map-pin-Cr5e7O3j.js.map → map-pin-jOOaGCmo.js.map} +1 -1
  117. package/dist/web/public/assets/{mcp-rajqKYei.js → mcp-Ip_omrap.js} +2 -2
  118. package/dist/web/public/assets/{mcp-rajqKYei.js.map → mcp-Ip_omrap.js.map} +1 -1
  119. package/dist/web/public/assets/{memos-phDNldWv.js → memos-yOmAURiM.js} +2 -2
  120. package/dist/web/public/assets/{memos-phDNldWv.js.map → memos-yOmAURiM.js.map} +1 -1
  121. package/dist/web/public/assets/{messengers-DRUmbKlC.js → messengers-DdS6Tv_H.js} +2 -2
  122. package/dist/web/public/assets/{messengers-DRUmbKlC.js.map → messengers-DdS6Tv_H.js.map} +1 -1
  123. package/dist/web/public/assets/{mobile-DL7Gu4eC.js → mobile-7gRnqslc.js} +2 -2
  124. package/dist/web/public/assets/{mobile-DL7Gu4eC.js.map → mobile-7gRnqslc.js.map} +1 -1
  125. package/dist/web/public/assets/{network-CYY94XAD.js → network-ClaA9iUg.js} +2 -2
  126. package/dist/web/public/assets/{network-CYY94XAD.js.map → network-ClaA9iUg.js.map} +1 -1
  127. package/dist/web/public/assets/{outbox-DlK7zwpJ.js → outbox-YtiqLz-u.js} +2 -2
  128. package/dist/web/public/assets/{outbox-DlK7zwpJ.js.map → outbox-YtiqLz-u.js.map} +1 -1
  129. package/dist/web/public/assets/{pagination-CEtERXmh.js → pagination-DU9Lf0rD.js} +2 -2
  130. package/dist/web/public/assets/{pagination-CEtERXmh.js.map → pagination-DU9Lf0rD.js.map} +1 -1
  131. package/dist/web/public/assets/{persona-BAKPqEFa.js → persona-C9vZYuJJ.js} +2 -2
  132. package/dist/web/public/assets/{persona-BAKPqEFa.js.map → persona-C9vZYuJJ.js.map} +1 -1
  133. package/dist/web/public/assets/{plans-B6HmsMZO.js → plans-doYYvgG_.js} +2 -2
  134. package/dist/web/public/assets/{plans-B6HmsMZO.js.map → plans-doYYvgG_.js.map} +1 -1
  135. package/dist/web/public/assets/{play-CcC6v05z.js → play-C5MgP1qM.js} +2 -2
  136. package/dist/web/public/assets/{play-CcC6v05z.js.map → play-C5MgP1qM.js.map} +1 -1
  137. package/dist/web/public/assets/{plus-8qdCcw3J.js → plus-BFi9eVCl.js} +2 -2
  138. package/dist/web/public/assets/{plus-8qdCcw3J.js.map → plus-BFi9eVCl.js.map} +1 -1
  139. package/dist/web/public/assets/{policy-Cs-i-TJY.js → policy-DS3IIL78.js} +2 -2
  140. package/dist/web/public/assets/{policy-Cs-i-TJY.js.map → policy-DS3IIL78.js.map} +1 -1
  141. package/dist/web/public/assets/{qr-code-D37cggaF.js → qr-code-BL039OK7.js} +2 -2
  142. package/dist/web/public/assets/{qr-code-D37cggaF.js.map → qr-code-BL039OK7.js.map} +1 -1
  143. package/dist/web/public/assets/{refresh-ccw-BKRs7nNV.js → refresh-ccw-DBNikooZ.js} +2 -2
  144. package/dist/web/public/assets/{refresh-ccw-BKRs7nNV.js.map → refresh-ccw-DBNikooZ.js.map} +1 -1
  145. package/dist/web/public/assets/{reminders-D4Y9FJy5.js → reminders-BcymTbK9.js} +2 -2
  146. package/dist/web/public/assets/{reminders-D4Y9FJy5.js.map → reminders-BcymTbK9.js.map} +1 -1
  147. package/dist/web/public/assets/{save-BkYBfkO0.js → save-DZiTNYpH.js} +2 -2
  148. package/dist/web/public/assets/{save-BkYBfkO0.js.map → save-DZiTNYpH.js.map} +1 -1
  149. package/dist/web/public/assets/{schedules-DFywK1ml.js → schedules-C47XYMM0.js} +2 -2
  150. package/dist/web/public/assets/{schedules-DFywK1ml.js.map → schedules-C47XYMM0.js.map} +1 -1
  151. package/dist/web/public/assets/{search-k6ZRvy1D.js → search-DSXC_EYz.js} +2 -2
  152. package/dist/web/public/assets/{search-k6ZRvy1D.js.map → search-DSXC_EYz.js.map} +1 -1
  153. package/dist/web/public/assets/{search-Dd1xSL9p.js → search-DbPfPYg8.js} +2 -2
  154. package/dist/web/public/assets/{search-Dd1xSL9p.js.map → search-DbPfPYg8.js.map} +1 -1
  155. package/dist/web/public/assets/{security-DAMeDugi.js → security-D7z1GPFd.js} +2 -2
  156. package/dist/web/public/assets/{security-DAMeDugi.js.map → security-D7z1GPFd.js.map} +1 -1
  157. package/dist/web/public/assets/{service-COQVoStD.js → service-7mISPUwf.js} +2 -2
  158. package/dist/web/public/assets/{service-COQVoStD.js.map → service-7mISPUwf.js.map} +1 -1
  159. package/dist/web/public/assets/{shield-alert-CqDAxRHU.js → shield-alert-C3F8izo0.js} +2 -2
  160. package/dist/web/public/assets/{shield-alert-CqDAxRHU.js.map → shield-alert-C3F8izo0.js.map} +1 -1
  161. package/dist/web/public/assets/{status-badge-Dgws2vye.js → status-badge-CvmA1Y93.js} +2 -2
  162. package/dist/web/public/assets/{status-badge-Dgws2vye.js.map → status-badge-CvmA1Y93.js.map} +1 -1
  163. package/dist/web/public/assets/{subtasks-Chl5tnyq.js → subtasks-Bkgb9Pkm.js} +2 -2
  164. package/dist/web/public/assets/{subtasks-Chl5tnyq.js.map → subtasks-Bkgb9Pkm.js.map} +1 -1
  165. package/dist/web/public/assets/{table-BwEvaqRa.js → table-z7CVpKMe.js} +2 -2
  166. package/dist/web/public/assets/{table-BwEvaqRa.js.map → table-z7CVpKMe.js.map} +1 -1
  167. package/dist/web/public/assets/{topn-Bphz3dp-.js → topn-B7GHdOiE.js} +2 -2
  168. package/dist/web/public/assets/{topn-Bphz3dp-.js.map → topn-B7GHdOiE.js.map} +1 -1
  169. package/dist/web/public/assets/{trash-2-CqlgSEso.js → trash-2-DdjC6QH7.js} +2 -2
  170. package/dist/web/public/assets/{trash-2-CqlgSEso.js.map → trash-2-DdjC6QH7.js.map} +1 -1
  171. package/dist/web/public/assets/{use-agim-skills-itOpYud_.js → use-agim-skills-CZkKns-g.js} +2 -2
  172. package/dist/web/public/assets/{use-agim-skills-itOpYud_.js.map → use-agim-skills-CZkKns-g.js.map} +1 -1
  173. package/dist/web/public/assets/{use-background-tasks-DSsDsdbz.js → use-background-tasks-CVdojnmx.js} +2 -2
  174. package/dist/web/public/assets/{use-background-tasks-DSsDsdbz.js.map → use-background-tasks-CVdojnmx.js.map} +1 -1
  175. package/dist/web/public/assets/{use-memory-Bf43EjHT.js → use-memory-CHARtjQ-.js} +2 -2
  176. package/dist/web/public/assets/{use-memory-Bf43EjHT.js.map → use-memory-CHARtjQ-.js.map} +1 -1
  177. package/dist/web/public/assets/{use-observability-DNpZkKkn.js → use-observability-BtZPZLvB.js} +2 -2
  178. package/dist/web/public/assets/{use-observability-DNpZkKkn.js.map → use-observability-BtZPZLvB.js.map} +1 -1
  179. package/dist/web/public/assets/{use-settings-C10E-yWx.js → use-settings-DHEiuHAv.js} +2 -2
  180. package/dist/web/public/assets/{use-settings-C10E-yWx.js.map → use-settings-DHEiuHAv.js.map} +1 -1
  181. package/dist/web/public/assets/{use-workspace-D48X-jjW.js → use-workspace-C1gInLvF.js} +2 -2
  182. package/dist/web/public/assets/{use-workspace-D48X-jjW.js.map → use-workspace-C1gInLvF.js.map} +1 -1
  183. package/dist/web/public/assets/{vector-LvPxtapk.js → vector-CLlo9px7.js} +2 -2
  184. package/dist/web/public/assets/{vector-LvPxtapk.js.map → vector-CLlo9px7.js.map} +1 -1
  185. package/dist/web/public/assets/{viewer-BTSQ5Kiy.js → viewer-BGdrQoJC.js} +2 -2
  186. package/dist/web/public/assets/{viewer-BTSQ5Kiy.js.map → viewer-BGdrQoJC.js.map} +1 -1
  187. package/dist/web/public/assets/{workspace-vy7c8qMt.js → workspace-zG8AgTev.js} +2 -2
  188. package/dist/web/public/assets/{workspace-vy7c8qMt.js.map → workspace-zG8AgTev.js.map} +1 -1
  189. package/dist/web/public/assets/{workspaces-BL_1nr0f.js → workspaces-DT2xLs5G.js} +2 -2
  190. package/dist/web/public/assets/{workspaces-BL_1nr0f.js.map → workspaces-DT2xLs5G.js.map} +1 -1
  191. package/dist/web/public/index.html +1 -1
  192. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/cli-ui/service.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,QAAQ,QAAgC,CAAA;AACrD,eAAO,MAAM,QAAQ,QAAgC,CAAA;AAqBrD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,YAAY,GAAG,MAAM,CAAA;AAE1E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;uBAImB;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AA2BD,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED;;+BAE+B;AAC/B,wBAAgB,aAAa,IAAI,YAAY,CAsE5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAc,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAmB/F;AAED;gDACgD;AAChD,wBAAsB,WAAW,IAAI,OAAO,CAAC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAiCtF;AAED;;4BAE4B;AAC5B,wBAAgB,eAAe,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQvE;AAED;;;;;;;;;;;;;;;;;;;yEAmByE;AACzE,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAK5C;AAyDD;;;;;;;;;wDASwD;AACxD,wBAAsB,sBAAsB,CAAC,IAAI,GAAE;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAwCzD"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/cli-ui/service.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,QAAQ,QAAgC,CAAA;AACrD,eAAO,MAAM,QAAQ,QAAgC,CAAA;AAqBrD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,YAAY,GAAG,MAAM,CAAA;AAE1E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;uBAImB;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AA2BD,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED;;+BAE+B;AAC/B,wBAAgB,aAAa,IAAI,YAAY,CAsE5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAc,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAmB/F;AAED;gDACgD;AAChD,wBAAsB,WAAW,IAAI,OAAO,CAAC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAiCtF;AAED;;4BAE4B;AAC5B,wBAAgB,eAAe,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQvE;AAED;;;;;;;;;;;;;;;;;;;yEAmByE;AACzE,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAK5C;AA6DD;;;;;;;;;wDASwD;AACxD,wBAAsB,sBAAsB,CAAC,IAAI,GAAE;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAwCzD"}
@@ -314,7 +314,11 @@ function findAgimProcessesViaProc() {
314
314
  const argv = raw.split('\x00').filter((s) => s.length > 0);
315
315
  if (argv.length < 3)
316
316
  continue;
317
- const exe = basename(argv[0]);
317
+ // Strip a `.exe` suffix before matching: the bun npm binary is
318
+ // `bun.exe` even on Linux, so `process.execPath` (and thus argv[0] of
319
+ // any agim or test process launched under bun) resolves to `bun.exe`.
320
+ // Without this, bun-launched instances were never recognised.
321
+ const exe = basename(argv[0]).replace(/\.exe$/, '');
318
322
  const isNodeLike = exe === 'node' || exe === 'bun' || exe.startsWith('node');
319
323
  if (!isNodeLike)
320
324
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/cli-ui/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/cli-ui/service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { EventEmitter } from 'node:events';
1
2
  import type { TuiApprovalBridge } from './approval-bridge.js';
2
3
  export interface ChatMessage {
3
4
  id?: string;
@@ -24,7 +25,10 @@ interface AppProps {
24
25
  onSessionIdChange?: (id: string) => void;
25
26
  /** In-process approval surface used by `agim tui` for tool-call approvals. */
26
27
  approvalBridge?: TuiApprovalBridge;
28
+ /** Emits 'wheel' (-1 up / +1 down) per mouse-wheel notch; wired by the
29
+ * stdin proxy in index.ts. Absent when mouse support is off. */
30
+ wheel?: EventEmitter;
27
31
  }
28
- export declare function TuiApp({ initialAgent, resumed, sessionId, onSessionIdChange, approvalBridge }: AppProps): JSX.Element;
32
+ export declare function TuiApp({ initialAgent, resumed, sessionId, onSessionIdChange, approvalBridge, wheel }: AppProps): JSX.Element;
29
33
  export {};
30
34
  //# sourceMappingURL=app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/cli-ui/tui/app.tsx"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,sBAAsB,CAAA;AAU7B,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA4ED,UAAU,QAAQ;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uDAAuD;IACvD,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;IAC7H;uDACmD;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,8EAA8E;IAC9E,cAAc,CAAC,EAAE,iBAAiB,CAAA;CACnC;AAsMD,wBAAgB,MAAM,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,EAAE,QAAQ,GAAG,GAAG,CAAC,OAAO,CA8gCrH"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/cli-ui/tui/app.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQ/C,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,sBAAsB,CAAA;AAU7B,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA4ED,UAAU,QAAQ;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uDAAuD;IACvD,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;IAC7H;uDACmD;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,8EAA8E;IAC9E,cAAc,CAAC,EAAE,iBAAiB,CAAA;IAClC;qEACiE;IACjE,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AAsMD,wBAAgB,MAAM,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,QAAQ,GAAG,GAAG,CAAC,OAAO,CAsnC5H"}
@@ -20,7 +20,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
20
  // Still deferred: multi-line raw editor in-place, image attach, multi-
21
21
  // session list, remote-daemon client mode.
22
22
  import React, { useEffect, useState, useRef, useMemo, useCallback } from 'react';
23
- import { Box, Text, useApp, useInput, useStdin, useStdout } from 'ink';
23
+ import { Box, Text, measureElement, useApp, useInput, useStdin, useStdout } from 'ink';
24
24
  import TextInput from 'ink-text-input';
25
25
  import { spawnSync, exec as cpExec } from 'node:child_process';
26
26
  import { writeFileSync, mkdtempSync, readFileSync, unlinkSync, readdirSync } from 'node:fs';
@@ -154,7 +154,7 @@ function AskDock({ ask, selectedIndex, selectedMulti, customInputMode, }) {
154
154
  ? '↑↓/Tab 选择 · Space 勾选 · Enter 提交'
155
155
  : '↑↓/Tab 选择 · Enter 确认' })] }))] }));
156
156
  }
157
- export function TuiApp({ initialAgent, resumed, sessionId, onSessionIdChange, approvalBridge }) {
157
+ export function TuiApp({ initialAgent, resumed, sessionId, onSessionIdChange, approvalBridge, wheel }) {
158
158
  const { exit } = useApp();
159
159
  const { stdout } = useStdout();
160
160
  const { setRawMode } = useStdin();
@@ -233,8 +233,81 @@ export function TuiApp({ initialAgent, resumed, sessionId, onSessionIdChange, ap
233
233
  const c = process.cwd();
234
234
  return home && c.startsWith(home) ? '~' + c.slice(home.length) : c;
235
235
  }, []);
236
- const cols = stdout?.columns ?? 80;
236
+ // ── Terminal viewport size (drives the fixed-height frame) ─────────
237
+ // Track rows/cols in state so a SIGWINCH resize reflows the pinned
238
+ // layout (header at top, input at bottom, chat scrolls between them).
239
+ const [termSize, setTermSize] = useState(() => ({
240
+ rows: stdout?.rows ?? 24,
241
+ cols: stdout?.columns ?? 80,
242
+ }));
243
+ useEffect(() => {
244
+ if (!stdout)
245
+ return;
246
+ const onResize = () => setTermSize({ rows: stdout.rows ?? 24, cols: stdout.columns ?? 80 });
247
+ stdout.on('resize', onResize);
248
+ onResize();
249
+ return () => { stdout.off('resize', onResize); };
250
+ }, [stdout]);
251
+ const rows = termSize.rows;
252
+ const cols = termSize.cols;
237
253
  const chatWidth = Math.min(cols - 4, 120);
254
+ // ── Middle-region scroll (header & input stay pinned) ─────────────
255
+ // The chat history sits in a fixed-height, overflow-hidden viewport.
256
+ // We scroll it by shifting an inner content box up via a negative
257
+ // marginTop. `follow` glues the view to the newest line (chat-app
258
+ // behaviour); PageUp breaks away, scrolling back to the bottom
259
+ // re-arms it. Heights are measured (not arithmetic) because markdown
260
+ // rows wrap to variable heights.
261
+ const viewportRef = useRef(null);
262
+ const contentRef = useRef(null);
263
+ const viewportHRef = useRef(0);
264
+ const contentHRef = useRef(0);
265
+ const scrollTopRef = useRef(0);
266
+ const [scrollTop, setScrollTop] = useState(0);
267
+ const [follow, setFollow] = useState(true);
268
+ useEffect(() => { scrollTopRef.current = scrollTop; }, [scrollTop]);
269
+ // Re-measure after every commit, then clamp the offset (sticking to
270
+ // the bottom while following). measureElement just reads the laid-out
271
+ // Yoga node, so this is cheap; setScrollTop bails when unchanged.
272
+ useEffect(() => {
273
+ const vh = viewportRef.current ? measureElement(viewportRef.current).height : 0;
274
+ const ch = contentRef.current ? measureElement(contentRef.current).height : 0;
275
+ viewportHRef.current = vh;
276
+ contentHRef.current = ch;
277
+ const maxScroll = Math.max(0, ch - vh);
278
+ setScrollTop((prev) => (follow ? maxScroll : Math.min(prev, maxScroll)));
279
+ });
280
+ const scrollByLines = useCallback((delta) => {
281
+ const maxScroll = Math.max(0, contentHRef.current - viewportHRef.current);
282
+ if (maxScroll === 0) {
283
+ setFollow(true);
284
+ return;
285
+ }
286
+ const next = Math.max(0, Math.min(maxScroll, scrollTopRef.current + delta));
287
+ scrollTopRef.current = next;
288
+ setScrollTop(next);
289
+ setFollow(next >= maxScroll);
290
+ }, []);
291
+ const scrollToTop = useCallback(() => {
292
+ scrollTopRef.current = 0;
293
+ setScrollTop(0);
294
+ setFollow(false);
295
+ }, []);
296
+ const scrollToBottom = useCallback(() => {
297
+ const maxScroll = Math.max(0, contentHRef.current - viewportHRef.current);
298
+ scrollTopRef.current = maxScroll;
299
+ setScrollTop(maxScroll);
300
+ setFollow(true);
301
+ }, []);
302
+ // Mouse wheel → scroll a few lines per notch (index.ts feeds these in
303
+ // via the stdin proxy). scrollByLines is stable, so this subscribes once.
304
+ useEffect(() => {
305
+ if (!wheel)
306
+ return;
307
+ const onWheel = (delta) => scrollByLines(delta * 3);
308
+ wheel.on('wheel', onWheel);
309
+ return () => { wheel.off('wheel', onWheel); };
310
+ }, [wheel, scrollByLines]);
238
311
  const currentAgentSession = agent ? agentSessions[agent] : undefined;
239
312
  const askOptions = useMemo(() => {
240
313
  if (!ask)
@@ -334,6 +407,39 @@ export function TuiApp({ initialAgent, resumed, sessionId, onSessionIdChange, ap
334
407
  setPalette((p) => ({ open: !p.open, query: '', index: 0 }));
335
408
  return;
336
409
  }
410
+ // Scroll the middle chat region without moving the pinned header /
411
+ // input. These keys aren't used elsewhere (and Shift+arrows carry a
412
+ // distinct `shift` flag), so they work in any mode and never reach
413
+ // the input history / option-nav handlers below.
414
+ // Shift+PageUp / Shift+PageDown → jump to top / bottom
415
+ // PageUp / PageDown → page (viewport minus one line)
416
+ // Shift+Up / Shift+Down → one line
417
+ // Scrolling back to the bottom re-arms auto-follow.
418
+ const page = Math.max(1, viewportHRef.current - 1);
419
+ if (key.shift && key.pageUp) {
420
+ scrollToTop();
421
+ return;
422
+ }
423
+ if (key.shift && key.pageDown) {
424
+ scrollToBottom();
425
+ return;
426
+ }
427
+ if (key.pageUp) {
428
+ scrollByLines(-page);
429
+ return;
430
+ }
431
+ if (key.pageDown) {
432
+ scrollByLines(page);
433
+ return;
434
+ }
435
+ if (key.shift && key.upArrow) {
436
+ scrollByLines(-1);
437
+ return;
438
+ }
439
+ if (key.shift && key.downArrow) {
440
+ scrollByLines(1);
441
+ return;
442
+ }
337
443
  const popupOpen = slashPopupOpen || filePopupOpen || agentArgPopupOpen;
338
444
  if (askPending && !palette.open && !helpOpen && !popupOpen && ask) {
339
445
  if (!askCustomInputMode) {
@@ -845,7 +951,7 @@ export function TuiApp({ initialAgent, resumed, sessionId, onSessionIdChange, ap
845
951
  if (text === '/help') {
846
952
  setHelpOpen(true);
847
953
  pushSystem(SLASH_COMMANDS.map((c) => `${c.name.padEnd(10)} ${c.description}`).join('\n')
848
- + '\n\n键位:Enter 发送 · Esc 取消 · ↑↓ 选项/历史 · Tab 补全 · Ctrl-P 命令面板 · ? 帮助 · Ctrl-C 退出'
954
+ + '\n\n键位:Enter 发送 · Esc 取消 · ↑↓ 选项/历史 · Tab 补全 · 滚轮/PageUp/PageDown/Shift+↑↓ 滚动 · Ctrl-P 命令面板 · ? 帮助 · Ctrl-C 退出'
849
955
  + '\n特殊:!<cmd> 行内 bash · @<file> 文件引用');
850
956
  return true;
851
957
  }
@@ -1108,33 +1214,33 @@ export function TuiApp({ initialAgent, resumed, sessionId, onSessionIdChange, ap
1108
1214
  await doSendPrompt(text);
1109
1215
  }
1110
1216
  // ── render ────────────────────────────────────────────────────────
1111
- return (_jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsxs(Box, { paddingX: 1, flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { bold: true, color: "cyan", children: "agim TUI" }), _jsx(Text, { dimColor: true, children: ' · 会话 ' }), _jsx(Text, { color: "yellow", children: shortSessionId(activeSessionId) }), _jsx(Text, { dimColor: true, children: ' · agent ' }), _jsx(Text, { color: "green", children: agent ?? '<no agent>' }), _jsx(Text, { dimColor: true, children: ' · ' }), _jsx(Text, { color: busy ? 'yellow' : 'green', children: busy ? '生成中' : '就绪' })] }), _jsxs(Text, { dimColor: true, children: ["cwd: ", cwd] })] }), _jsx(ChatHistory, { messages: messages, agent: agent, chatWidth: chatWidth }), ask && (_jsx(AskDock, { ask: ask, selectedIndex: askActionIndex, selectedMulti: askSelectedIndexes, customInputMode: askCustomInputMode })), approval && !askPending && (_jsx(ApprovalDock, { approval: approval, selectedIndex: approvalActionSafeIndex, actions: approvalActions })), error && (_jsx(Box, { paddingX: 1, children: _jsxs(Text, { color: "red", children: ["\u26A0 ", error] }) })), !palette.open && helpOpen && (_jsxs(Box, { flexDirection: "column", borderStyle: "double", borderColor: "cyan", paddingX: 1, children: [_jsxs(Text, { children: [_jsx(Text, { bold: true, children: "\u5FEB\u6377\u952E\u5E2E\u52A9" }), _jsx(Text, { dimColor: true, children: " \u00B7 Esc / ? \u5173\u95ED" })] }), _jsx(Text, { dimColor: true, children: "\u53D1\u9001: Enter \u00B7 \u53D6\u6D88\u751F\u6210: Esc \u00B7 \u5386\u53F2: \u2191\u2193 \u00B7 \u8865\u5168: Tab" }), _jsx(Text, { dimColor: true, children: "\u9762\u677F: Ctrl-P \u00B7 \u9000\u51FA: Ctrl-C \u00B7 \u591A\u884C\u7F16\u8F91: /editor" }), _jsx(Text, { dimColor: true, children: "\u4F1A\u8BDD: /new \u65B0\u4F1A\u8BDD \u00B7 /sessions \u6700\u8FD1\u4F1A\u8BDD \u00B7 /export \u5BFC\u51FA" }), _jsx(Text, { dimColor: true, children: '特殊输入: !<shell> 运行命令 · @<file> 引用文件' })] })), palette.open && (_jsxs(Box, { flexDirection: "column", borderStyle: "double", borderColor: "magenta", paddingX: 1, children: [_jsxs(Text, { children: [_jsx(Text, { bold: true, children: "\u547D\u4EE4\u9762\u677F" }), _jsx(Text, { dimColor: true, children: " \u00B7 \u8F93\u5165\u8FC7\u6EE4 \u00B7 \u2191\u2193 \u9009 \u00B7 Enter \u9009\u4E2D \u00B7 Esc \u5173\u95ED" })] }), _jsxs(Text, { color: "cyan", children: ["\u203A ", palette.query, _jsx(Text, { inverse: true, children: " " })] }), filteredPalette.slice(0, 12).map((c, i) => (_jsxs(Box, { children: [_jsx(Text, { color: i === palette.index ? 'cyan' : undefined, inverse: i === palette.index, children: c.name.padEnd(12) }), _jsxs(Text, { dimColor: true, children: [" ", c.description] })] }, c.id))), filteredPalette.length === 0 && _jsx(Text, { dimColor: true, children: "(\u6CA1\u6709\u5339\u914D\u7684\u547D\u4EE4)" })] })), !palette.open && filePopupOpen && filteredFiles.length > 0 && (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "green", paddingX: 1, children: [_jsxs(Text, { dimColor: true, children: ["\u6587\u4EF6\u5F15\u7528\uFF08", filteredFiles.length, " \u4E2A\u5339\u914D\uFF1BTab \u8865\u5168\uFF09"] }), filteredFiles.slice(0, 10).map((f, i) => (_jsxs(Text, { color: i === popupIndex ? 'green' : undefined, inverse: i === popupIndex, children: [f.isDir ? '📁 ' : '📄 ', f.rel] }, f.rel)))] })), !palette.open && slashPopupOpen && filteredSlash.length > 0 && (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "cyan", paddingX: 1, children: [filteredSlash.map((c, i) => (_jsxs(Box, { children: [_jsx(Text, { color: i === popupIndex ? 'cyan' : undefined, inverse: i === popupIndex, children: c.name.padEnd(10) }), _jsxs(Text, { dimColor: true, children: [" ", c.description] })] }, c.name))), _jsx(Text, { dimColor: true, children: "\u2191\u2193 \u79FB\u52A8 \u00B7 Tab \u8865\u5168 \u00B7 Enter \u9009\u4E2D" })] })), !palette.open && agentArgPopupOpen && filteredAgentArgs.length > 0 && (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "magenta", paddingX: 1, children: [_jsxs(Text, { dimColor: true, children: ["\u5207\u6362 agent\uFF08", filteredAgentArgs.length, " \u4E2A\u5339\u914D\uFF1BTab \u8865\u5168 \u00B7 Enter \u9009\u4E2D\uFF09"] }), filteredAgentArgs.slice(0, 10).map((a, i) => (_jsxs(Text, { color: i === popupIndex ? 'magenta' : undefined, inverse: i === popupIndex, children: [a, a === agent ? ' (当前)' : ''] }, a)))] })), _jsxs(Box, { borderStyle: "single", borderColor: busy ? 'yellow' : 'gray', paddingX: 1, marginTop: (slashPopupOpen || filePopupOpen || agentArgPopupOpen || palette.open || helpOpen) ? 0 : 1, children: [_jsxs(Text, { color: busy ? 'yellow' : 'green', children: [busy ? '⠿' : '›', " "] }), _jsx(TextInput, { value: input, onChange: (next) => {
1112
- if (next === '?'
1113
- && input.length === 0
1114
- && !busy
1115
- && !palette.open
1116
- && !slashPopupOpen
1117
- && !filePopupOpen
1118
- && !agentArgPopupOpen) {
1119
- setHelpOpen((h) => !h);
1120
- setInput('');
1121
- return;
1122
- }
1123
- if (historyCursorRef.current !== -1) {
1124
- historyCursorRef.current = -1;
1125
- historyDraftRef.current = '';
1126
- }
1127
- setInput(next);
1128
- }, onSubmit: onSubmit, placeholder: askPending
1129
- ? (askCustomInputMode
1130
- ? '请输入自定义回复,Enter 提交,Esc 返回选项'
1131
- : (ask?.selectionMode === 'multi'
1132
- ? '待决策:↑↓ 选择 · Space 勾选 · Enter 提交'
1133
- : '待决策:↑↓ 选择 · Enter 确认'))
1134
- : activeApprovalPending
1135
- ? (approval?.prompt.mode === 'auto-allow'
1136
- ? '默认放行中:Enter 或输入 n 可拒绝'
1137
- : '审批待处理:用方向键选择,Enter 确认')
1138
- : busy ? '生成中…(Esc 取消)' : '输入消息 · / 命令 · ! shell · @ 文件 · ↑↓ 历史 · ? 帮助 · Ctrl-P 面板', focus: !activeDecisionPending || askCustomInputMode })] }), !activeApprovalPending && approvalStatusLine && _jsx(ApprovalStatusBar, { status: approvalStatusLine }), _jsx(Box, { paddingX: 1, children: _jsxs(Text, { dimColor: true, children: [_jsxs(Text, { children: ["session ", shortSessionId(activeSessionId)] }), _jsx(Text, { children: ' · ' }), _jsxs(Text, { children: [messages.filter((m) => m.role !== 'system').length, " \u6761\u6D88\u606F"] }), currentAgentSession && (_jsxs(Text, { children: [' · ', "agent-session ", shortSessionId(currentAgentSession)] })), (usage.inTok > 0 || usage.outTok > 0 || usage.costUsd > 0) && (_jsxs(Text, { children: [' · ', "\u21C5 ", fmtTok(usage.inTok), "/", fmtTok(usage.outTok), " tok", usage.costUsd > 0 ? ` · $${usage.costUsd.toFixed(4)}` : ''] })), _jsx(Text, { children: ' · ' }), _jsx(Text, { children: "/help \u00B7 ? \u5E2E\u52A9 \u00B7 Ctrl-P \u9762\u677F \u00B7 Ctrl-C \u9000\u51FA" })] }) })] }));
1217
+ return (_jsxs(Box, { flexDirection: "column", width: cols, height: rows, children: [_jsxs(Box, { flexShrink: 0, paddingX: 1, flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { bold: true, color: "cyan", children: "agim TUI" }), _jsx(Text, { dimColor: true, children: ' · 会话 ' }), _jsx(Text, { color: "yellow", children: shortSessionId(activeSessionId) }), _jsx(Text, { dimColor: true, children: ' · agent ' }), _jsx(Text, { color: "green", children: agent ?? '<no agent>' }), _jsx(Text, { dimColor: true, children: ' · ' }), _jsx(Text, { color: busy ? 'yellow' : 'green', children: busy ? '生成中' : '就绪' })] }), _jsxs(Text, { dimColor: true, children: ["cwd: ", cwd] })] }), _jsx(Box, { ref: viewportRef, flexGrow: 1, flexShrink: 1, flexDirection: "column", overflow: "hidden", children: _jsx(Box, { ref: contentRef, flexShrink: 0, flexDirection: "column", marginTop: -scrollTop, children: _jsx(ChatHistory, { messages: messages, agent: agent, chatWidth: chatWidth }) }) }), _jsxs(Box, { flexShrink: 0, flexDirection: "column", children: [ask && (_jsx(AskDock, { ask: ask, selectedIndex: askActionIndex, selectedMulti: askSelectedIndexes, customInputMode: askCustomInputMode })), approval && !askPending && (_jsx(ApprovalDock, { approval: approval, selectedIndex: approvalActionSafeIndex, actions: approvalActions })), error && (_jsx(Box, { paddingX: 1, children: _jsxs(Text, { color: "red", children: ["\u26A0 ", error] }) })), !palette.open && helpOpen && (_jsxs(Box, { flexDirection: "column", borderStyle: "double", borderColor: "cyan", paddingX: 1, children: [_jsxs(Text, { children: [_jsx(Text, { bold: true, children: "\u5FEB\u6377\u952E\u5E2E\u52A9" }), _jsx(Text, { dimColor: true, children: " \u00B7 Esc / ? \u5173\u95ED" })] }), _jsx(Text, { dimColor: true, children: "\u53D1\u9001: Enter \u00B7 \u53D6\u6D88\u751F\u6210: Esc \u00B7 \u5386\u53F2: \u2191\u2193 \u00B7 \u8865\u5168: Tab" }), _jsx(Text, { dimColor: true, children: "\u6EDA\u52A8: \u6EDA\u8F6E \u00B7 PageUp/PageDown \u7FFB\u9875 \u00B7 Shift+\u2191\u2193 \u9010\u884C \u00B7 Shift+PageUp/Dn \u9876/\u5E95" }), _jsx(Text, { dimColor: true, children: "\u9762\u677F: Ctrl-P \u00B7 \u9000\u51FA: Ctrl-C \u00B7 \u591A\u884C\u7F16\u8F91: /editor" }), _jsx(Text, { dimColor: true, children: "\u4F1A\u8BDD: /new \u65B0\u4F1A\u8BDD \u00B7 /sessions \u6700\u8FD1\u4F1A\u8BDD \u00B7 /export \u5BFC\u51FA" }), _jsx(Text, { dimColor: true, children: '特殊输入: !<shell> 运行命令 · @<file> 引用文件' })] })), palette.open && (_jsxs(Box, { flexDirection: "column", borderStyle: "double", borderColor: "magenta", paddingX: 1, children: [_jsxs(Text, { children: [_jsx(Text, { bold: true, children: "\u547D\u4EE4\u9762\u677F" }), _jsx(Text, { dimColor: true, children: " \u00B7 \u8F93\u5165\u8FC7\u6EE4 \u00B7 \u2191\u2193 \u9009 \u00B7 Enter \u9009\u4E2D \u00B7 Esc \u5173\u95ED" })] }), _jsxs(Text, { color: "cyan", children: ["\u203A ", palette.query, _jsx(Text, { inverse: true, children: " " })] }), filteredPalette.slice(0, 12).map((c, i) => (_jsxs(Box, { children: [_jsx(Text, { color: i === palette.index ? 'cyan' : undefined, inverse: i === palette.index, children: c.name.padEnd(12) }), _jsxs(Text, { dimColor: true, children: [" ", c.description] })] }, c.id))), filteredPalette.length === 0 && _jsx(Text, { dimColor: true, children: "(\u6CA1\u6709\u5339\u914D\u7684\u547D\u4EE4)" })] })), !palette.open && filePopupOpen && filteredFiles.length > 0 && (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "green", paddingX: 1, children: [_jsxs(Text, { dimColor: true, children: ["\u6587\u4EF6\u5F15\u7528\uFF08", filteredFiles.length, " \u4E2A\u5339\u914D\uFF1BTab \u8865\u5168\uFF09"] }), filteredFiles.slice(0, 10).map((f, i) => (_jsxs(Text, { color: i === popupIndex ? 'green' : undefined, inverse: i === popupIndex, children: [f.isDir ? '📁 ' : '📄 ', f.rel] }, f.rel)))] })), !palette.open && slashPopupOpen && filteredSlash.length > 0 && (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "cyan", paddingX: 1, children: [filteredSlash.map((c, i) => (_jsxs(Box, { children: [_jsx(Text, { color: i === popupIndex ? 'cyan' : undefined, inverse: i === popupIndex, children: c.name.padEnd(10) }), _jsxs(Text, { dimColor: true, children: [" ", c.description] })] }, c.name))), _jsx(Text, { dimColor: true, children: "\u2191\u2193 \u79FB\u52A8 \u00B7 Tab \u8865\u5168 \u00B7 Enter \u9009\u4E2D" })] })), !palette.open && agentArgPopupOpen && filteredAgentArgs.length > 0 && (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "magenta", paddingX: 1, children: [_jsxs(Text, { dimColor: true, children: ["\u5207\u6362 agent\uFF08", filteredAgentArgs.length, " \u4E2A\u5339\u914D\uFF1BTab \u8865\u5168 \u00B7 Enter \u9009\u4E2D\uFF09"] }), filteredAgentArgs.slice(0, 10).map((a, i) => (_jsxs(Text, { color: i === popupIndex ? 'magenta' : undefined, inverse: i === popupIndex, children: [a, a === agent ? ' (当前)' : ''] }, a)))] })), !follow && (_jsx(Box, { paddingX: 1, children: _jsxs(Text, { color: "yellow", dimColor: true, children: ["\u25B2 \u5DF2\u6682\u505C\u8DDF\u968F\uFF08\u4E0A\u6EDA ", scrollTop, " \u884C\uFF09\u00B7 \u6EDA\u8F6E / PageUp/PageDown / Shift+\u2191\u2193 \u6EDA\u52A8 \u00B7 Shift+PageDn \u6216\u6EDA\u5230\u5E95\u6062\u590D\u8DDF\u968F"] }) })), _jsxs(Box, { borderStyle: "single", borderColor: busy ? 'yellow' : 'gray', paddingX: 1, marginTop: (slashPopupOpen || filePopupOpen || agentArgPopupOpen || palette.open || helpOpen || !follow) ? 0 : 1, children: [_jsxs(Text, { color: busy ? 'yellow' : 'green', children: [busy ? '⠿' : '›', " "] }), _jsx(TextInput, { value: input, onChange: (next) => {
1218
+ if (next === '?'
1219
+ && input.length === 0
1220
+ && !busy
1221
+ && !palette.open
1222
+ && !slashPopupOpen
1223
+ && !filePopupOpen
1224
+ && !agentArgPopupOpen) {
1225
+ setHelpOpen((h) => !h);
1226
+ setInput('');
1227
+ return;
1228
+ }
1229
+ if (historyCursorRef.current !== -1) {
1230
+ historyCursorRef.current = -1;
1231
+ historyDraftRef.current = '';
1232
+ }
1233
+ setInput(next);
1234
+ }, onSubmit: onSubmit, placeholder: askPending
1235
+ ? (askCustomInputMode
1236
+ ? '请输入自定义回复,Enter 提交,Esc 返回选项'
1237
+ : (ask?.selectionMode === 'multi'
1238
+ ? '待决策:↑↓ 选择 · Space 勾选 · Enter 提交'
1239
+ : '待决策:↑↓ 选择 · Enter 确认'))
1240
+ : activeApprovalPending
1241
+ ? (approval?.prompt.mode === 'auto-allow'
1242
+ ? '默认放行中:Enter 或输入 n 可拒绝'
1243
+ : '审批待处理:用方向键选择,Enter 确认')
1244
+ : busy ? '生成中…(Esc 取消)' : '输入消息 · / 命令 · ! shell · @ 文件 · ↑↓ 历史 · ? 帮助 · Ctrl-P 面板', focus: !activeDecisionPending || askCustomInputMode })] }), !activeApprovalPending && approvalStatusLine && _jsx(ApprovalStatusBar, { status: approvalStatusLine }), _jsx(Box, { paddingX: 1, children: _jsxs(Text, { dimColor: true, children: [_jsxs(Text, { children: ["session ", shortSessionId(activeSessionId)] }), _jsx(Text, { children: ' · ' }), _jsxs(Text, { children: [messages.filter((m) => m.role !== 'system').length, " \u6761\u6D88\u606F"] }), currentAgentSession && (_jsxs(Text, { children: [' · ', "agent-session ", shortSessionId(currentAgentSession)] })), (usage.inTok > 0 || usage.outTok > 0 || usage.costUsd > 0) && (_jsxs(Text, { children: [' · ', "\u21C5 ", fmtTok(usage.inTok), "/", fmtTok(usage.outTok), " tok", usage.costUsd > 0 ? ` · $${usage.costUsd.toFixed(4)}` : ''] })), _jsx(Text, { children: ' · ' }), _jsx(Text, { children: "/help \u00B7 ? \u5E2E\u52A9 \u00B7 \u6EDA\u8F6E/PageUp/Dn \u6EDA\u52A8 \u00B7 Ctrl-P \u9762\u677F \u00B7 Ctrl-C \u9000\u51FA" })] }) })] })] }));
1139
1245
  }
1140
1246
  //# sourceMappingURL=app.js.map