@qwen-code/qwen-code 0.21.9 → 0.21.10

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 (218) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +1 -1
  2. package/bundled/qc-helper/docs/features/status-line.md +13 -13
  3. package/bundled/qc-helper/docs/integration-jetbrains.md +1 -0
  4. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +14 -10
  5. package/bundled/review/SKILL.md +2 -2
  6. package/chunks/{MaxSizedBox-6BZANW7X.js → MaxSizedBox-FKXYULMW.js} +5 -5
  7. package/chunks/{StandaloneSessionPicker-VDC5KE7T.js → StandaloneSessionPicker-OQS3M7AY.js} +19 -19
  8. package/chunks/{acp-startup-profiler-B5BYAMYQ.js → acp-startup-profiler-VNTFWYAC.js} +2 -2
  9. package/chunks/{acpAgent-F2NSBCUF.js → acpAgent-AGS6HLQQ.js} +95 -43
  10. package/chunks/{agent-VOHJOEBB.js → agent-4NCVO27U.js} +5 -5
  11. package/chunks/{agent-headless-J5NFOPHP.js → agent-headless-HYEHZFH6.js} +5 -5
  12. package/chunks/{anthropicContentGenerator-SSFE2753.js → anthropicContentGenerator-D3Y4RFT4.js} +1 -1
  13. package/chunks/{bridge-NQIZZLAS.js → bridge-FHINXZMN.js} +8 -8
  14. package/chunks/{channel-settings-store-VIY2OENO.js → channel-settings-store-OXYG5S5X.js} +11 -11
  15. package/chunks/{channel-worker-group-MSHT6CWR.js → channel-worker-group-WQP4RCDO.js} +3 -3
  16. package/chunks/{channel-worker-manager-XXD3GDSK.js → channel-worker-manager-MRDFAKIM.js} +3 -3
  17. package/chunks/{chunk-7AEPJGL4.js → chunk-26CXSA6V.js} +1 -1
  18. package/chunks/{chunk-KTQGGPGV.js → chunk-2PLNY5TN.js} +4 -4
  19. package/chunks/{chunk-G2TX5ZXC.js → chunk-47PEPJO7.js} +3 -3
  20. package/chunks/{chunk-3XVDTHBJ.js → chunk-4MKXUHXY.js} +2 -2
  21. package/chunks/{chunk-D7BXVKSF.js → chunk-4WL6SY4F.js} +1 -1
  22. package/chunks/{chunk-P3RBMQ4P.js → chunk-5MZCSWI4.js} +4 -4
  23. package/chunks/{chunk-LP2QGNSP.js → chunk-624NHDGB.js} +3 -1
  24. package/chunks/{chunk-FBMCDU63.js → chunk-6LP743KE.js} +4 -4
  25. package/chunks/{chunk-II6G3EY6.js → chunk-7GTMV7UE.js} +339 -213
  26. package/chunks/{chunk-4XQNB3KN.js → chunk-A7XMDZRI.js} +2 -2
  27. package/chunks/{chunk-PNBBJOCP.js → chunk-AAE6SR4Q.js} +1 -1
  28. package/chunks/{chunk-JUWS2Z5K.js → chunk-ABVRJU3D.js} +5 -5
  29. package/chunks/{chunk-IOEZE2YT.js → chunk-AEL7KN2O.js} +1 -1
  30. package/chunks/{chunk-OGDIJKHK.js → chunk-AQAJJMRR.js} +1 -1
  31. package/chunks/{chunk-AKJQSWV4.js → chunk-BSI645OU.js} +2 -2
  32. package/chunks/{chunk-FCLHHEUK.js → chunk-D27I6YJT.js} +11 -11
  33. package/chunks/{chunk-P2FK2HBV.js → chunk-DCZEPFB4.js} +2 -2
  34. package/chunks/{chunk-GAKGOXTC.js → chunk-EBZ6BJTF.js} +1 -1
  35. package/chunks/{chunk-KSAFZ5TA.js → chunk-ECWR5LQR.js} +1 -1
  36. package/chunks/{chunk-XX7QFP34.js → chunk-EI3NWELG.js} +116 -62
  37. package/chunks/{chunk-P4ZEZSJZ.js → chunk-F24A2JBM.js} +260 -65
  38. package/chunks/{chunk-DH5YXSIF.js → chunk-F6WDTQ3M.js} +2 -2
  39. package/chunks/{chunk-ZOSTTOUJ.js → chunk-GWVUR3QZ.js} +1 -1
  40. package/chunks/{chunk-BZP4QPNK.js → chunk-IBUGFUXC.js} +9 -9
  41. package/chunks/{chunk-SCAZZ3Q4.js → chunk-IRZ2ZH72.js} +4 -4
  42. package/chunks/{chunk-OGNFHGIG.js → chunk-IWTMYQ32.js} +4 -4
  43. package/chunks/{chunk-CG3WBKJK.js → chunk-JT7XS4YW.js} +1 -1
  44. package/chunks/{chunk-MTCYGTWH.js → chunk-KID7K6H2.js} +4 -4
  45. package/chunks/{chunk-DGEIYUC3.js → chunk-KM73TBQ4.js} +7 -1
  46. package/chunks/{chunk-TZ6KJ44L.js → chunk-KONVMRK7.js} +1 -1
  47. package/chunks/{scheduler-YNQNOU2E.js → chunk-KZ22NXBY.js} +238 -110
  48. package/chunks/{chunk-RBHQXGDK.js → chunk-LLCWZQCU.js} +1 -1
  49. package/chunks/{chunk-UJUM2SRN.js → chunk-MIKXJYZB.js} +27 -26
  50. package/chunks/{chunk-THIKWITR.js → chunk-NDU63YLI.js} +2 -2
  51. package/chunks/{chunk-ATMO54WE.js → chunk-NEOXOWYH.js} +2 -2
  52. package/chunks/{chunk-QSNSL4R4.js → chunk-NRLFZWCT.js} +1 -1
  53. package/chunks/{chunk-TQCYNLNJ.js → chunk-NV65ZUVM.js} +1 -1
  54. package/chunks/{chunk-HZGBKOX3.js → chunk-O3EU6GMH.js} +2 -2
  55. package/chunks/{chunk-46YJDYCU.js → chunk-OCSFNUU4.js} +7 -7
  56. package/chunks/{chunk-T5RLUXWJ.js → chunk-OJUQF2PL.js} +2 -2
  57. package/chunks/{chunk-ZTQSOV56.js → chunk-OONWZLFK.js} +3 -3
  58. package/chunks/{chunk-23VQTELM.js → chunk-P3BJLFSZ.js} +1 -1
  59. package/chunks/{chunk-BIRWP6LU.js → chunk-Q3AL4JQ3.js} +1 -1
  60. package/chunks/{chunk-CMOBWHWW.js → chunk-QBJYSIQ4.js} +1 -1
  61. package/chunks/{chunk-XTY5DN4Y.js → chunk-QG3FFJYU.js} +1 -1
  62. package/chunks/{chunk-W3FSZSF2.js → chunk-QGNOFE5E.js} +1 -1
  63. package/chunks/{chunk-3WDYBTTI.js → chunk-QJMOAMXT.js} +4 -4
  64. package/chunks/{chunk-67N6HB5H.js → chunk-QUI267ZP.js} +1 -0
  65. package/chunks/{chunk-K4ADGWHU.js → chunk-TRRF5BSP.js} +1 -1
  66. package/chunks/{chunk-7GOYZQPR.js → chunk-UBX6NL47.js} +3 -3
  67. package/chunks/{chunk-WP5VOXF7.js → chunk-UEOKWYGY.js} +1 -1
  68. package/chunks/{chunk-HADWBW5R.js → chunk-UMD7WQTR.js} +4 -4
  69. package/chunks/{chunk-RVSTTOJ4.js → chunk-URKIBIFC.js} +2 -2
  70. package/chunks/{chunk-7S4JBJLU.js → chunk-VSFKIRRW.js} +3 -3
  71. package/chunks/{chunk-ZBXGWQ4S.js → chunk-VWKER4ZH.js} +2 -2
  72. package/chunks/{chunk-M2PNLYGY.js → chunk-W5UC37EE.js} +2 -0
  73. package/chunks/{chunk-BT6GQIEJ.js → chunk-X2UOOG5V.js} +1 -1
  74. package/chunks/{chunk-WGK4TSB7.js → chunk-XVHYA33G.js} +3 -3
  75. package/chunks/{chunk-BAMN6XSD.js → chunk-Y3OVRWRY.js} +1 -1
  76. package/chunks/{chunk-PVOGHGSF.js → chunk-Y4R47ZUH.js} +6 -6
  77. package/chunks/{chunk-LZZLUCRS.js → chunk-YF5MALI4.js} +3 -3
  78. package/chunks/{chunk-5RBDAGC6.js → chunk-YWPSGJFI.js} +2 -2
  79. package/chunks/{chunk-MHP476D3.js → chunk-Z4JX4NSH.js} +52 -39
  80. package/chunks/{chunk-T6HEQR2Q.js → chunk-ZJ4W6SUY.js} +1 -1
  81. package/chunks/{chunk-UYAUA63Q.js → chunk-ZRBMO3C7.js} +1 -1
  82. package/chunks/{chunk-KTKYGS2P.js → chunk-ZZCWJWTF.js} +8 -1
  83. package/chunks/{computer-use-PMZ7ICGY.js → computer-use-WQFK33Z3.js} +5 -5
  84. package/chunks/{contextCommand-GEZU7YHE.js → contextCommand-7EOZND7C.js} +7 -7
  85. package/chunks/{core-runtime-HRJI2MN6.js → core-runtime-FGMQRM6E.js} +5 -5
  86. package/chunks/{create-sub-session-VBNVI4YU.js → create-sub-session-QM2K5HLZ.js} +6 -6
  87. package/chunks/{daemon-POSQPD3G.js → daemon-GWD7BT6E.js} +46 -5
  88. package/chunks/{daemon-status-provider-N4CRQKFI.js → daemon-status-provider-L3J6GKCT.js} +12 -12
  89. package/chunks/{daemon-trust-policy-BHO3JUHM.js → daemon-trust-policy-4PHPY23S.js} +11 -11
  90. package/chunks/{daemon-trust-policy-monitor-YEKJ2726.js → daemon-trust-policy-monitor-6UKEABN5.js} +11 -11
  91. package/chunks/{deferred-core-runtime-SH57E3J3.js → deferred-core-runtime-67GJXHXS.js} +5 -5
  92. package/chunks/{earlyInputCapture-B2JJ2HME.js → earlyInputCapture-IWMYR6OB.js} +5 -5
  93. package/chunks/{edit-7FTXENAN.js → edit-ZFGROCAF.js} +5 -5
  94. package/chunks/{enter-worktree-JPHV2PBG.js → enter-worktree-TZZZCDM5.js} +5 -5
  95. package/chunks/{enterPlanMode-CGBJ3AHJ.js → enterPlanMode-U77BI3R6.js} +5 -5
  96. package/chunks/{environment-LXASZAHD.js → environment-HC37DS2I.js} +7 -7
  97. package/chunks/{errors-XIGVT2AD.js → errors-6AG54JPD.js} +7 -7
  98. package/chunks/{exit-worktree-DKSGXW65.js → exit-worktree-UYYWFPNK.js} +5 -5
  99. package/chunks/{exitPlanMode-THFL2HYN.js → exitPlanMode-RWJR2KGB.js} +5 -5
  100. package/chunks/{fast-path-4NXAT5UL.js → fast-path-F5FSZ3O7.js} +2 -2
  101. package/chunks/{gemini-B3N6FACU.js → gemini-NKQHYM36.js} +76 -52
  102. package/chunks/{geminiContentGenerator-YYFE2HIE.js → geminiContentGenerator-HCWZOUX3.js} +1 -1
  103. package/chunks/{glob-BPHSCFJP.js → glob-3PDXKBAO.js} +5 -5
  104. package/chunks/{goal-tools-PXWN5VK3.js → goal-tools-SWNB6GP4.js} +1 -1
  105. package/chunks/{grep-ROZIRFLU.js → grep-5HZKZYVD.js} +5 -5
  106. package/chunks/{handleAutoUpdate-WV6SPZQB.js → handleAutoUpdate-NHFSGYTF.js} +9 -9
  107. package/chunks/{i18n-YWJWPQKD.js → i18n-Q27KKNDL.js} +6 -6
  108. package/chunks/{image-gen-SISRZ6FS.js → image-gen-2Z2RJ6W7.js} +1 -1
  109. package/chunks/{initializer-66OAD6GO.js → initializer-Y5DJLT43.js} +11 -11
  110. package/chunks/{installationInfo-3YUGIP36.js → installationInfo-XXB75T7O.js} +6 -6
  111. package/chunks/{list-VEYR66XB.js → list-YHNQ32CS.js} +14 -14
  112. package/chunks/{loadedSettingsAdapter-V2JCPCYD.js → loadedSettingsAdapter-GHUQK7H4.js} +11 -11
  113. package/chunks/{loggingContentGenerator-RBLNDREC.js → loggingContentGenerator-6NTFBM7Q.js} +1 -1
  114. package/chunks/{managed-npm-update-C5ID5R4R.js → managed-npm-update-SPHYQUWZ.js} +6 -6
  115. package/chunks/{mcp-OZ54NZJQ.js → mcp-EA3KO6FS.js} +11 -11
  116. package/chunks/{monitor-7Y4TVFTK.js → monitor-ZBBPAA54.js} +5 -5
  117. package/chunks/{nonInteractiveCli-QEK4LHAC.js → nonInteractiveCli-NNOR56HU.js} +35 -35
  118. package/chunks/{notebook-edit-OG35EBGY.js → notebook-edit-5W3FW7Z2.js} +5 -5
  119. package/chunks/{openaiContentGenerator-443BNRPJ.js → openaiContentGenerator-TQANPEVZ.js} +1 -1
  120. package/chunks/{pidfile-ZK4OLRZA.js → pidfile-EQOBLH4E.js} +5 -5
  121. package/chunks/{processUtils-4YGB4RUZ.js → processUtils-7XQG7EHS.js} +2 -2
  122. package/chunks/{qwenContentGenerator-D5C2LCSZ.js → qwenContentGenerator-BKCPHHXU.js} +5 -5
  123. package/chunks/{qwenOAuth2-Z4YQBMYN.js → qwenOAuth2-BJ6PQKE6.js} +1 -1
  124. package/chunks/{read-file-EXTJLWMU.js → read-file-KKTXGIZD.js} +1 -1
  125. package/chunks/{resumeHistoryUtils-UPCGRJUL.js → resumeHistoryUtils-6N6XGJJW.js} +8 -8
  126. package/chunks/{ripGrep-QBVIRCU4.js → ripGrep-SJVAAYDV.js} +5 -5
  127. package/chunks/{run-qwen-serve-ZYGJNE3E.js → run-qwen-serve-BCKBCAMX.js} +34 -34
  128. package/chunks/{runtime-BZZ4LWCP.js → runtime-E2437YKL.js} +12 -12
  129. package/chunks/scheduler-K3D5Z655.js +108 -0
  130. package/chunks/{serve-LJHAXDCH.js → serve-IH4XR5IL.js} +11 -11
  131. package/chunks/{server-ADMLELR6.js → server-UD6INW7J.js} +616 -245
  132. package/chunks/{session-YKZXFFTM.js → session-GR4ZEVW4.js} +43 -44
  133. package/chunks/{settings-EQBUAQ7Y.js → settings-5O24D3OJ.js} +10 -10
  134. package/chunks/{shell-3QZOJGTT.js → shell-UTLWLG5G.js} +5 -5
  135. package/chunks/{skill-UWSSMXE7.js → skill-QQAZL4VO.js} +1 -1
  136. package/chunks/{skill-settings-T6MLB7NU.js → skill-settings-P3YHJVBZ.js} +10 -10
  137. package/chunks/{spawnChannel-VS7ZFUFP.js → spawnChannel-UAQMH6Y6.js} +5 -5
  138. package/chunks/{standalone-update-2W26SRRO.js → standalone-update-QP742MGP.js} +7 -7
  139. package/chunks/{startInteractiveUI-CVS7K3D6.js → startInteractiveUI-YCS6AEPN.js} +1209 -926
  140. package/chunks/{team-create-4WFTNNUL.js → team-create-WFH7OCDQ.js} +5 -5
  141. package/chunks/{team-plan-approval-DBYI33S3.js → team-plan-approval-EGTT53MV.js} +5 -5
  142. package/chunks/{terminal-image-renderer-S5WPPQKH.js → terminal-image-renderer-BWRESAQ7.js} +5 -5
  143. package/chunks/{theme-manager-LI2RIOVR.js → theme-manager-ZNDGAHJN.js} +5 -5
  144. package/chunks/{tool-search-4773EUQ4.js → tool-search-TI5PTIBF.js} +1 -1
  145. package/chunks/{total-session-admission-PAY5CH2Z.js → total-session-admission-66UDSOHO.js} +9 -9
  146. package/chunks/{trustedFolders-FRSLE674.js → trustedFolders-4KYHA4IG.js} +6 -6
  147. package/chunks/{update-relaunch-ZSFQTU6M.js → update-relaunch-WB6LGIF2.js} +5 -5
  148. package/chunks/{updateCheck-AXWSO7KA.js → updateCheck-LOS5GYFC.js} +8 -8
  149. package/chunks/{useAutoAcceptIndicator-VHLXIA7U.js → useAutoAcceptIndicator-MHAPY52L.js} +11 -11
  150. package/chunks/{validateNonInterActiveAuth-PDJECMFU.js → validateNonInterActiveAuth-QV22HNQU.js} +32 -32
  151. package/chunks/{version-RBN764QS.js → version-DALWZHKQ.js} +1 -1
  152. package/chunks/{web-fetch-7BJK42AF.js → web-fetch-JMJVMYFE.js} +1 -1
  153. package/chunks/{web-search-L2CILQXV.js → web-search-DNDUIPU5.js} +2 -2
  154. package/chunks/{workflow-5VH2R74I.js → workflow-JGNN64PM.js} +6 -6
  155. package/chunks/{workspace-providers-status-OZTQ6JFH.js → workspace-providers-status-K22B3Z6B.js} +13 -13
  156. package/chunks/{workspace-registration-store-IX5RJQS5.js → workspace-registration-store-LRJG7QA4.js} +1 -1
  157. package/chunks/{workspace-registry-73N4BGG4.js → workspace-registry-KVXIFM36.js} +9 -9
  158. package/chunks/{workspace-service-I5RUPSNV.js → workspace-service-PO4AAKKT.js} +15 -15
  159. package/chunks/{workspace-skills-status-DMK6VYDO.js → workspace-skills-status-DDYCBVSH.js} +11 -11
  160. package/chunks/{workspace-trust-reconciler-QX4RL3TC.js → workspace-trust-reconciler-DOZPCVHG.js} +15 -15
  161. package/chunks/{write-file-UGDD5UTS.js → write-file-TT6MWIKC.js} +5 -5
  162. package/chunks/{zoom-image-ZAHEO3YP.js → zoom-image-CNC77ZMA.js} +1 -1
  163. package/cli.js +13 -13
  164. package/package.json +3 -3
  165. package/web-shell/assets/{arc-CHY4saMJ.js → arc-CDk0d60K.js} +1 -1
  166. package/web-shell/assets/{architectureDiagram-3BPJPVTR-Bu6CwvHj.js → architectureDiagram-3BPJPVTR-h-W3I2lP.js} +1 -1
  167. package/web-shell/assets/{blockDiagram-GPEHLZMM-XGt6iGf_.js → blockDiagram-GPEHLZMM-D1pvSmZg.js} +1 -1
  168. package/web-shell/assets/{c4Diagram-AAUBKEIU-CBbYl19W.js → c4Diagram-AAUBKEIU-ByAm5ZNf.js} +1 -1
  169. package/web-shell/assets/channel-DPFUV4oi.js +1 -0
  170. package/web-shell/assets/{chunk-2J33WTMH-BEhmVrdx.js → chunk-2J33WTMH-VrGPPOGV.js} +1 -1
  171. package/web-shell/assets/{chunk-4BX2VUAB-fQLyE0Bg.js → chunk-4BX2VUAB-B7hTowgG.js} +1 -1
  172. package/web-shell/assets/{chunk-55IACEB6-yGdtyx4a.js → chunk-55IACEB6-j1Fq8DpE.js} +1 -1
  173. package/web-shell/assets/{chunk-727SXJPM-DYbX2GLo.js → chunk-727SXJPM-UjABYpF2.js} +1 -1
  174. package/web-shell/assets/{chunk-AQP2D5EJ-DyKTEsYn.js → chunk-AQP2D5EJ-D4uBItrs.js} +1 -1
  175. package/web-shell/assets/{chunk-FMBD7UC4-D8Uy_GzX.js → chunk-FMBD7UC4-DeFbKlb8.js} +1 -1
  176. package/web-shell/assets/{chunk-ND2GUHAM-C8wNR2K7.js → chunk-ND2GUHAM-rQJ8TIgT.js} +1 -1
  177. package/web-shell/assets/{chunk-QZHKN3VN-BnybNxnt.js → chunk-QZHKN3VN-DAGcRxvq.js} +1 -1
  178. package/web-shell/assets/classDiagram-4FO5ZUOK-CLm0hVvw.js +1 -0
  179. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CLm0hVvw.js +1 -0
  180. package/web-shell/assets/{cose-bilkent-S5V4N54A-jq4uiFRp.js → cose-bilkent-S5V4N54A-MaE7MJSt.js} +1 -1
  181. package/web-shell/assets/{dagre-BM42HDAG-Bs7oye1U.js → dagre-BM42HDAG-DzijYGSb.js} +1 -1
  182. package/web-shell/assets/{diagram-2AECGRRQ-BHGGJNyM.js → diagram-2AECGRRQ-WdbG7WnX.js} +1 -1
  183. package/web-shell/assets/{diagram-5GNKFQAL-BJezVLGT.js → diagram-5GNKFQAL-NYutsBnw.js} +1 -1
  184. package/web-shell/assets/{diagram-KO2AKTUF-5JzQN_rL.js → diagram-KO2AKTUF-Dqg0eBY0.js} +1 -1
  185. package/web-shell/assets/{diagram-LMA3HP47-BlPYOgY9.js → diagram-LMA3HP47-C7vRP2Lb.js} +1 -1
  186. package/web-shell/assets/{diagram-OG6HWLK6-CtMHEaFK.js → diagram-OG6HWLK6-B2sEPpPt.js} +1 -1
  187. package/web-shell/assets/{erDiagram-TEJ5UH35-CRNdq2AB.js → erDiagram-TEJ5UH35-a4zIbzm8.js} +1 -1
  188. package/web-shell/assets/{flowDiagram-I6XJVG4X-De1WwLzu.js → flowDiagram-I6XJVG4X-BK9y89ya.js} +1 -1
  189. package/web-shell/assets/{ganttDiagram-6RSMTGT7-YbWfL5Zn.js → ganttDiagram-6RSMTGT7-wUQTSNvV.js} +1 -1
  190. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DzCN8bmd.js → gitGraphDiagram-PVQCEYII-Dnzt4SAi.js} +1 -1
  191. package/web-shell/assets/{index-CocPvF9Q.js → index-BA3wUcKL.js} +1 -1
  192. package/web-shell/assets/{index-BDOGGGaN.css → index-BjC3yjjL.css} +2 -2
  193. package/web-shell/assets/index-QzFq6w7o.js +1775 -0
  194. package/web-shell/assets/{infoDiagram-5YYISTIA-DLHoopnE.js → infoDiagram-5YYISTIA-DcaoToij.js} +1 -1
  195. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-XnbU04SS.js → ishikawaDiagram-YF4QCWOH-DzduqhP2.js} +1 -1
  196. package/web-shell/assets/{journeyDiagram-JHISSGLW-CipPyEeJ.js → journeyDiagram-JHISSGLW-BvviZR_O.js} +1 -1
  197. package/web-shell/assets/{kanban-definition-UN3LZRKU-DrSeyE5d.js → kanban-definition-UN3LZRKU-Efm2JxY3.js} +1 -1
  198. package/web-shell/assets/{linear-LrBKnAo_.js → linear-DtY3IbOs.js} +1 -1
  199. package/web-shell/assets/{mermaid.core-C3U9UVmf.js → mermaid.core-PzpFqoMe.js} +5 -5
  200. package/web-shell/assets/{mindmap-definition-RKZ34NQL-DqRWgC9H.js → mindmap-definition-RKZ34NQL-BLlTkHS0.js} +1 -1
  201. package/web-shell/assets/{pieDiagram-4H26LBE5-BNXY5p6H.js → pieDiagram-4H26LBE5-D-mKF-jE.js} +1 -1
  202. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-Ccj9QzE4.js → quadrantDiagram-W4KKPZXB-DYCzslGm.js} +1 -1
  203. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CjPM2_gx.js → requirementDiagram-4Y6WPE33-Dfpxlk7R.js} +1 -1
  204. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-C0RsvKbj.js → sankeyDiagram-5OEKKPKP-D5cRaaxh.js} +1 -1
  205. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-ClN1P5z7.js → sequenceDiagram-3UESZ5HK-s04DReiS.js} +1 -1
  206. package/web-shell/assets/{stateDiagram-AJRCARHV-By0eiB2Y.js → stateDiagram-AJRCARHV-01UNFgnb.js} +1 -1
  207. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DXb5olqv.js +1 -0
  208. package/web-shell/assets/{timeline-definition-PNZ67QCA-g_iaSQgv.js → timeline-definition-PNZ67QCA-DX8_wZBC.js} +1 -1
  209. package/web-shell/assets/{vennDiagram-CIIHVFJN-y9ZqJ-TD.js → vennDiagram-CIIHVFJN-BK0FlBme.js} +1 -1
  210. package/web-shell/assets/{wardley-L42UT6IY-BVVfaxpF.js → wardley-L42UT6IY-DkPc9UlD.js} +1 -1
  211. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-D3ooZKZT.js → wardleyDiagram-YWT4CUSO-DNKkpDAo.js} +1 -1
  212. package/web-shell/assets/{xychartDiagram-2RQKCTM6-6GXrY6M1.js → xychartDiagram-2RQKCTM6-CiPwg8QG.js} +1 -1
  213. package/web-shell/index.html +2 -2
  214. package/web-shell/assets/channel-B40srHOa.js +0 -1
  215. package/web-shell/assets/classDiagram-4FO5ZUOK-qumcXQW_.js +0 -1
  216. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-qumcXQW_.js +0 -1
  217. package/web-shell/assets/index-DSH2KrMc.js +0 -1771
  218. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Ds0WlK3F.js +0 -1
@@ -2,13 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  loadSettings
5
- } from "./chunk-JUWS2Z5K.js";
5
+ } from "./chunk-ABVRJU3D.js";
6
6
  import {
7
7
  getCurrentLanguage
8
- } from "./chunk-WP5VOXF7.js";
8
+ } from "./chunk-UEOKWYGY.js";
9
9
  import {
10
10
  isWorkspaceTrusted
11
- } from "./chunk-ZOSTTOUJ.js";
11
+ } from "./chunk-GWVUR3QZ.js";
12
12
  import {
13
13
  require_strip_json_comments
14
14
  } from "./chunk-NPQ5ZKRP.js";
@@ -23,7 +23,7 @@ import {
23
23
  isGatedMcpScope,
24
24
  normalizeClaudeMcpServer,
25
25
  runWithTimeout
26
- } from "./chunk-XX7QFP34.js";
26
+ } from "./chunk-EI3NWELG.js";
27
27
  import {
28
28
  atomicWriteFile
29
29
  } from "./chunk-FOGU3LJX.js";
@@ -64,11 +64,17 @@ function clampReasoningEffort(requested, supported) {
64
64
  return ranked[ranked.length - 1];
65
65
  }
66
66
  __name(clampReasoningEffort, "clampReasoningEffort");
67
+ function applyReasoningEffort(config, effort) {
68
+ config.setReasoningEffort(effort);
69
+ return config.getReasoningEffort() === effort;
70
+ }
71
+ __name(applyReasoningEffort, "applyReasoningEffort");
67
72
 
68
73
  export {
69
74
  REASONING_EFFORT_TIERS,
70
75
  normalizeReasoningEffort,
71
- clampReasoningEffort
76
+ clampReasoningEffort,
77
+ applyReasoningEffort
72
78
  };
73
79
  /**
74
80
  * @license
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  runExitCleanup
5
- } from "./chunk-PNBBJOCP.js";
5
+ } from "./chunk-AAE6SR4Q.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -5,89 +5,18 @@ import {
5
5
  } from "./chunk-KW7NOTN6.js";
6
6
  import {
7
7
  DEFAULT_OPENAI_LOG_RETENTION_DAYS
8
- } from "./chunk-7GOYZQPR.js";
9
- import "./chunk-5EJZE3FP.js";
8
+ } from "./chunk-UBX6NL47.js";
10
9
  import {
11
10
  FILE_HISTORY_DIR,
12
11
  getSubagentsRootDir
13
- } from "./chunk-XX7QFP34.js";
14
- import "./chunk-GOFAQQZA.js";
15
- import "./chunk-5M6IDOMF.js";
16
- import "./chunk-TWPJO254.js";
17
- import "./chunk-H6XPXXMH.js";
18
- import "./chunk-2UUMVNYT.js";
19
- import "./chunk-MVUQRLOH.js";
20
- import "./chunk-XCWO3SMQ.js";
21
- import "./chunk-7MH4J33A.js";
22
- import "./chunk-6PVPNMXU.js";
23
- import "./chunk-K4ADGWHU.js";
24
- import "./chunk-IRH27ZC2.js";
25
- import "./chunk-QHWCP53L.js";
26
- import "./chunk-GNPNYXJB.js";
27
- import "./chunk-HUWENAHO.js";
28
- import "./chunk-O6GEWCJA.js";
29
- import "./chunk-T26EAKDL.js";
30
- import "./chunk-ZPJWUGCS.js";
31
- import "./chunk-CPBF7KYF.js";
32
- import "./chunk-J6SZID63.js";
33
- import "./chunk-KRXPRVGL.js";
34
- import "./chunk-GM463R2B.js";
35
- import "./chunk-SEZ556DZ.js";
36
- import "./chunk-2FRY5CRX.js";
37
- import "./chunk-67N6HB5H.js";
38
- import "./chunk-WAUGQKUU.js";
12
+ } from "./chunk-EI3NWELG.js";
39
13
  import {
40
14
  resolveOpenAILogDir
41
15
  } from "./chunk-DZUO626D.js";
42
- import "./chunk-4TRQPFDP.js";
43
- import "./chunk-SAH4BD2J.js";
44
- import "./chunk-CPG6P4GG.js";
45
- import "./chunk-S6LOFUVP.js";
46
- import "./chunk-2J3OJGTL.js";
47
- import "./chunk-IA7TGCN2.js";
48
- import "./chunk-K623ENWT.js";
49
- import "./chunk-AQ37AY7B.js";
50
- import "./chunk-EQL65XGA.js";
51
- import "./chunk-3P2LV43B.js";
52
- import "./chunk-NAVJD2PQ.js";
53
- import "./chunk-HV76SFIA.js";
54
- import "./chunk-4PYCZH2V.js";
55
- import "./chunk-P3QQPMQA.js";
56
- import "./chunk-SR7RZ4MS.js";
57
- import "./chunk-M6HMMKVG.js";
58
- import "./chunk-DGEIYUC3.js";
59
- import "./chunk-MPHPFVKK.js";
60
- import "./chunk-AXMWHKXA.js";
61
- import "./chunk-GLCZKT5V.js";
62
- import "./chunk-DJ2GSRLV.js";
63
- import "./chunk-EI3HZX6C.js";
64
- import "./chunk-YGT2AUJ7.js";
65
- import "./chunk-WOJZWRAZ.js";
66
- import "./chunk-VGC4I5JJ.js";
67
- import "./chunk-FVKHVJZQ.js";
68
- import "./chunk-COBO5EBO.js";
69
- import "./chunk-6ZRFAKXK.js";
70
- import "./chunk-PYQADEFD.js";
71
- import "./chunk-PVOGHGSF.js";
72
- import "./chunk-F6WFNA7U.js";
73
- import "./chunk-46UV252V.js";
74
- import "./chunk-ZBVS26BY.js";
75
- import "./chunk-KKBPOU75.js";
76
- import "./chunk-EUNWC2VS.js";
77
- import "./chunk-FOGU3LJX.js";
78
- import "./chunk-L2AFWWJE.js";
79
- import "./chunk-W4RQUHY3.js";
80
- import "./chunk-PDPFQ2FO.js";
81
16
  import {
82
17
  Storage,
83
18
  createDebugLogger
84
19
  } from "./chunk-OIVKILPI.js";
85
- import "./chunk-VOQXFAY5.js";
86
- import "./chunk-75DOP5OR.js";
87
- import "./chunk-DMTGGOSA.js";
88
- import "./chunk-YQ3U5MUC.js";
89
- import "./chunk-AMDSOFFV.js";
90
- import "./chunk-QUGAUQGJ.js";
91
20
  import {
92
21
  init_esbuild_shims
93
22
  } from "./chunk-5O2XNYP6.js";
@@ -167,7 +96,15 @@ async function cleanupOldSubagentTranscripts(opts) {
167
96
  __name(cleanupOldSubagentTranscripts, "cleanupOldSubagentTranscripts");
168
97
  var OPENAI_LOG_FILE_PATTERN = /^openai-(\d{4}-\d{2}-\d{2})T\d{2}-\d{2}-\d{2}\.\d{3}Z-[a-f0-9]{8}(?:-[a-zA-Z0-9._](?:[a-zA-Z0-9._-]*[a-zA-Z0-9._])?)?\.json$/;
169
98
  async function cleanupOldOpenAILogs(opts) {
170
- const result = { removed: 0, errors: 0 };
99
+ const result = {
100
+ removed: 0,
101
+ errors: 0,
102
+ completed: true
103
+ };
104
+ if (opts.signal?.aborted) {
105
+ result.completed = false;
106
+ return result;
107
+ }
171
108
  let dir;
172
109
  try {
173
110
  dir = await opendir(opts.logDir);
@@ -179,6 +116,10 @@ async function cleanupOldOpenAILogs(opts) {
179
116
  const cutoffDay = opts.cutoffDate.toISOString().slice(0, 10);
180
117
  let batch = [];
181
118
  for await (const entry of dir) {
119
+ if (opts.signal?.aborted) {
120
+ result.completed = false;
121
+ break;
122
+ }
182
123
  const filenameDate = entry.isFile() ? OPENAI_LOG_FILE_PATTERN.exec(entry.name)?.[1] : void 0;
183
124
  if (!filenameDate) continue;
184
125
  const filePath = join(opts.logDir, entry.name);
@@ -231,8 +172,13 @@ async function runThrottledOnce(opts, task) {
231
172
  () => {
232
173
  }
233
174
  );
234
- if (await markerIsFresh(opts.markerPath, minIntervalMs, opts.name)) {
235
- return false;
175
+ const firstFreshForMs = await markerFreshForMs(
176
+ opts.markerPath,
177
+ minIntervalMs,
178
+ opts.name
179
+ );
180
+ if (firstFreshForMs !== void 0) {
181
+ return { status: "fresh", retryAfterMs: firstFreshForMs };
236
182
  }
237
183
  let acquired = await tryAcquire(opts.lockPath);
238
184
  if (!acquired) {
@@ -248,17 +194,21 @@ async function runThrottledOnce(opts, task) {
248
194
  }
249
195
  if (!acquired) {
250
196
  debugLogger2.debug(`${opts.name}: skipping, lock held`);
251
- return false;
197
+ return { status: "locked" };
252
198
  }
253
199
  }
254
200
  try {
255
- if (await markerIsFresh(opts.markerPath, minIntervalMs, opts.name)) {
256
- return false;
201
+ const secondFreshForMs = await markerFreshForMs(
202
+ opts.markerPath,
203
+ minIntervalMs,
204
+ opts.name
205
+ );
206
+ if (secondFreshForMs !== void 0) {
207
+ return { status: "fresh", retryAfterMs: secondFreshForMs };
257
208
  }
258
209
  let taskCompleted = false;
259
210
  try {
260
- await task();
261
- taskCompleted = true;
211
+ taskCompleted = await task() !== false;
262
212
  } finally {
263
213
  if (taskCompleted) {
264
214
  try {
@@ -271,7 +221,7 @@ async function runThrottledOnce(opts, task) {
271
221
  }
272
222
  }
273
223
  }
274
- return taskCompleted;
224
+ return { status: taskCompleted ? "completed" : "incomplete" };
275
225
  } finally {
276
226
  await unlink2(opts.lockPath).catch(() => {
277
227
  debugLogger2.debug(`${opts.name}: lock unlink failed (harmless)`);
@@ -279,19 +229,19 @@ async function runThrottledOnce(opts, task) {
279
229
  }
280
230
  }
281
231
  __name(runThrottledOnce, "runThrottledOnce");
282
- async function markerIsFresh(markerPath, minIntervalMs, name) {
232
+ async function markerFreshForMs(markerPath, minIntervalMs, name) {
283
233
  try {
284
234
  const s = await stat2(markerPath);
285
235
  const age = Date.now() - s.mtimeMs;
286
236
  if (age < minIntervalMs) {
287
237
  debugLogger2.debug(`${name}: skipping, ran ${age}ms ago`);
288
- return true;
238
+ return minIntervalMs - age;
289
239
  }
290
240
  } catch {
291
241
  }
292
- return false;
242
+ return void 0;
293
243
  }
294
- __name(markerIsFresh, "markerIsFresh");
244
+ __name(markerFreshForMs, "markerFreshForMs");
295
245
  async function tryAcquire(lockPath) {
296
246
  try {
297
247
  const fh = await open(lockPath, "wx");
@@ -313,10 +263,20 @@ var RECURRING_INTERVAL_MS = 24 * 60 * 60 * 1e3;
313
263
  var RECENT_INTERACTION_MS = 60 * 1e3;
314
264
  var CATCHUP_THRESHOLD_MS = 7 * 24 * 60 * 60 * 1e3;
315
265
  var STARTUP_DELAY_CATCHUP_MS = 60 * 1e3;
266
+ var NON_INTERACTIVE_LOCK_RETRY_MS = 60 * 1e3;
267
+ var NON_INTERACTIVE_FAILURE_RETRY_MS = 10 * 60 * 1e3;
268
+ var NON_INTERACTIVE_STOP_GRACE_MS = 250;
316
269
  var FILE_HISTORY_MARKER = ".file-history-cleanup";
317
270
  var SUBAGENT_MARKER = ".subagent-cleanup";
318
271
  var OPENAI_LOGS_MARKER = ".openai-logs-cleanup";
319
272
  var started = false;
273
+ var nonInteractiveJobs = /* @__PURE__ */ new Map();
274
+ var nonInteractiveQueue = [];
275
+ var activeNonInteractiveJob;
276
+ var activeNonInteractiveAbortController;
277
+ var nonInteractiveWorker;
278
+ var nonInteractiveStopping = false;
279
+ var nonInteractiveStopPromise;
320
280
  function startBackgroundHousekeeping(config, settings) {
321
281
  if (started) return;
322
282
  started = true;
@@ -367,7 +327,7 @@ function getOpenAILogsMarkerPath(qwenDir, logDir) {
367
327
  __name(getOpenAILogsMarkerPath, "getOpenAILogsMarkerPath");
368
328
  function getOpenAILogCleanupTarget(config, settings) {
369
329
  try {
370
- const customLogDir = config.getContentGeneratorConfig?.()?.openAILoggingDir ?? settings.merged.model?.openAILoggingDir;
330
+ const customLogDir = config.getContentGeneratorConfig?.()?.openAILoggingDir ?? config.getModelsConfig?.()?.getGenerationConfig?.().openAILoggingDir ?? settings.merged.model?.openAILoggingDir;
371
331
  const systemRetention = settings.system?.settings.model?.openAILogRetentionDays;
372
332
  const workspaceRetention = settings.isTrusted ? settings.workspace?.settings.model?.openAILogRetentionDays : void 0;
373
333
  if (customLogDir && workspaceRetention !== void 0 && systemRetention === void 0) {
@@ -390,6 +350,168 @@ function getOpenAILogCleanupTarget(config, settings) {
390
350
  }
391
351
  }
392
352
  __name(getOpenAILogCleanupTarget, "getOpenAILogCleanupTarget");
353
+ function startNonInteractiveOpenAILogHousekeeping(config, settings) {
354
+ if (nonInteractiveStopping) return;
355
+ try {
356
+ const target = getOpenAILogCleanupTarget(config, settings);
357
+ if (!target || nonInteractiveJobs.has(target.logDir)) return;
358
+ const markerPath = getOpenAILogsMarkerPath(
359
+ Storage.getGlobalQwenDir(),
360
+ target.logDir
361
+ );
362
+ const job = {
363
+ target,
364
+ markerPath,
365
+ queued: false
366
+ };
367
+ nonInteractiveJobs.set(target.logDir, job);
368
+ enqueueNonInteractiveJob(job);
369
+ } catch (err) {
370
+ debugLogger3.error(
371
+ "failed to start non-interactive OpenAI log cleanup; skipping",
372
+ err
373
+ );
374
+ }
375
+ }
376
+ __name(startNonInteractiveOpenAILogHousekeeping, "startNonInteractiveOpenAILogHousekeeping");
377
+ function stopNonInteractiveOpenAILogHousekeeping() {
378
+ if (nonInteractiveStopPromise) return nonInteractiveStopPromise;
379
+ nonInteractiveStopping = true;
380
+ for (const job of nonInteractiveJobs.values()) {
381
+ if (job.timer) {
382
+ clearTimeout(job.timer);
383
+ job.timer = void 0;
384
+ }
385
+ job.queued = false;
386
+ }
387
+ nonInteractiveQueue.length = 0;
388
+ activeNonInteractiveAbortController?.abort();
389
+ nonInteractiveStopPromise = waitForNonInteractiveWorkerToStop();
390
+ return nonInteractiveStopPromise;
391
+ }
392
+ __name(stopNonInteractiveOpenAILogHousekeeping, "stopNonInteractiveOpenAILogHousekeeping");
393
+ function enqueueNonInteractiveJob(job) {
394
+ if (nonInteractiveStopping || job.queued || activeNonInteractiveJob === job) {
395
+ return;
396
+ }
397
+ job.queued = true;
398
+ nonInteractiveQueue.push(job);
399
+ startNonInteractiveWorker();
400
+ }
401
+ __name(enqueueNonInteractiveJob, "enqueueNonInteractiveJob");
402
+ function startNonInteractiveWorker() {
403
+ if (nonInteractiveWorker || nonInteractiveStopping) return;
404
+ nonInteractiveWorker = drainNonInteractiveQueue().catch((err) => {
405
+ debugLogger3.error("non-interactive OpenAI log worker failed", err);
406
+ }).finally(() => {
407
+ nonInteractiveWorker = void 0;
408
+ if (nonInteractiveQueue.length > 0 && !nonInteractiveStopping) {
409
+ startNonInteractiveWorker();
410
+ }
411
+ });
412
+ }
413
+ __name(startNonInteractiveWorker, "startNonInteractiveWorker");
414
+ async function drainNonInteractiveQueue() {
415
+ while (!nonInteractiveStopping) {
416
+ const job = nonInteractiveQueue.shift();
417
+ if (!job) return;
418
+ job.queued = false;
419
+ activeNonInteractiveJob = job;
420
+ const abortController = new AbortController();
421
+ activeNonInteractiveAbortController = abortController;
422
+ try {
423
+ const result = await runOpenAILogCleanup(
424
+ job.target,
425
+ job.markerPath,
426
+ abortController.signal
427
+ );
428
+ if (nonInteractiveStopping) continue;
429
+ switch (result.status) {
430
+ case "completed":
431
+ scheduleNonInteractiveJob(job, RECURRING_INTERVAL_MS);
432
+ break;
433
+ case "fresh":
434
+ scheduleNonInteractiveJob(
435
+ job,
436
+ Math.min(
437
+ RECURRING_INTERVAL_MS,
438
+ Math.max(NON_INTERACTIVE_LOCK_RETRY_MS, result.retryAfterMs)
439
+ )
440
+ );
441
+ break;
442
+ case "locked":
443
+ scheduleNonInteractiveJob(job, NON_INTERACTIVE_LOCK_RETRY_MS);
444
+ break;
445
+ case "incomplete":
446
+ break;
447
+ default:
448
+ break;
449
+ }
450
+ } catch (err) {
451
+ debugLogger3.error(
452
+ `non-interactive OpenAI log cleanup failed for ${job.target.logDir}`,
453
+ err
454
+ );
455
+ if (!nonInteractiveStopping) {
456
+ scheduleNonInteractiveJob(job, NON_INTERACTIVE_FAILURE_RETRY_MS);
457
+ }
458
+ } finally {
459
+ activeNonInteractiveJob = void 0;
460
+ activeNonInteractiveAbortController = void 0;
461
+ }
462
+ }
463
+ }
464
+ __name(drainNonInteractiveQueue, "drainNonInteractiveQueue");
465
+ async function runOpenAILogCleanup(target, markerPath, signal) {
466
+ return runThrottledOnce(
467
+ {
468
+ name: "openai-logs-cleanup",
469
+ markerPath,
470
+ lockPath: markerPath + ".lock"
471
+ },
472
+ async () => {
473
+ const r = await cleanupOldOpenAILogs({
474
+ logDir: target.logDir,
475
+ cutoffDate: getCutoffDate(target.retentionDays),
476
+ signal
477
+ });
478
+ debugLogger3.debug(
479
+ `openai-logs: removed=${r.removed} errors=${r.errors} completed=${r.completed}`
480
+ );
481
+ return r.completed ? void 0 : false;
482
+ }
483
+ );
484
+ }
485
+ __name(runOpenAILogCleanup, "runOpenAILogCleanup");
486
+ function scheduleNonInteractiveJob(job, delayMs) {
487
+ if (nonInteractiveStopping) return;
488
+ job.timer = setTimeout(() => {
489
+ job.timer = void 0;
490
+ enqueueNonInteractiveJob(job);
491
+ }, delayMs);
492
+ job.timer.unref();
493
+ }
494
+ __name(scheduleNonInteractiveJob, "scheduleNonInteractiveJob");
495
+ async function waitForNonInteractiveWorkerToStop() {
496
+ const worker = nonInteractiveWorker;
497
+ if (!worker) {
498
+ nonInteractiveJobs.clear();
499
+ return;
500
+ }
501
+ let timeout;
502
+ try {
503
+ await Promise.race([
504
+ worker,
505
+ new Promise((resolve) => {
506
+ timeout = setTimeout(resolve, NON_INTERACTIVE_STOP_GRACE_MS);
507
+ })
508
+ ]);
509
+ } finally {
510
+ if (timeout) clearTimeout(timeout);
511
+ nonInteractiveJobs.clear();
512
+ }
513
+ }
514
+ __name(waitForNonInteractiveWorkerToStop, "waitForNonInteractiveWorkerToStop");
393
515
  async function runPass(config, settings) {
394
516
  if (msSinceLastInteraction() < RECENT_INTERACTION_MS) {
395
517
  debugLogger3.debug("user active, deferring 10 min");
@@ -458,23 +580,9 @@ async function runHousekeeping(config, settings) {
458
580
  }
459
581
  const openaiTarget = getOpenAILogCleanupTarget(config, settings);
460
582
  if (openaiTarget) {
461
- const { logDir, retentionDays } = openaiTarget;
462
- const markerPath = getOpenAILogsMarkerPath(qwenDir, logDir);
463
- await runThrottledOnce(
464
- {
465
- name: "openai-logs-cleanup",
466
- markerPath,
467
- lockPath: markerPath + ".lock"
468
- },
469
- async () => {
470
- const r = await cleanupOldOpenAILogs({
471
- logDir,
472
- cutoffDate: getCutoffDate(retentionDays)
473
- });
474
- debugLogger3.debug(
475
- `openai-logs: removed=${r.removed} errors=${r.errors}`
476
- );
477
- }
583
+ await runOpenAILogCleanup(
584
+ openaiTarget,
585
+ getOpenAILogsMarkerPath(qwenDir, openaiTarget.logDir)
478
586
  );
479
587
  }
480
588
  }
@@ -483,6 +591,22 @@ function _resetForTesting() {
483
591
  started = false;
484
592
  }
485
593
  __name(_resetForTesting, "_resetForTesting");
594
+ async function _resetNonInteractiveForTesting() {
595
+ nonInteractiveStopping = true;
596
+ for (const job of nonInteractiveJobs.values()) {
597
+ if (job.timer) clearTimeout(job.timer);
598
+ }
599
+ nonInteractiveQueue.length = 0;
600
+ activeNonInteractiveAbortController?.abort();
601
+ await nonInteractiveWorker;
602
+ nonInteractiveJobs.clear();
603
+ activeNonInteractiveJob = void 0;
604
+ activeNonInteractiveAbortController = void 0;
605
+ nonInteractiveWorker = void 0;
606
+ nonInteractiveStopping = false;
607
+ nonInteractiveStopPromise = void 0;
608
+ }
609
+ __name(_resetNonInteractiveForTesting, "_resetNonInteractiveForTesting");
486
610
  var _needsCatchUpForTesting = needsCatchUp;
487
611
  var _getFirstPassDelayForTesting = getFirstPassDelay;
488
612
  var _runHousekeepingForTesting = runHousekeeping;
@@ -490,16 +614,20 @@ var _runPassForTesting = runPass;
490
614
  var _FILE_HISTORY_MARKER_FOR_TESTING = FILE_HISTORY_MARKER;
491
615
  var _getSubagentMarkerPathForTesting = getSubagentMarkerPath;
492
616
  var _getOpenAILogsMarkerPathForTesting = getOpenAILogsMarkerPath;
617
+
493
618
  export {
494
- _FILE_HISTORY_MARKER_FOR_TESTING,
495
- _getFirstPassDelayForTesting,
496
- _getOpenAILogsMarkerPathForTesting,
497
- _getSubagentMarkerPathForTesting,
498
- _needsCatchUpForTesting,
619
+ startBackgroundHousekeeping,
620
+ startNonInteractiveOpenAILogHousekeeping,
621
+ stopNonInteractiveOpenAILogHousekeeping,
499
622
  _resetForTesting,
623
+ _resetNonInteractiveForTesting,
624
+ _needsCatchUpForTesting,
625
+ _getFirstPassDelayForTesting,
500
626
  _runHousekeepingForTesting,
501
627
  _runPassForTesting,
502
- startBackgroundHousekeeping
628
+ _FILE_HISTORY_MARKER_FOR_TESTING,
629
+ _getSubagentMarkerPathForTesting,
630
+ _getOpenAILogsMarkerPathForTesting
503
631
  };
504
632
  /**
505
633
  * @license
@@ -5,7 +5,7 @@ import {
5
5
  isTranscribableVoiceModel,
6
6
  readVoiceLanguage,
7
7
  resolveVoiceTransport
8
- } from "./chunk-GAKGOXTC.js";
8
+ } from "./chunk-EBZ6BJTF.js";
9
9
  import {
10
10
  resolvePath
11
11
  } from "./chunk-AOHJKPKL.js";