@namzu/cli 37.1.0 → 37.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 (250) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/bin.js +1 -1
  3. package/dist/chunks/{acp-T46275W3.js → acp-IV4G4DDN.js} +55 -51
  4. package/dist/chunks/{acp-T46275W3.js.map → acp-IV4G4DDN.js.map} +1 -1
  5. package/dist/chunks/{activity-command-U3KHRDTY.js → activity-command-FW57BC4I.js} +14 -14
  6. package/dist/chunks/{add-Q2HPE26F.js → add-MGR37R67.js} +22 -22
  7. package/dist/chunks/{agent-KSRUGF37.js → agent-W75JSUKG.js} +26 -26
  8. package/dist/chunks/agent-session-DPXU4EEF.js +51 -0
  9. package/dist/chunks/{archive-NQ527SKW.js → archive-KEMEXDTF.js} +9 -9
  10. package/dist/chunks/{bin-main-72QPYEQ5.js → bin-main-CSS47L7D.js} +5 -5
  11. package/dist/chunks/{browser-NQAXUNRS.js → browser-7KFOR6DK.js} +6 -6
  12. package/dist/chunks/{chat-QSA5IBTG.js → chat-IRV5W5OA.js} +14 -14
  13. package/dist/chunks/{chunk-TI7LE6F5.js → chunk-24GH4KQJ.js} +2 -2
  14. package/dist/chunks/{chunk-MOI4XD5Z.js → chunk-2UHRQ45K.js} +12 -12
  15. package/dist/chunks/{chunk-OYJCMNOO.js → chunk-3MUR66WZ.js} +6 -6
  16. package/dist/chunks/{chunk-VEOIRZH4.js → chunk-3NPQFAYV.js} +2 -2
  17. package/dist/chunks/{chunk-7INJDLWA.js → chunk-57GLVV5T.js} +4 -4
  18. package/dist/chunks/{chunk-MB4SLACG.js → chunk-5E5AT2HQ.js} +2 -2
  19. package/dist/chunks/{chunk-TTCXFX6V.js → chunk-5M256BI5.js} +5 -5
  20. package/dist/chunks/{devtools-LBE4PAQN.js → chunk-7AZTWFS7.js} +12 -84
  21. package/dist/chunks/{devtools-LBE4PAQN.js.map → chunk-7AZTWFS7.js.map} +2 -2
  22. package/dist/chunks/{chunk-4WDWLAQ5.js → chunk-AHD7MEBE.js} +12 -12
  23. package/dist/chunks/{chunk-LZISO3TE.js → chunk-BGRWTZGG.js} +3 -3
  24. package/dist/chunks/{chunk-J4IRSWAS.js → chunk-BHUDDJYS.js} +2 -2
  25. package/dist/chunks/{chunk-6USAI7O7.js → chunk-BLDYNZ3J.js} +2 -2
  26. package/dist/chunks/{chunk-XB7HBRSL.js → chunk-BMR6E2FY.js} +2 -2
  27. package/dist/chunks/{chunk-ZNO7XIZU.js → chunk-DIXKMLHZ.js} +3 -3
  28. package/dist/chunks/{chunk-HKUWS2WO.js → chunk-E73OMVMG.js} +3 -3
  29. package/dist/chunks/{chunk-NIBOMW4E.js → chunk-EZOZQJBG.js} +4 -4
  30. package/dist/chunks/{chunk-AEWKXISZ.js → chunk-GHF6GJ5Y.js} +13 -13
  31. package/dist/chunks/{chunk-GSZCV2P3.js → chunk-HGADGGEG.js} +2 -2
  32. package/dist/chunks/{chunk-GXQAMIQA.js → chunk-HWR7GXGJ.js} +3 -3
  33. package/dist/chunks/{chunk-2GTBCI2R.js → chunk-I77G3ACY.js} +3 -3
  34. package/dist/chunks/{chunk-KB7EM3DJ.js → chunk-JW7ZIF23.js} +2 -2
  35. package/dist/chunks/{chunk-OTTDC3KF.js → chunk-KS43Q64I.js} +4 -4
  36. package/dist/chunks/{chunk-LCFHDWTA.js → chunk-LC5CSMLC.js} +3 -3
  37. package/dist/chunks/{chunk-CBNP2J2W.js → chunk-LDKXWBLK.js} +7 -7
  38. package/dist/chunks/{chunk-ZGP5MF2Q.js → chunk-LQMS65KX.js} +3 -3
  39. package/dist/chunks/{chunk-FUORCVIN.js → chunk-MCXVH6TQ.js} +4 -4
  40. package/dist/chunks/{chunk-5LO5YWAO.js → chunk-MQVRM5OC.js} +4 -4
  41. package/dist/chunks/{chunk-HMORKNX3.js → chunk-N2ANOFXH.js} +13673 -12432
  42. package/dist/chunks/chunk-N2ANOFXH.js.map +6 -0
  43. package/dist/chunks/{chunk-KSQTOA6I.js → chunk-OCGWHJEN.js} +20 -18
  44. package/dist/chunks/{chunk-KSQTOA6I.js.map → chunk-OCGWHJEN.js.map} +1 -1
  45. package/dist/chunks/{chunk-HTXPBXXP.js → chunk-OMSXEJYE.js} +2 -2
  46. package/dist/chunks/{chunk-LVW3JXVJ.js → chunk-PJWDYXQI.js} +4 -4
  47. package/dist/chunks/{chunk-FXXP6QP6.js → chunk-Q35GDUZ4.js} +2 -2
  48. package/dist/chunks/{chunk-6CD4ZJWY.js → chunk-Q3B4NBK3.js} +5 -5
  49. package/dist/chunks/{chunk-ADJCEQGK.js → chunk-QDLHNM37.js} +2 -2
  50. package/dist/chunks/{chunk-QINC4TIT.js → chunk-QEUOFWAZ.js} +3 -3
  51. package/dist/chunks/{chunk-DPCUP4TI.js → chunk-QVUDFCFY.js} +4 -4
  52. package/dist/chunks/{chunk-4MZXZCPR.js → chunk-S44YIFC3.js} +2 -2
  53. package/dist/chunks/{chunk-AHK44IOS.js → chunk-SZZNNW6N.js} +2 -2
  54. package/dist/chunks/{chunk-TGZ7OLDL.js → chunk-T5TNPB4U.js} +10 -10
  55. package/dist/chunks/{chunk-6SKQVVXO.js → chunk-T6NRDLAQ.js} +35 -35
  56. package/dist/chunks/{chunk-4K3ABOWX.js → chunk-TDJ4XMCS.js} +9 -9
  57. package/dist/chunks/{chunk-WU5K7PF3.js → chunk-TZRA6QUH.js} +16 -14
  58. package/dist/chunks/{chunk-WU5K7PF3.js.map → chunk-TZRA6QUH.js.map} +1 -1
  59. package/dist/chunks/{chunk-A3TBA7LQ.js → chunk-URMSX3IO.js} +3 -3
  60. package/dist/chunks/{chunk-S72MTTOC.js → chunk-UUDEHY7M.js} +2 -2
  61. package/dist/chunks/{chunk-EKSTG5ZQ.js → chunk-VEPUBE3H.js} +2 -2
  62. package/dist/chunks/{chunk-3TGNRSKG.js → chunk-VIS4SNKA.js} +6 -6
  63. package/dist/chunks/{chunk-GEPGHAWO.js → chunk-VKZIX3HT.js} +2 -2
  64. package/dist/chunks/{chunk-Q2EWUIIT.js → chunk-VUE7LP6D.js} +2 -2
  65. package/dist/chunks/{chunk-5EQTZ4HK.js → chunk-WCUCNKJU.js} +4 -4
  66. package/dist/chunks/{chunk-MRQ2UQG5.js → chunk-WI2MIQOJ.js} +2 -2
  67. package/dist/chunks/{chunk-VSLHC665.js → chunk-WK6GEMBO.js} +3 -3
  68. package/dist/chunks/{chunk-IB7UOMAQ.js → chunk-WOY76GQF.js} +5 -5
  69. package/dist/chunks/{chunk-5X7RU64G.js → chunk-WWREIUJR.js} +4 -4
  70. package/dist/chunks/{chunk-3KMW53PV.js → chunk-YHSMEYOT.js} +2 -2
  71. package/dist/chunks/{chunk-UC3UARTL.js → chunk-YUEHR7BW.js} +161 -23
  72. package/dist/chunks/chunk-YUEHR7BW.js.map +6 -0
  73. package/dist/chunks/{chunk-IVFJXA6P.js → chunk-Z2LUKZ27.js} +3 -3
  74. package/dist/chunks/{chunk-ACJ37X25.js → chunk-ZARLAIDT.js} +2 -2
  75. package/dist/chunks/{cli-runtime-T6ZXKC2O.js → cli-runtime-23BX2YCB.js} +10 -10
  76. package/dist/chunks/{commands-3RJ5HAMM.js → commands-653H4ELC.js} +5 -5
  77. package/dist/chunks/{crash-report-ZUP6NMRJ.js → crash-report-V3BWOZ2M.js} +7 -7
  78. package/dist/chunks/devtools-V6SF7RES.js +93 -0
  79. package/dist/chunks/devtools-V6SF7RES.js.map +6 -0
  80. package/dist/chunks/{dist-XFIOSXNS.js → dist-3I7LFHB6.js} +2 -2
  81. package/dist/chunks/{dist-GXQCJQ53.js → dist-IQLEVRAR.js} +2 -2
  82. package/dist/chunks/{dist-5D7BTPT2.js → dist-S7RG65ZN.js} +2 -2
  83. package/dist/chunks/{dist-72DFA26L.js → dist-SC3XYI4I.js} +2 -2
  84. package/dist/chunks/{dist-PE6GSYDP.js → dist-TQS4OUGR.js} +2 -2
  85. package/dist/chunks/{dist-HJCEE57U.js → dist-YQEFEGM4.js} +2 -2
  86. package/dist/chunks/{dist-I2Q3FRR4.js → dist-Z5E2SZXJ.js} +2 -2
  87. package/dist/chunks/{doctor-FPBYPOAK.js → doctor-GEZEPFP6.js} +8 -8
  88. package/dist/chunks/{drain-N65CXI5H.js → drain-HB5HGWEM.js} +12 -10
  89. package/dist/chunks/{drain-N65CXI5H.js.map → drain-HB5HGWEM.js.map} +1 -1
  90. package/dist/chunks/{eval-SYKBFGGU.js → eval-RA3FXHBB.js} +2 -2
  91. package/dist/chunks/{exec-INYAGY7Q.js → exec-4QTKYNLX.js} +88 -43
  92. package/dist/chunks/exec-4QTKYNLX.js.map +6 -0
  93. package/dist/chunks/{home-FJS5AXFZ.js → home-2BMCNVI6.js} +3 -3
  94. package/dist/chunks/{host-queries-Q3CDQ5R6.js → host-queries-KV4PSA37.js} +14 -14
  95. package/dist/chunks/{lifecycle-5RWKT62M.js → lifecycle-HLPYVX33.js} +26 -26
  96. package/dist/chunks/{list-FUOU75RU.js → list-CWBDURM4.js} +15 -15
  97. package/dist/chunks/{login-ELQCFAUF.js → login-JICZUCU4.js} +8 -8
  98. package/dist/chunks/{logs-OBL6KGPA.js → logs-EZVXV3ED.js} +4 -4
  99. package/dist/chunks/{mcp-TFWJC56M.js → mcp-AWQZVLNR.js} +22 -22
  100. package/dist/chunks/{message-command-ZNMT76V5.js → message-command-NQUVQG42.js} +39 -39
  101. package/dist/chunks/{operator-tools-C6OPS77I.js → operator-tools-P3KHUSPM.js} +12 -12
  102. package/dist/chunks/{output-schema-35YWLD2S.js → output-schema-ASYUJL2G.js} +3 -3
  103. package/dist/chunks/{pal-TN4YSFO6.js → pal-5F3CH7BQ.js} +14 -14
  104. package/dist/chunks/{providers-KC7IQHF7.js → providers-AMRKV2MR.js} +6 -6
  105. package/dist/chunks/{resident-JZ5AHFMO.js → resident-BNR3NVGQ.js} +25 -25
  106. package/dist/chunks/resume-6HKESNKD.js +22 -0
  107. package/dist/chunks/{resume-command-5FDSKSZR.js → resume-command-PPNI2EC7.js} +4 -4
  108. package/dist/chunks/{schedule-ZVBIF6JZ.js → schedule-2UXRUWFI.js} +8 -8
  109. package/dist/chunks/{service-2MS37QMZ.js → service-GJPE7I3Z.js} +27 -27
  110. package/dist/chunks/session-step-SQJKL3HY.js +27 -0
  111. package/dist/chunks/{skills-B35Q357B.js → skills-7YS6Z6KZ.js} +8 -8
  112. package/dist/chunks/{state-YXNTJW67.js → state-2RDZT6FZ.js} +2 -2
  113. package/dist/chunks/{store-5BLKNUFX.js → store-3CNDOQL4.js} +9 -9
  114. package/dist/chunks/{store-H5KCO6HN.js → store-MXI3QAO3.js} +4 -4
  115. package/dist/chunks/{store-5YOZ57L2.js → store-O6QV53BV.js} +6 -6
  116. package/dist/chunks/{tui-NZUV74RQ.js → tui-EZVA52PY.js} +175 -93
  117. package/dist/chunks/tui-EZVA52PY.js.map +6 -0
  118. package/dist/chunks/{upgrade-64USK7BM.js → upgrade-JRTE42RR.js} +2 -2
  119. package/dist/chunks/{worktree-COOGACI6.js → worktree-ZK2OD56A.js} +11 -11
  120. package/dist/chunks/wrapper-XHVFM6KS.js +34 -0
  121. package/dist/chunks/wrapper-XHVFM6KS.js.map +6 -0
  122. package/dist/commands/acp.d.ts +1 -1
  123. package/dist/commands/acp.d.ts.map +1 -1
  124. package/dist/commands/desktop-host.d.ts.map +1 -1
  125. package/dist/commands/drain.d.ts.map +1 -1
  126. package/dist/commands/exec-json.d.ts.map +1 -1
  127. package/dist/commands/exec-monitors.d.ts +31 -0
  128. package/dist/commands/exec-monitors.d.ts.map +1 -0
  129. package/dist/commands/exec.d.ts.map +1 -1
  130. package/dist/index.js +24 -24
  131. package/dist/integrations/monitors/inbox.d.ts +54 -0
  132. package/dist/integrations/monitors/inbox.d.ts.map +1 -0
  133. package/dist/integrations/monitors/web-access-hint.d.ts +8 -0
  134. package/dist/integrations/monitors/web-access-hint.d.ts.map +1 -0
  135. package/dist/integrations/resident/runner-worker.js +18 -18
  136. package/dist/integrations/resident/session-step.d.ts.map +1 -1
  137. package/dist/schedule/fire/fire.d.ts.map +1 -1
  138. package/dist/tui/App.d.ts.map +1 -1
  139. package/dist/tui/BackgroundJobsPanel.d.ts.map +1 -1
  140. package/dist/tui/StatusBar.d.ts +5 -1
  141. package/dist/tui/StatusBar.d.ts.map +1 -1
  142. package/dist/tui/agent.d.ts +30 -0
  143. package/dist/tui/agent.d.ts.map +1 -1
  144. package/dist/tui/job-exit-row.d.ts +10 -0
  145. package/dist/tui/job-exit-row.d.ts.map +1 -1
  146. package/package.json +7 -7
  147. package/dist/chunks/agent-session-4G4PKPCR.js +0 -51
  148. package/dist/chunks/chunk-HMORKNX3.js.map +0 -6
  149. package/dist/chunks/chunk-UC3UARTL.js.map +0 -6
  150. package/dist/chunks/exec-INYAGY7Q.js.map +0 -6
  151. package/dist/chunks/resume-ZLGRUFA3.js +0 -22
  152. package/dist/chunks/session-step-XIYPMQA4.js +0 -27
  153. package/dist/chunks/tui-NZUV74RQ.js.map +0 -6
  154. /package/dist/chunks/{activity-command-U3KHRDTY.js.map → activity-command-FW57BC4I.js.map} +0 -0
  155. /package/dist/chunks/{add-Q2HPE26F.js.map → add-MGR37R67.js.map} +0 -0
  156. /package/dist/chunks/{agent-KSRUGF37.js.map → agent-W75JSUKG.js.map} +0 -0
  157. /package/dist/chunks/{agent-session-4G4PKPCR.js.map → agent-session-DPXU4EEF.js.map} +0 -0
  158. /package/dist/chunks/{archive-NQ527SKW.js.map → archive-KEMEXDTF.js.map} +0 -0
  159. /package/dist/chunks/{bin-main-72QPYEQ5.js.map → bin-main-CSS47L7D.js.map} +0 -0
  160. /package/dist/chunks/{browser-NQAXUNRS.js.map → browser-7KFOR6DK.js.map} +0 -0
  161. /package/dist/chunks/{chat-QSA5IBTG.js.map → chat-IRV5W5OA.js.map} +0 -0
  162. /package/dist/chunks/{chunk-TI7LE6F5.js.map → chunk-24GH4KQJ.js.map} +0 -0
  163. /package/dist/chunks/{chunk-MOI4XD5Z.js.map → chunk-2UHRQ45K.js.map} +0 -0
  164. /package/dist/chunks/{chunk-OYJCMNOO.js.map → chunk-3MUR66WZ.js.map} +0 -0
  165. /package/dist/chunks/{chunk-VEOIRZH4.js.map → chunk-3NPQFAYV.js.map} +0 -0
  166. /package/dist/chunks/{chunk-7INJDLWA.js.map → chunk-57GLVV5T.js.map} +0 -0
  167. /package/dist/chunks/{chunk-MB4SLACG.js.map → chunk-5E5AT2HQ.js.map} +0 -0
  168. /package/dist/chunks/{chunk-TTCXFX6V.js.map → chunk-5M256BI5.js.map} +0 -0
  169. /package/dist/chunks/{chunk-4WDWLAQ5.js.map → chunk-AHD7MEBE.js.map} +0 -0
  170. /package/dist/chunks/{chunk-LZISO3TE.js.map → chunk-BGRWTZGG.js.map} +0 -0
  171. /package/dist/chunks/{chunk-J4IRSWAS.js.map → chunk-BHUDDJYS.js.map} +0 -0
  172. /package/dist/chunks/{chunk-6USAI7O7.js.map → chunk-BLDYNZ3J.js.map} +0 -0
  173. /package/dist/chunks/{chunk-XB7HBRSL.js.map → chunk-BMR6E2FY.js.map} +0 -0
  174. /package/dist/chunks/{chunk-ZNO7XIZU.js.map → chunk-DIXKMLHZ.js.map} +0 -0
  175. /package/dist/chunks/{chunk-HKUWS2WO.js.map → chunk-E73OMVMG.js.map} +0 -0
  176. /package/dist/chunks/{chunk-NIBOMW4E.js.map → chunk-EZOZQJBG.js.map} +0 -0
  177. /package/dist/chunks/{chunk-AEWKXISZ.js.map → chunk-GHF6GJ5Y.js.map} +0 -0
  178. /package/dist/chunks/{chunk-GSZCV2P3.js.map → chunk-HGADGGEG.js.map} +0 -0
  179. /package/dist/chunks/{chunk-GXQAMIQA.js.map → chunk-HWR7GXGJ.js.map} +0 -0
  180. /package/dist/chunks/{chunk-2GTBCI2R.js.map → chunk-I77G3ACY.js.map} +0 -0
  181. /package/dist/chunks/{chunk-KB7EM3DJ.js.map → chunk-JW7ZIF23.js.map} +0 -0
  182. /package/dist/chunks/{chunk-OTTDC3KF.js.map → chunk-KS43Q64I.js.map} +0 -0
  183. /package/dist/chunks/{chunk-LCFHDWTA.js.map → chunk-LC5CSMLC.js.map} +0 -0
  184. /package/dist/chunks/{chunk-CBNP2J2W.js.map → chunk-LDKXWBLK.js.map} +0 -0
  185. /package/dist/chunks/{chunk-ZGP5MF2Q.js.map → chunk-LQMS65KX.js.map} +0 -0
  186. /package/dist/chunks/{chunk-FUORCVIN.js.map → chunk-MCXVH6TQ.js.map} +0 -0
  187. /package/dist/chunks/{chunk-5LO5YWAO.js.map → chunk-MQVRM5OC.js.map} +0 -0
  188. /package/dist/chunks/{chunk-HTXPBXXP.js.map → chunk-OMSXEJYE.js.map} +0 -0
  189. /package/dist/chunks/{chunk-LVW3JXVJ.js.map → chunk-PJWDYXQI.js.map} +0 -0
  190. /package/dist/chunks/{chunk-FXXP6QP6.js.map → chunk-Q35GDUZ4.js.map} +0 -0
  191. /package/dist/chunks/{chunk-6CD4ZJWY.js.map → chunk-Q3B4NBK3.js.map} +0 -0
  192. /package/dist/chunks/{chunk-ADJCEQGK.js.map → chunk-QDLHNM37.js.map} +0 -0
  193. /package/dist/chunks/{chunk-QINC4TIT.js.map → chunk-QEUOFWAZ.js.map} +0 -0
  194. /package/dist/chunks/{chunk-DPCUP4TI.js.map → chunk-QVUDFCFY.js.map} +0 -0
  195. /package/dist/chunks/{chunk-4MZXZCPR.js.map → chunk-S44YIFC3.js.map} +0 -0
  196. /package/dist/chunks/{chunk-AHK44IOS.js.map → chunk-SZZNNW6N.js.map} +0 -0
  197. /package/dist/chunks/{chunk-TGZ7OLDL.js.map → chunk-T5TNPB4U.js.map} +0 -0
  198. /package/dist/chunks/{chunk-6SKQVVXO.js.map → chunk-T6NRDLAQ.js.map} +0 -0
  199. /package/dist/chunks/{chunk-4K3ABOWX.js.map → chunk-TDJ4XMCS.js.map} +0 -0
  200. /package/dist/chunks/{chunk-A3TBA7LQ.js.map → chunk-URMSX3IO.js.map} +0 -0
  201. /package/dist/chunks/{chunk-S72MTTOC.js.map → chunk-UUDEHY7M.js.map} +0 -0
  202. /package/dist/chunks/{chunk-EKSTG5ZQ.js.map → chunk-VEPUBE3H.js.map} +0 -0
  203. /package/dist/chunks/{chunk-3TGNRSKG.js.map → chunk-VIS4SNKA.js.map} +0 -0
  204. /package/dist/chunks/{chunk-GEPGHAWO.js.map → chunk-VKZIX3HT.js.map} +0 -0
  205. /package/dist/chunks/{chunk-Q2EWUIIT.js.map → chunk-VUE7LP6D.js.map} +0 -0
  206. /package/dist/chunks/{chunk-5EQTZ4HK.js.map → chunk-WCUCNKJU.js.map} +0 -0
  207. /package/dist/chunks/{chunk-MRQ2UQG5.js.map → chunk-WI2MIQOJ.js.map} +0 -0
  208. /package/dist/chunks/{chunk-VSLHC665.js.map → chunk-WK6GEMBO.js.map} +0 -0
  209. /package/dist/chunks/{chunk-IB7UOMAQ.js.map → chunk-WOY76GQF.js.map} +0 -0
  210. /package/dist/chunks/{chunk-5X7RU64G.js.map → chunk-WWREIUJR.js.map} +0 -0
  211. /package/dist/chunks/{chunk-3KMW53PV.js.map → chunk-YHSMEYOT.js.map} +0 -0
  212. /package/dist/chunks/{chunk-IVFJXA6P.js.map → chunk-Z2LUKZ27.js.map} +0 -0
  213. /package/dist/chunks/{chunk-ACJ37X25.js.map → chunk-ZARLAIDT.js.map} +0 -0
  214. /package/dist/chunks/{cli-runtime-T6ZXKC2O.js.map → cli-runtime-23BX2YCB.js.map} +0 -0
  215. /package/dist/chunks/{commands-3RJ5HAMM.js.map → commands-653H4ELC.js.map} +0 -0
  216. /package/dist/chunks/{crash-report-ZUP6NMRJ.js.map → crash-report-V3BWOZ2M.js.map} +0 -0
  217. /package/dist/chunks/{dist-XFIOSXNS.js.map → dist-3I7LFHB6.js.map} +0 -0
  218. /package/dist/chunks/{dist-GXQCJQ53.js.map → dist-IQLEVRAR.js.map} +0 -0
  219. /package/dist/chunks/{dist-5D7BTPT2.js.map → dist-S7RG65ZN.js.map} +0 -0
  220. /package/dist/chunks/{dist-72DFA26L.js.map → dist-SC3XYI4I.js.map} +0 -0
  221. /package/dist/chunks/{dist-PE6GSYDP.js.map → dist-TQS4OUGR.js.map} +0 -0
  222. /package/dist/chunks/{dist-HJCEE57U.js.map → dist-YQEFEGM4.js.map} +0 -0
  223. /package/dist/chunks/{dist-I2Q3FRR4.js.map → dist-Z5E2SZXJ.js.map} +0 -0
  224. /package/dist/chunks/{doctor-FPBYPOAK.js.map → doctor-GEZEPFP6.js.map} +0 -0
  225. /package/dist/chunks/{eval-SYKBFGGU.js.map → eval-RA3FXHBB.js.map} +0 -0
  226. /package/dist/chunks/{home-FJS5AXFZ.js.map → home-2BMCNVI6.js.map} +0 -0
  227. /package/dist/chunks/{host-queries-Q3CDQ5R6.js.map → host-queries-KV4PSA37.js.map} +0 -0
  228. /package/dist/chunks/{lifecycle-5RWKT62M.js.map → lifecycle-HLPYVX33.js.map} +0 -0
  229. /package/dist/chunks/{list-FUOU75RU.js.map → list-CWBDURM4.js.map} +0 -0
  230. /package/dist/chunks/{login-ELQCFAUF.js.map → login-JICZUCU4.js.map} +0 -0
  231. /package/dist/chunks/{logs-OBL6KGPA.js.map → logs-EZVXV3ED.js.map} +0 -0
  232. /package/dist/chunks/{mcp-TFWJC56M.js.map → mcp-AWQZVLNR.js.map} +0 -0
  233. /package/dist/chunks/{message-command-ZNMT76V5.js.map → message-command-NQUVQG42.js.map} +0 -0
  234. /package/dist/chunks/{operator-tools-C6OPS77I.js.map → operator-tools-P3KHUSPM.js.map} +0 -0
  235. /package/dist/chunks/{output-schema-35YWLD2S.js.map → output-schema-ASYUJL2G.js.map} +0 -0
  236. /package/dist/chunks/{pal-TN4YSFO6.js.map → pal-5F3CH7BQ.js.map} +0 -0
  237. /package/dist/chunks/{providers-KC7IQHF7.js.map → providers-AMRKV2MR.js.map} +0 -0
  238. /package/dist/chunks/{resident-JZ5AHFMO.js.map → resident-BNR3NVGQ.js.map} +0 -0
  239. /package/dist/chunks/{resume-ZLGRUFA3.js.map → resume-6HKESNKD.js.map} +0 -0
  240. /package/dist/chunks/{resume-command-5FDSKSZR.js.map → resume-command-PPNI2EC7.js.map} +0 -0
  241. /package/dist/chunks/{schedule-ZVBIF6JZ.js.map → schedule-2UXRUWFI.js.map} +0 -0
  242. /package/dist/chunks/{service-2MS37QMZ.js.map → service-GJPE7I3Z.js.map} +0 -0
  243. /package/dist/chunks/{session-step-XIYPMQA4.js.map → session-step-SQJKL3HY.js.map} +0 -0
  244. /package/dist/chunks/{skills-B35Q357B.js.map → skills-7YS6Z6KZ.js.map} +0 -0
  245. /package/dist/chunks/{state-YXNTJW67.js.map → state-2RDZT6FZ.js.map} +0 -0
  246. /package/dist/chunks/{store-5BLKNUFX.js.map → store-3CNDOQL4.js.map} +0 -0
  247. /package/dist/chunks/{store-5YOZ57L2.js.map → store-MXI3QAO3.js.map} +0 -0
  248. /package/dist/chunks/{store-H5KCO6HN.js.map → store-O6QV53BV.js.map} +0 -0
  249. /package/dist/chunks/{upgrade-64USK7BM.js.map → upgrade-JRTE42RR.js.map} +0 -0
  250. /package/dist/chunks/{worktree-COOGACI6.js.map → worktree-ZK2OD56A.js.map} +0 -0
@@ -2,15 +2,18 @@ import { createRequire as __namzuCreateRequire } from 'node:module';
2
2
  const require = __namzuCreateRequire(import.meta.url);
3
3
  import {
4
4
  reportCrash
5
- } from "./chunk-6CD4ZJWY.js";
5
+ } from "./chunk-Q3B4NBK3.js";
6
6
  import {
7
7
  settleAnsweredPark
8
- } from "./chunk-TGZ7OLDL.js";
8
+ } from "./chunk-T5TNPB4U.js";
9
9
  import {
10
10
  DELIVERY_READ_LIMIT,
11
11
  readSourceDeliveryPage,
12
12
  takeSuppressedCount
13
- } from "./chunk-KSQTOA6I.js";
13
+ } from "./chunk-OCGWHJEN.js";
14
+ import {
15
+ callsCount
16
+ } from "./chunk-E5VLANCO.js";
14
17
  import {
15
18
  callEndpoint,
16
19
  readEndpoint
@@ -30,7 +33,10 @@ import {
30
33
  confirmationView,
31
34
  describeChanges,
32
35
  permissionsChanged
33
- } from "./chunk-AHK44IOS.js";
36
+ } from "./chunk-SZZNNW6N.js";
37
+ import {
38
+ visibleScheduleMessage
39
+ } from "./chunk-NADQQMMG.js";
34
40
  import "./chunk-GWQEMJFS.js";
35
41
  import {
36
42
  DEFAULT_MAX_ITERATIONS,
@@ -44,31 +50,25 @@ import {
44
50
  runsPerDay,
45
51
  scriptShellUnavailableReason,
46
52
  verifyScheduledScript
47
- } from "./chunk-5LO5YWAO.js";
48
- import {
49
- callsCount
50
- } from "./chunk-E5VLANCO.js";
51
- import {
52
- visibleScheduleMessage
53
- } from "./chunk-NADQQMMG.js";
53
+ } from "./chunk-MQVRM5OC.js";
54
54
  import {
55
55
  allowsCommands,
56
56
  compileJobPolicy,
57
57
  compileScriptCheckPolicy,
58
58
  isPresetName
59
- } from "./chunk-OTTDC3KF.js";
60
- import "./chunk-S72MTTOC.js";
59
+ } from "./chunk-KS43Q64I.js";
60
+ import "./chunk-UUDEHY7M.js";
61
61
  import {
62
62
  formatResumeShellCommand,
63
63
  parkedRunWords,
64
64
  resumeCommand
65
- } from "./chunk-ACJ37X25.js";
65
+ } from "./chunk-ZARLAIDT.js";
66
66
  import {
67
67
  appendHistory,
68
68
  nextFireOf,
69
69
  readHistory,
70
70
  readState
71
- } from "./chunk-4MZXZCPR.js";
71
+ } from "./chunk-S44YIFC3.js";
72
72
  import {
73
73
  TURN_LIMIT_FIELDS,
74
74
  baseBranchReviewPrompt,
@@ -91,14 +91,14 @@ import {
91
91
  turnLimitCommands,
92
92
  wrapBalancedText,
93
93
  wrapChoiceText
94
- } from "./chunk-4K3ABOWX.js";
94
+ } from "./chunk-TDJ4XMCS.js";
95
95
  import {
96
96
  handleTerminationSignals
97
- } from "./chunk-MB4SLACG.js";
97
+ } from "./chunk-5E5AT2HQ.js";
98
98
  import "./chunk-TBIX6JRE.js";
99
99
  import {
100
100
  setUserConfigValue
101
- } from "./chunk-A3TBA7LQ.js";
101
+ } from "./chunk-URMSX3IO.js";
102
102
  import {
103
103
  describeAllCredentialsLogout,
104
104
  describeCodexDeviceLoginStart,
@@ -123,21 +123,14 @@ import {
123
123
  withAutoChoice,
124
124
  withDebugDetail,
125
125
  writeConversationExport
126
- } from "./chunk-VSLHC665.js";
126
+ } from "./chunk-WK6GEMBO.js";
127
127
  import {
128
128
  tuiPalDefinition,
129
129
  tuiPalEnvironment,
130
130
  tuiPalOwner,
131
131
  tuiPalPreferences
132
- } from "./chunk-TTCXFX6V.js";
133
- import "./chunk-MOI4XD5Z.js";
134
- import "./chunk-HKUWS2WO.js";
135
- import "./chunk-3TGNRSKG.js";
136
- import {
137
- claimPalConversation,
138
- listPalConversations
139
- } from "./chunk-FUORCVIN.js";
140
- import "./chunk-ZWA2JRJV.js";
132
+ } from "./chunk-5M256BI5.js";
133
+ import "./chunk-2UHRQ45K.js";
141
134
  import {
142
135
  DEFAULT_AGENT_PHASE,
143
136
  DEFAULT_AGENT_WORKFLOW,
@@ -176,17 +169,17 @@ import {
176
169
  webCallTitle,
177
170
  webLiveStatus,
178
171
  webSettledLine
179
- } from "./chunk-UC3UARTL.js";
172
+ } from "./chunk-YUEHR7BW.js";
180
173
  import {
181
174
  describePlainInterruption,
182
175
  describeProviderWait,
183
176
  describeProviderWaitClock
184
- } from "./chunk-LCFHDWTA.js";
177
+ } from "./chunk-LC5CSMLC.js";
185
178
  import {
186
179
  openManagedWorktrees,
187
180
  worktreeOpenHint
188
- } from "./chunk-DPCUP4TI.js";
189
- import "./chunk-GXQAMIQA.js";
181
+ } from "./chunk-QVUDFCFY.js";
182
+ import "./chunk-HWR7GXGJ.js";
190
183
  import {
191
184
  describeBrowserStatus
192
185
  } from "./chunk-WHODOMXA.js";
@@ -205,17 +198,17 @@ import {
205
198
  newSkillPrompt,
206
199
  resolveTurnGuards,
207
200
  runTokens
208
- } from "./chunk-IVFJXA6P.js";
209
- import "./chunk-NIBOMW4E.js";
201
+ } from "./chunk-Z2LUKZ27.js";
202
+ import "./chunk-EZOZQJBG.js";
210
203
  import {
211
204
  openInBrowser
212
- } from "./chunk-Q2EWUIIT.js";
205
+ } from "./chunk-VUE7LP6D.js";
213
206
  import "./chunk-NUGPLXVK.js";
214
207
  import {
215
208
  beginCodexDeviceLogin,
216
209
  beginSubscriptionLogin,
217
210
  parsePastedInput
218
- } from "./chunk-7INJDLWA.js";
211
+ } from "./chunk-57GLVV5T.js";
219
212
  import {
220
213
  NO_SKILLS_FOUND,
221
214
  composeSkillsPrompt,
@@ -223,33 +216,18 @@ import {
223
216
  loadSkillBody,
224
217
  renderSkillRoster,
225
218
  skillTierLabel
226
- } from "./chunk-LZISO3TE.js";
219
+ } from "./chunk-BGRWTZGG.js";
220
+ import "./chunk-E73OMVMG.js";
221
+ import "./chunk-VIS4SNKA.js";
222
+ import {
223
+ claimPalConversation,
224
+ listPalConversations
225
+ } from "./chunk-MCXVH6TQ.js";
226
+ import "./chunk-ZWA2JRJV.js";
227
227
  import {
228
228
  pinTrustedProjectPath,
229
229
  resolveTrustedProjectContext
230
230
  } from "./chunk-CHIEVVQ2.js";
231
- import {
232
- readManifest
233
- } from "./chunk-AK2U3N2A.js";
234
- import {
235
- ScheduleConflictError,
236
- confirmationHolds,
237
- createJob,
238
- deleteJob,
239
- findJob,
240
- listJobs,
241
- updateJob
242
- } from "./chunk-SKKWMMFP.js";
243
- import {
244
- writeJsonAtomic
245
- } from "./chunk-OEW7CJKK.js";
246
- import "./chunk-HE7WUOX2.js";
247
- import {
248
- EXIT_INTERNAL_ERROR
249
- } from "./chunk-Y7B67G22.js";
250
- import {
251
- schedulePaths
252
- } from "./chunk-A22MBIYU.js";
253
231
  import {
254
232
  debugRequested
255
233
  } from "./chunk-GNBMKISG.js";
@@ -262,11 +240,11 @@ import {
262
240
  loadConfigWithProvenance,
263
241
  readPermissionLayers,
264
242
  resolveComposerTriggers
265
- } from "./chunk-5EQTZ4HK.js";
243
+ } from "./chunk-WCUCNKJU.js";
266
244
  import "./chunk-KONYGNG6.js";
267
245
  import {
268
246
  formatConfigSource
269
- } from "./chunk-MRQ2UQG5.js";
247
+ } from "./chunk-WI2MIQOJ.js";
270
248
  import {
271
249
  displayPath,
272
250
  formatSize,
@@ -279,7 +257,29 @@ import {
279
257
  stringWidth,
280
258
  stripAnsi
281
259
  } from "./chunk-US5ZFPAU.js";
282
- import "./chunk-3KMW53PV.js";
260
+ import {
261
+ readManifest
262
+ } from "./chunk-AK2U3N2A.js";
263
+ import {
264
+ ScheduleConflictError,
265
+ confirmationHolds,
266
+ createJob,
267
+ deleteJob,
268
+ findJob,
269
+ listJobs,
270
+ updateJob
271
+ } from "./chunk-SKKWMMFP.js";
272
+ import {
273
+ writeJsonAtomic
274
+ } from "./chunk-OEW7CJKK.js";
275
+ import "./chunk-HE7WUOX2.js";
276
+ import "./chunk-YHSMEYOT.js";
277
+ import {
278
+ EXIT_INTERNAL_ERROR
279
+ } from "./chunk-Y7B67G22.js";
280
+ import {
281
+ schedulePaths
282
+ } from "./chunk-A22MBIYU.js";
283
283
  import {
284
284
  automaticChoice,
285
285
  automaticKind,
@@ -291,7 +291,7 @@ import {
291
291
  primaryProvider,
292
292
  signedInSubscriptionProviders,
293
293
  writePreferences
294
- } from "./chunk-AEWKXISZ.js";
294
+ } from "./chunk-GHF6GJ5Y.js";
295
295
  import {
296
296
  ALL_PROVIDER_IDS,
297
297
  PROVIDER_REGISTRY,
@@ -301,20 +301,20 @@ import {
301
301
  } from "./chunk-6LLJQ3KY.js";
302
302
  import {
303
303
  applyProviderFlags
304
- } from "./chunk-ZNO7XIZU.js";
304
+ } from "./chunk-DIXKMLHZ.js";
305
305
  import "./chunk-XEUQN4JC.js";
306
306
  import {
307
307
  PAUSED_TURN_LINES,
308
308
  currentTimeLine,
309
309
  describeTurnStop,
310
310
  handoffContinuationNote
311
- } from "./chunk-XB7HBRSL.js";
311
+ } from "./chunk-BMR6E2FY.js";
312
312
  import {
313
313
  bypassAvailableAtLaunch,
314
314
  nextCycleMode,
315
315
  permissionModeDescription,
316
316
  permissionModeLabel
317
- } from "./chunk-KB7EM3DJ.js";
317
+ } from "./chunk-JW7ZIF23.js";
318
318
  import {
319
319
  terminalDisplayText
320
320
  } from "./chunk-EEDZOGV4.js";
@@ -339,24 +339,24 @@ import {
339
339
  titlesOf,
340
340
  typedTextOf,
341
341
  unarchiveConversation
342
- } from "./chunk-IB7UOMAQ.js";
342
+ } from "./chunk-WOY76GQF.js";
343
343
  import "./chunk-H6B6AROX.js";
344
- import "./chunk-J4IRSWAS.js";
345
- import "./chunk-LVW3JXVJ.js";
344
+ import "./chunk-BHUDDJYS.js";
345
+ import "./chunk-PJWDYXQI.js";
346
346
  import {
347
347
  isTrusted,
348
348
  trustDir
349
- } from "./chunk-ADJCEQGK.js";
349
+ } from "./chunk-QDLHNM37.js";
350
350
  import "./chunk-LXB3S4IC.js";
351
- import "./chunk-QINC4TIT.js";
351
+ import "./chunk-QEUOFWAZ.js";
352
352
  import {
353
353
  contextLogging,
354
354
  installCliLogging
355
- } from "./chunk-GSZCV2P3.js";
355
+ } from "./chunk-HGADGGEG.js";
356
356
  import "./chunk-OH6TB27S.js";
357
357
  import "./chunk-U3JIZFOS.js";
358
358
  import "./chunk-TCXFKEYW.js";
359
- import "./chunk-EKSTG5ZQ.js";
359
+ import "./chunk-VEPUBE3H.js";
360
360
  import "./chunk-JORONMD3.js";
361
361
  import {
362
362
  clearAllStoredCredentials,
@@ -370,8 +370,8 @@ import {
370
370
  readStoredSubscriptionCredential,
371
371
  restrictToOwner,
372
372
  writeStoredGeminiApiKey
373
- } from "./chunk-TI7LE6F5.js";
374
- import "./chunk-6USAI7O7.js";
373
+ } from "./chunk-24GH4KQJ.js";
374
+ import "./chunk-BLDYNZ3J.js";
375
375
  import {
376
376
  ACCEPT_EDITS_TOOLS,
377
377
  DECLINED_TOOL_CALL_FEEDBACK,
@@ -380,6 +380,7 @@ import {
380
380
  DiskSessionLog,
381
381
  GoalRoundLimitError,
382
382
  HostCommandRegistry,
383
+ MONITOR_TOOL_NAME,
383
384
  PEER_PROTOCOL_VERSION,
384
385
  PeerClient,
385
386
  REVIEW_EXEMPT_WRITES,
@@ -398,6 +399,7 @@ import {
398
399
  createUserMessage,
399
400
  defineTool,
400
401
  derivePeerRef,
402
+ describeMonitorEnd,
401
403
  describeSchedule,
402
404
  execHostShell,
403
405
  findPendingCheckpoint,
@@ -428,7 +430,7 @@ import {
428
430
  validateTimeZone,
429
431
  wrapUntrusted,
430
432
  writePeerRecord
431
- } from "./chunk-HMORKNX3.js";
433
+ } from "./chunk-N2ANOFXH.js";
432
434
  import {
433
435
  __commonJS,
434
436
  __export,
@@ -30725,7 +30727,7 @@ if (process4.env["DEV"] === "true") {
30725
30727
  } catch {
30726
30728
  }
30727
30729
  if (isDevtoolsInstalled) {
30728
- await import("./devtools-LBE4PAQN.js");
30730
+ await import("./devtools-V6SF7RES.js");
30729
30731
  }
30730
30732
  }
30731
30733
  var diff = /* @__PURE__ */ __name((before, after) => {
@@ -36368,7 +36370,11 @@ function metaColor(meta) {
36368
36370
  }
36369
36371
  __name(metaColor, "metaColor");
36370
36372
  function statusText(job) {
36371
- 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
+ }
36372
36378
  if (job.status === "killed") return "stopped";
36373
36379
  if (job.exitCode === void 0) return "ended";
36374
36380
  return `${job.exitCode === 0 ? "completed" : "failed"} (exit code ${job.exitCode})`;
@@ -36396,6 +36402,10 @@ function maxBackgroundJobTailOffset(output, rows, columns) {
36396
36402
  );
36397
36403
  }
36398
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");
36399
36409
  function oneLine2(command) {
36400
36410
  return terminalDisplayText(command).replace(/\s+/gu, " ").trim();
36401
36411
  }
@@ -36427,7 +36437,8 @@ function BackgroundJobsPanel({
36427
36437
  busyJobId = null,
36428
36438
  notice = null
36429
36439
  }) {
36430
- 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;
36431
36442
  const selected = jobs.find((job) => job.id === selectedJobId) ?? jobs[0];
36432
36443
  const detailed = detailJobId ? jobs.find((job) => job.id === detailJobId) : void 0;
36433
36444
  const innerColumns = Math.max(1, columns - 6);
@@ -36460,7 +36471,10 @@ function BackgroundJobsPanel({
36460
36471
  paddingX: 1,
36461
36472
  children: [
36462
36473
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { bold: true, color: theme.accent.system, wrap: "truncate-end", children: "Background" }),
36463
- /* @__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 ") }),
36464
36478
  jobs.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: theme.text.secondary, children: "No tasks currently running" }) : shown.map((job) => {
36465
36479
  const focused = job.id === selected?.id;
36466
36480
  const meta = jobMeta(job);
@@ -36472,7 +36486,7 @@ function BackgroundJobsPanel({
36472
36486
  META_ICON[meta],
36473
36487
  " "
36474
36488
  ] }),
36475
- /* @__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) }),
36476
36490
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: theme.text.muted, children: tail })
36477
36491
  ] }, job.id);
36478
36492
  }),
@@ -36514,7 +36528,7 @@ function BackgroundJobsPanel({
36514
36528
  innerColumns
36515
36529
  );
36516
36530
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box_default, { flexDirection: "column", borderStyle: "single", borderColor: theme.border.focus, paddingX: 1, children: [
36517
- /* @__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" }),
36518
36532
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { wrap: "truncate-end", children: [
36519
36533
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { bold: true, children: "Status: " }),
36520
36534
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: metaColor(jobMeta(detailed)), children: truncateChoiceText(
@@ -36526,6 +36540,10 @@ function BackgroundJobsPanel({
36526
36540
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { bold: true, children: "Runtime: " }),
36527
36541
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: elapsed(detailed, now) })
36528
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,
36529
36547
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { bold: true, children: "Command:" }),
36530
36548
  commandRows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: theme.text.primary, wrap: "truncate-end", children: row.text || " " }, row.index)),
36531
36549
  commandMore ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: theme.text.muted, children: "\u2026 command continues" }) : null,
@@ -44941,6 +44959,14 @@ var PR_COLOR = {
44941
44959
  merged: theme.status.merged,
44942
44960
  draft: null
44943
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");
44944
44970
  function StatusBar({
44945
44971
  provider,
44946
44972
  model,
@@ -44953,6 +44979,7 @@ function StatusBar({
44953
44979
  composerMounted = true,
44954
44980
  restingHint = true,
44955
44981
  shellCount = 0,
44982
+ monitorCount = 0,
44956
44983
  pr,
44957
44984
  hyperlinks = false,
44958
44985
  agentCount = 0,
@@ -44965,7 +44992,7 @@ function StatusBar({
44965
44992
  const activeMode = permissionMode !== void 0 && permissionMode !== "prompt" ? modeGlyph(permissionMode) : null;
44966
44993
  const working = state !== "idle";
44967
44994
  const hasPr = pr !== void 0 && pr.kind !== "none";
44968
- const nothingElse = !activeMode && shellCount === 0 && !hasPr && agentCount === 0 && !canManage && !shellsSelected;
44995
+ const nothingElse = !activeMode && shellCount + monitorCount === 0 && !hasPr && agentCount === 0 && !canManage && !shellsSelected;
44969
44996
  const layout = fitStatusLine({
44970
44997
  // App gives the footer one cell of horizontal padding on each side. Ink's
44971
44998
  // stdout width is the whole terminal, so reserve those cells here rather
@@ -44981,12 +45008,12 @@ function StatusBar({
44981
45008
  modeLabel: activeMode ? `${activeMode.icon} ${activeMode.label} on` : composerMounted && restingHint && !working && nothingElse ? QUIET_MODE_HINT : "",
44982
45009
  // The reference drops the cycle key as soon as a background task is on
44983
45010
  // the row: the pill is what the row is about then.
44984
- cycleSuffix: activeMode && canCycleMode && composerMounted && shellCount === 0 ? CYCLE_SUFFIX : null,
45011
+ cycleSuffix: activeMode && canCycleMode && composerMounted && shellCount + monitorCount === 0 ? CYCLE_SUFFIX : null,
44985
45012
  interrupt: working && !hint ? INTERRUPT_HINT : null,
44986
45013
  context: contextMeter2?.text ?? null,
44987
- shells: shellCount > 0 ? `${shellCount} ${shellCount === 1 ? "shell" : "shells"}` : null,
45014
+ shells: backgroundPill(shellCount, monitorCount),
44988
45015
  agents: agentCount > 0 ? `\u2190 ${agentCount > 99 ? "99+" : agentCount} ${agentCount === 1 ? "agent" : "agents"}` : null,
44989
- manage: shellsSelected && shellCount > 0 ? VIEW_SHELLS_HINT : canManage ? MANAGE_HINT : null,
45016
+ manage: shellsSelected && shellCount + monitorCount > 0 ? VIEW_SHELLS_HINT : canManage ? MANAGE_HINT : null,
44990
45017
  pr: pr === void 0 || pr.kind === "none" ? null : pr.kind === "pr" ? { prefix: "PR", label: `#${pr.number}` } : { prefix: null, label: pr.text }
44991
45018
  });
44992
45019
  const sep2 = /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Text, { color: theme.text.muted, children: " \xB7 " });
@@ -47348,6 +47375,28 @@ function jobExitRow(job) {
47348
47375
  return { text: `${label} failed with ${how}`, color: theme.status.error, ...meta };
47349
47376
  }
47350
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");
47351
47400
 
47352
47401
  // src/tui/launch-settings.ts
47353
47402
  function choosesModel(settings) {
@@ -51031,6 +51080,7 @@ function App2({
51031
51080
  ${lines.map((l) => `- ${l}`).join("\n")}`
51032
51081
  };
51033
51082
  }, "snapshotIdleJobNotices");
51083
+ const snapshotMonitorNotices = /* @__PURE__ */ __name(() => session?.monitors?.peek() ?? { ids: [] }, "snapshotMonitorNotices");
51034
51084
  const operatorShellRef = (0, import_react52.useRef)([]);
51035
51085
  const drainOperatorShell = /* @__PURE__ */ __name(() => {
51036
51086
  if (operatorShellRef.current.length === 0) return void 0;
@@ -51050,9 +51100,21 @@ ${blocks.join("\n\n")}`;
51050
51100
  idleJobNoticesRef.current = notices;
51051
51101
  setJobSnapshot({ ownerSession: session, jobs: session?.jobs?.() ?? [] });
51052
51102
  if (!session?.onJobExit) return;
51053
- 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) => {
51054
51108
  if (previousSessionRef.current !== session || idleJobNoticesRef.current !== notices) return;
51055
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
+ }
51056
51118
  const text = describeJobExit({
51057
51119
  jobId: job.id,
51058
51120
  command: job.command,
@@ -51077,6 +51139,10 @@ ${blocks.join("\n\n")}`;
51077
51139
  pushMessage("system", row.text, false, "\u25CF", void 0, row.color, row.meta);
51078
51140
  }
51079
51141
  });
51142
+ return () => {
51143
+ offMonitors?.();
51144
+ offExits();
51145
+ };
51080
51146
  }, [session]);
51081
51147
  const workflowNoticesRef = (0, import_react52.useRef)(/* @__PURE__ */ new Map());
51082
51148
  const childMessagesRef = (0, import_react52.useRef)(/* @__PURE__ */ new Map());
@@ -53864,8 +53930,13 @@ ${blocks.join("\n\n")}`;
53864
53930
  }
53865
53931
  }, [activateTrustedProject, pushMessage, runProbe]);
53866
53932
  const finalized = messages.filter((m) => !m.pending);
53867
- const runningShellCount = backgroundJobs.filter((job) => job.status === "running").length;
53868
- 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;
53869
53940
  const prStatus = usePrStatus({
53870
53941
  cwd: ctx.cwd,
53871
53942
  enabled: stdout.isTTY === true && phase !== "trust",
@@ -55407,7 +55478,7 @@ ${blocks.join("\n\n")}`;
55407
55478
  break;
55408
55479
  }
55409
55480
  case "tool-end": {
55410
- if (event.toolName === "bash" || event.toolName === "job")
55481
+ if (event.toolName === "bash" || event.toolName === "job" || event.toolName === MONITOR_TOOL_NAME)
55411
55482
  setJobSnapshot({
55412
55483
  ownerSession: previousSessionRef.current,
55413
55484
  jobs: previousSessionRef.current?.jobs?.() ?? []
@@ -55881,13 +55952,15 @@ When that is done, press Enter to continue \xB7 Esc to stop.`,
55881
55952
  jobs.pending.delete(id);
55882
55953
  wakeJobIdsRef.current.delete(id);
55883
55954
  }
55884
- if (ended.length === 0 && jobLines.length === 0) {
55955
+ const monitorNotice = session?.monitors?.take();
55956
+ if (ended.length === 0 && jobLines.length === 0 && !monitorNotice?.text) {
55885
55957
  setState("idle");
55886
55958
  return;
55887
55959
  }
55888
55960
  if (ended.length === 0) noticeKind = "job-exit";
55889
55961
  text = [
55890
55962
  ...ended,
55963
+ ...monitorNotice?.text ? [monitorNotice.text] : [],
55891
55964
  ...jobLines.length > 0 ? [`Background jobs that ended:
55892
55965
  ${jobLines.map(([, line]) => `- ${line}`).join("\n")}`] : []
55893
55966
  ].join("\n\n");
@@ -56153,12 +56226,16 @@ ${jobLines.map(([, line]) => `- ${line}`).join("\n")}`] : []
56153
56226
  let idleNoticeSnapshot = {
56154
56227
  ids: []
56155
56228
  };
56229
+ let monitorSnapshot = {
56230
+ ids: []
56231
+ };
56156
56232
  let childNoticeSnapshot = /* @__PURE__ */ new Map();
56157
56233
  let workflowNoticeSnapshot = /* @__PURE__ */ new Map();
56158
56234
  let childMessageSnapshot = /* @__PURE__ */ new Map();
56159
56235
  try {
56160
56236
  if (admitted && !ac.signal.aborted && stillHere() && activeTurnTokenRef.current === turnToken && (!goalRound || destination === goalRound.sessionId && goalActivation.isArmed(goalRound.sessionId, goalRound))) {
56161
56237
  idleNoticeSnapshot = snapshotIdleJobNotices();
56238
+ monitorSnapshot = snapshotMonitorNotices();
56162
56239
  childNoticeSnapshot = new Map(directChildNoticesRef.current);
56163
56240
  workflowNoticeSnapshot = new Map(workflowNoticesRef.current);
56164
56241
  childMessageSnapshot = new Map(childMessagesRef.current);
@@ -56190,6 +56267,7 @@ ${jobLines.map(([, line]) => `- ${line}`).join("\n")}`] : []
56190
56267
  hostContext: /* @__PURE__ */ __name(() => [
56191
56268
  ...st.contextTexts ?? [],
56192
56269
  idleNoticeSnapshot.text,
56270
+ monitorSnapshot.text,
56193
56271
  workflowNoticeSnapshot.size > 0 ? `Workflows that ended since your last turn:
56194
56272
 
56195
56273
  ${[...workflowNoticeSnapshot.values()].join("\n\n")}` : void 0,
@@ -56311,6 +56389,9 @@ ${[...workflowNoticeSnapshot.values()].join("\n\n")}` : void 0,
56311
56389
  for (const id of workflowNoticeSnapshot.keys()) workflowNoticesRef.current.delete(id);
56312
56390
  for (const id of childMessageSnapshot.keys()) childMessagesRef.current.delete(id);
56313
56391
  }
56392
+ if (st.completed && monitorSnapshot.ids.length > 0) {
56393
+ session?.monitors?.acknowledge(monitorSnapshot.ids);
56394
+ }
56314
56395
  if (st.completed && idleJobNoticesRef.current.ownerSession === session) {
56315
56396
  for (const id of idleNoticeSnapshot.ids) idleJobNoticesRef.current.pending.delete(id);
56316
56397
  }
@@ -58292,7 +58373,7 @@ ${plugins.map((plugin) => {
58292
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"))
58293
58374
  return;
58294
58375
  const jobs = idleJobNoticesRef.current;
58295
- 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;
58296
58377
  if (!waiting) return;
58297
58378
  enqueueQueued({
58298
58379
  kind: "notice",
@@ -59510,6 +59591,7 @@ ${lines.join("\n")}`);
59510
59591
  composerMounted: showComposerSurface,
59511
59592
  restingHint: ctx.statusLine === void 0,
59512
59593
  shellCount: showComposerSurface && !childSurfaceOpen ? runningShellCount : 0,
59594
+ monitorCount: showComposerSurface && !childSurfaceOpen ? runningMonitorCount : 0,
59513
59595
  pr: prStatus,
59514
59596
  hyperlinks,
59515
59597
  agentCount: footerKeysLive ? runningAgentCount : 0,
@@ -60157,4 +60239,4 @@ react/cjs/react-jsx-runtime.development.js:
60157
60239
  * LICENSE file in the root directory of this source tree.
60158
60240
  *)
60159
60241
  */
60160
- //# sourceMappingURL=tui-NZUV74RQ.js.map
60242
+ //# sourceMappingURL=tui-EZVA52PY.js.map