@qwen-code/qwen-code 0.21.0-preview.0 → 0.21.1-nightly.20260730.1643a6c9a
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 -0
- package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/github.md +12 -2
- package/bundled/qc-helper/docs/features/channels/gitlab.md +171 -0
- package/bundled/qc-helper/docs/features/hooks.md +18 -0
- package/bundled/qc-helper/docs/qwen-serve.md +7 -5
- package/chunks/{MaxSizedBox-UQGQ6O3I.js → MaxSizedBox-H77LGFDG.js} +16 -14
- package/chunks/{StandaloneSessionPicker-QLO5COVM.js → StandaloneSessionPicker-NGKLCYX4.js} +34 -32
- package/chunks/{acpAgent-ECMKCJPZ.js → acpAgent-RUN53PRW.js} +98 -80
- package/chunks/{agent-NJ4VPY5B.js → agent-4CFRD2OG.js} +14 -12
- package/chunks/{agent-headless-JB6RF5HT.js → agent-headless-XPUCIZLL.js} +14 -12
- package/chunks/{bridge-EXKCQ7MD.js → bridge-B2YJLSLT.js} +17 -15
- package/chunks/{build-S6DO7LMM.js → build-GDBLPA24.js} +1 -1
- package/chunks/{channel-management-service-XR7GZSWF.js → channel-management-service-RAPKQK24.js} +20 -5
- package/chunks/{channel-settings-store-VA4J7HPF.js → channel-settings-store-KJQKY6NN.js} +20 -18
- package/chunks/{channel-worker-group-XDPTDWTX.js → channel-worker-group-7SZ7MR3K.js} +4 -4
- package/chunks/{channel-worker-manager-YYEHVRRE.js → channel-worker-manager-RN5KJYPF.js} +4 -4
- package/chunks/{channel-worker-supervisor-74HTWA2G.js → channel-worker-supervisor-CABBXYHK.js} +3 -3
- package/chunks/{chunk-UWMLWVCA.js → chunk-2IIJTXYF.js} +26 -10
- package/chunks/{chunk-BWKCTLEJ.js → chunk-2Q4CZ3V6.js} +454 -55
- package/chunks/{chunk-KY3NRFJ5.js → chunk-3QDXECUB.js} +4 -4
- package/chunks/{chunk-HWNLU2HC.js → chunk-3RMX26V7.js} +6 -6
- package/chunks/{chunk-XR2NFLNQ.js → chunk-4755HD5V.js} +4 -4
- package/chunks/{chunk-GBAZKAZW.js → chunk-4D3MHM5F.js} +3 -3
- package/chunks/{chunk-IZO36O6O.js → chunk-4FQ4OKOU.js} +6 -6
- package/chunks/{chunk-VYO6YPYG.js → chunk-5EHIP3GX.js} +2 -2
- package/chunks/{chunk-4WSL256B.js → chunk-5IDU2UGL.js} +1 -1
- package/chunks/{chunk-WUKGHS32.js → chunk-5ZEFGTII.js} +3 -3
- package/chunks/{chunk-KFPFJAR3.js → chunk-6CH6PHMZ.js} +7 -7
- package/chunks/chunk-6FMJLI5M.js +1591 -0
- package/chunks/{chunk-GZ3RCT54.js → chunk-6MPDY6ZG.js} +1 -1
- package/chunks/{chunk-YAKKV4WO.js → chunk-6OF62NPQ.js} +10 -10
- package/chunks/{chunk-A2APC6HM.js → chunk-72E7TSGG.js} +1 -1
- package/chunks/{chunk-T2QMKU3R.js → chunk-77IMMLN2.js} +16 -4
- package/chunks/{chunk-7A4ZDITM.js → chunk-7A4V5CJY.js} +61 -16
- package/chunks/{chunk-DIQGH5CN.js → chunk-7BV2P4S3.js} +1 -1
- package/chunks/{chunk-DDKAZLZ7.js → chunk-7RFNMXPU.js} +6 -4
- package/chunks/{chunk-KBNDRM4U.js → chunk-7UKQW4JU.js} +3 -3
- package/chunks/{chunk-3Q4TGVUX.js → chunk-ANND7YTH.js} +95 -42
- package/chunks/{chunk-XRYM3MCI.js → chunk-B47WVQ7T.js} +37 -11
- package/chunks/{chunk-HRD7NI6D.js → chunk-CAEQL6GZ.js} +3 -3
- package/chunks/{chunk-M7OONWYU.js → chunk-CI2PGI7Z.js} +2 -0
- package/chunks/{chunk-SUWVXF2E.js → chunk-CUWGNCKW.js} +2 -2
- package/chunks/{chunk-UEDIRTKG.js → chunk-CYIBLZBR.js} +1 -1
- package/chunks/{chunk-QQLCYEN2.js → chunk-CYPJYJIX.js} +1 -1
- package/chunks/{chunk-R3NOCPFB.js → chunk-DGV27C34.js} +4 -4
- package/chunks/{chunk-HUK2P4RS.js → chunk-EYGWU66Z.js} +2649 -703
- package/chunks/{chunk-TFRMVU6R.js → chunk-FANRZEAJ.js} +1 -1
- package/chunks/{chunk-WBL3FJEU.js → chunk-FC4KQFCS.js} +1 -1
- package/chunks/{chunk-GNR2RNMP.js → chunk-FCYYAB4S.js} +2 -2
- package/chunks/{chunk-JSD33JG6.js → chunk-FH6SU2OG.js} +4 -0
- package/chunks/{chunk-S7W2GKIO.js → chunk-G7XXKQYS.js} +2 -0
- package/chunks/{chunk-WUNZAP5I.js → chunk-GKWLJW7Z.js} +3 -3
- package/chunks/{chunk-DABQX74H.js → chunk-GOXRFPH5.js} +6 -6
- package/chunks/{chunk-SGM6M3XG.js → chunk-HFAV3POZ.js} +1 -1
- package/chunks/{chunk-AOAYOH3R.js → chunk-HGQIL6NG.js} +1 -1
- package/chunks/{chunk-7HRXAFCW.js → chunk-HOSENQJL.js} +1 -1
- package/chunks/{chunk-GZXCZHCT.js → chunk-I3G5JWBV.js} +1 -1
- package/chunks/{chunk-GXIJHV66.js → chunk-I3V7RKRZ.js} +1 -1
- package/chunks/{chunk-74YNMTJP.js → chunk-IQMYZTDI.js} +15 -15
- package/chunks/{chunk-7I5GTCT4.js → chunk-JCJ7LKNA.js} +5104 -4817
- package/chunks/{chunk-S3TWXGKA.js → chunk-JE7KQ2UP.js} +4 -2
- package/chunks/{chunk-NG3V2LPY.js → chunk-JQTW5CA5.js} +3 -3
- package/chunks/{chunk-XBYYDKAZ.js → chunk-JZQUOT4B.js} +8 -7
- package/chunks/{chunk-XH7E5IGP.js → chunk-K4GTOFKY.js} +1 -1
- package/chunks/{chunk-T2NCM2ET.js → chunk-K6KS3LTN.js} +2 -749
- package/chunks/{chunk-EABYVKAK.js → chunk-KLESQCW6.js} +1 -1
- package/chunks/{chunk-OXWFQXKX.js → chunk-KQGB3ME2.js} +4 -4
- package/chunks/{chunk-LHZRAR2Q.js → chunk-LI53FGDL.js} +60 -43
- package/chunks/{chunk-YPCRRO7K.js → chunk-LIJID5PD.js} +3 -3
- package/chunks/{chunk-DJGYJDYR.js → chunk-LW67T6GH.js} +1 -1
- package/chunks/{chunk-KADQPLPX.js → chunk-M4O2DCE3.js} +1 -1
- package/chunks/{chunk-2XSLTRFZ.js → chunk-MFW7APBA.js} +2 -2
- package/chunks/{chunk-R7ZITH3J.js → chunk-MKQOXP2O.js} +1 -1
- package/chunks/{chunk-AL62VKMS.js → chunk-OAOPCTG6.js} +11 -9
- package/chunks/{chunk-HKFEPLKW.js → chunk-OCUM7TJA.js} +1 -1
- package/chunks/{chunk-727I7LJ2.js → chunk-OIG257JR.js} +3 -3
- package/chunks/{chunk-LNHZ3A4I.js → chunk-OINT3ZNV.js} +5 -5
- package/chunks/{chunk-DNDETPES.js → chunk-PEK4ARMZ.js} +3 -3
- package/chunks/{chunk-Y6RATHM5.js → chunk-PGHTM673.js} +2 -2
- package/chunks/{record-artifact-XAMSFSW4.js → chunk-PMGFWLAZ.js} +21 -6
- package/chunks/{chunk-F3EYHTOC.js → chunk-RF4FA22B.js} +3 -3
- package/chunks/{chunk-75MIQ3LV.js → chunk-RQLRERVY.js} +2 -2
- package/chunks/{chunk-ATZOB5Y2.js → chunk-RWZPM2BP.js} +1 -1
- package/chunks/{chunk-ZSQ5LDBH.js → chunk-S7G7Z3MP.js} +1 -1
- package/chunks/{chunk-XBZQT63P.js → chunk-SMWPUA2A.js} +1 -1
- package/chunks/{chunk-TUQ36KWK.js → chunk-SWRHIQDT.js} +2 -2
- package/chunks/chunk-T3CHYWJZ.js +758 -0
- package/chunks/{chunk-ML5M5XOY.js → chunk-TCBP4Q3K.js} +41 -41
- package/chunks/{chunk-GW3XHA6P.js → chunk-TJHLQ45J.js} +1 -1
- package/chunks/{chunk-NNERMV7T.js → chunk-UJBURGBH.js} +1 -1
- package/chunks/{chunk-U3E3UQAA.js → chunk-URPQ5QZM.js} +1 -1
- package/chunks/{chunk-X6XZITHR.js → chunk-V47JGII4.js} +2 -2
- package/chunks/{chunk-FW4M4GA7.js → chunk-VBX5IFEN.js} +1 -1
- package/chunks/{chunk-5FNROPXI.js → chunk-W7D7QTCH.js} +4 -4
- package/chunks/{chunk-YGF33UXG.js → chunk-XTLTBZIH.js} +2 -2
- package/chunks/{chunk-V5AWXXVA.js → chunk-XVYRMUI5.js} +1 -1
- package/chunks/{chunk-5YVWMI26.js → chunk-XZB72HUB.js} +3 -3
- package/chunks/{chunk-BGTQCTQW.js → chunk-YX4DHA6S.js} +2 -2
- package/chunks/{chunk-3MGBLIXX.js → chunk-ZM63TFJH.js} +1 -1
- package/chunks/{chunk-GEBV2JGB.js → chunk-ZPZ7ZJEE.js} +1 -1
- package/chunks/{chunk-UFI5GRDS.js → chunk-ZS6Q44DY.js} +3 -3
- package/chunks/{chunk-P2YNZWXZ.js → chunk-ZWUDSQBD.js} +1 -1
- package/chunks/{computer-use-TGJRGZWO.js → computer-use-HRVGY7OB.js} +14 -12
- package/chunks/{config-utils-NYSXDMEQ.js → config-utils-RUFMEUYD.js} +4 -4
- package/chunks/{contextCommand-HGWDMG36.js → contextCommand-V3N7Q3UM.js} +16 -14
- package/chunks/{core-runtime-WHE3LSHF.js → core-runtime-QGEW6WBW.js} +14 -12
- package/chunks/{create-sub-session-OWI4RC7D.js → create-sub-session-ZUWDNFO2.js} +14 -12
- package/chunks/{daemon-Q2AB5Z23.js → daemon-QH2G5B5E.js} +47 -2
- package/chunks/{daemon-status-provider-KY35PVUR.js → daemon-status-provider-MB54AMNV.js} +21 -19
- package/chunks/{daemon-trust-policy-QSQRPXHD.js → daemon-trust-policy-3VFDF5LU.js} +19 -17
- package/chunks/{daemon-trust-policy-monitor-VJQ54EM3.js → daemon-trust-policy-monitor-4KX2OK7G.js} +19 -17
- package/chunks/{deferred-core-runtime-U3DDMMV2.js → deferred-core-runtime-UIJL6EEU.js} +14 -12
- package/chunks/{dist-SV7Q3AWJ.js → dist-2PERFI23.js} +12 -9
- package/chunks/{dist-BSTVRPMT.js → dist-AOOUOG5S.js} +177 -15
- package/chunks/{dist-DOLYHMXE.js → dist-OAOC5OV4.js} +2 -2
- package/chunks/{dist-YGBBMK3Z.js → dist-PVEAFLHY.js} +5 -4
- package/chunks/{dist-HVRQ2CFL.js → dist-SL2LUMML.js} +1180 -5
- package/chunks/dist-ULIG4M5H.js +13415 -0
- package/chunks/{dist-IXQEQWRG.js → dist-WGMNT3JQ.js} +1 -1
- package/chunks/{dist-SSU66DM4.js → dist-ZHXOBXDN.js} +1 -1
- package/chunks/{earlyInputCapture-H4YOY6R7.js → earlyInputCapture-QBC4ZCV7.js} +14 -12
- package/chunks/{edit-NZWMOOX6.js → edit-7ABV72VV.js} +14 -12
- package/chunks/{enter-worktree-6FMYNZ4S.js → enter-worktree-4NOWT6I2.js} +14 -12
- package/chunks/{enterPlanMode-RYK5P7WC.js → enterPlanMode-4NOQ6A56.js} +14 -12
- package/chunks/{environment-RBLY3QVX.js → environment-ABMFNOJO.js} +16 -14
- package/chunks/{errors-WVUI42QV.js → errors-UAX4AR5Q.js} +16 -14
- package/chunks/{exit-worktree-FRFYEX6R.js → exit-worktree-CF2O5AQM.js} +14 -12
- package/chunks/{exitPlanMode-STTGKHP2.js → exitPlanMode-5KEF5DLM.js} +14 -12
- package/chunks/{fast-path-OZD2JFDY.js → fast-path-RWZGR7A6.js} +2 -2
- package/chunks/{gemini-PUKYW6OF.js → gemini-A4LXWU5S.js} +62 -60
- package/chunks/{geminiContentGenerator-HYMWIERE.js → geminiContentGenerator-VPXAS3BM.js} +1 -1
- package/chunks/{glob-IZATNUPS.js → glob-P6ZPQOPR.js} +14 -12
- package/chunks/goal-tools-H2NHZKGN.js +335 -0
- package/chunks/{grep-DWHBLRXJ.js → grep-56M3IJ36.js} +14 -12
- package/chunks/{handleAutoUpdate-3VHGEOAV.js → handleAutoUpdate-N3IMC273.js} +18 -16
- package/chunks/{i18n-A56PNKBP.js → i18n-UFV5QINW.js} +15 -13
- package/chunks/{image-gen-RBLQKXQJ.js → image-gen-GPYAKETO.js} +1 -1
- package/chunks/{initializer-TCD6H7VY.js → initializer-OXWZKLEX.js} +19 -17
- package/chunks/{installationInfo-276EXQW2.js → installationInfo-V2YEC52N.js} +15 -13
- package/chunks/{list-NWDHWJ4D.js → list-UN6EJ6WB.js} +22 -20
- package/chunks/{loadedSettingsAdapter-YXJKWUYF.js → loadedSettingsAdapter-LZK2PMOY.js} +19 -17
- package/chunks/{loggingContentGenerator-LU6TII3U.js → loggingContentGenerator-PSFMRX7M.js} +6 -6
- package/chunks/{managed-npm-update-AO3CL6VU.js → managed-npm-update-D2AO3F47.js} +15 -13
- package/chunks/{mcp-5PMHEFAR.js → mcp-A2VAOKMH.js} +19 -17
- package/chunks/{monitor-2YELRQ6S.js → monitor-7EJ3WBER.js} +14 -12
- package/chunks/{nonInteractiveCli-74R5S76M.js → nonInteractiveCli-43LIVN4A.js} +54 -52
- package/chunks/{notebook-edit-SV6GDWUG.js → notebook-edit-IQD53ULF.js} +14 -12
- package/chunks/{openaiContentGenerator-FMBXX26Z.js → openaiContentGenerator-YPCMNGEZ.js} +5 -5
- package/chunks/{pidfile-HZA26WFC.js → pidfile-3SOOBWZA.js} +14 -12
- package/chunks/{processUtils-4F7EMUKQ.js → processUtils-FGVHFR4V.js} +2 -2
- package/chunks/{qwenContentGenerator-CXAD5IOE.js → qwenContentGenerator-M6YW4D6A.js} +15 -13
- package/chunks/{qwenOAuth2-7V2RGLUU.js → qwenOAuth2-XSYKLMNR.js} +1 -1
- package/chunks/{read-file-AQKNOXOV.js → read-file-XOMBFIS7.js} +4 -4
- package/chunks/record-artifact-JANPGVS4.js +21 -0
- package/chunks/{resumeHistoryUtils-NSHGEJZY.js → resumeHistoryUtils-E4EVA4PO.js} +18 -16
- package/chunks/{ripGrep-KVWIREMR.js → ripGrep-M4NYA6AM.js} +14 -12
- package/chunks/{run-qwen-serve-LBBMQRWJ.js → run-qwen-serve-QLCU2BAZ.js} +49 -48
- package/chunks/{runtime-XR3VFARS.js → runtime-T36WUYIO.js} +24 -22
- package/chunks/{scheduler-OLI5YERT.js → scheduler-C3J45Z5W.js} +14 -12
- package/chunks/{sdk-exporters-http-WO556XNU.js → sdk-exporters-http-BFOKQFRD.js} +2 -2
- package/chunks/{sdk-impl-LPAVACSF.js → sdk-impl-6CJ3JQZL.js} +2 -2
- package/chunks/{send-message-SAWK4DZX.js → send-message-RJ2R4PIV.js} +1 -7
- package/chunks/{serve-2WM3HPSN.js → serve-7SWJTL3K.js} +19 -17
- package/chunks/{server-T4C6UGPM.js → server-T2B64F4O.js} +239 -72
- package/chunks/{session-IAPGXMG3.js → session-D546I4HT.js} +55 -53
- package/chunks/{settings-LIYC7NVY.js → settings-ZQOOTRR7.js} +23 -21
- package/chunks/{shell-M455ZXG6.js → shell-5OR4RAKF.js} +14 -12
- package/chunks/{skill-ZHDF6IVV.js → skill-X4E5JMKV.js} +5 -5
- package/chunks/{skill-settings-MEFO33AC.js → skill-settings-ZS3XPDMT.js} +18 -16
- package/chunks/{spawnChannel-NAISQSBK.js → spawnChannel-MILVKB3G.js} +16 -14
- package/chunks/{standalone-update-K4RNR537.js → standalone-update-UTYCSPUO.js} +16 -14
- package/chunks/{startInteractiveUI-HJUQMCBD.js → startInteractiveUI-S4R5J4EN.js} +727 -743
- package/chunks/{task-create-INGWNUG4.js → task-create-KUQIS7RA.js} +2 -2
- package/chunks/{task-update-CRK5VWWZ.js → task-update-4FPFYGE3.js} +2 -2
- package/chunks/{team-create-YWCUC55A.js → team-create-MGD3Q7W4.js} +14 -12
- package/chunks/{team-plan-approval-ZJGZRKV5.js → team-plan-approval-VMVGLPDQ.js} +14 -12
- package/chunks/{theme-manager-5LUFI5NY.js → theme-manager-U4QE2YSY.js} +14 -12
- package/chunks/{tool-search-LZMDLBAK.js → tool-search-6T7VYTYZ.js} +5 -5
- package/chunks/{total-session-admission-MDA3ANYQ.js → total-session-admission-PLKO4EET.js} +17 -15
- package/chunks/{trustedFolders-NZEZRJPU.js → trustedFolders-QZU6BO46.js} +15 -13
- package/chunks/{update-relaunch-D7EKBO4E.js → update-relaunch-NWPFNM5L.js} +5 -5
- package/chunks/{updateCheck-AKFMZZCG.js → updateCheck-KEOCGBZR.js} +17 -15
- package/chunks/{useAutoAcceptIndicator-55OEL7UZ.js → useAutoAcceptIndicator-O6XISZEA.js} +23 -21
- package/chunks/{validateNonInterActiveAuth-K5WQOFUQ.js → validateNonInterActiveAuth-WCHAHO75.js} +51 -49
- package/chunks/{version-ANSPR52A.js → version-VP3VZ2BM.js} +1 -1
- package/chunks/{web-fetch-WFKX5SJM.js → web-fetch-KM2FSOKS.js} +4 -4
- package/chunks/{web-search-XDPHXEUC.js → web-search-WUR6PYBO.js} +2 -2
- package/chunks/{workflow-6YYVMHCS.js → workflow-S6XMX55R.js} +17 -15
- package/chunks/{workspace-providers-status-5L4FEPYR.js → workspace-providers-status-JGIZRHVT.js} +22 -20
- package/chunks/{workspace-registration-store-C2HIDNXV.js → workspace-registration-store-JDEMOOFX.js} +1 -1
- package/chunks/{workspace-registry-7B7T5SC3.js → workspace-registry-NIL6253M.js} +17 -15
- package/chunks/{workspace-service-VGGIWADS.js → workspace-service-UYB6MMWL.js} +23 -21
- package/chunks/{workspace-skills-status-MZZLEGL5.js → workspace-skills-status-GSJRWER4.js} +20 -18
- package/chunks/{workspace-trust-reconciler-3PA5PLHX.js → workspace-trust-reconciler-V2TICK2A.js} +22 -20
- package/chunks/{write-file-5GNKRL2B.js → write-file-QHD5ELJS.js} +18 -14
- package/chunks/{zoom-image-JIRPKLNA.js → zoom-image-236QXDRH.js} +29 -156
- package/cli.js +12 -12
- package/package.json +3 -3
- package/web-shell/assets/{arc-75-Wdeo3.js → arc-DQN8gc5j.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-FKeXQbyP.js → architectureDiagram-3BPJPVTR-C6Z867cc.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CY0vc-A3.js → blockDiagram-GPEHLZMM-BkyNf4_J.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-CNP-A-8u.js → c4Diagram-AAUBKEIU-BA7aurej.js} +1 -1
- package/web-shell/assets/channel-YzToqAUt.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-GybS4Gii.js → chunk-2J33WTMH-Dp_LERgD.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-02H91V8v.js → chunk-4BX2VUAB-CCwcnkeW.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-D3M-2VT6.js → chunk-55IACEB6-e0ytWiup.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-CCu29u4H.js → chunk-727SXJPM-DBoZrQ--.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CaFKWgrn.js → chunk-AQP2D5EJ-dmHU5zKq.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-ZZpPqIwQ.js → chunk-FMBD7UC4-PP3UKzsN.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-D22DqGs8.js → chunk-ND2GUHAM-Bjy0PNsP.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-Bu85S0fw.js → chunk-QZHKN3VN-CM0H6wrK.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-_le9LVNU.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-_le9LVNU.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-f1CK1Gwe.js → cose-bilkent-S5V4N54A-B1B_Fozz.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-D0Ow8F_n.js → dagre-BM42HDAG-DGFk7aBN.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BPrmTWp8.js → diagram-2AECGRRQ-VdlYGHdV.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-HccuFAzy.js → diagram-5GNKFQAL-xcEMWz6m.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-BrS76mbA.js → diagram-KO2AKTUF-B6Dd23eT.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-V7T9lU-5.js → diagram-LMA3HP47-C3bjiNTc.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-DKidyJMR.js → diagram-OG6HWLK6-ChXfX8H6.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-DBadZIkp.js → erDiagram-TEJ5UH35-D7RBC3FG.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BymfqdNJ.js → flowDiagram-I6XJVG4X-bNsx8Fqb.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-DOw340jf.js → ganttDiagram-6RSMTGT7-C_m4liOj.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-_8EiD8sl.js → gitGraphDiagram-PVQCEYII-CzAqOmDr.js} +1 -1
- package/web-shell/assets/{index-CKIadvET.js → index-BArKGy43.js} +1 -1
- package/web-shell/assets/index-C2GE3DAF.js +74 -0
- package/web-shell/assets/index-_dIfJ82-.js +1625 -0
- package/web-shell/assets/index-heP6zO4t.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-D61KYQBu.js → infoDiagram-5YYISTIA-BBw9H4RT.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CsiXSpNx.js → ishikawaDiagram-YF4QCWOH-C8Ns7cDb.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-Sdfionyh.js → journeyDiagram-JHISSGLW-BkW5h5si.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-C3WI3Cnl.js → kanban-definition-UN3LZRKU-IUhsF7tq.js} +1 -1
- package/web-shell/assets/{linear-Dpigcc62.js → linear-CeDsMMjT.js} +1 -1
- package/web-shell/assets/{mermaid.core-Ct97pqgW.js → mermaid.core-VTPU82QL.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BzeaN0rB.js → mindmap-definition-RKZ34NQL-DVohXDmC.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-CvjgcbVD.js → pieDiagram-4H26LBE5-SxBFaID8.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-BUzgTNdH.js → quadrantDiagram-W4KKPZXB-BJt8o3Cs.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-B7zKlgUQ.js → requirementDiagram-4Y6WPE33-B02G8M7E.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-Bb9CQgrT.js → sankeyDiagram-5OEKKPKP-CzMCGPib.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DJ6V7itG.js → sequenceDiagram-3UESZ5HK-CzbJgSkE.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-IImflERY.js → stateDiagram-AJRCARHV-DhiXBOKS.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DILbnhvR.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-6Q_uWHKh.js → timeline-definition-PNZ67QCA-Btj5idQV.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-TmyKyjwv.js → vennDiagram-CIIHVFJN-CJz2YZq4.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-CRh9uiPv.js → wardley-L42UT6IY-CavIou7m.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-59TKAW8w.js → wardleyDiagram-YWT4CUSO-BRf62x8X.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-GCSUIK2L.js → xychartDiagram-2RQKCTM6-ItOGZPM_.js} +1 -1
- package/web-shell/index.html +2 -2
- package/web-shell/assets/channel-DPYMT76A.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK--JstsIgL.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2--JstsIgL.js +0 -1
- package/web-shell/assets/index-D1eXNRHe.js +0 -1389
- package/web-shell/assets/index-DVLD4CQq.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CYI_YoNR.js +0 -1
|
@@ -337,6 +337,7 @@ If you are experiencing performance issues with file searching (e.g., with `@` c
|
|
|
337
337
|
| `tools.computerUse.maxImageDimension` | number | Longest-edge pixel cap applied to cua-driver screenshots (via `set_config`'s `max_image_dimension`). `-1` (default) keeps cua-driver's built-in default (1568); `0` disables resizing (full resolution); a positive value caps the longest edge. Lower caps cut vision-token cost at the expense of fine detail. | `-1` | Requires restart: Yes. Env override: `QWEN_COMPUTER_USE_MAX_IMAGE_DIMENSION` (a non-negative integer; takes precedence over this setting) |
|
|
338
338
|
| `tools.computerUse.idleTimeoutMs` | number | Milliseconds to keep the cua-driver process alive after the last `computer_use__*` call. The default is `300000` (5 minutes). Set to `0` to keep it running until Qwen Code exits. | `300000` | Requires restart: Yes |
|
|
339
339
|
| `tools.toolSearch.enabled` | boolean | Load MCP tools on demand via ToolSearch to reduce prompt size. Disable this for models that rely on prefix-based KV caching (e.g. DeepSeek) to keep the prompt prefix stable and maximize cache hit rates. | `true` | Requires restart: Yes |
|
|
340
|
+
| `tools.toolSearch.threshold` | number | Context-window percentage used as the session-start budget for preloading deferred tools (bundled built-ins and MCP alike). When the combined schemas of every deferred tool fit within this budget, they are all declared upfront instead of loaded on demand via ToolSearch — a stable declaration list keeps prefix KV caches valid for the whole session. Set `0` to always load deferred tools on demand. | `10` | Requires restart: Yes |
|
|
340
341
|
|
|
341
342
|
> [!note]
|
|
342
343
|
>
|
|
@@ -4,7 +4,8 @@ This guide covers setting up a Qwen Code channel that monitors GitHub notificati
|
|
|
4
4
|
|
|
5
5
|
## Prerequisites
|
|
6
6
|
|
|
7
|
-
- A GitHub account
|
|
7
|
+
- A GitHub account for the channel. Use a dedicated bot account when the PAT
|
|
8
|
+
owner also needs to operate the channel.
|
|
8
9
|
- A GitHub Personal Access Token (PAT) with `notifications` and `public_repo` (or `repo`) scopes
|
|
9
10
|
|
|
10
11
|
## Creating a Token
|
|
@@ -26,8 +27,9 @@ Add the channel to `~/.qwen/settings.json`:
|
|
|
26
27
|
"type": "github",
|
|
27
28
|
"token": "$GITHUB_TOKEN",
|
|
28
29
|
"pollInterval": 60000,
|
|
30
|
+
"reasonFilter": ["mention", "review_requested", "assign"],
|
|
29
31
|
"senderPolicy": "allowlist",
|
|
30
|
-
"allowedUsers": ["
|
|
32
|
+
"allowedUsers": ["operator-github-username"],
|
|
31
33
|
"sessionScope": "chat_thread",
|
|
32
34
|
"cwd": "/path/to/your/project",
|
|
33
35
|
"groupPolicy": "open",
|
|
@@ -45,6 +47,13 @@ Set the token as an environment variable:
|
|
|
45
47
|
export GITHUB_TOKEN="ghp_your_token_here"
|
|
46
48
|
```
|
|
47
49
|
|
|
50
|
+
The PAT owner cannot trigger its own channel: GitHub self-activity does not
|
|
51
|
+
provide a usable notification, and the adapter intentionally ignores its own
|
|
52
|
+
comments to prevent reply loops. If the PAT owner needs to operate the channel,
|
|
53
|
+
use a separate bot-owned PAT and put only operator accounts in `allowedUsers`.
|
|
54
|
+
Startup rejects an allowlist containing only the PAT owner and warns when the
|
|
55
|
+
PAT owner appears alongside other operators.
|
|
56
|
+
|
|
48
57
|
### GitHub Enterprise
|
|
49
58
|
|
|
50
59
|
For GitHub Enterprise Server, set `baseUrl`:
|
|
@@ -62,6 +71,7 @@ For GitHub Enterprise Server, set `baseUrl`:
|
|
|
62
71
|
| `token` | (required) | Classic PAT with `notifications` scope |
|
|
63
72
|
| `pollInterval` | `60000` | Poll interval in ms |
|
|
64
73
|
| `baseUrl` | `https://api.github.com` | API base URL (for GHE) |
|
|
74
|
+
| `reasonFilter` | all reasons | Optional list of GitHub notification reasons to process before dispatch |
|
|
65
75
|
| `groupPolicy` | `"disabled"` | Must be `"open"` for notifications to flow |
|
|
66
76
|
| `senderPolicy` | `"allowlist"` | Who can trigger the bot |
|
|
67
77
|
| `groups.*.requireMention` | `true` | Require @mentions for ordinary comments; directed notification reasons still run |
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# GitLab
|
|
2
|
+
|
|
3
|
+
This guide covers setting up a Qwen Code channel that monitors GitLab todos and responds to mentions on issues and merge requests.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- A GitLab account (or a dedicated bot account)
|
|
8
|
+
- A GitLab Personal Access Token with `read_api` and `api` scopes
|
|
9
|
+
|
|
10
|
+
## Creating a Token
|
|
11
|
+
|
|
12
|
+
1. Go to **Preferences → Access Tokens**
|
|
13
|
+
2. Create a token with these scopes:
|
|
14
|
+
- **read_api** — read todos and project data
|
|
15
|
+
- **api** — post notes (comments) on issues/MRs
|
|
16
|
+
3. Save the token securely as an environment variable
|
|
17
|
+
|
|
18
|
+
## Configuration
|
|
19
|
+
|
|
20
|
+
Add the channel to `~/.qwen/settings.json`:
|
|
21
|
+
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"channels": {
|
|
25
|
+
"my-gitlab": {
|
|
26
|
+
"type": "gitlab",
|
|
27
|
+
"token": "$GITLAB_TOKEN",
|
|
28
|
+
"pollInterval": 60000,
|
|
29
|
+
"senderPolicy": "open",
|
|
30
|
+
"sessionScope": "chat_thread",
|
|
31
|
+
"cwd": "/path/to/your/project",
|
|
32
|
+
"groupPolicy": "open",
|
|
33
|
+
"action_prompt_template": {
|
|
34
|
+
"mentioned": "Project: %project% | URL: %project_url% | Author: %author% | Type: %target_type% | IID: %iid% | Title: %title% | Description: %description% | TodoID: %todo_id%"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Set the token as an environment variable:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
export GITLAB_TOKEN="glpat-your_token_here"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Self-hosted GitLab
|
|
48
|
+
|
|
49
|
+
For self-hosted instances, set `baseUrl`:
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"baseUrl": "https://gitlab.example.com"
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Configuration Options
|
|
58
|
+
|
|
59
|
+
| Option | Default | Description |
|
|
60
|
+
| ------------------------ | ------------------------- | ---------------------------------------------------------- |
|
|
61
|
+
| `token` | (required) | PAT with `read_api` + `api` scopes |
|
|
62
|
+
| `pollInterval` | `60000` | Poll interval in ms |
|
|
63
|
+
| `baseUrl` | `https://gitlab.com` | GitLab instance URL |
|
|
64
|
+
| `action_prompt_template` | (required for processing) | Maps GitLab action names to metadata templates |
|
|
65
|
+
| `groupPolicy` | `"disabled"` | Must be `"open"`, or `"allowlist"` with the project listed |
|
|
66
|
+
| `senderPolicy` | `"allowlist"` | Who can trigger the bot |
|
|
67
|
+
|
|
68
|
+
## action_prompt_template
|
|
69
|
+
|
|
70
|
+
This field controls which todo actions are processed and how metadata is rendered. Only actions with a configured template are dispatched; all others are skipped and marked done.
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"action_prompt_template": {
|
|
75
|
+
"mentioned": "Project: %project% | Author: %author% | Title: %title%"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
The `directly_addressed` action (comment starting with `@bot`) automatically falls back to the `mentioned` template if not explicitly configured.
|
|
81
|
+
|
|
82
|
+
### Available Action Keys
|
|
83
|
+
|
|
84
|
+
| Key | Trigger |
|
|
85
|
+
| --------------------- | ------------------------------------------------------------------------ |
|
|
86
|
+
| `mentioned` | Someone @mentions the bot in a comment or description (not at the start) |
|
|
87
|
+
| `directly_addressed` | A comment **starts with** `@bot` (falls back to `mentioned` template) |
|
|
88
|
+
| `assigned` | Someone assigns the bot to an issue/MR |
|
|
89
|
+
| `review_requested` | Someone requests the bot as a reviewer on an MR |
|
|
90
|
+
| `approval_required` | An MR requires the bot's approval (approval rules) |
|
|
91
|
+
| `marked` | Someone marks the bot's comment/issue/MR (star) |
|
|
92
|
+
| `build_failed` | A CI/CD pipeline fails on the bot's branch/MR |
|
|
93
|
+
| `unmergeable` | An MR the bot is involved with becomes unmergeable (conflicts) |
|
|
94
|
+
| `merge_train_removed` | An MR is removed from the merge train |
|
|
95
|
+
|
|
96
|
+
Only keys present in `action_prompt_template` are processed. Unconfigured actions are skipped and marked done silently.
|
|
97
|
+
|
|
98
|
+
### Template Variables
|
|
99
|
+
|
|
100
|
+
| Variable | Value |
|
|
101
|
+
| --------------- | --------------------------------- |
|
|
102
|
+
| `%project%` | Project path (e.g., `owner/repo`) |
|
|
103
|
+
| `%project_url%` | Full project URL |
|
|
104
|
+
| `%author%` | Todo author username |
|
|
105
|
+
| `%target_type%` | `Issue` or `MergeRequest` |
|
|
106
|
+
| `%iid%` | Issue/MR internal ID |
|
|
107
|
+
| `%title%` | Issue/MR title |
|
|
108
|
+
| `%description%` | Issue/MR description body |
|
|
109
|
+
| `%todo_id%` | GitLab todo ID |
|
|
110
|
+
| `%%` | Literal `%` (escape) |
|
|
111
|
+
|
|
112
|
+
Unknown variables are preserved as-is in the output.
|
|
113
|
+
|
|
114
|
+
### Prompt Assembly
|
|
115
|
+
|
|
116
|
+
The template renders into `envelope.metadata` (structured context). The triggering text (`todo.body` or description) goes into `envelope.text` (primary prompt). The base class assembles the final prompt sent to the agent:
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
[alice] please fix this bug
|
|
120
|
+
|
|
121
|
+
Project: owner/repo | URL: https://gitlab.com/owner/repo | Author: alice | Type: Issue | IID: 42 | Title: Test Issue | Description: ... | TodoID: 100
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
- Line 1: `[sender]` prefix + `envelope.text` (with `@bot` stripped)
|
|
125
|
+
- Line 3: `envelope.metadata` (rendered template, sanitized)
|
|
126
|
+
|
|
127
|
+
You do **not** need a `%body%` variable — the comment/description text is always the primary prompt content, and the template provides supplementary context below it.
|
|
128
|
+
|
|
129
|
+
## ⚠️ Security
|
|
130
|
+
|
|
131
|
+
On a **public project**, setting `senderPolicy: "open"` allows **any GitLab user** who @mentions the bot to submit prompts that drive the agent in your `cwd`.
|
|
132
|
+
|
|
133
|
+
Always use `senderPolicy: "allowlist"` with explicit `allowedUsers` on public projects.
|
|
134
|
+
|
|
135
|
+
## Mention Detection
|
|
136
|
+
|
|
137
|
+
The adapter always sets `isMentioned = true` on dispatched envelopes, because GitLab has already determined the mention when creating the todo. The `action_prompt_template` config is the real event filter — only actions with a configured template are processed. The `@bot` mention is stripped from the message text before dispatch via `stripBotMention`.
|
|
138
|
+
|
|
139
|
+
### ⚠️ groupPolicy Must Be "open" or "allowlist"
|
|
140
|
+
|
|
141
|
+
`groupPolicy` must be set to `"open"`, or `"allowlist"` with the project explicitly listed, for todos to be processed. The default value `"disabled"` drops all mentions: todos are marked done and the cursor advances, but no dispatch occurs. A rejection is logged (`preflight rejected reason=group_disabled`) but the todo is still consumed. If your bot is not responding to mentions, check that `groupPolicy` is not `"disabled"`.
|
|
142
|
+
|
|
143
|
+
## How It Works
|
|
144
|
+
|
|
145
|
+
The adapter uses GitLab's Todos API as the message source:
|
|
146
|
+
|
|
147
|
+
1. **Poll** `GET /todos?state=pending` for new todos
|
|
148
|
+
2. **First-poll drain**: if the cursor has never been initialized (`initialized: false`), all pending todos are marked done without dispatch and the cursor advances to the max todo ID. This prevents a backlog flood on first start.
|
|
149
|
+
3. **Clean up stale todos**: todos with `id <= cursor` are marked done (best-effort) to prevent them from being re-fetched on every poll
|
|
150
|
+
4. **Filter** by `id > cursor` and configured `action_prompt_template`
|
|
151
|
+
5. **Detect mention type** via `target_url` anchor:
|
|
152
|
+
- `#note_123` present → comment mention → text is `todo.body` (the comment)
|
|
153
|
+
- No anchor → description mention → text is the issue/MR description
|
|
154
|
+
6. **Dispatch** the envelope through `handleInbound` (requires `groupPolicy: "open"` or `"allowlist"` with the project listed)
|
|
155
|
+
7. **Advance cursor** and **mark todo done** (best-effort)
|
|
156
|
+
|
|
157
|
+
The cursor (`lastProcessedId`) advances regardless of dispatch success or failure. Failed dispatches post a ⚠️ error comment on the issue/MR and are not retried — the user can re-mention the bot to trigger a new todo.
|
|
158
|
+
|
|
159
|
+
## Known Limitations
|
|
160
|
+
|
|
161
|
+
- **First start skips existing pending todos.** The cursor initializes to `{ lastProcessedId: 0, initialized: false }` on first launch. On the first poll cycle, all pre-existing pending todos are marked done without dispatch (the `initialized` flag gates this one-time drain), preventing a backlog flood.
|
|
162
|
+
- The bot does not read prior conversation history — only the triggering content is processed.
|
|
163
|
+
- **Confidential (internal) notes:** If someone @mentions the bot in a confidential note, the todo body contains that internal text and the agent will process it. The bot's reply is always posted as a **public** note, potentially exposing internal discussion. GitLab's todo API does not expose note visibility, so the adapter cannot filter this. Avoid @mentioning the bot in confidential notes.
|
|
164
|
+
- Requires `read_api` + `api` PAT scopes. Group-level or project-level tokens work if they have these scopes.
|
|
165
|
+
- Todos for Epics, Designs, and Alerts are skipped (only Issues and MRs are processed).
|
|
166
|
+
|
|
167
|
+
## Starting the Channel
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
qwen channel start my-gitlab
|
|
171
|
+
```
|
|
@@ -103,6 +103,24 @@ HTTP hooks send hook input as POST requests to specified URLs. They support URL
|
|
|
103
103
|
- **DNS Validation**: Validates domain resolution before requests to prevent DNS rebinding attacks
|
|
104
104
|
- **Environment Variable Interpolation**: `${VAR}` syntax, only allows variables in `allowedEnvVars` whitelist
|
|
105
105
|
|
|
106
|
+
#### Allowing private-network hooks (managed environments only)
|
|
107
|
+
|
|
108
|
+
By default, HTTP hooks cannot target private or link-local IP ranges. In platform-managed environments where the hook receiver is a first-party, VPC-internal endpoint (for example, an internal API gateway resolving to `172.16.0.0/12`), you can relax the IP-range checks with:
|
|
109
|
+
|
|
110
|
+
```json
|
|
111
|
+
{
|
|
112
|
+
"security": {
|
|
113
|
+
"allowPrivateNetworkHooks": true
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
- This setting is **only honored from User, System, and SystemDefaults settings scopes**. A value set in Workspace (project) settings is ignored and logged as a warning, so a cloned repository can never self-grant this bypass.
|
|
119
|
+
- The flag relaxes only the general private/CGNAT/link-local **range** checks. Cloud metadata endpoints stay blocked in every configuration: the `BLOCKED_HOSTS` list is matched literally (`metadata.google.internal`, `metadata.azure.internal`, ...), and the metadata IPs `169.254.169.254` and `100.100.100.200` are blocked in all serialized forms (including IPv4-mapped IPv6 such as `::ffff:a9fe:a9fe`) and after DNS resolution.
|
|
120
|
+
- The `security.allowedHttpHookUrls` whitelist still applies independently. In managed environments, pair this flag with a whitelist so only the intended internal endpoints are reachable.
|
|
121
|
+
|
|
122
|
+
> **Warning:** Enabling this flag lets hooks reach internal infrastructure on your network. Enable it only in trusted, managed settings — never in a repository you do not control.
|
|
123
|
+
|
|
106
124
|
**Example:**
|
|
107
125
|
|
|
108
126
|
```json
|
|
@@ -218,17 +218,19 @@ remediation.
|
|
|
218
218
|
|
|
219
219
|
The daemon also exposes workspace file helpers:
|
|
220
220
|
|
|
221
|
-
- `GET /file` reads text files
|
|
221
|
+
- `GET /file` reads text files. Full-snapshot responses return a raw-byte
|
|
222
|
+
`sha256:<hex>` hash; finite-line windows from files above 256 KiB omit it.
|
|
222
223
|
- `GET /file/bytes` reads bounded raw byte windows and returns base64 content.
|
|
223
224
|
- `POST /file/write` creates or replaces text files.
|
|
224
225
|
- `POST /file/edit` applies one exact text replacement.
|
|
225
226
|
|
|
226
227
|
Write/edit are **strict mutation routes**: even on loopback they require a
|
|
227
228
|
configured bearer token, otherwise they return `token_required`. Replacements
|
|
228
|
-
and edits require the latest `expectedHash` from `GET /file`
|
|
229
|
-
`GET /file/bytes`).
|
|
230
|
-
|
|
231
|
-
|
|
229
|
+
and edits require the latest `expectedHash` from a full-snapshot `GET /file`
|
|
230
|
+
(or a full-window `GET /file/bytes`). A partial large-file window cannot be
|
|
231
|
+
used as an optimistic-concurrency token. `create` never overwrites. Explicit
|
|
232
|
+
writes to ignored paths are allowed but audited. Binary writes,
|
|
233
|
+
delete/move/mkdir, and recursive parent creation are not part of this surface.
|
|
232
234
|
|
|
233
235
|
### 3. Open a session
|
|
234
236
|
|
|
@@ -4,37 +4,39 @@ import {
|
|
|
4
4
|
MINIMUM_MAX_HEIGHT,
|
|
5
5
|
MaxSizedBox,
|
|
6
6
|
setMaxSizedBoxDebugging
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-URPQ5QZM.js";
|
|
8
8
|
import "./chunk-GKX7E4CO.js";
|
|
9
9
|
import "./chunk-SV5PQVQE.js";
|
|
10
|
+
import "./chunk-2IIJTXYF.js";
|
|
10
11
|
import "./chunk-GATT5TKW.js";
|
|
11
|
-
import "./chunk-UWMLWVCA.js";
|
|
12
12
|
import "./chunk-5QWWOFGG.js";
|
|
13
13
|
import "./chunk-YDLJGZHL.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-EYGWU66Z.js";
|
|
18
|
+
import "./chunk-5M6IDOMF.js";
|
|
18
19
|
import "./chunk-TWPJO254.js";
|
|
19
20
|
import "./chunk-H6XPXXMH.js";
|
|
20
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-CVHIL5IG.js";
|
|
21
22
|
import "./chunk-UPUG4GXM.js";
|
|
22
23
|
import "./chunk-64LQLPL7.js";
|
|
23
24
|
import "./chunk-2LQTH543.js";
|
|
24
25
|
import "./chunk-KRXPRVGL.js";
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-6PVPNMXU.js";
|
|
27
|
+
import "./chunk-LW67T6GH.js";
|
|
27
28
|
import "./chunk-IRH27ZC2.js";
|
|
28
29
|
import "./chunk-QHWCP53L.js";
|
|
29
30
|
import "./chunk-PONHVBRT.js";
|
|
31
|
+
import "./chunk-PMGFWLAZ.js";
|
|
30
32
|
import "./chunk-T26EAKDL.js";
|
|
31
|
-
import "./chunk-6PVPNMXU.js";
|
|
32
33
|
import "./chunk-CPBF7KYF.js";
|
|
33
34
|
import "./chunk-6QIGFD5W.js";
|
|
34
35
|
import "./chunk-XWWKIXVD.js";
|
|
35
36
|
import "./chunk-75GFAX4R.js";
|
|
36
37
|
import "./chunk-OKF7JF3R.js";
|
|
37
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-6FMJLI5M.js";
|
|
39
|
+
import "./chunk-FH6SU2OG.js";
|
|
38
40
|
import "./chunk-S6LOFUVP.js";
|
|
39
41
|
import "./chunk-JCW2R7WC.js";
|
|
40
42
|
import "./chunk-2DN4J57Y.js";
|
|
@@ -47,27 +49,27 @@ import "./chunk-DGEIYUC3.js";
|
|
|
47
49
|
import "./chunk-MPHPFVKK.js";
|
|
48
50
|
import "./chunk-GLNBDYUX.js";
|
|
49
51
|
import "./chunk-DJ2GSRLV.js";
|
|
50
|
-
import "./chunk-
|
|
51
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-ZWUDSQBD.js";
|
|
53
|
+
import "./chunk-RQLRERVY.js";
|
|
52
54
|
import "./chunk-2J3OJGTL.js";
|
|
53
55
|
import "./chunk-P3QQPMQA.js";
|
|
54
56
|
import "./chunk-RPLGZJV2.js";
|
|
55
57
|
import "./chunk-GLCZKT5V.js";
|
|
56
58
|
import "./chunk-DZLYR4U3.js";
|
|
57
|
-
import "./chunk-
|
|
59
|
+
import "./chunk-2Q4CZ3V6.js";
|
|
58
60
|
import "./chunk-VGC4I5JJ.js";
|
|
59
61
|
import "./chunk-SGFT55XI.js";
|
|
60
62
|
import "./chunk-Y4IHBGBP.js";
|
|
61
63
|
import "./chunk-Y6AXW2OG.js";
|
|
62
|
-
import "./chunk-
|
|
64
|
+
import "./chunk-OINT3ZNV.js";
|
|
63
65
|
import "./chunk-46UV252V.js";
|
|
64
66
|
import "./chunk-ZBVS26BY.js";
|
|
65
67
|
import "./chunk-WZRWHXFE.js";
|
|
66
68
|
import "./chunk-A3NDJ5SB.js";
|
|
67
69
|
import "./chunk-7XATOOE7.js";
|
|
68
|
-
import "./chunk-
|
|
70
|
+
import "./chunk-YX4DHA6S.js";
|
|
69
71
|
import "./chunk-W4RQUHY3.js";
|
|
70
|
-
import "./chunk-
|
|
72
|
+
import "./chunk-G7XXKQYS.js";
|
|
71
73
|
import "./chunk-UHUSJ6X7.js";
|
|
72
74
|
import "./chunk-VOQXFAY5.js";
|
|
73
75
|
import "./chunk-75DOP5OR.js";
|
|
@@ -4,47 +4,47 @@ import {
|
|
|
4
4
|
ConfigContext,
|
|
5
5
|
SessionPicker,
|
|
6
6
|
SettingsContext
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import
|
|
10
|
-
KeypressProvider
|
|
11
|
-
} from "./chunk-AL62VKMS.js";
|
|
12
|
-
import "./chunk-KADQPLPX.js";
|
|
13
|
-
import "./chunk-TUQ36KWK.js";
|
|
14
|
-
import "./chunk-M7OONWYU.js";
|
|
7
|
+
} from "./chunk-TCBP4Q3K.js";
|
|
8
|
+
import "./chunk-M4O2DCE3.js";
|
|
9
|
+
import "./chunk-SWRHIQDT.js";
|
|
15
10
|
import "./chunk-4WGODMVR.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-URPQ5QZM.js";
|
|
12
|
+
import "./chunk-3QDXECUB.js";
|
|
18
13
|
import "./chunk-GKX7E4CO.js";
|
|
14
|
+
import {
|
|
15
|
+
KeypressProvider
|
|
16
|
+
} from "./chunk-OAOPCTG6.js";
|
|
17
|
+
import "./chunk-CI2PGI7Z.js";
|
|
19
18
|
import {
|
|
20
19
|
require_jsx_runtime
|
|
21
20
|
} from "./chunk-SV5PQVQE.js";
|
|
22
|
-
import "./chunk-GATT5TKW.js";
|
|
23
21
|
import {
|
|
24
22
|
Box_default,
|
|
25
23
|
render_default,
|
|
26
24
|
use_app_default
|
|
27
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-2IIJTXYF.js";
|
|
26
|
+
import "./chunk-VBX5IFEN.js";
|
|
27
|
+
import "./chunk-GATT5TKW.js";
|
|
28
|
+
import "./chunk-KW7NOTN6.js";
|
|
28
29
|
import {
|
|
29
30
|
require_react
|
|
30
31
|
} from "./chunk-5QWWOFGG.js";
|
|
31
|
-
import "./chunk-FW4M4GA7.js";
|
|
32
|
-
import "./chunk-HKFEPLKW.js";
|
|
33
32
|
import "./chunk-YDLJGZHL.js";
|
|
33
|
+
import "./chunk-OCUM7TJA.js";
|
|
34
34
|
import "./chunk-2MIN6GRR.js";
|
|
35
35
|
import "./chunk-QHTIBUWB.js";
|
|
36
36
|
import "./chunk-QTERJVPZ.js";
|
|
37
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-S7G7Z3MP.js";
|
|
38
38
|
import "./chunk-E5Z2AVNV.js";
|
|
39
39
|
import "./chunk-57OAHC2Y.js";
|
|
40
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-7A4V5CJY.js";
|
|
41
41
|
import "./chunk-RKUWKYED.js";
|
|
42
|
-
import "./chunk-ATZOB5Y2.js";
|
|
43
|
-
import "./chunk-NNERMV7T.js";
|
|
44
42
|
import "./chunk-GOXKNSDZ.js";
|
|
45
43
|
import "./chunk-IDS7MSUP.js";
|
|
44
|
+
import "./chunk-RWZPM2BP.js";
|
|
45
|
+
import "./chunk-UJBURGBH.js";
|
|
46
46
|
import "./chunk-6PEXNQTX.js";
|
|
47
|
-
import "./chunk-
|
|
47
|
+
import "./chunk-5IDU2UGL.js";
|
|
48
48
|
import "./chunk-ALGGS7UH.js";
|
|
49
49
|
import "./chunk-MR3PXB6E.js";
|
|
50
50
|
import {
|
|
@@ -53,27 +53,29 @@ import {
|
|
|
53
53
|
import {
|
|
54
54
|
SessionService,
|
|
55
55
|
getGitBranch
|
|
56
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-EYGWU66Z.js";
|
|
57
|
+
import "./chunk-5M6IDOMF.js";
|
|
57
58
|
import "./chunk-TWPJO254.js";
|
|
58
59
|
import "./chunk-H6XPXXMH.js";
|
|
59
|
-
import "./chunk-
|
|
60
|
+
import "./chunk-CVHIL5IG.js";
|
|
60
61
|
import "./chunk-UPUG4GXM.js";
|
|
61
62
|
import "./chunk-64LQLPL7.js";
|
|
62
63
|
import "./chunk-2LQTH543.js";
|
|
63
64
|
import "./chunk-KRXPRVGL.js";
|
|
64
|
-
import "./chunk-
|
|
65
|
-
import "./chunk-
|
|
65
|
+
import "./chunk-6PVPNMXU.js";
|
|
66
|
+
import "./chunk-LW67T6GH.js";
|
|
66
67
|
import "./chunk-IRH27ZC2.js";
|
|
67
68
|
import "./chunk-QHWCP53L.js";
|
|
68
69
|
import "./chunk-PONHVBRT.js";
|
|
70
|
+
import "./chunk-PMGFWLAZ.js";
|
|
69
71
|
import "./chunk-T26EAKDL.js";
|
|
70
|
-
import "./chunk-6PVPNMXU.js";
|
|
71
72
|
import "./chunk-CPBF7KYF.js";
|
|
72
73
|
import "./chunk-6QIGFD5W.js";
|
|
73
74
|
import "./chunk-XWWKIXVD.js";
|
|
74
75
|
import "./chunk-75GFAX4R.js";
|
|
75
76
|
import "./chunk-OKF7JF3R.js";
|
|
76
|
-
import "./chunk-
|
|
77
|
+
import "./chunk-6FMJLI5M.js";
|
|
78
|
+
import "./chunk-FH6SU2OG.js";
|
|
77
79
|
import "./chunk-S6LOFUVP.js";
|
|
78
80
|
import "./chunk-JCW2R7WC.js";
|
|
79
81
|
import "./chunk-2DN4J57Y.js";
|
|
@@ -86,30 +88,30 @@ import "./chunk-DGEIYUC3.js";
|
|
|
86
88
|
import "./chunk-MPHPFVKK.js";
|
|
87
89
|
import "./chunk-GLNBDYUX.js";
|
|
88
90
|
import "./chunk-DJ2GSRLV.js";
|
|
89
|
-
import "./chunk-
|
|
90
|
-
import "./chunk-
|
|
91
|
+
import "./chunk-ZWUDSQBD.js";
|
|
92
|
+
import "./chunk-RQLRERVY.js";
|
|
91
93
|
import "./chunk-2J3OJGTL.js";
|
|
92
94
|
import "./chunk-P3QQPMQA.js";
|
|
93
95
|
import "./chunk-RPLGZJV2.js";
|
|
94
96
|
import "./chunk-GLCZKT5V.js";
|
|
95
97
|
import "./chunk-DZLYR4U3.js";
|
|
96
|
-
import "./chunk-
|
|
98
|
+
import "./chunk-2Q4CZ3V6.js";
|
|
97
99
|
import "./chunk-VGC4I5JJ.js";
|
|
98
100
|
import "./chunk-SGFT55XI.js";
|
|
99
101
|
import "./chunk-Y4IHBGBP.js";
|
|
100
102
|
import "./chunk-Y6AXW2OG.js";
|
|
101
|
-
import "./chunk-
|
|
103
|
+
import "./chunk-OINT3ZNV.js";
|
|
102
104
|
import "./chunk-46UV252V.js";
|
|
103
105
|
import "./chunk-ZBVS26BY.js";
|
|
104
106
|
import "./chunk-WZRWHXFE.js";
|
|
105
107
|
import "./chunk-A3NDJ5SB.js";
|
|
106
108
|
import "./chunk-7XATOOE7.js";
|
|
107
|
-
import "./chunk-
|
|
109
|
+
import "./chunk-YX4DHA6S.js";
|
|
108
110
|
import "./chunk-W4RQUHY3.js";
|
|
109
|
-
import "./chunk-
|
|
111
|
+
import "./chunk-G7XXKQYS.js";
|
|
110
112
|
import "./chunk-UHUSJ6X7.js";
|
|
111
113
|
import "./chunk-VOQXFAY5.js";
|
|
112
|
-
import "./chunk-
|
|
114
|
+
import "./chunk-SMWPUA2A.js";
|
|
113
115
|
import "./chunk-75DOP5OR.js";
|
|
114
116
|
import "./chunk-DMTGGOSA.js";
|
|
115
117
|
import "./chunk-YQ3U5MUC.js";
|