@organizaone/o1-code 0.2.0 → 0.2.2

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 (288) hide show
  1. package/bundled/qc-helper/docs/overview.md +1 -1
  2. package/bundled/qc-helper/docs/quickstart.md +1 -1
  3. package/bundled/qc-helper/docs/support/troubleshooting.md +2 -2
  4. package/chunks/{MaxSizedBox-V73WHA3L.js → MaxSizedBox-5SCM5KM2.js} +21 -21
  5. package/chunks/{StandaloneSessionPicker-FTDPOEPX.js → StandaloneSessionPicker-AJJBYDA3.js} +38 -38
  6. package/chunks/{acp-subagent-executor-VVRNVUN6.js → acp-subagent-executor-K3G5OOSP.js} +24 -24
  7. package/chunks/{acpAgent-Q4ZW2T2V.js → acpAgent-DKLAK5PM.js} +65 -65
  8. package/chunks/{agent-GBQJCUDW.js → agent-6OWW6WY2.js} +11 -11
  9. package/chunks/{agent-headless-EOYUGYXK.js → agent-headless-YPSZDZPG.js} +11 -11
  10. package/chunks/{anthropicContentGenerator-PTW3PJN2.js → anthropicContentGenerator-3IK5TV3K.js} +16 -9
  11. package/chunks/{bridge-HA6VKBU3.js → bridge-ZX33T7DG.js} +24 -24
  12. package/chunks/{ca-M4NNKUPB.js → ca-ZH46FQUI.js} +15 -1
  13. package/chunks/{chunk-PWTYZLRB.js → chunk-2CATNMFQ.js} +1 -1
  14. package/chunks/{chunk-DA2G3AZ5.js → chunk-2HHPWUTH.js} +5 -5
  15. package/chunks/{chunk-YOIBS52G.js → chunk-2KFLZ6RD.js} +2 -2
  16. package/chunks/{chunk-ICL5K33X.js → chunk-35HKXSBC.js} +4 -4
  17. package/chunks/{chunk-IMUVMGXA.js → chunk-3BYFQ2H6.js} +1 -1
  18. package/chunks/{chunk-CCT46CLM.js → chunk-3CMD4E67.js} +12 -10
  19. package/chunks/{chunk-2TEE2CP4.js → chunk-3WHURT5H.js} +1 -1
  20. package/chunks/{chunk-NWA3LR74.js → chunk-46QWU5NF.js} +1 -1
  21. package/chunks/{chunk-RPQ4TIHM.js → chunk-4OKN67QV.js} +1 -1
  22. package/chunks/{chunk-WQCZQWDE.js → chunk-4QRR663K.js} +1 -1
  23. package/chunks/{chunk-KMEKGSLT.js → chunk-4WPPTUCX.js} +2 -2
  24. package/chunks/{chunk-QIRRSETU.js → chunk-53EO7S4Y.js} +3 -3
  25. package/chunks/{chunk-4WXTBRBS.js → chunk-54A4EPMP.js} +6 -6
  26. package/chunks/{chunk-G3GTYPEZ.js → chunk-5D3SQUVZ.js} +21 -9
  27. package/chunks/{chunk-RFVTGDNU.js → chunk-5PY64ILO.js} +3 -3
  28. package/chunks/{chunk-3ZDJLLN3.js → chunk-5VYJVTAM.js} +2 -2
  29. package/chunks/{chunk-72HJ3I44.js → chunk-5WYIBYDU.js} +4 -4
  30. package/chunks/{chunk-O3RLVPVQ.js → chunk-62HSC5KO.js} +2 -2
  31. package/chunks/{chunk-YWAMOB6V.js → chunk-677NF5JH.js} +5 -5
  32. package/chunks/{chunk-ZWOP66WW.js → chunk-6IF6KATN.js} +2 -2
  33. package/chunks/{chunk-YXWTKPHK.js → chunk-6VAMW6I2.js} +1 -1
  34. package/chunks/{chunk-IGKMRYKE.js → chunk-7F23OSW4.js} +1 -1
  35. package/chunks/{chunk-CXT46I2S.js → chunk-7GTL3WHO.js} +9 -9
  36. package/chunks/{chunk-NEDFDKY7.js → chunk-7JU2ULBO.js} +41 -6
  37. package/chunks/{chunk-HLJJOIU5.js → chunk-7RYHVZAS.js} +2 -2
  38. package/chunks/{chunk-UNVZJ2IX.js → chunk-ATR7W3VI.js} +1 -1
  39. package/chunks/{chunk-BXY7MVTK.js → chunk-D3VJGSXW.js} +7 -7
  40. package/chunks/{chunk-MLVHTMF6.js → chunk-DGBGYBO4.js} +4 -4
  41. package/chunks/{chunk-XYIWNRIS.js → chunk-EPCKGEAE.js} +2 -2
  42. package/chunks/{chunk-BNZD466Q.js → chunk-EUHJ4MJD.js} +3 -3
  43. package/chunks/{chunk-GLYO25OO.js → chunk-EXWAECKM.js} +26 -1
  44. package/chunks/{chunk-5FRGB77D.js → chunk-FJAC7QWS.js} +2 -2
  45. package/chunks/{chunk-75BJCYVJ.js → chunk-FW5URUJS.js} +4 -4
  46. package/chunks/{chunk-2X4UQI7O.js → chunk-GY77YVM3.js} +4 -4
  47. package/chunks/{chunk-GGTPGIIC.js → chunk-H76MQGWH.js} +1 -1
  48. package/chunks/{chunk-SVWSVVKU.js → chunk-HWG2ZXRT.js} +5 -5
  49. package/chunks/{chunk-NG66G3A4.js → chunk-HWTDN2JB.js} +1 -1
  50. package/chunks/{chunk-H3MGVX2X.js → chunk-IBKJ7UBC.js} +3 -3
  51. package/chunks/{chunk-XPLSFA6Z.js → chunk-IBPA7P2S.js} +231 -134
  52. package/chunks/{chunk-UB5OHFWY.js → chunk-J4WTP4LX.js} +3 -3
  53. package/chunks/{chunk-752ACE23.js → chunk-J6YVMK2F.js} +5 -5
  54. package/chunks/{chunk-RCVVSO52.js → chunk-JASYFKBU.js} +3 -3
  55. package/chunks/{chunk-GMOM6IVG.js → chunk-JHFU5Z3V.js} +1 -1
  56. package/chunks/{chunk-DF74KSMK.js → chunk-K7L7Z5JJ.js} +10 -10
  57. package/chunks/{chunk-PRLOFLAQ.js → chunk-KU4ER5BM.js} +1 -1
  58. package/chunks/{chunk-4GMFMS2A.js → chunk-KUSGHH6D.js} +2 -2
  59. package/chunks/{chunk-MSFTFIG2.js → chunk-L65YOA4P.js} +2 -2
  60. package/chunks/{chunk-2AWC3WGL.js → chunk-L7A4D4IY.js} +1 -1
  61. package/chunks/{chunk-PFUZY3U7.js → chunk-M4M3XQJU.js} +3 -3
  62. package/chunks/{chunk-C5HYIIJH.js → chunk-N2WMG5XF.js} +2 -2
  63. package/chunks/{chunk-QIXODDVO.js → chunk-NIYI5272.js} +1 -1
  64. package/chunks/{chunk-4ADSMIZN.js → chunk-NVKVO57S.js} +1 -1
  65. package/chunks/{chunk-V67HPWC5.js → chunk-O3KQN6OE.js} +1 -1
  66. package/chunks/{chunk-Q6QQD2YF.js → chunk-O7LSTDIS.js} +1 -1
  67. package/chunks/{chunk-FJBLYNZI.js → chunk-OMKGBEIH.js} +16 -18
  68. package/chunks/{chunk-AQ7DE7KM.js → chunk-PB4XGSE6.js} +1 -1
  69. package/chunks/{chunk-MB6SYQBV.js → chunk-PC4V3VPG.js} +1 -1
  70. package/chunks/{chunk-2TVYS6EJ.js → chunk-PJLUCMQZ.js} +5 -5
  71. package/chunks/{chunk-E6ATIAX3.js → chunk-POMHQTHO.js} +5 -5
  72. package/chunks/{chunk-Z3XETWT6.js → chunk-PS7DDP2Q.js} +1 -1
  73. package/chunks/{chunk-BDZMDPWU.js → chunk-Q5D3WECC.js} +1 -1
  74. package/chunks/{chunk-ALVKYQEP.js → chunk-QHQFX3P5.js} +62 -57
  75. package/chunks/{chunk-DS5FODU7.js → chunk-QIZ34JTV.js} +4 -4
  76. package/chunks/{chunk-KM4VFJWU.js → chunk-QMW7RSXD.js} +1 -1
  77. package/chunks/{chunk-X73VDTOB.js → chunk-R5WDYBMX.js} +1 -1
  78. package/chunks/{chunk-IF2FN2EW.js → chunk-RQOEQ73K.js} +34 -1
  79. package/chunks/{chunk-CI53XHRQ.js → chunk-RTFUUYHW.js} +1 -1
  80. package/chunks/{chunk-B2BZ4OZB.js → chunk-RYBAJ5II.js} +1 -1
  81. package/chunks/{chunk-FGVEPCDK.js → chunk-RZCK3LM2.js} +30 -30
  82. package/chunks/{chunk-UQFND4FQ.js → chunk-S64M5W2S.js} +10 -10
  83. package/chunks/{chunk-W57V4GR4.js → chunk-S7CMT75P.js} +15 -15
  84. package/chunks/{chunk-WEWUIGBV.js → chunk-T3SMR7ET.js} +1 -1
  85. package/chunks/{chunk-F2IZCZRC.js → chunk-TLHPWOSA.js} +3 -3
  86. package/chunks/{chunk-MA24QZMF.js → chunk-TQO7BXBQ.js} +5 -5
  87. package/chunks/{chunk-W3A6FNTW.js → chunk-TTV7MBGI.js} +3 -3
  88. package/chunks/{chunk-H6QMOC36.js → chunk-UIBQ77SC.js} +3 -3
  89. package/chunks/{chunk-4GBOSJAY.js → chunk-UVUHDO2Y.js} +1 -1
  90. package/chunks/{chunk-PRI34PWO.js → chunk-V2R5TAQQ.js} +1 -1
  91. package/chunks/{chunk-KW4M3XCZ.js → chunk-V5YZXZMM.js} +2 -2
  92. package/chunks/{chunk-VRIGHAU6.js → chunk-VGR4BKLQ.js} +1 -1
  93. package/chunks/{chunk-ZJYPSOBM.js → chunk-VIYT2NE4.js} +7 -7
  94. package/chunks/{chunk-HKASQQYC.js → chunk-WRQYAWUW.js} +3 -3
  95. package/chunks/{chunk-CL35K5LE.js → chunk-WSWWZ7IT.js} +2 -2
  96. package/chunks/{chunk-BAXUSVZT.js → chunk-WX53PW47.js} +7 -0
  97. package/chunks/{chunk-WNMZOGMZ.js → chunk-WYUR66BU.js} +8 -8
  98. package/chunks/{chunk-Y6GS7FJE.js → chunk-X2HM423P.js} +8 -5
  99. package/chunks/{chunk-YWP7LG4W.js → chunk-X62LTOGE.js} +58 -67
  100. package/chunks/{chunk-4MP5VB2E.js → chunk-XAA77MEC.js} +3 -3
  101. package/chunks/{chunk-52CAXV44.js → chunk-XJXDZPSD.js} +3 -3
  102. package/chunks/{chunk-4NVUBXS2.js → chunk-XKPECZJM.js} +1 -1
  103. package/chunks/{chunk-RXDOMWT2.js → chunk-XMBUOPZG.js} +8 -8
  104. package/chunks/{chunk-2PXHYHTF.js → chunk-YEOU65NW.js} +1 -1
  105. package/chunks/{chunk-EE3FFILZ.js → chunk-YS57I3OQ.js} +3 -3
  106. package/chunks/{chunk-WQGG3JTV.js → chunk-Z4H2RDAF.js} +1 -1
  107. package/chunks/{codex-subagent-executor-TVPPN655.js → codex-subagent-executor-URK6CSXE.js} +24 -24
  108. package/chunks/{contextCommand-VLH5U6NN.js → contextCommand-NFZZE3E4.js} +23 -23
  109. package/chunks/{core-runtime-TEBBEX7L.js → core-runtime-QX52LNEY.js} +21 -21
  110. package/chunks/{create-sub-session-VU4ZLM72.js → create-sub-session-2JFP4FMQ.js} +22 -22
  111. package/chunks/{daemon-git-worktree-guard-C5QP7PCU.js → daemon-git-worktree-guard-7JVFR6J3.js} +21 -21
  112. package/chunks/{daemon-status-provider-4VIY3HJ5.js → daemon-status-provider-GGAO5SSF.js} +29 -29
  113. package/chunks/{daemon-trust-policy-WAFROOXL.js → daemon-trust-policy-D6AWUEZK.js} +27 -27
  114. package/chunks/{daemon-trust-policy-monitor-QO5RNX4F.js → daemon-trust-policy-monitor-77JEJNAK.js} +27 -27
  115. package/chunks/{de-JHSPOAZW.js → de-OBLDRYWI.js} +15 -1
  116. package/chunks/{deferred-core-runtime-US2X2TSA.js → deferred-core-runtime-XBSMNSGZ.js} +21 -21
  117. package/chunks/{edit-MFVBXC46.js → edit-4AFGA6RJ.js} +13 -13
  118. package/chunks/{en-XUUVEXAQ.js → en-NKO6N4BL.js} +20 -1
  119. package/chunks/{enterPlanMode-4KSAZCP4.js → enterPlanMode-GWCLJSPB.js} +11 -11
  120. package/chunks/{environment-ARK3AP5K.js → environment-GB72GJFP.js} +23 -23
  121. package/chunks/{errors-EP7F3SDZ.js → errors-UB6Y6QB7.js} +23 -23
  122. package/chunks/{execution-tool-TETOFNXW.js → execution-tool-SM65QD3E.js} +13 -13
  123. package/chunks/{execution-worker-KG2IWAIR.js → execution-worker-277RP2BS.js} +16 -16
  124. package/chunks/{exitPlanMode-V3GV5WG5.js → exitPlanMode-YL44MDSN.js} +11 -11
  125. package/chunks/{fast-path-CPASDXSX.js → fast-path-BHS3UUDU.js} +2 -2
  126. package/chunks/{fr-JI2EQF4J.js → fr-24RYKQP7.js} +15 -1
  127. package/chunks/{glob-HYH7QGDU.js → glob-RMPRZBBM.js} +11 -11
  128. package/chunks/{glyphs-XNBEETBI.js → glyphs-YRPM3EUI.js} +3 -1
  129. package/chunks/{goal-tools-ZI2C5QDC.js → goal-tools-IARELLX6.js} +11 -11
  130. package/chunks/{handleAutoUpdate-NJUJCLJH.js → handleAutoUpdate-B6H2CUWG.js} +24 -24
  131. package/chunks/{i18n-BZTTMOBV.js → i18n-PEUDBKCF.js} +22 -22
  132. package/chunks/{initializer-X6VLRRJ6.js → initializer-5CTPR23V.js} +27 -27
  133. package/chunks/{installationInfo-MVMIXHPQ.js → installationInfo-RKF4FYYG.js} +21 -21
  134. package/chunks/{ja-ZC5YWQD6.js → ja-NY2HNPE4.js} +15 -1
  135. package/chunks/{list-3VDXHUJD.js → list-JFHTQZXB.js} +29 -29
  136. package/chunks/{llm-EJ26UDUT.js → llm-ZBVAGEV2.js} +54 -54
  137. package/chunks/{llm-content-generator-E3WAIAZS.js → llm-content-generator-5ELI577U.js} +3 -3
  138. package/chunks/{loadedSettingsAdapter-WNWZXREY.js → loadedSettingsAdapter-A63DFE7G.js} +27 -27
  139. package/chunks/{local-execution-environment-FOCXJ4ON.js → local-execution-environment-JYU5ETM4.js} +16 -16
  140. package/chunks/{loggingContentGenerator-NHJMUX5Z.js → loggingContentGenerator-SCVT5IMD.js} +12 -12
  141. package/chunks/{managed-npm-update-6RMNFVD5.js → managed-npm-update-CW3A5IYM.js} +21 -21
  142. package/chunks/{mcp-AB4AAG6B.js → mcp-XCJSXNQS.js} +27 -27
  143. package/chunks/{model-call-collection-BNFZLO6L.js → model-call-collection-QHVB4RVP.js} +1 -1
  144. package/chunks/{model-configuration-XYTNKKMB.js → model-configuration-FMD3UX64.js} +28 -28
  145. package/chunks/{modelConfigUtils-WT2ABPC5.js → modelConfigUtils-BLJJCU4P.js} +23 -23
  146. package/chunks/{monitor-PZIN2OWB.js → monitor-ZCZL365W.js} +11 -11
  147. package/chunks/{nonInteractiveCli-7IGU7YYX.js → nonInteractiveCli-ND5K3Z6K.js} +56 -56
  148. package/chunks/{nonInteractiveToolExecutor-DE6AOKSD.js → nonInteractiveToolExecutor-JDDFIDEA.js} +12 -12
  149. package/chunks/{notebook-edit-YD636F6G.js → notebook-edit-AW454CFZ.js} +12 -12
  150. package/chunks/{omni-6IG5C3VK.js → omni-5ALTY2B4.js} +8 -8
  151. package/chunks/{openaiContentGenerator-MVIH4NAI.js → openaiContentGenerator-SKPNHTOM.js} +6 -6
  152. package/chunks/{openaiResponsesContentGenerator-4XSNRRX2.js → openaiResponsesContentGenerator-G2PVJMGK.js} +3 -3
  153. package/chunks/{processUtils-AZK3LDTF.js → processUtils-HED6IV7T.js} +2 -2
  154. package/chunks/{prompt-terminal-ledger-OPZETIYM.js → prompt-terminal-ledger-IAHXPZ2K.js} +22 -22
  155. package/chunks/{pt-JUQ2JQIC.js → pt-DFSLPV3S.js} +29 -1
  156. package/chunks/{reactive-degrade-SJ6ORTGN.js → reactive-degrade-UDGAMHBZ.js} +7 -7
  157. package/chunks/{read-file-ADBQNZGS.js → read-file-VM6TL6KB.js} +2 -2
  158. package/chunks/{resumeHistoryUtils-FW4AZHA4.js → resumeHistoryUtils-PRCLL7VH.js} +26 -26
  159. package/chunks/{ripGrep-SQXXHC7O.js → ripGrep-RIKFZ5VR.js} +4 -4
  160. package/chunks/{ru-GQ5T2OCQ.js → ru-VIGQVLUG.js} +15 -1
  161. package/chunks/{run-o1-code-serve-FEUD6TQT.js → run-o1-code-serve-D4MM64ZN.js} +32 -32
  162. package/chunks/{sandboxConfig-2IUK55F4.js → sandboxConfig-RMU6PWYZ.js} +21 -21
  163. package/chunks/{scheduled-tasks-AEZTYJRL.js → scheduled-tasks-4GGMZT2G.js} +27 -27
  164. package/chunks/{scheduler-JSW4BQQT.js → scheduler-VROKOD3O.js} +23 -23
  165. package/chunks/{serve-4E4FNN2Z.js → serve-GK3X7AVS.js} +27 -27
  166. package/chunks/{server-7IA2ELA4.js → server-YQ4IHB2Z.js} +57 -57
  167. package/chunks/{session-TMTS5KDD.js → session-2IHZ5JXU.js} +57 -57
  168. package/chunks/{session-attachments-root-PQAEMYZC.js → session-attachments-root-AR5PGJNN.js} +21 -21
  169. package/chunks/{session-pr-refresh-YMHERG3N.js → session-pr-refresh-PIZTNB2B.js} +26 -26
  170. package/chunks/{settings-RJ3JXS2H.js → settings-ODFKFJAO.js} +26 -26
  171. package/chunks/{shell-J4MUL2K5.js → shell-C3DRI7IE.js} +11 -11
  172. package/chunks/{skill-IFJT5A5Q.js → skill-2EZBO4KR.js} +3 -3
  173. package/chunks/{skill-settings-XSBDZQ4P.js → skill-settings-VUTNOTIK.js} +27 -27
  174. package/chunks/{spawnChannel-3YRAHZYC.js → spawnChannel-IQQIBRY4.js} +23 -23
  175. package/chunks/{standalone-update-TAPIQGCS.js → standalone-update-DK57ZQVB.js} +23 -23
  176. package/chunks/{startInteractiveUI-A5E2XZDS.js → startInteractiveUI-JXO3ANAJ.js} +454 -201
  177. package/chunks/{team-create-LQQF7SHV.js → team-create-SPQB4ZIQ.js} +11 -11
  178. package/chunks/{team-plan-approval-RPZK4IUT.js → team-plan-approval-DSGKM6D4.js} +11 -11
  179. package/chunks/{terminal-image-renderer-W7CDT6WT.js → terminal-image-renderer-F46UJJR7.js} +21 -21
  180. package/chunks/{theme-manager-5YX645BD.js → theme-manager-XHLUGDMV.js} +21 -21
  181. package/chunks/{tool-result-media-FX2LTMCF.js → tool-result-media-UVGNZWQ7.js} +8 -8
  182. package/chunks/{tool-search-IZCJTIH4.js → tool-search-TTHUGA3R.js} +2 -2
  183. package/chunks/{total-session-admission-6PICEJXD.js → total-session-admission-IAZTBDST.js} +24 -24
  184. package/chunks/{tree-sitter-GTI4UDVD.js → tree-sitter-KOGCLBE7.js} +1 -1
  185. package/chunks/{tree-sitter-bash-2VBXAONQ.js → tree-sitter-bash-6WVJG6KQ.js} +1 -1
  186. package/chunks/{trustedFolders-5S2UMQON.js → trustedFolders-FIKJDDCU.js} +22 -22
  187. package/chunks/{update-relaunch-FD66JHGR.js → update-relaunch-QM4HHYSH.js} +5 -5
  188. package/chunks/{updateCheck-2EIG5IUN.js → updateCheck-SHHRTDIC.js} +23 -23
  189. package/chunks/{upload-config-NDKI6DAB.js → upload-config-EB7CHHBR.js} +5 -5
  190. package/chunks/{useAutoAcceptIndicator-B7Y4WMST.js → useAutoAcceptIndicator-IXO3W3HW.js} +29 -29
  191. package/chunks/{validateNonInterActiveAuth-O3MGKE7Q.js → validateNonInterActiveAuth-76YN2FKV.js} +53 -53
  192. package/chunks/{version-XCWZM57S.js → version-SGBHVOAU.js} +1 -1
  193. package/chunks/{web-fetch-EQO2O2VQ.js → web-fetch-RKLVSDYG.js} +2 -2
  194. package/chunks/{web-search-Q5EEHHVM.js → web-search-7OFCLM4E.js} +6 -6
  195. package/chunks/{workflow-22KQDI75.js → workflow-FLGREXLS.js} +12 -12
  196. package/chunks/{workspace-providers-status-Q6X4XUYQ.js → workspace-providers-status-Z5XTDXZO.js} +33 -33
  197. package/chunks/{workspace-registration-store-CNAVIECG.js → workspace-registration-store-I257THQX.js} +1 -1
  198. package/chunks/{workspace-registry-HKNRFBFC.js → workspace-registry-DTSUSPQJ.js} +24 -24
  199. package/chunks/{workspace-runtime-coordinator-FXUIMXJM.js → workspace-runtime-coordinator-7OPXPAWA.js} +25 -25
  200. package/chunks/{workspace-service-SOZF52CR.js → workspace-service-DNZFALOP.js} +31 -31
  201. package/chunks/{workspace-skills-status-UHFUOJ6A.js → workspace-skills-status-VH3GD2S3.js} +30 -30
  202. package/chunks/{workspace-trust-reconciler-ZHT6NLS7.js → workspace-trust-reconciler-LCBJTVGU.js} +30 -30
  203. package/chunks/{write-file-VB37UMJ3.js → write-file-NZJANURY.js} +13 -13
  204. package/chunks/{zh-TW-OQK3G3QS.js → zh-TW-S4AGRCDA.js} +15 -1
  205. package/chunks/{zh-232DP7PO.js → zh-ZJAHWOYM.js} +15 -1
  206. package/chunks/{zoom-image-VAFGD3HT.js → zoom-image-3UVOSRAZ.js} +2 -2
  207. package/cli.js +12 -12
  208. package/execution-worker.js +1 -1
  209. package/export-transcript-document.js +1 -1
  210. package/locales/ca.js +18 -2
  211. package/locales/de.js +18 -2
  212. package/locales/en.js +25 -2
  213. package/locales/fr.js +19 -2
  214. package/locales/ja.js +17 -2
  215. package/locales/pt.js +42 -2
  216. package/locales/ru.js +17 -2
  217. package/locales/zh-TW.js +17 -2
  218. package/locales/zh.js +17 -2
  219. package/package.json +5 -3
  220. package/release-notes.json +54 -0
  221. package/vendor/ripgrep/arm64-darwin/rg +0 -0
  222. package/vendor/ripgrep/arm64-linux/rg +0 -0
  223. package/vendor/ripgrep/x64-darwin/rg +0 -0
  224. package/vendor/ripgrep/x64-linux/rg +0 -0
  225. package/web-shell/assets/{abnfDiagram-VCTEODGH-B5Ke_KA5.js → abnfDiagram-VCTEODGH-DkmBSa44.js} +1 -1
  226. package/web-shell/assets/{arc-B1qynd1m.js → arc-B6QJJ8tD.js} +1 -1
  227. package/web-shell/assets/{architectureDiagram-5GKGNRK7-Bo2Og8So.js → architectureDiagram-5GKGNRK7-Dfqoi9lk.js} +1 -1
  228. package/web-shell/assets/{blockDiagram-NRAW4CY4-kalc7i2S.js → blockDiagram-NRAW4CY4-DclmlLhY.js} +1 -1
  229. package/web-shell/assets/{c4Diagram-UCG6FXSJ-oX7qDAy5.js → c4Diagram-UCG6FXSJ-0gbQb3pK.js} +1 -1
  230. package/web-shell/assets/channel-COSuEQ94.js +1 -0
  231. package/web-shell/assets/{chunk-2Q5K7J3B-CdsvFoWz.js → chunk-2Q5K7J3B-BAfaryX9.js} +1 -1
  232. package/web-shell/assets/{chunk-5VM5RSS4-h6a94_sB.js → chunk-5VM5RSS4-xSewF8tm.js} +1 -1
  233. package/web-shell/assets/{chunk-F27PBJKO-CEwYaABr.js → chunk-F27PBJKO-ChEgStih.js} +1 -1
  234. package/web-shell/assets/{chunk-G27WJ6UU-yEWrtz51.js → chunk-G27WJ6UU-BAVY2RkO.js} +1 -1
  235. package/web-shell/assets/{chunk-JWPE2WC7-CNt8svY0.js → chunk-JWPE2WC7-BXOwTSzw.js} +1 -1
  236. package/web-shell/assets/{chunk-LCL6LL3I-CO8h8N4s.js → chunk-LCL6LL3I-nw5Rmnmd.js} +1 -1
  237. package/web-shell/assets/{chunk-POPQ4Y6H--97nZCs4.js → chunk-POPQ4Y6H-DIDQ5Zzu.js} +1 -1
  238. package/web-shell/assets/{chunk-SVP7TREG-CrBqH_0p.js → chunk-SVP7TREG-CjdgAA3l.js} +1 -1
  239. package/web-shell/assets/{chunk-XXDRQBXY-DYBwZlEC.js → chunk-XXDRQBXY-CKoYFCQo.js} +1 -1
  240. package/web-shell/assets/classDiagram-DTDB5LWJ-DUKWtFFX.js +1 -0
  241. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DUKWtFFX.js +1 -0
  242. package/web-shell/assets/{cose-bilkent-JH36ORCC-BI6cg4Nw.js → cose-bilkent-JH36ORCC-OKMrJSR7.js} +1 -1
  243. package/web-shell/assets/{cynefin-OW5HDTMX-DWsVe9_U.js → cynefin-OW5HDTMX-BDE2ih0w.js} +1 -1
  244. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-DAxM2E5v.js → cynefinDiagram-5FMLGOSQ-DHgwp6ZM.js} +1 -1
  245. package/web-shell/assets/{dagre-3AP2YEHR-Csd4TrEZ.js → dagre-3AP2YEHR-mHCyf6A6.js} +1 -1
  246. package/web-shell/assets/{diagram-S7CK7UJ4-CZ6KoFvv.js → diagram-S7CK7UJ4-CHeZ9YMQ.js} +1 -1
  247. package/web-shell/assets/{diagram-UQ7AKVKN-C_zSZZrU.js → diagram-UQ7AKVKN-D3jwKiUo.js} +1 -1
  248. package/web-shell/assets/{diagram-VSXAHHWV-D21OQ6jJ.js → diagram-VSXAHHWV-z9gvH87B.js} +1 -1
  249. package/web-shell/assets/{diagram-VX7I27RA-Bh8doGDX.js → diagram-VX7I27RA-DBdwXye9.js} +1 -1
  250. package/web-shell/assets/{diagram-Z3DM3KII-ycuZhkFW.js → diagram-Z3DM3KII-BZrQD3_5.js} +1 -1
  251. package/web-shell/assets/{ebnfDiagram-PWID7BFC-dP4KzRYn.js → ebnfDiagram-PWID7BFC-CsdYNOhn.js} +1 -1
  252. package/web-shell/assets/{erDiagram-SSCWMZ5O-DoRwOt_Y.js → erDiagram-SSCWMZ5O-kLiDhj_x.js} +1 -1
  253. package/web-shell/assets/{flowDiagram-A5DVABFB-Bs_Q8wlJ.js → flowDiagram-A5DVABFB-7E_nqNi9.js} +1 -1
  254. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-CW2vcPYN.js → ganttDiagram-EL5Y4UJY-frx7zvbA.js} +1 -1
  255. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-DZ2UuoGO.js → gitGraphDiagram-WWUBYQGX-DkyMPkwJ.js} +1 -1
  256. package/web-shell/assets/{index-dZaziiFt.js → index-EoFfssG4.js} +3 -3
  257. package/web-shell/assets/{index-btdIWcPL.js → index-oMwDI29g.js} +1 -1
  258. package/web-shell/assets/{infoDiagram-RXCK75RN-DjwP-C9t.js → infoDiagram-RXCK75RN-XljVTrU8.js} +1 -1
  259. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-CzlNr5A6.js → ishikawaDiagram-5VMMS53U-C9WCq-5V.js} +1 -1
  260. package/web-shell/assets/{journeyDiagram-EYS64GPL-BxI_Odzn.js → journeyDiagram-EYS64GPL-DXu9g9Sy.js} +1 -1
  261. package/web-shell/assets/{kanban-definition-3QL26DDD-CIXIFlN5.js → kanban-definition-3QL26DDD-Doy--c8N.js} +1 -1
  262. package/web-shell/assets/{layout-zhMMoLb5.js → layout-CS7r1tO4.js} +1 -1
  263. package/web-shell/assets/{linear-DlmiiwPB.js → linear-CzSHv-4-.js} +1 -1
  264. package/web-shell/assets/{mermaid.core-DG4XCyc-.js → mermaid.core-7BsQ3zED.js} +6 -6
  265. package/web-shell/assets/{mindmap-definition-FBJOCRG2-CPdP5QyM.js → mindmap-definition-FBJOCRG2-yHWxnbXN.js} +1 -1
  266. package/web-shell/assets/{pegDiagram-XKGWAZYB-TTLkUBQq.js → pegDiagram-XKGWAZYB-DHUzJJRt.js} +1 -1
  267. package/web-shell/assets/{pieDiagram-E7YTZNPT-CHMG5WAd.js → pieDiagram-E7YTZNPT-CRjSY45J.js} +1 -1
  268. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-B6v717XG.js → quadrantDiagram-AXDQQJYC-CUKQicAO.js} +1 -1
  269. package/web-shell/assets/{railroadDiagram-O6MQD6OU-7REF-aZC.js → railroadDiagram-O6MQD6OU-CeIaRI86.js} +1 -1
  270. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BjFz3Hm4.js → requirementDiagram-EFPCY7ZU-CkdesAuv.js} +1 -1
  271. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-Lk_RCjBf.js → sankeyDiagram-P5KCCOFB-DRv4I5Uy.js} +1 -1
  272. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DivlUEQF.js → sequenceDiagram-WJ2MYXX4-BUIm21Ol.js} +1 -1
  273. package/web-shell/assets/{sizeCapture-X5ZJPWSS-286tElfp.js → sizeCapture-X5ZJPWSS-W69Ocb71.js} +1 -1
  274. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BdRjq5u2.js → stateDiagram-HBIQ2CUA-DD0RyKZg.js} +1 -1
  275. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C5kAp2c6.js +1 -0
  276. package/web-shell/assets/{swimlanes-XN3QIQJK-BluwdYxC.js → swimlanes-XN3QIQJK-vsonhOlr.js} +1 -1
  277. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DP2NE03a.js +8 -0
  278. package/web-shell/assets/{timeline-definition-24CTP7MA-rcFET3EF.js → timeline-definition-24CTP7MA-DjdRx1i_.js} +1 -1
  279. package/web-shell/assets/{vennDiagram-4TSXK5OY-CT4_CP7r.js → vennDiagram-4TSXK5OY-CPVhp0Hy.js} +1 -1
  280. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-BqO1UfYm.js → wardleyDiagram-VM6X3IG4-M6mqQteg.js} +1 -1
  281. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-DCvzC9lc.js → xychartDiagram-S5SC5T6Z-Cli-2870.js} +1 -1
  282. package/web-shell/index.html +1 -1
  283. package/web-shell/sw.js +1 -1
  284. package/web-shell/assets/channel-B-Ry6wUm.js +0 -1
  285. package/web-shell/assets/classDiagram-DTDB5LWJ-D_sONtS4.js +0 -1
  286. package/web-shell/assets/classDiagram-v2-JRS7N3AN-D_sONtS4.js +0 -1
  287. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-Def1pisf.js +0 -1
  288. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-BeMgzclT.js +0 -8
@@ -5,23 +5,23 @@ import {
5
5
  } from "./chunk-CPURT2SU.js";
6
6
  import {
7
7
  startPostRenderPrefetches
8
- } from "./chunk-UQFND4FQ.js";
8
+ } from "./chunk-S64M5W2S.js";
9
9
  import {
10
10
  stopAndGetCapturedInput
11
11
  } from "./chunk-VFLUNXD6.js";
12
12
  import {
13
13
  useAutoAcceptIndicator
14
- } from "./chunk-3ZDJLLN3.js";
14
+ } from "./chunk-5VYJVTAM.js";
15
15
  import {
16
16
  MAX_ACCEPTED_BACKLOG,
17
17
  PeerMessaging,
18
18
  classifyApiError,
19
19
  fireSessionDeleteHook
20
- } from "./chunk-GGTPGIIC.js";
20
+ } from "./chunk-H76MQGWH.js";
21
21
  import {
22
22
  TUI_CHAT_RECORDING_FAILURE_MESSAGE,
23
23
  reportChatRecordingFailureToAdapter
24
- } from "./chunk-AQ7DE7KM.js";
24
+ } from "./chunk-PB4XGSE6.js";
25
25
  import {
26
26
  MAX_SUGGESTIONS_TO_SHOW,
27
27
  SESSION_MENTION_PREFIX,
@@ -34,10 +34,10 @@ import {
34
34
  normalizeDescription,
35
35
  normalizePartList,
36
36
  resolveAtCommandQuery
37
- } from "./chunk-WNMZOGMZ.js";
37
+ } from "./chunk-WYUR66BU.js";
38
38
  import {
39
39
  StreamJsonOutputAdapter
40
- } from "./chunk-MLVHTMF6.js";
40
+ } from "./chunk-DGBGYBO4.js";
41
41
  import {
42
42
  BuiltinCommandLoader,
43
43
  BundledSkillLoader,
@@ -52,6 +52,7 @@ import {
52
52
  SkillCommandLoader,
53
53
  addConfigToMatcherGroup,
54
54
  appendUserPromptExpansionAdditionalContext,
55
+ applyEffortSelection,
55
56
  applyOutputStyleSelection,
56
57
  buildBackgroundWorkBlockedMessage,
57
58
  consumesContextAnnouncementLatch,
@@ -62,7 +63,6 @@ import {
62
63
  findSlashCommandTokens,
63
64
  formatApprovalModeDescription,
64
65
  formatApprovalModeName,
65
- formatEffortChangeMessage,
66
66
  formatUserPromptExpansionBlockedMessage,
67
67
  getAllConfigs,
68
68
  getBestSlashCommandMatch,
@@ -90,14 +90,14 @@ import {
90
90
  resolveOutputStyleChoice,
91
91
  serializeUserPromptExpansionPrompt,
92
92
  supportsMatchers
93
- } from "./chunk-ALVKYQEP.js";
93
+ } from "./chunk-QHQFX3P5.js";
94
94
  import {
95
95
  EXTENSION_RELOAD_FAILED_REASON,
96
96
  ExtensionRefreshState,
97
97
  appEvents,
98
98
  cleanupReviewWorktreeLeases,
99
99
  loadHierarchicalMemory
100
- } from "./chunk-FGVEPCDK.js";
100
+ } from "./chunk-RZCK3LM2.js";
101
101
  import {
102
102
  disableKittyProtocol,
103
103
  isKittyProtocolEnabled,
@@ -106,7 +106,7 @@ import {
106
106
  } from "./chunk-AYSIXE44.js";
107
107
  import {
108
108
  sanitizeDisplayText
109
- } from "./chunk-2TVYS6EJ.js";
109
+ } from "./chunk-PJLUCMQZ.js";
110
110
  import {
111
111
  AboutBox,
112
112
  BaseSelectionList,
@@ -202,13 +202,13 @@ import {
202
202
  useUIActions,
203
203
  useUIState,
204
204
  useVirtualViewport
205
- } from "./chunk-XPLSFA6Z.js";
205
+ } from "./chunk-IBPA7P2S.js";
206
206
  import {
207
207
  KeypressProvider,
208
208
  useFocus,
209
209
  useKeypress,
210
210
  useKeypressContext
211
- } from "./chunk-CL35K5LE.js";
211
+ } from "./chunk-WSWWZ7IT.js";
212
212
  import {
213
213
  BRAND,
214
214
  MAX_EXTENSION_OWNER_LABEL_WIDTH,
@@ -217,7 +217,7 @@ import {
217
217
  getCommandSourceBadge,
218
218
  repoDocUrl,
219
219
  skillOriginLabel
220
- } from "./chunk-FJBLYNZI.js";
220
+ } from "./chunk-OMKGBEIH.js";
221
221
  import {
222
222
  BEL,
223
223
  OSC_PREFIX,
@@ -230,7 +230,7 @@ import {
230
230
  oscKittyNotify,
231
231
  saveClipboardImage,
232
232
  writeOsc52
233
- } from "./chunk-WQCZQWDE.js";
233
+ } from "./chunk-4QRR663K.js";
234
234
  import "./chunk-AHKE26WU.js";
235
235
  import {
236
236
  MaxSizedBox,
@@ -256,14 +256,14 @@ import {
256
256
  shouldDisplayGoalStateCause,
257
257
  useStreamingContext,
258
258
  waitForGoalRuntime
259
- } from "./chunk-ZJYPSOBM.js";
259
+ } from "./chunk-VIYT2NE4.js";
260
260
  import {
261
261
  contextUsageLabel,
262
262
  formatDuration,
263
263
  formatPercentageUsed,
264
264
  formatRelativeTime,
265
265
  formatTokenCount
266
- } from "./chunk-X73VDTOB.js";
266
+ } from "./chunk-R5WDYBMX.js";
267
267
  import {
268
268
  extendedTheme,
269
269
  theme
@@ -296,11 +296,11 @@ import {
296
296
  } from "./chunk-KIN34HCU.js";
297
297
  import {
298
298
  setUpdateHandler
299
- } from "./chunk-G3GTYPEZ.js";
299
+ } from "./chunk-5D3SQUVZ.js";
300
300
  import {
301
301
  isHistoryItemVisibleAfterRestore
302
302
  } from "./chunk-64WBFX5X.js";
303
- import "./chunk-F2IZCZRC.js";
303
+ import "./chunk-TLHPWOSA.js";
304
304
  import {
305
305
  AUTO_THEME_NAME,
306
306
  DEFAULT_THEME,
@@ -308,34 +308,35 @@ import {
308
308
  } from "./chunk-PLYNCSHX.js";
309
309
  import "./chunk-UMIHM32I.js";
310
310
  import {
311
+ TOP_FRAME,
311
312
  glyphs
312
- } from "./chunk-BAXUSVZT.js";
313
+ } from "./chunk-WX53PW47.js";
313
314
  import {
314
315
  requestConsentInteractive,
315
316
  requestConsentOrFail
316
- } from "./chunk-YWAMOB6V.js";
317
+ } from "./chunk-677NF5JH.js";
317
318
  import "./chunk-XZ3MQL2U.js";
318
319
  import {
319
320
  relaunchApp
320
- } from "./chunk-WEWUIGBV.js";
321
+ } from "./chunk-T3SMR7ET.js";
321
322
  import "./chunk-XG36NMOI.js";
322
323
  import "./chunk-7QM44EGU.js";
323
324
  import "./chunk-YNJSBU2B.js";
324
- import "./chunk-CI53XHRQ.js";
325
- import "./chunk-XYIWNRIS.js";
325
+ import "./chunk-RTFUUYHW.js";
326
+ import "./chunk-EPCKGEAE.js";
326
327
  import "./chunk-K5SPVYI4.js";
327
328
  import "./chunk-KD7GIK2D.js";
328
- import "./chunk-H6QMOC36.js";
329
+ import "./chunk-UIBQ77SC.js";
329
330
  import "./chunk-LXUIOY3M.js";
330
331
  import {
331
332
  getErrorMessage as getErrorMessage2
332
- } from "./chunk-H3MGVX2X.js";
333
+ } from "./chunk-IBKJ7UBC.js";
333
334
  import {
334
335
  openDashScopeAsrRealtimeStream,
335
336
  openVoiceStream,
336
337
  openVoiceStreamWithRetry
337
338
  } from "./chunk-MTSHGY6F.js";
338
- import "./chunk-DF74KSMK.js";
339
+ import "./chunk-K7L7Z5JJ.js";
339
340
  import "./chunk-LL7XM3LM.js";
340
341
  import {
341
342
  cpLen,
@@ -349,7 +350,7 @@ import {
349
350
  toCodePoints,
350
351
  truncateToWidth
351
352
  } from "./chunk-PJF3WRYZ.js";
352
- import "./chunk-PWTYZLRB.js";
353
+ import "./chunk-2CATNMFQ.js";
353
354
  import {
354
355
  stringWidth
355
356
  } from "./chunk-F5IN4KK7.js";
@@ -360,11 +361,11 @@ import {
360
361
  isStreamingVoiceModel,
361
362
  resolveVoiceStreamConfig,
362
363
  transcribeVoiceAudio
363
- } from "./chunk-4GMFMS2A.js";
364
+ } from "./chunk-KUSGHH6D.js";
364
365
  import {
365
366
  formatUnsupportedVoiceModelMessage,
366
367
  isSelectableVoiceModel
367
- } from "./chunk-B2BZ4OZB.js";
368
+ } from "./chunk-RYBAJ5II.js";
368
369
  import "./chunk-TESN7CJW.js";
369
370
  import "./chunk-ZWXTCEPP.js";
370
371
  import "./chunk-W2R46PFD.js";
@@ -373,36 +374,39 @@ import {
373
374
  } from "./chunk-KQCQCJBL.js";
374
375
  import {
375
376
  getExtendedSystemInfo
376
- } from "./chunk-HKASQQYC.js";
377
- import "./chunk-HLJJOIU5.js";
377
+ } from "./chunk-WRQYAWUW.js";
378
+ import "./chunk-7RYHVZAS.js";
378
379
  import "./chunk-LPCPB2S5.js";
379
380
  import "./chunk-LD2T7YET.js";
380
381
  import "./chunk-QTAUA6ED.js";
381
382
  import "./chunk-O7MSLRFZ.js";
382
383
  import "./chunk-W3YES77O.js";
383
384
  import {
385
+ REASONING_EFFORT_DEFAULT,
384
386
  getReasoningEffortsForConfig,
385
387
  getReasoningForDisplay
386
- } from "./chunk-52CAXV44.js";
387
- import "./chunk-VRIGHAU6.js";
388
- import "./chunk-DS5FODU7.js";
388
+ } from "./chunk-XJXDZPSD.js";
389
+ import "./chunk-VGR4BKLQ.js";
390
+ import "./chunk-QIZ34JTV.js";
389
391
  import {
390
392
  isInlineModelOverrideAllowed
391
- } from "./chunk-YOIBS52G.js";
393
+ } from "./chunk-2KFLZ6RD.js";
392
394
  import {
393
395
  buildHigherDisabled,
394
396
  computeWorkspaceSkillListUpdates,
395
397
  skillSettingStrings
396
- } from "./chunk-UNVZJ2IX.js";
398
+ } from "./chunk-ATR7W3VI.js";
397
399
  import {
398
400
  loadMcpApprovals
399
- } from "./chunk-4WXTBRBS.js";
400
- import "./chunk-U4T5CWGD.js";
401
+ } from "./chunk-54A4EPMP.js";
402
+ import {
403
+ require_semver
404
+ } from "./chunk-U4T5CWGD.js";
401
405
  import "./chunk-PHTNY4JK.js";
402
406
  import {
403
407
  createLoadedSettingsAdapter,
404
408
  getRawModelProviders
405
- } from "./chunk-ICL5K33X.js";
409
+ } from "./chunk-35HKXSBC.js";
406
410
  import {
407
411
  CORRUPTED_SUFFIX,
408
412
  SettingScope,
@@ -425,7 +429,7 @@ import {
425
429
  settingExistsInScope,
426
430
  validateSettingValue,
427
431
  writeOutputLanguageAndRegisterPath
428
- } from "./chunk-DA2G3AZ5.js";
432
+ } from "./chunk-2HHPWUTH.js";
429
433
  import "./chunk-EDRKBK4B.js";
430
434
  import {
431
435
  LOGO_ANIMATIONS,
@@ -436,30 +440,30 @@ import {
436
440
  pickLogoAnimation,
437
441
  renderLogoRows,
438
442
  restFrame
439
- } from "./chunk-4MP5VB2E.js";
443
+ } from "./chunk-XAA77MEC.js";
440
444
  import "./chunk-2JJLDP4A.js";
441
445
  import {
442
446
  getCurrentLanguage,
443
447
  localizeToolDisplayName,
444
448
  t,
445
449
  ta
446
- } from "./chunk-CCT46CLM.js";
450
+ } from "./chunk-3CMD4E67.js";
447
451
  import "./chunk-Q2V34OV7.js";
448
- import "./chunk-4NVUBXS2.js";
452
+ import "./chunk-XKPECZJM.js";
449
453
  import "./chunk-7N5GDAXK.js";
450
454
  import "./chunk-JVJT5UI7.js";
451
455
  import "./chunk-FMWE3YMM.js";
452
456
  import {
453
457
  formatVersionLabel,
454
458
  getCliVersion
455
- } from "./chunk-YXWTKPHK.js";
459
+ } from "./chunk-6VAMW6I2.js";
456
460
  import "./chunk-HQ5DN5W7.js";
457
461
  import "./chunk-FRITN2AG.js";
458
462
  import "./chunk-F4S6U26O.js";
459
463
  import {
460
464
  isWorkspaceTrusted,
461
465
  loadTrustedFolders
462
- } from "./chunk-NG66G3A4.js";
466
+ } from "./chunk-HWTDN2JB.js";
463
467
  import "./chunk-BHXBXELA.js";
464
468
  import "./chunk-MXCWSDSC.js";
465
469
  import {
@@ -500,12 +504,12 @@ import {
500
504
  subagentGenerator,
501
505
  supportsHyperlinks,
502
506
  wrapForMultiplexer
503
- } from "./chunk-NEDFDKY7.js";
507
+ } from "./chunk-7JU2ULBO.js";
504
508
  import "./chunk-MYMATZAY.js";
505
509
  import "./chunk-6IFQXZTP.js";
506
510
  import "./chunk-CJ7JDQEG.js";
507
511
  import "./chunk-YO3SEHXM.js";
508
- import "./chunk-5FRGB77D.js";
512
+ import "./chunk-FJAC7QWS.js";
509
513
  import "./chunk-P7UNPKJM.js";
510
514
  import {
511
515
  clearWorktreeSession,
@@ -513,7 +517,7 @@ import {
513
517
  readWorktreeSession,
514
518
  restoreWorktreeContext
515
519
  } from "./chunk-KXN7Q6SB.js";
516
- import "./chunk-RCVVSO52.js";
520
+ import "./chunk-JASYFKBU.js";
517
521
  import "./chunk-YIEC5SIW.js";
518
522
  import "./chunk-4JDEAIW5.js";
519
523
  import {
@@ -523,8 +527,8 @@ import {
523
527
  describeHoldCause,
524
528
  parseHeldExpiry
525
529
  } from "./chunk-TIYFDYIF.js";
526
- import "./chunk-E6ATIAX3.js";
527
- import "./chunk-4GBOSJAY.js";
530
+ import "./chunk-POMHQTHO.js";
531
+ import "./chunk-UVUHDO2Y.js";
528
532
  import "./chunk-NWCDFCWK.js";
529
533
  import "./chunk-ZMZRVR62.js";
530
534
  import {
@@ -532,19 +536,19 @@ import {
532
536
  isToolHiddenBehindToolSearch,
533
537
  resolveWorkflowAuthoringSurface,
534
538
  toolSearchBridgeSentence
535
- } from "./chunk-2X4UQI7O.js";
539
+ } from "./chunk-GY77YVM3.js";
536
540
  import "./chunk-AQVYFR7E.js";
537
- import "./chunk-PRI34PWO.js";
538
- import "./chunk-RFVTGDNU.js";
541
+ import "./chunk-V2R5TAQQ.js";
542
+ import "./chunk-5PY64ILO.js";
539
543
  import "./chunk-F3FKDGHN.js";
540
- import "./chunk-RPQ4TIHM.js";
544
+ import "./chunk-4OKN67QV.js";
541
545
  import "./chunk-UBWL27PO.js";
542
546
  import "./chunk-BWRP5ZMP.js";
543
547
  import "./chunk-DM6W2QYB.js";
544
548
  import "./chunk-UAACCQBD.js";
545
549
  import "./chunk-GVWQRVLV.js";
546
550
  import "./chunk-2QYMJSSC.js";
547
- import "./chunk-Q6QQD2YF.js";
551
+ import "./chunk-O7LSTDIS.js";
548
552
  import "./chunk-AVCUVYSA.js";
549
553
  import {
550
554
  ConditionalRulesRegistry,
@@ -610,7 +614,7 @@ import {
610
614
  saveWorkflowScript,
611
615
  validateWorkflowName,
612
616
  watchRepoBranch
613
- } from "./chunk-YWP7LG4W.js";
617
+ } from "./chunk-X62LTOGE.js";
614
618
  import "./chunk-FNALBCC7.js";
615
619
  import "./chunk-BZOAEOYF.js";
616
620
  import "./chunk-BIDB75DA.js";
@@ -636,8 +640,8 @@ import {
636
640
  elapsedActiveTime,
637
641
  goalPauseReasonForFailure,
638
642
  goalRequiresExactPermit
639
- } from "./chunk-BDZMDPWU.js";
640
- import "./chunk-GLYO25OO.js";
643
+ } from "./chunk-Q5D3WECC.js";
644
+ import "./chunk-EXWAECKM.js";
641
645
  import {
642
646
  GitWorktreeService,
643
647
  readWorktreeSessionMarker,
@@ -651,7 +655,7 @@ import "./chunk-OI7IVUEO.js";
651
655
  import "./chunk-DS3COGEF.js";
652
656
  import {
653
657
  resolveModelId
654
- } from "./chunk-4ADSMIZN.js";
658
+ } from "./chunk-NVKVO57S.js";
655
659
  import {
656
660
  glob
657
661
  } from "./chunk-OBPGYMIV.js";
@@ -671,7 +675,9 @@ import {
671
675
  formatMemoryUsage
672
676
  } from "./chunk-M7AWQAB7.js";
673
677
  import "./chunk-J5BDFZYA.js";
674
- import "./chunk-Z2IHOXIK.js";
678
+ import {
679
+ resolveBundleDir
680
+ } from "./chunk-Z2IHOXIK.js";
675
681
  import {
676
682
  promptIdContext
677
683
  } from "./chunk-5JTXPGNQ.js";
@@ -680,9 +686,9 @@ import "./chunk-GUMLL5KC.js";
680
686
  import "./chunk-HPQNI3OQ.js";
681
687
  import "./chunk-3XCL57IX.js";
682
688
  import "./chunk-YCZXGP63.js";
683
- import "./chunk-QIXODDVO.js";
689
+ import "./chunk-NIYI5272.js";
684
690
  import "./chunk-CI2ZHR5C.js";
685
- import "./chunk-NWA3LR74.js";
691
+ import "./chunk-46QWU5NF.js";
686
692
  import "./chunk-ZFZB6WC5.js";
687
693
  import "./chunk-4J6KRUQB.js";
688
694
  import "./chunk-QFQQICSQ.js";
@@ -702,7 +708,7 @@ import {
702
708
  } from "./chunk-IO32UWHY.js";
703
709
  import "./chunk-OSMXNPJP.js";
704
710
  import "./chunk-HX6AICAX.js";
705
- import "./chunk-Y6GS7FJE.js";
711
+ import "./chunk-X2HM423P.js";
706
712
  import {
707
713
  runOutsideAgentContext
708
714
  } from "./chunk-PPR5SHEF.js";
@@ -712,7 +718,7 @@ import "./chunk-65B6QBMP.js";
712
718
  import "./chunk-4OCNSFYL.js";
713
719
  import "./chunk-O4IWNFDK.js";
714
720
  import "./chunk-NGE3GHMN.js";
715
- import "./chunk-2AWC3WGL.js";
721
+ import "./chunk-L7A4D4IY.js";
716
722
  import "./chunk-WMJL2XAM.js";
717
723
  import "./chunk-CP63SY5N.js";
718
724
  import {
@@ -734,9 +740,10 @@ import {
734
740
  readSavedApiKey,
735
741
  requiresApiKey,
736
742
  resolveBaseUrl,
743
+ resolveReasoningForModel,
737
744
  resolveSavedModelApiKey,
738
745
  shouldShowStep
739
- } from "./chunk-IF2FN2EW.js";
746
+ } from "./chunk-RQOEQ73K.js";
740
747
  import "./chunk-POHJY7RJ.js";
741
748
  import {
742
749
  ApiCancelEvent,
@@ -776,7 +783,7 @@ import {
776
783
  runVisionBridge,
777
784
  shouldRunVisionBridge,
778
785
  splitImageParts
779
- } from "./chunk-2TEE2CP4.js";
786
+ } from "./chunk-3WHURT5H.js";
780
787
  import "./chunk-242JUBPM.js";
781
788
  import {
782
789
  DEFAULT_CONTEXT_FILENAME,
@@ -809,8 +816,10 @@ import {
809
816
  DEFAULT_TOKEN_LIMIT,
810
817
  MAINLINE_CODER_MODEL,
811
818
  REASONING_EFFORT_TIERS,
812
- applyReasoningEffort
813
- } from "./chunk-752ACE23.js";
819
+ clampReasoningEffort,
820
+ parseModelReasoningCapabilities,
821
+ reasoningEffortsForCapability
822
+ } from "./chunk-J6YVMK2F.js";
814
823
  import "./chunk-PLWOHBC7.js";
815
824
  import "./chunk-LEXKU5FI.js";
816
825
  import "./chunk-IQEM74QW.js";
@@ -865,7 +874,7 @@ import {
865
874
  import "./chunk-EPSJPAHV.js";
866
875
  import "./chunk-HBBBH6YA.js";
867
876
  import "./chunk-HHIX6THS.js";
868
- import "./chunk-2PXHYHTF.js";
877
+ import "./chunk-YEOU65NW.js";
869
878
  import "./chunk-LPFK3TO2.js";
870
879
  import {
871
880
  finalizeStartupProfile,
@@ -875,7 +884,7 @@ import "./chunk-H7HA2YLC.js";
875
884
  import {
876
885
  registerCleanup,
877
886
  runExitCleanup
878
- } from "./chunk-IMUVMGXA.js";
887
+ } from "./chunk-3BYFQ2H6.js";
879
888
  import {
880
889
  clearScreen,
881
890
  writeStderrLine,
@@ -1772,6 +1781,7 @@ function isSyntheticHistoryItem(item) {
1772
1781
  case "success":
1773
1782
  case "retry_countdown":
1774
1783
  case "vision_notice":
1784
+ case "update_notice":
1775
1785
  case "notification":
1776
1786
  case "tool_use_summary":
1777
1787
  case "gemini_thought":
@@ -2087,8 +2097,8 @@ var Notices = /* @__PURE__ */ __name(({
2087
2097
  ] })
2088
2098
  ] });
2089
2099
  }, "Notices");
2090
- var PathText = /* @__PURE__ */ __name(({ path: path14, room }) => {
2091
- const { parent, name } = fitPath(path14, room);
2100
+ var PathText = /* @__PURE__ */ __name(({ path: path15, room }) => {
2101
+ const { parent, name } = fitPath(path15, room);
2092
2102
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Text, { children: [
2093
2103
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text, { color: extendedTheme.text.muted, children: parent }),
2094
2104
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text, { color: theme.text.primary, bold: true, children: name })
@@ -2107,7 +2117,7 @@ var Header = /* @__PURE__ */ __name(({
2107
2117
  const tier = getLayoutTier(columns);
2108
2118
  const marginX = sideMargin(tier);
2109
2119
  const width = Math.max(0, columns - marginX * 2);
2110
- const path14 = process.platform === "win32" ? workingDirectory : tildeifyPath(workingDirectory);
2120
+ const path15 = process.platform === "win32" ? workingDirectory : tildeifyPath(workingDirectory);
2111
2121
  const versionText = /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text, { bold: true, color: extendedTheme.text.muted, children: `${formatVersionLabel(version)} \xB7 ${organization.toUpperCase()}` });
2112
2122
  const notices = /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
2113
2123
  Notices,
@@ -2125,11 +2135,11 @@ var Header = /* @__PURE__ */ __name(({
2125
2135
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Box_default, { flexDirection: "column", marginX, width, children: [
2126
2136
  row("logo", /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(O1Wordmark, {}), versionText),
2127
2137
  row("notices", null, notices),
2128
- row("path", null, /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(PathText, { path: path14, room: width }))
2138
+ row("path", null, /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(PathText, { path: path15, room: width }))
2129
2139
  ] });
2130
2140
  }
2131
2141
  const hints = hintItems(tier);
2132
- const folderWidth = getCachedStringWidth(fitPath(path14, 0).name);
2142
+ const folderWidth = getCachedStringWidth(fitPath(path15, 0).name);
2133
2143
  while (hints.length > 0 && hintsWidth(hints) + 3 + folderWidth > width) {
2134
2144
  hints.pop();
2135
2145
  }
@@ -2153,7 +2163,7 @@ var Header = /* @__PURE__ */ __name(({
2153
2163
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
2154
2164
  PathText,
2155
2165
  {
2156
- path: path14,
2166
+ path: path15,
2157
2167
  room: hints.length > 0 ? width - hintsWidth(hints) - 3 : width
2158
2168
  }
2159
2169
  )
@@ -2574,8 +2584,9 @@ function modeColor(mode) {
2574
2584
  }
2575
2585
  __name(modeColor, "modeColor");
2576
2586
  var Sep = /* @__PURE__ */ __name(() => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Text, { color: extendedTheme.ui.separator, children: SEP2 }), "Sep");
2587
+ var REASONING_DEFAULT = "default";
2577
2588
  var ModeZone = /* @__PURE__ */ __name(({ tier, mode, model, reasoning, safeMode, debugMode }) => {
2578
- const reasoningText = reasoning === void 0 || !atLeast(tier, "compact") ? "" : reasoning === false ? t("reasoning off") : atLeast(tier, "medium") ? t("reasoning {{effort}}", { effort: t(reasoning) }) : t(reasoning);
2589
+ const reasoningText = reasoning === void 0 || !atLeast(tier, "compact") ? "" : reasoning === false ? t("reasoning off") : reasoning === REASONING_DEFAULT ? t("reasoning default") : atLeast(tier, "medium") ? t("reasoning {{effort}}", { effort: t(reasoning) }) : t(reasoning);
2579
2590
  return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Text, { color: extendedTheme.text.muted, wrap: "truncate", children: [
2580
2591
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Text, { color: modeColor(mode), bold: true, children: `${glyphs().dot} ${modeLabel(mode)}` }),
2581
2592
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Text, { color: extendedTheme.ui.separator, children: " \u2502 " }),
@@ -4464,6 +4475,7 @@ var virtualKeyExtractor = /* @__PURE__ */ __name((item) => item.type === "vp-ban
4464
4475
  var virtualIsStaticItem = /* @__PURE__ */ __name((item) => item.type === "vp-banner" || item.id > 0, "virtualIsStaticItem");
4465
4476
  var MainContent = /* @__PURE__ */ __name(({
4466
4477
  footerRef,
4478
+ inputLinesRef,
4467
4479
  scrollActionsRef
4468
4480
  }) => {
4469
4481
  const { version } = useAppContext();
@@ -4764,7 +4776,7 @@ var MainContent = /* @__PURE__ */ __name(({
4764
4776
  isActive: !uiState.dialogsVisible,
4765
4777
  eventsPaused: contextMenuOpen !== null,
4766
4778
  getViewportRect: () => scrollRef.current?.getViewportRect() ?? null,
4767
- getAdditionalSelectableRects: () => footerRef?.current ? [measureElementPosition(footerRef.current)] : [],
4779
+ getAdditionalSelectableRects: () => [footerRef?.current, inputLinesRef?.current].filter((node) => Boolean(node)).map((node) => measureElementPosition(node)),
4768
4780
  getScrollState: () => scrollRef.current?.getScrollState() ?? {
4769
4781
  scrollTop: 0,
4770
4782
  scrollHeight: 0,
@@ -8149,8 +8161,8 @@ function SettingsDialog({
8149
8161
  }
8150
8162
  } else if (isNumericSettingType(item.type) || item.type === "string") {
8151
8163
  const isSubDialogSetting = item.value === "ui.theme" || item.value === "general.preferredEditor" || item.value === "fastModel" || item.value === "visionModel";
8152
- const path14 = item.value.split(".");
8153
- const currentValue = getNestedValue(pendingSettings, path14);
8164
+ const path15 = item.value.split(".");
8165
+ const currentValue = getNestedValue(pendingSettings, path15);
8154
8166
  const defaultValue = getDefaultValue(item.value);
8155
8167
  const effectiveCurrentValue = currentValue !== void 0 && currentValue !== null ? currentValue : defaultValue;
8156
8168
  if (item.value === "general.outputLanguage" && isAutoLanguage(
@@ -9138,6 +9150,7 @@ function useProviderSetupFlow(onSubmit, modelProviders, providerProtocol, select
9138
9150
  baseUrl: baseUrl.trim(),
9139
9151
  apiKey: apiKey.trim(),
9140
9152
  modelIds: normalizeModelIds(modelIds),
9153
+ ...keyCheck?.status === "ok" ? { discoveredModels: keyCheck.models } : {},
9141
9154
  advancedConfig: hasAdvanced ? {
9142
9155
  enableThinking: thinkingEnabled || void 0,
9143
9156
  multimodal,
@@ -9153,6 +9166,7 @@ function useProviderSetupFlow(onSubmit, modelProviders, providerProtocol, select
9153
9166
  baseUrl,
9154
9167
  apiKey,
9155
9168
  modelIds,
9169
+ keyCheck,
9156
9170
  modalityEnabled,
9157
9171
  modalityImage,
9158
9172
  modalityVideo,
@@ -9648,10 +9662,14 @@ function ModelIdsStep({
9648
9662
  );
9649
9663
  const initialModelIds = usePreselect && preselect ? preselect : selectedModelIds;
9650
9664
  const [selectedRecommendationKeys, setSelectedRecommendationKeys] = (0, import_react35.useState)(
9651
- () => usePreselect ? orderSelectedModelKeys(initialModelIds, modelOptions, builtInModelIds) : getRecommendedSelections(
9652
- initialModelIds,
9653
- modelOptions,
9654
- builtInModelIds
9665
+ () => (
9666
+ // A draft carried over a reload was checked on the list: keep every
9667
+ // model the provider still serves checked, not only the built-ins.
9668
+ usePreselect || draftModelIds !== void 0 ? orderSelectedModelKeys(initialModelIds, modelOptions, builtInModelIds) : getRecommendedSelections(
9669
+ initialModelIds,
9670
+ modelOptions,
9671
+ builtInModelIds
9672
+ )
9655
9673
  )
9656
9674
  );
9657
9675
  const [customModelIdsText, setCustomModelIdsText] = (0, import_react35.useState)(
@@ -9910,9 +9928,10 @@ function DiscoveringModelIdsStep({
9910
9928
  flow
9911
9929
  }) {
9912
9930
  const keyCheck = flow.state.keyCheck;
9931
+ const reusableCheck = keyCheck?.status === "ok" ? keyCheck : void 0;
9913
9932
  const [attempt, setAttempt] = (0, import_react35.useState)(0);
9914
9933
  const [snapshot, setSnapshot] = (0, import_react35.useState)(
9915
- () => keyCheck ? snapshotOf(keyCheck, config.models ?? []) : null
9934
+ () => reusableCheck ? snapshotOf(reusableCheck, config.models ?? []) : null
9916
9935
  );
9917
9936
  const baseUrl = flow.state.baseUrl;
9918
9937
  const apiKey = flow.state.apiKey;
@@ -9922,8 +9941,12 @@ function DiscoveringModelIdsStep({
9922
9941
  const setKeyCheckRef = (0, import_react35.useRef)(flow.setKeyCheck);
9923
9942
  setKeyCheckRef.current = flow.setKeyCheck;
9924
9943
  const answeredAttemptRef = (0, import_react35.useRef)(null);
9944
+ const providerSnapshotRef = (0, import_react35.useRef)(
9945
+ snapshot?.source === "provider" ? snapshot : null
9946
+ );
9947
+ const [reloadFailed, setReloadFailed] = (0, import_react35.useState)(false);
9925
9948
  (0, import_react35.useEffect)(() => {
9926
- if (keyCheck && attempt === 0) return;
9949
+ if (reusableCheck && attempt === 0) return;
9927
9950
  if (answeredAttemptRef.current === attempt) return;
9928
9951
  const controller = new AbortController();
9929
9952
  let active = true;
@@ -9941,17 +9964,36 @@ function DiscoveringModelIdsStep({
9941
9964
  return;
9942
9965
  }
9943
9966
  answeredAttemptRef.current = attempt;
9944
- setSnapshot(snapshotOf(result, builtInModels));
9967
+ const next = snapshotOf(result, builtInModels);
9968
+ if (next.source === "provider") {
9969
+ providerSnapshotRef.current = next;
9970
+ setReloadFailed(false);
9971
+ setSnapshot(next);
9972
+ } else if (providerSnapshotRef.current) {
9973
+ setReloadFailed(true);
9974
+ setSnapshot(providerSnapshotRef.current);
9975
+ } else {
9976
+ setSnapshot(next);
9977
+ }
9945
9978
  if (result.status === "ok" || !keyCheck) setKeyCheckRef.current(result);
9946
9979
  });
9947
9980
  return () => {
9948
9981
  active = false;
9949
9982
  controller.abort();
9950
9983
  };
9951
- }, [apiKey, baseUrl, protocol, config.models, keyCheck, attempt]);
9984
+ }, [
9985
+ apiKey,
9986
+ baseUrl,
9987
+ protocol,
9988
+ config.models,
9989
+ keyCheck,
9990
+ reusableCheck,
9991
+ attempt
9992
+ ]);
9952
9993
  const draftRef = (0, import_react35.useRef)(void 0);
9953
9994
  const [draftModelIds, setDraftModelIds] = (0, import_react35.useState)();
9954
- const canFetchAgain = snapshot?.source === "fallback";
9995
+ const canFetchAgain = snapshot !== null;
9996
+ const listFailed = reloadFailed || snapshot?.source === "fallback" && snapshot.models.length === 0;
9955
9997
  useKeypress(
9956
9998
  (key) => {
9957
9999
  if (key.ctrl && key.name === "r") {
@@ -9972,6 +10014,9 @@ function DiscoveringModelIdsStep({
9972
10014
  ] });
9973
10015
  }
9974
10016
  return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(Box_default, { flexDirection: "column", children: [
10017
+ listFailed && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Text, { color: theme.status.warning, children: t(
10018
+ "The provider list could not be read \xB7 ctrl+r fetches the models again"
10019
+ ) }) }),
9975
10020
  /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
9976
10021
  ModelIdsStep,
9977
10022
  {
@@ -9993,9 +10038,7 @@ function DiscoveringModelIdsStep({
9993
10038
  },
9994
10039
  attempt
9995
10040
  ),
9996
- canFetchAgain && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Text, { color: extendedTheme.text.muted, children: snapshot.models.length > 0 ? t("ctrl+r fetches the models again") : t(
9997
- "The provider list could not be read \xB7 ctrl+r fetches the models again"
9998
- ) }) })
10041
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Text, { color: extendedTheme.text.muted, children: t("ctrl+r fetches the models again") }) })
9999
10042
  ] });
10000
10043
  }
10001
10044
  __name(DiscoveringModelIdsStep, "DiscoveringModelIdsStep");
@@ -10749,13 +10792,13 @@ function AuthDialog() {
10749
10792
  local: [t("Local")],
10750
10793
  family: [t("API key"), family ? t(family.label) : ""]
10751
10794
  };
10752
- const path14 = viewLevel !== "provider-setup" ? menuPaths[viewLevel] : p ? [t(p.uiLabels?.flowTitle ?? p.label), getStepLabel(step, p)] : [t("Provider Setup")];
10795
+ const path15 = viewLevel !== "provider-setup" ? menuPaths[viewLevel] : p ? [t(p.uiLabels?.flowTitle ?? p.label), getStepLabel(step, p)] : [t("Provider Setup")];
10753
10796
  const position = getAuthStepPosition({
10754
10797
  screensBefore: viewStack.length,
10755
10798
  ...viewLevel === "provider-setup" ? { flow: { stepIndex, totalSteps } } : {}
10756
10799
  });
10757
10800
  return {
10758
- viewPath: path14,
10801
+ viewPath: path15,
10759
10802
  stepText: position.total === void 0 ? t("step {{step}}", { step: String(position.step) }) : t("step {{step}} of {{total}}", {
10760
10803
  step: String(position.step),
10761
10804
  total: String(position.total)
@@ -12350,6 +12393,12 @@ function ModelDialog({
12350
12393
  (key) => {
12351
12394
  if (key.name === "escape" || key.name === "left" && isAuxiliaryModelMode) {
12352
12395
  closeWithoutSelection();
12396
+ return;
12397
+ }
12398
+ if ((key.name === "left" || key.name === "right") && shownEffort !== void 0) {
12399
+ const index = effortOptions.indexOf(shownEffort);
12400
+ const next = effortOptions[index + (key.name === "right" ? 1 : -1)];
12401
+ if (next) setEffortChoice(next);
12353
12402
  }
12354
12403
  },
12355
12404
  { isActive: true }
@@ -12383,6 +12432,25 @@ function ModelDialog({
12383
12432
  }
12384
12433
  );
12385
12434
  }, [highlightedValue, preferredKey, availableModelEntries]);
12435
+ const [initialEffort] = (0, import_react40.useState)(
12436
+ () => config?.getReasoningEffort?.() ?? REASONING_EFFORT_DEFAULT
12437
+ );
12438
+ const [effortChoice, setEffortChoice] = (0, import_react40.useState)(initialEffort);
12439
+ const effortOptions = (0, import_react40.useMemo)(() => {
12440
+ if (isAuxiliaryModelMode || !highlightedEntry) return [];
12441
+ const tiers = reasoningEffortsForCapability(
12442
+ parseModelReasoningCapabilities(
12443
+ highlightedEntry.model.capabilities?.reasoning
12444
+ )
12445
+ );
12446
+ return tiers.length > 0 ? [REASONING_EFFORT_DEFAULT, ...tiers] : [];
12447
+ }, [isAuxiliaryModelMode, highlightedEntry]);
12448
+ const shownEffort = effortOptions.length === 0 ? void 0 : effortChoice === REASONING_EFFORT_DEFAULT || effortOptions.includes(effortChoice) ? effortChoice : clampReasoningEffort(
12449
+ effortChoice,
12450
+ effortOptions.filter(
12451
+ (option) => option !== REASONING_EFFORT_DEFAULT
12452
+ )
12453
+ );
12386
12454
  const handleSelect = (0, import_react40.useCallback)(
12387
12455
  async (selected) => {
12388
12456
  if (selectionInFlightRef.current || selectionCommittedRef.current) return;
@@ -12592,12 +12660,17 @@ ${errorMessage2}`
12592
12660
  );
12593
12661
  return;
12594
12662
  }
12663
+ if (shownEffort !== void 0 && shownEffort !== initialEffort) {
12664
+ applyEffortSelection(config, settings, shownEffort);
12665
+ }
12595
12666
  closeLatchRef.current = true;
12596
12667
  onClose();
12597
12668
  },
12598
12669
  [
12599
12670
  authType,
12600
12671
  config,
12672
+ shownEffort,
12673
+ initialEffort,
12601
12674
  onClose,
12602
12675
  settings,
12603
12676
  uiState,
@@ -12691,13 +12764,23 @@ ${errorMessage2}`
12691
12764
  label: "API Key",
12692
12765
  value: highlightedEntry.model.envKey ?? t("(not set)")
12693
12766
  }
12767
+ ),
12768
+ shownEffort !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
12769
+ DetailRow,
12770
+ {
12771
+ label: t("Effort"),
12772
+ value: effortOptions.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Text, { children: [
12773
+ index > 0 && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Text, { color: extendedTheme.ui.separator, children: " \xB7 " }),
12774
+ option === shownEffort ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Text, { color: extendedTheme.ui.brand, bold: true, children: `\u2039 ${option} \u203A` }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Text, { color: theme.text.secondary, children: option })
12775
+ ] }, option))
12776
+ }
12694
12777
  )
12695
12778
  ] }),
12696
12779
  errorMessage && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Box_default, { marginTop: 1, flexDirection: "column", paddingX: 1, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Text, { color: theme.status.error, wrap: "wrap", children: [
12697
12780
  "\u2715 ",
12698
12781
  errorMessage
12699
12782
  ] }) }),
12700
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Box_default, { marginTop: 1, flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Text, { color: theme.text.secondary, children: t("\u2191\u2193 navigate \xB7 enter select \xB7 esc close") }) })
12783
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Box_default, { marginTop: 1, flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Text, { color: theme.text.secondary, children: effortOptions.length > 0 ? t("\u2191\u2193 navigate \xB7 \u2190\u2192 effort \xB7 enter select \xB7 esc close") : t("\u2191\u2193 navigate \xB7 enter select \xB7 esc close") }) })
12701
12784
  ]
12702
12785
  }
12703
12786
  );
@@ -13579,7 +13662,7 @@ var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);
13579
13662
  var EFFORT_DESCRIPTIONS = {
13580
13663
  low: "Fastest and cheapest; least reasoning.",
13581
13664
  medium: "Balanced speed, cost, and reasoning.",
13582
- high: "Default \u2014 strong reasoning for hard tasks.",
13665
+ high: "Strong reasoning for hard tasks.",
13583
13666
  xhigh: "Extended reasoning for agentic/coding work.",
13584
13667
  max: "Maximum reasoning; highest cost and latency."
13585
13668
  };
@@ -13588,16 +13671,23 @@ function EffortDialog({
13588
13671
  currentEffort,
13589
13672
  efforts = REASONING_EFFORT_TIERS
13590
13673
  }) {
13591
- const items = efforts.map((tier) => ({
13592
- label: `${tier} \u2014 ${t(EFFORT_DESCRIPTIONS[tier])}`,
13593
- value: tier,
13594
- key: tier
13595
- }));
13674
+ const items = [
13675
+ {
13676
+ label: `${REASONING_EFFORT_DEFAULT} \u2014 ${t("The model/provider decides; no tier of its own.")}`,
13677
+ value: REASONING_EFFORT_DEFAULT,
13678
+ key: REASONING_EFFORT_DEFAULT
13679
+ },
13680
+ ...efforts.map((tier) => ({
13681
+ label: `${tier} \u2014 ${t(EFFORT_DESCRIPTIONS[tier])}`,
13682
+ value: tier,
13683
+ key: tier
13684
+ }))
13685
+ ];
13596
13686
  const configuredIndex = currentEffort ? efforts.indexOf(currentEffort) : -1;
13597
- const initialIndex = Math.max(0, configuredIndex);
13687
+ const initialIndex = configuredIndex + 1;
13598
13688
  const handleSelect = (0, import_react46.useCallback)(
13599
- (effort) => {
13600
- onSelect(effort);
13689
+ (selection) => {
13690
+ onSelect(selection);
13601
13691
  },
13602
13692
  [onSelect]
13603
13693
  );
@@ -13635,10 +13725,10 @@ function EffortDialog({
13635
13725
  showNumbers: true
13636
13726
  }
13637
13727
  ),
13638
- configuredIndex === -1 && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, wrap: "truncate", children: currentEffort ? t(
13728
+ currentEffort && configuredIndex === -1 && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, wrap: "truncate", children: t(
13639
13729
  "{{effort}} is not available for this model \u2014 using the model/provider default.",
13640
13730
  { effort: currentEffort }
13641
- ) : t("No effort configured \u2014 using the model/provider default.") }) }),
13731
+ ) }) }),
13642
13732
  /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, wrap: "truncate", children: t("(Use Enter to select, Esc to cancel)") }) })
13643
13733
  ]
13644
13734
  }
@@ -23044,7 +23134,7 @@ function FileRow({
23044
23134
  const tag = file.isDeleted ? t(" (deleted)") : file.isUntracked ? t(" (untracked)") : file.oversized ? t(" (oversized \u2014 diff omitted)") : file.isNewFile ? t(" (new)") : file.truncated ? t(" (truncated)") : "";
23045
23135
  const renameFits = !!file.oldDisplayPath && maxPathChars >= 19;
23046
23136
  const pathBudget = renameFits ? Math.floor((maxPathChars - 3) / 2) : maxPathChars;
23047
- const path14 = truncatePathStart(file.displayPath, pathBudget);
23137
+ const path15 = truncatePathStart(file.displayPath, pathBudget);
23048
23138
  return /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(Box_default, { flexDirection: "row", children: [
23049
23139
  /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
23050
23140
  Text,
@@ -23064,7 +23154,7 @@ function FileRow({
23064
23154
  {
23065
23155
  color: selected ? theme.text.accent : theme.text.primary,
23066
23156
  bold: selected,
23067
- children: path14
23157
+ children: path15
23068
23158
  }
23069
23159
  ),
23070
23160
  /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(Text, { color: theme.text.secondary, children: [
@@ -23128,11 +23218,11 @@ function FileDetail({
23128
23218
  ] });
23129
23219
  }
23130
23220
  __name(FileDetail, "FileDetail");
23131
- function truncatePathStart(path14, maxChars) {
23221
+ function truncatePathStart(path15, maxChars) {
23132
23222
  if (maxChars <= 0) return "";
23133
- if (path14.length <= maxChars) return path14;
23134
- if (maxChars <= 1) return path14.slice(-maxChars);
23135
- return "\u2026" + path14.slice(-(maxChars - 1));
23223
+ if (path15.length <= maxChars) return path15;
23224
+ if (maxChars <= 1) return path15.slice(-maxChars);
23225
+ return "\u2026" + path15.slice(-(maxChars - 1));
23136
23226
  }
23137
23227
  __name(truncatePathStart, "truncatePathStart");
23138
23228
  function useVisibleWindow(total, selectedIndex, windowSize) {
@@ -23149,18 +23239,18 @@ __name(useVisibleWindow, "useVisibleWindow");
23149
23239
  function currentToFiles(result, hunks) {
23150
23240
  if (!result) return [];
23151
23241
  const out = [];
23152
- for (const [path14, s] of result.perFileStats) {
23153
- out.push(perFileToUnified(path14, s, hunks));
23242
+ for (const [path15, s] of result.perFileStats) {
23243
+ out.push(perFileToUnified(path15, s, hunks));
23154
23244
  }
23155
23245
  out.sort((a, b) => a.path.localeCompare(b.path));
23156
23246
  return out;
23157
23247
  }
23158
23248
  __name(currentToFiles, "currentToFiles");
23159
- function perFileToUnified(path14, s, hunks) {
23160
- const fileHunks = hunks.get(path14);
23249
+ function perFileToUnified(path15, s, hunks) {
23250
+ const fileHunks = hunks.get(path15);
23161
23251
  return {
23162
- path: path14,
23163
- displayPath: sanitizeFilenameForDisplay(path14),
23252
+ path: path15,
23253
+ displayPath: sanitizeFilenameForDisplay(path15),
23164
23254
  // Carry the pre-rename path so the interactive viewer can show `old → new`
23165
23255
  // for renames (keyed/addressed by the new path).
23166
23256
  oldDisplayPath: s.oldPath ? sanitizeFilenameForDisplay(s.oldPath) : void 0,
@@ -29415,16 +29505,16 @@ function TextInputMouseController({
29415
29505
  }) {
29416
29506
  const { rows: terminalHeight } = useTerminalSize();
29417
29507
  const { menu: contextMenu } = useContextMenu();
29418
- const handleMouse = (0, import_react104.useCallback)(
29419
- (event) => {
29420
- if (event.name !== "left-press") return;
29508
+ const pressRef = (0, import_react104.useRef)(null);
29509
+ const moveCursorTo = (0, import_react104.useCallback)(
29510
+ (col, row) => {
29421
29511
  const lines = linesRef.current;
29422
29512
  if (!lines) return;
29423
29513
  const rect = measureElementPosition(lines);
29424
29514
  if (rect.height <= 0) return;
29425
- const clickVisualRow = layoutRowForEvent(lines, event.row, terminalHeight) - rect.y;
29515
+ const clickVisualRow = layoutRowForEvent(lines, row, terminalHeight) - rect.y;
29426
29516
  if (clickVisualRow < 0 || clickVisualRow >= visibleLineCount) return;
29427
- const clickVisualCol = Math.max(0, event.col - 1 - rect.x);
29517
+ const clickVisualCol = Math.max(0, col - 1 - rect.x);
29428
29518
  const absoluteVisualRow = buffer.visualScrollRow + clickVisualRow;
29429
29519
  const offset = visualClickToOffset(
29430
29520
  buffer,
@@ -29435,6 +29525,27 @@ function TextInputMouseController({
29435
29525
  },
29436
29526
  [linesRef, buffer, visibleLineCount, terminalHeight]
29437
29527
  );
29528
+ const handleMouse = (0, import_react104.useCallback)(
29529
+ (event) => {
29530
+ if (event.name === "left-press") {
29531
+ pressRef.current = { col: event.col, row: event.row };
29532
+ return;
29533
+ }
29534
+ const press = pressRef.current;
29535
+ if (!press) return;
29536
+ if (event.name === "move") {
29537
+ if (event.col !== press.col || event.row !== press.row) {
29538
+ pressRef.current = null;
29539
+ }
29540
+ return;
29541
+ }
29542
+ if (event.name === "left-release") {
29543
+ pressRef.current = null;
29544
+ moveCursorTo(press.col, press.row);
29545
+ }
29546
+ },
29547
+ [moveCursorTo]
29548
+ );
29438
29549
  useMouseEvents(handleMouse, {
29439
29550
  isActive: contextMenu === null,
29440
29551
  tracking: "button"
@@ -29447,10 +29558,6 @@ __name(TextInputMouseController, "TextInputMouseController");
29447
29558
  var import_jsx_runtime112 = __toESM(require_jsx_runtime(), 1);
29448
29559
  var INPUT_MAX_VISIBLE_LINES = 6;
29449
29560
  var LABEL_RESERVED_COLUMNS = 7;
29450
- var TOP_FRAME = {
29451
- round: { topLeft: "\u256D", top: "\u2500", topRight: "\u256E" },
29452
- single: { topLeft: "\u250C", top: "\u2500", topRight: "\u2510" }
29453
- };
29454
29561
  function defaultRenderLine({
29455
29562
  lineText,
29456
29563
  isOnCursorLine,
@@ -29464,7 +29571,7 @@ function defaultRenderLine({
29464
29571
  if (cursorCol >= len) {
29465
29572
  return /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)(Text, { children: [
29466
29573
  lineText,
29467
- renderSoftwareCursor(" ") + "\u200B"
29574
+ renderSoftwareCursor(" ")
29468
29575
  ] });
29469
29576
  }
29470
29577
  const before = cpSlice(lineText, 0, cursorCol);
@@ -29529,7 +29636,8 @@ var BaseTextInput = /* @__PURE__ */ __name(({
29529
29636
  topRightLabel,
29530
29637
  isActive = true,
29531
29638
  renderLine = defaultRenderLine,
29532
- mouseEnabled = false
29639
+ mouseEnabled = false,
29640
+ selectableLinesRef
29533
29641
  }) => {
29534
29642
  const handleKey = (0, import_react105.useCallback)(
29535
29643
  (key) => {
@@ -29605,6 +29713,15 @@ var BaseTextInput = /* @__PURE__ */ __name(({
29605
29713
  const boxRef = (0, import_react105.useRef)(null);
29606
29714
  const linesRef = (0, import_react105.useRef)(null);
29607
29715
  const { hasMeasured } = use_box_metrics_default(linesRef);
29716
+ (0, import_react105.useLayoutEffect)(() => {
29717
+ if (selectableLinesRef) selectableLinesRef.current = linesRef.current;
29718
+ });
29719
+ (0, import_react105.useLayoutEffect)(
29720
+ () => () => {
29721
+ if (selectableLinesRef) selectableLinesRef.current = null;
29722
+ },
29723
+ [selectableLinesRef]
29724
+ );
29608
29725
  const { setCursorPosition } = use_cursor_default();
29609
29726
  const cursorPosition = getPhysicalCursorPosition(linesRef.current, {
29610
29727
  hasMeasured,
@@ -29632,10 +29749,23 @@ var BaseTextInput = /* @__PURE__ */ __name(({
29632
29749
  ),
29633
29750
  renderedLabel && // The label sits inside the top border, so the input keeps its height
29634
29751
  // when a session name or voice status appears mid-turn.
29752
+ // The rule starts from zero width and takes only what the label leaves:
29753
+ // sized from its content (the whole terminal width) it pushed the
29754
+ // label and the corner past the input's right edge.
29635
29755
  /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)(Box_default, { children: [
29636
29756
  /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(Text, { color: resolvedBorderColor, children: frame.topLeft }),
29637
- /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(Box_default, { flexGrow: 1, overflow: "hidden", children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(Text, { color: resolvedBorderColor, wrap: "truncate", children: frame.top.repeat(columns) }) }),
29638
- /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(Text, { color: resolvedBorderColor, children: ` ${renderedLabel} ${frame.top.repeat(2)}${frame.topRight}` })
29757
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
29758
+ Box_default,
29759
+ {
29760
+ flexGrow: 1,
29761
+ flexShrink: 1,
29762
+ flexBasis: 0,
29763
+ height: 1,
29764
+ overflow: "hidden",
29765
+ children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(Text, { color: resolvedBorderColor, children: frame.top.repeat(columns) })
29766
+ }
29767
+ ),
29768
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(Box_default, { flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(Text, { color: resolvedBorderColor, children: ` ${renderedLabel} ${frame.top.repeat(2)}${frame.topRight}` }) })
29639
29769
  ] }),
29640
29770
  /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)(
29641
29771
  Box_default,
@@ -30887,6 +31017,7 @@ var LARGE_PASTE_CHAR_THRESHOLD = 1e3;
30887
31017
  var LARGE_PASTE_LINE_THRESHOLD = 10;
30888
31018
  var InputPrompt = /* @__PURE__ */ __name(({
30889
31019
  buffer,
31020
+ selectableLinesRef,
30890
31021
  onSubmit,
30891
31022
  userMessages,
30892
31023
  onClearScreen,
@@ -31366,22 +31497,26 @@ ${finalValue.trim()}`;
31366
31497
  setLivePanelFocused(true);
31367
31498
  } else if (hasAgents) {
31368
31499
  setAgentTabBarFocused(true);
31369
- } else if (bgEntries.length > 0) {
31370
- setBgPillFocused(true);
31371
31500
  }
31372
31501
  return true;
31373
31502
  }, [
31374
31503
  getVisibleBgAgents,
31375
31504
  hasAgents,
31376
- bgEntries,
31377
31505
  setLivePanelFocused,
31378
- setAgentTabBarFocused,
31379
- setBgPillFocused
31506
+ setAgentTabBarFocused
31380
31507
  ]);
31381
31508
  const hasComposerDescendTarget = (0, import_react107.useCallback)(
31382
- () => getVisibleBgAgents().length > 0 || hasAgents || bgEntries.length > 0,
31383
- [getVisibleBgAgents, hasAgents, bgEntries]
31509
+ () => getVisibleBgAgents().length > 0 || hasAgents,
31510
+ [getVisibleBgAgents, hasAgents]
31384
31511
  );
31512
+ const ascendToBackgroundTasks = (0, import_react107.useCallback)(() => {
31513
+ const live = bgEntries.some(
31514
+ (e) => e.status === "running" || e.status === "paused" || e.status === "pausing"
31515
+ );
31516
+ if (!live || buffer.text.length > 0) return false;
31517
+ setBgPillFocused(true);
31518
+ return true;
31519
+ }, [bgEntries, buffer.text, setBgPillFocused]);
31385
31520
  const availableSuggestion = followup.state.isVisible || promptSuggestion ? followup.state.suggestion ?? promptSuggestion ?? null : null;
31386
31521
  const handleInput = (0, import_react107.useCallback)(
31387
31522
  (key) => {
@@ -31460,6 +31595,11 @@ ${finalValue.trim()}`;
31460
31595
  }
31461
31596
  return true;
31462
31597
  }
31598
+ if (bgPillFocused && !agentTabBarFocused && keyMatchers["navigationUp" /* NAVIGATION_UP */](key)) {
31599
+ setBgPillFocused(false);
31600
+ if (inputHistory.navigateUp()) buffer.moveToOffset(0);
31601
+ return true;
31602
+ }
31463
31603
  if (agentTabBarFocused || bgPillFocused) {
31464
31604
  if (key.sequence && key.sequence.length === 1 && !key.ctrl && !key.meta) {
31465
31605
  return false;
@@ -31848,6 +31988,7 @@ ${currentText}`);
31848
31988
  buffer.move("home");
31849
31989
  return true;
31850
31990
  }
31991
+ if (ascendToBackgroundTasks()) return true;
31851
31992
  if (inputHistory.navigateUp()) {
31852
31993
  buffer.moveToOffset(0);
31853
31994
  }
@@ -31872,6 +32013,7 @@ ${currentText}`);
31872
32013
  }
31873
32014
  if (keyMatchers["navigationUp" /* NAVIGATION_UP */](key) && (buffer.allVisualLines.length === 1 || buffer.visualCursor[0] === 0 && buffer.visualScrollRow === 0)) {
31874
32015
  if (isVpMode && buffer.text.length === 0 && scrollActions?.hasScrollableTranscript()) {
32016
+ if (ascendToBackgroundTasks()) return true;
31875
32017
  scrollActions.scrollBy(-1);
31876
32018
  return true;
31877
32019
  }
@@ -31879,6 +32021,7 @@ ${currentText}`);
31879
32021
  buffer.move("home");
31880
32022
  return true;
31881
32023
  }
32024
+ if (ascendToBackgroundTasks()) return true;
31882
32025
  if (inputHistory.navigateUp()) {
31883
32026
  buffer.moveToOffset(0);
31884
32027
  }
@@ -31999,6 +32142,8 @@ ${currentText}`);
31999
32142
  [
32000
32143
  focus,
32001
32144
  buffer,
32145
+ ascendToBackgroundTasks,
32146
+ setBgPillFocused,
32002
32147
  completion,
32003
32148
  slashCommands,
32004
32149
  shellModeActive,
@@ -32144,12 +32289,9 @@ ${currentText}`);
32144
32289
  );
32145
32290
  }
32146
32291
  }
32147
- if (drawCursor) {
32148
- renderedLine.push(/* @__PURE__ */ (0, import_jsx_runtime114.jsx)(Text, { children: `\u200B` }, "ghost-zwsp"));
32149
- }
32150
32292
  } else if (!terminalShowsInputCursor()) {
32151
32293
  renderedLine.push(
32152
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(Text, { children: showCursorOpt ? renderSoftwareCursor(" ") + "\u200B" : " \u200B" }, `cursor-end-${cursorVisualColAbsolute}`)
32294
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(Text, { children: showCursorOpt ? renderSoftwareCursor(" ") : " " }, `cursor-end-${cursorVisualColAbsolute}`)
32153
32295
  );
32154
32296
  }
32155
32297
  }
@@ -32322,6 +32464,7 @@ ${currentText}`);
32322
32464
  BaseTextInput,
32323
32465
  {
32324
32466
  buffer,
32467
+ selectableLinesRef,
32325
32468
  onSubmit: handleSubmitAndClear,
32326
32469
  onKeypress: handleInput,
32327
32470
  showCursor,
@@ -32958,7 +33101,9 @@ function readReasoning(config) {
32958
33101
  try {
32959
33102
  const reasoning = getReasoningForDisplay(config, generationConfig);
32960
33103
  if (reasoning === false) return false;
32961
- return reasoning?.effort;
33104
+ const effort = reasoning?.effort;
33105
+ if (effort) return effort;
33106
+ return resolveReasoningForModel(config, generationConfig) ? REASONING_DEFAULT : void 0;
32962
33107
  } catch {
32963
33108
  return void 0;
32964
33109
  }
@@ -33158,6 +33303,10 @@ function groupAndFormat(entries) {
33158
33303
  return parts.join(", ");
33159
33304
  }
33160
33305
  __name(groupAndFormat, "groupAndFormat");
33306
+ function countRunningMonitors(entries) {
33307
+ return entries.filter((e) => e.kind === "monitor" && e.status === "running").length;
33308
+ }
33309
+ __name(countRunningMonitors, "countRunningMonitors");
33161
33310
  function formatCount(kind, n) {
33162
33311
  const names = KIND_NAMES[kind];
33163
33312
  return `${n} ${n === 1 ? names.singular : names.plural}`;
@@ -33168,9 +33317,9 @@ var BackgroundTasksPill = /* @__PURE__ */ __name(() => {
33168
33317
  const { openDialog, setPillFocused } = useBackgroundTaskViewActions();
33169
33318
  const onKeypress = (0, import_react112.useCallback)(
33170
33319
  (key) => {
33171
- if (key.name === "return" || key.name === "down" || key.ctrl && key.name === "n") {
33320
+ if (key.name === "return") {
33172
33321
  openDialog();
33173
- } else if (key.name === "up" || key.ctrl && key.name === "p" || key.name === "escape") {
33322
+ } else if (key.name === "down" || key.ctrl && key.name === "n" || key.name === "escape") {
33174
33323
  setPillFocused(false);
33175
33324
  } else if (key.sequence && key.sequence.length === 1 && !key.ctrl && !key.meta) {
33176
33325
  setPillFocused(false);
@@ -33180,12 +33329,18 @@ var BackgroundTasksPill = /* @__PURE__ */ __name(() => {
33180
33329
  );
33181
33330
  useKeypress(onKeypress, { isActive: pillFocused });
33182
33331
  if (entries.length === 0) return null;
33183
- const label = getPillLabel(entries);
33332
+ const monitoring = countRunningMonitors(entries);
33333
+ const label = getPillLabel(
33334
+ entries.filter((e) => !(e.kind === "monitor" && e.status === "running"))
33335
+ );
33184
33336
  const needsApproval = hasPendingApproval(entries);
33185
33337
  const largeWorkflow = hasLargeWorkflow(entries);
33186
33338
  return /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(import_jsx_runtime117.Fragment, { children: [
33187
- /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Text, { color: theme.text.secondary, wrap: "truncate", children: " \xB7 " }),
33188
- /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Text, { inverse: pillFocused, wrap: "truncate", children: label }),
33339
+ label && /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(import_jsx_runtime117.Fragment, { children: [
33340
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Text, { color: theme.text.secondary, wrap: "truncate", children: " \xB7 " }),
33341
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Text, { inverse: pillFocused && monitoring === 0, wrap: "truncate", children: label })
33342
+ ] }),
33343
+ pillFocused && /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Text, { color: theme.text.secondary, wrap: "truncate", children: ` ${t("enter open \xB7 \u2191 history \xB7 esc back")}` }),
33189
33344
  needsApproval && /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Text, { color: theme.status.warning, wrap: "truncate", children: ` \u26A0 ${t("needs approval")}` }),
33190
33345
  largeWorkflow && /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Text, { color: theme.status.warning, wrap: "truncate", children: ` \u26A0 ${t("Large workflow")}` })
33191
33346
  ] });
@@ -33354,29 +33509,44 @@ function planProgress(todos) {
33354
33509
  };
33355
33510
  }
33356
33511
  __name(planProgress, "planProgress");
33357
- var ActivityChips = /* @__PURE__ */ __name(({ tier, active }) => {
33512
+ var ActivityChips = /* @__PURE__ */ __name(({ tier, active, monitoring = 0, monitoringFocused = false }) => {
33358
33513
  const wide = atLeast(tier, "compact");
33359
- return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Text, { wrap: "truncate", children: CATEGORIES.map(([category, label], i) => {
33360
- const on = category === active;
33361
- return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(Text, { children: [
33362
- i > 0 && (wide ? " " : " "),
33514
+ return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(Text, { wrap: "truncate", children: [
33515
+ CATEGORIES.map(([category, label], i) => {
33516
+ const on = category === active;
33517
+ return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(Text, { children: [
33518
+ i > 0 && (wide ? " " : " "),
33519
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
33520
+ Text,
33521
+ {
33522
+ color: on ? extendedTheme.activity[category] : extendedTheme.ui.separator,
33523
+ children: glyphs().dot
33524
+ }
33525
+ ),
33526
+ (on || wide) && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
33527
+ Text,
33528
+ {
33529
+ color: on ? theme.text.primary : extendedTheme.text.muted,
33530
+ bold: on,
33531
+ children: ` ${t(label)}`
33532
+ }
33533
+ )
33534
+ ] }, category);
33535
+ }),
33536
+ monitoring > 0 && /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(Text, { children: [
33537
+ wide ? " " : " ",
33538
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Text, { color: extendedTheme.ui.brandSoft, children: glyphs().dot }),
33363
33539
  /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
33364
33540
  Text,
33365
33541
  {
33366
- color: on ? extendedTheme.activity[category] : extendedTheme.ui.separator,
33367
- children: glyphs().dot
33368
- }
33369
- ),
33370
- (on || wide) && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
33371
- Text,
33372
- {
33373
- color: on ? theme.text.primary : extendedTheme.text.muted,
33374
- bold: on,
33375
- children: ` ${t(label)}`
33542
+ color: extendedTheme.ui.brandSoft,
33543
+ bold: true,
33544
+ inverse: monitoringFocused,
33545
+ children: ` ${t("monitoring ({{count}})", { count: String(monitoring) })}`
33376
33546
  }
33377
33547
  )
33378
- ] }, category);
33379
- }) });
33548
+ ] })
33549
+ ] });
33380
33550
  }, "ActivityChips");
33381
33551
  var Sep2 = /* @__PURE__ */ __name(() => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Text, { color: extendedTheme.ui.separator, children: " \xB7 " }), "Sep");
33382
33552
  var ActivityLine = /* @__PURE__ */ __name(() => {
@@ -33389,6 +33559,8 @@ var ActivityLine = /* @__PURE__ */ __name(() => {
33389
33559
  uiState.streamingState
33390
33560
  );
33391
33561
  const plan = planProgress(uiState.stickyTodos);
33562
+ const { entries: backgroundEntries, pillFocused } = useBackgroundTaskViewState();
33563
+ const monitoring = countRunningMonitors(backgroundEntries);
33392
33564
  const skill = atLeast(tier, "medium") ? getActiveSkill(
33393
33565
  uiState.history ?? [],
33394
33566
  uiState.pendingHistoryItems,
@@ -33403,7 +33575,15 @@ var ActivityLine = /* @__PURE__ */ __name(() => {
33403
33575
  paddingX: sideMargin(tier),
33404
33576
  justifyContent: "space-between",
33405
33577
  children: [
33406
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Box_default, { flexShrink: 1, minWidth: 0, children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(ActivityChips, { tier, active }) }),
33578
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Box_default, { flexShrink: 1, minWidth: 0, children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
33579
+ ActivityChips,
33580
+ {
33581
+ tier,
33582
+ active,
33583
+ monitoring,
33584
+ monitoringFocused: pillFocused && monitoring > 0
33585
+ }
33586
+ ) }),
33407
33587
  /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Box_default, { flexShrink: 1, minWidth: 0, marginLeft: 1, children: /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(Text, { color: extendedTheme.text.muted, wrap: "truncate", children: [
33408
33588
  /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(BackgroundTasksPill, {}),
33409
33589
  plan && /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(import_jsx_runtime120.Fragment, { children: [
@@ -33530,7 +33710,7 @@ var KeyboardShortcuts = /* @__PURE__ */ __name(() => {
33530
33710
 
33531
33711
  // packages/cli/src/ui/components/Composer.tsx
33532
33712
  var import_jsx_runtime122 = __toESM(require_jsx_runtime(), 1);
33533
- var Composer = /* @__PURE__ */ __name(({ footerRef }) => {
33713
+ var Composer = /* @__PURE__ */ __name(({ footerRef, inputLinesRef }) => {
33534
33714
  const config = useConfig();
33535
33715
  const isScreenReaderEnabled = use_is_screen_reader_enabled_default();
33536
33716
  const uiState = useUIState();
@@ -33592,6 +33772,7 @@ var Composer = /* @__PURE__ */ __name(({ footerRef }) => {
33592
33772
  InputPrompt,
33593
33773
  {
33594
33774
  buffer: uiState.buffer,
33775
+ selectableLinesRef: inputLinesRef,
33595
33776
  inputWidth: uiState.inputWidth,
33596
33777
  suggestionsWidth: uiState.suggestionsWidth,
33597
33778
  onSubmit: uiActions.handleFinalSubmit,
@@ -34989,6 +35170,7 @@ var PinnedHeader = /* @__PURE__ */ __name(() => {
34989
35170
  var DefaultAppLayout = /* @__PURE__ */ __name(() => {
34990
35171
  const uiState = useUIState();
34991
35172
  const footerRef = (0, import_react122.useRef)(null);
35173
+ const inputLinesRef = (0, import_react122.useRef)(null);
34992
35174
  const scrollActionsRef = (0, import_react122.useRef)(null);
34993
35175
  const scrollActions = (0, import_react122.useMemo)(
34994
35176
  () => ({
@@ -35035,6 +35217,7 @@ var DefaultAppLayout = /* @__PURE__ */ __name(() => {
35035
35217
  MainContent,
35036
35218
  {
35037
35219
  footerRef,
35220
+ inputLinesRef,
35038
35221
  scrollActionsRef
35039
35222
  }
35040
35223
  ),
@@ -35072,7 +35255,7 @@ var DefaultAppLayout = /* @__PURE__ */ __name(() => {
35072
35255
  containerWidth: uiState.mainAreaWidth
35073
35256
  }
35074
35257
  ) }),
35075
- /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(Composer, { footerRef })
35258
+ /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(Composer, { footerRef, inputLinesRef })
35076
35259
  ] }),
35077
35260
  /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(ExitWarning, {}),
35078
35261
  !uiState.dialogsVisible && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
@@ -36001,21 +36184,16 @@ var useEffortCommand = /* @__PURE__ */ __name((loadedSettings, config, addItem)
36001
36184
  setIsEffortDialogOpen(true);
36002
36185
  }, []);
36003
36186
  const handleEffortSelect = (0, import_react134.useCallback)(
36004
- (effort) => {
36187
+ (selection) => {
36005
36188
  try {
36006
- if (!effort) {
36189
+ if (!selection) {
36007
36190
  return;
36008
36191
  }
36009
- applyReasoningEffort(config, effort);
36010
- loadedSettings.setValue(
36011
- getPersistScopeForModelSelection(loadedSettings),
36012
- "model.reasoningEffort",
36013
- effort
36014
- );
36192
+ const text = applyEffortSelection(config, loadedSettings, selection);
36015
36193
  if (addItem) {
36016
36194
  const feedbackItem = {
36017
36195
  type: "info" /* INFO */,
36018
- text: formatEffortChangeMessage(config, effort)
36196
+ text
36019
36197
  };
36020
36198
  addItem(feedbackItem, Date.now());
36021
36199
  config.getChatRecordingService?.()?.recordSlashCommand({
@@ -36774,9 +36952,9 @@ function shouldHideSlashCommandInvocation(command, canonicalPath, args) {
36774
36952
  }
36775
36953
  return true;
36776
36954
  }
36777
- const path14 = canonicalPath.join(" ");
36778
- if (BARE_SLASH_COMMANDS_HIDE_INVOCATION.has(path14)) {
36779
- if (path14 === "model") {
36955
+ const path15 = canonicalPath.join(" ");
36956
+ if (BARE_SLASH_COMMANDS_HIDE_INVOCATION.has(path15)) {
36957
+ if (path15 === "model") {
36780
36958
  return isPickerOnlyModelInvocation(args);
36781
36959
  }
36782
36960
  return args.trim() === "";
@@ -37668,6 +37846,9 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, history
37668
37846
  case "stats":
37669
37847
  actions.openStatsDialog();
37670
37848
  return { type: "handled" };
37849
+ case "background_tasks":
37850
+ actions.openBackgroundTasksDialog();
37851
+ return { type: "handled" };
37671
37852
  case "approval-mode":
37672
37853
  actions.openApprovalModeDialog();
37673
37854
  return { type: "handled" };
@@ -37988,7 +38169,7 @@ function useDoublePress(onDoublePress, onPending) {
37988
38169
  __name(useDoublePress, "useDoublePress");
37989
38170
 
37990
38171
  // packages/cli/src/ui/AppContainer.tsx
37991
- import * as fs19 from "node:fs";
38172
+ import * as fs20 from "node:fs";
37992
38173
  import { basename as basename3 } from "node:path";
37993
38174
 
37994
38175
  // packages/cli/src/ui/utils/windowTitle.ts
@@ -45802,6 +45983,76 @@ function sendNotification(opts, terminal, enabled) {
45802
45983
  }
45803
45984
  __name(sendNotification, "sendNotification");
45804
45985
 
45986
+ // packages/cli/src/ui/utils/whats-new.ts
45987
+ init_esbuild_shims();
45988
+ var import_semver = __toESM(require_semver(), 1);
45989
+ import fs17 from "node:fs";
45990
+ import path12 from "node:path";
45991
+ var MAX_HIGHLIGHTS = 4;
45992
+ var SEEN_VERSION_FILE = "last-seen-version";
45993
+ function loadReleaseHighlights(bundleDir = resolveBundleDir(import.meta.url)) {
45994
+ try {
45995
+ return JSON.parse(
45996
+ fs17.readFileSync(path12.join(bundleDir, "release-notes.json"), "utf8")
45997
+ );
45998
+ } catch {
45999
+ return void 0;
46000
+ }
46001
+ }
46002
+ __name(loadReleaseHighlights, "loadReleaseHighlights");
46003
+ function computeWhatsNew(notes, fromVersion, toVersion, repoUrl = BRAND.repoUrl) {
46004
+ const versions = Object.keys(notes).filter(
46005
+ (version) => import_semver.default.valid(version) && import_semver.default.gt(version, fromVersion) && import_semver.default.lte(version, toVersion)
46006
+ ).sort(import_semver.default.rcompare);
46007
+ const all = versions.flatMap((version) => notes[version].highlights);
46008
+ if (all.length === 0) return void 0;
46009
+ return {
46010
+ version: toVersion,
46011
+ fromVersion,
46012
+ highlights: all.slice(0, MAX_HIGHLIGHTS),
46013
+ moreCount: Math.max(0, all.length - MAX_HIGHLIGHTS),
46014
+ notesUrl: repoUrl ? `${repoUrl}/releases/tag/v${toVersion}` : void 0
46015
+ };
46016
+ }
46017
+ __name(computeWhatsNew, "computeWhatsNew");
46018
+ function seenVersionPath() {
46019
+ return path12.join(Storage.getGlobalO1CodeDir(), SEEN_VERSION_FILE);
46020
+ }
46021
+ __name(seenVersionPath, "seenVersionPath");
46022
+ function takeWhatsNew(currentVersion, notes = loadReleaseHighlights()) {
46023
+ if (!import_semver.default.valid(currentVersion)) return void 0;
46024
+ let previous;
46025
+ try {
46026
+ previous = fs17.readFileSync(seenVersionPath(), "utf8").trim();
46027
+ } catch {
46028
+ previous = void 0;
46029
+ }
46030
+ if (previous === currentVersion) return void 0;
46031
+ try {
46032
+ fs17.mkdirSync(path12.dirname(seenVersionPath()), { recursive: true });
46033
+ fs17.writeFileSync(seenVersionPath(), `${currentVersion}
46034
+ `);
46035
+ } catch {
46036
+ return void 0;
46037
+ }
46038
+ if (!previous || !import_semver.default.valid(previous) || !notes) return void 0;
46039
+ if (!import_semver.default.gt(currentVersion, previous)) return void 0;
46040
+ return computeWhatsNew(notes, previous, currentVersion);
46041
+ }
46042
+ __name(takeWhatsNew, "takeWhatsNew");
46043
+ function whatsNewNotice(whatsNew) {
46044
+ return {
46045
+ type: "update_notice",
46046
+ status: "whats_new",
46047
+ version: whatsNew.version,
46048
+ fromVersion: whatsNew.fromVersion,
46049
+ highlights: whatsNew.highlights,
46050
+ moreCount: whatsNew.moreCount,
46051
+ notesUrl: whatsNew.notesUrl
46052
+ };
46053
+ }
46054
+ __name(whatsNewNotice, "whatsNewNotice");
46055
+
45805
46056
  // packages/cli/src/ui/hooks/useGitBranchName.ts
45806
46057
  init_esbuild_shims();
45807
46058
  var import_react156 = __toESM(require_react(), 1);
@@ -45857,9 +46108,9 @@ __name(useGitBranchName, "useGitBranchName");
45857
46108
  // packages/cli/src/ui/hooks/useWorktreeSession.ts
45858
46109
  init_esbuild_shims();
45859
46110
  var import_react157 = __toESM(require_react(), 1);
45860
- import fs17 from "node:fs";
46111
+ import fs18 from "node:fs";
45861
46112
  import fsPromises from "node:fs/promises";
45862
- import path12 from "node:path";
46113
+ import path13 from "node:path";
45863
46114
  function useWorktreeSession(config) {
45864
46115
  const [session, setSession] = (0, import_react157.useState)(null);
45865
46116
  (0, import_react157.useEffect)(() => {
@@ -45879,14 +46130,14 @@ function useWorktreeSession(config) {
45879
46130
  }, "safeLoad");
45880
46131
  void safeLoad();
45881
46132
  const filePath = config.getSessionService().getWorktreeSessionPath(config.getSessionId());
45882
- const dirPath = path12.dirname(filePath);
45883
- const fileName = path12.basename(filePath);
46133
+ const dirPath = path13.dirname(filePath);
46134
+ const fileName = path13.basename(filePath);
45884
46135
  let watcher;
45885
46136
  const setupWatcher = /* @__PURE__ */ __name(async () => {
45886
46137
  try {
45887
46138
  await fsPromises.mkdir(dirPath, { recursive: true });
45888
46139
  if (cancelled) return;
45889
- watcher = fs17.watch(dirPath, (_eventType, filename) => {
46140
+ watcher = fs18.watch(dirPath, (_eventType, filename) => {
45890
46141
  if (filename === null || filename.toString() === fileName) {
45891
46142
  void safeLoad();
45892
46143
  }
@@ -46699,8 +46950,8 @@ init_esbuild_shims();
46699
46950
 
46700
46951
  // packages/cli/src/services/tips/tipHistory.ts
46701
46952
  init_esbuild_shims();
46702
- import * as fs18 from "node:fs";
46703
- import * as path13 from "node:path";
46953
+ import * as fs19 from "node:fs";
46954
+ import * as path14 from "node:path";
46704
46955
  var TipHistory = class _TipHistory {
46705
46956
  static {
46706
46957
  __name(this, "TipHistory");
@@ -46765,9 +47016,9 @@ var TipHistory = class _TipHistory {
46765
47016
  */
46766
47017
  persist() {
46767
47018
  try {
46768
- const dir = path13.dirname(this.filePath);
46769
- if (!fs18.existsSync(dir)) {
46770
- fs18.mkdirSync(dir, { recursive: true });
47019
+ const dir = path14.dirname(this.filePath);
47020
+ if (!fs19.existsSync(dir)) {
47021
+ fs19.mkdirSync(dir, { recursive: true });
46771
47022
  }
46772
47023
  atomicWriteFileSync(this.filePath, JSON.stringify(this.data, null, 2), {
46773
47024
  mode: 384,
@@ -46781,14 +47032,14 @@ var TipHistory = class _TipHistory {
46781
47032
  * Load history from disk, incrementing session count.
46782
47033
  */
46783
47034
  static load() {
46784
- const filePath = path13.join(
47035
+ const filePath = path14.join(
46785
47036
  Storage.getGlobalO1CodeDir(),
46786
47037
  "tip_history.json"
46787
47038
  );
46788
47039
  let data = { sessionCount: 0, tips: {} };
46789
47040
  try {
46790
- if (fs18.existsSync(filePath)) {
46791
- const raw = fs18.readFileSync(filePath, "utf-8");
47041
+ if (fs19.existsSync(filePath)) {
47042
+ const raw = fs19.readFileSync(filePath, "utf-8");
46792
47043
  const parsed = JSON.parse(raw);
46793
47044
  if (typeof parsed === "object" && parsed !== null && typeof parsed.sessionCount === "number") {
46794
47045
  data = {
@@ -47748,15 +47999,14 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
47748
47999
  const availableTerminalHeightRef = (0, import_react172.useRef)(0);
47749
48000
  const terminalWidthRef = (0, import_react172.useRef)(0);
47750
48001
  const updateHandlerRef = (0, import_react172.useRef)(null);
48002
+ const addUpdateItem = historyManager.addItem;
47751
48003
  (0, import_react172.useEffect)(() => {
47752
- const handler = setUpdateHandler(
47753
- historyManager.addItem,
47754
- setUpdateInfo,
47755
- isIdleRef
47756
- );
48004
+ const handler = setUpdateHandler(addUpdateItem, setUpdateInfo, isIdleRef);
47757
48005
  updateHandlerRef.current = handler;
48006
+ const whatsNew = takeWhatsNew(config.getCliVersion?.() ?? "");
48007
+ if (whatsNew) addUpdateItem(whatsNewNotice(whatsNew), Date.now());
47758
48008
  return () => handler?.cleanup();
47759
- }, [historyManager.addItem]);
48009
+ }, [addUpdateItem, config]);
47760
48010
  const { inputWidth, suggestionsWidth } = (0, import_react172.useMemo)(() => {
47761
48011
  const { inputWidth: inputWidth2, suggestionsWidth: suggestionsWidth2 } = calculatePromptWidths(terminalWidth);
47762
48012
  return { inputWidth: inputWidth2, suggestionsWidth: suggestionsWidth2 };
@@ -47765,7 +48015,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
47765
48015
  const staticAreaMaxItemHeight = Math.max(terminalHeight * 4, 100);
47766
48016
  const isValidPath = (0, import_react172.useCallback)((filePath) => {
47767
48017
  try {
47768
- return fs19.existsSync(filePath) && fs19.statSync(filePath).isFile();
48018
+ return fs20.existsSync(filePath) && fs20.statSync(filePath).isFile();
47769
48019
  } catch (_e) {
47770
48020
  return false;
47771
48021
  }
@@ -48092,6 +48342,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
48092
48342
  } = useExtensionsManagerDialog();
48093
48343
  const { isMcpDialogOpen, openMcpDialog, closeMcpDialog } = useMcpDialog();
48094
48344
  const { isHooksDialogOpen, openHooksDialog, closeHooksDialog } = useHooksDialog();
48345
+ const { openDialog: openBackgroundTasksDialog } = useBackgroundTaskViewActions();
48095
48346
  const { isStatsDialogOpen, openStatsDialog, closeStatsDialog } = useStatsDialog();
48096
48347
  const openRewindSelectorRef = (0, import_react172.useRef)(() => {
48097
48348
  });
@@ -48205,6 +48456,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
48205
48456
  openMcpDialog,
48206
48457
  openHooksDialog,
48207
48458
  openStatsDialog,
48459
+ openBackgroundTasksDialog,
48208
48460
  openResumeDialog,
48209
48461
  openRewindSelector: /* @__PURE__ */ __name(() => openRewindSelectorRef.current(), "openRewindSelector"),
48210
48462
  openDiffDialog,
@@ -48238,6 +48490,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
48238
48490
  openMcpDialog,
48239
48491
  openHooksDialog,
48240
48492
  openStatsDialog,
48493
+ openBackgroundTasksDialog,
48241
48494
  openResumeDialog,
48242
48495
  handleResume,
48243
48496
  handleBranch,