agim-cli 1.2.159 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/CHANGELOG.md +56 -53
  2. package/README.md +87 -426
  3. package/README.zh-CN.md +85 -416
  4. package/dist/cli-ui/cmd-handlers.d.ts.map +1 -1
  5. package/dist/cli-ui/cmd-handlers.js +1 -0
  6. package/dist/cli-ui/cmd-handlers.js.map +1 -1
  7. package/dist/cli-ui/entry-menu.d.ts +0 -2
  8. package/dist/cli-ui/entry-menu.d.ts.map +1 -1
  9. package/dist/cli-ui/entry-menu.js +0 -1
  10. package/dist/cli-ui/entry-menu.js.map +1 -1
  11. package/dist/cli-ui/i18n.d.ts +3 -8
  12. package/dist/cli-ui/i18n.d.ts.map +1 -1
  13. package/dist/cli-ui/i18n.js +6 -16
  14. package/dist/cli-ui/i18n.js.map +1 -1
  15. package/dist/cli-ui/tui/app.d.ts +5 -1
  16. package/dist/cli-ui/tui/app.d.ts.map +1 -1
  17. package/dist/cli-ui/tui/app.js +243 -63
  18. package/dist/cli-ui/tui/app.js.map +1 -1
  19. package/dist/cli-ui/tui/index.d.ts.map +1 -1
  20. package/dist/cli-ui/tui/index.js +23 -5
  21. package/dist/cli-ui/tui/index.js.map +1 -1
  22. package/dist/cli-ui/tui/sessions.d.ts +2 -0
  23. package/dist/cli-ui/tui/sessions.d.ts.map +1 -1
  24. package/dist/cli-ui/tui/sessions.js +13 -3
  25. package/dist/cli-ui/tui/sessions.js.map +1 -1
  26. package/dist/cli.js +39 -70
  27. package/dist/cli.js.map +1 -1
  28. package/dist/core/acp-server.d.ts.map +1 -1
  29. package/dist/core/acp-server.js +23 -44
  30. package/dist/core/acp-server.js.map +1 -1
  31. package/dist/core/admin-allowlist.d.ts +26 -15
  32. package/dist/core/admin-allowlist.d.ts.map +1 -1
  33. package/dist/core/admin-allowlist.js +213 -179
  34. package/dist/core/admin-allowlist.js.map +1 -1
  35. package/dist/core/approval-router.d.ts.map +1 -1
  36. package/dist/core/approval-router.js +23 -0
  37. package/dist/core/approval-router.js.map +1 -1
  38. package/dist/core/ask-user-rpc.d.ts.map +1 -1
  39. package/dist/core/ask-user-rpc.js +2 -3
  40. package/dist/core/ask-user-rpc.js.map +1 -1
  41. package/dist/core/commands/builtin.js +2 -2
  42. package/dist/core/commands/builtin.js.map +1 -1
  43. package/dist/core/commands/outbox.d.ts +1 -1
  44. package/dist/core/commands/outbox.d.ts.map +1 -1
  45. package/dist/core/commands/outbox.js +5 -1
  46. package/dist/core/commands/outbox.js.map +1 -1
  47. package/dist/core/commands/service.js +2 -2
  48. package/dist/core/commands/service.js.map +1 -1
  49. package/dist/core/commands/setup.d.ts.map +1 -1
  50. package/dist/core/commands/setup.js +11 -60
  51. package/dist/core/commands/setup.js.map +1 -1
  52. package/dist/core/llm/index.d.ts +1 -1
  53. package/dist/core/llm/index.d.ts.map +1 -1
  54. package/dist/core/llm/index.js +1 -1
  55. package/dist/core/llm/index.js.map +1 -1
  56. package/dist/core/llm/registry.d.ts +6 -0
  57. package/dist/core/llm/registry.d.ts.map +1 -1
  58. package/dist/core/llm/registry.js +12 -0
  59. package/dist/core/llm/registry.js.map +1 -1
  60. package/dist/core/llm/secrets.js +2 -2
  61. package/dist/core/llm/secrets.js.map +1 -1
  62. package/dist/core/onboarding.js +1 -1
  63. package/dist/core/onboarding.js.map +1 -1
  64. package/dist/core/registry.js +3 -3
  65. package/dist/core/registry.js.map +1 -1
  66. package/dist/core/router.js +2 -2
  67. package/dist/core/router.js.map +1 -1
  68. package/dist/core/sender-allowlist.js +1 -1
  69. package/dist/core/sender-allowlist.js.map +1 -1
  70. package/dist/plugins/agents/native/index.d.ts.map +1 -1
  71. package/dist/plugins/agents/native/index.js +17 -4
  72. package/dist/plugins/agents/native/index.js.map +1 -1
  73. package/dist/plugins/agents/pi-native/factory.d.ts.map +1 -1
  74. package/dist/plugins/agents/pi-native/factory.js +9 -3
  75. package/dist/plugins/agents/pi-native/factory.js.map +1 -1
  76. package/dist/plugins/agents/pi-native/index.js +2 -2
  77. package/dist/plugins/agents/pi-native/index.js.map +1 -1
  78. package/dist/plugins/agents/pi-native/provider-resolver.d.ts +2 -0
  79. package/dist/plugins/agents/pi-native/provider-resolver.d.ts.map +1 -1
  80. package/dist/plugins/agents/pi-native/provider-resolver.js +6 -1
  81. package/dist/plugins/agents/pi-native/provider-resolver.js.map +1 -1
  82. package/dist/plugins/agents/pi-native/tool-bridge.js +1 -1
  83. package/dist/plugins/agents/pi-native/tool-bridge.js.map +1 -1
  84. package/dist/web/llm-api.d.ts.map +1 -1
  85. package/dist/web/llm-api.js +12 -0
  86. package/dist/web/llm-api.js.map +1 -1
  87. package/dist/web/public/assets/{a2a-CK_McNBZ.js → a2a-Dtc6AKjx.js} +3 -3
  88. package/dist/web/public/assets/{a2a-CK_McNBZ.js.map → a2a-Dtc6AKjx.js.map} +1 -1
  89. package/dist/web/public/assets/{activity-SXgxjjhd.js → activity-CWFI_ke7.js} +2 -2
  90. package/dist/web/public/assets/{activity-SXgxjjhd.js.map → activity-CWFI_ke7.js.map} +1 -1
  91. package/dist/web/public/assets/admins-CeQorJdU.js +17 -0
  92. package/dist/web/public/assets/admins-CeQorJdU.js.map +1 -0
  93. package/dist/web/public/assets/{agents-BhuZPnjf.js → agents-DnJruPrS.js} +3 -3
  94. package/dist/web/public/assets/{agents-BhuZPnjf.js.map → agents-DnJruPrS.js.map} +1 -1
  95. package/dist/web/public/assets/{approvals-CUsF6htp.js → approvals-BEPKSyrL.js} +3 -3
  96. package/dist/web/public/assets/{approvals-CUsF6htp.js.map → approvals-BEPKSyrL.js.map} +1 -1
  97. package/dist/web/public/assets/{arrow-down-Dhsj-A0i.js → arrow-down-CzWGZc48.js} +2 -2
  98. package/dist/web/public/assets/{arrow-down-Dhsj-A0i.js.map → arrow-down-CzWGZc48.js.map} +1 -1
  99. package/dist/web/public/assets/{arrow-up-Byeo8HHt.js → arrow-up-CXy94NPi.js} +2 -2
  100. package/dist/web/public/assets/{arrow-up-Byeo8HHt.js.map → arrow-up-CXy94NPi.js.map} +1 -1
  101. package/dist/web/public/assets/{asks-BkwfCOfj.js → asks-BszsbhPn.js} +3 -3
  102. package/dist/web/public/assets/{asks-BkwfCOfj.js.map → asks-BszsbhPn.js.map} +1 -1
  103. package/dist/web/public/assets/audit-ACrwMizd.js +2 -0
  104. package/dist/web/public/assets/{audit-DshxCHuP.js.map → audit-ACrwMizd.js.map} +1 -1
  105. package/dist/web/public/assets/{bell-CgQQygG1.js → bell-BLwNOhXO.js} +2 -2
  106. package/dist/web/public/assets/{bell-CgQQygG1.js.map → bell-BLwNOhXO.js.map} +1 -1
  107. package/dist/web/public/assets/{bgjobs-qYRbEcQY.js → bgjobs-Cwp0PmTF.js} +3 -3
  108. package/dist/web/public/assets/{bgjobs-qYRbEcQY.js.map → bgjobs-Cwp0PmTF.js.map} +1 -1
  109. package/dist/web/public/assets/{brain-V9r2NcZc.js → brain-5AJBYzXX.js} +2 -2
  110. package/dist/web/public/assets/{brain-V9r2NcZc.js.map → brain-5AJBYzXX.js.map} +1 -1
  111. package/dist/web/public/assets/{briefcase-CC-yM9eZ.js → briefcase-BTDurkZz.js} +2 -2
  112. package/dist/web/public/assets/{briefcase-CC-yM9eZ.js.map → briefcase-BTDurkZz.js.map} +1 -1
  113. package/dist/web/public/assets/chat-D7jjr-Rn.js +17 -0
  114. package/dist/web/public/assets/chat-D7jjr-Rn.js.map +1 -0
  115. package/dist/web/public/assets/{chevron-left-CTwCYqyt.js → chevron-left-CnLOhWHE.js} +2 -2
  116. package/dist/web/public/assets/{chevron-left-CTwCYqyt.js.map → chevron-left-CnLOhWHE.js.map} +1 -1
  117. package/dist/web/public/assets/chevron-right-CpWYrqTa.js +7 -0
  118. package/dist/web/public/assets/{chevron-right-CDiFYKGo.js.map → chevron-right-CpWYrqTa.js.map} +1 -1
  119. package/dist/web/public/assets/{circle-check-CWttT2Af.js → circle-check-DhcTh_uP.js} +2 -2
  120. package/dist/web/public/assets/{circle-check-CWttT2Af.js.map → circle-check-DhcTh_uP.js.map} +1 -1
  121. package/dist/web/public/assets/{circle-check-big-Cf2odn4o.js → circle-check-big-CcknUEHz.js} +2 -2
  122. package/dist/web/public/assets/{circle-check-big-Cf2odn4o.js.map → circle-check-big-CcknUEHz.js.map} +1 -1
  123. package/dist/web/public/assets/{circle-x-CMJqo4Pi.js → circle-x-QODE2UcL.js} +2 -2
  124. package/dist/web/public/assets/{circle-x-CMJqo4Pi.js.map → circle-x-QODE2UcL.js.map} +1 -1
  125. package/dist/web/public/assets/{clock-DUKggKlF.js → clock-BPBx4QWT.js} +3 -3
  126. package/dist/web/public/assets/{clock-DUKggKlF.js.map → clock-BPBx4QWT.js.map} +1 -1
  127. package/dist/web/public/assets/confirm-dialog-HsyBgWxC.js +2 -0
  128. package/dist/web/public/assets/{confirm-dialog-CMWuyC3w.js.map → confirm-dialog-HsyBgWxC.js.map} +1 -1
  129. package/dist/web/public/assets/{copy-D8mIKuYJ.js → copy-VJNELMp7.js} +3 -3
  130. package/dist/web/public/assets/{copy-D8mIKuYJ.js.map → copy-VJNELMp7.js.map} +1 -1
  131. package/dist/web/public/assets/{data-table-CHGndGOY.js → data-table-C0yaCeSS.js} +2 -2
  132. package/dist/web/public/assets/{data-table-CHGndGOY.js.map → data-table-C0yaCeSS.js.map} +1 -1
  133. package/dist/web/public/assets/{download-CgEI28s6.js → download-EUh-RXv5.js} +3 -3
  134. package/dist/web/public/assets/{download-CgEI28s6.js.map → download-EUh-RXv5.js.map} +1 -1
  135. package/dist/web/public/assets/{email-BLZQOZnx.js → email-YUzrp4Tf.js} +3 -3
  136. package/dist/web/public/assets/{email-BLZQOZnx.js.map → email-YUzrp4Tf.js.map} +1 -1
  137. package/dist/web/public/assets/{empty-state-D8kx-FwO.js → empty-state-DoiBKL4l.js} +2 -2
  138. package/dist/web/public/assets/{empty-state-D8kx-FwO.js.map → empty-state-DoiBKL4l.js.map} +1 -1
  139. package/dist/web/public/assets/{external-link-BM6n9mwt.js → external-link-Bf2430Ji.js} +2 -2
  140. package/dist/web/public/assets/{external-link-BM6n9mwt.js.map → external-link-Bf2430Ji.js.map} +1 -1
  141. package/dist/web/public/assets/{eye-Dk27zHD5.js → eye-vE4k-Us-.js} +2 -2
  142. package/dist/web/public/assets/{eye-Dk27zHD5.js.map → eye-vE4k-Us-.js.map} +1 -1
  143. package/dist/web/public/assets/facts-BPVTGzM4.js +2 -0
  144. package/dist/web/public/assets/{facts-CoWF4O82.js.map → facts-BPVTGzM4.js.map} +1 -1
  145. package/dist/web/public/assets/{goals-CuiFswaR.js → goals-HsKzf-PG.js} +3 -3
  146. package/dist/web/public/assets/{goals-CuiFswaR.js.map → goals-HsKzf-PG.js.map} +1 -1
  147. package/dist/web/public/assets/health-CSMAArAj.js +2 -0
  148. package/dist/web/public/assets/{health-C3lSUr_r.js.map → health-CSMAArAj.js.map} +1 -1
  149. package/dist/web/public/assets/{heart-pulse-D34iW_OF.js → heart-pulse-8RDC8GWv.js} +2 -2
  150. package/dist/web/public/assets/{heart-pulse-D34iW_OF.js.map → heart-pulse-8RDC8GWv.js.map} +1 -1
  151. package/dist/web/public/assets/{heartbeat-Z5gPGZhm.js → heartbeat-BzHZy7Mx.js} +3 -3
  152. package/dist/web/public/assets/{heartbeat-Z5gPGZhm.js.map → heartbeat-BzHZy7Mx.js.map} +1 -1
  153. package/dist/web/public/assets/{hot-CZJeO9Mj.js → hot-DkFvD3H4.js} +3 -3
  154. package/dist/web/public/assets/{hot-CZJeO9Mj.js.map → hot-DkFvD3H4.js.map} +1 -1
  155. package/dist/web/public/assets/index-Bc0H0I1S.css +1 -0
  156. package/dist/web/public/assets/index-D7BuMEIr.js +204 -0
  157. package/dist/web/public/assets/index-D7BuMEIr.js.map +1 -0
  158. package/dist/web/public/assets/injection-a2kkgRbT.js +2 -0
  159. package/dist/web/public/assets/{injection-BTDjIbkn.js.map → injection-a2kkgRbT.js.map} +1 -1
  160. package/dist/web/public/assets/{installed-B5IGYO0m.js → installed-XQQEPKh8.js} +3 -3
  161. package/dist/web/public/assets/{installed-B5IGYO0m.js.map → installed-XQQEPKh8.js.map} +1 -1
  162. package/dist/web/public/assets/jobs-Cby1Eq4o.js +2 -0
  163. package/dist/web/public/assets/{jobs-9YLeiSVG.js.map → jobs-Cby1Eq4o.js.map} +1 -1
  164. package/dist/web/public/assets/{layout-5cLpIeb4.js → layout-0rDvqHCV.js} +2 -2
  165. package/dist/web/public/assets/{layout-5cLpIeb4.js.map → layout-0rDvqHCV.js.map} +1 -1
  166. package/dist/web/public/assets/{layout-BdCXtDqk.js → layout-BRnEPnky.js} +2 -2
  167. package/dist/web/public/assets/{layout-BdCXtDqk.js.map → layout-BRnEPnky.js.map} +1 -1
  168. package/dist/web/public/assets/layout-BdtJtlu5.js +2 -0
  169. package/dist/web/public/assets/{layout-CgeijAPB.js.map → layout-BdtJtlu5.js.map} +1 -1
  170. package/dist/web/public/assets/{layout-DLtODZx_.js → layout-CbqldDRj.js} +2 -2
  171. package/dist/web/public/assets/{layout-DLtODZx_.js.map → layout-CbqldDRj.js.map} +1 -1
  172. package/dist/web/public/assets/layout-Gh29ouFO.js +2 -0
  173. package/dist/web/public/assets/{layout-DviZj3TJ.js.map → layout-Gh29ouFO.js.map} +1 -1
  174. package/dist/web/public/assets/{llm-BXhp_nmW.js → llm-COWnMdB9.js} +3 -3
  175. package/dist/web/public/assets/llm-COWnMdB9.js.map +1 -0
  176. package/dist/web/public/assets/loader-circle-DO3Ni2RJ.js +7 -0
  177. package/dist/web/public/assets/{loader-circle-Bgi0H_iI.js.map → loader-circle-DO3Ni2RJ.js.map} +1 -1
  178. package/dist/web/public/assets/{map-pin-o5p1iOoH.js → map-pin-BsL35E1s.js} +2 -2
  179. package/dist/web/public/assets/{map-pin-o5p1iOoH.js.map → map-pin-BsL35E1s.js.map} +1 -1
  180. package/dist/web/public/assets/{mcp-kSwFcRcU.js → mcp-CWMdxcBf.js} +3 -3
  181. package/dist/web/public/assets/{mcp-kSwFcRcU.js.map → mcp-CWMdxcBf.js.map} +1 -1
  182. package/dist/web/public/assets/{memos-uAcJzXoQ.js → memos-BYQa4d2t.js} +3 -3
  183. package/dist/web/public/assets/{memos-uAcJzXoQ.js.map → memos-BYQa4d2t.js.map} +1 -1
  184. package/dist/web/public/assets/messengers-CebazAJ1.js +2 -0
  185. package/dist/web/public/assets/{messengers-CkfyROty.js.map → messengers-CebazAJ1.js.map} +1 -1
  186. package/dist/web/public/assets/{mobile-ClKdRpd9.js → mobile-CMJRNHs2.js} +3 -3
  187. package/dist/web/public/assets/{mobile-ClKdRpd9.js.map → mobile-CMJRNHs2.js.map} +1 -1
  188. package/dist/web/public/assets/{native-agent-yfdrcTaK.js → native-agent-MGgMeTHN.js} +3 -3
  189. package/dist/web/public/assets/{native-agent-yfdrcTaK.js.map → native-agent-MGgMeTHN.js.map} +1 -1
  190. package/dist/web/public/assets/{network-BlQWIsIc.js → network-pNcx_slv.js} +2 -2
  191. package/dist/web/public/assets/{network-BlQWIsIc.js.map → network-pNcx_slv.js.map} +1 -1
  192. package/dist/web/public/assets/{outbox-CYwJu6AR.js → outbox-87hzZQLn.js} +3 -3
  193. package/dist/web/public/assets/{outbox-CYwJu6AR.js.map → outbox-87hzZQLn.js.map} +1 -1
  194. package/dist/web/public/assets/{pagination-C6qu72mB.js → pagination-C4edFAqf.js} +2 -2
  195. package/dist/web/public/assets/{pagination-C6qu72mB.js.map → pagination-C4edFAqf.js.map} +1 -1
  196. package/dist/web/public/assets/persona-BcOT3Wms.js +2 -0
  197. package/dist/web/public/assets/{persona-DnuFOp64.js.map → persona-BcOT3Wms.js.map} +1 -1
  198. package/dist/web/public/assets/{plans-DUg3JDwQ.js → plans-Ddz5qwqp.js} +3 -3
  199. package/dist/web/public/assets/{plans-DUg3JDwQ.js.map → plans-Ddz5qwqp.js.map} +1 -1
  200. package/dist/web/public/assets/{play-BGXpdCxa.js → play-Bzdymasn.js} +2 -2
  201. package/dist/web/public/assets/{play-BGXpdCxa.js.map → play-Bzdymasn.js.map} +1 -1
  202. package/dist/web/public/assets/{plus-2MZ7TkP3.js → plus-BxjzY9Wh.js} +2 -2
  203. package/dist/web/public/assets/{plus-2MZ7TkP3.js.map → plus-BxjzY9Wh.js.map} +1 -1
  204. package/dist/web/public/assets/policy-Be-tMZZc.js +2 -0
  205. package/dist/web/public/assets/{policy-C4xe2rWm.js.map → policy-Be-tMZZc.js.map} +1 -1
  206. package/dist/web/public/assets/{qr-code-BVHNR5Zs.js → qr-code-D1V5cA_X.js} +2 -2
  207. package/dist/web/public/assets/{qr-code-BVHNR5Zs.js.map → qr-code-D1V5cA_X.js.map} +1 -1
  208. package/dist/web/public/assets/{refresh-ccw-MHrCmmSv.js → refresh-ccw-BhPAzZAa.js} +2 -2
  209. package/dist/web/public/assets/{refresh-ccw-MHrCmmSv.js.map → refresh-ccw-BhPAzZAa.js.map} +1 -1
  210. package/dist/web/public/assets/{reminders-CmV_JNt5.js → reminders-DEWtrlH_.js} +3 -3
  211. package/dist/web/public/assets/{reminders-CmV_JNt5.js.map → reminders-DEWtrlH_.js.map} +1 -1
  212. package/dist/web/public/assets/{save-DhFewuZL.js → save-Cye8Vlu5.js} +2 -2
  213. package/dist/web/public/assets/{save-DhFewuZL.js.map → save-Cye8Vlu5.js.map} +1 -1
  214. package/dist/web/public/assets/{schedules-Cp63TJGf.js → schedules-CuqRy3t8.js} +3 -3
  215. package/dist/web/public/assets/{schedules-Cp63TJGf.js.map → schedules-CuqRy3t8.js.map} +1 -1
  216. package/dist/web/public/assets/{search-wZEXSmcX.js → search-BQqVArrW.js} +2 -2
  217. package/dist/web/public/assets/{search-wZEXSmcX.js.map → search-BQqVArrW.js.map} +1 -1
  218. package/dist/web/public/assets/{search-wUAqWxXK.js → search-Dot_W5Eu.js} +3 -3
  219. package/dist/web/public/assets/{search-wUAqWxXK.js.map → search-Dot_W5Eu.js.map} +1 -1
  220. package/dist/web/public/assets/security-BB-YnetQ.js +2 -0
  221. package/dist/web/public/assets/{security-BoMdDyCY.js.map → security-BB-YnetQ.js.map} +1 -1
  222. package/dist/web/public/assets/{service-C_KqtWwn.js → service-DgkqlAtM.js} +3 -3
  223. package/dist/web/public/assets/{service-C_KqtWwn.js.map → service-DgkqlAtM.js.map} +1 -1
  224. package/dist/web/public/assets/{shield-alert-CplKlUGS.js → shield-alert-CBOmgn9W.js} +2 -2
  225. package/dist/web/public/assets/{shield-alert-CplKlUGS.js.map → shield-alert-CBOmgn9W.js.map} +1 -1
  226. package/dist/web/public/assets/{status-badge-q2WooCma.js → status-badge-9sMFH4uP.js} +2 -2
  227. package/dist/web/public/assets/{status-badge-q2WooCma.js.map → status-badge-9sMFH4uP.js.map} +1 -1
  228. package/dist/web/public/assets/{subtasks-CBi4c6FD.js → subtasks-BrqdQxw_.js} +3 -3
  229. package/dist/web/public/assets/{subtasks-CBi4c6FD.js.map → subtasks-BrqdQxw_.js.map} +1 -1
  230. package/dist/web/public/assets/{table-Bmwe7n4n.js → table-CSHCu7pz.js} +2 -2
  231. package/dist/web/public/assets/{table-Bmwe7n4n.js.map → table-CSHCu7pz.js.map} +1 -1
  232. package/dist/web/public/assets/{topn-CMRS4ApA.js → topn-DZWbwDge.js} +3 -3
  233. package/dist/web/public/assets/{topn-CMRS4ApA.js.map → topn-DZWbwDge.js.map} +1 -1
  234. package/dist/web/public/assets/{trash-2-CT_B0mSH.js → trash-2-Cco09tAA.js} +2 -2
  235. package/dist/web/public/assets/{trash-2-CT_B0mSH.js.map → trash-2-Cco09tAA.js.map} +1 -1
  236. package/dist/web/public/assets/use-agim-skills-CJOJKeOZ.js +2 -0
  237. package/dist/web/public/assets/{use-agim-skills-C0HdvMQj.js.map → use-agim-skills-CJOJKeOZ.js.map} +1 -1
  238. package/dist/web/public/assets/use-background-tasks-D77bcfrq.js +2 -0
  239. package/dist/web/public/assets/{use-background-tasks-Co9CtmcD.js.map → use-background-tasks-D77bcfrq.js.map} +1 -1
  240. package/dist/web/public/assets/use-memory-CX4B1SYC.js +2 -0
  241. package/dist/web/public/assets/{use-memory-BHYuPOc9.js.map → use-memory-CX4B1SYC.js.map} +1 -1
  242. package/dist/web/public/assets/use-observability-rcc7fRmj.js +2 -0
  243. package/dist/web/public/assets/{use-observability-CHv6H0zQ.js.map → use-observability-rcc7fRmj.js.map} +1 -1
  244. package/dist/web/public/assets/use-settings-DQnJkPXp.js +2 -0
  245. package/dist/web/public/assets/{use-settings-Bx0ZTOsd.js.map → use-settings-DQnJkPXp.js.map} +1 -1
  246. package/dist/web/public/assets/use-workspace-J5eeVxw9.js +2 -0
  247. package/dist/web/public/assets/{use-workspace-zFEfqUCo.js.map → use-workspace-J5eeVxw9.js.map} +1 -1
  248. package/dist/web/public/assets/vector-xRphJ8hW.js +2 -0
  249. package/dist/web/public/assets/{vector-B9v7zTvA.js.map → vector-xRphJ8hW.js.map} +1 -1
  250. package/dist/web/public/assets/{viewer-CeD55ZLu.js → viewer-Bq7l2kE8.js} +3 -3
  251. package/dist/web/public/assets/{viewer-CeD55ZLu.js.map → viewer-Bq7l2kE8.js.map} +1 -1
  252. package/dist/web/public/assets/{workspace-Ci21xBqp.js → workspace-BqMuxPFF.js} +3 -3
  253. package/dist/web/public/assets/{workspace-Ci21xBqp.js.map → workspace-BqMuxPFF.js.map} +1 -1
  254. package/dist/web/public/assets/{workspaces-C8mT-jmj.js → workspaces-D0pYJfxI.js} +3 -3
  255. package/dist/web/public/assets/{workspaces-C8mT-jmj.js.map → workspaces-D0pYJfxI.js.map} +1 -1
  256. package/dist/web/public/index.html +2 -2
  257. package/dist/web/server.d.ts.map +1 -1
  258. package/dist/web/server.js +85 -54
  259. package/dist/web/server.js.map +1 -1
  260. package/package.json +4 -6
  261. package/dist/core/admin-bootstrap.d.ts +0 -42
  262. package/dist/core/admin-bootstrap.d.ts.map +0 -1
  263. package/dist/core/admin-bootstrap.js +0 -156
  264. package/dist/core/admin-bootstrap.js.map +0 -1
  265. package/dist/web/public/assets/admins-aofsuukT.js +0 -12
  266. package/dist/web/public/assets/admins-aofsuukT.js.map +0 -1
  267. package/dist/web/public/assets/audit-DshxCHuP.js +0 -2
  268. package/dist/web/public/assets/chat-CY4JriM5.js +0 -7
  269. package/dist/web/public/assets/chat-CY4JriM5.js.map +0 -1
  270. package/dist/web/public/assets/chevron-right-CDiFYKGo.js +0 -7
  271. package/dist/web/public/assets/confirm-dialog-CMWuyC3w.js +0 -2
  272. package/dist/web/public/assets/dialog-xeyu8dCf.js +0 -2
  273. package/dist/web/public/assets/dialog-xeyu8dCf.js.map +0 -1
  274. package/dist/web/public/assets/facts-CoWF4O82.js +0 -2
  275. package/dist/web/public/assets/health-C3lSUr_r.js +0 -2
  276. package/dist/web/public/assets/index-D1ulN_24.js +0 -199
  277. package/dist/web/public/assets/index-D1ulN_24.js.map +0 -1
  278. package/dist/web/public/assets/index-uKzGZ_Df.css +0 -1
  279. package/dist/web/public/assets/injection-BTDjIbkn.js +0 -2
  280. package/dist/web/public/assets/jobs-9YLeiSVG.js +0 -2
  281. package/dist/web/public/assets/layout-CgeijAPB.js +0 -2
  282. package/dist/web/public/assets/layout-DviZj3TJ.js +0 -2
  283. package/dist/web/public/assets/llm-BXhp_nmW.js.map +0 -1
  284. package/dist/web/public/assets/loader-circle-Bgi0H_iI.js +0 -7
  285. package/dist/web/public/assets/messengers-CkfyROty.js +0 -2
  286. package/dist/web/public/assets/persona-DnuFOp64.js +0 -2
  287. package/dist/web/public/assets/policy-C4xe2rWm.js +0 -2
  288. package/dist/web/public/assets/security-BoMdDyCY.js +0 -2
  289. package/dist/web/public/assets/use-agim-skills-C0HdvMQj.js +0 -2
  290. package/dist/web/public/assets/use-background-tasks-Co9CtmcD.js +0 -2
  291. package/dist/web/public/assets/use-llm-admin-Bd0XAQpx.js +0 -2
  292. package/dist/web/public/assets/use-llm-admin-Bd0XAQpx.js.map +0 -1
  293. package/dist/web/public/assets/use-memory-BHYuPOc9.js +0 -2
  294. package/dist/web/public/assets/use-observability-CHv6H0zQ.js +0 -2
  295. package/dist/web/public/assets/use-settings-Bx0ZTOsd.js +0 -2
  296. package/dist/web/public/assets/use-workspace-zFEfqUCo.js +0 -2
  297. package/dist/web/public/assets/useQuery-Bt7Ty7IO.js +0 -2
  298. package/dist/web/public/assets/useQuery-Bt7Ty7IO.js.map +0 -1
  299. package/dist/web/public/assets/vector-B9v7zTvA.js +0 -2
  300. package/dist/web/public/assets/x-DXACg96C.js +0 -7
  301. package/dist/web/public/assets/x-DXACg96C.js.map +0 -1
@@ -58,7 +58,13 @@ export async function runTui(opts = {}) {
58
58
  else {
59
59
  const s = loadSession(sessions[0].id);
60
60
  if (s) {
61
- resumed = { id: s.id, agent: s.agent, messages: s.messages };
61
+ resumed = {
62
+ id: s.id,
63
+ agent: s.agent,
64
+ createdAt: s.createdAt,
65
+ agentSessions: s.agentSessions,
66
+ messages: s.messages,
67
+ };
62
68
  sessionId = s.id;
63
69
  }
64
70
  else {
@@ -69,7 +75,13 @@ export async function runTui(opts = {}) {
69
75
  else {
70
76
  const s = loadSession(wantedId);
71
77
  if (s) {
72
- resumed = { id: s.id, agent: s.agent, messages: s.messages };
78
+ resumed = {
79
+ id: s.id,
80
+ agent: s.agent,
81
+ createdAt: s.createdAt,
82
+ agentSessions: s.agentSessions,
83
+ messages: s.messages,
84
+ };
73
85
  sessionId = s.id;
74
86
  }
75
87
  else {
@@ -141,7 +153,13 @@ export async function runTui(opts = {}) {
141
153
  }
142
154
  initialAgent = found.name;
143
155
  }
144
- const { waitUntilExit } = render(React.createElement(TuiApp, { initialAgent, resumed, sessionId }), { patchConsole: true, exitOnCtrlC: true });
156
+ let finalSessionId = sessionId;
157
+ const { waitUntilExit } = render(React.createElement(TuiApp, {
158
+ initialAgent,
159
+ resumed,
160
+ sessionId,
161
+ onSessionIdChange: (id) => { finalSessionId = id; },
162
+ }), { patchConsole: true, exitOnCtrlC: true });
145
163
  try {
146
164
  await waitUntilExit();
147
165
  }
@@ -155,8 +173,8 @@ export async function runTui(opts = {}) {
155
173
  if (resumeWarning) {
156
174
  console.warn('⚠ ' + resumeWarning);
157
175
  }
158
- console.log(`会话 ID:${sessionId}`);
159
- console.log(`恢复命令:agim tui --resume ${sessionId}`);
176
+ console.log(`会话 ID:${finalSessionId}`);
177
+ console.log(`恢复命令:agim tui --resume ${finalSessionId}`);
160
178
  console.log(`查看所有会话:agim tui --list-sessions`);
161
179
  }
162
180
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli-ui/tui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli-ui/tui/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,EAAE;AACF,SAAS;AACT,wCAAwC;AACxC,6EAA6E;AAC7E,uCAAuC;AACvC,EAAE;AACF,oEAAoE;AACpE,oEAAoE;AACpE,qEAAqE;AACrE,2BAA2B;AAE3B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,WAAW,GACZ,MAAM,eAAe,CAAA;AAEtB,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;AAQlD,SAAS,iBAAiB,CAAC,CAA0C;IACnE,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACrD,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACzC,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IACvD,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAmB,EAAE;IAChD,8DAA8D;IAC9D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;YAChC,OAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,MAAM,oBAAoB,CAAC,CAAA;QACtD,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;QAClE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;QAC1C,OAAM;IACR,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAA;QACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,kEAAkE;IAClE,kEAAkE;IAClE,gEAAgE;IAChE,WAAW;IACX,IAAI,OAAwI,CAAA;IAC5I,IAAI,SAAS,GAAW,iBAAiB,EAAE,CAAA;IAC3C,IAAI,aAAiC,CAAA;IACrC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACnC,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;YACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,aAAa,GAAG,kBAAkB,CAAA;YACpC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBACrC,IAAI,CAAC,EAAE,CAAC;oBACN,OAAO,GAAG;wBACR,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,aAAa,EAAE,CAAC,CAAC,aAAa;wBAC9B,QAAQ,EAAE,CAAC,CAAC,QAAyB;qBACtC,CAAA;oBACD,SAAS,GAAG,CAAC,CAAC,EAAE,CAAA;gBAClB,CAAC;qBAAM,CAAC;oBACN,aAAa,GAAG,UAAU,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAA;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;YAC/B,IAAI,CAAC,EAAE,CAAC;gBACN,OAAO,GAAG;oBACR,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,aAAa,EAAE,CAAC,CAAC,aAAa;oBAC9B,QAAQ,EAAE,CAAC,CAAC,QAAyB;iBACtC,CAAA;gBACD,SAAS,GAAG,CAAC,CAAC,EAAE,CAAA;YAClB,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,UAAU,QAAQ,WAAW,CAAA;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG,CAAA;IACzD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAA;IACnC,IAAI,CAAC,WAAW;QAAE,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAA;IAE7C,0CAA0C;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAErC,IAAI,CAAC;QACH,mEAAmE;QACnE,iEAAiE;QACjE,iEAAiE;QACjE,+DAA+D;QAC/D,6DAA6D;QAC7D,+DAA+D;QAC/D,+BAA+B;QAE/B,mEAAmE;QACnE,8DAA8D;QAC9D,2DAA2D;QAC3D,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;YACtD,MAAM,CAAC,GAAG,WAAW,EAAE,CAAA;YACvB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAE7B,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAA;QACnC,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAA;QAC9B,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC7C,CAAC;QAED,qEAAqE;QACrE,oEAAoE;QACpE,IAAI,CAAC;YACH,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAA;YACxF,iBAAiB,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACvG,6DAA6D,CAAC,CAAA;QAClE,CAAC;QAED,gEAAgE;QAChE,iEAAiE;QACjE,8DAA8D;QAC9D,iBAAiB;QACjB,IAAI,CAAC;YACH,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAA;YACxG,MAAM,iBAAiB,CAAC,GAA+B,CAAC,CAAA;YACxD,MAAM,UAAU,EAAE,CAAA;QACpB,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACnG,wDAAwD,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,EAAE,KAAK,CAAA;IAC/C,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAA;YAClC,OAAO,CAAC,KAAK,CACX,oBAAoB,YAAY,2BAA2B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CACzF,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,YAAY,GAAG,KAAK,CAAC,IAAI,CAAA;IAC3B,CAAC;IAED,IAAI,cAAc,GAAG,SAAS,CAAA;IAC9B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAC9B,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;QAC1B,YAAY;QACZ,OAAO;QACP,SAAS;QACT,iBAAiB,EAAE,CAAC,EAAU,EAAE,EAAE,GAAG,cAAc,GAAG,EAAE,CAAA,CAAC,CAAC;KAC3D,CAAC,EACF,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAC1C,CAAA;IACD,IAAI,CAAC;QACH,MAAM,aAAa,EAAE,CAAA;IACvB,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,GAAG,UAAU,CAAA;QAC7B,iEAAiE;QACjE,4DAA4D;QAC5D,iEAAiE;QACjE,uDAAuD;QACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC1B,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,SAAS,cAAc,EAAE,CAAC,CAAA;QACtC,OAAO,CAAC,GAAG,CAAC,0BAA0B,cAAc,EAAE,CAAC,CAAA;QACvD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;IAChD,CAAC;AACH,CAAC"}
@@ -8,6 +8,8 @@ export interface StoredMessage {
8
8
  export interface StoredSession {
9
9
  id: string;
10
10
  agent: string | undefined;
11
+ /** Agent-native resumable session ids keyed by agent name. */
12
+ agentSessions?: Record<string, string>;
11
13
  cwd: string;
12
14
  createdAt: string;
13
15
  updatedAt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/cli-ui/tui/sessions.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,gBAAgB,QAAkC,CAAA;AAE/D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,aAAa,EAAE,CAAA;CAC1B;AAED,wEAAwE;AACxE,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAQD,wBAAgB,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,CAYlD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAS5D;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;4EAC4E;AAC5E,wBAAgB,YAAY,CAAC,KAAK,SAAK,EAAE,IAAI,UAAQ,GAAG,WAAW,EAAE,CAgCpE"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/cli-ui/tui/sessions.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,gBAAgB,QAAkC,CAAA;AAE/D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,aAAa,EAAE,CAAA;CAC1B;AAED,wEAAwE;AACxE,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAQD,wBAAgB,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,CAYlD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAmB5D;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;4EAC4E;AAC5E,wBAAgB,YAAY,CAAC,KAAK,SAAK,EAAE,IAAI,UAAQ,GAAG,WAAW,EAAE,CAgCpE"}
@@ -2,7 +2,7 @@
2
2
  // can pick up where they left off with `agim tui --resume <id>`.
3
3
  //
4
4
  // Storage: <AGIM_HOME>/tui-sessions/<id>.json
5
- // File shape: { id, agent, cwd, createdAt, updatedAt, messages: [...] }
5
+ // File shape: { id, agent, agentSessions?, cwd, createdAt, updatedAt, messages: [...] }
6
6
  //
7
7
  // We save on:
8
8
  // - graceful exit (TuiApp's onExit handler)
@@ -54,7 +54,17 @@ export function loadSession(id) {
54
54
  if (!existsSync(file))
55
55
  return null;
56
56
  try {
57
- return JSON.parse(readFileSync(file, 'utf-8'));
57
+ const parsed = JSON.parse(readFileSync(file, 'utf-8'));
58
+ const next = {
59
+ id: parsed.id || id,
60
+ agent: parsed.agent,
61
+ agentSessions: parsed.agentSessions && typeof parsed.agentSessions === 'object' ? parsed.agentSessions : undefined,
62
+ cwd: parsed.cwd || '',
63
+ createdAt: parsed.createdAt || new Date(0).toISOString(),
64
+ updatedAt: parsed.updatedAt || new Date(0).toISOString(),
65
+ messages: Array.isArray(parsed.messages) ? parsed.messages : [],
66
+ };
67
+ return next;
58
68
  }
59
69
  catch (err) {
60
70
  log.warn({ event: 'tui.sessions.load_failed', file, err: err instanceof Error ? err.message : String(err) });
@@ -95,7 +105,7 @@ export function listSessions(limit = 20, full = false) {
95
105
  agent = parsed.agent;
96
106
  cwd = parsed.cwd;
97
107
  updatedAt = parsed.updatedAt || updatedAt;
98
- msgCount = parsed.messages.length;
108
+ msgCount = Array.isArray(parsed.messages) ? parsed.messages.length : 0;
99
109
  }
100
110
  catch { /* ignore */ }
101
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/cli-ui/tui/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/cli-ui/tui/sessions.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -393,24 +393,8 @@ program
393
393
  // until it's actually needed.
394
394
  const { startSweepTimer: startMemoSweep } = await import('./core/memos.js');
395
395
  startMemoSweep();
396
- // First-run admin onboarding: if IMHUB_ADMIN_USERS is unset, write a
397
- // one-time bootstrap token to ~/.agim/admin-bootstrap-token and print
398
- // a prominent banner so the operator can self-onboard via
399
- // `/setup admin <token>` in IM (instead of having to edit env files
400
- // by hand). On already-configured boxes, this is a no-op that also
401
- // cleans up any stale token file.
402
- try {
403
- const { ensureBootstrapTokenIfNeeded } = await import('./core/admin-bootstrap.js');
404
- ensureBootstrapTokenIfNeeded();
405
- }
406
- catch (err) {
407
- console.warn(`⚠️ admin bootstrap setup failed: ${err instanceof Error ? err.message : String(err)}`);
408
- }
409
- // Startup diagnostic: log how the admin allowlist resolved (process.env
410
- // vs env-file fallback). Helps debug the "admin disappeared after
411
- // restart" class of issue where systemd's EnvironmentFile parser
412
- // silently drops part of IMHUB_ADMIN_USERS while the file itself
413
- // looks fine. Pure log; non-fatal.
396
+ // Startup diagnostic: IM admin registry summary (admins + known IM users).
397
+ // The registry is now file-based and managed from Web Settings → Admins.
414
398
  try {
415
399
  const { logStartupResolution } = await import('./core/admin-allowlist.js');
416
400
  logStartupResolution();
@@ -438,7 +422,7 @@ program
438
422
  }
439
423
  catch { /* getuid not available on Windows */ }
440
424
  // v1.2.66 — env file permission audit. ~/.agim/env holds API keys
441
- // + DB passwords + IMHUB_ADMIN_USERS. Wizard writes 0600 but if
425
+ // + DB passwords. Wizard writes 0600 but if
442
426
  // the operator manually edited / scp'd it, the mode may have
443
427
  // drifted. WARN (not refuse-to-start) so a recovering operator
444
428
  // can still bring the service up.
@@ -588,6 +572,22 @@ program
588
572
  userId: ctx.message.userId,
589
573
  ...sanitizeUserText(ctx.message.text),
590
574
  });
575
+ // v2 admin model — auto-discover IM identities. Any user who has
576
+ // ever talked to agim appears in Web Settings → Admins as a candidate,
577
+ // so operators never have to hand-type opaque user IDs.
578
+ try {
579
+ const { recordSeenImUser } = await import('./core/admin-allowlist.js');
580
+ recordSeenImUser(ctx.platform, ctx.message.userId, {
581
+ channelId: ctx.channelId,
582
+ threadId: ctx.message.threadId,
583
+ });
584
+ }
585
+ catch (err) {
586
+ ctx.logger.warn({
587
+ event: 'admin.known_user.record_failed',
588
+ err: err instanceof Error ? err.message : String(err),
589
+ }, 'failed to record known IM user; continuing');
590
+ }
591
591
  // v1.2.66 — sender allowlist gate. When configured (env
592
592
  // IMHUB_ALLOWED_USERS set), unknown senders get a short refusal
593
593
  // and the message is dropped before reaching any agent or
@@ -2093,52 +2093,37 @@ tokenCmd
2093
2093
  console.log('');
2094
2094
  process.exit(1);
2095
2095
  });
2096
- // ─── admin allowlist management (v1.2.2+) ───────────────────────────
2097
- //
2098
- // Non-interactive companion to the entry menu's "邀请新管理员" option.
2099
- // Useful from ansible / setup scripts.
2100
- const adminCmd = program.command('admin').description('Manage the admin allowlist');
2101
- adminCmd
2102
- .command('invite')
2103
- .description('Generate a one-time IM invite token. The invitee runs `/setup admin <token>` to onboard.')
2104
- .action(async () => {
2105
- const { generateAdminInviteToken } = await import('./core/admin-bootstrap.js');
2106
- const { token, file } = generateAdminInviteToken();
2107
- console.log('');
2108
- console.log('✓ Admin invite token generated.');
2109
- console.log(` token : ${token}`);
2110
- console.log(` file : ${file}`);
2111
- console.log('');
2112
- console.log('Forward this to the invitee:');
2113
- console.log(` /setup admin ${token}`);
2114
- console.log('');
2115
- console.log('⚠️ Single-use. Generating another invite invalidates the previous one.');
2116
- });
2096
+ // ─── IM admin registry helpers (v2 model) ────────────────────────────
2097
+ const adminCmd = program.command('admin').description('Inspect IM admin assignments');
2117
2098
  adminCmd
2118
2099
  .command('list')
2119
- .description('List current admins (env + runtime-added)')
2100
+ .description('List current IM admins')
2120
2101
  .action(async () => {
2121
- // Load ~/.agim/env so IMHUB_ADMIN_USERS is visible when this CLI runs
2122
- // outside the daemon's process env (e.g. fresh shell invoking the CLI
2123
- // directly). The daemon already loads this at start.
2124
- try {
2125
- const { readEnvFile } = await import('./cli-ui/env-file.js');
2126
- const f = readEnvFile();
2127
- if (f.IMHUB_ADMIN_USERS && !process.env.IMHUB_ADMIN_USERS) {
2128
- process.env.IMHUB_ADMIN_USERS = f.IMHUB_ADMIN_USERS;
2129
- }
2130
- }
2131
- catch { /* ignore */ }
2132
2102
  const { listAdmins } = await import('./core/admin-allowlist.js');
2133
2103
  const rows = listAdmins();
2134
2104
  if (rows.length === 0) {
2135
- console.log('(no admins configured — run `agim admin invite` and have the invitee onboard via /setup admin <token>)');
2105
+ console.log('(no IM admins configured — assign from Web: Settings Admins)');
2136
2106
  return;
2137
2107
  }
2138
- console.log(`Admins (${rows.length}):`);
2108
+ console.log(`IM Admins (${rows.length}):`);
2139
2109
  for (const r of rows)
2140
2110
  console.log(` ${r.platform}:${r.userId}`);
2141
2111
  });
2112
+ adminCmd
2113
+ .command('known')
2114
+ .description('List IM users discovered from inbound messages')
2115
+ .action(async () => {
2116
+ const { listKnownImUsers } = await import('./core/admin-allowlist.js');
2117
+ const rows = listKnownImUsers();
2118
+ if (rows.length === 0) {
2119
+ console.log('(no IM users discovered yet — ask someone to send a message first)');
2120
+ return;
2121
+ }
2122
+ console.log(`Known IM Users (${rows.length}):`);
2123
+ for (const r of rows) {
2124
+ console.log(` ${r.platform}:${r.userId} last_seen=${r.lastSeenAt}`);
2125
+ }
2126
+ });
2142
2127
  // ─── `agim web` — print the web console URL ─────────────────────────
2143
2128
  //
2144
2129
  // Reads the same Viewer config the IM `/web` command uses, but resolves
@@ -2238,22 +2223,6 @@ async function maybeRunEntryMenu() {
2238
2223
  await runTokenMenu(lang);
2239
2224
  return true;
2240
2225
  }
2241
- case 'invite_admin': {
2242
- const { generateAdminInviteToken } = await import('./core/admin-bootstrap.js');
2243
- const { t } = await import('./cli-ui/i18n.js');
2244
- const { token, file } = generateAdminInviteToken();
2245
- console.log();
2246
- console.log(t(lang, 'invite_admin.title'));
2247
- console.log();
2248
- console.log(` ${t(lang, 'invite_admin.generated')} ${token}`);
2249
- console.log();
2250
- console.log(` ${t(lang, 'invite_admin.howto')}`);
2251
- console.log(` /setup admin ${token}`);
2252
- console.log();
2253
- console.log(` ${t(lang, 'invite_admin.note')} ${file}`);
2254
- console.log();
2255
- return true;
2256
- }
2257
2226
  case 'uninstall':
2258
2227
  await cmdUninstall();
2259
2228
  return true;