@qwen-code/qwen-code 0.19.3 → 0.19.4

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 (305) hide show
  1. package/bundled/loop/SKILL.md +22 -3
  2. package/bundled/loop/SKILL.test.ts +20 -0
  3. package/bundled/loop/autonomous-loop.test.ts +59 -0
  4. package/bundled/loop/autonomous-loop.ts +102 -0
  5. package/bundled/loop/loop-task-file.test.ts +1064 -0
  6. package/bundled/loop/loop-task-file.ts +404 -0
  7. package/bundled/loop/loop-tick-resolver.test.ts +906 -0
  8. package/bundled/loop/loop-tick-resolver.ts +416 -0
  9. package/bundled/qc-helper/SKILL.md +12 -5
  10. package/bundled/qc-helper/docs/configuration/auth.md +1 -1
  11. package/bundled/qc-helper/docs/configuration/settings.md +40 -26
  12. package/bundled/qc-helper/docs/features/approval-mode.md +3 -0
  13. package/bundled/qc-helper/docs/features/auto-mode.md +40 -0
  14. package/bundled/qc-helper/docs/features/channels/overview.md +81 -18
  15. package/bundled/qc-helper/docs/features/channels/plugins.md +1 -1
  16. package/bundled/qc-helper/docs/features/code-review.md +17 -61
  17. package/bundled/qc-helper/docs/features/commands.md +6 -6
  18. package/bundled/qc-helper/docs/features/hooks.md +6 -1
  19. package/bundled/qc-helper/docs/features/mcp.md +3 -1
  20. package/bundled/qc-helper/docs/features/memory.md +1 -1
  21. package/bundled/qc-helper/docs/features/scheduled-tasks.md +10 -0
  22. package/bundled/qc-helper/docs/features/status-line.md +3 -3
  23. package/bundled/qc-helper/docs/ide-integration/ide-integration.md +4 -4
  24. package/bundled/qc-helper/docs/qwen-serve.md +19 -0
  25. package/bundled/qc-helper/docs/support/troubleshooting.md +6 -0
  26. package/bundled/review/DESIGN.md +21 -26
  27. package/bundled/review/SKILL.md +45 -129
  28. package/chunks/MaxSizedBox-ERTNFI22.js +68 -0
  29. package/chunks/{StandaloneSessionPicker-Z52JTYST.js → StandaloneSessionPicker-Y5NGRLRY.js} +48 -42
  30. package/chunks/{acpAgent-7RZUOWOM.js → acpAgent-UMN6OYTR.js} +1319 -361
  31. package/chunks/{agent-4FG7WTHJ.js → agent-56DZU4ZU.js} +30 -25
  32. package/chunks/agent-headless-SR7N2IJG.js +61 -0
  33. package/chunks/{anthropicContentGenerator-PFITVL7Y.js → anthropicContentGenerator-5OZFO6WQ.js} +11 -8
  34. package/chunks/{artifact-tool-D2X7G3C3.js → artifact-tool-JVZMHA4B.js} +3 -3
  35. package/chunks/{askUserQuestion-UGETICJQ.js → askUserQuestion-CMJZ2F3D.js} +2 -2
  36. package/chunks/bridge-AUHNFOUS.js +72 -0
  37. package/chunks/{ca-IUFWESZL.js → ca-RYOETBUW.js} +9 -9
  38. package/chunks/channel-worker-supervisor-A74FV522.js +308 -0
  39. package/chunks/{chunk-T4T2FNV4.js → chunk-2X2JUE47.js} +2 -2
  40. package/chunks/{chunk-BX5YO7UW.js → chunk-4VZH35PN.js} +540 -370
  41. package/chunks/{chunk-M2U5NM24.js → chunk-54YZOP7P.js} +309 -72
  42. package/chunks/chunk-5P5XGNYH.js +93 -0
  43. package/chunks/{chunk-QWFNTRH4.js → chunk-6AQR7732.js} +1 -1
  44. package/chunks/{chunk-HZT4UCFB.js → chunk-6CIIP6OE.js} +4 -4
  45. package/chunks/{chunk-ADCIHOQZ.js → chunk-6TLY5W3B.js} +16 -8
  46. package/chunks/{chunk-BXSHL2SF.js → chunk-73H73ASU.js} +1 -1
  47. package/chunks/{chunk-3TV3HUWZ.js → chunk-75X2VLSH.js} +60 -30
  48. package/chunks/{chunk-6V4NZFUS.js → chunk-7KPI4LAI.js} +5 -5
  49. package/chunks/{chunk-PDE7CSDS.js → chunk-7VPC7D7O.js} +2 -2
  50. package/chunks/chunk-AHNXYU4O.js +24 -0
  51. package/chunks/{chunk-UX4SGCGN.js → chunk-AVQDCKNF.js} +96 -22
  52. package/chunks/{chunk-HYCC3XM3.js → chunk-B236XPGF.js} +1 -1
  53. package/chunks/{chunk-N4EJFBN5.js → chunk-B7KGXIPZ.js} +419 -262
  54. package/chunks/{chunk-YAINVQ3Q.js → chunk-BFG6OZN7.js} +17392 -16335
  55. package/chunks/{chunk-5DWXLGOM.js → chunk-BJBWRCSK.js} +1 -1
  56. package/chunks/{chunk-BTLJ2MF5.js → chunk-BNJLLAQ7.js} +3 -3
  57. package/chunks/{chunk-UYT3MWEB.js → chunk-BQNJBEUA.js} +16 -2
  58. package/chunks/{chunk-SKQZZVAV.js → chunk-BZHLWC6T.js} +2 -2
  59. package/chunks/{chunk-HPZTOP4I.js → chunk-C2IHHGBZ.js} +131 -21
  60. package/chunks/chunk-CG7SVARK.js +367 -0
  61. package/chunks/{chunk-CNLEDYE3.js → chunk-CS5XYDBO.js} +5 -5
  62. package/chunks/{chunk-O75BHFQW.js → chunk-CUGEBAKG.js} +2 -2
  63. package/chunks/{chunk-U3KSMM7G.js → chunk-D5KISTLW.js} +339 -383
  64. package/chunks/{chunk-STUWFKGD.js → chunk-DQ74W65K.js} +431 -535
  65. package/chunks/{chunk-VVLOGDB6.js → chunk-DX3TKXNT.js} +2 -2
  66. package/chunks/chunk-E5A7LHNN.js +51 -0
  67. package/chunks/{chunk-3PJXIDKI.js → chunk-E6US47KI.js} +3 -27
  68. package/chunks/chunk-EDAGQADF.js +21 -0
  69. package/chunks/{chunk-QBZ22PQX.js → chunk-EWALXUAD.js} +3 -1
  70. package/chunks/{chunk-4QK3O43S.js → chunk-FNLXLI4I.js} +4 -4
  71. package/chunks/{chunk-I2LYBGNI.js → chunk-FYKX6XOT.js} +1 -1
  72. package/chunks/{chunk-QLDPRILK.js → chunk-G7OQ3RFJ.js} +3 -3
  73. package/chunks/{chunk-R2BXK7SX.js → chunk-GHOTR7HL.js} +6 -1
  74. package/chunks/{chunk-L7OKCI7T.js → chunk-GICCHL2Q.js} +15 -1
  75. package/chunks/{chunk-KMGMKW5Q.js → chunk-GLPV75ES.js} +9 -3
  76. package/chunks/{chunk-LD2XBG6Z.js → chunk-GO6LNQXT.js} +1 -39
  77. package/chunks/chunk-HI55Z6PR.js +3523 -0
  78. package/chunks/{chunk-QNKBEJO2.js → chunk-HJDF3ZVU.js} +2776 -1289
  79. package/chunks/{chunk-JJXWTVSK.js → chunk-HRZB5CSC.js} +34 -1
  80. package/chunks/{chunk-I4H7PRWQ.js → chunk-HTWHAN44.js} +1 -1
  81. package/chunks/{chunk-EJYJYJZ2.js → chunk-IRJWHZWU.js} +3 -70
  82. package/chunks/{chunk-CKQA6AWF.js → chunk-J3F7X3LW.js} +1 -1
  83. package/chunks/{chunk-QI7GOGJR.js → chunk-KKQWC6WS.js} +1 -1
  84. package/chunks/{chunk-VBZ452JT.js → chunk-KVPFPC4J.js} +494 -114
  85. package/chunks/{chunk-NDOC6M5S.js → chunk-L7QPM2YD.js} +2 -2
  86. package/chunks/{chunk-SLNKLLEO.js → chunk-L7VH7HQA.js} +12 -8
  87. package/chunks/{chunk-BVSVIN45.js → chunk-LKWAVAB5.js} +3 -3
  88. package/chunks/{chunk-ZP6UKOPB.js → chunk-LWGLBVWA.js} +1 -1
  89. package/chunks/{chunk-SBBN4BWR.js → chunk-MEQWZGK5.js} +1 -1
  90. package/chunks/{chunk-FKAVULLM.js → chunk-MKHC4BYZ.js} +58 -10
  91. package/chunks/{chunk-UFLGERMB.js → chunk-MNDTD5E5.js} +178 -124
  92. package/chunks/{chunk-RD6YJJJ6.js → chunk-MOUXUCXQ.js} +1 -1
  93. package/chunks/{chunk-EDMZZFDU.js → chunk-MVZXZWGT.js} +905 -795
  94. package/chunks/chunk-MX2YXRER.js +44 -0
  95. package/chunks/{chunk-JVHEVCAU.js → chunk-ND25GXEU.js} +23 -6
  96. package/chunks/chunk-NIOPRZNN.js +27 -0
  97. package/chunks/{chunk-DDMOU62Q.js → chunk-NPQWQYU6.js} +1 -1
  98. package/chunks/{chunk-PR32FRT6.js → chunk-OAFUMTWW.js} +3 -3
  99. package/chunks/chunk-OJCECIJA.js +238 -0
  100. package/chunks/{chunk-GGBIN5K7.js → chunk-PIYV6COW.js} +1 -1
  101. package/chunks/{chunk-CF6BB3LT.js → chunk-PPFWEV7G.js} +10 -1
  102. package/chunks/{chunk-4LUZAKMK.js → chunk-Q7VHIRDD.js} +1 -1
  103. package/chunks/{chunk-ODLIHNOY.js → chunk-QAFQLTXG.js} +1 -1
  104. package/chunks/{chunk-Y6YMRS3U.js → chunk-QMIND2AS.js} +3 -3
  105. package/chunks/{chunk-XJYUPHRC.js → chunk-QOMAHFYI.js} +3 -3
  106. package/chunks/{chunk-J37FGIOA.js → chunk-QXPI7FEC.js} +38 -4
  107. package/chunks/chunk-RM3PGSGL.js +66 -0
  108. package/chunks/chunk-RNBYOUGV.js +42 -0
  109. package/chunks/chunk-S5EQPDTM.js +91 -0
  110. package/chunks/chunk-SEZC2725.js +36 -0
  111. package/chunks/{chunk-FNJ7BDPH.js → chunk-SFN4TEHY.js} +10 -7
  112. package/chunks/{chunk-O2VBQ3Y2.js → chunk-SJBIFVD2.js} +2 -2
  113. package/chunks/chunk-SYCJMSIJ.js +82 -0
  114. package/chunks/{chunk-JE5FVRPC.js → chunk-T22H4V4R.js} +48 -23
  115. package/chunks/{chunk-3227DZO4.js → chunk-T42ACHFI.js} +1 -1
  116. package/chunks/{chunk-UO5GVXQE.js → chunk-TENOUWY2.js} +3 -3
  117. package/chunks/{chunk-JOLIREYR.js → chunk-TOAUDIS7.js} +1 -1
  118. package/chunks/{chunk-J7FA27RO.js → chunk-TTFNVEO5.js} +3 -3
  119. package/chunks/{chunk-S7AKE7HL.js → chunk-UANCYOOQ.js} +63 -9
  120. package/chunks/{chunk-BUUQ5HPX.js → chunk-UQFP2FEF.js} +1 -1
  121. package/chunks/{chunk-R5OP2ATH.js → chunk-UQYOMM6J.js} +11 -11
  122. package/chunks/{chunk-J33ZR6OJ.js → chunk-UT5JU5DJ.js} +16 -16
  123. package/chunks/{chunk-QE6KJYLT.js → chunk-VKGG724L.js} +122 -25
  124. package/chunks/{chunk-SMXULRAN.js → chunk-VXGPYF7U.js} +1 -1
  125. package/chunks/{chunk-MNF6S5PR.js → chunk-W2ZOAX7F.js} +4 -4
  126. package/chunks/{chunk-GT2FGICD.js → chunk-W6X4FGWX.js} +1 -1
  127. package/chunks/{chunk-SMYQZVZ3.js → chunk-XCUFHOAD.js} +1 -1
  128. package/chunks/{chunk-K5XU6E4T.js → chunk-XKSCTXPK.js} +2 -2
  129. package/chunks/{chunk-FXKVLFFY.js → chunk-YBDZ63KI.js} +3 -3
  130. package/chunks/{chunk-BKXBARJZ.js → chunk-YPCPZSZB.js} +1 -1
  131. package/chunks/chunk-YTFBURQD.js +313 -0
  132. package/chunks/{chunk-NL4C3H6C.js → chunk-YXK4GPYO.js} +1 -1
  133. package/chunks/{chunk-F3ZYSEY6.js → chunk-ZJP5T7IA.js} +3 -3
  134. package/chunks/{chunk-RYLJU2DY.js → chunk-ZN5T4BHI.js} +1 -1
  135. package/chunks/{chunk-RRFZXMYP.js → chunk-ZXCVPMIK.js} +553 -138
  136. package/chunks/{computer-use-JGB36FDW.js → computer-use-VWN5HH6A.js} +33 -28
  137. package/chunks/contextCommand-DFFG5KDJ.js +66 -0
  138. package/chunks/{cron-create-SKEY55RG.js → cron-create-CSSWJ67I.js} +4 -4
  139. package/chunks/{cron-delete-I3NAT32Z.js → cron-delete-E56CFQ7A.js} +4 -4
  140. package/chunks/{cron-list-6XRRL6TH.js → cron-list-BKSINY6Y.js} +4 -4
  141. package/chunks/daemon-5T6IHWJV.js +8430 -0
  142. package/chunks/daemon-status-provider-V5UY7O7J.js +70 -0
  143. package/chunks/{de-EOW5PVHF.js → de-HB5NJXGB.js} +9 -9
  144. package/chunks/{dist-NHEYYB2B.js → dist-2HDL5SHQ.js} +2 -2
  145. package/chunks/{dist-663NZ6MI.js → dist-B7SSDVWT.js} +116 -11
  146. package/chunks/{dist-PQPZ5Q4N.js → dist-BL3SL665.js} +20 -9
  147. package/chunks/{dist-J37VXPLD.js → dist-TAVAGZU6.js} +40 -15
  148. package/chunks/{dist-LB6OGPVM.js → dist-XBOVZ3R5.js} +26 -5
  149. package/chunks/{earlyInputCapture-44RISVVJ.js → earlyInputCapture-VVYU4FDO.js} +31 -26
  150. package/chunks/{edit-NN6GM5DT.js → edit-F35PTMBA.js} +35 -29
  151. package/chunks/{en-HPWEJBTR.js → en-FZREZFPO.js} +30 -10
  152. package/chunks/{enter-worktree-PB3O2C7D.js → enter-worktree-3DIW7EGJ.js} +30 -25
  153. package/chunks/{enterPlanMode-YQFNNSUA.js → enterPlanMode-QNXT77KP.js} +40 -25
  154. package/chunks/{errors-LS7XU5DZ.js → errors-M53YG76R.js} +32 -27
  155. package/chunks/{exit-worktree-E2FTNSBK.js → exit-worktree-BSDWNWHZ.js} +30 -25
  156. package/chunks/{exitPlanMode-GLYK2BUB.js → exitPlanMode-EL7AY327.js} +54 -33
  157. package/chunks/{fast-path-WQ6M7LI7.js → fast-path-DUCSMUFW.js} +30 -13
  158. package/chunks/{fast-path-settings-OAGU3X5H.js → fast-path-settings-UQLRFDQP.js} +2 -2
  159. package/chunks/{fr-BN5NKSAC.js → fr-XY3NQFCM.js} +9 -9
  160. package/chunks/{gemini-2YFLVA2M.js → gemini-F3IERB37.js} +80 -67
  161. package/chunks/{geminiContentGenerator-XV6SV6CD.js → geminiContentGenerator-6OULAKFQ.js} +4 -4
  162. package/chunks/{glob-2H6CDDMK.js → glob-ZMLFTD4T.js} +30 -25
  163. package/chunks/{grep-VXIUXM3C.js → grep-H5X66EI7.js} +30 -25
  164. package/chunks/initializer-LEOT2OLH.js +66 -0
  165. package/chunks/{ja-7DEUB2TS.js → ja-J7YAG7SA.js} +9 -9
  166. package/chunks/{keychain-token-storage-YLMDLKXT.js → keychain-token-storage-GPAKRDKQ.js} +2 -2
  167. package/chunks/list-M3DKXML6.js +70 -0
  168. package/chunks/loadedSettingsAdapter-OKMQFGGG.js +65 -0
  169. package/chunks/{loop-wakeup-CITGGQHA.js → loop-wakeup-FPBAVVPR.js} +5 -5
  170. package/chunks/{ls-R5WP4BGZ.js → ls-UGWQXPTY.js} +4 -4
  171. package/chunks/{lsp-GSICJMMW.js → lsp-24WV7NXB.js} +2 -2
  172. package/chunks/{monitor-HKLRS2HQ.js → monitor-ARL5P45R.js} +32 -26
  173. package/chunks/nonInteractiveCli-NUVLF3YR.js +108 -0
  174. package/chunks/{notebook-edit-Y6SKSGTT.js → notebook-edit-ANTZ2DDY.js} +31 -26
  175. package/chunks/{openaiContentGenerator-J7G2FYJT.js → openaiContentGenerator-TFGMKGHN.js} +15 -13
  176. package/chunks/pidfile-AWTL4C63.js +72 -0
  177. package/chunks/{pt-TNZRNLQB.js → pt-6RTAA6SS.js} +9 -9
  178. package/chunks/{qwenContentGenerator-5XIEM5GV.js → qwenContentGenerator-6QWAYTWS.js} +32 -27
  179. package/chunks/{qwenOAuth2-AG3PFFLZ.js → qwenOAuth2-LWLA6MQG.js} +5 -4
  180. package/chunks/{read-file-J7D552ZJ.js → read-file-EJY73XQ3.js} +11 -10
  181. package/chunks/{read-mcp-resource-DQQW7H7T.js → read-mcp-resource-NCBTPP7X.js} +2 -2
  182. package/chunks/ripGrep-HC4SA6CQ.js +59 -0
  183. package/chunks/{ru-NIAUBKCN.js → ru-AUBGJ2C4.js} +9 -9
  184. package/chunks/{run-qwen-serve-SGEEVMXD.js → run-qwen-serve-AGLZ642J.js} +454 -94
  185. package/chunks/{scheduler-7CQI3S4Q.js → scheduler-TURO7NGY.js} +30 -25
  186. package/chunks/{send-message-EE4TWKVU.js → send-message-3S2NYS3O.js} +6 -4
  187. package/chunks/serve-5DAMOIDW.js +70 -0
  188. package/chunks/{server-4QMUWXPW.js → server-4AGEK2HC.js} +4098 -1173
  189. package/chunks/{session-NRO7UFOY.js → session-7ZOQUC4Y.js} +204 -64
  190. package/chunks/{settings-SGWRDQSC.js → settings-DR4V6L5Y.js} +34 -29
  191. package/chunks/{shell-62ANGIHL.js → shell-H5WFKUXH.js} +30 -25
  192. package/chunks/{skill-VWAQAWW6.js → skill-ANHU5ZCR.js} +13 -12
  193. package/chunks/spawnChannel-VN5LJV7Z.js +68 -0
  194. package/chunks/{src-KUV5J5Q2.js → src-OVZLTVVM.js} +114 -30
  195. package/chunks/{startInteractiveUI-6EYJN3JV.js → startInteractiveUI-OA22V32P.js} +15970 -15430
  196. package/chunks/{syntheticOutput-T5YHQ6S2.js → syntheticOutput-SV7GBHZ5.js} +3 -3
  197. package/chunks/{task-create-BLY7RHXX.js → task-create-W2H2UJCH.js} +8 -7
  198. package/chunks/{task-list-3QUYNVYR.js → task-list-THBOPV4G.js} +7 -6
  199. package/chunks/{task-stop-U4RATK2V.js → task-stop-33FVCNCJ.js} +2 -2
  200. package/chunks/{task-update-U54O7KJX.js → task-update-LVFQLXEI.js} +8 -7
  201. package/chunks/{team-create-LPOGCPM7.js → team-create-OYL5CAQO.js} +30 -25
  202. package/chunks/{team-delete-LKBYPASD.js → team-delete-NTUQ25UY.js} +7 -6
  203. package/chunks/theme-manager-XCMPF2SI.js +63 -0
  204. package/chunks/{todoWrite-OYXKTVYN.js → todoWrite-SEPO2RI3.js} +4 -4
  205. package/chunks/{tool-search-YPUFJ3ZQ.js → tool-search-YXW55X6Z.js} +36 -11
  206. package/chunks/{trustedFolders-5B24TMEA.js → trustedFolders-TEPGM5YL.js} +31 -26
  207. package/chunks/{validateNonInterActiveAuth-BTDTYOVT.js → validateNonInterActiveAuth-OQIS7WUE.js} +65 -55
  208. package/chunks/{web-fetch-EEB5LZYU.js → web-fetch-OE7LHURA.js} +5 -4
  209. package/chunks/{workflow-LAWIW5LI.js → workflow-RTUWORAP.js} +67 -39
  210. package/chunks/workspace-providers-status-DM2XANVB.js +67 -0
  211. package/chunks/workspace-service-VKBI2KZD.js +77 -0
  212. package/chunks/{write-file-PCV226DJ.js → write-file-WGALQ53L.js} +35 -30
  213. package/chunks/{zh-TW-TR3XYGE5.js → zh-TW-6GIKXEAN.js} +30 -10
  214. package/chunks/{zh-5EUYXASN.js → zh-V3B4TFWL.js} +30 -10
  215. package/cli.js +6 -6
  216. package/locales/ca.js +13 -13
  217. package/locales/de.js +13 -13
  218. package/locales/en.js +49 -15
  219. package/locales/fr.js +13 -14
  220. package/locales/ja.js +13 -14
  221. package/locales/pt.js +13 -13
  222. package/locales/ru.js +13 -13
  223. package/locales/zh-TW.js +47 -14
  224. package/locales/zh.js +47 -14
  225. package/node_modules/@qwen-code/audio-capture/package.json +1 -1
  226. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  227. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  228. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  229. package/package.json +15 -6
  230. package/patches/chrome-devtools-mcp+1.4.0.patch +31 -0
  231. package/postinstall.js +50 -0
  232. package/web-shell/assets/{arc-DA7r8Ueo.js → arc-Det5Ccum.js} +1 -1
  233. package/web-shell/assets/{architectureDiagram-3BPJPVTR-ZDUxPtZ2.js → architectureDiagram-3BPJPVTR-DqNWVFpl.js} +1 -1
  234. package/web-shell/assets/{blockDiagram-GPEHLZMM-vrtOf1kJ.js → blockDiagram-GPEHLZMM-CYl7tYBi.js} +1 -1
  235. package/web-shell/assets/{c4Diagram-AAUBKEIU-BHFjzIi4.js → c4Diagram-AAUBKEIU-DaAEi0NQ.js} +1 -1
  236. package/web-shell/assets/channel-Bm0bFauD.js +1 -0
  237. package/web-shell/assets/{chunk-2J33WTMH-mdeQVz59.js → chunk-2J33WTMH-Df2CDEE2.js} +1 -1
  238. package/web-shell/assets/{chunk-4BX2VUAB-BkKMlwBX.js → chunk-4BX2VUAB-DNBFcyL2.js} +1 -1
  239. package/web-shell/assets/{chunk-55IACEB6-B7bnXNfu.js → chunk-55IACEB6-BKjF-0HI.js} +1 -1
  240. package/web-shell/assets/{chunk-727SXJPM-DGz8Mm6i.js → chunk-727SXJPM-DYwAwfIM.js} +1 -1
  241. package/web-shell/assets/{chunk-AQP2D5EJ-BQAydUNk.js → chunk-AQP2D5EJ-C6FswLqy.js} +1 -1
  242. package/web-shell/assets/{chunk-FMBD7UC4-GHr2LN_p.js → chunk-FMBD7UC4-DRWAcZSY.js} +1 -1
  243. package/web-shell/assets/{chunk-ND2GUHAM-7R91lnUx.js → chunk-ND2GUHAM-AoL16mNR.js} +1 -1
  244. package/web-shell/assets/{chunk-QZHKN3VN-aTJD3lSQ.js → chunk-QZHKN3VN-a8PtLMck.js} +1 -1
  245. package/web-shell/assets/classDiagram-4FO5ZUOK--NgUfb55.js +1 -0
  246. package/web-shell/assets/classDiagram-v2-Q7XG4LA2--NgUfb55.js +1 -0
  247. package/web-shell/assets/{cose-bilkent-S5V4N54A-BTf8t1RL.js → cose-bilkent-S5V4N54A-C4Aeu5qf.js} +1 -1
  248. package/web-shell/assets/{dagre-BM42HDAG-_sgp3WuA.js → dagre-BM42HDAG-BOulamjo.js} +1 -1
  249. package/web-shell/assets/{diagram-2AECGRRQ-CROtRy1w.js → diagram-2AECGRRQ-D1wt2ykO.js} +1 -1
  250. package/web-shell/assets/{diagram-5GNKFQAL-BqGRzwSc.js → diagram-5GNKFQAL-BRseus-O.js} +1 -1
  251. package/web-shell/assets/{diagram-KO2AKTUF-CMrcEtA7.js → diagram-KO2AKTUF-XSMkNzpZ.js} +1 -1
  252. package/web-shell/assets/{diagram-LMA3HP47-BRydGNW5.js → diagram-LMA3HP47-21KNLqoi.js} +1 -1
  253. package/web-shell/assets/{diagram-OG6HWLK6-D0ilgNjV.js → diagram-OG6HWLK6-DnUI8F5G.js} +1 -1
  254. package/web-shell/assets/{erDiagram-TEJ5UH35-2lnQeJUM.js → erDiagram-TEJ5UH35-BVSOMuM2.js} +1 -1
  255. package/web-shell/assets/{flowDiagram-I6XJVG4X-C_ZMdQiC.js → flowDiagram-I6XJVG4X-fYtDPJsW.js} +1 -1
  256. package/web-shell/assets/{ganttDiagram-6RSMTGT7-Dw9V_Ny0.js → ganttDiagram-6RSMTGT7-CmRXosW_.js} +1 -1
  257. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-HDXI-F1B.js → gitGraphDiagram-PVQCEYII-DPrmySxO.js} +1 -1
  258. package/web-shell/assets/index-BpKnmyFV.js +717 -0
  259. package/web-shell/assets/index-fLrtxpOG.css +5 -0
  260. package/web-shell/assets/{infoDiagram-5YYISTIA-CuB8Ebua.js → infoDiagram-5YYISTIA-x3VbEuCV.js} +1 -1
  261. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-D_tyhVwh.js → ishikawaDiagram-YF4QCWOH-SmitHRMC.js} +1 -1
  262. package/web-shell/assets/{journeyDiagram-JHISSGLW-CgCwJQNU.js → journeyDiagram-JHISSGLW-BxvA551S.js} +1 -1
  263. package/web-shell/assets/{kanban-definition-UN3LZRKU-PZUtcbPx.js → kanban-definition-UN3LZRKU-DNHC16jY.js} +1 -1
  264. package/web-shell/assets/{linear-CZqRdJIU.js → linear-CQ6irBL9.js} +1 -1
  265. package/web-shell/assets/{mermaid.core-CPW_4UEF.js → mermaid.core-DtB6NO1e.js} +72 -72
  266. package/web-shell/assets/{mindmap-definition-RKZ34NQL-D_Y75ID7.js → mindmap-definition-RKZ34NQL-QKMAgV2v.js} +1 -1
  267. package/web-shell/assets/{pieDiagram-4H26LBE5-Q4dTyLeF.js → pieDiagram-4H26LBE5-bvb6dGn6.js} +1 -1
  268. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-ckw329Ft.js → quadrantDiagram-W4KKPZXB-DLgdlG4D.js} +1 -1
  269. package/web-shell/assets/{requirementDiagram-4Y6WPE33-DbVDm4It.js → requirementDiagram-4Y6WPE33-2M9YH4GF.js} +1 -1
  270. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CHuZ_ecH.js → sankeyDiagram-5OEKKPKP-DzwfclTH.js} +1 -1
  271. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DU2YSpq-.js → sequenceDiagram-3UESZ5HK-BvPmTuy2.js} +1 -1
  272. package/web-shell/assets/{stateDiagram-AJRCARHV-CA9PEBUo.js → stateDiagram-AJRCARHV-BjwUmrJF.js} +1 -1
  273. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-C4L8zXeL.js +1 -0
  274. package/web-shell/assets/{timeline-definition-PNZ67QCA-Bhlo4WVc.js → timeline-definition-PNZ67QCA-CXzS6qqz.js} +1 -1
  275. package/web-shell/assets/{vennDiagram-CIIHVFJN-6xtPLsyl.js → vennDiagram-CIIHVFJN-yRSolF5B.js} +1 -1
  276. package/web-shell/assets/{wardley-L42UT6IY-3eozmXPf.js → wardley-L42UT6IY-ClLJjHPG.js} +1 -1
  277. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BOn6hKss.js → wardleyDiagram-YWT4CUSO-VIa6t2p2.js} +1 -1
  278. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BsP4-I_y.js → xychartDiagram-2RQKCTM6-CtmrkezW.js} +1 -1
  279. package/web-shell/index.html +18 -2
  280. package/chunks/MaxSizedBox-QNF3EIGU.js +0 -63
  281. package/chunks/agent-headless-RQ5BTX3G.js +0 -56
  282. package/chunks/bridge-JL2PMCIW.js +0 -66
  283. package/chunks/chunk-5GOVVXEV.js +0 -73
  284. package/chunks/chunk-BC3C4F3Q.js +0 -40
  285. package/chunks/chunk-BW4KCQFD.js +0 -1103
  286. package/chunks/chunk-RKIZXJMB.js +0 -13
  287. package/chunks/contextCommand-WYU6OQ2F.js +0 -61
  288. package/chunks/daemon-status-provider-HH2EC5FI.js +0 -65
  289. package/chunks/headlessSafetyWarnings-TBE35GJ4.js +0 -55
  290. package/chunks/initializer-2Y7SLOKV.js +0 -61
  291. package/chunks/list-ZAFHZ7OS.js +0 -65
  292. package/chunks/loadedSettingsAdapter-6KJXD6M3.js +0 -60
  293. package/chunks/nonInteractiveCli-5W4GIZQM.js +0 -96
  294. package/chunks/ripGrep-IEIFIWP4.js +0 -54
  295. package/chunks/serve-V6GVZR6U.js +0 -65
  296. package/chunks/spawnChannel-3VHW5EPY.js +0 -63
  297. package/chunks/theme-manager-LYLGAERF.js +0 -58
  298. package/chunks/workspace-providers-status-PIAFVYHA.js +0 -62
  299. package/chunks/workspace-service-YAIOD4HG.js +0 -71
  300. package/web-shell/assets/channel-iRo68q4Q.js +0 -1
  301. package/web-shell/assets/classDiagram-4FO5ZUOK-iHF24a8X.js +0 -1
  302. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-iHF24a8X.js +0 -1
  303. package/web-shell/assets/index-CHmzAWys.css +0 -5
  304. package/web-shell/assets/index-w6GTOHh1.js +0 -713
  305. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-t1LRI0oY.js +0 -1
@@ -2,12 +2,12 @@
2
2
  "use strict";
3
3
  import {
4
4
  buildPermissionSettings
5
- } from "./chunk-ODLIHNOY.js";
5
+ } from "./chunk-QAFQLTXG.js";
6
6
  import {
7
7
  resolveVoiceStreamConfig,
8
8
  resolveVoiceTranscriptionConfig,
9
9
  transcribeVoiceAudio
10
- } from "./chunk-BTLJ2MF5.js";
10
+ } from "./chunk-BNJLLAQ7.js";
11
11
  import {
12
12
  getVoiceSettingsScope,
13
13
  isSelectableVoiceModel,
@@ -16,11 +16,7 @@ import {
16
16
  readVoiceMode,
17
17
  readVoiceModel,
18
18
  resolveVoiceTransport
19
- } from "./chunk-4LUZAKMK.js";
20
- import {
21
- WorkspacePermissionRulesSessionRequiredError,
22
- WorkspaceSettingsPartialPersistError
23
- } from "./chunk-BMFMJINR.js";
19
+ } from "./chunk-Q7VHIRDD.js";
24
20
  import {
25
21
  MCP_RESTART_SERVER_DEADLINE_MS
26
22
  } from "./chunk-P7M4GA57.js";
@@ -32,11 +28,7 @@ import {
32
28
  WorkspaceInitPathEscapeError,
33
29
  WorkspaceInitRaceError,
34
30
  WorkspaceInitSymlinkError
35
- } from "./chunk-JE5FVRPC.js";
36
- import {
37
- getPersistScopeForModelSelection,
38
- loadSettings
39
- } from "./chunk-FKAVULLM.js";
31
+ } from "./chunk-T22H4V4R.js";
40
32
  import {
41
33
  SERVE_CONTROL_EXT_METHODS,
42
34
  SERVE_STATUS_EXT_METHODS,
@@ -49,19 +41,27 @@ import {
49
41
  createIdleWorkspaceProvidersStatus,
50
42
  createIdleWorkspaceSkillsStatus,
51
43
  mapDomainErrorToErrorKind
52
- } from "./chunk-L7OKCI7T.js";
44
+ } from "./chunk-GICCHL2Q.js";
45
+ import {
46
+ WorkspacePermissionRulesSessionRequiredError,
47
+ WorkspaceSettingsPartialPersistError
48
+ } from "./chunk-BMFMJINR.js";
49
+ import {
50
+ getPersistScopeForModelSelection,
51
+ loadSettings
52
+ } from "./chunk-MKHC4BYZ.js";
53
53
  import {
54
54
  getWorkspaceTrustStatus
55
- } from "./chunk-F3ZYSEY6.js";
55
+ } from "./chunk-ZJP5T7IA.js";
56
56
  import {
57
57
  writeStderrLine
58
58
  } from "./chunk-Y6Z2O3WR.js";
59
59
  import {
60
60
  ModelsConfig
61
- } from "./chunk-YAINVQ3Q.js";
61
+ } from "./chunk-BFG6OZN7.js";
62
62
  import {
63
63
  createDebugLogger
64
- } from "./chunk-UX4SGCGN.js";
64
+ } from "./chunk-AVQDCKNF.js";
65
65
  import {
66
66
  init_esbuild_shims
67
67
  } from "./chunk-A4BMJM77.js";
@@ -3,37 +3,42 @@
3
3
  import {
4
4
  handleAtCommand,
5
5
  resolveAtCommandQuery
6
- } from "./chunk-UFLGERMB.js";
6
+ } from "./chunk-MNDTD5E5.js";
7
7
  import {
8
8
  isAtCommand,
9
9
  isBtwCommand,
10
10
  isSlashCommand,
11
11
  normalizePartList,
12
12
  recordGoalStatusItem
13
- } from "./chunk-RRFZXMYP.js";
13
+ } from "./chunk-ZXCVPMIK.js";
14
14
  import {
15
15
  SHELL_COMMAND_NAME,
16
16
  useSessionStats
17
- } from "./chunk-J7FA27RO.js";
17
+ } from "./chunk-TTFNVEO5.js";
18
18
  import {
19
19
  require_react
20
20
  } from "./chunk-KYMBIKIW.js";
21
21
  import {
22
22
  themeManager
23
- } from "./chunk-I4H7PRWQ.js";
23
+ } from "./chunk-HTWHAN44.js";
24
24
  import {
25
25
  formatMemoryUsage
26
26
  } from "./chunk-KHDZHZMH.js";
27
+ import {
28
+ isInlineModelOverrideAllowed
29
+ } from "./chunk-BQNJBEUA.js";
27
30
  import {
28
31
  t
29
- } from "./chunk-R5OP2ATH.js";
32
+ } from "./chunk-UQYOMM6J.js";
30
33
  import {
34
+ AutonomousLoopTickResolver,
31
35
  CoreToolScheduler,
32
36
  ShellExecutionService,
33
37
  activeGoalEquals,
34
38
  clearActiveGoal,
35
39
  compactToolResultDisplayForHistory,
36
40
  createDuplicateProviderToolCallResponse,
41
+ detectAutonomousSentinel,
37
42
  findRepeatedDuplicateProviderToolCall,
38
43
  generateToolUseSummary,
39
44
  getActiveGoal,
@@ -46,7 +51,7 @@ import {
46
51
  setActiveGoal,
47
52
  shouldRunVisionBridge,
48
53
  splitImageParts
49
- } from "./chunk-YAINVQ3Q.js";
54
+ } from "./chunk-BFG6OZN7.js";
50
55
  import {
51
56
  ApiCancelEvent,
52
57
  ConversationFinishedEvent,
@@ -56,17 +61,17 @@ import {
56
61
  logConversationFinishedEvent,
57
62
  logUserPrompt,
58
63
  logUserRetry
59
- } from "./chunk-QNKBEJO2.js";
64
+ } from "./chunk-HJDF3ZVU.js";
60
65
  import {
61
66
  isAnyAutoMemPath
62
- } from "./chunk-RD6YJJJ6.js";
67
+ } from "./chunk-MOUXUCXQ.js";
63
68
  import {
64
69
  ToolNames
65
- } from "./chunk-BX5YO7UW.js";
70
+ } from "./chunk-4VZH35PN.js";
66
71
  import {
67
72
  getUnsupportedImageFormatWarning,
68
73
  isSupportedImageMimeType
69
- } from "./chunk-U3KSMM7G.js";
74
+ } from "./chunk-YTFBURQD.js";
70
75
  import {
71
76
  FinishReason
72
77
  } from "./chunk-55ZMG67I.js";
@@ -75,7 +80,7 @@ import {
75
80
  createDebugLogger,
76
81
  getErrorMessage,
77
82
  isNodeError
78
- } from "./chunk-UX4SGCGN.js";
83
+ } from "./chunk-AVQDCKNF.js";
79
84
  import {
80
85
  init_esbuild_shims
81
86
  } from "./chunk-A4BMJM77.js";
@@ -744,6 +749,18 @@ import { promises as fs2 } from "node:fs";
744
749
  import path3 from "node:path";
745
750
  import process from "node:process";
746
751
  var debugLogger3 = createDebugLogger("GEMINI_STREAM");
752
+ function applyModelOverride(modelOverrideRef, inlineActiveRef, value, isInline) {
753
+ modelOverrideRef.current = value;
754
+ inlineActiveRef.current = isInline;
755
+ debugLogger3.debug(
756
+ `model override ${value === void 0 ? "cleared" : `set to ${value}`} (inline=${isInline})`
757
+ );
758
+ }
759
+ __name(applyModelOverride, "applyModelOverride");
760
+ function clearModelOverride(modelOverrideRef, inlineActiveRef) {
761
+ applyModelOverride(modelOverrideRef, inlineActiveRef, void 0, false);
762
+ }
763
+ __name(clearModelOverride, "clearModelOverride");
747
764
  var MID_TURN_AT_COMMAND_RESOLVE_TIMEOUT_MS = 1e4;
748
765
  var MID_TURN_AT_COMMAND_RESOLVE_TIMEOUT_MESSAGE = "Mid-turn @ command resolution timed out";
749
766
  function formatVisionBridgeNotice(result) {
@@ -945,6 +962,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
945
962
  const processedMemoryToolsRef = (0, import_react5.useRef)(/* @__PURE__ */ new Set());
946
963
  const submitPromptOnCompleteRef = (0, import_react5.useRef)(null);
947
964
  const modelOverrideRef = (0, import_react5.useRef)(void 0);
965
+ const inlineModelOverrideActiveRef = (0, import_react5.useRef)(false);
948
966
  const handledProviderToolCallIdsRef = (0, import_react5.useRef)(/* @__PURE__ */ new Set());
949
967
  const duplicateProviderToolCallResponseIdsRef = (0, import_react5.useRef)(
950
968
  /* @__PURE__ */ new Set()
@@ -1130,7 +1148,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
1130
1148
  config.getArenaAgentClient()?.reportCancelled();
1131
1149
  const prompt_id = config.getSessionId() + "########" + getPromptCount();
1132
1150
  const cancellationEvent = new ApiCancelEvent(
1133
- config.getModel(),
1151
+ modelOverrideRef.current ?? config.getModel(),
1134
1152
  prompt_id,
1135
1153
  config.getContentGeneratorConfig()?.authType,
1136
1154
  loopWakeupsCancelled > 0 ? loopWakeupsCancelled : void 0
@@ -1253,6 +1271,23 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
1253
1271
  case "submit_prompt": {
1254
1272
  localQueryToSendToGemini = slashCommandResult.content;
1255
1273
  submitPromptOnCompleteRef.current = slashCommandResult.onComplete ?? null;
1274
+ if (slashCommandResult.modelOverride) {
1275
+ if (isInlineModelOverrideAllowed(
1276
+ config,
1277
+ slashCommandResult.modelOverride
1278
+ )) {
1279
+ applyModelOverride(
1280
+ modelOverrideRef,
1281
+ inlineModelOverrideActiveRef,
1282
+ slashCommandResult.modelOverride,
1283
+ true
1284
+ );
1285
+ } else {
1286
+ debugLogger3.warn(
1287
+ `ignoring model override '${slashCommandResult.modelOverride}': not a model on the active provider`
1288
+ );
1289
+ }
1290
+ }
1256
1291
  return {
1257
1292
  queryToSend: localQueryToSendToGemini,
1258
1293
  shouldProceed: true
@@ -1624,7 +1659,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
1624
1659
  addItem(
1625
1660
  {
1626
1661
  type: "info",
1627
- text: `\u26A0\uFE0F ${message}`
1662
+ text: `\u26A0 ${message}`
1628
1663
  },
1629
1664
  userMessageTimestamp
1630
1665
  );
@@ -1635,13 +1670,16 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
1635
1670
  },
1636
1671
  [addItem, clearRetryCountdown]
1637
1672
  );
1673
+ const autonomousLoopTickResolverRef = (0, import_react5.useRef)(null);
1638
1674
  const handleChatCompressionEvent = (0, import_react5.useCallback)(
1639
1675
  (eventValue, userMessageTimestamp) => {
1676
+ autonomousLoopTickResolverRef.current?.resetCache();
1640
1677
  if (pendingHistoryItemRef.current) {
1641
1678
  commitItem(pendingHistoryItemRef.current, userMessageTimestamp);
1642
1679
  setPendingHistoryItem(null);
1643
1680
  }
1644
- const reasonClause = eventValue?.triggerReason === "image_overflow" ? `accumulated enough tool screenshots to trigger compaction for ${config.getModel()}` : `approached the input token limit for ${config.getModel()}`;
1681
+ const activeModel = modelOverrideRef.current ?? config.getModel();
1682
+ const reasonClause = eventValue?.triggerReason === "image_overflow" ? `accumulated enough tool screenshots to trigger compaction for ${activeModel}` : `approached the input token limit for ${activeModel}`;
1645
1683
  return addItem(
1646
1684
  {
1647
1685
  type: "info",
@@ -1666,9 +1704,9 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
1666
1704
  (value) => addItem(
1667
1705
  {
1668
1706
  type: "error",
1669
- text: `\u{1F6AB} Session token limit exceeded: ${value.currentTokens.toLocaleString()} tokens > ${value.limit.toLocaleString()} limit.
1707
+ text: `\u2717 Session token limit exceeded: ${value.currentTokens.toLocaleString()} tokens > ${value.limit.toLocaleString()} limit.
1670
1708
 
1671
- \u{1F4A1} Solutions:
1709
+ \u2605 Solutions:
1672
1710
  \u2022 Start a new session: Use /clear command
1673
1711
  \u2022 Increase limit: Add "sessionTokenLimit": (e.g., 128000) to your settings.json
1674
1712
  \u2022 Compress history: Use /compress command to compress history`
@@ -2089,10 +2127,13 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
2089
2127
  async (query, submitType = "userQuery" /* UserQuery */, prompt_id, metadata) => {
2090
2128
  const allowConcurrentBtwDuringResponse = submitType === "userQuery" /* UserQuery */ && streamingState === "responding" /* Responding */ && typeof query === "string" && isBtwCommand(query);
2091
2129
  if (isSubmittingQueryRef.current && submitType !== "toolResult" /* ToolResult */ && !allowConcurrentBtwDuringResponse) {
2130
+ metadata?.onDeliveryFailed?.();
2092
2131
  return;
2093
2132
  }
2094
- if ((streamingState === "responding" /* Responding */ || streamingState === "waiting_for_confirmation" /* WaitingForConfirmation */) && submitType !== "toolResult" /* ToolResult */ && !allowConcurrentBtwDuringResponse)
2133
+ if ((streamingState === "responding" /* Responding */ || streamingState === "waiting_for_confirmation" /* WaitingForConfirmation */) && submitType !== "toolResult" /* ToolResult */ && !allowConcurrentBtwDuringResponse) {
2134
+ metadata?.onDeliveryFailed?.();
2095
2135
  return;
2136
+ }
2096
2137
  isSubmittingQueryRef.current = true;
2097
2138
  loopDetectedRef.current = false;
2098
2139
  if (submitType !== "toolResult" /* ToolResult */ && !allowConcurrentBtwDuringResponse) {
@@ -2106,8 +2147,18 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
2106
2147
  const userMessageTimestamp = Date.now();
2107
2148
  if (submitType !== "toolResult" /* ToolResult */ && !allowConcurrentBtwDuringResponse) {
2108
2149
  setModelSwitchedFromQuotaError(false);
2109
- if (submitType !== "retry" /* Retry */) {
2110
- modelOverrideRef.current = void 0;
2150
+ const droppingInlineOverrideOnRetry = submitType === "retry" /* Retry */ && inlineModelOverrideActiveRef.current;
2151
+ if (submitType !== "retry" /* Retry */ || inlineModelOverrideActiveRef.current) {
2152
+ if (droppingInlineOverrideOnRetry) {
2153
+ addItem(
2154
+ {
2155
+ type: "info",
2156
+ text: `Inline model override cleared on retry \u2014 retrying on the session model (${config.getModel()}).`
2157
+ },
2158
+ userMessageTimestamp
2159
+ );
2160
+ }
2161
+ clearModelOverride(modelOverrideRef, inlineModelOverrideActiveRef);
2111
2162
  }
2112
2163
  if (pendingRetryCountdownItemRef.current || pendingRetryErrorItemRef.current) {
2113
2164
  const pendingError = pendingRetryErrorItemRef.current;
@@ -2137,6 +2188,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
2137
2188
  );
2138
2189
  if (!shouldProceed || queryToSend === null) {
2139
2190
  isSubmittingQueryRef.current = false;
2191
+ metadata?.onDeliveryFailed?.();
2140
2192
  return;
2141
2193
  }
2142
2194
  if (submitType === "userQuery" /* UserQuery */ || submitType === "cron" /* Cron */ || submitType === "teammate" /* Teammate */) {
@@ -2163,7 +2215,8 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
2163
2215
  queryToSend.length,
2164
2216
  prompt_id,
2165
2217
  config.getContentGeneratorConfig()?.authType,
2166
- queryToSend
2218
+ queryToSend,
2219
+ modelOverrideRef.current ?? config.getModel()
2167
2220
  )
2168
2221
  );
2169
2222
  }
@@ -2206,6 +2259,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
2206
2259
  if (processingStatus === 1 /* UserCancelled */) {
2207
2260
  submitPromptOnCompleteRef.current = null;
2208
2261
  isSubmittingQueryRef.current = false;
2262
+ metadata?.onDeliveryFailed?.();
2209
2263
  return;
2210
2264
  }
2211
2265
  if (pendingHistoryItemRef.current) {
@@ -2228,6 +2282,11 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
2228
2282
  loopDetectedRef.current = false;
2229
2283
  handleLoopDetectedEvent();
2230
2284
  }
2285
+ if (lastPromptErroredRef.current) {
2286
+ metadata?.onDeliveryFailed?.();
2287
+ } else {
2288
+ metadata?.onDelivered?.();
2289
+ }
2231
2290
  const onComplete = submitPromptOnCompleteRef.current;
2232
2291
  if (onComplete) {
2233
2292
  submitPromptOnCompleteRef.current = null;
@@ -2253,6 +2312,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
2253
2312
  }
2254
2313
  }
2255
2314
  } catch (error) {
2315
+ metadata?.onDeliveryFailed?.();
2256
2316
  if (error instanceof UnauthorizedError) {
2257
2317
  onAuthError("Session expired or is unauthorized.");
2258
2318
  } else if (!isNodeError(error) || error.name !== "AbortError") {
@@ -2476,7 +2536,20 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
2476
2536
  const promptId = prompt_ids[0] ?? pendingDuplicatePromptId;
2477
2537
  for (const toolCall of geminiTools) {
2478
2538
  if ("modelOverride" in toolCall.response) {
2479
- modelOverrideRef.current = toolCall.response.modelOverride;
2539
+ if (inlineModelOverrideActiveRef.current) {
2540
+ debugLogger3.debug(
2541
+ `skill-tool model override (${String(
2542
+ toolCall.response.modelOverride
2543
+ )}) blocked: inline override active`
2544
+ );
2545
+ } else {
2546
+ applyModelOverride(
2547
+ modelOverrideRef,
2548
+ inlineModelOverrideActiveRef,
2549
+ toolCall.response.modelOverride,
2550
+ false
2551
+ );
2552
+ }
2480
2553
  }
2481
2554
  }
2482
2555
  if (dualOutput) {
@@ -2763,6 +2836,10 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
2763
2836
  }, [toolCalls, config, onDebugMessage, history, geminiClient, storage]);
2764
2837
  const notificationQueueRef = (0, import_react5.useRef)([]);
2765
2838
  const [notificationTrigger, setNotificationTrigger] = (0, import_react5.useState)(0);
2839
+ const getAutonomousLoopTickResolver = (0, import_react5.useCallback)(() => {
2840
+ autonomousLoopTickResolverRef.current ??= new AutonomousLoopTickResolver();
2841
+ return autonomousLoopTickResolverRef.current;
2842
+ }, []);
2766
2843
  const notificationQueueSessionIdRef = (0, import_react5.useRef)(sessionStates.sessionId);
2767
2844
  (0, import_react5.useEffect)(() => {
2768
2845
  if (notificationQueueSessionIdRef.current === sessionStates.sessionId) {
@@ -2770,6 +2847,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
2770
2847
  }
2771
2848
  notificationQueueSessionIdRef.current = sessionStates.sessionId;
2772
2849
  notificationQueueRef.current = [];
2850
+ autonomousLoopTickResolverRef.current?.resetCache();
2773
2851
  }, [sessionStates.sessionId]);
2774
2852
  const cronSessionIdRef = (0, import_react5.useRef)(sessionStates.sessionId);
2775
2853
  cronSessionIdRef.current = sessionStates.sessionId;
@@ -2789,11 +2867,28 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
2789
2867
  if (stopped) return;
2790
2868
  scheduler.start(
2791
2869
  (job) => {
2792
- const label = job.prompt.slice(0, 40);
2793
2870
  const source = job.cronExpr === "@wakeup" ? "Loop" : "Cron";
2871
+ const autonomousMode = detectAutonomousSentinel(job.prompt);
2872
+ let label = job.prompt.slice(0, 40);
2873
+ let modelText = job.prompt;
2874
+ if (autonomousMode) {
2875
+ if (job.missed) return;
2876
+ const resolver = getAutonomousLoopTickResolver();
2877
+ const tick = resolver.resolveAutonomous(autonomousMode);
2878
+ label = "Autonomous loop tick";
2879
+ modelText = tick.modelText;
2880
+ notificationQueueRef.current.push({
2881
+ displayText: `${job.missed ? "Missed" : source}: ${label}`,
2882
+ modelText,
2883
+ sendMessageType: "cron" /* Cron */,
2884
+ onDelivered: /* @__PURE__ */ __name(() => resolver.markDelivered(), "onDelivered")
2885
+ });
2886
+ setNotificationTrigger((n) => n + 1);
2887
+ return;
2888
+ }
2794
2889
  notificationQueueRef.current.push({
2795
2890
  displayText: `${job.missed ? "Missed" : source}: ${label}`,
2796
- modelText: job.prompt,
2891
+ modelText,
2797
2892
  sendMessageType: "cron" /* Cron */
2798
2893
  });
2799
2894
  setNotificationTrigger((n) => n + 1);
@@ -2808,7 +2903,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
2808
2903
  process.stderr.write(summary + "\n");
2809
2904
  }
2810
2905
  };
2811
- }, [config, isConfigInitialized]);
2906
+ }, [config, getAutonomousLoopTickResolver, isConfigInitialized]);
2812
2907
  (0, import_react5.useEffect)(() => {
2813
2908
  const registry = config.getBackgroundTaskRegistry();
2814
2909
  registry.setNotificationCallback((displayText, modelText) => {
@@ -2866,7 +2961,9 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
2866
2961
  Date.now()
2867
2962
  );
2868
2963
  submitQuery(item.modelText, item.sendMessageType, void 0, {
2869
- notificationDisplayText: item.displayText
2964
+ notificationDisplayText: item.displayText,
2965
+ onDelivered: item.onDelivered,
2966
+ onDeliveryFailed: item.onDeliveryFailed
2870
2967
  });
2871
2968
  return;
2872
2969
  }
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  themeManager
5
- } from "./chunk-I4H7PRWQ.js";
5
+ } from "./chunk-HTWHAN44.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-A4BMJM77.js";
@@ -5,13 +5,13 @@ import {
5
5
  } from "./chunk-KHDZHZMH.js";
6
6
  import {
7
7
  getCliVersion
8
- } from "./chunk-GT2FGICD.js";
8
+ } from "./chunk-W6X4FGWX.js";
9
9
  import {
10
10
  IdeClient
11
- } from "./chunk-YAINVQ3Q.js";
11
+ } from "./chunk-BFG6OZN7.js";
12
12
  import {
13
13
  createDebugLogger
14
- } from "./chunk-UX4SGCGN.js";
14
+ } from "./chunk-AVQDCKNF.js";
15
15
  import {
16
16
  init_esbuild_shims
17
17
  } from "./chunk-A4BMJM77.js";
@@ -27,7 +27,7 @@ import { execFile } from "node:child_process";
27
27
 
28
28
  // packages/cli/src/generated/git-commit.ts
29
29
  init_esbuild_shims();
30
- var GIT_COMMIT_INFO = "cd515cf11";
30
+ var GIT_COMMIT_INFO = "e362808b1";
31
31
 
32
32
  // packages/cli/src/utils/systemInfo.ts
33
33
  var debugLogger = createDebugLogger("STATUS");
@@ -34,7 +34,7 @@ __name(getPackageJson, "getPackageJson");
34
34
  // packages/cli/src/utils/version.ts
35
35
  async function getCliVersion() {
36
36
  const pkgJson = await getPackageJson();
37
- return "0.19.3";
37
+ return "0.19.4";
38
38
  }
39
39
  __name(getCliVersion, "getCliVersion");
40
40
 
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  registerCleanup
5
- } from "./chunk-I2LYBGNI.js";
5
+ } from "./chunk-FYKX6XOT.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-A4BMJM77.js";
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  isTeamAutoMemPath
5
- } from "./chunk-RD6YJJJ6.js";
5
+ } from "./chunk-MOUXUCXQ.js";
6
6
  import {
7
7
  createDebugLogger
8
- } from "./chunk-UX4SGCGN.js";
8
+ } from "./chunk-AVQDCKNF.js";
9
9
  import {
10
10
  init_esbuild_shims
11
11
  } from "./chunk-A4BMJM77.js";
@@ -1,11 +1,11 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ MissingCliEntryError
5
+ } from "./chunk-GICCHL2Q.js";
3
6
  import {
4
7
  ndJsonStream
5
8
  } from "./chunk-UFC57OYT.js";
6
- import {
7
- MissingCliEntryError
8
- } from "./chunk-L7OKCI7T.js";
9
9
  import {
10
10
  init_esbuild_shims
11
11
  } from "./chunk-A4BMJM77.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-UX4SGCGN.js";
5
+ } from "./chunk-AVQDCKNF.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-A4BMJM77.js";