@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.
Files changed (255) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +1 -0
  2. package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  3. package/bundled/qc-helper/docs/features/channels/github.md +12 -2
  4. package/bundled/qc-helper/docs/features/channels/gitlab.md +171 -0
  5. package/bundled/qc-helper/docs/features/hooks.md +18 -0
  6. package/bundled/qc-helper/docs/qwen-serve.md +7 -5
  7. package/chunks/{MaxSizedBox-UQGQ6O3I.js → MaxSizedBox-H77LGFDG.js} +16 -14
  8. package/chunks/{StandaloneSessionPicker-QLO5COVM.js → StandaloneSessionPicker-NGKLCYX4.js} +34 -32
  9. package/chunks/{acpAgent-ECMKCJPZ.js → acpAgent-RUN53PRW.js} +98 -80
  10. package/chunks/{agent-NJ4VPY5B.js → agent-4CFRD2OG.js} +14 -12
  11. package/chunks/{agent-headless-JB6RF5HT.js → agent-headless-XPUCIZLL.js} +14 -12
  12. package/chunks/{bridge-EXKCQ7MD.js → bridge-B2YJLSLT.js} +17 -15
  13. package/chunks/{build-S6DO7LMM.js → build-GDBLPA24.js} +1 -1
  14. package/chunks/{channel-management-service-XR7GZSWF.js → channel-management-service-RAPKQK24.js} +20 -5
  15. package/chunks/{channel-settings-store-VA4J7HPF.js → channel-settings-store-KJQKY6NN.js} +20 -18
  16. package/chunks/{channel-worker-group-XDPTDWTX.js → channel-worker-group-7SZ7MR3K.js} +4 -4
  17. package/chunks/{channel-worker-manager-YYEHVRRE.js → channel-worker-manager-RN5KJYPF.js} +4 -4
  18. package/chunks/{channel-worker-supervisor-74HTWA2G.js → channel-worker-supervisor-CABBXYHK.js} +3 -3
  19. package/chunks/{chunk-UWMLWVCA.js → chunk-2IIJTXYF.js} +26 -10
  20. package/chunks/{chunk-BWKCTLEJ.js → chunk-2Q4CZ3V6.js} +454 -55
  21. package/chunks/{chunk-KY3NRFJ5.js → chunk-3QDXECUB.js} +4 -4
  22. package/chunks/{chunk-HWNLU2HC.js → chunk-3RMX26V7.js} +6 -6
  23. package/chunks/{chunk-XR2NFLNQ.js → chunk-4755HD5V.js} +4 -4
  24. package/chunks/{chunk-GBAZKAZW.js → chunk-4D3MHM5F.js} +3 -3
  25. package/chunks/{chunk-IZO36O6O.js → chunk-4FQ4OKOU.js} +6 -6
  26. package/chunks/{chunk-VYO6YPYG.js → chunk-5EHIP3GX.js} +2 -2
  27. package/chunks/{chunk-4WSL256B.js → chunk-5IDU2UGL.js} +1 -1
  28. package/chunks/{chunk-WUKGHS32.js → chunk-5ZEFGTII.js} +3 -3
  29. package/chunks/{chunk-KFPFJAR3.js → chunk-6CH6PHMZ.js} +7 -7
  30. package/chunks/chunk-6FMJLI5M.js +1591 -0
  31. package/chunks/{chunk-GZ3RCT54.js → chunk-6MPDY6ZG.js} +1 -1
  32. package/chunks/{chunk-YAKKV4WO.js → chunk-6OF62NPQ.js} +10 -10
  33. package/chunks/{chunk-A2APC6HM.js → chunk-72E7TSGG.js} +1 -1
  34. package/chunks/{chunk-T2QMKU3R.js → chunk-77IMMLN2.js} +16 -4
  35. package/chunks/{chunk-7A4ZDITM.js → chunk-7A4V5CJY.js} +61 -16
  36. package/chunks/{chunk-DIQGH5CN.js → chunk-7BV2P4S3.js} +1 -1
  37. package/chunks/{chunk-DDKAZLZ7.js → chunk-7RFNMXPU.js} +6 -4
  38. package/chunks/{chunk-KBNDRM4U.js → chunk-7UKQW4JU.js} +3 -3
  39. package/chunks/{chunk-3Q4TGVUX.js → chunk-ANND7YTH.js} +95 -42
  40. package/chunks/{chunk-XRYM3MCI.js → chunk-B47WVQ7T.js} +37 -11
  41. package/chunks/{chunk-HRD7NI6D.js → chunk-CAEQL6GZ.js} +3 -3
  42. package/chunks/{chunk-M7OONWYU.js → chunk-CI2PGI7Z.js} +2 -0
  43. package/chunks/{chunk-SUWVXF2E.js → chunk-CUWGNCKW.js} +2 -2
  44. package/chunks/{chunk-UEDIRTKG.js → chunk-CYIBLZBR.js} +1 -1
  45. package/chunks/{chunk-QQLCYEN2.js → chunk-CYPJYJIX.js} +1 -1
  46. package/chunks/{chunk-R3NOCPFB.js → chunk-DGV27C34.js} +4 -4
  47. package/chunks/{chunk-HUK2P4RS.js → chunk-EYGWU66Z.js} +2649 -703
  48. package/chunks/{chunk-TFRMVU6R.js → chunk-FANRZEAJ.js} +1 -1
  49. package/chunks/{chunk-WBL3FJEU.js → chunk-FC4KQFCS.js} +1 -1
  50. package/chunks/{chunk-GNR2RNMP.js → chunk-FCYYAB4S.js} +2 -2
  51. package/chunks/{chunk-JSD33JG6.js → chunk-FH6SU2OG.js} +4 -0
  52. package/chunks/{chunk-S7W2GKIO.js → chunk-G7XXKQYS.js} +2 -0
  53. package/chunks/{chunk-WUNZAP5I.js → chunk-GKWLJW7Z.js} +3 -3
  54. package/chunks/{chunk-DABQX74H.js → chunk-GOXRFPH5.js} +6 -6
  55. package/chunks/{chunk-SGM6M3XG.js → chunk-HFAV3POZ.js} +1 -1
  56. package/chunks/{chunk-AOAYOH3R.js → chunk-HGQIL6NG.js} +1 -1
  57. package/chunks/{chunk-7HRXAFCW.js → chunk-HOSENQJL.js} +1 -1
  58. package/chunks/{chunk-GZXCZHCT.js → chunk-I3G5JWBV.js} +1 -1
  59. package/chunks/{chunk-GXIJHV66.js → chunk-I3V7RKRZ.js} +1 -1
  60. package/chunks/{chunk-74YNMTJP.js → chunk-IQMYZTDI.js} +15 -15
  61. package/chunks/{chunk-7I5GTCT4.js → chunk-JCJ7LKNA.js} +5104 -4817
  62. package/chunks/{chunk-S3TWXGKA.js → chunk-JE7KQ2UP.js} +4 -2
  63. package/chunks/{chunk-NG3V2LPY.js → chunk-JQTW5CA5.js} +3 -3
  64. package/chunks/{chunk-XBYYDKAZ.js → chunk-JZQUOT4B.js} +8 -7
  65. package/chunks/{chunk-XH7E5IGP.js → chunk-K4GTOFKY.js} +1 -1
  66. package/chunks/{chunk-T2NCM2ET.js → chunk-K6KS3LTN.js} +2 -749
  67. package/chunks/{chunk-EABYVKAK.js → chunk-KLESQCW6.js} +1 -1
  68. package/chunks/{chunk-OXWFQXKX.js → chunk-KQGB3ME2.js} +4 -4
  69. package/chunks/{chunk-LHZRAR2Q.js → chunk-LI53FGDL.js} +60 -43
  70. package/chunks/{chunk-YPCRRO7K.js → chunk-LIJID5PD.js} +3 -3
  71. package/chunks/{chunk-DJGYJDYR.js → chunk-LW67T6GH.js} +1 -1
  72. package/chunks/{chunk-KADQPLPX.js → chunk-M4O2DCE3.js} +1 -1
  73. package/chunks/{chunk-2XSLTRFZ.js → chunk-MFW7APBA.js} +2 -2
  74. package/chunks/{chunk-R7ZITH3J.js → chunk-MKQOXP2O.js} +1 -1
  75. package/chunks/{chunk-AL62VKMS.js → chunk-OAOPCTG6.js} +11 -9
  76. package/chunks/{chunk-HKFEPLKW.js → chunk-OCUM7TJA.js} +1 -1
  77. package/chunks/{chunk-727I7LJ2.js → chunk-OIG257JR.js} +3 -3
  78. package/chunks/{chunk-LNHZ3A4I.js → chunk-OINT3ZNV.js} +5 -5
  79. package/chunks/{chunk-DNDETPES.js → chunk-PEK4ARMZ.js} +3 -3
  80. package/chunks/{chunk-Y6RATHM5.js → chunk-PGHTM673.js} +2 -2
  81. package/chunks/{record-artifact-XAMSFSW4.js → chunk-PMGFWLAZ.js} +21 -6
  82. package/chunks/{chunk-F3EYHTOC.js → chunk-RF4FA22B.js} +3 -3
  83. package/chunks/{chunk-75MIQ3LV.js → chunk-RQLRERVY.js} +2 -2
  84. package/chunks/{chunk-ATZOB5Y2.js → chunk-RWZPM2BP.js} +1 -1
  85. package/chunks/{chunk-ZSQ5LDBH.js → chunk-S7G7Z3MP.js} +1 -1
  86. package/chunks/{chunk-XBZQT63P.js → chunk-SMWPUA2A.js} +1 -1
  87. package/chunks/{chunk-TUQ36KWK.js → chunk-SWRHIQDT.js} +2 -2
  88. package/chunks/chunk-T3CHYWJZ.js +758 -0
  89. package/chunks/{chunk-ML5M5XOY.js → chunk-TCBP4Q3K.js} +41 -41
  90. package/chunks/{chunk-GW3XHA6P.js → chunk-TJHLQ45J.js} +1 -1
  91. package/chunks/{chunk-NNERMV7T.js → chunk-UJBURGBH.js} +1 -1
  92. package/chunks/{chunk-U3E3UQAA.js → chunk-URPQ5QZM.js} +1 -1
  93. package/chunks/{chunk-X6XZITHR.js → chunk-V47JGII4.js} +2 -2
  94. package/chunks/{chunk-FW4M4GA7.js → chunk-VBX5IFEN.js} +1 -1
  95. package/chunks/{chunk-5FNROPXI.js → chunk-W7D7QTCH.js} +4 -4
  96. package/chunks/{chunk-YGF33UXG.js → chunk-XTLTBZIH.js} +2 -2
  97. package/chunks/{chunk-V5AWXXVA.js → chunk-XVYRMUI5.js} +1 -1
  98. package/chunks/{chunk-5YVWMI26.js → chunk-XZB72HUB.js} +3 -3
  99. package/chunks/{chunk-BGTQCTQW.js → chunk-YX4DHA6S.js} +2 -2
  100. package/chunks/{chunk-3MGBLIXX.js → chunk-ZM63TFJH.js} +1 -1
  101. package/chunks/{chunk-GEBV2JGB.js → chunk-ZPZ7ZJEE.js} +1 -1
  102. package/chunks/{chunk-UFI5GRDS.js → chunk-ZS6Q44DY.js} +3 -3
  103. package/chunks/{chunk-P2YNZWXZ.js → chunk-ZWUDSQBD.js} +1 -1
  104. package/chunks/{computer-use-TGJRGZWO.js → computer-use-HRVGY7OB.js} +14 -12
  105. package/chunks/{config-utils-NYSXDMEQ.js → config-utils-RUFMEUYD.js} +4 -4
  106. package/chunks/{contextCommand-HGWDMG36.js → contextCommand-V3N7Q3UM.js} +16 -14
  107. package/chunks/{core-runtime-WHE3LSHF.js → core-runtime-QGEW6WBW.js} +14 -12
  108. package/chunks/{create-sub-session-OWI4RC7D.js → create-sub-session-ZUWDNFO2.js} +14 -12
  109. package/chunks/{daemon-Q2AB5Z23.js → daemon-QH2G5B5E.js} +47 -2
  110. package/chunks/{daemon-status-provider-KY35PVUR.js → daemon-status-provider-MB54AMNV.js} +21 -19
  111. package/chunks/{daemon-trust-policy-QSQRPXHD.js → daemon-trust-policy-3VFDF5LU.js} +19 -17
  112. package/chunks/{daemon-trust-policy-monitor-VJQ54EM3.js → daemon-trust-policy-monitor-4KX2OK7G.js} +19 -17
  113. package/chunks/{deferred-core-runtime-U3DDMMV2.js → deferred-core-runtime-UIJL6EEU.js} +14 -12
  114. package/chunks/{dist-SV7Q3AWJ.js → dist-2PERFI23.js} +12 -9
  115. package/chunks/{dist-BSTVRPMT.js → dist-AOOUOG5S.js} +177 -15
  116. package/chunks/{dist-DOLYHMXE.js → dist-OAOC5OV4.js} +2 -2
  117. package/chunks/{dist-YGBBMK3Z.js → dist-PVEAFLHY.js} +5 -4
  118. package/chunks/{dist-HVRQ2CFL.js → dist-SL2LUMML.js} +1180 -5
  119. package/chunks/dist-ULIG4M5H.js +13415 -0
  120. package/chunks/{dist-IXQEQWRG.js → dist-WGMNT3JQ.js} +1 -1
  121. package/chunks/{dist-SSU66DM4.js → dist-ZHXOBXDN.js} +1 -1
  122. package/chunks/{earlyInputCapture-H4YOY6R7.js → earlyInputCapture-QBC4ZCV7.js} +14 -12
  123. package/chunks/{edit-NZWMOOX6.js → edit-7ABV72VV.js} +14 -12
  124. package/chunks/{enter-worktree-6FMYNZ4S.js → enter-worktree-4NOWT6I2.js} +14 -12
  125. package/chunks/{enterPlanMode-RYK5P7WC.js → enterPlanMode-4NOQ6A56.js} +14 -12
  126. package/chunks/{environment-RBLY3QVX.js → environment-ABMFNOJO.js} +16 -14
  127. package/chunks/{errors-WVUI42QV.js → errors-UAX4AR5Q.js} +16 -14
  128. package/chunks/{exit-worktree-FRFYEX6R.js → exit-worktree-CF2O5AQM.js} +14 -12
  129. package/chunks/{exitPlanMode-STTGKHP2.js → exitPlanMode-5KEF5DLM.js} +14 -12
  130. package/chunks/{fast-path-OZD2JFDY.js → fast-path-RWZGR7A6.js} +2 -2
  131. package/chunks/{gemini-PUKYW6OF.js → gemini-A4LXWU5S.js} +62 -60
  132. package/chunks/{geminiContentGenerator-HYMWIERE.js → geminiContentGenerator-VPXAS3BM.js} +1 -1
  133. package/chunks/{glob-IZATNUPS.js → glob-P6ZPQOPR.js} +14 -12
  134. package/chunks/goal-tools-H2NHZKGN.js +335 -0
  135. package/chunks/{grep-DWHBLRXJ.js → grep-56M3IJ36.js} +14 -12
  136. package/chunks/{handleAutoUpdate-3VHGEOAV.js → handleAutoUpdate-N3IMC273.js} +18 -16
  137. package/chunks/{i18n-A56PNKBP.js → i18n-UFV5QINW.js} +15 -13
  138. package/chunks/{image-gen-RBLQKXQJ.js → image-gen-GPYAKETO.js} +1 -1
  139. package/chunks/{initializer-TCD6H7VY.js → initializer-OXWZKLEX.js} +19 -17
  140. package/chunks/{installationInfo-276EXQW2.js → installationInfo-V2YEC52N.js} +15 -13
  141. package/chunks/{list-NWDHWJ4D.js → list-UN6EJ6WB.js} +22 -20
  142. package/chunks/{loadedSettingsAdapter-YXJKWUYF.js → loadedSettingsAdapter-LZK2PMOY.js} +19 -17
  143. package/chunks/{loggingContentGenerator-LU6TII3U.js → loggingContentGenerator-PSFMRX7M.js} +6 -6
  144. package/chunks/{managed-npm-update-AO3CL6VU.js → managed-npm-update-D2AO3F47.js} +15 -13
  145. package/chunks/{mcp-5PMHEFAR.js → mcp-A2VAOKMH.js} +19 -17
  146. package/chunks/{monitor-2YELRQ6S.js → monitor-7EJ3WBER.js} +14 -12
  147. package/chunks/{nonInteractiveCli-74R5S76M.js → nonInteractiveCli-43LIVN4A.js} +54 -52
  148. package/chunks/{notebook-edit-SV6GDWUG.js → notebook-edit-IQD53ULF.js} +14 -12
  149. package/chunks/{openaiContentGenerator-FMBXX26Z.js → openaiContentGenerator-YPCMNGEZ.js} +5 -5
  150. package/chunks/{pidfile-HZA26WFC.js → pidfile-3SOOBWZA.js} +14 -12
  151. package/chunks/{processUtils-4F7EMUKQ.js → processUtils-FGVHFR4V.js} +2 -2
  152. package/chunks/{qwenContentGenerator-CXAD5IOE.js → qwenContentGenerator-M6YW4D6A.js} +15 -13
  153. package/chunks/{qwenOAuth2-7V2RGLUU.js → qwenOAuth2-XSYKLMNR.js} +1 -1
  154. package/chunks/{read-file-AQKNOXOV.js → read-file-XOMBFIS7.js} +4 -4
  155. package/chunks/record-artifact-JANPGVS4.js +21 -0
  156. package/chunks/{resumeHistoryUtils-NSHGEJZY.js → resumeHistoryUtils-E4EVA4PO.js} +18 -16
  157. package/chunks/{ripGrep-KVWIREMR.js → ripGrep-M4NYA6AM.js} +14 -12
  158. package/chunks/{run-qwen-serve-LBBMQRWJ.js → run-qwen-serve-QLCU2BAZ.js} +49 -48
  159. package/chunks/{runtime-XR3VFARS.js → runtime-T36WUYIO.js} +24 -22
  160. package/chunks/{scheduler-OLI5YERT.js → scheduler-C3J45Z5W.js} +14 -12
  161. package/chunks/{sdk-exporters-http-WO556XNU.js → sdk-exporters-http-BFOKQFRD.js} +2 -2
  162. package/chunks/{sdk-impl-LPAVACSF.js → sdk-impl-6CJ3JQZL.js} +2 -2
  163. package/chunks/{send-message-SAWK4DZX.js → send-message-RJ2R4PIV.js} +1 -7
  164. package/chunks/{serve-2WM3HPSN.js → serve-7SWJTL3K.js} +19 -17
  165. package/chunks/{server-T4C6UGPM.js → server-T2B64F4O.js} +239 -72
  166. package/chunks/{session-IAPGXMG3.js → session-D546I4HT.js} +55 -53
  167. package/chunks/{settings-LIYC7NVY.js → settings-ZQOOTRR7.js} +23 -21
  168. package/chunks/{shell-M455ZXG6.js → shell-5OR4RAKF.js} +14 -12
  169. package/chunks/{skill-ZHDF6IVV.js → skill-X4E5JMKV.js} +5 -5
  170. package/chunks/{skill-settings-MEFO33AC.js → skill-settings-ZS3XPDMT.js} +18 -16
  171. package/chunks/{spawnChannel-NAISQSBK.js → spawnChannel-MILVKB3G.js} +16 -14
  172. package/chunks/{standalone-update-K4RNR537.js → standalone-update-UTYCSPUO.js} +16 -14
  173. package/chunks/{startInteractiveUI-HJUQMCBD.js → startInteractiveUI-S4R5J4EN.js} +727 -743
  174. package/chunks/{task-create-INGWNUG4.js → task-create-KUQIS7RA.js} +2 -2
  175. package/chunks/{task-update-CRK5VWWZ.js → task-update-4FPFYGE3.js} +2 -2
  176. package/chunks/{team-create-YWCUC55A.js → team-create-MGD3Q7W4.js} +14 -12
  177. package/chunks/{team-plan-approval-ZJGZRKV5.js → team-plan-approval-VMVGLPDQ.js} +14 -12
  178. package/chunks/{theme-manager-5LUFI5NY.js → theme-manager-U4QE2YSY.js} +14 -12
  179. package/chunks/{tool-search-LZMDLBAK.js → tool-search-6T7VYTYZ.js} +5 -5
  180. package/chunks/{total-session-admission-MDA3ANYQ.js → total-session-admission-PLKO4EET.js} +17 -15
  181. package/chunks/{trustedFolders-NZEZRJPU.js → trustedFolders-QZU6BO46.js} +15 -13
  182. package/chunks/{update-relaunch-D7EKBO4E.js → update-relaunch-NWPFNM5L.js} +5 -5
  183. package/chunks/{updateCheck-AKFMZZCG.js → updateCheck-KEOCGBZR.js} +17 -15
  184. package/chunks/{useAutoAcceptIndicator-55OEL7UZ.js → useAutoAcceptIndicator-O6XISZEA.js} +23 -21
  185. package/chunks/{validateNonInterActiveAuth-K5WQOFUQ.js → validateNonInterActiveAuth-WCHAHO75.js} +51 -49
  186. package/chunks/{version-ANSPR52A.js → version-VP3VZ2BM.js} +1 -1
  187. package/chunks/{web-fetch-WFKX5SJM.js → web-fetch-KM2FSOKS.js} +4 -4
  188. package/chunks/{web-search-XDPHXEUC.js → web-search-WUR6PYBO.js} +2 -2
  189. package/chunks/{workflow-6YYVMHCS.js → workflow-S6XMX55R.js} +17 -15
  190. package/chunks/{workspace-providers-status-5L4FEPYR.js → workspace-providers-status-JGIZRHVT.js} +22 -20
  191. package/chunks/{workspace-registration-store-C2HIDNXV.js → workspace-registration-store-JDEMOOFX.js} +1 -1
  192. package/chunks/{workspace-registry-7B7T5SC3.js → workspace-registry-NIL6253M.js} +17 -15
  193. package/chunks/{workspace-service-VGGIWADS.js → workspace-service-UYB6MMWL.js} +23 -21
  194. package/chunks/{workspace-skills-status-MZZLEGL5.js → workspace-skills-status-GSJRWER4.js} +20 -18
  195. package/chunks/{workspace-trust-reconciler-3PA5PLHX.js → workspace-trust-reconciler-V2TICK2A.js} +22 -20
  196. package/chunks/{write-file-5GNKRL2B.js → write-file-QHD5ELJS.js} +18 -14
  197. package/chunks/{zoom-image-JIRPKLNA.js → zoom-image-236QXDRH.js} +29 -156
  198. package/cli.js +12 -12
  199. package/package.json +3 -3
  200. package/web-shell/assets/{arc-75-Wdeo3.js → arc-DQN8gc5j.js} +1 -1
  201. package/web-shell/assets/{architectureDiagram-3BPJPVTR-FKeXQbyP.js → architectureDiagram-3BPJPVTR-C6Z867cc.js} +1 -1
  202. package/web-shell/assets/{blockDiagram-GPEHLZMM-CY0vc-A3.js → blockDiagram-GPEHLZMM-BkyNf4_J.js} +1 -1
  203. package/web-shell/assets/{c4Diagram-AAUBKEIU-CNP-A-8u.js → c4Diagram-AAUBKEIU-BA7aurej.js} +1 -1
  204. package/web-shell/assets/channel-YzToqAUt.js +1 -0
  205. package/web-shell/assets/{chunk-2J33WTMH-GybS4Gii.js → chunk-2J33WTMH-Dp_LERgD.js} +1 -1
  206. package/web-shell/assets/{chunk-4BX2VUAB-02H91V8v.js → chunk-4BX2VUAB-CCwcnkeW.js} +1 -1
  207. package/web-shell/assets/{chunk-55IACEB6-D3M-2VT6.js → chunk-55IACEB6-e0ytWiup.js} +1 -1
  208. package/web-shell/assets/{chunk-727SXJPM-CCu29u4H.js → chunk-727SXJPM-DBoZrQ--.js} +1 -1
  209. package/web-shell/assets/{chunk-AQP2D5EJ-CaFKWgrn.js → chunk-AQP2D5EJ-dmHU5zKq.js} +1 -1
  210. package/web-shell/assets/{chunk-FMBD7UC4-ZZpPqIwQ.js → chunk-FMBD7UC4-PP3UKzsN.js} +1 -1
  211. package/web-shell/assets/{chunk-ND2GUHAM-D22DqGs8.js → chunk-ND2GUHAM-Bjy0PNsP.js} +1 -1
  212. package/web-shell/assets/{chunk-QZHKN3VN-Bu85S0fw.js → chunk-QZHKN3VN-CM0H6wrK.js} +1 -1
  213. package/web-shell/assets/classDiagram-4FO5ZUOK-_le9LVNU.js +1 -0
  214. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-_le9LVNU.js +1 -0
  215. package/web-shell/assets/{cose-bilkent-S5V4N54A-f1CK1Gwe.js → cose-bilkent-S5V4N54A-B1B_Fozz.js} +1 -1
  216. package/web-shell/assets/{dagre-BM42HDAG-D0Ow8F_n.js → dagre-BM42HDAG-DGFk7aBN.js} +1 -1
  217. package/web-shell/assets/{diagram-2AECGRRQ-BPrmTWp8.js → diagram-2AECGRRQ-VdlYGHdV.js} +1 -1
  218. package/web-shell/assets/{diagram-5GNKFQAL-HccuFAzy.js → diagram-5GNKFQAL-xcEMWz6m.js} +1 -1
  219. package/web-shell/assets/{diagram-KO2AKTUF-BrS76mbA.js → diagram-KO2AKTUF-B6Dd23eT.js} +1 -1
  220. package/web-shell/assets/{diagram-LMA3HP47-V7T9lU-5.js → diagram-LMA3HP47-C3bjiNTc.js} +1 -1
  221. package/web-shell/assets/{diagram-OG6HWLK6-DKidyJMR.js → diagram-OG6HWLK6-ChXfX8H6.js} +1 -1
  222. package/web-shell/assets/{erDiagram-TEJ5UH35-DBadZIkp.js → erDiagram-TEJ5UH35-D7RBC3FG.js} +1 -1
  223. package/web-shell/assets/{flowDiagram-I6XJVG4X-BymfqdNJ.js → flowDiagram-I6XJVG4X-bNsx8Fqb.js} +1 -1
  224. package/web-shell/assets/{ganttDiagram-6RSMTGT7-DOw340jf.js → ganttDiagram-6RSMTGT7-C_m4liOj.js} +1 -1
  225. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-_8EiD8sl.js → gitGraphDiagram-PVQCEYII-CzAqOmDr.js} +1 -1
  226. package/web-shell/assets/{index-CKIadvET.js → index-BArKGy43.js} +1 -1
  227. package/web-shell/assets/index-C2GE3DAF.js +74 -0
  228. package/web-shell/assets/index-_dIfJ82-.js +1625 -0
  229. package/web-shell/assets/index-heP6zO4t.css +5 -0
  230. package/web-shell/assets/{infoDiagram-5YYISTIA-D61KYQBu.js → infoDiagram-5YYISTIA-BBw9H4RT.js} +1 -1
  231. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CsiXSpNx.js → ishikawaDiagram-YF4QCWOH-C8Ns7cDb.js} +1 -1
  232. package/web-shell/assets/{journeyDiagram-JHISSGLW-Sdfionyh.js → journeyDiagram-JHISSGLW-BkW5h5si.js} +1 -1
  233. package/web-shell/assets/{kanban-definition-UN3LZRKU-C3WI3Cnl.js → kanban-definition-UN3LZRKU-IUhsF7tq.js} +1 -1
  234. package/web-shell/assets/{linear-Dpigcc62.js → linear-CeDsMMjT.js} +1 -1
  235. package/web-shell/assets/{mermaid.core-Ct97pqgW.js → mermaid.core-VTPU82QL.js} +5 -5
  236. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BzeaN0rB.js → mindmap-definition-RKZ34NQL-DVohXDmC.js} +1 -1
  237. package/web-shell/assets/{pieDiagram-4H26LBE5-CvjgcbVD.js → pieDiagram-4H26LBE5-SxBFaID8.js} +1 -1
  238. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-BUzgTNdH.js → quadrantDiagram-W4KKPZXB-BJt8o3Cs.js} +1 -1
  239. package/web-shell/assets/{requirementDiagram-4Y6WPE33-B7zKlgUQ.js → requirementDiagram-4Y6WPE33-B02G8M7E.js} +1 -1
  240. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-Bb9CQgrT.js → sankeyDiagram-5OEKKPKP-CzMCGPib.js} +1 -1
  241. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DJ6V7itG.js → sequenceDiagram-3UESZ5HK-CzbJgSkE.js} +1 -1
  242. package/web-shell/assets/{stateDiagram-AJRCARHV-IImflERY.js → stateDiagram-AJRCARHV-DhiXBOKS.js} +1 -1
  243. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DILbnhvR.js +1 -0
  244. package/web-shell/assets/{timeline-definition-PNZ67QCA-6Q_uWHKh.js → timeline-definition-PNZ67QCA-Btj5idQV.js} +1 -1
  245. package/web-shell/assets/{vennDiagram-CIIHVFJN-TmyKyjwv.js → vennDiagram-CIIHVFJN-CJz2YZq4.js} +1 -1
  246. package/web-shell/assets/{wardley-L42UT6IY-CRh9uiPv.js → wardley-L42UT6IY-CavIou7m.js} +1 -1
  247. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-59TKAW8w.js → wardleyDiagram-YWT4CUSO-BRf62x8X.js} +1 -1
  248. package/web-shell/assets/{xychartDiagram-2RQKCTM6-GCSUIK2L.js → xychartDiagram-2RQKCTM6-ItOGZPM_.js} +1 -1
  249. package/web-shell/index.html +2 -2
  250. package/web-shell/assets/channel-DPYMT76A.js +0 -1
  251. package/web-shell/assets/classDiagram-4FO5ZUOK--JstsIgL.js +0 -1
  252. package/web-shell/assets/classDiagram-v2-Q7XG4LA2--JstsIgL.js +0 -1
  253. package/web-shell/assets/index-D1eXNRHe.js +0 -1389
  254. package/web-shell/assets/index-DVLD4CQq.css +0 -5
  255. 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
  >
@@ -7,5 +7,6 @@ export default {
7
7
  feishu: 'Feishu',
8
8
  qqbot: 'QQ Bot',
9
9
  github: 'GitHub',
10
+ gitlab: 'GitLab',
10
11
  plugins: 'Plugins',
11
12
  };
@@ -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 (or a dedicated bot 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": ["your-github-username"],
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 and returns a raw-byte `sha256:<hex>` hash.
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` (or a full-window
229
- `GET /file/bytes`). `create` never overwrites. Explicit writes to ignored paths
230
- are allowed but audited. Binary writes, delete/move/mkdir, and recursive parent
231
- creation are not part of this surface.
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-U3E3UQAA.js";
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-HUK2P4RS.js";
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-5M6IDOMF.js";
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-DJGYJDYR.js";
26
- import "./chunk-CVHIL5IG.js";
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-JSD33JG6.js";
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-P2YNZWXZ.js";
51
- import "./chunk-75MIQ3LV.js";
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-BWKCTLEJ.js";
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-LNHZ3A4I.js";
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-BGTQCTQW.js";
70
+ import "./chunk-YX4DHA6S.js";
69
71
  import "./chunk-W4RQUHY3.js";
70
- import "./chunk-S7W2GKIO.js";
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-ML5M5XOY.js";
8
- import "./chunk-KY3NRFJ5.js";
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-KW7NOTN6.js";
17
- import "./chunk-U3E3UQAA.js";
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-UWMLWVCA.js";
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-ZSQ5LDBH.js";
37
+ import "./chunk-S7G7Z3MP.js";
38
38
  import "./chunk-E5Z2AVNV.js";
39
39
  import "./chunk-57OAHC2Y.js";
40
- import "./chunk-7A4ZDITM.js";
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-4WSL256B.js";
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-HUK2P4RS.js";
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-5M6IDOMF.js";
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-DJGYJDYR.js";
65
- import "./chunk-CVHIL5IG.js";
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-JSD33JG6.js";
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-P2YNZWXZ.js";
90
- import "./chunk-75MIQ3LV.js";
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-BWKCTLEJ.js";
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-LNHZ3A4I.js";
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-BGTQCTQW.js";
109
+ import "./chunk-YX4DHA6S.js";
108
110
  import "./chunk-W4RQUHY3.js";
109
- import "./chunk-S7W2GKIO.js";
111
+ import "./chunk-G7XXKQYS.js";
110
112
  import "./chunk-UHUSJ6X7.js";
111
113
  import "./chunk-VOQXFAY5.js";
112
- import "./chunk-XBZQT63P.js";
114
+ import "./chunk-SMWPUA2A.js";
113
115
  import "./chunk-75DOP5OR.js";
114
116
  import "./chunk-DMTGGOSA.js";
115
117
  import "./chunk-YQ3U5MUC.js";