@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,104 +2,116 @@
2
2
  "use strict";
3
3
  import {
4
4
  runNonInteractive
5
- } from "./chunk-HPZTOP4I.js";
6
- import "./chunk-UFLGERMB.js";
7
- import "./chunk-GGBIN5K7.js";
5
+ } from "./chunk-C2IHHGBZ.js";
6
+ import "./chunk-MNDTD5E5.js";
7
+ import "./chunk-PIYV6COW.js";
8
8
  import {
9
9
  StreamJsonOutputAdapter
10
- } from "./chunk-PDE7CSDS.js";
10
+ } from "./chunk-7VPC7D7O.js";
11
11
  import {
12
12
  getAvailableCommands
13
- } from "./chunk-RRFZXMYP.js";
14
- import "./chunk-EDMZZFDU.js";
15
- import "./chunk-FNJ7BDPH.js";
16
- import "./chunk-5GOVVXEV.js";
17
- import "./chunk-3TV3HUWZ.js";
13
+ } from "./chunk-ZXCVPMIK.js";
14
+ import "./chunk-MVZXZWGT.js";
15
+ import "./chunk-JZSY4WP3.js";
16
+ import "./chunk-SFN4TEHY.js";
17
+ import "./chunk-CG7SVARK.js";
18
+ import "./chunk-75X2VLSH.js";
18
19
  import "./chunk-KSPVDFE4.js";
19
20
  import "./chunk-MRO43B25.js";
20
- import "./chunk-SMXULRAN.js";
21
- import "./chunk-T4T2FNV4.js";
21
+ import "./chunk-VXGPYF7U.js";
22
+ import "./chunk-2X2JUE47.js";
22
23
  import "./chunk-KYMBIKIW.js";
23
- import "./chunk-I4H7PRWQ.js";
24
- import "./chunk-JZSY4WP3.js";
25
- import "./chunk-JVHEVCAU.js";
26
- import "./chunk-CNLEDYE3.js";
24
+ import "./chunk-HTWHAN44.js";
25
+ import "./chunk-AHNXYU4O.js";
26
+ import "./chunk-ND25GXEU.js";
27
+ import "./chunk-BJBWRCSK.js";
28
+ import "./chunk-CS5XYDBO.js";
27
29
  import "./chunk-3GONHQOA.js";
28
- import "./chunk-PR32FRT6.js";
29
- import "./chunk-CKQA6AWF.js";
30
- import "./chunk-BW4KCQFD.js";
31
- import "./chunk-NDOC6M5S.js";
32
- import "./chunk-M2U5NM24.js";
33
- import "./chunk-JJXWTVSK.js";
34
- import "./chunk-R2BXK7SX.js";
35
- import "./chunk-MNF6S5PR.js";
30
+ import "./chunk-OAFUMTWW.js";
31
+ import "./chunk-J3F7X3LW.js";
32
+ import "./chunk-L7QPM2YD.js";
33
+ import "./chunk-54YZOP7P.js";
34
+ import "./chunk-HRZB5CSC.js";
35
+ import "./chunk-RNBYOUGV.js";
36
+ import "./chunk-W2ZOAX7F.js";
36
37
  import "./chunk-KHDZHZMH.js";
37
- import "./chunk-UYT3MWEB.js";
38
- import "./chunk-4LUZAKMK.js";
39
- import "./chunk-BC3C4F3Q.js";
40
- import "./chunk-GT2FGICD.js";
38
+ import "./chunk-W6X4FGWX.js";
41
39
  import "./chunk-ALX6BUYW.js";
40
+ import "./chunk-BQNJBEUA.js";
41
+ import "./chunk-Q7VHIRDD.js";
42
+ import "./chunk-NIOPRZNN.js";
43
+ import "./chunk-SEZC2725.js";
42
44
  import {
43
45
  createMinimalSettings
44
- } from "./chunk-FKAVULLM.js";
45
- import "./chunk-R5OP2ATH.js";
46
+ } from "./chunk-MKHC4BYZ.js";
47
+ import "./chunk-UQYOMM6J.js";
46
48
  import "./chunk-TLRYABYP.js";
47
- import "./chunk-5DWXLGOM.js";
49
+ import "./chunk-EDAGQADF.js";
50
+ import "./chunk-MX2YXRER.js";
51
+ import "./chunk-HI55Z6PR.js";
48
52
  import "./chunk-UFC57OYT.js";
49
- import "./chunk-CF6BB3LT.js";
50
- import "./chunk-F3ZYSEY6.js";
53
+ import "./chunk-OJCECIJA.js";
54
+ import "./chunk-PPFWEV7G.js";
55
+ import "./chunk-ZJP5T7IA.js";
51
56
  import "./chunk-Y6Z2O3WR.js";
52
57
  import "./chunk-QYUE6W3T.js";
53
58
  import {
54
- MCPServerConfig
55
- } from "./chunk-YAINVQ3Q.js";
59
+ MCPServerConfig,
60
+ TURN_INTERRUPTION_HISTORY_TAIL_COUNT,
61
+ detectTurnInterruption
62
+ } from "./chunk-BFG6OZN7.js";
63
+ import "./chunk-5P5XGNYH.js";
56
64
  import "./chunk-K5PGHDBN.js";
57
65
  import "./chunk-SKAZWEV5.js";
58
- import "./chunk-XJYUPHRC.js";
59
- import "./chunk-QLDPRILK.js";
60
- import "./chunk-BVSVIN45.js";
61
- import "./chunk-SBBN4BWR.js";
62
- import "./chunk-S7AKE7HL.js";
66
+ import "./chunk-QOMAHFYI.js";
67
+ import "./chunk-G7OQ3RFJ.js";
68
+ import "./chunk-LKWAVAB5.js";
69
+ import "./chunk-MEQWZGK5.js";
70
+ import "./chunk-UANCYOOQ.js";
63
71
  import "./chunk-2MPVVENX.js";
64
72
  import "./chunk-ZTQ26VBE.js";
65
- import "./chunk-O2VBQ3Y2.js";
73
+ import "./chunk-SJBIFVD2.js";
66
74
  import "./chunk-MLZQVCF3.js";
75
+ import "./chunk-S5EQPDTM.js";
67
76
  import "./chunk-LQ7TMOCE.js";
68
- import "./chunk-LD2XBG6Z.js";
69
- import "./chunk-HYCC3XM3.js";
70
- import "./chunk-NL4C3H6C.js";
71
- import "./chunk-JOLIREYR.js";
72
- import "./chunk-DDMOU62Q.js";
73
- import "./chunk-QNKBEJO2.js";
74
- import "./chunk-3PJXIDKI.js";
77
+ import "./chunk-E5A7LHNN.js";
78
+ import "./chunk-GO6LNQXT.js";
79
+ import "./chunk-B236XPGF.js";
80
+ import "./chunk-YXK4GPYO.js";
81
+ import "./chunk-TOAUDIS7.js";
82
+ import "./chunk-NPQWQYU6.js";
83
+ import "./chunk-HJDF3ZVU.js";
84
+ import "./chunk-E6US47KI.js";
75
85
  import "./chunk-UWCTAVOD.js";
76
86
  import "./chunk-OFEVLU4C.js";
77
87
  import "./chunk-OMX7CUOE.js";
78
- import "./chunk-RD6YJJJ6.js";
79
- import "./chunk-SKQZZVAV.js";
80
- import "./chunk-BUUQ5HPX.js";
81
- import "./chunk-BX5YO7UW.js";
82
- import "./chunk-UO5GVXQE.js";
83
- import "./chunk-KMGMKW5Q.js";
88
+ import "./chunk-MOUXUCXQ.js";
89
+ import "./chunk-BZHLWC6T.js";
90
+ import "./chunk-UQFP2FEF.js";
91
+ import "./chunk-4VZH35PN.js";
92
+ import "./chunk-TENOUWY2.js";
93
+ import "./chunk-GLPV75ES.js";
84
94
  import "./chunk-22IFUCVR.js";
85
- import "./chunk-3227DZO4.js";
86
- import "./chunk-U3KSMM7G.js";
87
- import "./chunk-BKXBARJZ.js";
88
- import "./chunk-EJYJYJZ2.js";
95
+ import "./chunk-T42ACHFI.js";
96
+ import "./chunk-YTFBURQD.js";
97
+ import "./chunk-YPCPZSZB.js";
98
+ import "./chunk-IRJWHZWU.js";
99
+ import "./chunk-SYCJMSIJ.js";
89
100
  import "./chunk-55ZMG67I.js";
90
101
  import "./chunk-H6BD2ELD.js";
91
102
  import "./chunk-5IFG2VC4.js";
92
103
  import "./chunk-64WXLC72.js";
104
+ import "./chunk-D5KISTLW.js";
93
105
  import {
94
106
  createDebugLogger
95
- } from "./chunk-UX4SGCGN.js";
96
- import "./chunk-SMYQZVZ3.js";
97
- import "./chunk-I2LYBGNI.js";
107
+ } from "./chunk-AVQDCKNF.js";
108
+ import "./chunk-XCUFHOAD.js";
98
109
  import {
99
110
  finalizeStartupProfile,
100
111
  profileCheckpoint
101
112
  } from "./chunk-ITOGNELQ.js";
102
113
  import "./chunk-FXGLL2HL.js";
114
+ import "./chunk-FYKX6XOT.js";
103
115
  import "./chunk-ZERZSAZL.js";
104
116
  import "./chunk-QN5NZ3UQ.js";
105
117
  import "./chunk-BR4QREVK.js";
@@ -189,6 +201,7 @@ var ControlContext = class {
189
201
  mcpClients;
190
202
  inputClosed;
191
203
  onInterrupt;
204
+ onContinueLastTurn;
192
205
  constructor(options) {
193
206
  this.config = options.config;
194
207
  this.streamJson = options.streamJson;
@@ -201,6 +214,7 @@ var ControlContext = class {
201
214
  this.mcpClients = /* @__PURE__ */ new Map();
202
215
  this.inputClosed = false;
203
216
  this.onInterrupt = options.onInterrupt;
217
+ this.onContinueLastTurn = options.onContinueLastTurn;
204
218
  }
205
219
  };
206
220
 
@@ -359,6 +373,8 @@ var SystemController = class extends BaseController {
359
373
  );
360
374
  case "interrupt":
361
375
  return this.handleInterrupt();
376
+ case "continue_last_turn":
377
+ return this.handleContinueLastTurn();
362
378
  case "set_model":
363
379
  return this.handleSetModel(
364
380
  payload,
@@ -380,7 +396,7 @@ var SystemController = class extends BaseController {
380
396
  throw new Error("Request aborted");
381
397
  }
382
398
  try {
383
- const mod = await import("./contextCommand-WYU6OQ2F.js");
399
+ const mod = await import("./contextCommand-DFFG5KDJ.js");
384
400
  if (signal.aborted) {
385
401
  throw new Error("Request aborted");
386
402
  }
@@ -635,6 +651,24 @@ var SystemController = class extends BaseController {
635
651
  debugLogger.debug("[SystemController] Interrupt handled");
636
652
  return { subtype: "interrupt" };
637
653
  }
654
+ /**
655
+ * Handle continue_last_turn request
656
+ *
657
+ * Delegates to the session-provided callback, which classifies the last
658
+ * turn from chat history and (when interrupted) schedules a continuation
659
+ * turn. The response reports `{ accepted, interruption }`; the resumed
660
+ * turn's output flows as regular stream messages afterwards.
661
+ */
662
+ async handleContinueLastTurn() {
663
+ if (!this.context.onContinueLastTurn) {
664
+ throw new Error(
665
+ "continue_last_turn callback (onContinueLastTurn) was not registered on ControlContext \u2014 check session wiring"
666
+ );
667
+ }
668
+ const result = await this.context.onContinueLastTurn();
669
+ debugLogger.debug("[SystemController] continue_last_turn handled:", result);
670
+ return { subtype: "continue_last_turn", ...result };
671
+ }
638
672
  /**
639
673
  * Handle set_model request
640
674
  *
@@ -1469,6 +1503,7 @@ var ControlDispatcher = class {
1469
1503
  switch (subtype) {
1470
1504
  case "initialize":
1471
1505
  case "interrupt":
1506
+ case "continue_last_turn":
1472
1507
  case "set_model":
1473
1508
  case "supported_commands":
1474
1509
  case "get_context_usage":
@@ -1691,6 +1726,8 @@ var Session = class {
1691
1726
  userMessageQueue = [];
1692
1727
  monitorStartedQueue = [];
1693
1728
  monitorQueue = [];
1729
+ pendingContinueTurn = false;
1730
+ continueTurnInProgress = false;
1694
1731
  abortController;
1695
1732
  config;
1696
1733
  sessionId;
@@ -1858,7 +1895,8 @@ var Session = class {
1858
1895
  abortSignal: this.abortController.signal,
1859
1896
  settings: this.settings,
1860
1897
  permissionMode: this.config.getApprovalMode(),
1861
- onInterrupt: /* @__PURE__ */ __name(() => this.handleInterrupt(), "onInterrupt")
1898
+ onInterrupt: /* @__PURE__ */ __name(() => this.handleInterrupt(), "onInterrupt"),
1899
+ onContinueLastTurn: /* @__PURE__ */ __name(() => this.requestContinueLastTurn(), "onContinueLastTurn")
1862
1900
  });
1863
1901
  this.dispatcher = new ControlDispatcher(this.controlContext);
1864
1902
  this.controlService = new ControlService(
@@ -1991,6 +2029,92 @@ var Session = class {
1991
2029
  debugLogger3.error("[Session] Query execution error:", error);
1992
2030
  }
1993
2031
  }
2032
+ /**
2033
+ * Handle a continue_last_turn control request: classify the last turn
2034
+ * from chat history and, when it was interrupted, schedule a
2035
+ * continuation turn on the work queue. Returns the control reply
2036
+ * payload; the continuation itself runs serialized with user messages.
2037
+ */
2038
+ async requestContinueLastTurn() {
2039
+ await this.waitForInitialization();
2040
+ if (this.isShuttingDown || this.abortController.signal.aborted) {
2041
+ debugLogger3.debug(
2042
+ "[Session] continue_last_turn rejected: session is shutting down"
2043
+ );
2044
+ return { accepted: false, interruption: "none" };
2045
+ }
2046
+ const geminiClient = this.config.getGeminiClient();
2047
+ if (!geminiClient || !geminiClient.isInitialized()) {
2048
+ debugLogger3.debug(
2049
+ "[Session] continue_last_turn rejected: gemini client is not ready"
2050
+ );
2051
+ return { accepted: false, interruption: "none" };
2052
+ }
2053
+ const chat = geminiClient.getChat();
2054
+ const historyTail = chat.getHistoryTailShallow?.(TURN_INTERRUPTION_HISTORY_TAIL_COUNT) ?? chat.getHistoryTail(TURN_INTERRUPTION_HISTORY_TAIL_COUNT);
2055
+ const detection = detectTurnInterruption(historyTail);
2056
+ debugLogger3.info("[Session] requestContinueLastTurn detection", {
2057
+ sessionId: this.sessionId,
2058
+ kind: detection.kind
2059
+ });
2060
+ if (detection.kind === "none") {
2061
+ debugLogger3.debug(
2062
+ "[Session] continue_last_turn rejected: no interrupted turn"
2063
+ );
2064
+ return { accepted: false, interruption: "none" };
2065
+ }
2066
+ if (this.pendingContinueTurn || this.continueTurnInProgress) {
2067
+ debugLogger3.debug(
2068
+ "[Session] continue_last_turn rejected: continuation already pending",
2069
+ { kind: detection.kind }
2070
+ );
2071
+ return { accepted: false, interruption: detection.kind };
2072
+ }
2073
+ this.pendingContinueTurn = true;
2074
+ this.ensureProcessingStarted();
2075
+ debugLogger3.info("[Session] continue_last_turn accepted", {
2076
+ sessionId: this.sessionId,
2077
+ kind: detection.kind
2078
+ });
2079
+ return { accepted: true, interruption: detection.kind };
2080
+ }
2081
+ /**
2082
+ * Run a scheduled continuation turn. The authoritative interruption
2083
+ * re-detection happens inside runNonInteractive (history may have moved
2084
+ * since the request was accepted); a turn that became clean by then is
2085
+ * a no-op result message.
2086
+ */
2087
+ async processContinueTurn() {
2088
+ this.continueTurnInProgress = true;
2089
+ let resultAlreadyEmitted = false;
2090
+ try {
2091
+ await this.waitForInitialization();
2092
+ const promptId = this.getNextPromptId();
2093
+ await runNonInteractive(this.config, this.settings, "", promptId, {
2094
+ abortController: this.abortController,
2095
+ adapter: this.outputAdapter,
2096
+ controlService: this.controlService ?? void 0,
2097
+ continueInterrupted: true,
2098
+ captureMonitorNotifications: false,
2099
+ captureMonitorRegistrations: false,
2100
+ onResultEmitted: /* @__PURE__ */ __name(() => {
2101
+ resultAlreadyEmitted = true;
2102
+ }, "onResultEmitted")
2103
+ });
2104
+ } catch (error) {
2105
+ debugLogger3.error("[Session] Continue turn execution error:", error);
2106
+ const message = error instanceof Error ? error.message : String(error);
2107
+ if (resultAlreadyEmitted) {
2108
+ this.outputAdapter.emitSystemMessage("continue_turn_failed", {
2109
+ error: message
2110
+ });
2111
+ return;
2112
+ }
2113
+ throw new Error(`Continue turn failed: ${message}`, { cause: error });
2114
+ } finally {
2115
+ this.continueTurnInProgress = false;
2116
+ }
2117
+ }
1994
2118
  async processMonitorNotificationBatch(batch) {
1995
2119
  await this.waitForInitialization();
1996
2120
  for (const item of batch) {
@@ -2023,7 +2147,17 @@ var Session = class {
2023
2147
  if (this.isShuttingDown || this.abortController.signal.aborted) {
2024
2148
  return;
2025
2149
  }
2026
- while ((this.userMessageQueue.length > 0 || this.monitorStartedQueue.length > 0 || this.monitorQueue.length > 0) && !this.isShuttingDown && !this.abortController.signal.aborted) {
2150
+ while ((this.pendingContinueTurn || this.userMessageQueue.length > 0 || this.monitorStartedQueue.length > 0 || this.monitorQueue.length > 0) && !this.isShuttingDown && !this.abortController.signal.aborted) {
2151
+ if (this.pendingContinueTurn) {
2152
+ this.pendingContinueTurn = false;
2153
+ try {
2154
+ await this.processContinueTurn();
2155
+ } catch (error) {
2156
+ debugLogger3.error("[Session] Error processing continue turn:", error);
2157
+ this.emitErrorResult(error);
2158
+ }
2159
+ continue;
2160
+ }
2027
2161
  if (this.userMessageQueue.length > 0) {
2028
2162
  const userMessage = this.userMessageQueue.shift();
2029
2163
  try {
@@ -2072,7 +2206,7 @@ var Session = class {
2072
2206
  }
2073
2207
  this.processingPromise = this.processPendingWork().finally(() => {
2074
2208
  this.processingPromise = null;
2075
- if ((this.userMessageQueue.length > 0 || this.monitorStartedQueue.length > 0 || this.monitorQueue.length > 0) && !this.isShuttingDown && !this.abortController.signal.aborted) {
2209
+ if ((this.pendingContinueTurn || this.userMessageQueue.length > 0 || this.monitorStartedQueue.length > 0 || this.monitorQueue.length > 0) && !this.isShuttingDown && !this.abortController.signal.aborted) {
2076
2210
  this.ensureProcessingStarted();
2077
2211
  }
2078
2212
  });
@@ -2130,6 +2264,12 @@ var Session = class {
2130
2264
  debugLogger3.error("[Session] Error in user message processing:", error);
2131
2265
  }
2132
2266
  }
2267
+ if (this.pendingContinueTurn) {
2268
+ this.pendingContinueTurn = false;
2269
+ this.emitErrorResult(
2270
+ new Error("Continuation abandoned: session shut down before it ran")
2271
+ );
2272
+ }
2133
2273
  }
2134
2274
  async shutdown() {
2135
2275
  debugLogger3.debug("[Session] Shutting down");
@@ -21,8 +21,8 @@ import {
21
21
  resetHomeEnvBootstrapForTesting,
22
22
  saveSettings,
23
23
  setUpCloudShellEnvironment
24
- } from "./chunk-FKAVULLM.js";
25
- import "./chunk-R5OP2ATH.js";
24
+ } from "./chunk-MKHC4BYZ.js";
25
+ import "./chunk-UQYOMM6J.js";
26
26
  import "./chunk-TLRYABYP.js";
27
27
  import {
28
28
  DEFAULT_EXCLUDED_ENV_VARS,
@@ -30,49 +30,54 @@ import {
30
30
  ENV_WAS_RECOVERED,
31
31
  getSystemDefaultsPath,
32
32
  getSystemSettingsPath
33
- } from "./chunk-CF6BB3LT.js";
34
- import "./chunk-F3ZYSEY6.js";
33
+ } from "./chunk-PPFWEV7G.js";
34
+ import "./chunk-ZJP5T7IA.js";
35
35
  import "./chunk-Y6Z2O3WR.js";
36
36
  import "./chunk-QYUE6W3T.js";
37
- import "./chunk-YAINVQ3Q.js";
37
+ import "./chunk-BFG6OZN7.js";
38
+ import "./chunk-5P5XGNYH.js";
38
39
  import "./chunk-K5PGHDBN.js";
39
40
  import "./chunk-SKAZWEV5.js";
40
- import "./chunk-XJYUPHRC.js";
41
- import "./chunk-QLDPRILK.js";
42
- import "./chunk-BVSVIN45.js";
43
- import "./chunk-SBBN4BWR.js";
44
- import "./chunk-S7AKE7HL.js";
41
+ import "./chunk-QOMAHFYI.js";
42
+ import "./chunk-G7OQ3RFJ.js";
43
+ import "./chunk-LKWAVAB5.js";
44
+ import "./chunk-MEQWZGK5.js";
45
+ import "./chunk-UANCYOOQ.js";
45
46
  import "./chunk-2MPVVENX.js";
46
47
  import "./chunk-ZTQ26VBE.js";
47
- import "./chunk-O2VBQ3Y2.js";
48
+ import "./chunk-SJBIFVD2.js";
48
49
  import "./chunk-MLZQVCF3.js";
50
+ import "./chunk-S5EQPDTM.js";
49
51
  import "./chunk-LQ7TMOCE.js";
50
- import "./chunk-LD2XBG6Z.js";
51
- import "./chunk-HYCC3XM3.js";
52
- import "./chunk-NL4C3H6C.js";
53
- import "./chunk-JOLIREYR.js";
54
- import "./chunk-DDMOU62Q.js";
55
- import "./chunk-QNKBEJO2.js";
56
- import "./chunk-3PJXIDKI.js";
52
+ import "./chunk-E5A7LHNN.js";
53
+ import "./chunk-GO6LNQXT.js";
54
+ import "./chunk-B236XPGF.js";
55
+ import "./chunk-YXK4GPYO.js";
56
+ import "./chunk-TOAUDIS7.js";
57
+ import "./chunk-NPQWQYU6.js";
58
+ import "./chunk-HJDF3ZVU.js";
59
+ import "./chunk-E6US47KI.js";
57
60
  import "./chunk-UWCTAVOD.js";
58
61
  import "./chunk-OFEVLU4C.js";
59
62
  import "./chunk-OMX7CUOE.js";
60
- import "./chunk-RD6YJJJ6.js";
61
- import "./chunk-SKQZZVAV.js";
62
- import "./chunk-BUUQ5HPX.js";
63
- import "./chunk-BX5YO7UW.js";
64
- import "./chunk-UO5GVXQE.js";
65
- import "./chunk-KMGMKW5Q.js";
63
+ import "./chunk-MOUXUCXQ.js";
64
+ import "./chunk-BZHLWC6T.js";
65
+ import "./chunk-UQFP2FEF.js";
66
+ import "./chunk-4VZH35PN.js";
67
+ import "./chunk-TENOUWY2.js";
68
+ import "./chunk-GLPV75ES.js";
66
69
  import "./chunk-22IFUCVR.js";
67
- import "./chunk-3227DZO4.js";
68
- import "./chunk-U3KSMM7G.js";
69
- import "./chunk-BKXBARJZ.js";
70
- import "./chunk-EJYJYJZ2.js";
70
+ import "./chunk-T42ACHFI.js";
71
+ import "./chunk-YTFBURQD.js";
72
+ import "./chunk-YPCPZSZB.js";
73
+ import "./chunk-IRJWHZWU.js";
74
+ import "./chunk-SYCJMSIJ.js";
71
75
  import "./chunk-55ZMG67I.js";
72
76
  import "./chunk-H6BD2ELD.js";
73
77
  import "./chunk-5IFG2VC4.js";
74
78
  import "./chunk-64WXLC72.js";
75
- import "./chunk-UX4SGCGN.js";
79
+ import "./chunk-D5KISTLW.js";
80
+ import "./chunk-AVQDCKNF.js";
76
81
  import "./chunk-ZERZSAZL.js";
77
82
  import "./chunk-QN5NZ3UQ.js";
78
83
  import "./chunk-BR4QREVK.js";
@@ -7,45 +7,50 @@ import {
7
7
  buildLongRunningForegroundHint,
8
8
  detectBlockedSleepPattern,
9
9
  parseNumstat
10
- } from "./chunk-YAINVQ3Q.js";
10
+ } from "./chunk-BFG6OZN7.js";
11
+ import "./chunk-5P5XGNYH.js";
11
12
  import "./chunk-K5PGHDBN.js";
12
13
  import "./chunk-SKAZWEV5.js";
13
- import "./chunk-XJYUPHRC.js";
14
- import "./chunk-QLDPRILK.js";
15
- import "./chunk-BVSVIN45.js";
16
- import "./chunk-SBBN4BWR.js";
17
- import "./chunk-S7AKE7HL.js";
14
+ import "./chunk-QOMAHFYI.js";
15
+ import "./chunk-G7OQ3RFJ.js";
16
+ import "./chunk-LKWAVAB5.js";
17
+ import "./chunk-MEQWZGK5.js";
18
+ import "./chunk-UANCYOOQ.js";
18
19
  import "./chunk-2MPVVENX.js";
19
20
  import "./chunk-ZTQ26VBE.js";
20
- import "./chunk-O2VBQ3Y2.js";
21
+ import "./chunk-SJBIFVD2.js";
21
22
  import "./chunk-MLZQVCF3.js";
23
+ import "./chunk-S5EQPDTM.js";
22
24
  import "./chunk-LQ7TMOCE.js";
23
- import "./chunk-LD2XBG6Z.js";
24
- import "./chunk-HYCC3XM3.js";
25
- import "./chunk-NL4C3H6C.js";
26
- import "./chunk-JOLIREYR.js";
27
- import "./chunk-DDMOU62Q.js";
28
- import "./chunk-QNKBEJO2.js";
29
- import "./chunk-3PJXIDKI.js";
25
+ import "./chunk-E5A7LHNN.js";
26
+ import "./chunk-GO6LNQXT.js";
27
+ import "./chunk-B236XPGF.js";
28
+ import "./chunk-YXK4GPYO.js";
29
+ import "./chunk-TOAUDIS7.js";
30
+ import "./chunk-NPQWQYU6.js";
31
+ import "./chunk-HJDF3ZVU.js";
32
+ import "./chunk-E6US47KI.js";
30
33
  import "./chunk-UWCTAVOD.js";
31
34
  import "./chunk-OFEVLU4C.js";
32
35
  import "./chunk-OMX7CUOE.js";
33
- import "./chunk-RD6YJJJ6.js";
34
- import "./chunk-SKQZZVAV.js";
35
- import "./chunk-BUUQ5HPX.js";
36
- import "./chunk-BX5YO7UW.js";
37
- import "./chunk-UO5GVXQE.js";
38
- import "./chunk-KMGMKW5Q.js";
36
+ import "./chunk-MOUXUCXQ.js";
37
+ import "./chunk-BZHLWC6T.js";
38
+ import "./chunk-UQFP2FEF.js";
39
+ import "./chunk-4VZH35PN.js";
40
+ import "./chunk-TENOUWY2.js";
41
+ import "./chunk-GLPV75ES.js";
39
42
  import "./chunk-22IFUCVR.js";
40
- import "./chunk-3227DZO4.js";
41
- import "./chunk-U3KSMM7G.js";
42
- import "./chunk-BKXBARJZ.js";
43
- import "./chunk-EJYJYJZ2.js";
43
+ import "./chunk-T42ACHFI.js";
44
+ import "./chunk-YTFBURQD.js";
45
+ import "./chunk-YPCPZSZB.js";
46
+ import "./chunk-IRJWHZWU.js";
47
+ import "./chunk-SYCJMSIJ.js";
44
48
  import "./chunk-55ZMG67I.js";
45
49
  import "./chunk-H6BD2ELD.js";
46
50
  import "./chunk-5IFG2VC4.js";
47
51
  import "./chunk-64WXLC72.js";
48
- import "./chunk-UX4SGCGN.js";
52
+ import "./chunk-D5KISTLW.js";
53
+ import "./chunk-AVQDCKNF.js";
49
54
  import "./chunk-ZERZSAZL.js";
50
55
  import "./chunk-QN5NZ3UQ.js";
51
56
  import "./chunk-BR4QREVK.js";
@@ -5,35 +5,36 @@ import {
5
5
  buildSkillLlmContent,
6
6
  collectAvailableSkillEntries,
7
7
  registerSkillHooks
8
- } from "./chunk-HYCC3XM3.js";
9
- import "./chunk-NL4C3H6C.js";
8
+ } from "./chunk-B236XPGF.js";
9
+ import "./chunk-YXK4GPYO.js";
10
10
  import {
11
11
  SkillLaunchEvent,
12
12
  logSkillLaunch,
13
13
  recordSkillInvocation
14
- } from "./chunk-QNKBEJO2.js";
15
- import "./chunk-3PJXIDKI.js";
14
+ } from "./chunk-HJDF3ZVU.js";
15
+ import "./chunk-E6US47KI.js";
16
16
  import "./chunk-UWCTAVOD.js";
17
17
  import "./chunk-OFEVLU4C.js";
18
18
  import "./chunk-OMX7CUOE.js";
19
- import "./chunk-RD6YJJJ6.js";
20
- import "./chunk-SKQZZVAV.js";
21
- import "./chunk-BUUQ5HPX.js";
19
+ import "./chunk-MOUXUCXQ.js";
20
+ import "./chunk-BZHLWC6T.js";
21
+ import "./chunk-UQFP2FEF.js";
22
22
  import {
23
23
  BaseDeclarativeTool,
24
24
  BaseToolInvocation,
25
25
  ToolDisplayNames,
26
26
  ToolNames
27
- } from "./chunk-BX5YO7UW.js";
28
- import "./chunk-3227DZO4.js";
29
- import "./chunk-BKXBARJZ.js";
30
- import "./chunk-EJYJYJZ2.js";
27
+ } from "./chunk-4VZH35PN.js";
28
+ import "./chunk-T42ACHFI.js";
29
+ import "./chunk-YPCPZSZB.js";
30
+ import "./chunk-IRJWHZWU.js";
31
+ import "./chunk-SYCJMSIJ.js";
31
32
  import "./chunk-55ZMG67I.js";
32
33
  import "./chunk-H6BD2ELD.js";
33
34
  import "./chunk-5IFG2VC4.js";
34
35
  import {
35
36
  createDebugLogger
36
- } from "./chunk-UX4SGCGN.js";
37
+ } from "./chunk-AVQDCKNF.js";
37
38
  import "./chunk-ZERZSAZL.js";
38
39
  import "./chunk-QN5NZ3UQ.js";
39
40
  import "./chunk-BR4QREVK.js";