@namzu/cli 37.0.2 → 37.2.0

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 (280) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +1 -1
  3. package/dist/analysis-host.js +55 -0
  4. package/dist/analysis-host.js.map +6 -0
  5. package/dist/bin.js +1 -1
  6. package/dist/chunks/{acp-Y2WQVKWL.js → acp-WRUFVVVS.js} +52 -46
  7. package/dist/chunks/acp-WRUFVVVS.js.map +6 -0
  8. package/dist/chunks/{activity-command-UMTER4IK.js → activity-command-7GP4PLBD.js} +11 -10
  9. package/dist/chunks/activity-command-7GP4PLBD.js.map +6 -0
  10. package/dist/chunks/{add-AIDLR6U4.js → add-KNRDMCME.js} +19 -19
  11. package/dist/chunks/{agent-C7TDIJ67.js → agent-LZDDK3NN.js} +26 -24
  12. package/dist/chunks/agent-session-2XPAWSJU.js +51 -0
  13. package/dist/chunks/{archive-FKUQ77FG.js → archive-PNHAJS2H.js} +9 -8
  14. package/dist/chunks/archive-PNHAJS2H.js.map +6 -0
  15. package/dist/chunks/{bin-main-EIWOQZCZ.js → bin-main-Y2J7CPYI.js} +5 -5
  16. package/dist/chunks/{browser-7P2TABJG.js → browser-RVLLK6CN.js} +7 -7
  17. package/dist/chunks/{chat-YN6WWBI6.js → chat-YF3TI43Y.js} +20 -19
  18. package/dist/chunks/chat-YF3TI43Y.js.map +6 -0
  19. package/dist/chunks/{chunk-EBFWNPMU.js → chunk-2TDWK353.js} +11 -11
  20. package/dist/chunks/{chunk-23SR4YFL.js → chunk-34IZ6DMB.js} +2 -2
  21. package/dist/chunks/{chunk-5WDPVM7Q.js → chunk-37FCG7VX.js} +2 -2
  22. package/dist/chunks/{chunk-F2JKDYHA.js → chunk-4GIDESAM.js} +4 -4
  23. package/dist/chunks/{chunk-VZ4KVZWO.js → chunk-4H4YDNND.js} +33 -32
  24. package/dist/chunks/{chunk-VZ4KVZWO.js.map → chunk-4H4YDNND.js.map} +1 -1
  25. package/dist/chunks/{chunk-BUQ7VMBS.js → chunk-5NHKC3NO.js} +32 -10
  26. package/dist/chunks/chunk-5NHKC3NO.js.map +6 -0
  27. package/dist/chunks/{chunk-OVVIFOAR.js → chunk-5YERJLR7.js} +4 -4
  28. package/dist/chunks/{chunk-YCVR5E2Z.js → chunk-72TESSG2.js} +30 -4
  29. package/dist/chunks/{chunk-YCVR5E2Z.js.map → chunk-72TESSG2.js.map} +1 -1
  30. package/dist/chunks/{chunk-FLUVTAXY.js → chunk-77AX2GEP.js} +5265 -4174
  31. package/dist/chunks/chunk-77AX2GEP.js.map +6 -0
  32. package/dist/chunks/chunk-7WKQQOKK.js +430 -0
  33. package/dist/chunks/chunk-7WKQQOKK.js.map +6 -0
  34. package/dist/chunks/{chunk-2YPMHUI4.js → chunk-A5GALFIC.js} +2 -2
  35. package/dist/chunks/{chunk-DFU5KG3V.js → chunk-ABHX2QBJ.js} +4 -4
  36. package/dist/chunks/{chunk-37A6M7P4.js → chunk-DRXG4OLL.js} +4 -4
  37. package/dist/chunks/{chunk-Y3UE64PV.js → chunk-DS2PIOVD.js} +3 -3
  38. package/dist/chunks/{chunk-GR452YOE.js → chunk-DW23UIKM.js} +2 -2
  39. package/dist/chunks/{chunk-DBBWIOQS.js → chunk-E6RPYGJP.js} +3 -3
  40. package/dist/chunks/{chunk-3NCL3Y53.js → chunk-ERY3CYIM.js} +4 -4
  41. package/dist/chunks/{chunk-6HDBRUB7.js → chunk-GEB3OP2H.js} +181 -32
  42. package/dist/chunks/chunk-GEB3OP2H.js.map +6 -0
  43. package/dist/chunks/{chunk-HXFPEA6Z.js → chunk-GYM3FUBH.js} +2 -2
  44. package/dist/chunks/{chunk-45MA2WMX.js → chunk-HFFINVNN.js} +3 -3
  45. package/dist/chunks/{chunk-I3Q53U6H.js → chunk-HFMDSVBA.js} +2 -2
  46. package/dist/chunks/{chunk-KSFS3BI7.js → chunk-HFUBLJE5.js} +2 -2
  47. package/dist/chunks/{chunk-QCJU5KFR.js → chunk-HJBZYFCC.js} +6 -6
  48. package/dist/chunks/{chunk-SEKX6IR5.js → chunk-HLHYVGQE.js} +13 -13
  49. package/dist/chunks/{chunk-OKB66ICJ.js → chunk-HRRQSXVP.js} +15 -11
  50. package/dist/chunks/chunk-HRRQSXVP.js.map +6 -0
  51. package/dist/chunks/{chunk-5GOYK3IN.js → chunk-HS3TPTJ3.js} +2 -2
  52. package/dist/chunks/{chunk-I6XWCKKW.js → chunk-KK73BCYK.js} +7 -5
  53. package/dist/chunks/chunk-KK73BCYK.js.map +6 -0
  54. package/dist/chunks/{chunk-QVMTUMTW.js → chunk-KSLX3NGM.js} +3 -3
  55. package/dist/chunks/{chunk-ZRAALEF2.js → chunk-LO5DFG6H.js} +2 -2
  56. package/dist/chunks/{chunk-L7Q7QNNE.js → chunk-M2SQW7DK.js} +3 -3
  57. package/dist/chunks/{chunk-2EDGH6Y3.js → chunk-M46XYX7O.js} +3 -3
  58. package/dist/chunks/{chunk-FKLDO6SF.js → chunk-MF45FNH3.js} +3 -3
  59. package/dist/chunks/{chunk-MYRLRBZG.js → chunk-MUG3SBGU.js} +3 -3
  60. package/dist/chunks/{chunk-XDAMUTVR.js → chunk-MULW7FFH.js} +4 -4
  61. package/dist/chunks/{chunk-JH2O55TT.js → chunk-N2CP3FIQ.js} +4 -4
  62. package/dist/chunks/{chunk-D7FPVZDC.js → chunk-N3YMYKEU.js} +2 -2
  63. package/dist/chunks/{chunk-QU3LGVTZ.js → chunk-ND6ZNIUM.js} +7 -7
  64. package/dist/chunks/{chunk-R23DP7S7.js → chunk-NYRBM7PR.js} +17 -17
  65. package/dist/chunks/{chunk-BV2SDA2D.js → chunk-O6X4O7VQ.js} +3 -3
  66. package/dist/chunks/{chunk-MVGNG67O.js → chunk-POEIV6AQ.js} +2 -2
  67. package/dist/chunks/{chunk-KQM2NQ2W.js → chunk-PSLRTJU5.js} +8 -8
  68. package/dist/chunks/{chunk-XYXPAVPG.js → chunk-QWCASGYH.js} +4 -4
  69. package/dist/chunks/{chunk-ZKI3Z4VR.js → chunk-R7HI2NMR.js} +2 -2
  70. package/dist/chunks/{chunk-3SGEHTJ4.js → chunk-REBTUQC6.js} +6 -6
  71. package/dist/chunks/{chunk-NKERGDBZ.js → chunk-SMAN2IR4.js} +2 -2
  72. package/dist/chunks/{chunk-HHKKHUJK.js → chunk-T5GKAQHN.js} +3 -41
  73. package/dist/chunks/chunk-T5GKAQHN.js.map +6 -0
  74. package/dist/chunks/{chunk-4GDOFBZF.js → chunk-TQGYYDLF.js} +3 -3
  75. package/dist/chunks/{chunk-WWE4W2R6.js → chunk-UARWI3TA.js} +2 -2
  76. package/dist/chunks/{chunk-HV4SSQ2Y.js → chunk-UI3MX7CC.js} +3 -3
  77. package/dist/chunks/chunk-V6NJWYMP.js +49 -0
  78. package/dist/chunks/chunk-V6NJWYMP.js.map +6 -0
  79. package/dist/chunks/{chunk-X3ZBCYV6.js → chunk-VCUPZJDO.js} +2 -2
  80. package/dist/chunks/{chunk-74WE6T6M.js → chunk-VIDT6RAV.js} +9 -7
  81. package/dist/chunks/chunk-VIDT6RAV.js.map +6 -0
  82. package/dist/chunks/{chunk-ZRJYG2F2.js → chunk-VONRWBC6.js} +2 -2
  83. package/dist/chunks/{chunk-6CQJH56B.js → chunk-XBRRTAXP.js} +2 -2
  84. package/dist/chunks/{chunk-UFZGVNFQ.js → chunk-XHJMDBRV.js} +2 -2
  85. package/dist/chunks/chunk-YDD74UVE.js +108 -0
  86. package/dist/chunks/chunk-YDD74UVE.js.map +6 -0
  87. package/dist/chunks/{chunk-WMOYTZXD.js → chunk-YX2ZK34T.js} +19 -17
  88. package/dist/chunks/{chunk-WMOYTZXD.js.map → chunk-YX2ZK34T.js.map} +1 -1
  89. package/dist/chunks/{cli-runtime-74KKQHC7.js → cli-runtime-6MW2CSZV.js} +7 -7
  90. package/dist/chunks/{commands-2Q7KPVLW.js → commands-FHJCPYZK.js} +6 -6
  91. package/dist/chunks/{crash-report-KDVWQ2RR.js → crash-report-M5Q3DQCN.js} +6 -6
  92. package/dist/chunks/{dist-4TGHKBRS.js → dist-33WLKROX.js} +2 -2
  93. package/dist/chunks/{dist-25C2CYHP.js → dist-37DNQCWH.js} +2 -2
  94. package/dist/chunks/{dist-ZDSPMZ5S.js → dist-4OQCWTIT.js} +2 -2
  95. package/dist/chunks/{dist-UYD7IXG3.js → dist-JSQDWJJ7.js} +2 -2
  96. package/dist/chunks/dist-KGLSBIES.js +2182 -0
  97. package/dist/chunks/dist-KGLSBIES.js.map +6 -0
  98. package/dist/chunks/{dist-Q523V5L2.js → dist-PRV7KU6K.js} +2 -2
  99. package/dist/chunks/{dist-OMRUSJ5R.js → dist-RUF7G2EJ.js} +2 -2
  100. package/dist/chunks/{dist-674RS73L.js → dist-XB6XFRHI.js} +2 -2
  101. package/dist/chunks/{doctor-TFION64N.js → doctor-UHW2CT5G.js} +11 -9
  102. package/dist/chunks/{drain-3W3A4KPX.js → drain-WW3OCWON.js} +15 -13
  103. package/dist/chunks/{drain-3W3A4KPX.js.map → drain-WW3OCWON.js.map} +1 -1
  104. package/dist/chunks/{eval-TCUVH3S3.js → eval-7W7MY7MI.js} +2 -2
  105. package/dist/chunks/{exec-EIELDRPM.js → exec-D3HAVGO3.js} +86 -40
  106. package/dist/chunks/exec-D3HAVGO3.js.map +6 -0
  107. package/dist/chunks/{home-FYDAEWNW.js → home-OOMHTBCU.js} +3 -3
  108. package/dist/chunks/{host-queries-WFWM672O.js → host-queries-LLRW35KQ.js} +14 -13
  109. package/dist/chunks/host-queries-LLRW35KQ.js.map +6 -0
  110. package/dist/chunks/{lifecycle-ALDBR656.js → lifecycle-X3WP7K6J.js} +27 -26
  111. package/dist/chunks/{list-Z4XOJJ7V.js → list-YNC6NTUS.js} +15 -15
  112. package/dist/chunks/{login-UZONOHHT.js → login-J2W3FTAI.js} +8 -8
  113. package/dist/chunks/{logs-O3NGOQFC.js → logs-FBCRI5GX.js} +5 -5
  114. package/dist/chunks/{mcp-YI6PL4TH.js → mcp-S6HNWBTQ.js} +16 -16
  115. package/dist/chunks/{message-command-QEQJ25KR.js → message-command-4SLCM27I.js} +35 -33
  116. package/dist/chunks/message-command-4SLCM27I.js.map +6 -0
  117. package/dist/chunks/{operator-tools-GKYGHHPM.js → operator-tools-PLCPLKHA.js} +13 -12
  118. package/dist/chunks/operator-tools-PLCPLKHA.js.map +6 -0
  119. package/dist/chunks/{output-schema-KXKCYDI4.js → output-schema-35UX32FC.js} +3 -3
  120. package/dist/chunks/{pal-2EYYHPXC.js → pal-5BVWB3W7.js} +13 -13
  121. package/dist/chunks/{providers-JF5SWSTH.js → providers-7VVPQLKS.js} +6 -6
  122. package/dist/chunks/{resident-WHH7YQGZ.js → resident-FUJTNNQU.js} +24 -23
  123. package/dist/chunks/resident-FUJTNNQU.js.map +6 -0
  124. package/dist/chunks/resume-AJ6LESHD.js +22 -0
  125. package/dist/chunks/{resume-command-A3HKQSRH.js → resume-command-LDVO5KIP.js} +4 -4
  126. package/dist/chunks/{schedule-QIJCYWIQ.js → schedule-NV5NQSKS.js} +8 -8
  127. package/dist/chunks/{service-IXPGBY3F.js → service-OZEMWADJ.js} +31 -30
  128. package/dist/chunks/service-OZEMWADJ.js.map +6 -0
  129. package/dist/chunks/session-step-RZEULQKO.js +27 -0
  130. package/dist/chunks/{skills-AGU7FTRG.js → skills-A7XMDZPV.js} +11 -11
  131. package/dist/chunks/{state-MTHK7DUX.js → state-ZOLHKFZD.js} +2 -2
  132. package/dist/chunks/{store-LPOET7IK.js → store-AG3KCS6R.js} +4 -4
  133. package/dist/chunks/{store-EWEKEKSG.js → store-ASOIXVEH.js} +9 -8
  134. package/dist/chunks/{store-XPSGZANO.js → store-WZES4TNW.js} +6 -6
  135. package/dist/chunks/{tui-YMBQLMGW.js → tui-H7MVCBHH.js} +176 -90
  136. package/dist/chunks/tui-H7MVCBHH.js.map +6 -0
  137. package/dist/chunks/{upgrade-3YOFSMAQ.js → upgrade-G2R3EBLE.js} +2 -2
  138. package/dist/chunks/{worktree-VPD2N53Y.js → worktree-YIQTRMAT.js} +11 -10
  139. package/dist/chunks/worktree-YIQTRMAT.js.map +6 -0
  140. package/dist/cli.d.ts.map +1 -1
  141. package/dist/commands/acp.d.ts +1 -1
  142. package/dist/commands/acp.d.ts.map +1 -1
  143. package/dist/commands/desktop-host.d.ts.map +1 -1
  144. package/dist/commands/drain.d.ts.map +1 -1
  145. package/dist/commands/exec-json.d.ts.map +1 -1
  146. package/dist/commands/exec-monitors.d.ts +31 -0
  147. package/dist/commands/exec-monitors.d.ts.map +1 -0
  148. package/dist/commands/exec.d.ts.map +1 -1
  149. package/dist/config/load.d.ts +3 -1
  150. package/dist/config/load.d.ts.map +1 -1
  151. package/dist/config/schema.d.ts +16 -0
  152. package/dist/config/schema.d.ts.map +1 -1
  153. package/dist/doctor/checks/code-analysis.d.ts +9 -0
  154. package/dist/doctor/checks/code-analysis.d.ts.map +1 -0
  155. package/dist/doctor/checks/index.d.ts +2 -1
  156. package/dist/doctor/checks/index.d.ts.map +1 -1
  157. package/dist/index.js +16 -14
  158. package/dist/integrations/analysis/host-entry.d.ts +12 -0
  159. package/dist/integrations/analysis/host-entry.d.ts.map +1 -0
  160. package/dist/integrations/analysis/provider.d.ts +42 -0
  161. package/dist/integrations/analysis/provider.d.ts.map +1 -0
  162. package/dist/integrations/monitors/inbox.d.ts +54 -0
  163. package/dist/integrations/monitors/inbox.d.ts.map +1 -0
  164. package/dist/integrations/resident/runner-worker.js +19 -18
  165. package/dist/integrations/resident/runner-worker.js.map +1 -1
  166. package/dist/integrations/resident/session-step.d.ts.map +1 -1
  167. package/dist/schedule/fire/fire.d.ts.map +1 -1
  168. package/dist/tui/App.d.ts.map +1 -1
  169. package/dist/tui/BackgroundJobsPanel.d.ts.map +1 -1
  170. package/dist/tui/StatusBar.d.ts +5 -1
  171. package/dist/tui/StatusBar.d.ts.map +1 -1
  172. package/dist/tui/agent.d.ts +39 -1
  173. package/dist/tui/agent.d.ts.map +1 -1
  174. package/dist/tui/job-exit-row.d.ts +10 -0
  175. package/dist/tui/job-exit-row.d.ts.map +1 -1
  176. package/dist/tui/types.d.ts +3 -1
  177. package/dist/tui/types.d.ts.map +1 -1
  178. package/package.json +10 -8
  179. package/dist/chunks/acp-Y2WQVKWL.js.map +0 -6
  180. package/dist/chunks/activity-command-UMTER4IK.js.map +0 -6
  181. package/dist/chunks/agent-session-D4Z3TOX3.js +0 -49
  182. package/dist/chunks/archive-FKUQ77FG.js.map +0 -6
  183. package/dist/chunks/chat-YN6WWBI6.js.map +0 -6
  184. package/dist/chunks/chunk-6HDBRUB7.js.map +0 -6
  185. package/dist/chunks/chunk-74WE6T6M.js.map +0 -6
  186. package/dist/chunks/chunk-BUQ7VMBS.js.map +0 -6
  187. package/dist/chunks/chunk-FLUVTAXY.js.map +0 -6
  188. package/dist/chunks/chunk-HHKKHUJK.js.map +0 -6
  189. package/dist/chunks/chunk-I6XWCKKW.js.map +0 -6
  190. package/dist/chunks/chunk-OKB66ICJ.js.map +0 -6
  191. package/dist/chunks/exec-EIELDRPM.js.map +0 -6
  192. package/dist/chunks/host-queries-WFWM672O.js.map +0 -6
  193. package/dist/chunks/message-command-QEQJ25KR.js.map +0 -6
  194. package/dist/chunks/operator-tools-GKYGHHPM.js.map +0 -6
  195. package/dist/chunks/resident-WHH7YQGZ.js.map +0 -6
  196. package/dist/chunks/resume-WR4KOI7Q.js +0 -21
  197. package/dist/chunks/service-IXPGBY3F.js.map +0 -6
  198. package/dist/chunks/session-step-ZZBENVGS.js +0 -26
  199. package/dist/chunks/tui-YMBQLMGW.js.map +0 -6
  200. package/dist/chunks/worktree-VPD2N53Y.js.map +0 -6
  201. /package/dist/chunks/{add-AIDLR6U4.js.map → add-KNRDMCME.js.map} +0 -0
  202. /package/dist/chunks/{agent-C7TDIJ67.js.map → agent-LZDDK3NN.js.map} +0 -0
  203. /package/dist/chunks/{agent-session-D4Z3TOX3.js.map → agent-session-2XPAWSJU.js.map} +0 -0
  204. /package/dist/chunks/{bin-main-EIWOQZCZ.js.map → bin-main-Y2J7CPYI.js.map} +0 -0
  205. /package/dist/chunks/{browser-7P2TABJG.js.map → browser-RVLLK6CN.js.map} +0 -0
  206. /package/dist/chunks/{chunk-EBFWNPMU.js.map → chunk-2TDWK353.js.map} +0 -0
  207. /package/dist/chunks/{chunk-23SR4YFL.js.map → chunk-34IZ6DMB.js.map} +0 -0
  208. /package/dist/chunks/{chunk-5WDPVM7Q.js.map → chunk-37FCG7VX.js.map} +0 -0
  209. /package/dist/chunks/{chunk-F2JKDYHA.js.map → chunk-4GIDESAM.js.map} +0 -0
  210. /package/dist/chunks/{chunk-OVVIFOAR.js.map → chunk-5YERJLR7.js.map} +0 -0
  211. /package/dist/chunks/{chunk-2YPMHUI4.js.map → chunk-A5GALFIC.js.map} +0 -0
  212. /package/dist/chunks/{chunk-DFU5KG3V.js.map → chunk-ABHX2QBJ.js.map} +0 -0
  213. /package/dist/chunks/{chunk-37A6M7P4.js.map → chunk-DRXG4OLL.js.map} +0 -0
  214. /package/dist/chunks/{chunk-Y3UE64PV.js.map → chunk-DS2PIOVD.js.map} +0 -0
  215. /package/dist/chunks/{chunk-GR452YOE.js.map → chunk-DW23UIKM.js.map} +0 -0
  216. /package/dist/chunks/{chunk-DBBWIOQS.js.map → chunk-E6RPYGJP.js.map} +0 -0
  217. /package/dist/chunks/{chunk-3NCL3Y53.js.map → chunk-ERY3CYIM.js.map} +0 -0
  218. /package/dist/chunks/{chunk-HXFPEA6Z.js.map → chunk-GYM3FUBH.js.map} +0 -0
  219. /package/dist/chunks/{chunk-45MA2WMX.js.map → chunk-HFFINVNN.js.map} +0 -0
  220. /package/dist/chunks/{chunk-I3Q53U6H.js.map → chunk-HFMDSVBA.js.map} +0 -0
  221. /package/dist/chunks/{chunk-KSFS3BI7.js.map → chunk-HFUBLJE5.js.map} +0 -0
  222. /package/dist/chunks/{chunk-QCJU5KFR.js.map → chunk-HJBZYFCC.js.map} +0 -0
  223. /package/dist/chunks/{chunk-SEKX6IR5.js.map → chunk-HLHYVGQE.js.map} +0 -0
  224. /package/dist/chunks/{chunk-5GOYK3IN.js.map → chunk-HS3TPTJ3.js.map} +0 -0
  225. /package/dist/chunks/{chunk-QVMTUMTW.js.map → chunk-KSLX3NGM.js.map} +0 -0
  226. /package/dist/chunks/{chunk-ZRAALEF2.js.map → chunk-LO5DFG6H.js.map} +0 -0
  227. /package/dist/chunks/{chunk-L7Q7QNNE.js.map → chunk-M2SQW7DK.js.map} +0 -0
  228. /package/dist/chunks/{chunk-2EDGH6Y3.js.map → chunk-M46XYX7O.js.map} +0 -0
  229. /package/dist/chunks/{chunk-FKLDO6SF.js.map → chunk-MF45FNH3.js.map} +0 -0
  230. /package/dist/chunks/{chunk-MYRLRBZG.js.map → chunk-MUG3SBGU.js.map} +0 -0
  231. /package/dist/chunks/{chunk-XDAMUTVR.js.map → chunk-MULW7FFH.js.map} +0 -0
  232. /package/dist/chunks/{chunk-JH2O55TT.js.map → chunk-N2CP3FIQ.js.map} +0 -0
  233. /package/dist/chunks/{chunk-D7FPVZDC.js.map → chunk-N3YMYKEU.js.map} +0 -0
  234. /package/dist/chunks/{chunk-QU3LGVTZ.js.map → chunk-ND6ZNIUM.js.map} +0 -0
  235. /package/dist/chunks/{chunk-R23DP7S7.js.map → chunk-NYRBM7PR.js.map} +0 -0
  236. /package/dist/chunks/{chunk-BV2SDA2D.js.map → chunk-O6X4O7VQ.js.map} +0 -0
  237. /package/dist/chunks/{chunk-MVGNG67O.js.map → chunk-POEIV6AQ.js.map} +0 -0
  238. /package/dist/chunks/{chunk-KQM2NQ2W.js.map → chunk-PSLRTJU5.js.map} +0 -0
  239. /package/dist/chunks/{chunk-XYXPAVPG.js.map → chunk-QWCASGYH.js.map} +0 -0
  240. /package/dist/chunks/{chunk-ZKI3Z4VR.js.map → chunk-R7HI2NMR.js.map} +0 -0
  241. /package/dist/chunks/{chunk-3SGEHTJ4.js.map → chunk-REBTUQC6.js.map} +0 -0
  242. /package/dist/chunks/{chunk-NKERGDBZ.js.map → chunk-SMAN2IR4.js.map} +0 -0
  243. /package/dist/chunks/{chunk-4GDOFBZF.js.map → chunk-TQGYYDLF.js.map} +0 -0
  244. /package/dist/chunks/{chunk-WWE4W2R6.js.map → chunk-UARWI3TA.js.map} +0 -0
  245. /package/dist/chunks/{chunk-HV4SSQ2Y.js.map → chunk-UI3MX7CC.js.map} +0 -0
  246. /package/dist/chunks/{chunk-X3ZBCYV6.js.map → chunk-VCUPZJDO.js.map} +0 -0
  247. /package/dist/chunks/{chunk-ZRJYG2F2.js.map → chunk-VONRWBC6.js.map} +0 -0
  248. /package/dist/chunks/{chunk-6CQJH56B.js.map → chunk-XBRRTAXP.js.map} +0 -0
  249. /package/dist/chunks/{chunk-UFZGVNFQ.js.map → chunk-XHJMDBRV.js.map} +0 -0
  250. /package/dist/chunks/{cli-runtime-74KKQHC7.js.map → cli-runtime-6MW2CSZV.js.map} +0 -0
  251. /package/dist/chunks/{commands-2Q7KPVLW.js.map → commands-FHJCPYZK.js.map} +0 -0
  252. /package/dist/chunks/{crash-report-KDVWQ2RR.js.map → crash-report-M5Q3DQCN.js.map} +0 -0
  253. /package/dist/chunks/{dist-4TGHKBRS.js.map → dist-33WLKROX.js.map} +0 -0
  254. /package/dist/chunks/{dist-25C2CYHP.js.map → dist-37DNQCWH.js.map} +0 -0
  255. /package/dist/chunks/{dist-ZDSPMZ5S.js.map → dist-4OQCWTIT.js.map} +0 -0
  256. /package/dist/chunks/{dist-UYD7IXG3.js.map → dist-JSQDWJJ7.js.map} +0 -0
  257. /package/dist/chunks/{dist-Q523V5L2.js.map → dist-PRV7KU6K.js.map} +0 -0
  258. /package/dist/chunks/{dist-OMRUSJ5R.js.map → dist-RUF7G2EJ.js.map} +0 -0
  259. /package/dist/chunks/{dist-674RS73L.js.map → dist-XB6XFRHI.js.map} +0 -0
  260. /package/dist/chunks/{doctor-TFION64N.js.map → doctor-UHW2CT5G.js.map} +0 -0
  261. /package/dist/chunks/{eval-TCUVH3S3.js.map → eval-7W7MY7MI.js.map} +0 -0
  262. /package/dist/chunks/{home-FYDAEWNW.js.map → home-OOMHTBCU.js.map} +0 -0
  263. /package/dist/chunks/{lifecycle-ALDBR656.js.map → lifecycle-X3WP7K6J.js.map} +0 -0
  264. /package/dist/chunks/{list-Z4XOJJ7V.js.map → list-YNC6NTUS.js.map} +0 -0
  265. /package/dist/chunks/{login-UZONOHHT.js.map → login-J2W3FTAI.js.map} +0 -0
  266. /package/dist/chunks/{logs-O3NGOQFC.js.map → logs-FBCRI5GX.js.map} +0 -0
  267. /package/dist/chunks/{mcp-YI6PL4TH.js.map → mcp-S6HNWBTQ.js.map} +0 -0
  268. /package/dist/chunks/{output-schema-KXKCYDI4.js.map → output-schema-35UX32FC.js.map} +0 -0
  269. /package/dist/chunks/{pal-2EYYHPXC.js.map → pal-5BVWB3W7.js.map} +0 -0
  270. /package/dist/chunks/{providers-JF5SWSTH.js.map → providers-7VVPQLKS.js.map} +0 -0
  271. /package/dist/chunks/{resume-WR4KOI7Q.js.map → resume-AJ6LESHD.js.map} +0 -0
  272. /package/dist/chunks/{resume-command-A3HKQSRH.js.map → resume-command-LDVO5KIP.js.map} +0 -0
  273. /package/dist/chunks/{schedule-QIJCYWIQ.js.map → schedule-NV5NQSKS.js.map} +0 -0
  274. /package/dist/chunks/{session-step-ZZBENVGS.js.map → session-step-RZEULQKO.js.map} +0 -0
  275. /package/dist/chunks/{skills-AGU7FTRG.js.map → skills-A7XMDZPV.js.map} +0 -0
  276. /package/dist/chunks/{state-MTHK7DUX.js.map → state-ZOLHKFZD.js.map} +0 -0
  277. /package/dist/chunks/{store-EWEKEKSG.js.map → store-AG3KCS6R.js.map} +0 -0
  278. /package/dist/chunks/{store-LPOET7IK.js.map → store-ASOIXVEH.js.map} +0 -0
  279. /package/dist/chunks/{store-XPSGZANO.js.map → store-WZES4TNW.js.map} +0 -0
  280. /package/dist/chunks/{upgrade-3YOFSMAQ.js.map → upgrade-G2R3EBLE.js.map} +0 -0
@@ -2,7 +2,19 @@ import { createRequire as __namzuCreateRequire } from 'node:module';
2
2
  const require = __namzuCreateRequire(import.meta.url);
3
3
  import {
4
4
  reportCrash
5
- } from "./chunk-I3Q53U6H.js";
5
+ } from "./chunk-HFMDSVBA.js";
6
+ import {
7
+ settleAnsweredPark
8
+ } from "./chunk-NYRBM7PR.js";
9
+ import {
10
+ DELIVERY_READ_LIMIT,
11
+ readSourceDeliveryPage,
12
+ takeSuppressedCount
13
+ } from "./chunk-YX2ZK34T.js";
14
+ import {
15
+ callEndpoint,
16
+ readEndpoint
17
+ } from "./chunk-6YG7D7U4.js";
6
18
  import {
7
19
  NAMZU_COMPACT_WORDMARK,
8
20
  NAMZU_MARK_COLOR,
@@ -18,19 +30,8 @@ import {
18
30
  confirmationView,
19
31
  describeChanges,
20
32
  permissionsChanged
21
- } from "./chunk-6CQJH56B.js";
22
- import {
23
- visibleScheduleMessage
24
- } from "./chunk-NADQQMMG.js";
25
- import {
26
- settleAnsweredPark
27
- } from "./chunk-R23DP7S7.js";
33
+ } from "./chunk-XBRRTAXP.js";
28
34
  import "./chunk-GWQEMJFS.js";
29
- import {
30
- DELIVERY_READ_LIMIT,
31
- readSourceDeliveryPage,
32
- takeSuppressedCount
33
- } from "./chunk-WMOYTZXD.js";
34
35
  import {
35
36
  DEFAULT_MAX_ITERATIONS,
36
37
  DEFAULT_TIMEOUT_MS,
@@ -43,35 +44,31 @@ import {
43
44
  runsPerDay,
44
45
  scriptShellUnavailableReason,
45
46
  verifyScheduledScript
46
- } from "./chunk-XDAMUTVR.js";
47
+ } from "./chunk-MULW7FFH.js";
47
48
  import {
48
49
  callsCount
49
50
  } from "./chunk-E5VLANCO.js";
51
+ import {
52
+ visibleScheduleMessage
53
+ } from "./chunk-NADQQMMG.js";
50
54
  import {
51
55
  allowsCommands,
52
56
  compileJobPolicy,
53
57
  compileScriptCheckPolicy,
54
58
  isPresetName
55
- } from "./chunk-XYXPAVPG.js";
56
- import "./chunk-KSFS3BI7.js";
59
+ } from "./chunk-QWCASGYH.js";
60
+ import "./chunk-HFUBLJE5.js";
57
61
  import {
58
62
  formatResumeShellCommand,
59
63
  parkedRunWords,
60
64
  resumeCommand
61
- } from "./chunk-5WDPVM7Q.js";
65
+ } from "./chunk-37FCG7VX.js";
62
66
  import {
63
67
  appendHistory,
64
68
  nextFireOf,
65
69
  readHistory,
66
70
  readState
67
- } from "./chunk-MVGNG67O.js";
68
- import {
69
- setUserConfigValue
70
- } from "./chunk-45MA2WMX.js";
71
- import {
72
- callEndpoint,
73
- readEndpoint
74
- } from "./chunk-6YG7D7U4.js";
71
+ } from "./chunk-POEIV6AQ.js";
75
72
  import {
76
73
  TURN_LIMIT_FIELDS,
77
74
  baseBranchReviewPrompt,
@@ -94,11 +91,14 @@ import {
94
91
  turnLimitCommands,
95
92
  wrapBalancedText,
96
93
  wrapChoiceText
97
- } from "./chunk-3SGEHTJ4.js";
94
+ } from "./chunk-REBTUQC6.js";
98
95
  import {
99
96
  handleTerminationSignals
100
- } from "./chunk-NKERGDBZ.js";
97
+ } from "./chunk-SMAN2IR4.js";
101
98
  import "./chunk-TBIX6JRE.js";
99
+ import {
100
+ setUserConfigValue
101
+ } from "./chunk-HFFINVNN.js";
102
102
  import {
103
103
  describeAllCredentialsLogout,
104
104
  describeCodexDeviceLoginStart,
@@ -123,21 +123,21 @@ import {
123
123
  withAutoChoice,
124
124
  withDebugDetail,
125
125
  writeConversationExport
126
- } from "./chunk-MYRLRBZG.js";
126
+ } from "./chunk-MUG3SBGU.js";
127
127
  import {
128
128
  tuiPalDefinition,
129
129
  tuiPalEnvironment,
130
130
  tuiPalOwner,
131
131
  tuiPalPreferences
132
- } from "./chunk-QU3LGVTZ.js";
133
- import "./chunk-HV4SSQ2Y.js";
134
- import "./chunk-ZWA2JRJV.js";
135
- import "./chunk-KQM2NQ2W.js";
136
- import "./chunk-QCJU5KFR.js";
132
+ } from "./chunk-ND6ZNIUM.js";
133
+ import "./chunk-PSLRTJU5.js";
134
+ import "./chunk-UI3MX7CC.js";
135
+ import "./chunk-HJBZYFCC.js";
137
136
  import {
138
137
  claimPalConversation,
139
138
  listPalConversations
140
- } from "./chunk-F2JKDYHA.js";
139
+ } from "./chunk-4GIDESAM.js";
140
+ import "./chunk-ZWA2JRJV.js";
141
141
  import {
142
142
  DEFAULT_AGENT_PHASE,
143
143
  DEFAULT_AGENT_WORKFLOW,
@@ -176,24 +176,20 @@ import {
176
176
  webCallTitle,
177
177
  webLiveStatus,
178
178
  webSettledLine
179
- } from "./chunk-6HDBRUB7.js";
180
- import {
181
- openManagedWorktrees,
182
- worktreeOpenHint
183
- } from "./chunk-3NCL3Y53.js";
179
+ } from "./chunk-GEB3OP2H.js";
184
180
  import {
185
181
  describePlainInterruption,
186
182
  describeProviderWait,
187
183
  describeProviderWaitClock
188
- } from "./chunk-BV2SDA2D.js";
184
+ } from "./chunk-O6X4O7VQ.js";
185
+ import {
186
+ openManagedWorktrees,
187
+ worktreeOpenHint
188
+ } from "./chunk-ERY3CYIM.js";
189
+ import "./chunk-MF45FNH3.js";
189
190
  import {
190
191
  describeBrowserStatus
191
192
  } from "./chunk-WHODOMXA.js";
192
- import "./chunk-JH2O55TT.js";
193
- import {
194
- openInBrowser
195
- } from "./chunk-UFZGVNFQ.js";
196
- import "./chunk-FKLDO6SF.js";
197
193
  import {
198
194
  SAVE_SKILL_TOOL_NAME,
199
195
  SKILL_CREATOR_SKILL,
@@ -209,12 +205,17 @@ import {
209
205
  newSkillPrompt,
210
206
  resolveTurnGuards,
211
207
  runTokens
212
- } from "./chunk-4GDOFBZF.js";
208
+ } from "./chunk-TQGYYDLF.js";
209
+ import "./chunk-N2CP3FIQ.js";
210
+ import {
211
+ openInBrowser
212
+ } from "./chunk-XHJMDBRV.js";
213
+ import "./chunk-NUGPLXVK.js";
213
214
  import {
214
215
  beginCodexDeviceLogin,
215
216
  beginSubscriptionLogin,
216
217
  parsePastedInput
217
- } from "./chunk-DFU5KG3V.js";
218
+ } from "./chunk-ABHX2QBJ.js";
218
219
  import {
219
220
  NO_SKILLS_FOUND,
220
221
  composeSkillsPrompt,
@@ -222,8 +223,11 @@ import {
222
223
  loadSkillBody,
223
224
  renderSkillRoster,
224
225
  skillTierLabel
225
- } from "./chunk-DBBWIOQS.js";
226
- import "./chunk-NUGPLXVK.js";
226
+ } from "./chunk-E6RPYGJP.js";
227
+ import {
228
+ pinTrustedProjectPath,
229
+ resolveTrustedProjectContext
230
+ } from "./chunk-CHIEVVQ2.js";
227
231
  import {
228
232
  readManifest
229
233
  } from "./chunk-AK2U3N2A.js";
@@ -239,17 +243,13 @@ import {
239
243
  import {
240
244
  writeJsonAtomic
241
245
  } from "./chunk-OEW7CJKK.js";
242
- import {
243
- schedulePaths
244
- } from "./chunk-A22MBIYU.js";
246
+ import "./chunk-HE7WUOX2.js";
245
247
  import {
246
248
  EXIT_INTERNAL_ERROR
247
249
  } from "./chunk-Y7B67G22.js";
248
250
  import {
249
- pinTrustedProjectPath,
250
- resolveTrustedProjectContext
251
- } from "./chunk-CHIEVVQ2.js";
252
- import "./chunk-HE7WUOX2.js";
251
+ schedulePaths
252
+ } from "./chunk-A22MBIYU.js";
253
253
  import {
254
254
  debugRequested
255
255
  } from "./chunk-GNBMKISG.js";
@@ -262,11 +262,11 @@ import {
262
262
  loadConfigWithProvenance,
263
263
  readPermissionLayers,
264
264
  resolveComposerTriggers
265
- } from "./chunk-YCVR5E2Z.js";
265
+ } from "./chunk-72TESSG2.js";
266
266
  import "./chunk-KONYGNG6.js";
267
267
  import {
268
268
  formatConfigSource
269
- } from "./chunk-ZKI3Z4VR.js";
269
+ } from "./chunk-R7HI2NMR.js";
270
270
  import {
271
271
  displayPath,
272
272
  formatSize,
@@ -279,6 +279,7 @@ import {
279
279
  stringWidth,
280
280
  stripAnsi
281
281
  } from "./chunk-US5ZFPAU.js";
282
+ import "./chunk-YDD74UVE.js";
282
283
  import {
283
284
  automaticChoice,
284
285
  automaticKind,
@@ -290,7 +291,7 @@ import {
290
291
  primaryProvider,
291
292
  signedInSubscriptionProviders,
292
293
  writePreferences
293
- } from "./chunk-SEKX6IR5.js";
294
+ } from "./chunk-HLHYVGQE.js";
294
295
  import {
295
296
  ALL_PROVIDER_IDS,
296
297
  PROVIDER_REGISTRY,
@@ -300,20 +301,20 @@ import {
300
301
  } from "./chunk-6LLJQ3KY.js";
301
302
  import {
302
303
  applyProviderFlags
303
- } from "./chunk-L7Q7QNNE.js";
304
+ } from "./chunk-M2SQW7DK.js";
304
305
  import "./chunk-XEUQN4JC.js";
305
306
  import {
306
307
  PAUSED_TURN_LINES,
307
308
  currentTimeLine,
308
309
  describeTurnStop,
309
310
  handoffContinuationNote
310
- } from "./chunk-HXFPEA6Z.js";
311
+ } from "./chunk-GYM3FUBH.js";
311
312
  import {
312
313
  bypassAvailableAtLaunch,
313
314
  nextCycleMode,
314
315
  permissionModeDescription,
315
316
  permissionModeLabel
316
- } from "./chunk-D7FPVZDC.js";
317
+ } from "./chunk-N3YMYKEU.js";
317
318
  import {
318
319
  terminalDisplayText
319
320
  } from "./chunk-EEDZOGV4.js";
@@ -338,23 +339,24 @@ import {
338
339
  titlesOf,
339
340
  typedTextOf,
340
341
  unarchiveConversation
341
- } from "./chunk-I6XWCKKW.js";
342
+ } from "./chunk-KK73BCYK.js";
342
343
  import "./chunk-H6B6AROX.js";
343
- import "./chunk-HHKKHUJK.js";
344
+ import "./chunk-V6NJWYMP.js";
345
+ import "./chunk-DRXG4OLL.js";
346
+ import {
347
+ isTrusted,
348
+ trustDir
349
+ } from "./chunk-DW23UIKM.js";
344
350
  import "./chunk-LXB3S4IC.js";
345
- import "./chunk-QVMTUMTW.js";
351
+ import "./chunk-KSLX3NGM.js";
346
352
  import {
347
353
  contextLogging,
348
354
  installCliLogging
349
- } from "./chunk-23SR4YFL.js";
355
+ } from "./chunk-34IZ6DMB.js";
350
356
  import "./chunk-OH6TB27S.js";
351
357
  import "./chunk-U3JIZFOS.js";
352
358
  import "./chunk-TCXFKEYW.js";
353
- import "./chunk-37A6M7P4.js";
354
- import {
355
- isTrusted,
356
- trustDir
357
- } from "./chunk-GR452YOE.js";
359
+ import "./chunk-T5GKAQHN.js";
358
360
  import "./chunk-JORONMD3.js";
359
361
  import {
360
362
  clearAllStoredCredentials,
@@ -368,8 +370,8 @@ import {
368
370
  readStoredSubscriptionCredential,
369
371
  restrictToOwner,
370
372
  writeStoredGeminiApiKey
371
- } from "./chunk-ZRAALEF2.js";
372
- import "./chunk-WWE4W2R6.js";
373
+ } from "./chunk-LO5DFG6H.js";
374
+ import "./chunk-UARWI3TA.js";
373
375
  import {
374
376
  ACCEPT_EDITS_TOOLS,
375
377
  DECLINED_TOOL_CALL_FEEDBACK,
@@ -378,6 +380,7 @@ import {
378
380
  DiskSessionLog,
379
381
  GoalRoundLimitError,
380
382
  HostCommandRegistry,
383
+ MONITOR_TOOL_NAME,
381
384
  PEER_PROTOCOL_VERSION,
382
385
  PeerClient,
383
386
  REVIEW_EXEMPT_WRITES,
@@ -396,6 +399,7 @@ import {
396
399
  createUserMessage,
397
400
  defineTool,
398
401
  derivePeerRef,
402
+ describeMonitorEnd,
399
403
  describeSchedule,
400
404
  execHostShell,
401
405
  findPendingCheckpoint,
@@ -426,7 +430,7 @@ import {
426
430
  validateTimeZone,
427
431
  wrapUntrusted,
428
432
  writePeerRecord
429
- } from "./chunk-FLUVTAXY.js";
433
+ } from "./chunk-77AX2GEP.js";
430
434
  import {
431
435
  __commonJS,
432
436
  __export,
@@ -36366,7 +36370,11 @@ function metaColor(meta) {
36366
36370
  }
36367
36371
  __name(metaColor, "metaColor");
36368
36372
  function statusText(job) {
36369
- if (job.status === "running") return "running";
36373
+ if (job.status === "running") return job.kind === "monitor" ? "watching" : "running";
36374
+ if (job.kind === "monitor") {
36375
+ if (job.stopReason === "expired") return "ran out of time";
36376
+ if (job.stopReason === "too_much_output") return "stopped: it printed too much";
36377
+ }
36370
36378
  if (job.status === "killed") return "stopped";
36371
36379
  if (job.exitCode === void 0) return "ended";
36372
36380
  return `${job.exitCode === 0 ? "completed" : "failed"} (exit code ${job.exitCode})`;
@@ -36394,6 +36402,10 @@ function maxBackgroundJobTailOffset(output, rows, columns) {
36394
36402
  );
36395
36403
  }
36396
36404
  __name(maxBackgroundJobTailOffset, "maxBackgroundJobTailOffset");
36405
+ function jobLabel(job) {
36406
+ return job.kind === "monitor" ? `Monitoring: ${job.description ?? job.command}` : job.command;
36407
+ }
36408
+ __name(jobLabel, "jobLabel");
36397
36409
  function oneLine2(command) {
36398
36410
  return terminalDisplayText(command).replace(/\s+/gu, " ").trim();
36399
36411
  }
@@ -36425,7 +36437,8 @@ function BackgroundJobsPanel({
36425
36437
  busyJobId = null,
36426
36438
  notice = null
36427
36439
  }) {
36428
- const running = jobs.filter((job) => job.status === "running").length;
36440
+ const running = jobs.filter((job) => job.status === "running" && job.kind !== "monitor").length;
36441
+ const watching = jobs.filter((job) => job.status === "running" && job.kind === "monitor").length;
36429
36442
  const selected = jobs.find((job) => job.id === selectedJobId) ?? jobs[0];
36430
36443
  const detailed = detailJobId ? jobs.find((job) => job.id === detailJobId) : void 0;
36431
36444
  const innerColumns = Math.max(1, columns - 6);
@@ -36458,7 +36471,10 @@ function BackgroundJobsPanel({
36458
36471
  paddingX: 1,
36459
36472
  children: [
36460
36473
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { bold: true, color: theme.accent.system, wrap: "truncate-end", children: "Background" }),
36461
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: theme.text.muted, wrap: "truncate-end", children: `${running} active ${running === 1 ? "shell" : "shells"}` }),
36474
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: theme.text.muted, wrap: "truncate-end", children: [
36475
+ `${running} active ${running === 1 ? "shell" : "shells"}`,
36476
+ ...watching > 0 ? [`${watching} ${watching === 1 ? "monitor" : "monitors"}`] : []
36477
+ ].join(" \xB7 ") }),
36462
36478
  jobs.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: theme.text.secondary, children: "No tasks currently running" }) : shown.map((job) => {
36463
36479
  const focused = job.id === selected?.id;
36464
36480
  const meta = jobMeta(job);
@@ -36470,7 +36486,7 @@ function BackgroundJobsPanel({
36470
36486
  META_ICON[meta],
36471
36487
  " "
36472
36488
  ] }),
36473
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: focused ? theme.accent.user : theme.text.secondary, children: truncateChoiceText(oneLine2(job.command), room) }),
36489
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: focused ? theme.accent.user : theme.text.secondary, children: truncateChoiceText(oneLine2(jobLabel(job)), room) }),
36474
36490
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: theme.text.muted, children: tail })
36475
36491
  ] }, job.id);
36476
36492
  }),
@@ -36512,7 +36528,7 @@ function BackgroundJobsPanel({
36512
36528
  innerColumns
36513
36529
  );
36514
36530
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box_default, { flexDirection: "column", borderStyle: "single", borderColor: theme.border.focus, paddingX: 1, children: [
36515
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { bold: true, color: theme.accent.system, wrap: "truncate-end", children: "Shell details" }),
36531
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { bold: true, color: theme.accent.system, wrap: "truncate-end", children: detailed.kind === "monitor" ? "Monitor details" : "Shell details" }),
36516
36532
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { wrap: "truncate-end", children: [
36517
36533
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { bold: true, children: "Status: " }),
36518
36534
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: metaColor(jobMeta(detailed)), children: truncateChoiceText(
@@ -36524,6 +36540,10 @@ function BackgroundJobsPanel({
36524
36540
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { bold: true, children: "Runtime: " }),
36525
36541
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: elapsed(detailed, now) })
36526
36542
  ] }),
36543
+ detailed.kind === "monitor" ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { wrap: "truncate-end", children: [
36544
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { bold: true, children: "Watching: " }),
36545
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: truncateChoiceText(oneLine2(detailed.description ?? ""), innerColumns - 10) })
36546
+ ] }) : null,
36527
36547
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { bold: true, children: "Command:" }),
36528
36548
  commandRows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: theme.text.primary, wrap: "truncate-end", children: row.text || " " }, row.index)),
36529
36549
  commandMore ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: theme.text.muted, children: "\u2026 command continues" }) : null,
@@ -44939,6 +44959,14 @@ var PR_COLOR = {
44939
44959
  merged: theme.status.merged,
44940
44960
  draft: null
44941
44961
  };
44962
+ function backgroundPill(shells, monitors) {
44963
+ const parts = [
44964
+ shells > 0 ? `${shells} ${shells === 1 ? "shell" : "shells"}` : null,
44965
+ monitors > 0 ? `${monitors} ${monitors === 1 ? "monitor" : "monitors"}` : null
44966
+ ].filter((part) => part !== null);
44967
+ return parts.length > 0 ? parts.join(" \xB7 ") : null;
44968
+ }
44969
+ __name(backgroundPill, "backgroundPill");
44942
44970
  function StatusBar({
44943
44971
  provider,
44944
44972
  model,
@@ -44951,6 +44979,7 @@ function StatusBar({
44951
44979
  composerMounted = true,
44952
44980
  restingHint = true,
44953
44981
  shellCount = 0,
44982
+ monitorCount = 0,
44954
44983
  pr,
44955
44984
  hyperlinks = false,
44956
44985
  agentCount = 0,
@@ -44963,7 +44992,7 @@ function StatusBar({
44963
44992
  const activeMode = permissionMode !== void 0 && permissionMode !== "prompt" ? modeGlyph(permissionMode) : null;
44964
44993
  const working = state !== "idle";
44965
44994
  const hasPr = pr !== void 0 && pr.kind !== "none";
44966
- const nothingElse = !activeMode && shellCount === 0 && !hasPr && agentCount === 0 && !canManage && !shellsSelected;
44995
+ const nothingElse = !activeMode && shellCount + monitorCount === 0 && !hasPr && agentCount === 0 && !canManage && !shellsSelected;
44967
44996
  const layout = fitStatusLine({
44968
44997
  // App gives the footer one cell of horizontal padding on each side. Ink's
44969
44998
  // stdout width is the whole terminal, so reserve those cells here rather
@@ -44979,12 +45008,12 @@ function StatusBar({
44979
45008
  modeLabel: activeMode ? `${activeMode.icon} ${activeMode.label} on` : composerMounted && restingHint && !working && nothingElse ? QUIET_MODE_HINT : "",
44980
45009
  // The reference drops the cycle key as soon as a background task is on
44981
45010
  // the row: the pill is what the row is about then.
44982
- cycleSuffix: activeMode && canCycleMode && composerMounted && shellCount === 0 ? CYCLE_SUFFIX : null,
45011
+ cycleSuffix: activeMode && canCycleMode && composerMounted && shellCount + monitorCount === 0 ? CYCLE_SUFFIX : null,
44983
45012
  interrupt: working && !hint ? INTERRUPT_HINT : null,
44984
45013
  context: contextMeter2?.text ?? null,
44985
- shells: shellCount > 0 ? `${shellCount} ${shellCount === 1 ? "shell" : "shells"}` : null,
45014
+ shells: backgroundPill(shellCount, monitorCount),
44986
45015
  agents: agentCount > 0 ? `\u2190 ${agentCount > 99 ? "99+" : agentCount} ${agentCount === 1 ? "agent" : "agents"}` : null,
44987
- manage: shellsSelected && shellCount > 0 ? VIEW_SHELLS_HINT : canManage ? MANAGE_HINT : null,
45016
+ manage: shellsSelected && shellCount + monitorCount > 0 ? VIEW_SHELLS_HINT : canManage ? MANAGE_HINT : null,
44988
45017
  pr: pr === void 0 || pr.kind === "none" ? null : pr.kind === "pr" ? { prefix: "PR", label: `#${pr.number}` } : { prefix: null, label: pr.text }
44989
45018
  });
44990
45019
  const sep2 = /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Text, { color: theme.text.muted, children: " \xB7 " });
@@ -47346,6 +47375,28 @@ function jobExitRow(job) {
47346
47375
  return { text: `${label} failed with ${how}`, color: theme.status.error, ...meta };
47347
47376
  }
47348
47377
  __name(jobExitRow, "jobExitRow");
47378
+ function monitorEndRow(job, stats) {
47379
+ const end = describeMonitorEnd(job, stats);
47380
+ const meta = job.exitedAt === void 0 ? {} : { meta: runtime(job.exitedAt - job.startedAt) };
47381
+ const label = job.description ?? "unnamed";
47382
+ if (job.stopReason === "expired") {
47383
+ return {
47384
+ text: `Monitoring "${label}" ran out of time`,
47385
+ color: theme.status.warn,
47386
+ ...meta
47387
+ };
47388
+ }
47389
+ if (job.stopReason === "too_much_output") {
47390
+ return {
47391
+ text: `Monitoring "${label}" stopped: it printed too much`,
47392
+ color: theme.status.warn,
47393
+ ...meta
47394
+ };
47395
+ }
47396
+ const color = end.status === "completed" ? theme.status.ok : end.status === "failed" ? theme.status.error : theme.status.warn;
47397
+ return { text: end.summary, color, ...meta };
47398
+ }
47399
+ __name(monitorEndRow, "monitorEndRow");
47349
47400
 
47350
47401
  // src/tui/launch-settings.ts
47351
47402
  function choosesModel(settings) {
@@ -51029,6 +51080,7 @@ function App2({
51029
51080
  ${lines.map((l) => `- ${l}`).join("\n")}`
51030
51081
  };
51031
51082
  }, "snapshotIdleJobNotices");
51083
+ const snapshotMonitorNotices = /* @__PURE__ */ __name(() => session?.monitors?.peek() ?? { ids: [] }, "snapshotMonitorNotices");
51032
51084
  const operatorShellRef = (0, import_react52.useRef)([]);
51033
51085
  const drainOperatorShell = /* @__PURE__ */ __name(() => {
51034
51086
  if (operatorShellRef.current.length === 0) return void 0;
@@ -51048,9 +51100,21 @@ ${blocks.join("\n\n")}`;
51048
51100
  idleJobNoticesRef.current = notices;
51049
51101
  setJobSnapshot({ ownerSession: session, jobs: session?.jobs?.() ?? [] });
51050
51102
  if (!session?.onJobExit) return;
51051
- return session.onJobExit((job) => {
51103
+ const offMonitors = session.monitors?.onChange(() => {
51104
+ if (previousSessionRef.current !== session) return;
51105
+ setNoticeVersion((version) => version + 1);
51106
+ });
51107
+ const offExits = session.onJobExit((job) => {
51052
51108
  if (previousSessionRef.current !== session || idleJobNoticesRef.current !== notices) return;
51053
51109
  setJobSnapshot({ ownerSession: session, jobs: session.jobs?.() ?? [] });
51110
+ if (job.kind === "monitor") {
51111
+ if (!notices.shown.has(job.id)) {
51112
+ notices.shown.add(job.id);
51113
+ const row = monitorEndRow(job, session.monitors?.stats(job.id) ?? { stdoutChars: 0 });
51114
+ pushMessage("system", row.text, false, "\u25CF", void 0, row.color, row.meta);
51115
+ }
51116
+ return;
51117
+ }
51054
51118
  const text = describeJobExit({
51055
51119
  jobId: job.id,
51056
51120
  command: job.command,
@@ -51075,6 +51139,10 @@ ${blocks.join("\n\n")}`;
51075
51139
  pushMessage("system", row.text, false, "\u25CF", void 0, row.color, row.meta);
51076
51140
  }
51077
51141
  });
51142
+ return () => {
51143
+ offMonitors?.();
51144
+ offExits();
51145
+ };
51078
51146
  }, [session]);
51079
51147
  const workflowNoticesRef = (0, import_react52.useRef)(/* @__PURE__ */ new Map());
51080
51148
  const childMessagesRef = (0, import_react52.useRef)(/* @__PURE__ */ new Map());
@@ -53318,6 +53386,8 @@ ${blocks.join("\n\n")}`;
53318
53386
  // The browser tools, when the config did not switch them off. The
53319
53387
  // profile is the one `/browser profile` chose, else the config's.
53320
53388
  ...browserOptions ? { browser: browserOptions } : {},
53389
+ // The code index tool: on unless the config switched it off.
53390
+ ...activeCtx.codeAnalysis?.enabled === false ? {} : { codeAnalysis: activeCtx.codeAnalysis ?? {} },
53321
53391
  rules: activeCtx.rules,
53322
53392
  ...sessionsRef.current ? {
53323
53393
  sessionGoals: sessionsRef.current.goals,
@@ -53860,8 +53930,13 @@ ${blocks.join("\n\n")}`;
53860
53930
  }
53861
53931
  }, [activateTrustedProject, pushMessage, runProbe]);
53862
53932
  const finalized = messages.filter((m) => !m.pending);
53863
- const runningShellCount = backgroundJobs.filter((job) => job.status === "running").length;
53864
- shellCountRef.current = runningShellCount;
53933
+ const runningShellCount = backgroundJobs.filter(
53934
+ (job) => job.status === "running" && job.kind !== "monitor"
53935
+ ).length;
53936
+ const runningMonitorCount = backgroundJobs.filter(
53937
+ (job) => job.status === "running" && job.kind === "monitor"
53938
+ ).length;
53939
+ shellCountRef.current = runningShellCount + runningMonitorCount;
53865
53940
  const prStatus = usePrStatus({
53866
53941
  cwd: ctx.cwd,
53867
53942
  enabled: stdout.isTTY === true && phase !== "trust",
@@ -55403,7 +55478,7 @@ ${blocks.join("\n\n")}`;
55403
55478
  break;
55404
55479
  }
55405
55480
  case "tool-end": {
55406
- if (event.toolName === "bash" || event.toolName === "job")
55481
+ if (event.toolName === "bash" || event.toolName === "job" || event.toolName === MONITOR_TOOL_NAME)
55407
55482
  setJobSnapshot({
55408
55483
  ownerSession: previousSessionRef.current,
55409
55484
  jobs: previousSessionRef.current?.jobs?.() ?? []
@@ -55877,13 +55952,15 @@ When that is done, press Enter to continue \xB7 Esc to stop.`,
55877
55952
  jobs.pending.delete(id);
55878
55953
  wakeJobIdsRef.current.delete(id);
55879
55954
  }
55880
- if (ended.length === 0 && jobLines.length === 0) {
55955
+ const monitorNotice = session?.monitors?.take();
55956
+ if (ended.length === 0 && jobLines.length === 0 && !monitorNotice?.text) {
55881
55957
  setState("idle");
55882
55958
  return;
55883
55959
  }
55884
55960
  if (ended.length === 0) noticeKind = "job-exit";
55885
55961
  text = [
55886
55962
  ...ended,
55963
+ ...monitorNotice?.text ? [monitorNotice.text] : [],
55887
55964
  ...jobLines.length > 0 ? [`Background jobs that ended:
55888
55965
  ${jobLines.map(([, line]) => `- ${line}`).join("\n")}`] : []
55889
55966
  ].join("\n\n");
@@ -56149,12 +56226,16 @@ ${jobLines.map(([, line]) => `- ${line}`).join("\n")}`] : []
56149
56226
  let idleNoticeSnapshot = {
56150
56227
  ids: []
56151
56228
  };
56229
+ let monitorSnapshot = {
56230
+ ids: []
56231
+ };
56152
56232
  let childNoticeSnapshot = /* @__PURE__ */ new Map();
56153
56233
  let workflowNoticeSnapshot = /* @__PURE__ */ new Map();
56154
56234
  let childMessageSnapshot = /* @__PURE__ */ new Map();
56155
56235
  try {
56156
56236
  if (admitted && !ac.signal.aborted && stillHere() && activeTurnTokenRef.current === turnToken && (!goalRound || destination === goalRound.sessionId && goalActivation.isArmed(goalRound.sessionId, goalRound))) {
56157
56237
  idleNoticeSnapshot = snapshotIdleJobNotices();
56238
+ monitorSnapshot = snapshotMonitorNotices();
56158
56239
  childNoticeSnapshot = new Map(directChildNoticesRef.current);
56159
56240
  workflowNoticeSnapshot = new Map(workflowNoticesRef.current);
56160
56241
  childMessageSnapshot = new Map(childMessagesRef.current);
@@ -56186,6 +56267,7 @@ ${jobLines.map(([, line]) => `- ${line}`).join("\n")}`] : []
56186
56267
  hostContext: /* @__PURE__ */ __name(() => [
56187
56268
  ...st.contextTexts ?? [],
56188
56269
  idleNoticeSnapshot.text,
56270
+ monitorSnapshot.text,
56189
56271
  workflowNoticeSnapshot.size > 0 ? `Workflows that ended since your last turn:
56190
56272
 
56191
56273
  ${[...workflowNoticeSnapshot.values()].join("\n\n")}` : void 0,
@@ -56307,6 +56389,9 @@ ${[...workflowNoticeSnapshot.values()].join("\n\n")}` : void 0,
56307
56389
  for (const id of workflowNoticeSnapshot.keys()) workflowNoticesRef.current.delete(id);
56308
56390
  for (const id of childMessageSnapshot.keys()) childMessagesRef.current.delete(id);
56309
56391
  }
56392
+ if (st.completed && monitorSnapshot.ids.length > 0) {
56393
+ session?.monitors?.acknowledge(monitorSnapshot.ids);
56394
+ }
56310
56395
  if (st.completed && idleJobNoticesRef.current.ownerSession === session) {
56311
56396
  for (const id of idleNoticeSnapshot.ids) idleJobNoticesRef.current.pending.delete(id);
56312
56397
  }
@@ -58288,7 +58373,7 @@ ${plugins.map((plugin) => {
58288
58373
  if (phase !== "ready" || state !== "idle" || abortRef.current || hasUnsettledTurn() || queuePauseRef.current || pendingModelSwitchRef.current || conversationMutationRef.current || textPromptRef.current || choicePickerRef.current || copyPickerRef.current || exportingRef.current || compactingRef.current || goalCommandInFlightRef.current || queuedRef.current.some((prompt) => prompt.kind === "notice"))
58289
58374
  return;
58290
58375
  const jobs = idleJobNoticesRef.current;
58291
- const waiting = workflowNoticesRef.current.size > 0 || childMessagesRef.current.size > 0 || jobs.ownerSession === session && [...jobs.pending.keys()].some((id) => wakeJobIdsRef.current.has(id));
58376
+ const waiting = workflowNoticesRef.current.size > 0 || childMessagesRef.current.size > 0 || jobs.ownerSession === session && [...jobs.pending.keys()].some((id) => wakeJobIdsRef.current.has(id)) || session?.monitors?.wakes() === true;
58292
58377
  if (!waiting) return;
58293
58378
  enqueueQueued({
58294
58379
  kind: "notice",
@@ -59506,6 +59591,7 @@ ${lines.join("\n")}`);
59506
59591
  composerMounted: showComposerSurface,
59507
59592
  restingHint: ctx.statusLine === void 0,
59508
59593
  shellCount: showComposerSurface && !childSurfaceOpen ? runningShellCount : 0,
59594
+ monitorCount: showComposerSurface && !childSurfaceOpen ? runningMonitorCount : 0,
59509
59595
  pr: prStatus,
59510
59596
  hyperlinks,
59511
59597
  agentCount: footerKeysLive ? runningAgentCount : 0,
@@ -60153,4 +60239,4 @@ react/cjs/react-jsx-runtime.development.js:
60153
60239
  * LICENSE file in the root directory of this source tree.
60154
60240
  *)
60155
60241
  */
60156
- //# sourceMappingURL=tui-YMBQLMGW.js.map
60242
+ //# sourceMappingURL=tui-H7MVCBHH.js.map