@qwen-code/qwen-code 0.21.9 → 0.21.10-nightly.20260812.a64d1291d2
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.
- package/bundled/qc-helper/docs/configuration/settings.md +1 -1
- package/bundled/qc-helper/docs/extension/_meta.ts +1 -0
- package/bundled/qc-helper/docs/extension/agent-plugins.md +50 -0
- package/bundled/qc-helper/docs/extension/extension-releasing.md +3 -3
- package/bundled/qc-helper/docs/extension/introduction.md +17 -3
- package/bundled/qc-helper/docs/features/status-line.md +13 -13
- package/bundled/qc-helper/docs/integration-jetbrains.md +1 -0
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +14 -10
- package/bundled/review/SKILL.md +2 -2
- package/chunks/{MaxSizedBox-6BZANW7X.js → MaxSizedBox-K4E5KPIT.js} +5 -5
- package/chunks/{StandaloneSessionPicker-VDC5KE7T.js → StandaloneSessionPicker-5PG5MX6M.js} +19 -19
- package/chunks/{acp-startup-profiler-B5BYAMYQ.js → acp-startup-profiler-VNTFWYAC.js} +2 -2
- package/chunks/{acpAgent-F2NSBCUF.js → acpAgent-IPOVQXM7.js} +96 -44
- package/chunks/{agent-VOHJOEBB.js → agent-VMXQF6MJ.js} +5 -5
- package/chunks/{agent-headless-J5NFOPHP.js → agent-headless-VT7HJGQV.js} +5 -5
- package/chunks/{anthropicContentGenerator-SSFE2753.js → anthropicContentGenerator-D3Y4RFT4.js} +1 -1
- package/chunks/{bridge-NQIZZLAS.js → bridge-BAC6ACMF.js} +9 -9
- package/chunks/{channel-settings-store-VIY2OENO.js → channel-settings-store-GAA4CJAG.js} +11 -11
- package/chunks/{channel-worker-group-MSHT6CWR.js → channel-worker-group-WQP4RCDO.js} +3 -3
- package/chunks/{channel-worker-manager-XXD3GDSK.js → channel-worker-manager-MRDFAKIM.js} +3 -3
- package/chunks/{chunk-UYAUA63Q.js → chunk-2KRG55OF.js} +1 -1
- package/chunks/{chunk-K4ADGWHU.js → chunk-2YE6NWAN.js} +1 -1
- package/chunks/{chunk-UJUM2SRN.js → chunk-3MJEGPUL.js} +30 -27
- package/chunks/{chunk-3XVDTHBJ.js → chunk-47BN53GH.js} +2 -2
- package/chunks/{chunk-LZZLUCRS.js → chunk-4H4DGTRN.js} +3 -3
- package/chunks/{chunk-46YJDYCU.js → chunk-55OIMPSA.js} +7 -7
- package/chunks/{chunk-BIRWP6LU.js → chunk-5AJYBHLB.js} +1 -1
- package/chunks/{chunk-LP2QGNSP.js → chunk-624NHDGB.js} +3 -1
- package/chunks/{chunk-TZ6KJ44L.js → chunk-6NBNKITT.js} +1 -1
- package/chunks/{chunk-ATMO54WE.js → chunk-7OZLORD6.js} +2 -2
- package/chunks/{chunk-W3FSZSF2.js → chunk-AYIDPTXZ.js} +1 -1
- package/chunks/{chunk-GAKGOXTC.js → chunk-BK57YU3Q.js} +1 -1
- package/chunks/{chunk-AKJQSWV4.js → chunk-BSI645OU.js} +2 -2
- package/chunks/{chunk-MHP476D3.js → chunk-BSQSQRS4.js} +52 -39
- package/chunks/{chunk-5RBDAGC6.js → chunk-CH3TTBXT.js} +2 -2
- package/chunks/{chunk-TQCYNLNJ.js → chunk-DQFFENP5.js} +1 -1
- package/chunks/{chunk-MTCYGTWH.js → chunk-E5QWOI62.js} +4 -4
- package/chunks/{chunk-HZGBKOX3.js → chunk-EE6LY6EF.js} +2 -2
- package/chunks/{chunk-I5VM3SKY.js → chunk-EV3LZGGK.js} +332 -34
- package/chunks/{chunk-II6G3EY6.js → chunk-F2ZNVJEW.js} +339 -213
- package/chunks/{chunk-RBHQXGDK.js → chunk-F64B4CZT.js} +1 -1
- package/chunks/{chunk-OGNFHGIG.js → chunk-FOELNQMQ.js} +4 -4
- package/chunks/{chunk-CG3WBKJK.js → chunk-JT7XS4YW.js} +1 -1
- package/chunks/{chunk-FCLHHEUK.js → chunk-JVL4RMIC.js} +11 -11
- package/chunks/{chunk-T5RLUXWJ.js → chunk-K54PS4L2.js} +2 -2
- package/chunks/{chunk-KSAFZ5TA.js → chunk-KEN4RQXD.js} +1 -1
- package/chunks/{chunk-DGEIYUC3.js → chunk-KM73TBQ4.js} +7 -1
- package/chunks/{chunk-SCAZZ3Q4.js → chunk-L7TNB7A6.js} +4 -4
- package/chunks/{scheduler-YNQNOU2E.js → chunk-LQANGKTR.js} +238 -110
- package/chunks/{chunk-ZTQSOV56.js → chunk-LVMQKGBL.js} +3 -3
- package/chunks/{chunk-WGK4TSB7.js → chunk-MOTN72IT.js} +3 -3
- package/chunks/{chunk-XX7QFP34.js → chunk-NX2E4GYA.js} +3899 -3062
- package/chunks/{chunk-THIKWITR.js → chunk-P2IS6EBV.js} +2 -2
- package/chunks/{chunk-CMOBWHWW.js → chunk-QBJYSIQ4.js} +1 -1
- package/chunks/{chunk-DH5YXSIF.js → chunk-QLCMCSLN.js} +2 -2
- package/chunks/{chunk-67N6HB5H.js → chunk-QUI267ZP.js} +1 -0
- package/chunks/{chunk-QSNSL4R4.js → chunk-QUOFZM2M.js} +1 -1
- package/chunks/{chunk-ZOSTTOUJ.js → chunk-RBO66BYX.js} +1 -1
- package/chunks/{chunk-KTQGGPGV.js → chunk-RE46EJ3D.js} +4 -4
- package/chunks/{chunk-4XQNB3KN.js → chunk-RLTM3QF6.js} +2 -2
- package/chunks/{chunk-PVOGHGSF.js → chunk-RNIXJDUJ.js} +6 -6
- package/chunks/{chunk-ZBXGWQ4S.js → chunk-S3UYEZ5P.js} +2 -2
- package/chunks/{chunk-IOEZE2YT.js → chunk-U23YG4FX.js} +1 -1
- package/chunks/{chunk-WP5VOXF7.js → chunk-U2S2BLXV.js} +1 -1
- package/chunks/{chunk-XTY5DN4Y.js → chunk-U46N7DPC.js} +1 -1
- package/chunks/{chunk-BAMN6XSD.js → chunk-U6Z72YG7.js} +1 -1
- package/chunks/{chunk-23VQTELM.js → chunk-UH3IULYM.js} +1 -1
- package/chunks/{chunk-T6HEQR2Q.js → chunk-V54U4DJ5.js} +1 -1
- package/chunks/{chunk-G2TX5ZXC.js → chunk-VHZGWFFR.js} +3 -3
- package/chunks/{chunk-3WDYBTTI.js → chunk-VNKZDFWC.js} +4 -4
- package/chunks/{chunk-JUWS2Z5K.js → chunk-VXIWAZOB.js} +5 -5
- package/chunks/{chunk-D7BXVKSF.js → chunk-VZXRAUBT.js} +1 -1
- package/chunks/{chunk-M2PNLYGY.js → chunk-W5UC37EE.js} +2 -0
- package/chunks/{chunk-7AEPJGL4.js → chunk-W7YVDFWW.js} +1 -1
- package/chunks/{chunk-P4ZEZSJZ.js → chunk-WBLEKO7Y.js} +301 -88
- package/chunks/{chunk-OGDIJKHK.js → chunk-WDNJKDCV.js} +1 -1
- package/chunks/{chunk-BT6GQIEJ.js → chunk-X2UOOG5V.js} +1 -1
- package/chunks/{chunk-RVSTTOJ4.js → chunk-X34IHISE.js} +2 -2
- package/chunks/{chunk-7S4JBJLU.js → chunk-XL4L56BA.js} +3 -3
- package/chunks/{chunk-HADWBW5R.js → chunk-YDXGES66.js} +10 -8
- package/chunks/{chunk-7GOYZQPR.js → chunk-YG7HIT5G.js} +3 -3
- package/chunks/{chunk-P3RBMQ4P.js → chunk-YPQWPADW.js} +4 -4
- package/chunks/{chunk-P2FK2HBV.js → chunk-YRZGVOGK.js} +2 -2
- package/chunks/{chunk-BZP4QPNK.js → chunk-ZH3OJWOH.js} +9 -9
- package/chunks/{chunk-PNBBJOCP.js → chunk-ZKVJ7KFA.js} +1 -1
- package/chunks/{chunk-FBMCDU63.js → chunk-ZYHPUNBD.js} +4 -4
- package/chunks/{chunk-KTKYGS2P.js → chunk-ZZCWJWTF.js} +8 -1
- package/chunks/{computer-use-PMZ7ICGY.js → computer-use-TVZGVQPC.js} +5 -5
- package/chunks/{contextCommand-GEZU7YHE.js → contextCommand-EQC4CBSS.js} +7 -7
- package/chunks/{core-runtime-HRJI2MN6.js → core-runtime-BG5F54ZP.js} +5 -5
- package/chunks/{create-sub-session-VBNVI4YU.js → create-sub-session-SLZLFXSO.js} +6 -6
- package/chunks/{daemon-POSQPD3G.js → daemon-GWD7BT6E.js} +46 -5
- package/chunks/{daemon-status-provider-N4CRQKFI.js → daemon-status-provider-N5BYCQDQ.js} +13 -13
- package/chunks/{daemon-trust-policy-BHO3JUHM.js → daemon-trust-policy-LD5SCDI7.js} +11 -11
- package/chunks/{daemon-trust-policy-monitor-YEKJ2726.js → daemon-trust-policy-monitor-A243C45J.js} +11 -11
- package/chunks/{deferred-core-runtime-SH57E3J3.js → deferred-core-runtime-DBIT7BLE.js} +5 -5
- package/chunks/{earlyInputCapture-B2JJ2HME.js → earlyInputCapture-4XHUKK24.js} +5 -5
- package/chunks/{edit-7FTXENAN.js → edit-LESWHF3T.js} +5 -5
- package/chunks/{enter-worktree-JPHV2PBG.js → enter-worktree-FTOEWQUC.js} +5 -5
- package/chunks/{enterPlanMode-CGBJ3AHJ.js → enterPlanMode-NVN7AHQQ.js} +5 -5
- package/chunks/{environment-LXASZAHD.js → environment-D2DDDREF.js} +7 -7
- package/chunks/{errors-XIGVT2AD.js → errors-RNZVUHHZ.js} +7 -7
- package/chunks/{exit-worktree-DKSGXW65.js → exit-worktree-YY7VLO4V.js} +5 -5
- package/chunks/{exitPlanMode-THFL2HYN.js → exitPlanMode-NTVZE4EW.js} +5 -5
- package/chunks/{fast-path-4NXAT5UL.js → fast-path-FBGTJPOT.js} +2 -2
- package/chunks/{gemini-B3N6FACU.js → gemini-4EAKD6ZK.js} +76 -52
- package/chunks/{geminiContentGenerator-YYFE2HIE.js → geminiContentGenerator-B2OSGUGH.js} +1 -1
- package/chunks/{glob-BPHSCFJP.js → glob-Q2FCGTR4.js} +5 -5
- package/chunks/{goal-tools-PXWN5VK3.js → goal-tools-SWNB6GP4.js} +1 -1
- package/chunks/{grep-ROZIRFLU.js → grep-A6GL7D2F.js} +5 -5
- package/chunks/{handleAutoUpdate-WV6SPZQB.js → handleAutoUpdate-2BH5LSGN.js} +9 -9
- package/chunks/{i18n-YWJWPQKD.js → i18n-Q2HJLEMO.js} +6 -6
- package/chunks/{image-gen-SISRZ6FS.js → image-gen-J5CH33LV.js} +1 -1
- package/chunks/{initializer-66OAD6GO.js → initializer-ESQCOGMA.js} +11 -11
- package/chunks/{installationInfo-3YUGIP36.js → installationInfo-LEQKYZUV.js} +6 -6
- package/chunks/{list-VEYR66XB.js → list-HGYJO3XP.js} +14 -14
- package/chunks/{loadedSettingsAdapter-V2JCPCYD.js → loadedSettingsAdapter-5UE5WA63.js} +11 -11
- package/chunks/{loggingContentGenerator-RBLNDREC.js → loggingContentGenerator-4EJPPA6R.js} +1 -1
- package/chunks/{managed-npm-update-C5ID5R4R.js → managed-npm-update-NXWCMWAJ.js} +6 -6
- package/chunks/{mcp-OZ54NZJQ.js → mcp-AJO665OX.js} +11 -11
- package/chunks/{monitor-7Y4TVFTK.js → monitor-WTLK3MYH.js} +5 -5
- package/chunks/{nonInteractiveCli-QEK4LHAC.js → nonInteractiveCli-HVBK2CZX.js} +35 -35
- package/chunks/{notebook-edit-OG35EBGY.js → notebook-edit-RBKPQF32.js} +5 -5
- package/chunks/{openaiContentGenerator-443BNRPJ.js → openaiContentGenerator-GYQWXOHX.js} +1 -1
- package/chunks/{pidfile-ZK4OLRZA.js → pidfile-Y7VFMJYS.js} +5 -5
- package/chunks/{processUtils-4YGB4RUZ.js → processUtils-QR4XBRHA.js} +2 -2
- package/chunks/{qwenContentGenerator-D5C2LCSZ.js → qwenContentGenerator-PLMPJ7AT.js} +5 -5
- package/chunks/{qwenOAuth2-Z4YQBMYN.js → qwenOAuth2-IJJTZK6N.js} +1 -1
- package/chunks/{read-file-EXTJLWMU.js → read-file-K724KK2A.js} +1 -1
- package/chunks/{resumeHistoryUtils-UPCGRJUL.js → resumeHistoryUtils-DLHDUD2M.js} +8 -8
- package/chunks/{ripGrep-QBVIRCU4.js → ripGrep-FMIC7FNP.js} +5 -5
- package/chunks/{run-qwen-serve-ZYGJNE3E.js → run-qwen-serve-JRQ2HD5U.js} +38 -34
- package/chunks/{runtime-BZZ4LWCP.js → runtime-ER7P3KUI.js} +12 -12
- package/chunks/scheduler-KWLBM3NK.js +108 -0
- package/chunks/{serve-LJHAXDCH.js → serve-YB47EMXO.js} +11 -11
- package/chunks/{server-ADMLELR6.js → server-JYXJCDIX.js} +629 -252
- package/chunks/{session-YKZXFFTM.js → session-GHU5Q4AW.js} +43 -44
- package/chunks/{settings-EQBUAQ7Y.js → settings-CKL2MBGB.js} +10 -10
- package/chunks/{shell-3QZOJGTT.js → shell-YVEUL4QQ.js} +5 -5
- package/chunks/{skill-UWSSMXE7.js → skill-LGVJVPZV.js} +1 -1
- package/chunks/{skill-settings-T6MLB7NU.js → skill-settings-SSSOSSPI.js} +10 -10
- package/chunks/{spawnChannel-VS7ZFUFP.js → spawnChannel-FQHJA372.js} +8 -6
- package/chunks/{standalone-update-2W26SRRO.js → standalone-update-UAKUIJVX.js} +7 -7
- package/chunks/{startInteractiveUI-CVS7K3D6.js → startInteractiveUI-HT57X3GG.js} +1210 -926
- package/chunks/{team-create-4WFTNNUL.js → team-create-5JHJVRFA.js} +5 -5
- package/chunks/{team-plan-approval-DBYI33S3.js → team-plan-approval-HBJP76ID.js} +5 -5
- package/chunks/{terminal-image-renderer-S5WPPQKH.js → terminal-image-renderer-32M7VTOP.js} +5 -5
- package/chunks/{theme-manager-LI2RIOVR.js → theme-manager-JKURLTQE.js} +5 -5
- package/chunks/{tool-search-4773EUQ4.js → tool-search-AMC7FXYI.js} +1 -1
- package/chunks/{total-session-admission-PAY5CH2Z.js → total-session-admission-TK2UUJZG.js} +10 -10
- package/chunks/{trustedFolders-FRSLE674.js → trustedFolders-YAPOBY37.js} +6 -6
- package/chunks/{update-relaunch-ZSFQTU6M.js → update-relaunch-4CMYTESD.js} +5 -5
- package/chunks/{updateCheck-AXWSO7KA.js → updateCheck-526AK4W6.js} +8 -8
- package/chunks/{useAutoAcceptIndicator-VHLXIA7U.js → useAutoAcceptIndicator-GZMVYIAH.js} +11 -11
- package/chunks/{validateNonInterActiveAuth-PDJECMFU.js → validateNonInterActiveAuth-RTMLOTRO.js} +32 -32
- package/chunks/{version-RBN764QS.js → version-4HU3RJQY.js} +1 -1
- package/chunks/{web-fetch-7BJK42AF.js → web-fetch-AZE7YE2H.js} +1 -1
- package/chunks/{web-search-L2CILQXV.js → web-search-THKQ4CJN.js} +2 -2
- package/chunks/{workflow-5VH2R74I.js → workflow-ZGTAUCV3.js} +6 -6
- package/chunks/{workspace-providers-status-OZTQ6JFH.js → workspace-providers-status-HEKQ7HJL.js} +13 -13
- package/chunks/{workspace-registration-store-IX5RJQS5.js → workspace-registration-store-H3M2APZV.js} +1 -1
- package/chunks/{workspace-registry-73N4BGG4.js → workspace-registry-LBV2HXGB.js} +10 -10
- package/chunks/{workspace-service-I5RUPSNV.js → workspace-service-4NNBEEXD.js} +15 -15
- package/chunks/{workspace-skills-status-DMK6VYDO.js → workspace-skills-status-LJ3YCC4W.js} +11 -11
- package/chunks/{workspace-trust-reconciler-QX4RL3TC.js → workspace-trust-reconciler-OKFLBY7B.js} +16 -16
- package/chunks/{write-file-UGDD5UTS.js → write-file-YESN7WUZ.js} +5 -5
- package/chunks/{zoom-image-ZAHEO3YP.js → zoom-image-2KUEGQ6U.js} +1 -1
- package/cli.js +13 -13
- package/package.json +3 -3
- package/web-shell/assets/{arc-CHY4saMJ.js → arc-BGiARkbG.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-Bu6CwvHj.js → architectureDiagram-3BPJPVTR-3QBZDeqg.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-XGt6iGf_.js → blockDiagram-GPEHLZMM-CbJI0j0o.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-CBbYl19W.js → c4Diagram-AAUBKEIU-pita1IYy.js} +1 -1
- package/web-shell/assets/channel-3vYOf77E.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-BEhmVrdx.js → chunk-2J33WTMH-WzTFww1i.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-fQLyE0Bg.js → chunk-4BX2VUAB-8TIRo9bL.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-yGdtyx4a.js → chunk-55IACEB6-CuCr34qf.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DYbX2GLo.js → chunk-727SXJPM-Bb_xWEAx.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-DyKTEsYn.js → chunk-AQP2D5EJ-C8T1b2Qw.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-D8Uy_GzX.js → chunk-FMBD7UC4-kjpyMkNM.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-C8wNR2K7.js → chunk-ND2GUHAM-Dm35jDmi.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-BnybNxnt.js → chunk-QZHKN3VN-BPVKwuby.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Dr2aqxvr.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Dr2aqxvr.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-jq4uiFRp.js → cose-bilkent-S5V4N54A-M-7J9Xyz.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-Bs7oye1U.js → dagre-BM42HDAG-u6rmS689.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BHGGJNyM.js → diagram-2AECGRRQ-nAisfOUB.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-BJezVLGT.js → diagram-5GNKFQAL-CpobRd3l.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-5JzQN_rL.js → diagram-KO2AKTUF-B82W_wPq.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-BlPYOgY9.js → diagram-LMA3HP47-ClTkmPW6.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-CtMHEaFK.js → diagram-OG6HWLK6-42fbxGPW.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CRNdq2AB.js → erDiagram-TEJ5UH35-8_zQfzlQ.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-De1WwLzu.js → flowDiagram-I6XJVG4X-DQDoN_oV.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-YbWfL5Zn.js → ganttDiagram-6RSMTGT7-Cqd646fB.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DzCN8bmd.js → gitGraphDiagram-PVQCEYII-B6qWs_tS.js} +1 -1
- package/web-shell/assets/{index-CocPvF9Q.js → index-BCeQB_tk.js} +1 -1
- package/web-shell/assets/index-Dv9zBWC9.js +1775 -0
- package/web-shell/assets/{index-BDOGGGaN.css → index-eYjX7fQg.css} +2 -2
- package/web-shell/assets/{infoDiagram-5YYISTIA-DLHoopnE.js → infoDiagram-5YYISTIA-BVyDAHuu.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-XnbU04SS.js → ishikawaDiagram-YF4QCWOH-BBHM904I.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CipPyEeJ.js → journeyDiagram-JHISSGLW-B5Bv5Z_0.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-DrSeyE5d.js → kanban-definition-UN3LZRKU-BwSTb0YF.js} +1 -1
- package/web-shell/assets/{linear-LrBKnAo_.js → linear-CHtTm36c.js} +1 -1
- package/web-shell/assets/{mermaid.core-C3U9UVmf.js → mermaid.core-vBCuAUkf.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-DqRWgC9H.js → mindmap-definition-RKZ34NQL-CNfKHJrA.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-BNXY5p6H.js → pieDiagram-4H26LBE5-DT6QMLhc.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-Ccj9QzE4.js → quadrantDiagram-W4KKPZXB-Rb2Dar4i.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-CjPM2_gx.js → requirementDiagram-4Y6WPE33-CA9YzPUY.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-C0RsvKbj.js → sankeyDiagram-5OEKKPKP-CJ5SkhJw.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-ClN1P5z7.js → sequenceDiagram-3UESZ5HK-T31AiuVM.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-By0eiB2Y.js → stateDiagram-AJRCARHV-f7Xpd_Xh.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-wucbNzkr.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-g_iaSQgv.js → timeline-definition-PNZ67QCA-dCwsTscr.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-y9ZqJ-TD.js → vennDiagram-CIIHVFJN-SQtBFYkQ.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-BVVfaxpF.js → wardley-L42UT6IY-Dfh4eW0B.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-D3ooZKZT.js → wardleyDiagram-YWT4CUSO-BWBKXBsC.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-6GXrY6M1.js → xychartDiagram-2RQKCTM6-DVqzcaxh.js} +1 -1
- package/web-shell/index.html +2 -2
- package/web-shell/assets/channel-B40srHOa.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-qumcXQW_.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-qumcXQW_.js +0 -1
- package/web-shell/assets/index-DSH2KrMc.js +0 -1771
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Ds0WlK3F.js +0 -1
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
import {
|
|
22
22
|
formatHistoryGapNotice,
|
|
23
23
|
indexGapsByChild
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-2KRG55OF.js";
|
|
25
25
|
import {
|
|
26
26
|
stringWidth
|
|
27
27
|
} from "./chunk-2MIN6GRR.js";
|
|
@@ -33,11 +33,11 @@ import {
|
|
|
33
33
|
} from "./chunk-3SH53ANB.js";
|
|
34
34
|
import {
|
|
35
35
|
t
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-U2S2BLXV.js";
|
|
37
37
|
import {
|
|
38
38
|
getToolResponseDisplayText,
|
|
39
39
|
isGoalCheckpointBookkeepingRecord
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-NX2E4GYA.js";
|
|
41
41
|
import {
|
|
42
42
|
stripAnsi
|
|
43
43
|
} from "./chunk-TWPJO254.js";
|
|
@@ -45,7 +45,7 @@ import {
|
|
|
45
45
|
GoalPersistenceUnavailableError,
|
|
46
46
|
parseGoalStateRecordPayloadV2,
|
|
47
47
|
projectUserTranscriptForDisplay
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-QUI267ZP.js";
|
|
49
49
|
import {
|
|
50
50
|
ToolDisplayNames
|
|
51
51
|
} from "./chunk-PYQADEFD.js";
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
import {
|
|
4
4
|
settleChatRecording,
|
|
5
5
|
subscribeToHeadlessChatRecordingFailures
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-W7YVDFWW.js";
|
|
7
7
|
import {
|
|
8
8
|
JsonOutputAdapter
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-DQFFENP5.js";
|
|
10
10
|
import {
|
|
11
11
|
StreamJsonOutputAdapter
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-EE6LY6EF.js";
|
|
13
13
|
import {
|
|
14
14
|
handleAtCommand
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-P2IS6EBV.js";
|
|
16
16
|
import {
|
|
17
17
|
buildInitialSystemReminders,
|
|
18
18
|
buildSystemMessage,
|
|
@@ -24,11 +24,11 @@ import {
|
|
|
24
24
|
insertAfterFunctionResponses,
|
|
25
25
|
isSlashCommand,
|
|
26
26
|
normalizePartList
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-3MJEGPUL.js";
|
|
28
28
|
import {
|
|
29
29
|
RunBudgetEnforcer,
|
|
30
30
|
cleanupReviewWorktreeLeases
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-F2ZNVJEW.js";
|
|
32
32
|
import {
|
|
33
33
|
AlreadyReportedError,
|
|
34
34
|
handleBudgetExceededError,
|
|
@@ -36,10 +36,10 @@ import {
|
|
|
36
36
|
handleError,
|
|
37
37
|
handleMaxTurnsExceededError,
|
|
38
38
|
handleToolError
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-YRZGVOGK.js";
|
|
40
40
|
import {
|
|
41
41
|
isInlineModelOverrideAllowed
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-RE46EJ3D.js";
|
|
43
43
|
import {
|
|
44
44
|
PLAN_MODE_ENTRY_SIBLING_SKIP_MESSAGE,
|
|
45
45
|
buildSessionRecoveryPlanFromApiHistory,
|
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
parseAndFormatApiError,
|
|
57
57
|
partitionByConcurrencySafety,
|
|
58
58
|
restoreWorktreeContext
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-NX2E4GYA.js";
|
|
60
60
|
import {
|
|
61
61
|
parsePositiveIntegerEnv
|
|
62
62
|
} from "./chunk-6PVPNMXU.js";
|
|
@@ -65,7 +65,7 @@ import {
|
|
|
65
65
|
} from "./chunk-O6GEWCJA.js";
|
|
66
66
|
import {
|
|
67
67
|
GoalPersistenceUnavailableError
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-QUI267ZP.js";
|
|
69
69
|
import {
|
|
70
70
|
isSystemReminderContent
|
|
71
71
|
} from "./chunk-IA7TGCN2.js";
|
|
@@ -93,7 +93,7 @@ import {
|
|
|
93
93
|
} from "./chunk-OIVKILPI.js";
|
|
94
94
|
import {
|
|
95
95
|
registerCleanup
|
|
96
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-ZKVJ7KFA.js";
|
|
97
97
|
import {
|
|
98
98
|
init_esbuild_shims
|
|
99
99
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
} from "./chunk-DP3IHZGG.js";
|
|
6
6
|
import {
|
|
7
7
|
t
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-U2S2BLXV.js";
|
|
9
9
|
import {
|
|
10
10
|
getNpmCliPath
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-5AJYBHLB.js";
|
|
12
12
|
import {
|
|
13
13
|
getPackageJson
|
|
14
14
|
} from "./chunk-VJNBRRZG.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,19 +2,19 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
getErrorMessage
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YRZGVOGK.js";
|
|
6
6
|
import {
|
|
7
7
|
extensionToOutputString,
|
|
8
8
|
getExtensionManager
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-YDXGES66.js";
|
|
10
10
|
import {
|
|
11
11
|
loadSettings
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-VXIWAZOB.js";
|
|
13
13
|
import {
|
|
14
14
|
initializeI18n,
|
|
15
15
|
resolveLanguageSetting,
|
|
16
16
|
t
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-U2S2BLXV.js";
|
|
18
18
|
import {
|
|
19
19
|
writeStderrLine,
|
|
20
20
|
writeStdoutLine
|
|
@@ -5,89 +5,18 @@ import {
|
|
|
5
5
|
} from "./chunk-KW7NOTN6.js";
|
|
6
6
|
import {
|
|
7
7
|
DEFAULT_OPENAI_LOG_RETENTION_DAYS
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-5EJZE3FP.js";
|
|
8
|
+
} from "./chunk-YG7HIT5G.js";
|
|
10
9
|
import {
|
|
11
10
|
FILE_HISTORY_DIR,
|
|
12
11
|
getSubagentsRootDir
|
|
13
|
-
} from "./chunk-
|
|
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-NX2E4GYA.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 = {
|
|
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
|
-
|
|
235
|
-
|
|
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
|
|
197
|
+
return { status: "locked" };
|
|
252
198
|
}
|
|
253
199
|
}
|
|
254
200
|
try {
|
|
255
|
-
|
|
256
|
-
|
|
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
|
|
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
|
|
238
|
+
return minIntervalMs - age;
|
|
289
239
|
}
|
|
290
240
|
} catch {
|
|
291
241
|
}
|
|
292
|
-
return
|
|
242
|
+
return void 0;
|
|
293
243
|
}
|
|
294
|
-
__name(
|
|
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
|
-
|
|
462
|
-
|
|
463
|
-
|
|
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
|
-
|
|
495
|
-
|
|
496
|
-
|
|
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
|
-
|
|
628
|
+
_FILE_HISTORY_MARKER_FOR_TESTING,
|
|
629
|
+
_getSubagentMarkerPathForTesting,
|
|
630
|
+
_getOpenAILogsMarkerPathForTesting
|
|
503
631
|
};
|
|
504
632
|
/**
|
|
505
633
|
* @license
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
import {
|
|
4
4
|
getGitVersion,
|
|
5
5
|
getNpmVersion
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-XL4L56BA.js";
|
|
7
7
|
import {
|
|
8
8
|
buildEnvStatusFromEnv,
|
|
9
9
|
snapshotProcessEnv
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-UH3IULYM.js";
|
|
11
11
|
import {
|
|
12
12
|
mapDomainErrorToErrorKind
|
|
13
13
|
} from "./chunk-DA4HRSBW.js";
|
|
14
14
|
import {
|
|
15
15
|
canUseRipgrep
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-NX2E4GYA.js";
|
|
17
17
|
import {
|
|
18
18
|
init_esbuild_shims
|
|
19
19
|
} from "./chunk-5O2XNYP6.js";
|