abtars 0.2.1-alpha.8 → 0.2.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 (257) hide show
  1. package/README.md +98 -42
  2. package/bundle/{_registry.generated-ADOYFJJ4.js → _registry.generated-FNJOX7VV.js} +19 -16
  3. package/bundle/{_registry.generated-ADOYFJJ4.js.map → _registry.generated-FNJOX7VV.js.map} +1 -1
  4. package/bundle/abtars-browser.js +5 -6
  5. package/bundle/abtars-browser.js.map +2 -2
  6. package/bundle/abtars-cli.js +339 -271
  7. package/bundle/abtars-cli.js.map +4 -4
  8. package/bundle/abtars-restart.js +4 -4
  9. package/bundle/abtars-rss.js +25 -81
  10. package/bundle/abtars-rss.js.map +2 -2
  11. package/bundle/abtars-task.js +4 -5
  12. package/bundle/abtars-task.js.map +2 -2
  13. package/bundle/abtars-todo.js +133 -0
  14. package/bundle/abtars-todo.js.map +7 -0
  15. package/bundle/abtars.js +239 -155
  16. package/bundle/abtars.js.map +3 -3
  17. package/bundle/action-gate-DYV2XQBP.js +191 -0
  18. package/bundle/action-gate-DYV2XQBP.js.map +7 -0
  19. package/bundle/{agent-api-rate-limit-C25WGSFF.js → agent-api-rate-limit-R2OFAQ3N.js} +4 -4
  20. package/bundle/{agent-registry-SYUFNSVB.js → agent-registry-S2MNHQYQ.js} +8 -8
  21. package/bundle/{bridge-lock-transport-HO545SBK.js → bridge-lock-transport-N6OGDOSE.js} +5 -5
  22. package/bundle/{browse-delivery-VTLEAVYA.js → browse-delivery-DXGMDMXA.js} +8 -7
  23. package/bundle/{browser-REIXOJ6S.js → browser-QMYGSP5W.js} +11 -10
  24. package/bundle/{capability-ILW3D5HS.js → capability-733TLH4W.js} +6 -6
  25. package/bundle/{chunk-ZVDVNSXK.js → chunk-2SWKJX64.js} +7 -7
  26. package/bundle/{chunk-PZE3J7ER.js → chunk-3OXQWII3.js} +2 -2
  27. package/bundle/{chunk-R36WIOYX.js → chunk-3X6VGRL6.js} +33 -6
  28. package/bundle/chunk-3X6VGRL6.js.map +7 -0
  29. package/bundle/{chunk-4KJ76TTE.js → chunk-4XW7YA3K.js} +3 -3
  30. package/bundle/{chunk-Q62SXS73.js → chunk-BBDKU4EH.js} +9 -9
  31. package/bundle/{chunk-EX2SRTUE.js → chunk-CYSGXNBY.js} +2 -2
  32. package/bundle/{chunk-LYEAHE5V.js → chunk-DCY7DGMT.js} +2 -2
  33. package/bundle/chunk-DGS7J4P6.js +13 -0
  34. package/bundle/chunk-DGS7J4P6.js.map +7 -0
  35. package/bundle/{chunk-LDKSCXGL.js → chunk-DHPFI7OF.js} +8 -6
  36. package/bundle/{chunk-LDKSCXGL.js.map → chunk-DHPFI7OF.js.map} +1 -1
  37. package/bundle/{chunk-G6IXMYIO.js → chunk-DO4INSXE.js} +2 -2
  38. package/bundle/{chunk-VA5WKN3Z.js → chunk-EGA6JQVV.js} +4 -4
  39. package/bundle/chunk-EKHNWFEQ.js +85 -0
  40. package/bundle/chunk-EKHNWFEQ.js.map +7 -0
  41. package/bundle/{chunk-URAQLQ2U.js → chunk-F3HMZFIL.js} +4 -4
  42. package/bundle/{chunk-OOKLEC6V.js → chunk-FY3QUO2L.js} +7 -7
  43. package/bundle/{chunk-2BY6I4P5.js → chunk-GUTRAMK3.js} +2 -2
  44. package/bundle/{chunk-GPL57SRN.js → chunk-H7RX7UCR.js} +3 -3
  45. package/bundle/{chunk-BYDUMHXT.js → chunk-HAF2AFBW.js} +2 -2
  46. package/bundle/{chunk-A5OJYQNU.js → chunk-HCYENZAB.js} +49 -22
  47. package/bundle/chunk-HCYENZAB.js.map +7 -0
  48. package/bundle/{chunk-OZ4IZFV4.js → chunk-HJQZP5CK.js} +9 -9
  49. package/bundle/{chunk-OZ4IZFV4.js.map → chunk-HJQZP5CK.js.map} +2 -2
  50. package/bundle/{chunk-HEHD3GG5.js → chunk-ITB2K6LI.js} +6 -13
  51. package/bundle/{chunk-HEHD3GG5.js.map → chunk-ITB2K6LI.js.map} +3 -3
  52. package/bundle/{chunk-KSEIWT4T.js → chunk-JFKOPNKL.js} +10 -10
  53. package/bundle/chunk-JFKOPNKL.js.map +7 -0
  54. package/bundle/{chunk-4BUOO6WI.js → chunk-KL5QRHHK.js} +31 -11
  55. package/bundle/chunk-KL5QRHHK.js.map +7 -0
  56. package/bundle/{chunk-KFENC7BM.js → chunk-L33WNMCP.js} +2 -2
  57. package/bundle/{chunk-JRG4EFMP.js → chunk-LBMETTUP.js} +3 -3
  58. package/bundle/{chunk-TYVI3ZWA.js → chunk-LJAG2URA.js} +10 -7
  59. package/bundle/chunk-LJAG2URA.js.map +7 -0
  60. package/bundle/{chunk-RV54J75Q.js → chunk-MHK4UPM6.js} +13 -12
  61. package/bundle/chunk-MHK4UPM6.js.map +7 -0
  62. package/bundle/chunk-NIYVCGBC.js +330 -0
  63. package/bundle/chunk-NIYVCGBC.js.map +7 -0
  64. package/bundle/{chunk-P2BZSLJJ.js → chunk-OGZXYN6E.js} +392 -125
  65. package/bundle/chunk-OGZXYN6E.js.map +7 -0
  66. package/bundle/{chunk-TOUZC6NR.js → chunk-OKMN6J4Z.js} +3 -3
  67. package/bundle/{chunk-CELR236Q.js → chunk-Q7CH5DA3.js} +2 -2
  68. package/bundle/{chunk-XZSYMCLF.js → chunk-QIAFGDRL.js} +7 -7
  69. package/bundle/chunk-RITEGAW6.js +138 -0
  70. package/bundle/chunk-RITEGAW6.js.map +7 -0
  71. package/bundle/{chunk-UDZIZB5F.js → chunk-RTL7HO3N.js} +3 -3
  72. package/bundle/{chunk-ITG6XGBS.js → chunk-SA44ITVX.js} +10 -10
  73. package/bundle/{chunk-3MO2MDXJ.js → chunk-SA6YEFNG.js} +3 -3
  74. package/bundle/{chunk-GBBTK6H2.js → chunk-SRFEIZQT.js} +4 -4
  75. package/bundle/{chunk-ELRAH7VL.js → chunk-VXUVKC66.js} +3 -3
  76. package/bundle/{chunk-X5FBUA53.js → chunk-WLAVZSVZ.js} +69 -30
  77. package/bundle/chunk-WLAVZSVZ.js.map +7 -0
  78. package/bundle/{chunk-RSWUPUNA.js → chunk-WMWI3SJ7.js} +30 -6
  79. package/bundle/chunk-WMWI3SJ7.js.map +7 -0
  80. package/bundle/{chunk-MJ6PHMOK.js → chunk-WW5F2DCO.js} +11 -2
  81. package/bundle/chunk-WW5F2DCO.js.map +7 -0
  82. package/bundle/chunk-YWZPKBO6.js +22 -0
  83. package/bundle/chunk-YWZPKBO6.js.map +7 -0
  84. package/bundle/{chunk-KWBGYWDO.js → chunk-Z4SWEFIY.js} +12 -14
  85. package/bundle/chunk-Z4SWEFIY.js.map +7 -0
  86. package/bundle/chunk-ZAA7B5BN.js +22 -0
  87. package/bundle/chunk-ZAA7B5BN.js.map +7 -0
  88. package/bundle/{commands-WUGPBPHI.js → commands-AXW7L2MZ.js} +15 -14
  89. package/bundle/{config-DQIGDX4W.js → config-NDEYF4AQ.js} +7 -7
  90. package/bundle/{daemon-NPKYZ3CJ.js → daemon-WOQXCKNL.js} +4 -4
  91. package/bundle/{delegation-tools-6FICZQ5G.js → delegation-tools-Z5OM3TXS.js} +5 -5
  92. package/bundle/{deploy-lib-import-SBKXDD3F.js → deploy-lib-import-6VJTYXEG.js} +2 -2
  93. package/bundle/{deps-HN6CEXA4.js → deps-65V7XXG4.js} +4 -4
  94. package/bundle/{direct-api-transport-TRV45NO6.js → direct-api-transport-LSAUIP5S.js} +27 -15
  95. package/bundle/direct-api-transport-LSAUIP5S.js.map +7 -0
  96. package/bundle/{discord-adapter-WA2MFRK3.js → discord-adapter-LNWTIOUK.js} +27 -24
  97. package/bundle/discord-adapter-LNWTIOUK.js.map +7 -0
  98. package/bundle/{dns-wakeup-RYOCQ6GR.js → dns-wakeup-N46RPU5E.js} +3 -3
  99. package/bundle/{doctor-R54GZPKL.js → doctor-PIPSGI3H.js} +18 -7
  100. package/bundle/{doctor-R54GZPKL.js.map → doctor-PIPSGI3H.js.map} +2 -2
  101. package/bundle/{ensure-invariants-BJIEOSJ2.js → ensure-invariants-3NOBCYWS.js} +4 -4
  102. package/bundle/{env-schema-XCPAJ6IZ.js → env-schema-T43X43BU.js} +4 -4
  103. package/bundle/{hook-system-POI5VRIX.js → hook-system-ZCVOFFRD.js} +4 -4
  104. package/bundle/hotskills-DTROJY6G.js +17 -0
  105. package/bundle/{install-GEXWJYJC.js → install-FZT43PTH.js} +3 -3
  106. package/bundle/{install-manifest-QRWID3KZ.js → install-manifest-KBYD7SAY.js} +3 -3
  107. package/bundle/{irc-adapter-AIEP6OX6.js → irc-adapter-HXO5D4SW.js} +3 -3
  108. package/bundle/{irc-config-6VY67UPQ.js → irc-config-XN5VW2V4.js} +5 -5
  109. package/bundle/{lazy-require-UFYFFX2R.js → lazy-require-R3JYCV5M.js} +4 -4
  110. package/bundle/{media-utils-MOE36VWY.js → media-utils-W7XW3SVV.js} +4 -4
  111. package/bundle/{message-pipeline-2MBT44FO.js → message-pipeline-QX272U5X.js} +17 -14
  112. package/bundle/meta.json +2965 -2294
  113. package/bundle/{notification-U6F5ZBSG.js → notification-ULESRDHB.js} +7 -6
  114. package/bundle/{openrouter-credits-7XXO6QGQ.js → openrouter-credits-PLIKRY5D.js} +4 -4
  115. package/bundle/{paths-ZJYIDND2.js → paths-QQM74XYT.js} +4 -2
  116. package/bundle/{peer-client-T44VI7NB.js → peer-client-D2F5QWRV.js} +8 -8
  117. package/bundle/{peer-config-D5A4454H.js → peer-config-5SUIBJLG.js} +5 -5
  118. package/bundle/{phase-transport-FEZ4SIJJ.js → phase-transport-BSGROTHY.js} +10 -10
  119. package/bundle/restore-Z6MF54HS.js +151 -0
  120. package/bundle/restore-Z6MF54HS.js.map +7 -0
  121. package/bundle/{install-SH4UVUXQ.js → rollback-5RXXLUD6.js} +5 -7
  122. package/bundle/{self-healer-utils-7NFH22VJ.js → self-healer-utils-WPKOVXJD.js} +4 -4
  123. package/bundle/{skill-stats-IPVKMWN3.js → skill-stats-NHNH47QW.js} +5 -5
  124. package/bundle/{sleep-BPWX3FCN.js → sleep-K7EXAFGW.js} +8 -8
  125. package/bundle/{soul-bundle-BRIUDEQ2.js → soul-bundle-QTPWDJB2.js} +7 -7
  126. package/bundle/{soul-loader-GBXJ7EBH.js → soul-loader-LCPTN4PK.js} +8 -8
  127. package/bundle/{sse-parser-anthropic-H42TTLBD.js → sse-parser-anthropic-PYDJM3UC.js} +4 -4
  128. package/bundle/{sse-parser-responses-WG2LY2ML.js → sse-parser-responses-FYT7A5WT.js} +4 -4
  129. package/bundle/{ssrf-guard-E2KBBC5E.js → ssrf-guard-R4P5OCTO.js} +4 -4
  130. package/bundle/{start-CBVKNEAT.js → start-4DNURGIY.js} +1 -1
  131. package/bundle/{stt-CF3CPFDC.js → stt-YN77NND6.js} +5 -5
  132. package/bundle/{subagent-runtime-4MTYUBIZ.js → subagent-runtime-FQAT3564.js} +5 -5
  133. package/bundle/system-event-buffer-OEPPNUGK.js +17 -0
  134. package/bundle/system-event-buffer-OEPPNUGK.js.map +7 -0
  135. package/bundle/{system-message-TALP6GP2.js → system-message-BRU267FW.js} +3 -3
  136. package/bundle/{system-status-GLYXXDE3.js → system-status-7K2QTH3J.js} +58 -51
  137. package/bundle/system-status-7K2QTH3J.js.map +7 -0
  138. package/bundle/{hotskills-6ECHLXTJ.js → task-failure-buffer-DPM5MWZ5.js} +8 -7
  139. package/bundle/{task-store-LC7ZMS72.js → task-store-VCBHAB43.js} +5 -5
  140. package/bundle/{telegram-adapter-BJJYXN7J.js → telegram-adapter-LXLSG4SK.js} +51 -33
  141. package/bundle/telegram-adapter-LXLSG4SK.js.map +7 -0
  142. package/bundle/{tool-registry-T7XLTI2Q.js → tool-registry-5PXNSYOI.js} +12 -9
  143. package/bundle/{tool-sandbox-OZMXJZLQ.js → tool-sandbox-TLAL55QP.js} +5 -5
  144. package/bundle/{transport-config-G5NKQXPJ.js → transport-config-JIKHB7GT.js} +8 -8
  145. package/bundle/update-check-AJMIBQGQ.js +81 -0
  146. package/bundle/update-check-AJMIBQGQ.js.map +7 -0
  147. package/bundle/{user-registry-NUVNEHJU.js → user-registry-PEFDZ5AV.js} +5 -5
  148. package/core/skills/tools/rss/SKILL.md +51 -0
  149. package/install-manifest.json +4 -2
  150. package/package.json +4 -4
  151. package/scripts/build-and-deploy.sh +28 -0
  152. package/scripts/daily-backup.sh +1 -79
  153. package/scripts/doctor.sh +38 -0
  154. package/scripts/emergency-deploy.sh +95 -0
  155. package/scripts/watchdog.sh +51 -5
  156. package/bundle/chunk-4BUOO6WI.js.map +0 -7
  157. package/bundle/chunk-A5OJYQNU.js.map +0 -7
  158. package/bundle/chunk-JX3ZZU3O.js +0 -82
  159. package/bundle/chunk-JX3ZZU3O.js.map +0 -7
  160. package/bundle/chunk-KJOCXWJ5.js +0 -131
  161. package/bundle/chunk-KJOCXWJ5.js.map +0 -7
  162. package/bundle/chunk-KSEIWT4T.js.map +0 -7
  163. package/bundle/chunk-KWBGYWDO.js.map +0 -7
  164. package/bundle/chunk-MJ6PHMOK.js.map +0 -7
  165. package/bundle/chunk-P2BZSLJJ.js.map +0 -7
  166. package/bundle/chunk-R36WIOYX.js.map +0 -7
  167. package/bundle/chunk-RE3F3CFW.js +0 -300
  168. package/bundle/chunk-RE3F3CFW.js.map +0 -7
  169. package/bundle/chunk-RJJWPMUZ.js +0 -411
  170. package/bundle/chunk-RJJWPMUZ.js.map +0 -7
  171. package/bundle/chunk-RSWUPUNA.js.map +0 -7
  172. package/bundle/chunk-RV54J75Q.js.map +0 -7
  173. package/bundle/chunk-RVERPUHT.js +0 -289
  174. package/bundle/chunk-RVERPUHT.js.map +0 -7
  175. package/bundle/chunk-TYVI3ZWA.js.map +0 -7
  176. package/bundle/chunk-X5FBUA53.js.map +0 -7
  177. package/bundle/deploy-lib-import-HCMZCKZD.js +0 -50
  178. package/bundle/direct-api-transport-TRV45NO6.js.map +0 -7
  179. package/bundle/discord-adapter-WA2MFRK3.js.map +0 -7
  180. package/bundle/restore-ROJF22R2.js +0 -47
  181. package/bundle/restore-ROJF22R2.js.map +0 -7
  182. package/bundle/system-status-GLYXXDE3.js.map +0 -7
  183. package/bundle/telegram-adapter-BJJYXN7J.js.map +0 -7
  184. package/bundle/update-check-O5MS6B3L.js +0 -13
  185. package/bundle/user-registry-NUVNEHJU.js.map +0 -7
  186. /package/bundle/{agent-api-rate-limit-C25WGSFF.js.map → agent-api-rate-limit-R2OFAQ3N.js.map} +0 -0
  187. /package/bundle/{agent-registry-SYUFNSVB.js.map → agent-registry-S2MNHQYQ.js.map} +0 -0
  188. /package/bundle/{bridge-lock-transport-HO545SBK.js.map → bridge-lock-transport-N6OGDOSE.js.map} +0 -0
  189. /package/bundle/{browse-delivery-VTLEAVYA.js.map → browse-delivery-DXGMDMXA.js.map} +0 -0
  190. /package/bundle/{browser-REIXOJ6S.js.map → browser-QMYGSP5W.js.map} +0 -0
  191. /package/bundle/{capability-ILW3D5HS.js.map → capability-733TLH4W.js.map} +0 -0
  192. /package/bundle/{chunk-ZVDVNSXK.js.map → chunk-2SWKJX64.js.map} +0 -0
  193. /package/bundle/{chunk-PZE3J7ER.js.map → chunk-3OXQWII3.js.map} +0 -0
  194. /package/bundle/{chunk-4KJ76TTE.js.map → chunk-4XW7YA3K.js.map} +0 -0
  195. /package/bundle/{chunk-Q62SXS73.js.map → chunk-BBDKU4EH.js.map} +0 -0
  196. /package/bundle/{chunk-EX2SRTUE.js.map → chunk-CYSGXNBY.js.map} +0 -0
  197. /package/bundle/{chunk-LYEAHE5V.js.map → chunk-DCY7DGMT.js.map} +0 -0
  198. /package/bundle/{chunk-G6IXMYIO.js.map → chunk-DO4INSXE.js.map} +0 -0
  199. /package/bundle/{chunk-VA5WKN3Z.js.map → chunk-EGA6JQVV.js.map} +0 -0
  200. /package/bundle/{chunk-URAQLQ2U.js.map → chunk-F3HMZFIL.js.map} +0 -0
  201. /package/bundle/{chunk-OOKLEC6V.js.map → chunk-FY3QUO2L.js.map} +0 -0
  202. /package/bundle/{chunk-2BY6I4P5.js.map → chunk-GUTRAMK3.js.map} +0 -0
  203. /package/bundle/{chunk-GPL57SRN.js.map → chunk-H7RX7UCR.js.map} +0 -0
  204. /package/bundle/{chunk-BYDUMHXT.js.map → chunk-HAF2AFBW.js.map} +0 -0
  205. /package/bundle/{chunk-KFENC7BM.js.map → chunk-L33WNMCP.js.map} +0 -0
  206. /package/bundle/{chunk-JRG4EFMP.js.map → chunk-LBMETTUP.js.map} +0 -0
  207. /package/bundle/{chunk-TOUZC6NR.js.map → chunk-OKMN6J4Z.js.map} +0 -0
  208. /package/bundle/{chunk-CELR236Q.js.map → chunk-Q7CH5DA3.js.map} +0 -0
  209. /package/bundle/{chunk-XZSYMCLF.js.map → chunk-QIAFGDRL.js.map} +0 -0
  210. /package/bundle/{chunk-UDZIZB5F.js.map → chunk-RTL7HO3N.js.map} +0 -0
  211. /package/bundle/{chunk-ITG6XGBS.js.map → chunk-SA44ITVX.js.map} +0 -0
  212. /package/bundle/{chunk-3MO2MDXJ.js.map → chunk-SA6YEFNG.js.map} +0 -0
  213. /package/bundle/{chunk-GBBTK6H2.js.map → chunk-SRFEIZQT.js.map} +0 -0
  214. /package/bundle/{chunk-ELRAH7VL.js.map → chunk-VXUVKC66.js.map} +0 -0
  215. /package/bundle/{commands-WUGPBPHI.js.map → commands-AXW7L2MZ.js.map} +0 -0
  216. /package/bundle/{config-DQIGDX4W.js.map → config-NDEYF4AQ.js.map} +0 -0
  217. /package/bundle/{daemon-NPKYZ3CJ.js.map → daemon-WOQXCKNL.js.map} +0 -0
  218. /package/bundle/{delegation-tools-6FICZQ5G.js.map → delegation-tools-Z5OM3TXS.js.map} +0 -0
  219. /package/bundle/{deploy-lib-import-HCMZCKZD.js.map → deploy-lib-import-6VJTYXEG.js.map} +0 -0
  220. /package/bundle/{deps-HN6CEXA4.js.map → deps-65V7XXG4.js.map} +0 -0
  221. /package/bundle/{dns-wakeup-RYOCQ6GR.js.map → dns-wakeup-N46RPU5E.js.map} +0 -0
  222. /package/bundle/{ensure-invariants-BJIEOSJ2.js.map → ensure-invariants-3NOBCYWS.js.map} +0 -0
  223. /package/bundle/{deploy-lib-import-SBKXDD3F.js.map → env-schema-T43X43BU.js.map} +0 -0
  224. /package/bundle/{env-schema-XCPAJ6IZ.js.map → hook-system-ZCVOFFRD.js.map} +0 -0
  225. /package/bundle/{hook-system-POI5VRIX.js.map → hotskills-DTROJY6G.js.map} +0 -0
  226. /package/bundle/{hotskills-6ECHLXTJ.js.map → install-FZT43PTH.js.map} +0 -0
  227. /package/bundle/{install-manifest-QRWID3KZ.js.map → install-manifest-KBYD7SAY.js.map} +0 -0
  228. /package/bundle/{irc-adapter-AIEP6OX6.js.map → irc-adapter-HXO5D4SW.js.map} +0 -0
  229. /package/bundle/{irc-config-6VY67UPQ.js.map → irc-config-XN5VW2V4.js.map} +0 -0
  230. /package/bundle/{install-GEXWJYJC.js.map → lazy-require-R3JYCV5M.js.map} +0 -0
  231. /package/bundle/{media-utils-MOE36VWY.js.map → media-utils-W7XW3SVV.js.map} +0 -0
  232. /package/bundle/{install-SH4UVUXQ.js.map → message-pipeline-QX272U5X.js.map} +0 -0
  233. /package/bundle/{lazy-require-UFYFFX2R.js.map → notification-ULESRDHB.js.map} +0 -0
  234. /package/bundle/{openrouter-credits-7XXO6QGQ.js.map → openrouter-credits-PLIKRY5D.js.map} +0 -0
  235. /package/bundle/{message-pipeline-2MBT44FO.js.map → paths-QQM74XYT.js.map} +0 -0
  236. /package/bundle/{peer-client-T44VI7NB.js.map → peer-client-D2F5QWRV.js.map} +0 -0
  237. /package/bundle/{notification-U6F5ZBSG.js.map → peer-config-5SUIBJLG.js.map} +0 -0
  238. /package/bundle/{paths-ZJYIDND2.js.map → phase-transport-BSGROTHY.js.map} +0 -0
  239. /package/bundle/{peer-config-D5A4454H.js.map → rollback-5RXXLUD6.js.map} +0 -0
  240. /package/bundle/{self-healer-utils-7NFH22VJ.js.map → self-healer-utils-WPKOVXJD.js.map} +0 -0
  241. /package/bundle/{phase-transport-FEZ4SIJJ.js.map → skill-stats-NHNH47QW.js.map} +0 -0
  242. /package/bundle/{skill-stats-IPVKMWN3.js.map → sleep-K7EXAFGW.js.map} +0 -0
  243. /package/bundle/{sleep-BPWX3FCN.js.map → soul-bundle-QTPWDJB2.js.map} +0 -0
  244. /package/bundle/{soul-bundle-BRIUDEQ2.js.map → soul-loader-LCPTN4PK.js.map} +0 -0
  245. /package/bundle/{sse-parser-anthropic-H42TTLBD.js.map → sse-parser-anthropic-PYDJM3UC.js.map} +0 -0
  246. /package/bundle/{sse-parser-responses-WG2LY2ML.js.map → sse-parser-responses-FYT7A5WT.js.map} +0 -0
  247. /package/bundle/{ssrf-guard-E2KBBC5E.js.map → ssrf-guard-R4P5OCTO.js.map} +0 -0
  248. /package/bundle/{start-CBVKNEAT.js.map → start-4DNURGIY.js.map} +0 -0
  249. /package/bundle/{soul-loader-GBXJ7EBH.js.map → stt-YN77NND6.js.map} +0 -0
  250. /package/bundle/{stt-CF3CPFDC.js.map → subagent-runtime-FQAT3564.js.map} +0 -0
  251. /package/bundle/{system-message-TALP6GP2.js.map → system-message-BRU267FW.js.map} +0 -0
  252. /package/bundle/{subagent-runtime-4MTYUBIZ.js.map → task-failure-buffer-DPM5MWZ5.js.map} +0 -0
  253. /package/bundle/{task-store-LC7ZMS72.js.map → task-store-VCBHAB43.js.map} +0 -0
  254. /package/bundle/{tool-registry-T7XLTI2Q.js.map → tool-registry-5PXNSYOI.js.map} +0 -0
  255. /package/bundle/{tool-sandbox-OZMXJZLQ.js.map → tool-sandbox-TLAL55QP.js.map} +0 -0
  256. /package/bundle/{transport-config-G5NKQXPJ.js.map → transport-config-JIKHB7GT.js.map} +0 -0
  257. /package/bundle/{update-check-O5MS6B3L.js.map → user-registry-PEFDZ5AV.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/cli/commands/install.ts"],
4
+ "sourcesContent": ["/**\n * `abtars install [--force]` \u2014 first-time setup.\n *\n * - No existing ~/.abtars: create dirs, seed config/ from .env.example,\n * create PATH symlinks. Does NOT run onboard (Phase 3).\n * - Existing ~/.abtars: refuse unless --force (which\n * re-seeds missing config and reconciles symlinks, no code changes).\n */\n\nimport { mkdir, readFile, stat, symlink, writeFile } from 'node:fs/promises';\nimport { existsSync, readFileSync, readdirSync, copyFileSync, mkdirSync } from 'node:fs';\nimport { hostname, homedir as _homedir } from 'node:os';\nimport { execSync } from 'node:child_process';\nimport { basename, dirname, join } from 'node:path';\nimport { emptyManifest, packagePaths, readManifest, resolveUserBinDir, writeManifest } from '../deploy-lib-import.js';\n\n/** Resolve real user home even under sudo. */\nfunction homedir(): string {\n const sudoUser = process.env['SUDO_USER'];\n if (sudoUser) {\n try { return execSync(`getent passwd ${sudoUser}`, { encoding: 'utf-8' }).split(':')[5]!.trim(); }\n catch { /* fall through */ }\n }\n return _homedir();\n}\n\nexport interface InstallOptions {\n readonly restore?: string;\n readonly force: boolean;\n readonly dryRun: boolean;\n readonly mode?: \"simple\" | \"supervised\";\n}\n\n// CLI wrappers are read from install-manifest.json at runtime.\n// Each is a thin wrapper that invokes `node current/dist/cli/<name>.js \"$@\"`.\n// Regenerated on every install / flat-to-releases migration.\n\nasync function exists(p: string): Promise<boolean> {\n try {\n await stat(p);\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * True if `p` exists as any filesystem entry \u2014 regular file, directory,\n * symlink (including dangling). Use this for collision checks in\n * reconcilePathLink, where a dangling symlink still occupies the inode\n * and would cause EEXIST on symlink(). `exists()` above uses stat() which\n * follows symlinks and returns false on dangling ones; that's wrong for\n * collision detection.\n */\nasync function existsAny(p: string): Promise<boolean> {\n try {\n const { lstat } = await import('node:fs/promises');\n await lstat(p);\n return true;\n } catch {\n return false;\n }\n}\n\nasync function isSymlink(p: string): Promise<boolean> {\n try {\n const { lstat } = await import('node:fs/promises');\n const s = await lstat(p);\n return s.isSymbolicLink();\n } catch {\n return false;\n }\n}\n\nasync function createSkeleton(home: string, dryRun: boolean): Promise<void> {\n const { loadManifest } = await import('../install-manifest.js');\n const manifest = loadManifest();\n const dirs = manifest.directories.map(d => join(home, d.path));\n if (dryRun) {\n process.stdout.write(`[dry-run] mkdir -p:\\n ${dirs.join('\\n ')}\\n`);\n return;\n }\n for (const d of manifest.directories) {\n await mkdir(join(home, d.path), { recursive: true, mode: d.mode ? parseInt(d.mode, 8) : undefined });\n }\n}\n\nasync function seedConfig(repoRoot: string, _configDir: string, dryRun: boolean, home: string): Promise<readonly string[]> {\n const { loadManifest } = await import('../install-manifest.js');\n const manifest = loadManifest(repoRoot);\n const seeded: string[] = [];\n for (const seed of manifest.configSeeds) {\n const src = join(repoRoot, seed.source);\n const dst = join(home, seed.dest);\n if (!(await exists(src))) continue;\n if (await exists(dst)) continue;\n if (dryRun) {\n seeded.push(`[dry-run] cp ${src} ${dst}`);\n continue;\n }\n const content = await readFile(src, 'utf-8');\n await mkdir(dirname(dst), { recursive: true });\n await writeFile(dst, content, { mode: seed.mode ? parseInt(seed.mode, 8) : 0o644 });\n seeded.push(basename(dst));\n }\n return seeded;\n}\n\n/**\n * Reconcile a single PATH symlink at ~/.local/bin/<name>.\n * Policy (plan \u00A7\"PATH symlink collision\"):\n * - Missing \u2192 create\n * - Symlink pointing into our own ~/.abtars/bin/ \u2192 overwrite\n * - Anything else \u2192 refuse with message, unless force\n */\nasync function reconcilePathLink(\n binDir: string,\n userBinDir: string,\n name: string,\n force: boolean,\n dryRun: boolean,\n): Promise<{ action: string; message?: string }> {\n const linkPath = join(userBinDir, name);\n const targetPath = join(binDir, name);\n const linkExists = await existsAny(linkPath);\n if (!linkExists) {\n if (dryRun) return { action: `[dry-run] ln -s ${targetPath} ${linkPath}` };\n await symlink(targetPath, linkPath);\n return { action: `created ${linkPath}` };\n }\n if (await isSymlink(linkPath)) {\n const { readlink, unlink } = await import('node:fs/promises');\n const current = await readlink(linkPath);\n // \"We own it\" means: points at THIS install's bin dir, not a fuzzy match\n // on any path containing /.abtars/bin/. A smoke-test install at\n // ABTARS_HOME=~/.cache/ab-smoke-.../ must not clobber the real\n // ~/.abtars symlinks. Compare absolute paths directly.\n const ownsIt = current === targetPath;\n if (ownsIt) {\n if (dryRun) return { action: `[dry-run] overwrite ${linkPath} (we own it)` };\n await unlink(linkPath);\n await symlink(targetPath, linkPath);\n return { action: `updated ${linkPath}` };\n }\n if (force) {\n if (dryRun) return { action: `[dry-run] --force overwrite ${linkPath} (currently -> ${current})` };\n await unlink(linkPath);\n await symlink(targetPath, linkPath);\n return { action: `forced overwrite ${linkPath} (was -> ${current})` };\n }\n return {\n action: 'refused',\n message: `${linkPath} is a symlink to ${current} (not ours). Pass --force to overwrite.`,\n };\n }\n if (force) {\n if (dryRun) return { action: `[dry-run] --force overwrite ${linkPath} (regular file)` };\n const { unlink } = await import('node:fs/promises');\n await unlink(linkPath);\n await symlink(targetPath, linkPath);\n return { action: `forced overwrite ${linkPath} (was regular file)` };\n }\n return {\n action: 'refused',\n message: `${linkPath} exists as a regular file (not our symlink). Pass --force to overwrite.`,\n };\n}\n\nexport async function writeWrapper(binDir: string, name: string, currentLink: string, dryRun: boolean): Promise<void> {\n const bundleFile = name === 'abtars' ? 'abtars-cli.js' : `${name}.js`;\n const home = currentLink.replace(/\\/current$/, '');\n let content: string;\n\n if (name === 'abmind') {\n // #863: abmind resolves from bundle, source, or npm global \u2014 no current/ symlink\n content = `#!/usr/bin/env bash\n# Resolve abmind CLI \u2014 no ~/.abmind/current dependency (#863)\nBUNDLE_CLI=\"$HOME/.abtars/app/bundle/node_modules/abmind/dist/cli/abmind.js\"\nSRC_CLI=\"$HOME/.abtars/src/abmind/dist/cli/abmind.js\"\nGLOBAL_CLI=\"$(npm root -g 2>/dev/null)/abmind/dist/cli/abmind.js\"\nif [ -f \"$BUNDLE_CLI\" ]; then\n exec node \"$BUNDLE_CLI\" \"$@\"\nelif [ -f \"$SRC_CLI\" ]; then\n exec node \"$SRC_CLI\" \"$@\"\nelif [ -f \"$GLOBAL_CLI\" ]; then\n exec node \"$GLOBAL_CLI\" \"$@\"\nelse\n echo \"abmind: not found. Install via npm or deploy via abtars update.\" >&2\n exit 1\nfi\n`;\n } else {\n const target = join(currentLink, 'bundle', bundleFile);\n const distFile = name === 'abtars' ? 'abtars.js' : `${name}.js`;\n const fallback = join(currentLink, 'dist', 'cli', distFile);\n content = `#!/usr/bin/env bash\nif [ -f \"${target}\" ]; then\n exec node \"${target}\" \"$@\"\nelif [ -f \"${fallback}\" ]; then\n exec node \"${fallback}\" \"$@\"\nelse\n GLOBAL_BIN=\"$(npm root -g 2>/dev/null)/abtars/bundle/${bundleFile}\"\n if [ -f \"$GLOBAL_BIN\" ]; then\n exec node \"$GLOBAL_BIN\" \"$@\"\n fi\n echo \"abtars: no release staged. Run 'abtars install' first.\" >&2\n exit 1\nfi\n`;\n }\n const path = join(binDir, name);\n if (dryRun) {\n process.stdout.write(`[dry-run] write wrapper ${path}\\n`);\n return;\n }\n await writeFile(path, content, { mode: 0o755 });\n}\n\nfunction isPathOnPATH(userBinDir: string): boolean {\n const PATH = process.env['PATH'] ?? '';\n return PATH.split(':').some((p) => p === userBinDir);\n}\n\nexport async function install(opts: InstallOptions): Promise<number> {\n const paths = packagePaths('abtars');\n const home = paths.home;\n const userBinDir = resolveUserBinDir();\n const repoRoot = process.cwd();\n\n // Install log (#718)\n const { initInstallLog, logInstall, logInstallHeader } = await import(\"../install-log.js\");\n initInstallLog(home);\n logInstallHeader(\"install\");\n const _origWrite = process.stdout.write.bind(process.stdout);\n process.stdout.write = ((chunk: any, ...args: any[]) => {\n if (typeof chunk === \"string\" && (chunk.startsWith(\"\u2713\") || chunk.startsWith(\"\u26A0\"))) logInstall(chunk.trimEnd());\n return _origWrite(chunk, ...args);\n }) as typeof process.stdout.write;\n\n const homeExists = await exists(home);\n const manifest = homeExists ? await readManifest(paths.manifest) : null;\n\n if (homeExists && manifest && !opts.force && !opts.restore) {\n process.stderr.write(\n `~/.abtars already installed at version ${manifest.version || '(unset)'}.\\nUse 'abtars update' to upgrade, or --force to re-seed missing config.\\n`,\n );\n return 2;\n }\n\n // Kill stale daemon/watchdog from previous install (#771)\n try {\n const { execSync } = await import(\"node:child_process\");\n execSync(\"systemctl is-active abtars 2>/dev/null\", { stdio: \"ignore\" });\n execSync(\"sudo -n systemctl stop abtars 2>/dev/null\", { stdio: \"ignore\" });\n execSync(\"sudo -n systemctl disable abtars 2>/dev/null\", { stdio: \"ignore\" });\n } catch { /* not running or no sudo \u2014 fine */ }\n try {\n const { execSync } = await import(\"node:child_process\");\n execSync(\"pkill -f 'watchdog.sh' 2>/dev/null\", { stdio: \"ignore\" });\n } catch { /* no watchdog \u2014 fine */ }\n\n // Create skeleton (idempotent)\n await createSkeleton(home, opts.dryRun);\n process.stdout.write(`\u2713 skeleton at ${home}\\n`);\n\n // Core templates: abmind seeds its own on first boot (#427 ensureInitialized).\n // No longer seeded by abtars install.\n\n // Create kiro-cli agent config \u2014 ACP transport needs ~/.kiro/agents/professor.json\n const kiroAgentsDir = join(homedir(), '.kiro', 'agents');\n const professorJson = join(kiroAgentsDir, 'professor.json');\n if (!opts.dryRun) {\n await mkdir(kiroAgentsDir, { recursive: true });\n if (!(await exists(professorJson))) {\n await writeFile(professorJson, JSON.stringify({\n name: \"professor\",\n description: \"Abtars bridge agent\",\n tools: [\"*\"],\n allowedTools: [\"@builtin\"],\n toolsSettings: { shell: { autoAllowReadonly: true } },\n includeMcpJson: true,\n }, null, 2) + '\\n');\n process.stdout.write(`\u2713 kiro agent: ${professorJson}\\n`);\n }\n } else {\n process.stdout.write(`[dry-run] create ${professorJson}\\n`);\n }\n\n // Generate Ed25519 identity keypair (skip if already exists)\n const identityKey = join(paths.config, 'identity.key');\n const identityPub = join(paths.config, 'identity.pub');\n if (!opts.dryRun && !(await exists(identityKey))) {\n const { generateKeyPairSync } = await import('node:crypto');\n const { privateKey, publicKey } = generateKeyPairSync('ed25519');\n await writeFile(identityKey, privateKey.export({ format: 'der', type: 'pkcs8' }).toString('base64'));\n await writeFile(identityPub, publicKey.export({ format: 'der', type: 'spki' }).toString('base64'));\n const { chmodSync } = await import('node:fs');\n chmodSync(identityKey, 0o600);\n process.stdout.write(`\u2713 identity keypair generated\\n`);\n }\n\n // Generate self-signed Ed25519 TLS certificate (skip if already exists)\n const identityCrt = join(paths.config, 'identity.crt');\n const identityTlsKey = join(paths.config, 'identity.tls.key');\n if (!opts.dryRun && !(await exists(identityCrt))) {\n const { execSync } = await import('node:child_process');\n const { chmodSync } = await import('node:fs');\n const agentName = hostname();\n try {\n execSync(`openssl req -x509 -newkey ed25519 -keyout identity.tls.key -out identity.crt -days 3650 -nodes -subj \"/CN=${agentName}\"`, { cwd: paths.config, stdio: 'ignore' });\n chmodSync(identityTlsKey, 0o600);\n process.stdout.write(`\u2713 TLS certificate generated (Ed25519, 10yr)\\n`);\n } catch (err) {\n process.stderr.write(`\u26A0 TLS cert generation failed (openssl not found?). Agent-api will start without TLS.\\n`);\n }\n }\n\n // Seed config from examples (only missing ones)\n const seeded = await seedConfig(repoRoot, paths.config, opts.dryRun, home);\n if (seeded.length > 0) {\n process.stdout.write(`\u2713 seeded config: ${seeded.join(', ')}\\n`);\n }\n\n // Write wrappers (always overwrite \u2014 they're regenerable thin shims)\n const { loadManifest: loadInstallManifest } = await import('../install-manifest.js');\n const installManifest = loadInstallManifest(repoRoot);\n if (!opts.dryRun) {\n await mkdir(paths.bin, { recursive: true });\n }\n for (const name of installManifest.cliWrappers) {\n await writeWrapper(paths.bin, name, paths.current, opts.dryRun);\n }\n process.stdout.write(`\u2713 wrappers in ${paths.bin}\\n`);\n\n // Reconcile PATH symlinks\n if (!opts.dryRun) await mkdir(userBinDir, { recursive: true });\n const refused: string[] = [];\n for (const name of installManifest.cliWrappers) {\n const r = await reconcilePathLink(paths.bin, userBinDir, name, opts.force, opts.dryRun);\n if (r.action === 'refused') {\n refused.push(r.message ?? name);\n }\n }\n if (refused.length > 0) {\n process.stderr.write(`\\nPATH symlink conflicts:\\n ${refused.join('\\n ')}\\n`);\n } else {\n process.stdout.write(`\u2713 PATH symlinks in ${userBinDir}\\n`);\n }\n\n // Warn if ~/.local/bin not on PATH\n if (!isPathOnPATH(userBinDir)) {\n process.stderr.write(\n `\\nWarning: ${userBinDir} is not on $PATH. Add to your shell config:\\n export PATH=\"${userBinDir}:$PATH\"\\n`,\n );\n }\n\n // Initialize manifest if brand-new install AND migration didn't write one.\n // (Migration 003 writes a manifest mid-flow with version + migration record;\n // we must not clobber it here.)\n const manifestAfter = await readManifest(paths.manifest);\n if (manifestAfter === null && !opts.dryRun) {\n await writeManifest(paths.manifest, {\n ...emptyManifest('abtars', hostname()),\n version: '',\n });\n process.stdout.write(`\u2713 manifest initialized at ${paths.manifest}\\n`);\n }\n\n // Write install mode to manifest. Priority:\n // 1. --mode flag (explicit) \u2014 always wins\n // 2. existing manifest installMode \u2014 preserved (don't clobber on --force)\n // 3. default: supervised\n const manifestForMode = await readManifest(paths.manifest);\n const existingMode = manifestForMode?.installMode;\n const mode = opts.mode ?? existingMode ?? \"supervised\";\n if (manifestForMode) {\n await writeManifest(paths.manifest, { ...manifestForMode, installMode: mode });\n }\n process.stdout.write(`\u2713 install mode: ${mode}\\n`);\n\n // Release staging is handled by `abtars update` (auto-detects npm vs git source)\n\n // Restore from backup zip\n if (opts.restore) {\n const { spawnSync } = await import('node:child_process');\n const { existsSync: fileExists } = await import('node:fs');\n const zipPath = opts.restore;\n if (!fileExists(zipPath)) {\n process.stderr.write(`error: backup file not found: ${zipPath}\\n`);\n return 1;\n }\n // Extract to temp dir\n const tmpDir = join(process.env['TMPDIR'] ?? '/tmp', `abtars-restore-${Date.now()}`);\n const is7z = zipPath.endsWith('.7z');\n const extractCmd = is7z\n ? spawnSync('7z', ['x', zipPath, `-o${tmpDir}`, '-y'], { encoding: 'utf-8' })\n : spawnSync('unzip', ['-o', zipPath, '-d', tmpDir], { encoding: 'utf-8' });\n if (extractCmd.status !== 0) {\n process.stderr.write(`error: extract failed: ${extractCmd.stderr}\\n`);\n return 1;\n }\n // Copy abtars files \u2014 overwrite everything EXCEPT binaries (releases/, current, bin/)\n const abSrc = join(tmpDir, 'abtars');\n if (fileExists(abSrc)) {\n const skipSet = new Set(['releases', 'current', 'bin']);\n for (const f of readdirSync(abSrc)) {\n if (skipSet.has(f)) continue;\n spawnSync('cp', ['-r', join(abSrc, f), home], { stdio: 'inherit' });\n }\n process.stdout.write(`\u2713 restored abtars data\\n`);\n }\n // Copy abmind files\n const abmindHome = process.env['ABMIND_HOME'] ?? join(dirname(home), '.abmind');\n const abmindSrc = join(tmpDir, 'abmind');\n if (fileExists(abmindSrc)) {\n spawnSync('cp', ['-r', ...readdirSync(abmindSrc).map(f => join(abmindSrc, f)), abmindHome], { stdio: 'inherit' });\n process.stdout.write(`\u2713 restored abmind data\\n`);\n }\n // Cleanup + resync\n spawnSync('rm', ['-rf', tmpDir]);\n process.stdout.write(`\\n\u2713 Restore complete. Run 'abtars update' to resync.\\n`);\n return 0;\n }\n\n // --- supervised: load user-scope watchdog (LaunchAgent / systemd user) ---\n if (mode === 'supervised') {\n const { execSync } = await import('node:child_process');\n if (process.platform === 'darwin') {\n const plistSrc = join(home, 'scripts', 'com.abtars.watchdog.plist');\n const plistDst = join(homedir(), 'Library', 'LaunchAgents', 'com.abtars.watchdog.plist');\n if (existsSync(plistSrc)) {\n const content = readFileSync(plistSrc, 'utf-8').replaceAll('{{HOME}}', homedir());\n const { writeFileSync } = await import('node:fs');\n writeFileSync(plistDst, content);\n try { execSync(`launchctl load \"${plistDst}\"`, { stdio: 'ignore' }); } catch { /* already loaded */ }\n process.stdout.write(`\u2713 watchdog LaunchAgent loaded\\n`);\n }\n } else if (process.platform === 'linux') {\n const unitSrc = join(home, 'scripts', 'abtars-watchdog.service');\n const unitDir = join(homedir(), '.config', 'systemd', 'user');\n if (existsSync(unitSrc)) {\n mkdirSync(unitDir, { recursive: true });\n copyFileSync(unitSrc, join(unitDir, 'abtars-watchdog.service'));\n try { execSync('systemctl --user daemon-reload && systemctl --user enable --now abtars-watchdog', { stdio: 'ignore' }); } catch { /* may fail in chroot */ }\n process.stdout.write(`\u2713 watchdog systemd user service enabled\\n`);\n }\n }\n }\n\n process.stdout.write(`\\nInstall complete.\\n`);\n if (!manifestAfter || manifestAfter.version === '') {\n process.stdout.write(`Next: 'abtars update' to build and activate the first release.\\n`);\n } else {\n process.stdout.write(`\\n\u2500\u2500 Next steps \u2500\u2500\\n`);\n process.stdout.write(` 1. Run 'abtars onboard' to configure Telegram token + model provider\\n`);\n process.stdout.write(` 2. (Optional) Install Ollama for memory embeddings: curl -fsSL https://ollama.com/install.sh | sh\\n`);\n process.stdout.write(` 3. Start the bridge: 'abtars restart' or use the watchdog\\n\\n`);\n }\n\n const { printHealthSummary } = await import('./health-check.js');\n printHealthSummary(paths.home);\n\n // #334: Post-install healthcheck \u2014 validate operator channel exists (only on --restore)\n if (!opts.dryRun && opts.restore) {\n const { validateMinimumViability, formatValidationError } = await import('./install-validate.js');\n const validation = validateMinimumViability(paths.config);\n if (!validation.ok) {\n const invocation = `abtars install --restore ${opts.restore}`;\n process.stderr.write(\"\\n\" + formatValidationError(validation, invocation) + \"\\n\");\n return 1;\n }\n }\n\n return 0;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["execSync"]
7
+ }
@@ -2,7 +2,7 @@
2
2
  import { createRequire as __bundleCreateRequire } from 'node:module'; import { fileURLToPath as __bundleFileURLToPath } from 'node:url'; import { dirname as __bundleDirname } from 'node:path'; const require = __bundleCreateRequire(import.meta.url); const __chunk_filename = __bundleFileURLToPath(import.meta.url); const __chunk_dirname = __bundleDirname(__chunk_filename);
3
3
  import {
4
4
  buildSoulBundle
5
- } from "./chunk-OZ4IZFV4.js";
5
+ } from "./chunk-HJQZP5CK.js";
6
6
 
7
7
  // src/components/soul-loader.ts
8
8
  function loadSoulBundle(memory) {
@@ -16,4 +16,4 @@ export {
16
16
  loadSoulBundle,
17
17
  loadMinimalSoul
18
18
  };
19
- //# sourceMappingURL=chunk-KFENC7BM.js.map
19
+ //# sourceMappingURL=chunk-L33WNMCP.js.map
@@ -3,11 +3,11 @@
3
3
  import {
4
4
  init_log_and_swallow,
5
5
  logAndSwallow
6
- } from "./chunk-EX2SRTUE.js";
6
+ } from "./chunk-CYSGXNBY.js";
7
7
  import {
8
8
  abtarsHome,
9
9
  init_paths
10
- } from "./chunk-MJ6PHMOK.js";
10
+ } from "./chunk-WW5F2DCO.js";
11
11
 
12
12
  // src/components/tool-sandbox.ts
13
13
  init_paths();
@@ -127,4 +127,4 @@ export {
127
127
  auditDeny,
128
128
  ToolLoopGuard
129
129
  };
130
- //# sourceMappingURL=chunk-JRG4EFMP.js.map
130
+ //# sourceMappingURL=chunk-LBMETTUP.js.map
@@ -1,18 +1,21 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __bundleCreateRequire } from 'node:module'; import { fileURLToPath as __bundleFileURLToPath } from 'node:url'; import { dirname as __bundleDirname } from 'node:path'; const require = __bundleCreateRequire(import.meta.url); const __chunk_filename = __bundleFileURLToPath(import.meta.url); const __chunk_dirname = __bundleDirname(__chunk_filename);
3
3
  import {
4
- init_log_and_swallow,
5
- logAndSwallow
6
- } from "./chunk-EX2SRTUE.js";
4
+ sanitizeOutbound
5
+ } from "./chunk-YWZPKBO6.js";
7
6
  import {
8
7
  getEnv,
9
8
  init_env_schema
10
- } from "./chunk-PZE3J7ER.js";
9
+ } from "./chunk-3OXQWII3.js";
10
+ import {
11
+ init_log_and_swallow,
12
+ logAndSwallow
13
+ } from "./chunk-CYSGXNBY.js";
11
14
  import {
12
15
  init_logger,
13
16
  logError,
14
17
  logWarn
15
- } from "./chunk-2BY6I4P5.js";
18
+ } from "./chunk-GUTRAMK3.js";
16
19
 
17
20
  // src/components/main-chat.ts
18
21
  init_env_schema();
@@ -30,7 +33,7 @@ async function sendToMainChat(adapters, text, opts) {
30
33
  return { ok: false, reason: "adapter-missing" };
31
34
  }
32
35
  try {
33
- await adapter.sendMessage(chatId, text, opts);
36
+ await adapter.sendMessage(chatId, sanitizeOutbound(text), opts);
34
37
  return { ok: true };
35
38
  } catch (err) {
36
39
  logError("main-chat", `send failed: ${err}`);
@@ -52,4 +55,4 @@ export {
52
55
  sendToMainChat,
53
56
  sendNotification
54
57
  };
55
- //# sourceMappingURL=chunk-TYVI3ZWA.js.map
58
+ //# sourceMappingURL=chunk-LJAG2URA.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/components/main-chat.ts", "../src/components/notification.ts"],
4
+ "sourcesContent": ["/**\n * main-chat.ts \u2014 Route operator messages to the correct platform.\n * Uses MAIN_CHAT_PROVIDER to decide telegram vs discord.\n */\n\nimport { getEnv } from \"./env-schema.js\";\nimport { logWarn, logError } from \"./logger.js\";\nimport { sanitizeOutbound } from \"./sanitize-outbound.js\";\n\nexport interface SendOpts {\n threadId?: number;\n}\n\nexport interface SendResult {\n ok: boolean;\n reason?: \"no-chat-id\" | \"adapter-missing\" | \"send-failed\";\n}\n\nexport type ChatAdapter = {\n sendMessage(chatId: string, text: string, opts?: any): Promise<unknown>;\n};\n\nexport async function sendToMainChat(\n adapters: { telegram?: ChatAdapter | null; discord?: ChatAdapter | null },\n text: string,\n opts?: SendOpts,\n): Promise<SendResult> {\n const chatId = getEnv().mainChatId;\n if (!chatId) {\n logWarn(\"main-chat\", \"no MAIN_CHAT_ID, skipping\");\n return { ok: false, reason: \"no-chat-id\" };\n }\n const provider = getEnv().mainChatProvider;\n const adapter = provider === \"discord\" ? adapters.discord : adapters.telegram;\n if (!adapter) {\n logWarn(\"main-chat\", `${provider} adapter not running, skipping`);\n return { ok: false, reason: \"adapter-missing\" };\n }\n try {\n await adapter.sendMessage(chatId, sanitizeOutbound(text), opts);\n return { ok: true };\n } catch (err) {\n logError(\"main-chat\", `send failed: ${err}`);\n return { ok: false, reason: \"send-failed\" };\n }\n}\n", "/**\n * sendNotification \u2014 send a notification to the operator's main channel.\n * Routes via MAIN_CHAT_PROVIDER. Fire-and-forget.\n */\n\nimport type { BootCtx } from \"../boot/context.js\";\nimport { sendToMainChat } from \"./main-chat.js\";\nimport { logAndSwallow } from \"./log-and-swallow.js\";\n\nconst TAG = \"notification\";\n\nexport function sendNotification(ctx: BootCtx, msg: string): void {\n sendToMainChat(\n { telegram: ctx.telegramAdapter, discord: ctx.discordAdapter },\n msg,\n ).catch(err => logAndSwallow(TAG, \"sendToMainChat\", err));\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAKA;AACA;AAgBA,eAAsB,eACpB,UACA,MACA,MACqB;AACrB,QAAM,SAAS,OAAO,EAAE;AACxB,MAAI,CAAC,QAAQ;AACX,YAAQ,aAAa,2BAA2B;AAChD,WAAO,EAAE,IAAI,OAAO,QAAQ,aAAa;AAAA,EAC3C;AACA,QAAM,WAAW,OAAO,EAAE;AAC1B,QAAM,UAAU,aAAa,YAAY,SAAS,UAAU,SAAS;AACrE,MAAI,CAAC,SAAS;AACZ,YAAQ,aAAa,GAAG,QAAQ,gCAAgC;AAChE,WAAO,EAAE,IAAI,OAAO,QAAQ,kBAAkB;AAAA,EAChD;AACA,MAAI;AACF,UAAM,QAAQ,YAAY,QAAQ,iBAAiB,IAAI,GAAG,IAAI;AAC9D,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB,SAAS,KAAK;AACZ,aAAS,aAAa,gBAAgB,GAAG,EAAE;AAC3C,WAAO,EAAE,IAAI,OAAO,QAAQ,cAAc;AAAA,EAC5C;AACF;;;ACtCA;AAEA,IAAM,MAAM;AAEL,SAAS,iBAAiB,KAAc,KAAmB;AAChE;AAAA,IACE,EAAE,UAAU,IAAI,iBAAiB,SAAS,IAAI,eAAe;AAAA,IAC7D;AAAA,EACF,EAAE,MAAM,SAAO,cAAc,KAAK,kBAAkB,GAAG,CAAC;AAC1D;",
6
+ "names": []
7
+ }
@@ -2,22 +2,22 @@
2
2
  import { createRequire as __bundleCreateRequire } from 'node:module'; import { fileURLToPath as __bundleFileURLToPath } from 'node:url'; import { dirname as __bundleDirname } from 'node:path'; const require = __bundleCreateRequire(import.meta.url); const __chunk_filename = __bundleFileURLToPath(import.meta.url); const __chunk_dirname = __bundleDirname(__chunk_filename);
3
3
  import {
4
4
  writeRestartReason
5
- } from "./chunk-UDZIZB5F.js";
6
- import {
7
- init_log_and_swallow,
8
- logAndSwallow
9
- } from "./chunk-EX2SRTUE.js";
5
+ } from "./chunk-RTL7HO3N.js";
10
6
  import {
11
7
  getEnv,
12
8
  init_env_schema
13
- } from "./chunk-PZE3J7ER.js";
9
+ } from "./chunk-3OXQWII3.js";
10
+ import {
11
+ init_log_and_swallow,
12
+ logAndSwallow
13
+ } from "./chunk-CYSGXNBY.js";
14
14
  import {
15
15
  init_logger,
16
16
  logDebug,
17
17
  logError,
18
18
  logInfo,
19
19
  logWarn
20
- } from "./chunk-2BY6I4P5.js";
20
+ } from "./chunk-GUTRAMK3.js";
21
21
  import {
22
22
  __export
23
23
  } from "./chunk-7K2YZTLD.js";
@@ -15289,7 +15289,7 @@ var TransportStateError = class extends Error {
15289
15289
  var VALID_TRANSITIONS = {
15290
15290
  idle: ["prompting", "reinitializing", "destroyed"],
15291
15291
  prompting: ["idle", "tool-active", "reinitializing", "destroyed"],
15292
- "tool-active": ["prompting", "reinitializing", "destroyed"],
15292
+ "tool-active": ["prompting", "idle", "reinitializing", "destroyed"],
15293
15293
  reinitializing: ["idle", "stalled", "destroyed"],
15294
15294
  stalled: ["idle", "destroyed"],
15295
15295
  // only manual /restart recovers
@@ -15610,7 +15610,7 @@ var AcpTransport = class {
15610
15610
  return chunks.join("") || "(no response)";
15611
15611
  } finally {
15612
15612
  const durationMs = Date.now() - this.promptStartedAt;
15613
- import("./hook-system-POI5VRIX.js").then(({ hasHooks, fire }) => {
15613
+ import("./hook-system-ZCVOFFRD.js").then(({ hasHooks, fire }) => {
15614
15614
  if (!hasHooks("AfterPrompt")) return;
15615
15615
  fire("AfterPrompt", {
15616
15616
  event: "AfterPrompt",
@@ -15701,7 +15701,7 @@ var AcpTransport = class {
15701
15701
  }
15702
15702
  async resetSession(_sessionKey) {
15703
15703
  try {
15704
- const { clearTransportCache, loadTransport, resolveAgent } = await import("./transport-config-G5NKQXPJ.js");
15704
+ const { clearTransportCache, loadTransport, resolveAgent } = await import("./transport-config-JIKHB7GT.js");
15705
15705
  clearTransportCache();
15706
15706
  const tc = loadTransport();
15707
15707
  if (tc) {
@@ -15867,8 +15867,9 @@ var AcpTransport = class {
15867
15867
  const dur = Math.round((now - this.toolMeta.startedAt) / 1e3);
15868
15868
  logWarn(this.tag, `[transport-health] Tool "${title}" hung ${dur}s \u2014 interrupting`);
15869
15869
  this._watchdogLastActionAt = now;
15870
- await this.sendInterrupt();
15871
15870
  this.toolMeta = null;
15871
+ if (this.sm.state === "tool-active") this.sm.transition("idle", "toolTimeout");
15872
+ await this.sendInterrupt();
15872
15873
  if (!this._watchdogL1Done) {
15873
15874
  await this.sendPrompt(this.lastSessionKey, `[SYSTEM] Your tool call "${title}" was interrupted after ${dur} seconds. Try a different approach.`);
15874
15875
  this._watchdogL1Done = true;
@@ -15900,4 +15901,4 @@ export {
15900
15901
  ModelNotFoundError,
15901
15902
  AcpTransport
15902
15903
  };
15903
- //# sourceMappingURL=chunk-RV54J75Q.js.map
15904
+ //# sourceMappingURL=chunk-MHK4UPM6.js.map