@qwen-code/qwen-code 0.23.3-nightly.20260913.faa395885e → 0.23.4-dev.codemode-responses.20260914.87437db784
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/computer-use/SKILL.md +1 -1
- package/bundled/qc-helper/docs/features/channels/dws.md +5 -1
- package/bundled/qc-helper/docs/features/code-review.md +15 -1
- package/bundled/qc-helper/docs/features/computer-use.md +1 -1
- package/bundled/qc-helper/docs/features/goals.md +1 -1
- package/bundled/qc-helper/docs/features/hooks.md +1 -1
- package/bundled/qc-helper/docs/features/skills.md +2 -1
- package/chunks/{MaxSizedBox-XIOLMOXA.js → MaxSizedBox-CSMC6NNQ.js} +18 -18
- package/chunks/{StandaloneSessionPicker-AO3IQQGI.js → StandaloneSessionPicker-5G46NROB.js} +31 -31
- package/chunks/{acp-subagent-executor-NIWF7S3U.js → acp-subagent-executor-4JLSF7SA.js} +19 -19
- package/chunks/{acpAgent-ESNFMMRE.js → acpAgent-WJ45JV2S.js} +228 -88
- package/chunks/{agent-4XFPCI4T.js → agent-KWNOVXAD.js} +10 -10
- package/chunks/{agent-headless-HQDV7GLZ.js → agent-headless-TU5N3GFF.js} +10 -10
- package/chunks/{artifact-tool-AFY4WVJG.js → artifact-tool-MFGORTWZ.js} +1 -1
- package/chunks/{bridge-YLGQSZ2Q.js → bridge-PF7UX6MH.js} +19 -19
- package/chunks/{channel-management-service-NNWMEBDC.js → channel-management-service-AFVIT4VH.js} +1 -1
- package/chunks/{channel-settings-store-PHE2W5TX.js → channel-settings-store-3OVAGIC2.js} +25 -25
- package/chunks/{chunk-QE4TPRON.js → chunk-2YGR3VN6.js} +1 -1
- package/chunks/{chunk-A7FTUDQB.js → chunk-3DOAKZYD.js} +3 -3
- package/chunks/{chunk-B2HMDSZO.js → chunk-457DR2MC.js} +5 -5
- package/chunks/{chunk-7IE6AP7A.js → chunk-5FK4MSHB.js} +1 -1
- package/chunks/{chunk-JPYGGOLB.js → chunk-5ODRE7E5.js} +2 -2
- package/chunks/{chunk-U5RT4WTL.js → chunk-5VQR2DD7.js} +1 -1
- package/chunks/{chunk-YWJEEA4M.js → chunk-63WKMKVD.js} +3 -3
- package/chunks/{chunk-KW6TSO4B.js → chunk-6MLDTOHU.js} +3 -3
- package/chunks/{chunk-BAEOWJC3.js → chunk-6NKDU7YL.js} +2 -2
- package/chunks/{chunk-LHLLMSQT.js → chunk-6TMXX4Z4.js} +4 -4
- package/chunks/{chunk-XZLBVMZV.js → chunk-A6QMKS5S.js} +3 -3
- package/chunks/{chunk-QBOQHWSY.js → chunk-A6YU6R5N.js} +1 -1
- package/chunks/{chunk-77A22NFK.js → chunk-AEWCOE64.js} +1 -1
- package/chunks/{chunk-FT6AVCMQ.js → chunk-B776VKDA.js} +3 -3
- package/chunks/{chunk-PWFDZN4R.js → chunk-BNYQHLPR.js} +1 -1
- package/chunks/{chunk-U67XI6DF.js → chunk-BS7ON54G.js} +10 -6
- package/chunks/{chunk-DBRCSM4Q.js → chunk-BW2SMO6L.js} +1 -1
- package/chunks/{chunk-D255IZSK.js → chunk-BY6CE34S.js} +1 -1
- package/chunks/{chunk-7NVASIXD.js → chunk-C3VNHDWJ.js} +1 -1
- package/chunks/{chunk-SJM77TB6.js → chunk-C5ABXOC2.js} +1 -1
- package/chunks/{chunk-4Q5JNTPL.js → chunk-CCWWPFZJ.js} +2 -2
- package/chunks/{chunk-BL7ND5BF.js → chunk-CFSBWJBB.js} +96 -62
- package/chunks/{chunk-V2A55RJB.js → chunk-CL7JONZN.js} +3 -3
- package/chunks/{chunk-YVUZYCZC.js → chunk-DBUOMHLZ.js} +1 -1
- package/chunks/{chunk-CMHCIJV6.js → chunk-DLJBYORJ.js} +1 -1
- package/chunks/{chunk-Y5SVC2KK.js → chunk-DNVA2MQ2.js} +1 -1
- package/chunks/{chunk-6MAUKKUC.js → chunk-DQMBQCTY.js} +1 -1
- package/chunks/{chunk-5ZJESPGP.js → chunk-EKJXDLDD.js} +1 -1
- package/chunks/{chunk-NBROLZHT.js → chunk-EZSSJSKR.js} +31 -7
- package/chunks/{chunk-U5MXMLTQ.js → chunk-FFBP5POK.js} +5 -5
- package/chunks/{chunk-YSCL5S2A.js → chunk-GCV4NOHV.js} +26 -26
- package/chunks/{chunk-4HXMRKIV.js → chunk-GMN73IMT.js} +1 -1
- package/chunks/{chunk-B6OHBZER.js → chunk-GXN7DWZZ.js} +3 -3
- package/chunks/{chunk-FZRRIJPC.js → chunk-H23UWPF7.js} +3 -3
- package/chunks/{chunk-6HUXPLB5.js → chunk-HEOH7JZY.js} +5 -5
- package/chunks/{chunk-K7NMO6MP.js → chunk-HWRXJQ6B.js} +1 -1
- package/chunks/{chunk-EZXKE7ZR.js → chunk-IAS753HG.js} +1 -1
- package/chunks/{chunk-GX4SZXNA.js → chunk-J73WJIMT.js} +4 -4
- package/chunks/{chunk-EER454EK.js → chunk-JAYWZWZF.js} +2 -2
- package/chunks/{chunk-W2XHDSPB.js → chunk-JBFC2644.js} +62 -38
- package/chunks/{chunk-23364AQA.js → chunk-JPCYCFYG.js} +2 -2
- package/chunks/{chunk-CUQM374L.js → chunk-JZKBMADP.js} +4 -4
- package/chunks/{chunk-JL2RATSH.js → chunk-K7CQWBLT.js} +3 -3
- package/chunks/{chunk-ZZO262KG.js → chunk-KSIOXYVX.js} +18 -3
- package/chunks/{chunk-V2CJ5ACV.js → chunk-L3S2Y2FF.js} +11 -11
- package/chunks/{chunk-PJ4NVBFL.js → chunk-LATAUG2M.js} +1 -1
- package/chunks/{chunk-O5B74SLD.js → chunk-LBDASOPR.js} +3 -3
- package/chunks/{chunk-TL3WEDE7.js → chunk-LF5AD7PY.js} +4 -4
- package/chunks/{chunk-SH3SHAAC.js → chunk-LKCNETDW.js} +2 -2
- package/chunks/{chunk-5IVLZ75W.js → chunk-M3YNPR56.js} +3 -3
- package/chunks/{chunk-IRNPT6YS.js → chunk-MDG6GKSE.js} +2 -2
- package/chunks/{chunk-EYN3G5XD.js → chunk-ME4JBHSB.js} +2 -3
- package/chunks/{chunk-XL6R67OR.js → chunk-NN4EC2WO.js} +21 -13
- package/chunks/{chunk-6MBXY6WM.js → chunk-NRQI3PGS.js} +1 -1
- package/chunks/{chunk-PVY7BXFE.js → chunk-NRUKL236.js} +1 -1
- package/chunks/{chunk-FQ366CXY.js → chunk-NTCFKGQF.js} +1 -1
- package/chunks/{chunk-OAWN67WO.js → chunk-OMDXAHCT.js} +3 -3
- package/chunks/{chunk-QSAJ4MKA.js → chunk-PAPBT3WP.js} +1 -1
- package/chunks/{chunk-LLMV3I4Q.js → chunk-PHSQVB6D.js} +3 -3
- package/chunks/{chunk-PJHSJB57.js → chunk-Q3TFRP5G.js} +15 -1
- package/chunks/{chunk-WKPBMYSF.js → chunk-Q5CCYZD3.js} +3 -3
- package/chunks/{chunk-DPFPIOT7.js → chunk-QQL5BFOL.js} +1 -1
- package/chunks/{chunk-2WXEMERX.js → chunk-QR4Q425T.js} +8 -8
- package/chunks/{chunk-LEPWTY3O.js → chunk-RVOD66ID.js} +4 -4
- package/chunks/{chunk-Y7WJKZVZ.js → chunk-S3PU3CNW.js} +3 -3
- package/chunks/{chunk-S6IHVYGH.js → chunk-T3LUMYFP.js} +1 -1
- package/chunks/{chunk-PD4CRJHU.js → chunk-TV5WDW7R.js} +4 -4
- package/chunks/{chunk-3SWMGDCT.js → chunk-TXUJOKVR.js} +14 -13
- package/chunks/{chunk-GGPCC2O6.js → chunk-TYWLBEL2.js} +3 -3
- package/chunks/{chunk-DCJDTMU4.js → chunk-U7RWQBGZ.js} +2 -2
- package/chunks/{chunk-CJZ6MOVE.js → chunk-V3CMBOQ6.js} +1 -1
- package/chunks/{chunk-ZZFRNF5K.js → chunk-VVI7MK3V.js} +2 -2
- package/chunks/{chunk-ESW2J7ON.js → chunk-WBSJ6VPZ.js} +9 -1
- package/chunks/{chunk-MG27DO5F.js → chunk-WLLRNQVT.js} +2 -2
- package/chunks/{chunk-GVZCLTML.js → chunk-WMSP3XZK.js} +3 -3
- package/chunks/{chunk-IKRQGUQZ.js → chunk-WUTXSXPP.js} +3 -3
- package/chunks/{chunk-D4RKDHUA.js → chunk-XE5ZFBVD.js} +10 -10
- package/chunks/{chunk-KFVOIJFS.js → chunk-XO3Z27IL.js} +2 -2
- package/chunks/{chunk-AWIDTT6L.js → chunk-YVF4PKCV.js} +2 -2
- package/chunks/{chunk-64LKFG53.js → chunk-Z2H5HQS3.js} +5 -5
- package/chunks/{chunk-GIBWHLOX.js → chunk-ZDHXRKRG.js} +10 -10
- package/chunks/{chunk-35FHAAKR.js → chunk-ZRZZLM37.js} +986 -8
- package/chunks/{codex-subagent-executor-CTE6IYWO.js → codex-subagent-executor-SM3TUSBA.js} +19 -19
- package/chunks/{config-utils-T3MSOMA6.js → config-utils-JHKHFOG6.js} +20 -20
- package/chunks/{contextCommand-DRA6RWHG.js → contextCommand-XE4NDYQW.js} +19 -19
- package/chunks/{core-runtime-DOIOVZUR.js → core-runtime-PNCWH3RE.js} +18 -18
- package/chunks/{create-sub-session-LEAQEEDJ.js → create-sub-session-P7E5Y3HY.js} +19 -19
- package/chunks/{daemon-OP6Z2ERX.js → daemon-NJB4PWZ7.js} +1 -1
- package/chunks/{daemon-git-worktree-guard-ZGNE5GUV.js → daemon-git-worktree-guard-JFD5VZRN.js} +18 -18
- package/chunks/{daemon-status-provider-ZCACFU6U.js → daemon-status-provider-A3VFVFWW.js} +23 -23
- package/chunks/{daemon-trust-policy-3O7LZERE.js → daemon-trust-policy-NPZ47MZH.js} +23 -23
- package/chunks/{daemon-trust-policy-monitor-JGM72A27.js → daemon-trust-policy-monitor-XG2CHL3Z.js} +23 -23
- package/chunks/{deferred-core-runtime-I6C6EB7P.js → deferred-core-runtime-V42EMU27.js} +18 -18
- package/chunks/{display-image-OO3MAOTJ.js → display-image-QTHALY6N.js} +2 -2
- package/chunks/{dist-L45UB6DG.js → dist-NIOJXMGY.js} +102 -71
- package/chunks/{dist-IX5ZL4BX.js → dist-SE4J6Z4O.js} +0 -16
- package/chunks/{edit-GL4ZSHZV.js → edit-E2ZGJDBJ.js} +10 -10
- package/chunks/{enter-worktree-3YMTTMYK.js → enter-worktree-CAARFWBI.js} +1 -1
- package/chunks/{enterPlanMode-BJZFSV3A.js → enterPlanMode-442YAAZB.js} +10 -10
- package/chunks/{environment-XDOOQTDW.js → environment-DCJ5FVHM.js} +20 -20
- package/chunks/{errors-PTSHIV45.js → errors-ZWTDW2NJ.js} +20 -20
- package/chunks/{exec-MN63IDSM.js → exec-RPKEY6HP.js} +2 -2
- package/chunks/{exit-worktree-DEYPCZAA.js → exit-worktree-JXGGUOBP.js} +1 -1
- package/chunks/{exitPlanMode-L742HT3X.js → exitPlanMode-4PLQOFOO.js} +10 -10
- package/chunks/{fast-path-CKZNHPWU.js → fast-path-DBSGDGB3.js} +2 -2
- package/chunks/{glob-Y3H34NNT.js → glob-VWOE4W7K.js} +10 -10
- package/chunks/{goal-tools-AWL2H7QK.js → goal-tools-K6SIBXMB.js} +10 -10
- package/chunks/{handleAutoUpdate-3R7ATCE4.js → handleAutoUpdate-NCC3XELY.js} +20 -20
- package/chunks/{i18n-PYZB63V6.js → i18n-GO7JI4PT.js} +18 -18
- package/chunks/{initializer-6CLHGJVJ.js → initializer-BXKAW5A6.js} +23 -23
- package/chunks/{installationInfo-IKXW5O6I.js → installationInfo-5JONIX62.js} +18 -18
- package/chunks/{list-UIPMKBCS.js → list-QW74LCLS.js} +26 -26
- package/chunks/{llm-ER6O2W4O.js → llm-FJHSMJTM.js} +84 -54
- package/chunks/{llm-content-generator-YRAPUVYG.js → llm-content-generator-3VLLPQS4.js} +2 -2
- package/chunks/{loadedSettingsAdapter-4WAOHSDV.js → loadedSettingsAdapter-OLMQSKVC.js} +23 -23
- package/chunks/{loggingContentGenerator-PTZLKXXJ.js → loggingContentGenerator-IMLIJULY.js} +11 -11
- package/chunks/{managed-npm-update-C7FLMSFH.js → managed-npm-update-LXLBWCNA.js} +18 -18
- package/chunks/{mcp-6RN2SS7T.js → mcp-FOXA3372.js} +23 -23
- package/chunks/{model-configuration-EIFCSRAY.js → model-configuration-SCOI2KPF.js} +23 -23
- package/chunks/{modelConfigUtils-5DMOGG3B.js → modelConfigUtils-EA44S64C.js} +19 -19
- package/chunks/{monitor-P37RZSI2.js → monitor-TJAHYCCY.js} +10 -10
- package/chunks/{nonInteractiveCli-5YWGGZ4E.js → nonInteractiveCli-QH2HABWC.js} +48 -48
- package/chunks/{notebook-edit-OEJMPTW5.js → notebook-edit-WEMSBUBS.js} +10 -10
- package/chunks/{openaiContentGenerator-7JHPURMZ.js → openaiContentGenerator-WD5DWYOA.js} +6 -6
- package/chunks/{pidfile-P5X2TIL2.js → pidfile-TQL2LCEG.js} +18 -18
- package/chunks/{processUtils-DOA4253H.js → processUtils-6ZU56DCI.js} +2 -2
- package/chunks/{prompt-terminal-ledger-MX7DM4V4.js → prompt-terminal-ledger-3HAKHXFV.js} +19 -19
- package/chunks/{qwenContentGenerator-XM3GB247.js → qwenContentGenerator-3OIZQZLC.js} +11 -11
- package/chunks/{read-file-JFSNRCBD.js → read-file-2PWWL6J2.js} +2 -2
- package/chunks/{record-source-BWE35B66.js → record-source-2GSY5JD5.js} +5 -5
- package/chunks/{request-shutdown-SPSEBYSL.js → request-shutdown-53SNYGVR.js} +4 -4
- package/chunks/{resumeHistoryUtils-67ESHU3F.js → resumeHistoryUtils-S4TEUTKE.js} +19 -19
- package/chunks/{ripGrep-O6GCBWEU.js → ripGrep-5NMGLMLX.js} +3 -3
- package/chunks/{run-qwen-serve-IO7VK3ZC.js → run-qwen-serve-6MGYRK4V.js} +40 -40
- package/chunks/{runtime-MNU7B744.js → runtime-ZJYUQCPP.js} +26 -26
- package/chunks/{scheduled-tasks-CLBGVFJ4.js → scheduled-tasks-5MKF4EV3.js} +22 -22
- package/chunks/{scheduler-DIWF2K5O.js → scheduler-72DZWRH5.js} +20 -20
- package/chunks/{send-message-FV4ANRRX.js → send-message-UMJKN27Q.js} +4 -4
- package/chunks/{serve-NMY5XX3V.js → serve-7ZDMMA7I.js} +23 -23
- package/chunks/{server-O5IMI43V.js → server-ONK5RTEV.js} +56 -56
- package/chunks/{session-O3FVR3T2.js → session-XQW2LM4S.js} +49 -49
- package/chunks/{session-attachments-root-F2YOLJKH.js → session-attachments-root-Q5IUCMQV.js} +18 -18
- package/chunks/{session-pr-refresh-FQSXTPLG.js → session-pr-refresh-MVECWT3W.js} +21 -21
- package/chunks/{settings-T7NMEFK4.js → settings-DL6K2HQ3.js} +22 -22
- package/chunks/{shell-GHPOAEGC.js → shell-BLP25QJU.js} +10 -10
- package/chunks/{skill-7JILC2KS.js → skill-7KURUNLD.js} +86 -19
- package/chunks/{skill-settings-GNFZRLOZ.js → skill-settings-MY76LM46.js} +22 -22
- package/chunks/{spawnChannel-ZHHUTFJI.js → spawnChannel-IJLH3Z74.js} +18 -18
- package/chunks/{standalone-update-R7NKDQIC.js → standalone-update-YQKN7VNO.js} +19 -19
- package/chunks/{start-opentui-ui-USRLPQLO.js → start-opentui-ui-ORNGKZTG.js} +54 -54
- package/chunks/{startInteractiveUI-NEUKQXWV.js → startInteractiveUI-PRLIKB4U.js} +57 -57
- package/chunks/{task-create-GK4ZRHN6.js → task-create-75HVPEAH.js} +5 -5
- package/chunks/{task-update-RYD754BC.js → task-update-RI7QNVDP.js} +5 -5
- package/chunks/{team-create-BRVPI3DF.js → team-create-ANLKOQ44.js} +10 -10
- package/chunks/{team-plan-approval-YEEXB4MT.js → team-plan-approval-EFUENI6Y.js} +10 -10
- package/chunks/{terminal-image-renderer-HMM3QF4U.js → terminal-image-renderer-CXMFIWKC.js} +18 -18
- package/chunks/{theme-manager-6MAVJFD7.js → theme-manager-JUFYQDQQ.js} +18 -18
- package/chunks/{tool-search-73CIW3QW.js → tool-search-SNCEA4VA.js} +6 -6
- package/chunks/{total-session-admission-UCTM22WG.js → total-session-admission-UHYNUO3L.js} +19 -19
- package/chunks/{tree-sitter-4D7QS7F6.js → tree-sitter-NZ3QACD7.js} +1 -1
- package/chunks/{tree-sitter-bash-VEJGF5XF.js → tree-sitter-bash-WXHLMORC.js} +1 -1
- package/chunks/{trustedFolders-XMV5WRMN.js → trustedFolders-YBR5URPG.js} +19 -19
- package/chunks/{update-relaunch-OCGHD6WC.js → update-relaunch-L6MTSN76.js} +5 -5
- package/chunks/{updateCheck-PAZLYHHT.js → updateCheck-Z3SPZXHC.js} +18 -18
- package/chunks/{useAutoAcceptIndicator-E2WTDRSH.js → useAutoAcceptIndicator-PR5XGMO6.js} +24 -24
- package/chunks/{validateNonInterActiveAuth-CZVW5MCD.js → validateNonInterActiveAuth-KFLTWEYW.js} +46 -46
- package/chunks/{version-WVKVWOM7.js → version-NGAKFVUF.js} +1 -1
- package/chunks/{web-fetch-RBKIRWMS.js → web-fetch-WPGTHGU5.js} +2 -2
- package/chunks/web-search-JT63IJJV.js +39 -0
- package/chunks/{workflow-NYNLP6GY.js → workflow-EB63BAL4.js} +11 -11
- package/chunks/{workspace-providers-status-7L263BU5.js → workspace-providers-status-NEPR67D2.js} +25 -25
- package/chunks/{workspace-registration-store-MAMCLAGK.js → workspace-registration-store-CFWXOMGH.js} +2 -2
- package/chunks/{workspace-registry-OOPHROV3.js → workspace-registry-6KRZXOGB.js} +19 -19
- package/chunks/{workspace-runtime-coordinator-JIPW4JJK.js → workspace-runtime-coordinator-SP4X3UVH.js} +19 -19
- package/chunks/{workspace-service-YOZYD5SL.js → workspace-service-PRMYJTTV.js} +24 -24
- package/chunks/{workspace-skills-status-B4ULCDA6.js → workspace-skills-status-VYTZJ5MB.js} +23 -23
- package/chunks/{workspace-trust-reconciler-C3M6MPHY.js → workspace-trust-reconciler-B4QMGDMI.js} +24 -24
- package/chunks/{write-file-6RSRQGSH.js → write-file-EGBMW7TS.js} +11 -11
- package/chunks/{zoom-image-3Z7XY5MG.js → zoom-image-UR6K2LDR.js} +2 -2
- package/cli.js +13 -13
- package/export-transcript-document.css +1 -1
- package/export-transcript-document.js +2 -2
- package/package.json +3 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-6InpU-px.js → abnfDiagram-VCTEODGH-S_JCiANq.js} +1 -1
- package/web-shell/assets/{arc-BJceKQKt.js → arc-DP-839Xn.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-F6pU-7Bx.js → architectureDiagram-5GKGNRK7-C8rCd2KK.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-CtQkzFg8.js → blockDiagram-NRAW4CY4-DQR82jwr.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-DmVoreOx.js → c4Diagram-UCG6FXSJ-D21PNMRP.js} +1 -1
- package/web-shell/assets/channel-BgGrpX_z.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-DukYGU23.js → chunk-2Q5K7J3B-KdDInGLi.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-CC5IamNv.js → chunk-5VM5RSS4-ltb7zRmH.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-DKM2Qq2M.js → chunk-F27PBJKO-DcpQA0Ng.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-DsgSv03-.js → chunk-G27WJ6UU-C8NDZxcy.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-O75VojkH.js → chunk-JWPE2WC7-hXhhHTs1.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-D8LCH1M4.js → chunk-LCL6LL3I-CLaOR-Hl.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-BzhpTlyu.js → chunk-POPQ4Y6H-Y5_qlB1N.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-DVNfeu3e.js → chunk-SVP7TREG-BWX2Voh7.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-ut_-XHcF.js → chunk-XXDRQBXY-1wmj_kXI.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-jUH7ADYs.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-jUH7ADYs.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-nbXExTD9.js → cose-bilkent-JH36ORCC-DpLc-cdd.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-DHIbpsPP.js → cynefin-OW5HDTMX-DhxGiPZW.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-Dj4RgRVt.js → cynefinDiagram-5FMLGOSQ-Dl3jfBry.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-DPzjQQs1.js → dagre-3AP2YEHR-C8FA8vJk.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-CgMTHqHQ.js → diagram-S7CK7UJ4-D-quIUtW.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-6WMQ-q93.js → diagram-UQ7AKVKN-Bjo09Uts.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-C-ddsIeJ.js → diagram-VSXAHHWV-IoI3ttq4.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-CR2A7ua3.js → diagram-VX7I27RA-BKyOZ5SO.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-CMj_RNDH.js → diagram-Z3DM3KII-Cu_OHEhw.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-CXRb47lI.js → ebnfDiagram-PWID7BFC-UVB-bbPg.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-C-rEKTyf.js → erDiagram-SSCWMZ5O-l8drddto.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-Cv2dbaQY.js → flowDiagram-A5DVABFB-DU1I_VAI.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-ChRbmJQ8.js → ganttDiagram-EL5Y4UJY-BLRH05uB.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Dq3y4DUg.js → gitGraphDiagram-WWUBYQGX-Czg_BkRE.js} +1 -1
- package/web-shell/assets/{index-U442LJr2.js → index-CmMV8Jla.js} +1 -1
- package/web-shell/assets/{index-MjIVVWEM.js → index-DyMtNYuu.js} +460 -460
- package/web-shell/assets/index-n6N-2a3v.css +36 -0
- package/web-shell/assets/{infoDiagram-RXCK75RN-BzQK87XE.js → infoDiagram-RXCK75RN-BpBvjkro.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-BpcyTvJd.js → ishikawaDiagram-5VMMS53U-phy1l3jm.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-HqPn_FVC.js → journeyDiagram-EYS64GPL-oY-9LgVS.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-B1g68Lcv.js → kanban-definition-3QL26DDD-slZoy-sc.js} +1 -1
- package/web-shell/assets/{layout-DXJ0S3RN.js → layout-0hnn_P9l.js} +1 -1
- package/web-shell/assets/{linear-VX-Uso5u.js → linear-7Wqe8DRy.js} +1 -1
- package/web-shell/assets/{mermaid.core-cCWhhv-O.js → mermaid.core-BaK8n0bq.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-BlKikhXm.js → mindmap-definition-FBJOCRG2-BedUdy_E.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-BlHWQv4J.js → pegDiagram-XKGWAZYB-DQLRdmxq.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-CcaPWua4.js → pieDiagram-E7YTZNPT-UC20w9-5.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-mhM1osoO.js → quadrantDiagram-AXDQQJYC-CQx2Hmk3.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-NA2W7RdY.js → railroadDiagram-O6MQD6OU-2UEJe_y-.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-Cb2iHB1v.js → requirementDiagram-EFPCY7ZU-DOAJggB4.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-B0TTA4_b.js → sankeyDiagram-P5KCCOFB-DnQ_qJo7.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DOW1u29V.js → sequenceDiagram-WJ2MYXX4-DZrZUoCo.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-DLCK4-3B.js → sizeCapture-X5ZJPWSS-B5G4GDQB.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-DwV3tZJD.js → stateDiagram-HBIQ2CUA-Bn1cT0qF.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BF3xtNvJ.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-DaGDuta5.js → swimlanes-XN3QIQJK-Bzhcdn87.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-B753mA3E.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-CmSJhJ0l.js → timeline-definition-24CTP7MA-BqZ_3D10.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-BunfL5lY.js → vennDiagram-4TSXK5OY-z9kw1kmm.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-7OBAcPwE.js → wardleyDiagram-VM6X3IG4-Cydp1zJW.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-Dl2cDw8e.js → xychartDiagram-S5SC5T6Z-j4X1lQKo.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/web-search-OT52UYJV.js +0 -970
- package/web-shell/assets/channel-9aDcSLsi.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-CCU2VWF9.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-CCU2VWF9.js +0 -1
- package/web-shell/assets/index-DOnC5Nfy.css +0 -36
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-quNW8GUZ.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-CHl9Y2Lo.js +0 -8
|
@@ -17,7 +17,7 @@ If `node_repl` is unavailable, run:
|
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
19
|
qwen mcp add --scope user node-repl npx -y @qwen-code/node-repl-mcp@0.1.4
|
|
20
|
-
npm install --no-save --package-lock=false @qwen-code/cua-sdk@0.20.
|
|
20
|
+
npm install --no-save --package-lock=false @qwen-code/cua-sdk@0.20.7
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
Tell the user to restart Qwen Code, then stop. If only the SDK import is missing,
|
|
@@ -67,7 +67,7 @@ without interactive confirmations:
|
|
|
67
67
|
YOLO mode auto-approves every tool call. Use it only for a trusted bot account
|
|
68
68
|
and workspace.
|
|
69
69
|
|
|
70
|
-
`senderPolicy` and `groupPolicy` default to `pairing` for a newly managed DWS channel. Approve a user or group with the code returned by the channel:
|
|
70
|
+
`senderPolicy` and `groupPolicy` default to `pairing` for a newly managed DWS channel. `dmPolicy` defaults to `open`, including existing configurations that omit it. Approve a user or group with the code returned by the channel:
|
|
71
71
|
|
|
72
72
|
```bash
|
|
73
73
|
qwen channel pairing approve dws-work CODE
|
|
@@ -75,6 +75,10 @@ qwen channel pairing approve dws-work CODE
|
|
|
75
75
|
|
|
76
76
|
`senderPolicy` controls direct-message senders, document-notification authors, native-todo creators, and senders in `open` or `allowlist` groups. `groupPolicy` controls group conversations. An approved pairing group follows the shared channel behavior and authorizes its members; open and allowlist groups must also pass `senderPolicy`.
|
|
77
77
|
|
|
78
|
+
Group and direct-message access can be configured independently. For a group-only channel, set `dmPolicy: "disabled"` and choose an enabled `groupPolicy`. For a direct-message-only channel, set `groupPolicy: "disabled"` and `dmPolicy: "open"`. Direct-message access also controls document notifications. Native todo polling remains controlled separately by `watchTodos`.
|
|
79
|
+
|
|
80
|
+
Disabled chat sources are not subscribed to or polled, and their messages cannot start new tasks through late callbacks or persisted replay. Pending work and history cursors are retained: after re-enabling a source, the existing recovery mechanism may process older messages, including messages from the disabled interval. Sender authorization, group pairing, and mention requirements still apply.
|
|
81
|
+
|
|
78
82
|
`groups` controls mention behavior. A concrete group ID overrides `"*"`. With `requireMention: true`, only an @ message wakes the channel. With `requireMention: false`, ordinary messages are also received after the group and sender policies pass.
|
|
79
83
|
|
|
80
84
|
Group mentions use the real-time personal event stream first. The channel also checks recent `@` message history every five seconds, so mentions from external groups are recovered when DingTalk omits them from the personal event stream. Messages are deduplicated by conversation and message ID across both paths.
|
|
@@ -414,7 +414,7 @@ The exit code is the contract a gate should read:
|
|
|
414
414
|
|
|
415
415
|
`--resume` continues an interrupted review of the same PR instead of starting over — when a long local run dies part-way (a dropped connection, a timeout, a killed terminal), the retry would otherwise re-fetch, re-chunk and re-launch agents whose work is already on disk. It is safe to pass unconditionally on a retry: `fetch-pr` rules on the on-disk state itself (worktree still at the fetched SHA and clean, diff bytes unchanged, PR head unmoved, resume cap unspent) and silently falls back to a fresh review whenever anything no longer matches, so the flag never fails a run that could start over. When the current invocation has only the built-in target default, a continuation stays pinned to the interrupted run's recorded effort. An explicit `--effort`, a project-remembered level, the operator `review.effort` setting, or an effective `--comment` supplies a required level; a mismatch refuses the resume and runs fresh at that level. PR targets only (a local review's diff is captured from a live working tree, which has no stable interrupted state to continue). Resume is a **local convenience**: the repository's own CI review workflow does **not** resume — each retry re-runs fresh, because a CI attempt runs no-sandbox and its worktree is deleted on exit, leaving no interrupted state to continue.
|
|
416
416
|
|
|
417
|
-
A time-budgeted run can also export a **soft** deadline so the review stops its open-ended reverse-audit loop while there is still time to verify, compose and post: `QWEN_REVIEW_DEADLINE_EPOCH` is the Unix-seconds moment the run will be killed, and `QWEN_REVIEW_DEADLINE_RESERVE_SECONDS` (default 4800; `0` keeps only the round estimate) is the tail that must remain for the last round's verification, `compose-review` and submission. When the remaining budget no longer fits another round plus that tail, the round builder refuses to build it, and the composed verdict discloses the truncated audit (an otherwise-Approve verdict is capped at Comment). Without that variable the review uses the wall its plan recorded at capture: `--deadline <minutes>` on `qwen review fetch-pr` / `capture-local` / `plan-diff`, or by default **8 hours** on a small (Step 3A) diff, **12** on a large (3B) one and **16** on a huge one. That default is a liveness bound — sized above what a healthy run at the round cap spends — so it ends a loop that has stopped converging and leaves a run that keeps working untouched; it is charged in elapsed time, idle included, so a session left overnight spends it, and because the next round is priced from the previous round's admission, a multi-hour pause between rounds can stop a run with time still on the wall (a `--resume` from a new session restarts both the wall and the pricing). It stops the loop at the next round admission or verify build; it does not interrupt a build already running. A plan-recorded wall keeps a third of itself (capped at 4800 seconds, floored at the compose floor) as the tail reserve unless the reserve variable is set; a `--deadline` that cannot hold a convergence (two rounds plus that reserve — at or under ninety minutes, or more when the shell's reserve or compose-floor overrides raise the bar; that second leg is skipped while the environment exports a well-formed epoch, since the flag is inert then, and the wall it records is priced again in whatever shell a later env-less `--resume` runs in) is refused up front, and a wall just above it can still stop before round 1 once the fan-out and verification have spent it. When the wall can no longer admit a rebuild the coverage check would otherwise prescribe (a reverse-audit round, or a verifier shard under the compose floor), `compose-review` withholds that `FIX:` line and prints a `NOTE:` line saying so, with the gate's arithmetic; the gap is still disclosed in the posted body. The plan wall bounds the round builder and the verifier; two readers stay on the environment alone — the generated review workflow's launch allowance, and `qwen review run`'s own `--timeout-minutes` kill, which is not exported as a deadline. The plan stores the wall as a duration from the attempt's start, so a `--resume` from a new session renews it (a same-session resume continues the attempt and its wall; the flag itself is ignored on a resumed run — only its grammar and the default rule are checked — and the run says what wall the plan holds and how much of it is left, or that it has run out, and which builds the gates will now refuse; a wall can only run out on a same-session resume, or when the ledger failed to record the attempt, so the cheapest way past it is to resume from a new session, which renews the wall and keeps the worktree; a fresh review without `--resume` records a new wall too, and `--deadline none` on that fresh capture records none). `--deadline none` records no wall and leaves the loop bounded by the round cap alone — unless the environment exports an epoch, which clocks the run regardless. The `/review` slash command does not take the flag: it warns and drops it together with a value that could be one (whole minutes, or `none` — so a PR number typed right after it is dropped too), while any other value after it is disposed of like an invalid `--effort` value (a PR URL becomes the target; a typo is reported, and survives only as a sole file-shaped token), and a skill-driven run always uses the default. The huge tier's round reduction (3 rounds instead of 5) keys on an explicit deadline only — the environment's or the flag's — never on the default. A malformed environment deadline falls through to the plan's wall; a malformed plan field leaves the review ungated — the outer timeout still bounds the run.
|
|
417
|
+
A time-budgeted run can also export a **soft** deadline so the review stops its open-ended reverse-audit loop while there is still time to verify, compose and post: `QWEN_REVIEW_DEADLINE_EPOCH` is the Unix-seconds moment the run will be killed, and `QWEN_REVIEW_DEADLINE_RESERVE_SECONDS` (default 4800; `0` keeps only the round estimate) is the tail that must remain for the last round's verification, `compose-review` and submission. When the remaining budget no longer fits another round plus that tail, the round builder refuses to build it, and the composed verdict discloses the truncated audit (an otherwise-Approve verdict is capped at Comment). Without that variable the review uses the wall its plan recorded at capture: `--deadline <minutes>` on `qwen review fetch-pr` / `capture-local` / `plan-diff`, or by default **8 hours** on a small (Step 3A) diff, **12** on a large (3B) one and **16** on a huge one. That default is a liveness bound — sized above what a healthy run at the round cap spends — so it ends a loop that has stopped converging and leaves a run that keeps working untouched; it is charged in elapsed time, idle included, so a session left overnight spends it, and because the next round is priced from the previous round's admission, a multi-hour pause between rounds can stop a run with time still on the wall (a `--resume` from a new session restarts both the wall and the pricing; **Review Deadline** below gives the ceilings). It stops the loop at the next round admission or verify build; it does not interrupt a build already running. A plan-recorded wall keeps a third of itself (capped at 4800 seconds, floored at the compose floor) as the tail reserve unless the reserve variable is set; a `--deadline` that cannot hold a convergence (two rounds plus that reserve — at or under ninety minutes, or more when the shell's reserve or compose-floor overrides raise the bar; that second leg is skipped while the environment exports a well-formed epoch, since the flag is inert then, and the wall it records is priced again in whatever shell a later env-less `--resume` runs in) is refused up front, and a wall just above it can still stop before round 1 once the fan-out and verification have spent it. When the wall can no longer admit a rebuild the coverage check would otherwise prescribe (a reverse-audit round, or a verifier shard under the compose floor), `compose-review` withholds that `FIX:` line and prints a `NOTE:` line saying so, with the gate's arithmetic; the gap is still disclosed in the posted body. The plan wall bounds the round builder and the verifier; two readers stay on the environment alone — the generated review workflow's launch allowance, and `qwen review run`'s own `--timeout-minutes` kill, which is not exported as a deadline. The plan stores the wall as a duration from the attempt's start, so a `--resume` from a new session renews it (a same-session resume continues the attempt and its wall; the flag itself is ignored on a resumed run — only its grammar and the default rule are checked — and the run says what wall the plan holds and how much of it is left, or that it has run out, and which builds the gates will now refuse; a wall can only run out on a same-session resume, or when the ledger failed to record the attempt, so the cheapest way past it is to resume from a new session, which renews the wall and keeps the worktree; a fresh review without `--resume` records a new wall too, and `--deadline none` on that fresh capture records none). `--deadline none` records no wall and leaves the loop bounded by the round cap alone — unless the environment exports an epoch, which clocks the run regardless. The `/review` slash command does not take the flag: it warns and drops it together with a value that could be one (whole minutes, or `none` — so a PR number typed right after it is dropped too), while any other value after it is disposed of like an invalid `--effort` value (a PR URL becomes the target; a typo is reported, and survives only as a sole file-shaped token), and a skill-driven run always uses the default. The huge tier's round reduction (3 rounds instead of 5) keys on an explicit deadline only — the environment's or the flag's — never on the default. A malformed environment deadline falls through to the plan's wall; a malformed plan field leaves the review ungated — the outer timeout still bounds the run.
|
|
418
418
|
|
|
419
419
|
Nested inside that reserve is a smaller **compose floor**, `QWEN_REVIEW_DEADLINE_COMPOSE_FLOOR_SECONDS` (default 1200; `0` disables this gate entirely, at every point including past the deadline). The reserve is one number covering "verify the last round **plus** compose **plus** submit", which fits a normal per-finding re-trace but not a security review whose verification re-runs real filesystem/git workloads without bound. So the verifier — not the round builder — is gated on this floor: once the floor or less remains, `agent-prompt --role verify` refuses to build (a `VERIFY BUDGET:` line, exit **4**), the findings in hand keep their unverified tag (which caps the verdict), and `compose-review` and submission run. Under the plan's own rule the floor never exceeds the reserve (a plan-recorded wall's reserve can sit exactly on it), and the round gate prices the round on top of the reserve, so a healthy run hits the reverse-audit gate first and never reaches it (an explicit `QWEN_REVIEW_DEADLINE_RESERVE_SECONDS` below the floor — `0` is the documented escape hatch — is the operator's choice, and then the verifier's gate can fire first); it is the cover for the one span the reserve cannot bound.
|
|
420
420
|
|
|
@@ -447,6 +447,20 @@ Two things it deliberately does not do. It **never scales a dimension away**: wh
|
|
|
447
447
|
|
|
448
448
|
Why the floors are where they are: on a nine-line typo fix, six inline walks are five walks over nothing, and the sweep — a fresh reader hunting what the first pass did not get to — has nothing to hunt when the first pass got to all of it. When a low-effort pass stays below `candidateFloor`, it takes one deterministic second look at every coverable hunk in the largest changed source file (falling back to the largest coverable file of any kind) and every coverable removed block. Files touching an uncoverable chunk are excluded from the target selection, and the pass always emits a receipt naming its target, new-candidate count, and any uncoverable chunks; when no file is coverable, it still checks the coverable removed blocks and discloses the missing target. The floor is a stopping signal, not a quota: a clean diff can still report no findings after that re-pass. Agent 8's floor is the substantive one: "one domain dominates the diff" is a judgement, and a judgement made about forty lines finds a dominant domain every time, because forty lines are usually all one thing.
|
|
449
449
|
|
|
450
|
+
## Review Deadline
|
|
451
|
+
|
|
452
|
+
Every review records a wall clock in its plan unless it was captured with `--deadline none` — `--deadline <minutes>` on `qwen review fetch-pr`, `capture-local` or `plan-diff`, otherwise **8 hours** on a small diff, **12** on a large one and **16** on a huge one — and a `QWEN_REVIEW_DEADLINE_EPOCH` exported by CI replaces it. At `high` effort the wall ends the reverse-audit loop at the first round it can no longer admit, and at `high` and `medium` effort it stops the verifier once no more than the compose floor remains; it never interrupts an agent that is already running. A review stopped this way composes its verdict with the stop disclosed and the verdict capped, verifies the last round's findings only while more than the compose floor remains, and reports what it proved like any other review. Running `/review` again does not continue the stopped audit: at `high` effort a PR review follows the Incremental Review rules above and may report nothing new on an unchanged head, and a local review with its cache may stop the same way on an unchanged working tree; at `medium` effort the review simply runs again.
|
|
453
|
+
|
|
454
|
+
The wall is elapsed time, pauses included, and a pause is charged twice: it spends the wall, and while it is the longest gap between two round admissions it is also the price of the next round. The pause that matters in practice falls after the first audit pair — rounds 1 and 2, which launch together — and before round 3. Under the default reserve, a review whose pair launched the moment its capture finished can pause for at most:
|
|
455
|
+
|
|
456
|
+
| Diff | Default wall | Reserve | Longest pause after the first audit pair |
|
|
457
|
+
| --------------- | ------------ | ------- | ---------------------------------------- |
|
|
458
|
+
| Small (Step 3A) | 8 h | 80 min | 3 h 20 min |
|
|
459
|
+
| Large (Step 3B) | 12 h | 80 min | 5 h 20 min |
|
|
460
|
+
| Huge | 16 h | 80 min | 7 h 20 min |
|
|
461
|
+
|
|
462
|
+
Those are ceilings, and the same rule covers any wall of 4 hours or more under the default reserve: at most (wall − 80 min) / 2 after a pair launched at capture. The pause is counted from the pair's launch, so it includes the pair's own audits and the verifiers that ride with it, and every minute the review spent before the pair launched takes half a minute off. Each later gap is held to at most half of what was left above the reserve at the previous admission, and can be held to less, for instance once an earlier gap was longer than that half. The precedence rules, the environment variables that set the wall and the reserve, and the up-front refusal of a too-short `--deadline` are described under Headless runs above. The `/review` slash command takes no `--deadline`, so a review started from a session gets a different wall only through those environment variables, and they apply to every review the session runs: `QWEN_REVIEW_DEADLINE_EPOCH` is one absolute moment shared by all of them, and like an explicit `--deadline` it cuts a huge diff's round cap from 5 to 3. A `--resume` from a new session restarts the wall and the pricing for an interrupted PR review.
|
|
463
|
+
|
|
450
464
|
## Token Efficiency
|
|
451
465
|
|
|
452
466
|
The high-effort pipeline bounds each stage (shard size, audit rounds), but total calls scale with findings — `ceil(F/8)` verification shards — and, under 3B, with chunk count (reverse audit runs per chunk per round). Typical 3A profile:
|
|
@@ -26,7 +26,7 @@ When first used, the skill runs these commands itself:
|
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
28
|
qwen mcp add --scope user node-repl npx -y @qwen-code/node-repl-mcp@0.1.4
|
|
29
|
-
npm install --no-save --package-lock=false @qwen-code/cua-sdk@0.20.
|
|
29
|
+
npm install --no-save --package-lock=false @qwen-code/cua-sdk@0.20.7
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
Restart Qwen Code after the MCP server is first added. The skill then resumes
|
|
@@ -22,7 +22,7 @@ Two more windows are available and off by default: [`model.goalMaxTurns`](../con
|
|
|
22
22
|
|
|
23
23
|
Each turn the session takes on its own reports what the Goal has spent so far, how many turns are behind it, and — unless the Goal runs unbounded — the window it is allowed. Every such turn except the final wind-down hand-off also carries standing instructions to re-check the workspace rather than trust earlier turns' reports, to work toward the end state the objective asks for, to do something different when the previous turn changed nothing (from the second turn on, once there is a previous turn to judge), and to check every requirement against citable evidence before proposing that the Goal is done.
|
|
24
24
|
|
|
25
|
-
A long Goal periodically compresses the evidence it has recorded into checkpoint claims with a side model check, so later turns and the verifier still have it to cite.
|
|
25
|
+
A long Goal periodically compresses the evidence it has recorded into checkpoint claims with a side model check, so later turns and the verifier still have it to cite. Each model call the check makes is bounded by [`model.goalCheckpointTimeoutSeconds`](../configuration/settings.md), 180 seconds by default. A reply wrapped in a markdown fence is read without the fence. If its claims overrun the aggregate byte budget, include a claim over the per-claim character limit, number more than one checkpoint may hold, cite an id that was not in the request, or change the proof kind of a source they cite, it makes one corrective model call that names what was wrong, and both calls share that ceiling. A reply that is not a JSON object holding a non-empty `claims` array gets no corrective call, and neither does one with any malformed claim, even beside usable ones: an extra key at either level, an unrecognised `proofKind`, an empty claim, or a `sourceRefs` list that is empty, holds a non-string or empty id, repeats an id, or holds more than 32 ids. A check that does not finish in time is abandoned as inconclusive; it counts toward the checkpoint stall limit only when the evidence window has overflowed, while a non-overflowing check preserves the streak and retries on a later turn. A check after a stall on an overflowing window does not resend the same request: it sends the evidence in batches of 24 records, or 12 after a second stall, one model call per batch, each bounded by that ceiling on its own. A window that still has room, and the check a resumed session replays at startup, are still sent in one call, since neither can spend a stall. Each batch's claims are carried into the next, and only the last batch's claims are kept. A batch that fails ends the check the way a failed single call does, and the recorded failure names the batch, as in `batch 2/5: …`. A check after a stall can therefore take up to five times the ceiling, or nine times after a second stall, and a message you send meanwhile waits for it; the whole span counts as active time, so it is charged against `model.goalMaxActiveMinutes` like any other wait. Batching helps when the model could not answer for the whole window in time or with usable claims; a checkpoint that comes back with the full 32 claims and still leaves evidence behind still needs a narrower objective. The calls are streamed, so the per-request transport timeout bounds only connect and first response, and the ceiling itself stops at the stream guards' 15-minute lifetime cap because past that the guard, not the setting, ends the check. That 15-minute limit on the setting is fixed, and raising the stream guard's own cap does not lift it.
|
|
26
26
|
|
|
27
27
|
A failing checkpoint shows up before it stops the Goal. While an active Goal's stall streak runs, the footer pill switches to `checkpoint N/3 stalled` on its own; once the Goal pauses or stops, the pill shows that status instead. The web shell's Goal status strip shows the count whatever the status. Whenever a terminal Goal status card is rendered, for example by `/goal` or by a pause, resume or verifier card, it shows how many consecutive checks have stalled out of the three the Goal allows, together with the last failure while one is recorded; the web shell's Goals dialog and headless `/goal` text output show the same line, while the web shell's transcript cards for Goal events show only the stop reason, and the model sees both fields when it reads the Goal. A check that fails while the window still has room is shown too, without spending a stall, but only while the Goal is active, or when that failure is itself what stopped the Goal, as with a checkpoint request too large to send. A checkpoint stop for any other reason clears the failure and keeps the streak, and a completed Goal shows no checkpoint line. The failure is kept as a single line with control characters removed. A Goal stopped by three stalled checkpoints names what the last one ran into. A check that could not fit the window within the checkpoint claim bounds, whether a full claim list that still left evidence behind or claims over the claim count or size budget, means the objective produces more evidence than one window holds, so narrow it. An answer that could not be folded into claims means the checkpoint model is not returning the structured output it is asked for, and narrowing the objective does not fix that. A check that never answered can mean an unreachable or rate-limited provider, a check that did not finish within `model.goalCheckpointTimeoutSeconds`, or an error in the check itself; the recorded failure says which. Resuming after any of the three starts a fresh evidence window.
|
|
28
28
|
|
|
@@ -383,7 +383,7 @@ Hooks fire at specific points during a Qwen Code session. Different events suppo
|
|
|
383
383
|
- A matcher is first compared exactly. In a `|`-separated list such as `permission_prompt | idle_prompt`, the matcher matches when any entry, ignoring spaces around it, is `*`, `.*`, or exactly the value, unless the whole matcher starts with `^` or `(`, in which case it is only a regular expression. Only a `|` outside `[...]` and groups, and not escaped with a backslash, separates entries: the pipes in `notes\|todo\.md`, `foo[ |]bar` and `a(b | c)` are part of the regular expression, and the spaces around them are kept. List entries are never read as regular expressions on their own
|
|
384
384
|
- Otherwise the matcher is an unanchored regular expression (e.g., `^run_shell_command$`, `read_.*`, `(write_file|edit)`). For a list that does not start with `^` or `(`, the expression is built from the trimmed, non-empty entries, so a stray `|` as in `read_(file|edit)|` is ignored and never makes the matcher match everything, and a matcher of only `|` matches nothing. A matcher that starts with `^` or `(` is compiled exactly as written, so a trailing `|` there, as in `^write_file|`, does make it match everything. Because the expression is unanchored, `read` also matches `read_file` and `edit` also matches `notebook_edit`. Add `^` and `$` to match a whole value, and anchor exclusions as well: `^(?!write_file).*$` excludes `write_file`, while unanchored `(?!write_file).*` still matches it
|
|
385
385
|
- The same rules apply to every event that supports a matcher, and to hooks registered by skills
|
|
386
|
-
- Tool hooks receive the runtime tool id in `tool_name` (for example, `write_file`). Built-in display names such as `WriteFile` and `ReadFile` are also accepted as matcher aliases for compatibility,
|
|
386
|
+
- Tool hooks receive the runtime tool id in `tool_name` (for example, `write_file`). Built-in display names such as `WriteFile` and `ReadFile` are also accepted as matcher aliases for compatibility, and so are the tool names permission rules accept, including Claude Code's `Bash`, `Read` and `Write`, so a matcher copied from a Claude Code config such as `"Bash"` or `"Write|Edit"` works unchanged. New configs should still prefer runtime ids. Aliases are only compared exactly, so anchor runtime ids (`^write_file$`), not display names. Each alias names exactly one tool: unlike a permission rule, a `Read` matcher does not also cover `grep_search` or `glob`, and a `Bash` matcher does not cover `monitor`.
|
|
387
387
|
|
|
388
388
|
**Examples:**
|
|
389
389
|
|
|
@@ -223,7 +223,8 @@ exit 0
|
|
|
223
223
|
Notes:
|
|
224
224
|
|
|
225
225
|
- Hooks are registered when the Skill is invoked and last for the rest of the session. This is true on both invocation paths — whether the model calls the Skill or you type `/<skill-name>`.
|
|
226
|
-
-
|
|
226
|
+
- Resuming a session with `--continue` / `--resume` re-applies both halves — the `allowedTools` allow rules and the `hooks:` — of every Skill the **model** loaded through the Skill tool, because those invocations are recorded in the conversation as tool calls. The grants last for the resumed session only, the same as a live invocation. A Skill you started yourself with `/<skill-name>` is submitted as an ordinary prompt and leaves no tool-call record, so it is not restored — re-run `/<skill-name>` after resuming to re-arm its gate.
|
|
227
|
+
- Resume does not re-apply them for a Skill a fresh tool call would refuse today (disabled, hidden from the model with `disable-model-invocation`, or a `paths:` Skill not yet activated), for a **project** Skill whose folder is no longer trusted, or when the recorded body does not match the body in `SKILL.md` — because it was edited, or because it was too long and was truncated for the model. In these cases a Skill that declares `hooks:` or `allowedTools` leaves a debug log line saying why. Resume also skips, without a log line, a Skill loaded from inside an `exec` script and a Skill that is no longer discovered (for example, one that was removed or renamed). The match covers the body only, so an edit to just the frontmatter is re-applied with the new `allowedTools` and `hooks:`.
|
|
227
228
|
- Registration is idempotent: re-invoking a Skill does not stack duplicate hooks.
|
|
228
229
|
- A Skill hook's `matcher:` follows the same rules as a settings hook (see [Hooks](hooks.md)). An omitted or empty `matcher:` matches every tool, and matchers are not anchored, so `edit` also matches `notebook_edit`. Skill hooks used to wrap their matcher in `^…$` and to match nothing when it was omitted: write `^edit$` to match exactly one tool, and write exclusions as `^(?!write_file).*$`.
|
|
229
230
|
- The `command:` runs through the platform shell: `bash` on macOS and Linux, and on Windows Git Bash when it is detected (`MSYSTEM`/`TERM`), otherwise `cmd.exe` or PowerShell. The example above is POSIX shell — under `cmd.exe` `$QWEN_SKILL_ROOT` is not expanded and a `.sh` script is not executable, so the gate fails open there. A hook may set `shell: bash` to force bash, but that resolves to whatever `bash` is on `PATH`, so on Windows outside Git Bash write the gate for the shell you actually have.
|
|
@@ -14,35 +14,35 @@ import "./chunk-47ECGEJC.js";
|
|
|
14
14
|
import "./chunk-2MIN6GRR.js";
|
|
15
15
|
import "./chunk-QHTIBUWB.js";
|
|
16
16
|
import "./chunk-RKUWKYED.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-BS7ON54G.js";
|
|
18
18
|
import "./chunk-GELRJXE2.js";
|
|
19
19
|
import "./chunk-32CM56LO.js";
|
|
20
20
|
import "./chunk-6WXVEDT2.js";
|
|
21
21
|
import "./chunk-LJZSMWOH.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-ZRZZLM37.js";
|
|
23
|
+
import "./chunk-YVF4PKCV.js";
|
|
24
24
|
import "./chunk-EKMJR7M3.js";
|
|
25
25
|
import "./chunk-EDB556X7.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-QR4Q425T.js";
|
|
27
|
+
import "./chunk-C5ABXOC2.js";
|
|
28
28
|
import "./chunk-DJXSOEFB.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-5VQR2DD7.js";
|
|
30
30
|
import "./chunk-BUQN5LTI.js";
|
|
31
31
|
import "./chunk-ZPJWUGCS.js";
|
|
32
32
|
import "./chunk-YM6KUQ2S.js";
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-FFBP5POK.js";
|
|
34
|
+
import "./chunk-C3VNHDWJ.js";
|
|
35
|
+
import "./chunk-CFSBWJBB.js";
|
|
36
36
|
import "./chunk-GOFAQQZA.js";
|
|
37
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-HEOH7JZY.js";
|
|
38
38
|
import "./chunk-TWPJO254.js";
|
|
39
39
|
import "./chunk-CQ35AJ4Z.js";
|
|
40
40
|
import "./chunk-65I7S4Z3.js";
|
|
41
41
|
import "./chunk-7CLLH5TI.js";
|
|
42
42
|
import "./chunk-WK6DEH3Q.js";
|
|
43
43
|
import "./chunk-6PVPNMXU.js";
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-QQL5BFOL.js";
|
|
45
|
+
import "./chunk-ME4JBHSB.js";
|
|
46
46
|
import "./chunk-GNV2SFO7.js";
|
|
47
47
|
import "./chunk-5EZRLTLQ.js";
|
|
48
48
|
import "./chunk-QHWCP53L.js";
|
|
@@ -58,7 +58,7 @@ import "./chunk-ELRMZTPF.js";
|
|
|
58
58
|
import "./chunk-U6H3XTFA.js";
|
|
59
59
|
import "./chunk-ACHCT36C.js";
|
|
60
60
|
import "./chunk-CHEIIBT3.js";
|
|
61
|
-
import "./chunk-
|
|
61
|
+
import "./chunk-AEWCOE64.js";
|
|
62
62
|
import "./chunk-OWUAZXXN.js";
|
|
63
63
|
import "./chunk-CH2YDT6X.js";
|
|
64
64
|
import "./chunk-JX6XHPTX.js";
|
|
@@ -68,10 +68,10 @@ import "./chunk-AXZMWAJV.js";
|
|
|
68
68
|
import "./chunk-NXUZFW3G.js";
|
|
69
69
|
import "./chunk-WFNEY5G7.js";
|
|
70
70
|
import "./chunk-GSS4SZNG.js";
|
|
71
|
-
import "./chunk-
|
|
71
|
+
import "./chunk-BW2SMO6L.js";
|
|
72
72
|
import "./chunk-S6LOFUVP.js";
|
|
73
|
-
import "./chunk-
|
|
74
|
-
import "./chunk-
|
|
73
|
+
import "./chunk-VVI7MK3V.js";
|
|
74
|
+
import "./chunk-WBSJ6VPZ.js";
|
|
75
75
|
import "./chunk-G6UUOCUT.js";
|
|
76
76
|
import "./chunk-IZ2U57NY.js";
|
|
77
77
|
import "./chunk-Z72PLR74.js";
|
|
@@ -90,7 +90,7 @@ import "./chunk-C75BXMPM.js";
|
|
|
90
90
|
import "./chunk-KFFCDLKV.js";
|
|
91
91
|
import "./chunk-KP2FHIFR.js";
|
|
92
92
|
import "./chunk-L6DIANLD.js";
|
|
93
|
-
import "./chunk-
|
|
93
|
+
import "./chunk-NRUKL236.js";
|
|
94
94
|
import "./chunk-5ETULJLP.js";
|
|
95
95
|
import "./chunk-7MIBD3LG.js";
|
|
96
96
|
import "./chunk-VGC4I5JJ.js";
|
|
@@ -102,7 +102,7 @@ import "./chunk-WZAD4ZNJ.js";
|
|
|
102
102
|
import "./chunk-ARDHE6MM.js";
|
|
103
103
|
import "./chunk-FPGTNKCP.js";
|
|
104
104
|
import "./chunk-TIGXX4PA.js";
|
|
105
|
-
import "./chunk-
|
|
105
|
+
import "./chunk-6TMXX4Z4.js";
|
|
106
106
|
import "./chunk-XFFRI3WM.js";
|
|
107
107
|
import "./chunk-ERU3SDXT.js";
|
|
108
108
|
import "./chunk-EWJTAP3Y.js";
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
import {
|
|
4
4
|
ConfigContext,
|
|
5
5
|
SessionPicker
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-NN4EC2WO.js";
|
|
7
7
|
import {
|
|
8
8
|
SettingsContext
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-TYWLBEL2.js";
|
|
10
|
+
import "./chunk-WUTXSXPP.js";
|
|
11
11
|
import {
|
|
12
12
|
KeypressProvider
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-T3LUMYFP.js";
|
|
14
|
+
import "./chunk-WLLRNQVT.js";
|
|
15
15
|
import "./chunk-YGFJ6BRT.js";
|
|
16
16
|
import "./chunk-FBDHP23D.js";
|
|
17
17
|
import "./chunk-4WGODMVR.js";
|
|
@@ -30,60 +30,60 @@ import {
|
|
|
30
30
|
import {
|
|
31
31
|
require_react
|
|
32
32
|
} from "./chunk-5QWWOFGG.js";
|
|
33
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-BNYQHLPR.js";
|
|
34
34
|
import "./chunk-JRHKM3YQ.js";
|
|
35
35
|
import "./chunk-C4HBZQNH.js";
|
|
36
36
|
import "./chunk-EKTCKZV5.js";
|
|
37
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-EZSSJSKR.js";
|
|
38
38
|
import "./chunk-2S2WIGCM.js";
|
|
39
39
|
import "./chunk-47ECGEJC.js";
|
|
40
40
|
import "./chunk-2MIN6GRR.js";
|
|
41
41
|
import "./chunk-QHTIBUWB.js";
|
|
42
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-GXN7DWZZ.js";
|
|
43
43
|
import "./chunk-57OAHC2Y.js";
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-J73WJIMT.js";
|
|
45
|
+
import "./chunk-KSIOXYVX.js";
|
|
46
46
|
import "./chunk-RKUWKYED.js";
|
|
47
47
|
import "./chunk-I6YJZGHS.js";
|
|
48
48
|
import "./chunk-5EJZE3FP.js";
|
|
49
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-A6YU6R5N.js";
|
|
50
50
|
import "./chunk-BW4333PP.js";
|
|
51
51
|
import "./chunk-IDS7MSUP.js";
|
|
52
52
|
import "./chunk-XX5HQLCZ.js";
|
|
53
|
-
import "./chunk-
|
|
53
|
+
import "./chunk-NTCFKGQF.js";
|
|
54
54
|
import "./chunk-NPQ5ZKRP.js";
|
|
55
55
|
import "./chunk-MR3PXB6E.js";
|
|
56
|
-
import "./chunk-
|
|
56
|
+
import "./chunk-BS7ON54G.js";
|
|
57
57
|
import "./chunk-GELRJXE2.js";
|
|
58
58
|
import "./chunk-32CM56LO.js";
|
|
59
59
|
import "./chunk-6WXVEDT2.js";
|
|
60
60
|
import "./chunk-LJZSMWOH.js";
|
|
61
|
-
import "./chunk-
|
|
62
|
-
import "./chunk-
|
|
61
|
+
import "./chunk-ZRZZLM37.js";
|
|
62
|
+
import "./chunk-YVF4PKCV.js";
|
|
63
63
|
import "./chunk-EKMJR7M3.js";
|
|
64
64
|
import "./chunk-EDB556X7.js";
|
|
65
|
-
import "./chunk-
|
|
66
|
-
import "./chunk-
|
|
65
|
+
import "./chunk-QR4Q425T.js";
|
|
66
|
+
import "./chunk-C5ABXOC2.js";
|
|
67
67
|
import "./chunk-DJXSOEFB.js";
|
|
68
|
-
import "./chunk-
|
|
68
|
+
import "./chunk-5VQR2DD7.js";
|
|
69
69
|
import "./chunk-BUQN5LTI.js";
|
|
70
70
|
import "./chunk-ZPJWUGCS.js";
|
|
71
71
|
import "./chunk-YM6KUQ2S.js";
|
|
72
|
-
import "./chunk-
|
|
73
|
-
import "./chunk-
|
|
72
|
+
import "./chunk-FFBP5POK.js";
|
|
73
|
+
import "./chunk-C3VNHDWJ.js";
|
|
74
74
|
import {
|
|
75
75
|
SessionService
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-CFSBWJBB.js";
|
|
77
77
|
import "./chunk-GOFAQQZA.js";
|
|
78
|
-
import "./chunk-
|
|
78
|
+
import "./chunk-HEOH7JZY.js";
|
|
79
79
|
import "./chunk-TWPJO254.js";
|
|
80
80
|
import "./chunk-CQ35AJ4Z.js";
|
|
81
81
|
import "./chunk-65I7S4Z3.js";
|
|
82
82
|
import "./chunk-7CLLH5TI.js";
|
|
83
83
|
import "./chunk-WK6DEH3Q.js";
|
|
84
84
|
import "./chunk-6PVPNMXU.js";
|
|
85
|
-
import "./chunk-
|
|
86
|
-
import "./chunk-
|
|
85
|
+
import "./chunk-QQL5BFOL.js";
|
|
86
|
+
import "./chunk-ME4JBHSB.js";
|
|
87
87
|
import "./chunk-GNV2SFO7.js";
|
|
88
88
|
import "./chunk-5EZRLTLQ.js";
|
|
89
89
|
import "./chunk-QHWCP53L.js";
|
|
@@ -99,7 +99,7 @@ import "./chunk-ELRMZTPF.js";
|
|
|
99
99
|
import "./chunk-U6H3XTFA.js";
|
|
100
100
|
import "./chunk-ACHCT36C.js";
|
|
101
101
|
import "./chunk-CHEIIBT3.js";
|
|
102
|
-
import "./chunk-
|
|
102
|
+
import "./chunk-AEWCOE64.js";
|
|
103
103
|
import "./chunk-OWUAZXXN.js";
|
|
104
104
|
import "./chunk-CH2YDT6X.js";
|
|
105
105
|
import "./chunk-JX6XHPTX.js";
|
|
@@ -111,10 +111,10 @@ import {
|
|
|
111
111
|
} from "./chunk-NXUZFW3G.js";
|
|
112
112
|
import "./chunk-WFNEY5G7.js";
|
|
113
113
|
import "./chunk-GSS4SZNG.js";
|
|
114
|
-
import "./chunk-
|
|
114
|
+
import "./chunk-BW2SMO6L.js";
|
|
115
115
|
import "./chunk-S6LOFUVP.js";
|
|
116
|
-
import "./chunk-
|
|
117
|
-
import "./chunk-
|
|
116
|
+
import "./chunk-VVI7MK3V.js";
|
|
117
|
+
import "./chunk-WBSJ6VPZ.js";
|
|
118
118
|
import "./chunk-G6UUOCUT.js";
|
|
119
119
|
import "./chunk-IZ2U57NY.js";
|
|
120
120
|
import "./chunk-Z72PLR74.js";
|
|
@@ -133,7 +133,7 @@ import "./chunk-C75BXMPM.js";
|
|
|
133
133
|
import "./chunk-KFFCDLKV.js";
|
|
134
134
|
import "./chunk-KP2FHIFR.js";
|
|
135
135
|
import "./chunk-L6DIANLD.js";
|
|
136
|
-
import "./chunk-
|
|
136
|
+
import "./chunk-NRUKL236.js";
|
|
137
137
|
import "./chunk-5ETULJLP.js";
|
|
138
138
|
import "./chunk-7MIBD3LG.js";
|
|
139
139
|
import "./chunk-VGC4I5JJ.js";
|
|
@@ -145,7 +145,7 @@ import "./chunk-WZAD4ZNJ.js";
|
|
|
145
145
|
import "./chunk-ARDHE6MM.js";
|
|
146
146
|
import "./chunk-FPGTNKCP.js";
|
|
147
147
|
import "./chunk-TIGXX4PA.js";
|
|
148
|
-
import "./chunk-
|
|
148
|
+
import "./chunk-6TMXX4Z4.js";
|
|
149
149
|
import "./chunk-XFFRI3WM.js";
|
|
150
150
|
import "./chunk-ERU3SDXT.js";
|
|
151
151
|
import "./chunk-EWJTAP3Y.js";
|
|
@@ -156,7 +156,7 @@ import "./chunk-SYROIHU7.js";
|
|
|
156
156
|
import "./chunk-RSWBT7AZ.js";
|
|
157
157
|
import "./chunk-ZAFYHRVY.js";
|
|
158
158
|
import "./chunk-TBWQLLFO.js";
|
|
159
|
-
import "./chunk-
|
|
159
|
+
import "./chunk-DBUOMHLZ.js";
|
|
160
160
|
import {
|
|
161
161
|
writeStdoutLine
|
|
162
162
|
} from "./chunk-7FA2II6K.js";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
selectPeerModeId,
|
|
13
13
|
selectPermissionOption,
|
|
14
14
|
selectRejectOption
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-PAPBT3WP.js";
|
|
16
16
|
import "./chunk-BYUAT5OC.js";
|
|
17
17
|
import "./chunk-2YMRRI2C.js";
|
|
18
18
|
import "./chunk-LYD3T3H7.js";
|
|
@@ -20,35 +20,35 @@ import "./chunk-54B2LTKP.js";
|
|
|
20
20
|
import "./chunk-3VUENPWF.js";
|
|
21
21
|
import "./chunk-M5GB774H.js";
|
|
22
22
|
import "./chunk-IJOS26LH.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-BS7ON54G.js";
|
|
24
24
|
import "./chunk-GELRJXE2.js";
|
|
25
25
|
import "./chunk-32CM56LO.js";
|
|
26
26
|
import "./chunk-6WXVEDT2.js";
|
|
27
27
|
import "./chunk-LJZSMWOH.js";
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-ZRZZLM37.js";
|
|
29
|
+
import "./chunk-YVF4PKCV.js";
|
|
30
30
|
import "./chunk-EKMJR7M3.js";
|
|
31
31
|
import "./chunk-EDB556X7.js";
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-QR4Q425T.js";
|
|
33
|
+
import "./chunk-C5ABXOC2.js";
|
|
34
34
|
import "./chunk-DJXSOEFB.js";
|
|
35
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-5VQR2DD7.js";
|
|
36
36
|
import "./chunk-BUQN5LTI.js";
|
|
37
37
|
import "./chunk-ZPJWUGCS.js";
|
|
38
38
|
import "./chunk-YM6KUQ2S.js";
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-FFBP5POK.js";
|
|
40
|
+
import "./chunk-C3VNHDWJ.js";
|
|
41
|
+
import "./chunk-CFSBWJBB.js";
|
|
42
42
|
import "./chunk-GOFAQQZA.js";
|
|
43
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-HEOH7JZY.js";
|
|
44
44
|
import "./chunk-TWPJO254.js";
|
|
45
45
|
import "./chunk-CQ35AJ4Z.js";
|
|
46
46
|
import "./chunk-65I7S4Z3.js";
|
|
47
47
|
import "./chunk-7CLLH5TI.js";
|
|
48
48
|
import "./chunk-WK6DEH3Q.js";
|
|
49
49
|
import "./chunk-6PVPNMXU.js";
|
|
50
|
-
import "./chunk-
|
|
51
|
-
import "./chunk-
|
|
50
|
+
import "./chunk-QQL5BFOL.js";
|
|
51
|
+
import "./chunk-ME4JBHSB.js";
|
|
52
52
|
import "./chunk-GNV2SFO7.js";
|
|
53
53
|
import "./chunk-5EZRLTLQ.js";
|
|
54
54
|
import "./chunk-QHWCP53L.js";
|
|
@@ -64,7 +64,7 @@ import "./chunk-ELRMZTPF.js";
|
|
|
64
64
|
import "./chunk-U6H3XTFA.js";
|
|
65
65
|
import "./chunk-ACHCT36C.js";
|
|
66
66
|
import "./chunk-CHEIIBT3.js";
|
|
67
|
-
import "./chunk-
|
|
67
|
+
import "./chunk-AEWCOE64.js";
|
|
68
68
|
import "./chunk-OWUAZXXN.js";
|
|
69
69
|
import "./chunk-CH2YDT6X.js";
|
|
70
70
|
import "./chunk-JX6XHPTX.js";
|
|
@@ -74,10 +74,10 @@ import "./chunk-AXZMWAJV.js";
|
|
|
74
74
|
import "./chunk-NXUZFW3G.js";
|
|
75
75
|
import "./chunk-WFNEY5G7.js";
|
|
76
76
|
import "./chunk-GSS4SZNG.js";
|
|
77
|
-
import "./chunk-
|
|
77
|
+
import "./chunk-BW2SMO6L.js";
|
|
78
78
|
import "./chunk-S6LOFUVP.js";
|
|
79
|
-
import "./chunk-
|
|
80
|
-
import "./chunk-
|
|
79
|
+
import "./chunk-VVI7MK3V.js";
|
|
80
|
+
import "./chunk-WBSJ6VPZ.js";
|
|
81
81
|
import "./chunk-G6UUOCUT.js";
|
|
82
82
|
import "./chunk-IZ2U57NY.js";
|
|
83
83
|
import "./chunk-Z72PLR74.js";
|
|
@@ -96,7 +96,7 @@ import "./chunk-C75BXMPM.js";
|
|
|
96
96
|
import "./chunk-KFFCDLKV.js";
|
|
97
97
|
import "./chunk-KP2FHIFR.js";
|
|
98
98
|
import "./chunk-L6DIANLD.js";
|
|
99
|
-
import "./chunk-
|
|
99
|
+
import "./chunk-NRUKL236.js";
|
|
100
100
|
import "./chunk-5ETULJLP.js";
|
|
101
101
|
import "./chunk-7MIBD3LG.js";
|
|
102
102
|
import "./chunk-VGC4I5JJ.js";
|
|
@@ -108,7 +108,7 @@ import "./chunk-WZAD4ZNJ.js";
|
|
|
108
108
|
import "./chunk-ARDHE6MM.js";
|
|
109
109
|
import "./chunk-FPGTNKCP.js";
|
|
110
110
|
import "./chunk-TIGXX4PA.js";
|
|
111
|
-
import "./chunk-
|
|
111
|
+
import "./chunk-6TMXX4Z4.js";
|
|
112
112
|
import "./chunk-XFFRI3WM.js";
|
|
113
113
|
import "./chunk-ERU3SDXT.js";
|
|
114
114
|
import "./chunk-EWJTAP3Y.js";
|