@namzu/cli 37.2.1 → 38.1.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 (308) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +2 -2
  3. package/dist/analysis-host.js +293 -10
  4. package/dist/analysis-host.js.map +2 -2
  5. package/dist/bin.js +1 -1
  6. package/dist/chunks/{acp-IV4G4DDN.js → acp-QDANXLMJ.js} +62 -39
  7. package/dist/chunks/acp-QDANXLMJ.js.map +6 -0
  8. package/dist/chunks/{activity-command-FW57BC4I.js → activity-command-A7WTUUNC.js} +11 -11
  9. package/dist/chunks/{add-MGR37R67.js → add-LLZNHWGY.js} +16 -15
  10. package/dist/chunks/add-LLZNHWGY.js.map +6 -0
  11. package/dist/chunks/{agent-W75JSUKG.js → agent-SOBO2IVC.js} +27 -26
  12. package/dist/chunks/agent-session-RBHNKEGD.js +52 -0
  13. package/dist/chunks/{archive-KEMEXDTF.js → archive-I3XW27GP.js} +9 -9
  14. package/dist/chunks/{bin-main-CSS47L7D.js → bin-main-5PYT3T7X.js} +4 -3
  15. package/dist/chunks/bin-main-5PYT3T7X.js.map +6 -0
  16. package/dist/chunks/{browser-7KFOR6DK.js → browser-G3MJZ3DG.js} +6 -6
  17. package/dist/chunks/{chat-IRV5W5OA.js → chat-T5D5DCNK.js} +15 -14
  18. package/dist/chunks/chat-T5D5DCNK.js.map +6 -0
  19. package/dist/chunks/{chunk-N2ANOFXH.js → chunk-2UGC7RUB.js} +27531 -26264
  20. package/dist/chunks/chunk-2UGC7RUB.js.map +6 -0
  21. package/dist/chunks/{chunk-LC5CSMLC.js → chunk-2UWTSQHA.js} +3 -3
  22. package/dist/chunks/{chunk-WK6GEMBO.js → chunk-3WIGPA6H.js} +3 -3
  23. package/dist/chunks/{chunk-WI2MIQOJ.js → chunk-4UEMLMAO.js} +2 -2
  24. package/dist/chunks/{chunk-2UHRQ45K.js → chunk-54U4UGTC.js} +8 -8
  25. package/dist/chunks/{chunk-WCUCNKJU.js → chunk-5TXMCMJL.js} +53 -11
  26. package/dist/chunks/chunk-5TXMCMJL.js.map +6 -0
  27. package/dist/chunks/{chunk-57GLVV5T.js → chunk-6BHLLXPK.js} +4 -4
  28. package/dist/chunks/{chunk-Q35GDUZ4.js → chunk-6UXRPOEE.js} +2 -2
  29. package/dist/chunks/{chunk-DIXKMLHZ.js → chunk-6WMPFHXX.js} +3 -3
  30. package/dist/chunks/{chunk-DIXKMLHZ.js.map → chunk-6WMPFHXX.js.map} +1 -1
  31. package/dist/chunks/{chunk-VIS4SNKA.js → chunk-73XHOUDX.js} +6 -6
  32. package/dist/chunks/{chunk-HWR7GXGJ.js → chunk-7N5PZOSU.js} +3 -3
  33. package/dist/chunks/{chunk-QVUDFCFY.js → chunk-AIV33BFR.js} +4 -4
  34. package/dist/chunks/chunk-AJVXO5QA.js +86 -0
  35. package/dist/chunks/chunk-AJVXO5QA.js.map +6 -0
  36. package/dist/chunks/{chunk-MQVRM5OC.js → chunk-ALNAYYZH.js} +4 -4
  37. package/dist/chunks/{chunk-URMSX3IO.js → chunk-ASSTPA4A.js} +3 -3
  38. package/dist/chunks/{chunk-MCXVH6TQ.js → chunk-BOMYJAHT.js} +4 -4
  39. package/dist/chunks/{chunk-BMR6E2FY.js → chunk-BV57PYGE.js} +2 -2
  40. package/dist/chunks/{chunk-TZRA6QUH.js → chunk-CNCIPIHC.js} +17 -11
  41. package/dist/chunks/chunk-CNCIPIHC.js.map +6 -0
  42. package/dist/chunks/{chunk-AHD7MEBE.js → chunk-E4RUPCFR.js} +9 -9
  43. package/dist/chunks/{chunk-KS43Q64I.js → chunk-EAIHS7DX.js} +4 -4
  44. package/dist/chunks/{chunk-3NPQFAYV.js → chunk-EMHNNAAL.js} +2 -2
  45. package/dist/chunks/{chunk-I77G3ACY.js → chunk-FAAPXKG2.js} +3 -3
  46. package/dist/chunks/{chunk-VUE7LP6D.js → chunk-GL4E6OIO.js} +2 -2
  47. package/dist/chunks/{chunk-YHSMEYOT.js → chunk-IMVIKNHR.js} +4 -4
  48. package/dist/chunks/{chunk-GHF6GJ5Y.js → chunk-JF3HMHOH.js} +13 -13
  49. package/dist/chunks/{chunk-UUDEHY7M.js → chunk-JLZXFOT7.js} +2 -2
  50. package/dist/chunks/{chunk-24GH4KQJ.js → chunk-JOLXEWMZ.js} +2 -2
  51. package/dist/chunks/{chunk-LDKXWBLK.js → chunk-JVCMPZ3K.js} +7 -7
  52. package/dist/chunks/{chunk-BLDYNZ3J.js → chunk-KHUNDRQB.js} +2 -2
  53. package/dist/chunks/{chunk-3MUR66WZ.js → chunk-KQCP3QBI.js} +4 -4
  54. package/dist/chunks/{chunk-7WKQQOKK.js → chunk-M6CYVSNV.js} +287 -31
  55. package/dist/chunks/chunk-M6CYVSNV.js.map +6 -0
  56. package/dist/chunks/{chunk-WOY76GQF.js → chunk-MKT3L5E6.js} +5 -5
  57. package/dist/chunks/{chunk-QDLHNM37.js → chunk-N37EFNAV.js} +2 -2
  58. package/dist/chunks/{chunk-5E5AT2HQ.js → chunk-N7CZKWKN.js} +2 -2
  59. package/dist/chunks/chunk-NI4DVRFU.js +63 -0
  60. package/dist/chunks/chunk-NI4DVRFU.js.map +6 -0
  61. package/dist/chunks/{chunk-EZOZQJBG.js → chunk-NTC7YGAM.js} +4 -4
  62. package/dist/chunks/{chunk-5M256BI5.js → chunk-OGBOS4O6.js} +5 -5
  63. package/dist/chunks/{chunk-OCGWHJEN.js → chunk-OOU7VJHG.js} +12 -12
  64. package/dist/chunks/{chunk-T6NRDLAQ.js → chunk-OYZ6SZ3E.js} +67 -42
  65. package/dist/chunks/chunk-OYZ6SZ3E.js.map +6 -0
  66. package/dist/chunks/{chunk-LQMS65KX.js → chunk-P34B6ZYV.js} +3 -3
  67. package/dist/chunks/{chunk-OMSXEJYE.js → chunk-PB72XLZI.js} +2 -2
  68. package/dist/chunks/{chunk-QEUOFWAZ.js → chunk-PBBISRKF.js} +117 -3
  69. package/dist/chunks/chunk-PBBISRKF.js.map +6 -0
  70. package/dist/chunks/{chunk-S44YIFC3.js → chunk-PN76O25X.js} +2 -2
  71. package/dist/chunks/{chunk-VKZIX3HT.js → chunk-PQNLAOAW.js} +2 -2
  72. package/dist/chunks/{chunk-Q3B4NBK3.js → chunk-PRDAOS7E.js} +2 -2
  73. package/dist/chunks/{chunk-VEPUBE3H.js → chunk-R5DD4NG3.js} +2 -2
  74. package/dist/chunks/{chunk-HGADGGEG.js → chunk-RDPCXVEX.js} +2 -2
  75. package/dist/chunks/{chunk-ZARLAIDT.js → chunk-SFHP62ET.js} +2 -2
  76. package/dist/chunks/{chunk-T5TNPB4U.js → chunk-T3NBZFUV.js} +7 -7
  77. package/dist/chunks/{chunk-BGRWTZGG.js → chunk-TR7AV6E5.js} +3 -3
  78. package/dist/chunks/{chunk-Z2LUKZ27.js → chunk-TSSO2X7U.js} +5 -5
  79. package/dist/chunks/chunk-TSSO2X7U.js.map +6 -0
  80. package/dist/chunks/chunk-WMEZTDLT.js +17 -0
  81. package/dist/chunks/chunk-WMEZTDLT.js.map +6 -0
  82. package/dist/chunks/{chunk-YUEHR7BW.js → chunk-Y6O5MV4Y.js} +402 -168
  83. package/dist/chunks/chunk-Y6O5MV4Y.js.map +6 -0
  84. package/dist/chunks/chunk-YI4HMJOG.js +134 -0
  85. package/dist/chunks/chunk-YI4HMJOG.js.map +6 -0
  86. package/dist/chunks/{chunk-WWREIUJR.js → chunk-Z2P34MZS.js} +4 -4
  87. package/dist/chunks/{chunk-SZZNNW6N.js → chunk-ZBZVDIWU.js} +2 -2
  88. package/dist/chunks/{chunk-PJWDYXQI.js → chunk-ZDDZWL3G.js} +4 -4
  89. package/dist/chunks/{chunk-TDJ4XMCS.js → chunk-ZFQFLT7V.js} +18 -11
  90. package/dist/chunks/chunk-ZFQFLT7V.js.map +6 -0
  91. package/dist/chunks/{chunk-E73OMVMG.js → chunk-ZJ575MQN.js} +3 -3
  92. package/dist/chunks/{chunk-BHUDDJYS.js → chunk-ZWG3EZTX.js} +2 -2
  93. package/dist/chunks/{cli-runtime-23BX2YCB.js → cli-runtime-K4F3EBQS.js} +48 -7
  94. package/dist/chunks/cli-runtime-K4F3EBQS.js.map +6 -0
  95. package/dist/chunks/{commands-653H4ELC.js → commands-YC7L2QOH.js} +5 -5
  96. package/dist/chunks/{crash-report-V3BWOZ2M.js → crash-report-WQQLBSON.js} +6 -6
  97. package/dist/chunks/{dist-IQLEVRAR.js → dist-5NERUTGE.js} +2 -2
  98. package/dist/chunks/{dist-KGLSBIES.js → dist-ADL22Y3L.js} +1631 -208
  99. package/dist/chunks/dist-ADL22Y3L.js.map +6 -0
  100. package/dist/chunks/{dist-S7RG65ZN.js → dist-GY7DEOFW.js} +2 -2
  101. package/dist/chunks/{dist-Z5E2SZXJ.js → dist-K6Y4TDTR.js} +2 -2
  102. package/dist/chunks/{dist-3I7LFHB6.js → dist-KLZG5KHA.js} +2 -2
  103. package/dist/chunks/{dist-TQS4OUGR.js → dist-WQG6JF6S.js} +2 -2
  104. package/dist/chunks/{dist-SC3XYI4I.js → dist-X566F3HM.js} +2 -2
  105. package/dist/chunks/{dist-YQEFEGM4.js → dist-ZHXYP3JL.js} +2 -2
  106. package/dist/chunks/{doctor-GEZEPFP6.js → doctor-CCRTV4U3.js} +8 -8
  107. package/dist/chunks/{drain-HB5HGWEM.js → drain-HBQ7PSPY.js} +11 -10
  108. package/dist/chunks/drain-HBQ7PSPY.js.map +6 -0
  109. package/dist/chunks/{eval-RA3FXHBB.js → eval-QTEMU2EM.js} +2 -2
  110. package/dist/chunks/{exec-4QTKYNLX.js → exec-AEZSAZZD.js} +52 -24
  111. package/dist/chunks/exec-AEZSAZZD.js.map +6 -0
  112. package/dist/chunks/{home-2BMCNVI6.js → home-WZUWH5PC.js} +3 -3
  113. package/dist/chunks/{host-queries-KV4PSA37.js → host-queries-4VJ5CEAH.js} +14 -14
  114. package/dist/chunks/{lifecycle-HLPYVX33.js → lifecycle-NWT4MPRY.js} +24 -23
  115. package/dist/chunks/{list-CWBDURM4.js → list-JVUC64TK.js} +12 -11
  116. package/dist/chunks/list-JVUC64TK.js.map +6 -0
  117. package/dist/chunks/{login-JICZUCU4.js → login-D5YWQ2UL.js} +8 -8
  118. package/dist/chunks/{logs-EZVXV3ED.js → logs-Y7UAV3Z7.js} +4 -4
  119. package/dist/chunks/{mcp-AWQZVLNR.js → mcp-INYNL2GU.js} +17 -16
  120. package/dist/chunks/mcp-INYNL2GU.js.map +6 -0
  121. package/dist/chunks/{message-command-NQUVQG42.js → message-command-EBQSLXJB.js} +33 -32
  122. package/dist/chunks/message-command-EBQSLXJB.js.map +6 -0
  123. package/dist/chunks/{operator-tools-P3KHUSPM.js → operator-tools-NFB6XCBI.js} +12 -12
  124. package/dist/chunks/{output-schema-ASYUJL2G.js → output-schema-Q2SRX2K6.js} +3 -3
  125. package/dist/chunks/{pal-5F3CH7BQ.js → pal-4ASOF2MF.js} +11 -11
  126. package/dist/chunks/{providers-AMRKV2MR.js → providers-G6HLQTQM.js} +6 -6
  127. package/dist/chunks/{resident-BNR3NVGQ.js → resident-O6O7PAKU.js} +26 -23
  128. package/dist/chunks/resident-O6O7PAKU.js.map +6 -0
  129. package/dist/chunks/resume-BMR3VCES.js +22 -0
  130. package/dist/chunks/{resume-command-PPNI2EC7.js → resume-command-ZVB7EIXM.js} +4 -4
  131. package/dist/chunks/{schedule-2UXRUWFI.js → schedule-DWQ3ALQA.js} +8 -8
  132. package/dist/chunks/{service-GJPE7I3Z.js → service-WDU7FPLA.js} +23 -22
  133. package/dist/chunks/service-WDU7FPLA.js.map +6 -0
  134. package/dist/chunks/session-step-OUDE34A6.js +29 -0
  135. package/dist/chunks/{skills-7YS6Z6KZ.js → skills-2IL52ZCI.js} +8 -8
  136. package/dist/chunks/{state-2RDZT6FZ.js → state-3O5DDQHZ.js} +2 -2
  137. package/dist/chunks/{store-O6QV53BV.js → store-JYYMPLRL.js} +6 -6
  138. package/dist/chunks/{store-MXI3QAO3.js → store-QDL2I4V7.js} +4 -4
  139. package/dist/chunks/{store-3CNDOQL4.js → store-ZUIHCZSM.js} +9 -9
  140. package/dist/chunks/{tui-EZVA52PY.js → tui-D24IQIYO.js} +195 -79
  141. package/dist/chunks/tui-D24IQIYO.js.map +6 -0
  142. package/dist/chunks/{upgrade-JRTE42RR.js → upgrade-EBQQIOHS.js} +2 -2
  143. package/dist/chunks/{worktree-ZK2OD56A.js → worktree-CWBTAWWO.js} +11 -11
  144. package/dist/cli-runtime.d.ts +4 -0
  145. package/dist/cli-runtime.d.ts.map +1 -1
  146. package/dist/cli.d.ts.map +1 -1
  147. package/dist/commands/acp.d.ts +1 -1
  148. package/dist/commands/acp.d.ts.map +1 -1
  149. package/dist/commands/desktop-host.d.ts.map +1 -1
  150. package/dist/commands/exec-flags.d.ts +1 -1
  151. package/dist/commands/exec-flags.d.ts.map +1 -1
  152. package/dist/commands/exec-json.d.ts.map +1 -1
  153. package/dist/commands/exec.d.ts.map +1 -1
  154. package/dist/commands/resident-flags.d.ts.map +1 -1
  155. package/dist/config/load.d.ts.map +1 -1
  156. package/dist/config/schema.d.ts +9 -0
  157. package/dist/config/schema.d.ts.map +1 -1
  158. package/dist/index.js +13 -12
  159. package/dist/integrations/harness/codex-adapter.d.ts.map +1 -1
  160. package/dist/integrations/mcp/tool-search.d.ts +45 -0
  161. package/dist/integrations/mcp/tool-search.d.ts.map +1 -0
  162. package/dist/integrations/resident/runner-worker.js +19 -17
  163. package/dist/integrations/resident/runner-worker.js.map +1 -1
  164. package/dist/integrations/resident/session-step.d.ts.map +1 -1
  165. package/dist/integrations/workflows/offering.d.ts +1 -1
  166. package/dist/pals/actions.d.ts.map +1 -1
  167. package/dist/permissions/auto-classifier.d.ts +74 -0
  168. package/dist/permissions/auto-classifier.d.ts.map +1 -0
  169. package/dist/permissions/consent-prompt.d.ts +11 -0
  170. package/dist/permissions/consent-prompt.d.ts.map +1 -0
  171. package/dist/permissions/consent.d.ts +9 -0
  172. package/dist/permissions/consent.d.ts.map +1 -0
  173. package/dist/permissions/launch.d.ts +59 -0
  174. package/dist/permissions/launch.d.ts.map +1 -0
  175. package/dist/permissions/live-mode.d.ts +5 -4
  176. package/dist/permissions/live-mode.d.ts.map +1 -1
  177. package/dist/permissions/mode-names.d.ts +2 -1
  178. package/dist/permissions/mode-names.d.ts.map +1 -1
  179. package/dist/permissions/mode.d.ts +59 -19
  180. package/dist/permissions/mode.d.ts.map +1 -1
  181. package/dist/permissions/rules.d.ts.map +1 -1
  182. package/dist/permissions/settings.d.ts +81 -0
  183. package/dist/permissions/settings.d.ts.map +1 -0
  184. package/dist/tui/App.d.ts +160 -1
  185. package/dist/tui/App.d.ts.map +1 -1
  186. package/dist/tui/BrandHeader.d.ts.map +1 -1
  187. package/dist/tui/StatusBar.d.ts +6 -0
  188. package/dist/tui/StatusBar.d.ts.map +1 -1
  189. package/dist/tui/agent.d.ts +52 -3
  190. package/dist/tui/agent.d.ts.map +1 -1
  191. package/dist/tui/mentions.d.ts +6 -0
  192. package/dist/tui/mentions.d.ts.map +1 -1
  193. package/dist/tui/slashCommands.d.ts +1 -1
  194. package/dist/tui/slashCommands.d.ts.map +1 -1
  195. package/dist/tui/status-line/payload.d.ts.map +1 -1
  196. package/dist/tui/types.d.ts +13 -2
  197. package/dist/tui/types.d.ts.map +1 -1
  198. package/package.json +8 -8
  199. package/dist/chunks/acp-IV4G4DDN.js.map +0 -6
  200. package/dist/chunks/add-MGR37R67.js.map +0 -6
  201. package/dist/chunks/agent-session-DPXU4EEF.js +0 -51
  202. package/dist/chunks/bin-main-CSS47L7D.js.map +0 -6
  203. package/dist/chunks/chat-IRV5W5OA.js.map +0 -6
  204. package/dist/chunks/chunk-7WKQQOKK.js.map +0 -6
  205. package/dist/chunks/chunk-JW7ZIF23.js +0 -84
  206. package/dist/chunks/chunk-JW7ZIF23.js.map +0 -6
  207. package/dist/chunks/chunk-N2ANOFXH.js.map +0 -6
  208. package/dist/chunks/chunk-QEUOFWAZ.js.map +0 -6
  209. package/dist/chunks/chunk-T6NRDLAQ.js.map +0 -6
  210. package/dist/chunks/chunk-TDJ4XMCS.js.map +0 -6
  211. package/dist/chunks/chunk-TZRA6QUH.js.map +0 -6
  212. package/dist/chunks/chunk-WCUCNKJU.js.map +0 -6
  213. package/dist/chunks/chunk-YUEHR7BW.js.map +0 -6
  214. package/dist/chunks/chunk-Z2LUKZ27.js.map +0 -6
  215. package/dist/chunks/cli-runtime-23BX2YCB.js.map +0 -6
  216. package/dist/chunks/dist-KGLSBIES.js.map +0 -6
  217. package/dist/chunks/drain-HB5HGWEM.js.map +0 -6
  218. package/dist/chunks/exec-4QTKYNLX.js.map +0 -6
  219. package/dist/chunks/list-CWBDURM4.js.map +0 -6
  220. package/dist/chunks/mcp-AWQZVLNR.js.map +0 -6
  221. package/dist/chunks/message-command-NQUVQG42.js.map +0 -6
  222. package/dist/chunks/resident-BNR3NVGQ.js.map +0 -6
  223. package/dist/chunks/resume-6HKESNKD.js +0 -22
  224. package/dist/chunks/service-GJPE7I3Z.js.map +0 -6
  225. package/dist/chunks/session-step-SQJKL3HY.js +0 -27
  226. package/dist/chunks/tui-EZVA52PY.js.map +0 -6
  227. /package/dist/chunks/{activity-command-FW57BC4I.js.map → activity-command-A7WTUUNC.js.map} +0 -0
  228. /package/dist/chunks/{agent-W75JSUKG.js.map → agent-SOBO2IVC.js.map} +0 -0
  229. /package/dist/chunks/{agent-session-DPXU4EEF.js.map → agent-session-RBHNKEGD.js.map} +0 -0
  230. /package/dist/chunks/{archive-KEMEXDTF.js.map → archive-I3XW27GP.js.map} +0 -0
  231. /package/dist/chunks/{browser-7KFOR6DK.js.map → browser-G3MJZ3DG.js.map} +0 -0
  232. /package/dist/chunks/{chunk-LC5CSMLC.js.map → chunk-2UWTSQHA.js.map} +0 -0
  233. /package/dist/chunks/{chunk-WK6GEMBO.js.map → chunk-3WIGPA6H.js.map} +0 -0
  234. /package/dist/chunks/{chunk-WI2MIQOJ.js.map → chunk-4UEMLMAO.js.map} +0 -0
  235. /package/dist/chunks/{chunk-2UHRQ45K.js.map → chunk-54U4UGTC.js.map} +0 -0
  236. /package/dist/chunks/{chunk-57GLVV5T.js.map → chunk-6BHLLXPK.js.map} +0 -0
  237. /package/dist/chunks/{chunk-Q35GDUZ4.js.map → chunk-6UXRPOEE.js.map} +0 -0
  238. /package/dist/chunks/{chunk-VIS4SNKA.js.map → chunk-73XHOUDX.js.map} +0 -0
  239. /package/dist/chunks/{chunk-HWR7GXGJ.js.map → chunk-7N5PZOSU.js.map} +0 -0
  240. /package/dist/chunks/{chunk-QVUDFCFY.js.map → chunk-AIV33BFR.js.map} +0 -0
  241. /package/dist/chunks/{chunk-MQVRM5OC.js.map → chunk-ALNAYYZH.js.map} +0 -0
  242. /package/dist/chunks/{chunk-URMSX3IO.js.map → chunk-ASSTPA4A.js.map} +0 -0
  243. /package/dist/chunks/{chunk-MCXVH6TQ.js.map → chunk-BOMYJAHT.js.map} +0 -0
  244. /package/dist/chunks/{chunk-BMR6E2FY.js.map → chunk-BV57PYGE.js.map} +0 -0
  245. /package/dist/chunks/{chunk-AHD7MEBE.js.map → chunk-E4RUPCFR.js.map} +0 -0
  246. /package/dist/chunks/{chunk-KS43Q64I.js.map → chunk-EAIHS7DX.js.map} +0 -0
  247. /package/dist/chunks/{chunk-3NPQFAYV.js.map → chunk-EMHNNAAL.js.map} +0 -0
  248. /package/dist/chunks/{chunk-I77G3ACY.js.map → chunk-FAAPXKG2.js.map} +0 -0
  249. /package/dist/chunks/{chunk-VUE7LP6D.js.map → chunk-GL4E6OIO.js.map} +0 -0
  250. /package/dist/chunks/{chunk-YHSMEYOT.js.map → chunk-IMVIKNHR.js.map} +0 -0
  251. /package/dist/chunks/{chunk-GHF6GJ5Y.js.map → chunk-JF3HMHOH.js.map} +0 -0
  252. /package/dist/chunks/{chunk-UUDEHY7M.js.map → chunk-JLZXFOT7.js.map} +0 -0
  253. /package/dist/chunks/{chunk-24GH4KQJ.js.map → chunk-JOLXEWMZ.js.map} +0 -0
  254. /package/dist/chunks/{chunk-LDKXWBLK.js.map → chunk-JVCMPZ3K.js.map} +0 -0
  255. /package/dist/chunks/{chunk-BLDYNZ3J.js.map → chunk-KHUNDRQB.js.map} +0 -0
  256. /package/dist/chunks/{chunk-3MUR66WZ.js.map → chunk-KQCP3QBI.js.map} +0 -0
  257. /package/dist/chunks/{chunk-WOY76GQF.js.map → chunk-MKT3L5E6.js.map} +0 -0
  258. /package/dist/chunks/{chunk-QDLHNM37.js.map → chunk-N37EFNAV.js.map} +0 -0
  259. /package/dist/chunks/{chunk-5E5AT2HQ.js.map → chunk-N7CZKWKN.js.map} +0 -0
  260. /package/dist/chunks/{chunk-EZOZQJBG.js.map → chunk-NTC7YGAM.js.map} +0 -0
  261. /package/dist/chunks/{chunk-5M256BI5.js.map → chunk-OGBOS4O6.js.map} +0 -0
  262. /package/dist/chunks/{chunk-OCGWHJEN.js.map → chunk-OOU7VJHG.js.map} +0 -0
  263. /package/dist/chunks/{chunk-LQMS65KX.js.map → chunk-P34B6ZYV.js.map} +0 -0
  264. /package/dist/chunks/{chunk-OMSXEJYE.js.map → chunk-PB72XLZI.js.map} +0 -0
  265. /package/dist/chunks/{chunk-S44YIFC3.js.map → chunk-PN76O25X.js.map} +0 -0
  266. /package/dist/chunks/{chunk-VKZIX3HT.js.map → chunk-PQNLAOAW.js.map} +0 -0
  267. /package/dist/chunks/{chunk-Q3B4NBK3.js.map → chunk-PRDAOS7E.js.map} +0 -0
  268. /package/dist/chunks/{chunk-VEPUBE3H.js.map → chunk-R5DD4NG3.js.map} +0 -0
  269. /package/dist/chunks/{chunk-HGADGGEG.js.map → chunk-RDPCXVEX.js.map} +0 -0
  270. /package/dist/chunks/{chunk-ZARLAIDT.js.map → chunk-SFHP62ET.js.map} +0 -0
  271. /package/dist/chunks/{chunk-T5TNPB4U.js.map → chunk-T3NBZFUV.js.map} +0 -0
  272. /package/dist/chunks/{chunk-BGRWTZGG.js.map → chunk-TR7AV6E5.js.map} +0 -0
  273. /package/dist/chunks/{chunk-WWREIUJR.js.map → chunk-Z2P34MZS.js.map} +0 -0
  274. /package/dist/chunks/{chunk-SZZNNW6N.js.map → chunk-ZBZVDIWU.js.map} +0 -0
  275. /package/dist/chunks/{chunk-PJWDYXQI.js.map → chunk-ZDDZWL3G.js.map} +0 -0
  276. /package/dist/chunks/{chunk-E73OMVMG.js.map → chunk-ZJ575MQN.js.map} +0 -0
  277. /package/dist/chunks/{chunk-BHUDDJYS.js.map → chunk-ZWG3EZTX.js.map} +0 -0
  278. /package/dist/chunks/{commands-653H4ELC.js.map → commands-YC7L2QOH.js.map} +0 -0
  279. /package/dist/chunks/{crash-report-V3BWOZ2M.js.map → crash-report-WQQLBSON.js.map} +0 -0
  280. /package/dist/chunks/{dist-IQLEVRAR.js.map → dist-5NERUTGE.js.map} +0 -0
  281. /package/dist/chunks/{dist-S7RG65ZN.js.map → dist-GY7DEOFW.js.map} +0 -0
  282. /package/dist/chunks/{dist-Z5E2SZXJ.js.map → dist-K6Y4TDTR.js.map} +0 -0
  283. /package/dist/chunks/{dist-3I7LFHB6.js.map → dist-KLZG5KHA.js.map} +0 -0
  284. /package/dist/chunks/{dist-TQS4OUGR.js.map → dist-WQG6JF6S.js.map} +0 -0
  285. /package/dist/chunks/{dist-SC3XYI4I.js.map → dist-X566F3HM.js.map} +0 -0
  286. /package/dist/chunks/{dist-YQEFEGM4.js.map → dist-ZHXYP3JL.js.map} +0 -0
  287. /package/dist/chunks/{doctor-GEZEPFP6.js.map → doctor-CCRTV4U3.js.map} +0 -0
  288. /package/dist/chunks/{eval-RA3FXHBB.js.map → eval-QTEMU2EM.js.map} +0 -0
  289. /package/dist/chunks/{home-2BMCNVI6.js.map → home-WZUWH5PC.js.map} +0 -0
  290. /package/dist/chunks/{host-queries-KV4PSA37.js.map → host-queries-4VJ5CEAH.js.map} +0 -0
  291. /package/dist/chunks/{lifecycle-HLPYVX33.js.map → lifecycle-NWT4MPRY.js.map} +0 -0
  292. /package/dist/chunks/{login-JICZUCU4.js.map → login-D5YWQ2UL.js.map} +0 -0
  293. /package/dist/chunks/{logs-EZVXV3ED.js.map → logs-Y7UAV3Z7.js.map} +0 -0
  294. /package/dist/chunks/{operator-tools-P3KHUSPM.js.map → operator-tools-NFB6XCBI.js.map} +0 -0
  295. /package/dist/chunks/{output-schema-ASYUJL2G.js.map → output-schema-Q2SRX2K6.js.map} +0 -0
  296. /package/dist/chunks/{pal-5F3CH7BQ.js.map → pal-4ASOF2MF.js.map} +0 -0
  297. /package/dist/chunks/{providers-AMRKV2MR.js.map → providers-G6HLQTQM.js.map} +0 -0
  298. /package/dist/chunks/{resume-6HKESNKD.js.map → resume-BMR3VCES.js.map} +0 -0
  299. /package/dist/chunks/{resume-command-PPNI2EC7.js.map → resume-command-ZVB7EIXM.js.map} +0 -0
  300. /package/dist/chunks/{schedule-2UXRUWFI.js.map → schedule-DWQ3ALQA.js.map} +0 -0
  301. /package/dist/chunks/{session-step-SQJKL3HY.js.map → session-step-OUDE34A6.js.map} +0 -0
  302. /package/dist/chunks/{skills-7YS6Z6KZ.js.map → skills-2IL52ZCI.js.map} +0 -0
  303. /package/dist/chunks/{state-2RDZT6FZ.js.map → state-3O5DDQHZ.js.map} +0 -0
  304. /package/dist/chunks/{store-3CNDOQL4.js.map → store-JYYMPLRL.js.map} +0 -0
  305. /package/dist/chunks/{store-MXI3QAO3.js.map → store-QDL2I4V7.js.map} +0 -0
  306. /package/dist/chunks/{store-O6QV53BV.js.map → store-ZUIHCZSM.js.map} +0 -0
  307. /package/dist/chunks/{upgrade-JRTE42RR.js.map → upgrade-EBQQIOHS.js.map} +0 -0
  308. /package/dist/chunks/{worktree-ZK2OD56A.js.map → worktree-CWBTAWWO.js.map} +0 -0
@@ -2,15 +2,21 @@ import { createRequire as __namzuCreateRequire } from 'node:module';
2
2
  const require = __namzuCreateRequire(import.meta.url);
3
3
  import {
4
4
  reportCrash
5
- } from "./chunk-Q3B4NBK3.js";
5
+ } from "./chunk-PRDAOS7E.js";
6
+ import {
7
+ BYPASS_CONSENT_BODY,
8
+ BYPASS_CONSENT_TITLE,
9
+ acknowledgeBypass,
10
+ hasAcknowledgedBypass
11
+ } from "./chunk-NI4DVRFU.js";
6
12
  import {
7
13
  settleAnsweredPark
8
- } from "./chunk-T5TNPB4U.js";
14
+ } from "./chunk-T3NBZFUV.js";
9
15
  import {
10
16
  DELIVERY_READ_LIMIT,
11
17
  readSourceDeliveryPage,
12
18
  takeSuppressedCount
13
- } from "./chunk-OCGWHJEN.js";
19
+ } from "./chunk-OOU7VJHG.js";
14
20
  import {
15
21
  callsCount
16
22
  } from "./chunk-E5VLANCO.js";
@@ -33,7 +39,7 @@ import {
33
39
  confirmationView,
34
40
  describeChanges,
35
41
  permissionsChanged
36
- } from "./chunk-SZZNNW6N.js";
42
+ } from "./chunk-ZBZVDIWU.js";
37
43
  import {
38
44
  visibleScheduleMessage
39
45
  } from "./chunk-NADQQMMG.js";
@@ -50,25 +56,25 @@ import {
50
56
  runsPerDay,
51
57
  scriptShellUnavailableReason,
52
58
  verifyScheduledScript
53
- } from "./chunk-MQVRM5OC.js";
59
+ } from "./chunk-ALNAYYZH.js";
54
60
  import {
55
61
  allowsCommands,
56
62
  compileJobPolicy,
57
63
  compileScriptCheckPolicy,
58
64
  isPresetName
59
- } from "./chunk-KS43Q64I.js";
60
- import "./chunk-UUDEHY7M.js";
65
+ } from "./chunk-EAIHS7DX.js";
66
+ import "./chunk-JLZXFOT7.js";
61
67
  import {
62
68
  formatResumeShellCommand,
63
69
  parkedRunWords,
64
70
  resumeCommand
65
- } from "./chunk-ZARLAIDT.js";
71
+ } from "./chunk-SFHP62ET.js";
66
72
  import {
67
73
  appendHistory,
68
74
  nextFireOf,
69
75
  readHistory,
70
76
  readState
71
- } from "./chunk-S44YIFC3.js";
77
+ } from "./chunk-PN76O25X.js";
72
78
  import {
73
79
  TURN_LIMIT_FIELDS,
74
80
  baseBranchReviewPrompt,
@@ -91,14 +97,14 @@ import {
91
97
  turnLimitCommands,
92
98
  wrapBalancedText,
93
99
  wrapChoiceText
94
- } from "./chunk-TDJ4XMCS.js";
100
+ } from "./chunk-ZFQFLT7V.js";
95
101
  import {
96
102
  handleTerminationSignals
97
- } from "./chunk-5E5AT2HQ.js";
103
+ } from "./chunk-N7CZKWKN.js";
98
104
  import "./chunk-TBIX6JRE.js";
99
105
  import {
100
106
  setUserConfigValue
101
- } from "./chunk-URMSX3IO.js";
107
+ } from "./chunk-ASSTPA4A.js";
102
108
  import {
103
109
  describeAllCredentialsLogout,
104
110
  describeCodexDeviceLoginStart,
@@ -123,14 +129,14 @@ import {
123
129
  withAutoChoice,
124
130
  withDebugDetail,
125
131
  writeConversationExport
126
- } from "./chunk-WK6GEMBO.js";
132
+ } from "./chunk-3WIGPA6H.js";
127
133
  import {
128
134
  tuiPalDefinition,
129
135
  tuiPalEnvironment,
130
136
  tuiPalOwner,
131
137
  tuiPalPreferences
132
- } from "./chunk-5M256BI5.js";
133
- import "./chunk-2UHRQ45K.js";
138
+ } from "./chunk-OGBOS4O6.js";
139
+ import "./chunk-54U4UGTC.js";
134
140
  import {
135
141
  DEFAULT_AGENT_PHASE,
136
142
  DEFAULT_AGENT_WORKFLOW,
@@ -169,17 +175,17 @@ import {
169
175
  webCallTitle,
170
176
  webLiveStatus,
171
177
  webSettledLine
172
- } from "./chunk-YUEHR7BW.js";
178
+ } from "./chunk-Y6O5MV4Y.js";
173
179
  import {
174
180
  describePlainInterruption,
175
181
  describeProviderWait,
176
182
  describeProviderWaitClock
177
- } from "./chunk-LC5CSMLC.js";
183
+ } from "./chunk-2UWTSQHA.js";
178
184
  import {
179
185
  openManagedWorktrees,
180
186
  worktreeOpenHint
181
- } from "./chunk-QVUDFCFY.js";
182
- import "./chunk-HWR7GXGJ.js";
187
+ } from "./chunk-AIV33BFR.js";
188
+ import "./chunk-7N5PZOSU.js";
183
189
  import {
184
190
  describeBrowserStatus
185
191
  } from "./chunk-WHODOMXA.js";
@@ -198,17 +204,17 @@ import {
198
204
  newSkillPrompt,
199
205
  resolveTurnGuards,
200
206
  runTokens
201
- } from "./chunk-Z2LUKZ27.js";
202
- import "./chunk-EZOZQJBG.js";
207
+ } from "./chunk-TSSO2X7U.js";
208
+ import "./chunk-NTC7YGAM.js";
203
209
  import {
204
210
  openInBrowser
205
- } from "./chunk-VUE7LP6D.js";
211
+ } from "./chunk-GL4E6OIO.js";
206
212
  import "./chunk-NUGPLXVK.js";
207
213
  import {
208
214
  beginCodexDeviceLogin,
209
215
  beginSubscriptionLogin,
210
216
  parsePastedInput
211
- } from "./chunk-57GLVV5T.js";
217
+ } from "./chunk-6BHLLXPK.js";
212
218
  import {
213
219
  NO_SKILLS_FOUND,
214
220
  composeSkillsPrompt,
@@ -216,13 +222,13 @@ import {
216
222
  loadSkillBody,
217
223
  renderSkillRoster,
218
224
  skillTierLabel
219
- } from "./chunk-BGRWTZGG.js";
220
- import "./chunk-E73OMVMG.js";
221
- import "./chunk-VIS4SNKA.js";
225
+ } from "./chunk-TR7AV6E5.js";
226
+ import "./chunk-ZJ575MQN.js";
227
+ import "./chunk-73XHOUDX.js";
222
228
  import {
223
229
  claimPalConversation,
224
230
  listPalConversations
225
- } from "./chunk-MCXVH6TQ.js";
231
+ } from "./chunk-BOMYJAHT.js";
226
232
  import "./chunk-ZWA2JRJV.js";
227
233
  import {
228
234
  pinTrustedProjectPath,
@@ -240,11 +246,11 @@ import {
240
246
  loadConfigWithProvenance,
241
247
  readPermissionLayers,
242
248
  resolveComposerTriggers
243
- } from "./chunk-WCUCNKJU.js";
249
+ } from "./chunk-5TXMCMJL.js";
244
250
  import "./chunk-KONYGNG6.js";
245
251
  import {
246
252
  formatConfigSource
247
- } from "./chunk-WI2MIQOJ.js";
253
+ } from "./chunk-4UEMLMAO.js";
248
254
  import {
249
255
  displayPath,
250
256
  formatSize,
@@ -273,7 +279,7 @@ import {
273
279
  writeJsonAtomic
274
280
  } from "./chunk-OEW7CJKK.js";
275
281
  import "./chunk-HE7WUOX2.js";
276
- import "./chunk-YHSMEYOT.js";
282
+ import "./chunk-IMVIKNHR.js";
277
283
  import {
278
284
  EXIT_INTERNAL_ERROR
279
285
  } from "./chunk-Y7B67G22.js";
@@ -291,7 +297,7 @@ import {
291
297
  primaryProvider,
292
298
  signedInSubscriptionProviders,
293
299
  writePreferences
294
- } from "./chunk-GHF6GJ5Y.js";
300
+ } from "./chunk-JF3HMHOH.js";
295
301
  import {
296
302
  ALL_PROVIDER_IDS,
297
303
  PROVIDER_REGISTRY,
@@ -301,20 +307,21 @@ import {
301
307
  } from "./chunk-6LLJQ3KY.js";
302
308
  import {
303
309
  applyProviderFlags
304
- } from "./chunk-DIXKMLHZ.js";
310
+ } from "./chunk-6WMPFHXX.js";
305
311
  import "./chunk-XEUQN4JC.js";
306
312
  import {
307
313
  PAUSED_TURN_LINES,
308
314
  currentTimeLine,
309
315
  describeTurnStop,
310
316
  handoffContinuationNote
311
- } from "./chunk-BMR6E2FY.js";
317
+ } from "./chunk-BV57PYGE.js";
312
318
  import {
313
- bypassAvailableAtLaunch,
319
+ autoAvailable,
314
320
  nextCycleMode,
315
321
  permissionModeDescription,
316
- permissionModeLabel
317
- } from "./chunk-JW7ZIF23.js";
322
+ permissionModeLabel,
323
+ permissionModeName
324
+ } from "./chunk-YI4HMJOG.js";
318
325
  import {
319
326
  terminalDisplayText
320
327
  } from "./chunk-EEDZOGV4.js";
@@ -339,24 +346,25 @@ import {
339
346
  titlesOf,
340
347
  typedTextOf,
341
348
  unarchiveConversation
342
- } from "./chunk-WOY76GQF.js";
349
+ } from "./chunk-MKT3L5E6.js";
343
350
  import "./chunk-H6B6AROX.js";
344
- import "./chunk-BHUDDJYS.js";
345
- import "./chunk-PJWDYXQI.js";
351
+ import "./chunk-ZWG3EZTX.js";
352
+ import "./chunk-ZDDZWL3G.js";
346
353
  import {
347
354
  isTrusted,
348
355
  trustDir
349
- } from "./chunk-QDLHNM37.js";
356
+ } from "./chunk-N37EFNAV.js";
350
357
  import "./chunk-LXB3S4IC.js";
351
- import "./chunk-QEUOFWAZ.js";
358
+ import "./chunk-PBBISRKF.js";
359
+ import "./chunk-WMEZTDLT.js";
352
360
  import {
353
361
  contextLogging,
354
362
  installCliLogging
355
- } from "./chunk-HGADGGEG.js";
363
+ } from "./chunk-RDPCXVEX.js";
356
364
  import "./chunk-OH6TB27S.js";
357
365
  import "./chunk-U3JIZFOS.js";
358
366
  import "./chunk-TCXFKEYW.js";
359
- import "./chunk-VEPUBE3H.js";
367
+ import "./chunk-R5DD4NG3.js";
360
368
  import "./chunk-JORONMD3.js";
361
369
  import {
362
370
  clearAllStoredCredentials,
@@ -370,8 +378,8 @@ import {
370
378
  readStoredSubscriptionCredential,
371
379
  restrictToOwner,
372
380
  writeStoredGeminiApiKey
373
- } from "./chunk-24GH4KQJ.js";
374
- import "./chunk-BLDYNZ3J.js";
381
+ } from "./chunk-JOLXEWMZ.js";
382
+ import "./chunk-KHUNDRQB.js";
375
383
  import {
376
384
  ACCEPT_EDITS_TOOLS,
377
385
  DECLINED_TOOL_CALL_FEEDBACK,
@@ -430,7 +438,7 @@ import {
430
438
  validateTimeZone,
431
439
  wrapUntrusted,
432
440
  writePeerRecord
433
- } from "./chunk-N2ANOFXH.js";
441
+ } from "./chunk-2UGC7RUB.js";
434
442
  import {
435
443
  __commonJS,
436
444
  __export,
@@ -38966,10 +38974,10 @@ function BrandHeader({ version, permissionMode, cwd: cwd2 }) {
38966
38974
  folder ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Text, { color: theme.text.muted, wrap: "truncate-end", children: folder }) : null
38967
38975
  ] }) : null
38968
38976
  ] }),
38969
- permissionMode === "auto" ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Text, { color: theme.status.warn, children: [
38977
+ permissionMode === "bypass" ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Text, { color: theme.status.error, children: [
38970
38978
  "Warning: ",
38971
38979
  permissionModeLabel(permissionMode),
38972
- " \u2014 tools run without asking. Use /permissions to change this."
38980
+ " \u2014 commands and edits run without asking, including outside this folder. Rules that deny or ask still apply. Use /permissions to change this."
38973
38981
  ] }) }) : null
38974
38982
  ] });
38975
38983
  }
@@ -39415,9 +39423,10 @@ ${body}
39415
39423
  attached.push(label);
39416
39424
  }
39417
39425
  if (blocks.length === 0) return { sendText: text, attached: [] };
39426
+ const inlined = blocks.join("\n\n");
39418
39427
  return { sendText: `${text}
39419
39428
 
39420
- ${blocks.join("\n\n")}`, attached };
39429
+ ${inlined}`, attached, inlined };
39421
39430
  }
39422
39431
  __name(expandFileMentions, "expandFileMentions");
39423
39432
  function rangeLabel(range) {
@@ -44934,8 +44943,12 @@ var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1);
44934
44943
  var MODE_MARK = { moving: "\u23F5\u23F5", held: "\u2016" };
44935
44944
  function modeGlyph(mode) {
44936
44945
  switch (mode) {
44937
- case "auto":
44946
+ case "bypass":
44938
44947
  return { icon: MODE_MARK.moving, color: theme.status.error, label: "bypass permissions" };
44948
+ case "classify":
44949
+ return { icon: MODE_MARK.moving, color: theme.status.warn, label: "auto mode" };
44950
+ case "auto":
44951
+ return { icon: MODE_MARK.moving, color: theme.status.warn, label: "unattended" };
44939
44952
  case "accept-edits":
44940
44953
  return { icon: MODE_MARK.moving, color: theme.accent.user, label: "accept edits" };
44941
44954
  case "plan":
@@ -50359,7 +50372,7 @@ function buildStatusLinePayload(input) {
50359
50372
  session_id: input.sessionId ?? "",
50360
50373
  ...input.sessionName ? { session_name: input.sessionName } : {},
50361
50374
  cwd: input.cwd,
50362
- ...input.permissionMode ? { permission_mode: input.permissionMode } : {},
50375
+ ...input.permissionMode ? { permission_mode: permissionModeName(input.permissionMode) } : {},
50363
50376
  model: { id: model, display_name: model },
50364
50377
  workspace: {
50365
50378
  current_dir: input.cwd,
@@ -51027,17 +51040,15 @@ function App2({
51027
51040
  }, []);
51028
51041
  const launchPermissionMode = ctx.palId ? void 0 : ctx.launchSettings?.permissionMode;
51029
51042
  const [permissionMode, setPermissionModeState] = (0, import_react52.useState)(
51030
- launchPermissionMode ?? (ctx.skipPermissions === true || ctx.palId ? "auto" : "prompt")
51043
+ launchPermissionMode ?? (ctx.skipPermissions === true ? "bypass" : ctx.palId ? "auto" : "prompt")
51031
51044
  );
51032
51045
  const permissionModeRef = (0, import_react52.useRef)(permissionMode);
51046
+ const autoModeNoticeShownRef = (0, import_react52.useRef)(false);
51033
51047
  const bypassAvailableRef = (0, import_react52.useRef)(
51034
- bypassAvailableAtLaunch({
51035
- launchMode: permissionMode,
51036
- allowDangerouslySkipPermissions: ctx.allowDangerouslySkipPermissions === true
51037
- })
51048
+ ctx.bypassAvailable ?? (ctx.skipPermissions === true || ctx.allowDangerouslySkipPermissions === true || permissionMode === "bypass")
51038
51049
  );
51039
51050
  const permissionModeSourceRef = (0, import_react52.useRef)(
51040
- launchPermissionMode ? "launch-flag" : ctx.skipPermissions === true ? "launch-bypass" : "default"
51051
+ ctx.permissionSource === "config-default" ? "config-default" : launchPermissionMode ? "launch-flag" : ctx.skipPermissions === true ? "launch-bypass" : "default"
51041
51052
  );
51042
51053
  const [reasoningEffort, setReasoningEffortState] = (0, import_react52.useState)();
51043
51054
  const reasoningEffortRef = (0, import_react52.useRef)(void 0);
@@ -52367,14 +52378,20 @@ ${blocks.join("\n\n")}`;
52367
52378
  }
52368
52379
  }
52369
52380
  }, [subagents, pushMessage, session]);
52370
- const applyPermissionMode = (0, import_react52.useCallback)(
52371
- (mode, announce = true) => {
52372
- if (!session?.hasProvider) {
52373
- pushMessage("system", "Choose a model before changing permissions.");
52374
- return;
52375
- }
52381
+ const permissionAvailability = (0, import_react52.useCallback)(
52382
+ () => ({
52383
+ bypass: bypassAvailableRef.current,
52384
+ auto: autoAvailable({
52385
+ disabled: ctx.permissionSettings?.disableAutoMode === true,
52386
+ classifierUsable: session?.autoMode?.available ?? true
52387
+ })
52388
+ }),
52389
+ [ctx.permissionSettings, session]
52390
+ );
52391
+ const commitPermissionMode = (0, import_react52.useCallback)(
52392
+ (mode, announce) => {
52393
+ if (!session?.hasProvider) return;
52376
52394
  permissionModeRef.current = mode;
52377
- if (mode === "auto" && announce) bypassAvailableRef.current = true;
52378
52395
  permissionModeSourceRef.current = "session";
52379
52396
  setPermissionModeState(mode);
52380
52397
  void session.setPermissionMode?.(mode);
@@ -52383,10 +52400,60 @@ ${blocks.join("\n\n")}`;
52383
52400
  "system",
52384
52401
  `Permissions: ${permissionModeLabel(mode)} for this conversation. ${permissionModeDescription(mode)}`
52385
52402
  );
52403
+ } else if (mode === "classify" && !autoModeNoticeShownRef.current) {
52404
+ autoModeNoticeShownRef.current = true;
52405
+ pushMessage(
52406
+ "system",
52407
+ "Auto mode: a second model checks each call you would be asked about."
52408
+ );
52386
52409
  }
52387
52410
  },
52388
52411
  [pushMessage, session]
52389
52412
  );
52413
+ const applyPermissionMode = (0, import_react52.useCallback)(
52414
+ (mode, announce = true) => {
52415
+ if (!session?.hasProvider) {
52416
+ pushMessage("system", "Choose a model before changing permissions.");
52417
+ return;
52418
+ }
52419
+ if (mode === "bypass" && permissionModeRef.current !== "bypass") {
52420
+ if (!bypassAvailableRef.current) {
52421
+ pushMessage("system", BYPASS_UNAVAILABLE_NOTICE);
52422
+ return;
52423
+ }
52424
+ if (!hasAcknowledgedBypass()) {
52425
+ if (permissionResolveRef.current !== null) {
52426
+ pushMessage("system", "Answer the question on screen before switching to bypass.");
52427
+ return;
52428
+ }
52429
+ setChoicePicker(bypassConsentPicker(announce));
52430
+ return;
52431
+ }
52432
+ }
52433
+ if (mode === "classify" && permissionModeRef.current !== "classify") {
52434
+ if (!autoAvailable({
52435
+ disabled: ctx.permissionSettings?.disableAutoMode === true,
52436
+ classifierUsable: session.autoMode?.available ?? true
52437
+ })) {
52438
+ pushMessage("system", session.autoMode?.reason ?? AUTO_UNAVAILABLE_NOTICE);
52439
+ return;
52440
+ }
52441
+ }
52442
+ commitPermissionMode(mode, announce);
52443
+ },
52444
+ [commitPermissionMode, ctx.permissionSettings, pushMessage, session, setChoicePicker]
52445
+ );
52446
+ const handleAutoModeLimit = (0, import_react52.useCallback)(
52447
+ (event) => {
52448
+ if (permissionModeRef.current !== "classify") return;
52449
+ commitPermissionMode("prompt", false);
52450
+ pushMessage(
52451
+ "system",
52452
+ `${event.limit === "consecutive" ? "Auto mode blocked three actions in a row" : "Auto mode has blocked twenty actions in this conversation"}, so Namzu will ask before changes again. ${event.reason}`
52453
+ );
52454
+ },
52455
+ [commitPermissionMode, pushMessage]
52456
+ );
52390
52457
  const applyReasoningEffort = (0, import_react52.useCallback)(
52391
52458
  (effort, selectedSession) => {
52392
52459
  if (!session?.hasProvider) {
@@ -52719,8 +52786,8 @@ ${blocks.join("\n\n")}`;
52719
52786
  }, [hasUnsettledTurn, pushMessage, state]);
52720
52787
  const cyclePermissionMode = (0, import_react52.useCallback)(() => {
52721
52788
  const current = permissionModeRef.current;
52722
- applyPermissionMode(nextCycleMode(current, bypassAvailableRef.current), false);
52723
- }, [applyPermissionMode]);
52789
+ applyPermissionMode(nextCycleMode(current, permissionAvailability()), false);
52790
+ }, [applyPermissionMode, permissionAvailability]);
52724
52791
  const runConversationExport = (0, import_react52.useCallback)(
52725
52792
  (destination) => {
52726
52793
  const source = stableExportSource();
@@ -53069,9 +53136,19 @@ ${blocks.join("\n\n")}`;
53069
53136
  });
53070
53137
  return;
53071
53138
  }
53139
+ if (picker.kind === "bypass-consent") {
53140
+ if (value === "accept") {
53141
+ try {
53142
+ acknowledgeBypass();
53143
+ } catch {
53144
+ }
53145
+ commitPermissionMode("bypass", picker.announce);
53146
+ }
53147
+ return;
53148
+ }
53072
53149
  if (picker.kind === "permission-mode") {
53073
53150
  if (value === "more") {
53074
- const child = permissionPicker(permissionModeRef.current, true);
53151
+ const child = permissionPicker(permissionModeRef.current, true, permissionAvailability());
53075
53152
  setSelectedChoice(
53076
53153
  Math.max(
53077
53154
  0,
@@ -54196,6 +54273,7 @@ ${blocks.join("\n\n")}`;
54196
54273
  // `/resume` in plan mode stays read-only, and so do its children.
54197
54274
  permissionMode: permissionModeRef.current,
54198
54275
  currentPermissionMode: /* @__PURE__ */ __name(() => permissionModeRef.current, "currentPermissionMode"),
54276
+ onAutoModeLimit: handleAutoModeLimit,
54199
54277
  ...resume?.handoffReason ? { systemNote: handoffContinuationNote(resume.handoffReason) } : {}
54200
54278
  }
54201
54279
  })) {
@@ -54222,6 +54300,7 @@ ${blocks.join("\n\n")}`;
54222
54300
  detected,
54223
54301
  finalizeMessage,
54224
54302
  flushStream,
54303
+ handleAutoModeLimit,
54225
54304
  pushMessage,
54226
54305
  session,
54227
54306
  setHandoffPark,
@@ -55239,6 +55318,7 @@ ${blocks.join("\n\n")}`;
55239
55318
  signal,
55240
55319
  permissionMode: permissionModeRef.current,
55241
55320
  currentPermissionMode: /* @__PURE__ */ __name(() => permissionModeRef.current, "currentPermissionMode"),
55321
+ onAutoModeLimit: handleAutoModeLimit,
55242
55322
  limits: resolveTurnGuards(ctxRef.current.limits, turnLimitsOverrideRef.current),
55243
55323
  ...reasoningEffortRef.current !== void 0 ? { effort: reasoningEffortRef.current } : {},
55244
55324
  ...hypermodeRef.current ? { hypermode: true } : {},
@@ -55264,7 +55344,7 @@ ${blocks.join("\n\n")}`;
55264
55344
  activeTurnInboxRef.current?.notify();
55265
55345
  return receipt;
55266
55346
  },
55267
- [activeSkills, appLifetime.signal, onPermission, session]
55347
+ [activeSkills, appLifetime.signal, handleAutoModeLimit, onPermission, session]
55268
55348
  );
55269
55349
  const reviewSchedule = (0, import_react52.useCallback)(
55270
55350
  (request, signal) => new Promise((resolve7) => {
@@ -55966,10 +56046,14 @@ ${jobLines.map(([, line]) => `- ${line}`).join("\n")}`] : []
55966
56046
  ].join("\n\n");
55967
56047
  }
55968
56048
  const expanded = prompt.kind === "human" ? expandFileMentions(text, ctx.cwd) : { sendText: text, attached: [] };
55969
- const { sendText, attached } = expanded;
56049
+ const { sendText, attached, inlined } = expanded;
55970
56050
  const historyBeforeTurn = modelHistoryRef.current;
56051
+ const fileMessage = inlined !== void 0 ? createUserMessage(inlined, void 0, {
56052
+ type: "runtime-context",
56053
+ kind: "host-observation"
56054
+ }) : void 0;
55971
56055
  const userMessage = createUserMessage(
55972
- sendText,
56056
+ fileMessage ? text : sendText,
55973
56057
  attachments,
55974
56058
  goalRound ? {
55975
56059
  type: "goal-round",
@@ -55980,7 +56064,11 @@ ${jobLines.map(([, line]) => `- ${line}`).join("\n")}`] : []
55980
56064
  maxGoalRounds: goalRound.maxGoalRounds
55981
56065
  } : prompt.kind === "peer" ? { type: "runtime-context", kind: "peer-message" } : prompt.kind === "notice" ? { type: "runtime-context", kind: noticeKind } : void 0
55982
56066
  );
55983
- const priorForSdk = [...historyBeforeTurn, userMessage];
56067
+ const priorForSdk = [
56068
+ ...historyBeforeTurn,
56069
+ userMessage,
56070
+ ...fileMessage ? [fileMessage] : []
56071
+ ];
55984
56072
  const closeStoppedReply = /* @__PURE__ */ __name(async () => {
55985
56073
  const sessions = sessionsRef.current;
55986
56074
  const scope = scopeRef.current;
@@ -56257,6 +56345,7 @@ ${jobLines.map(([, line]) => `- ${line}`).join("\n")}`] : []
56257
56345
  // Read at every decision: the operator may change the mode
56258
56346
  // while this turn runs, and the change governs what follows.
56259
56347
  currentPermissionMode: /* @__PURE__ */ __name(() => permissionModeRef.current, "currentPermissionMode"),
56348
+ onAutoModeLimit: handleAutoModeLimit,
56260
56349
  limits: turnLimits,
56261
56350
  // A trigger that pins the highest effort does so for this
56262
56351
  // turn only; the session's own setting is untouched.
@@ -56401,7 +56490,7 @@ ${[...workflowNoticeSnapshot.values()].join("\n\n")}` : void 0,
56401
56490
  activeTurnInboxRef.current = null;
56402
56491
  setPendingSteers([]);
56403
56492
  }
56404
- const fallbackTurn = admitted ? [userMessage] : [];
56493
+ const fallbackTurn = admitted ? [userMessage, ...fileMessage ? [fileMessage] : []] : [];
56405
56494
  if (st.text.trim().length > 0) fallbackTurn.push(createAssistantMessage(st.text));
56406
56495
  const conversationMessages = admitted ? st.conversationMessages : void 0;
56407
56496
  const nextModelHistory = conversationMessages ?? [...historyBeforeTurn, ...fallbackTurn];
@@ -57274,7 +57363,11 @@ Available: ${agentIds.join(", ")}` : "\nNo agents are configured."}`
57274
57363
  pushMessage("system", "Finish or stop the current work before changing permissions.");
57275
57364
  return;
57276
57365
  }
57277
- const picker = permissionPicker(permissionModeRef.current);
57366
+ const picker = permissionPicker(
57367
+ permissionModeRef.current,
57368
+ false,
57369
+ permissionAvailability()
57370
+ );
57278
57371
  setSelectedChoice(
57279
57372
  Math.max(
57280
57373
  0,
@@ -59825,9 +59918,16 @@ function pluginActionPicker(owner, name) {
59825
59918
  };
59826
59919
  }
59827
59920
  __name(pluginActionPicker, "pluginActionPicker");
59828
- function permissionPicker(mode, more = false) {
59921
+ var BYPASS_UNAVAILABLE_NOTICE = "Bypass mode is not available in this session. Start Namzu with --allow-dangerously-skip-permissions (or --yolo) to use it, unless permissions.disableBypassMode is set.";
59922
+ var AUTO_UNAVAILABLE_NOTICE = "Auto mode is not available in this session.";
59923
+ function permissionPicker(mode, more = false, availability = { bypass: true, auto: true }) {
59829
59924
  const current = mode;
59830
- const values = more ? ["auto", "strict", "rules"] : ["prompt", "accept-edits", "plan", "more"];
59925
+ const values = more ? ["strict", "rules"] : ["prompt", "accept-edits", "plan", "bypass", "classify", "more"];
59926
+ const unavailable2 = /* @__PURE__ */ __name((value) => {
59927
+ if (value === "bypass" && !availability.bypass) return BYPASS_UNAVAILABLE_NOTICE;
59928
+ if (value === "classify" && !availability.auto) return AUTO_UNAVAILABLE_NOTICE;
59929
+ return void 0;
59930
+ }, "unavailable");
59831
59931
  return {
59832
59932
  kind: "permission-mode",
59833
59933
  title: more ? "More permission options" : "Permissions",
@@ -59837,23 +59937,39 @@ function permissionPicker(mode, more = false) {
59837
59937
  if (value === "more")
59838
59938
  return {
59839
59939
  label: "More options",
59840
- description: "Other approval modes and permission rules",
59841
- current: current === "auto" || current === "strict"
59940
+ description: "Preapproved-only mode and permission rules",
59941
+ current: current === "strict"
59842
59942
  };
59843
59943
  if (value === "rules")
59844
59944
  return {
59845
59945
  label: "View rules",
59846
59946
  description: "Show the permission rules in use"
59847
59947
  };
59948
+ const disabledReason = unavailable2(value);
59848
59949
  return {
59849
59950
  label: permissionModeLabel(value),
59850
59951
  description: permissionModeDescription(value),
59851
- current: value === current
59952
+ current: value === current,
59953
+ ...disabledReason ? { disabledReason } : {}
59852
59954
  };
59853
59955
  })
59854
59956
  };
59855
59957
  }
59856
59958
  __name(permissionPicker, "permissionPicker");
59959
+ function bypassConsentPicker(announce) {
59960
+ return {
59961
+ kind: "bypass-consent",
59962
+ title: BYPASS_CONSENT_TITLE,
59963
+ notice: BYPASS_CONSENT_BODY,
59964
+ announce,
59965
+ values: ["decline", "accept"],
59966
+ options: [
59967
+ { label: "No, keep asking", description: "Stay in the current mode." },
59968
+ { label: "Yes, bypass permissions", description: "Remembered; you will not be asked again." }
59969
+ ]
59970
+ };
59971
+ }
59972
+ __name(bypassConsentPicker, "bypassConsentPicker");
59857
59973
  var HYPERMODE_VALUE = "hypermode";
59858
59974
  function highestReasoningEffort(levels) {
59859
59975
  return levels && levels.length > 0 ? levels[levels.length - 1] : void 0;
@@ -60239,4 +60355,4 @@ react/cjs/react-jsx-runtime.development.js:
60239
60355
  * LICENSE file in the root directory of this source tree.
60240
60356
  *)
60241
60357
  */
60242
- //# sourceMappingURL=tui-EZVA52PY.js.map
60358
+ //# sourceMappingURL=tui-D24IQIYO.js.map