@qwen-code/qwen-code 0.23.2 → 0.23.3

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 (373) hide show
  1. package/README.md +35 -15
  2. package/bundled/computer-use/SKILL.md +1 -1
  3. package/bundled/qc-helper/docs/configuration/model-providers.md +66 -28
  4. package/bundled/qc-helper/docs/configuration/settings.md +5 -3
  5. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  6. package/bundled/qc-helper/docs/features/channels/dws.md +7 -1
  7. package/bundled/qc-helper/docs/features/commands.md +57 -9
  8. package/bundled/qc-helper/docs/features/computer-use.md +1 -1
  9. package/bundled/qc-helper/docs/features/cross-session-protocol.md +320 -0
  10. package/bundled/qc-helper/docs/features/goals.md +1 -1
  11. package/bundled/qc-helper/docs/qwen-serve.md +16 -3
  12. package/bundled/review/SKILL.md +82 -79
  13. package/bundled/review/references/posting.md +31 -14
  14. package/chunks/{MaxSizedBox-4C3BKKKY.js → MaxSizedBox-D4LW7RZZ.js} +58 -51
  15. package/chunks/{StandaloneSessionPicker-TXVF65YW.js → StandaloneSessionPicker-ALTTRWUP.js} +80 -73
  16. package/chunks/acp-subagent-executor-LEUN3N7N.js +919 -0
  17. package/chunks/{acpAgent-H5XBKGB4.js → acpAgent-BBSW7XZG.js} +509 -201
  18. package/chunks/{agent-T5LEFJIU.js → agent-SQ6OY3QD.js} +42 -36
  19. package/chunks/{agent-headless-VZKSRH36.js → agent-headless-RI2THRQ7.js} +42 -36
  20. package/chunks/{anthropicContentGenerator-PRJWWVYJ.js → anthropicContentGenerator-JSKMKS6V.js} +66 -34
  21. package/chunks/{artifact-tool-G5LHNECG.js → artifact-tool-PMYZCYNH.js} +2 -2
  22. package/chunks/{askUserQuestion-I5W5S3D6.js → askUserQuestion-4M4YYIB4.js} +2 -2
  23. package/chunks/{bridge-AOX5IY44.js → bridge-DAFMI72L.js} +62 -55
  24. package/chunks/{channel-management-service-MWQGHPAS.js → channel-management-service-OWDXVL7R.js} +8 -8
  25. package/chunks/{channel-settings-store-XZCGDGHW.js → channel-settings-store-4I6JONT7.js} +69 -62
  26. package/chunks/{channel-worker-group-SQ5FRWOH.js → channel-worker-group-F2ZZMLNS.js} +8 -8
  27. package/chunks/{channel-worker-manager-TU4ZNWOE.js → channel-worker-manager-2SZLJJSJ.js} +18 -9
  28. package/chunks/{channel-worker-supervisor-EMITFMCP.js → channel-worker-supervisor-ZFNWMG6D.js} +6 -6
  29. package/chunks/{chunk-GNY7B3CA.js → chunk-2ALXPGB4.js} +1 -1
  30. package/chunks/{chunk-LUNC5KCL.js → chunk-2PJRI3EH.js} +7 -7
  31. package/chunks/{chunk-CLKE4IY3.js → chunk-2SZH22YO.js} +1 -1
  32. package/chunks/{chunk-RNAJVXUG.js → chunk-2ZN3O5FT.js} +6 -6
  33. package/chunks/{chunk-HIXUUCGY.js → chunk-36HCNKDS.js} +1 -1
  34. package/chunks/{chunk-FGHPZGOP.js → chunk-3BTSSIJO.js} +38 -54
  35. package/chunks/{chunk-VBLAI2HA.js → chunk-3FPYT6QC.js} +0 -31
  36. package/chunks/{chunk-QB3KS3N3.js → chunk-3I7W2POO.js} +1 -1
  37. package/chunks/{chunk-QTB4VP4K.js → chunk-3KQBQ6FM.js} +136 -11
  38. package/chunks/{chunk-JO77FGNZ.js → chunk-3UXUOFO6.js} +19 -7
  39. package/chunks/{chunk-WDN64MVT.js → chunk-3XLK2QMY.js} +82 -16
  40. package/chunks/chunk-532WHF4F.js +127 -0
  41. package/chunks/{chunk-NX7ZTXFF.js → chunk-53GWJOLP.js} +1 -1
  42. package/chunks/{chunk-QQK4L3UU.js → chunk-5GLDOLNQ.js} +131 -26
  43. package/chunks/{chunk-WK7P62DV.js → chunk-5KI7ZDTB.js} +6 -6
  44. package/chunks/{chunk-ERXNTINK.js → chunk-6JACAGYH.js} +1 -1
  45. package/chunks/{chunk-CMWU6P4D.js → chunk-6W4HBUA2.js} +1 -1
  46. package/chunks/{chunk-AUTUFD5X.js → chunk-76RGWKLS.js} +1 -1
  47. package/chunks/{chunk-PDN7FJZV.js → chunk-7APZIRH3.js} +2 -2
  48. package/chunks/{chunk-WBU2PIZ5.js → chunk-7BXXIQG4.js} +16 -16
  49. package/chunks/{chunk-APXIW2TF.js → chunk-7ICHPMBQ.js} +4 -4
  50. package/chunks/{chunk-CWVZBIZJ.js → chunk-7Q2AXRDJ.js} +1 -1
  51. package/chunks/{chunk-WDVV3LRM.js → chunk-7QYWGTHB.js} +1 -1
  52. package/chunks/{chunk-RM244SCQ.js → chunk-AC6KDLH3.js} +1 -1
  53. package/chunks/{chunk-2WC3Y7YY.js → chunk-AEY27Z35.js} +401 -23
  54. package/chunks/{chunk-XDNFODER.js → chunk-AXTFYDXT.js} +1 -1
  55. package/chunks/chunk-AYEJOTIU.js +43 -0
  56. package/chunks/{chunk-ZN5TKAVR.js → chunk-BV6Q5HMY.js} +3 -3
  57. package/chunks/{chunk-TOOOLHVS.js → chunk-BWAMMKIS.js} +3 -3
  58. package/chunks/{chunk-IRGDIDGJ.js → chunk-BWQLXU37.js} +26 -19
  59. package/chunks/{process-registry-OAEG6WGC.js → chunk-BYUAT5OC.js} +1 -0
  60. package/chunks/{chunk-GOEVQADN.js → chunk-BZM5U74J.js} +287 -169
  61. package/chunks/chunk-CF5KXZZX.js +150 -0
  62. package/chunks/{chunk-TGNNLRC3.js → chunk-CJ3DHN5I.js} +1 -0
  63. package/chunks/{chunk-PFKGV6PO.js → chunk-CUEXOHQH.js} +9 -9
  64. package/chunks/chunk-CXTPVBFA.js +937 -0
  65. package/chunks/{chunk-LEAOJ43M.js → chunk-DAWWT2ID.js} +62 -59
  66. package/chunks/{chunk-CALTQWTZ.js → chunk-DLH7YIX6.js} +2 -2
  67. package/chunks/chunk-DT75RKNH.js +691 -0
  68. package/chunks/{chunk-TRWQQBVH.js → chunk-DTNV6UZY.js} +1 -1
  69. package/chunks/{chunk-3OAXF3UK.js → chunk-DYFOSJHU.js} +3080 -933
  70. package/chunks/{chunk-GSFV5RQW.js → chunk-E4UEO3XM.js} +3 -2
  71. package/chunks/{chunk-A7EFXK7P.js → chunk-E7LB57MB.js} +5 -5
  72. package/chunks/{chunk-KEPC5BOL.js → chunk-EDMXGXAK.js} +9 -9
  73. package/chunks/chunk-ELRMZTPF.js +374 -0
  74. package/chunks/chunk-ERU3SDXT.js +27 -0
  75. package/chunks/{chunk-O2FEO2CB.js → chunk-EUURTIV6.js} +18 -2
  76. package/chunks/{chunk-QFJZAY7W.js → chunk-EVTNACMT.js} +3 -3
  77. package/chunks/{chunk-4HOEU2OR.js → chunk-EWJTAP3Y.js} +1 -19
  78. package/chunks/{chunk-YQGW3M6Z.js → chunk-F42YYSCK.js} +8 -8
  79. package/chunks/{chunk-7PD7ZMX5.js → chunk-FCQJLMA2.js} +98 -5
  80. package/chunks/{chunk-4VY3ITHR.js → chunk-FN3JNDRU.js} +3 -3
  81. package/chunks/{chunk-R457KFV7.js → chunk-GCDXVPFK.js} +3 -3
  82. package/chunks/{chunk-IR6JKBAP.js → chunk-GOXQL4YH.js} +2 -2
  83. package/chunks/{chunk-YLOHCA6I.js → chunk-GSILBZLN.js} +2 -2
  84. package/chunks/{chunk-LNYV4GXX.js → chunk-GSKX53AN.js} +0 -139
  85. package/chunks/{chunk-4WMGYG3F.js → chunk-HBQ2NXOU.js} +2 -2
  86. package/chunks/{chunk-F2NYVASI.js → chunk-HBU7EKY4.js} +14 -12
  87. package/chunks/{chunk-6G4V7SE4.js → chunk-HG46TTAG.js} +1 -1
  88. package/chunks/{chunk-G5VOXCRX.js → chunk-HGAELO7B.js} +2 -2
  89. package/chunks/{chunk-FETY36NQ.js → chunk-HGEUHUEV.js} +1 -1
  90. package/chunks/{chunk-E6TI726I.js → chunk-HUXPEUFL.js} +1 -1
  91. package/chunks/{chunk-LYT2OU7D.js → chunk-IAEXTMED.js} +1 -1
  92. package/chunks/{chunk-IW6RQPQB.js → chunk-IJOS26LH.js} +1 -3
  93. package/chunks/{chunk-ORFIYTI2.js → chunk-IK2MWJP5.js} +1 -1
  94. package/chunks/{chunk-WXD7INFV.js → chunk-IL5M5NYD.js} +8 -8
  95. package/chunks/{chunk-KA5HR3G2.js → chunk-IUVIBDKU.js} +2 -2
  96. package/chunks/{chunk-5DQ4YTIZ.js → chunk-IV7GDNKC.js} +1 -1
  97. package/chunks/chunk-JL6APGBX.js +43 -0
  98. package/chunks/{chunk-N6S3NUYJ.js → chunk-JXNIF2O5.js} +1 -1
  99. package/chunks/{chunk-DAI65CMX.js → chunk-JYKWOREU.js} +1 -1
  100. package/chunks/chunk-K2OJUPOE.js +78 -0
  101. package/chunks/{chunk-KFECPHLV.js → chunk-KFZYGSJN.js} +3 -3
  102. package/chunks/{chunk-BK7D2JR6.js → chunk-KOKPXIAN.js} +3 -3
  103. package/chunks/{chunk-4I3WFI3U.js → chunk-LDVNJZGH.js} +12 -12
  104. package/chunks/{chunk-WXFCI3O5.js → chunk-LG5Y4OWO.js} +2 -2
  105. package/chunks/{chunk-3LPJ776W.js → chunk-LILGKQ4B.js} +10 -7
  106. package/chunks/{chunk-X7LFJF5D.js → chunk-LK2WUCDQ.js} +36 -84
  107. package/chunks/{chunk-7LTCFO6T.js → chunk-MF6E7FSA.js} +6 -5
  108. package/chunks/{chunk-ELD3OBPU.js → chunk-MHAADZOZ.js} +3 -3
  109. package/chunks/{chunk-4JNHNVAZ.js → chunk-MLQNSPRZ.js} +4 -4
  110. package/chunks/{chunk-NPKCVSXX.js → chunk-MOS5OAOG.js} +10 -8
  111. package/chunks/{chunk-IWABUX6T.js → chunk-MSNHNAQZ.js} +6 -6
  112. package/chunks/{chunk-HJ5UJQQL.js → chunk-N7VWZDWW.js} +1699 -1312
  113. package/chunks/{chunk-NB3NDQQK.js → chunk-NE624IVP.js} +1 -1
  114. package/chunks/{chunk-SOA4HKRJ.js → chunk-NFYEQRLG.js} +2 -2
  115. package/chunks/{chunk-G3ZUMSFS.js → chunk-NHCZJQE4.js} +6 -6
  116. package/chunks/{chunk-B25JYXZE.js → chunk-NHJKAR6E.js} +4 -4
  117. package/chunks/{chunk-ZP5XDLSA.js → chunk-NJQTG2G3.js} +12 -12
  118. package/chunks/{chunk-DARWOZY6.js → chunk-NLNQNBZ2.js} +1 -1
  119. package/chunks/{chunk-CCBTNJB4.js → chunk-NMCDMLHL.js} +27 -27
  120. package/chunks/{chunk-AO2VMS72.js → chunk-NMRCXKQ5.js} +3 -3
  121. package/chunks/{chunk-5BH2AIEY.js → chunk-NOAG7N22.js} +2 -2
  122. package/chunks/{chunk-VJJXG73H.js → chunk-NRXWJXJ4.js} +15 -0
  123. package/chunks/chunk-NUQ4GK5I.js +315 -0
  124. package/chunks/{chunk-J3VZF2AL.js → chunk-NUQVB25K.js} +2 -2
  125. package/chunks/{chunk-U6REWGVR.js → chunk-OLTN767L.js} +2 -2
  126. package/chunks/{chunk-R3JIDRUL.js → chunk-OX7IZ2G5.js} +4 -4
  127. package/chunks/{chunk-QAZ2MGYT.js → chunk-PLLIWEM3.js} +2 -2
  128. package/chunks/{chunk-KCF2436G.js → chunk-POC3YMHG.js} +4 -4
  129. package/chunks/{chunk-HZ2HUXX7.js → chunk-Q2LVVIKF.js} +1 -1
  130. package/chunks/{chunk-7NDZKE2M.js → chunk-Q5BD56BW.js} +3 -3
  131. package/chunks/{chunk-22GORRNY.js → chunk-QMUYLYT5.js} +1 -1
  132. package/chunks/{chunk-MV5DTLJV.js → chunk-R4Q2PEFV.js} +1 -1
  133. package/chunks/{chunk-GOKAOSCN.js → chunk-RLLRJJDR.js} +1 -1
  134. package/chunks/{chunk-5OZUKLL7.js → chunk-RWVD5RRY.js} +4 -4
  135. package/chunks/{chunk-ULZECEIP.js → chunk-RZHU3K6M.js} +2 -2
  136. package/chunks/{chunk-UYDQYDW2.js → chunk-S6Q6Q4P2.js} +1 -1
  137. package/chunks/{chunk-PQEISIKS.js → chunk-SAH4BD2J.js} +0 -67
  138. package/chunks/{chunk-LWX4WDFF.js → chunk-SBRX4BDI.js} +43 -15
  139. package/chunks/{chunk-TODNHE76.js → chunk-SODMFNAR.js} +5 -5
  140. package/chunks/{chunk-FAJPLSYF.js → chunk-SSGAAWLY.js} +89 -85
  141. package/chunks/{chunk-46MMBZHI.js → chunk-SYLECP23.js} +4 -4
  142. package/chunks/{chunk-6RZX2HIH.js → chunk-TBEXLLAO.js} +2 -2
  143. package/chunks/{chunk-MWIO7MF6.js → chunk-TP6FYVQT.js} +2 -0
  144. package/chunks/{chunk-HRPFBHW7.js → chunk-TPKQIA7G.js} +1 -0
  145. package/chunks/{chunk-QHLHE2OT.js → chunk-TWUKBNWM.js} +1 -1
  146. package/chunks/{chunk-H3Q3RSKZ.js → chunk-U7O65WKL.js} +1 -1
  147. package/chunks/{chunk-S5QR6CB5.js → chunk-UKMWZ5NS.js} +108 -887
  148. package/chunks/{chunk-OXR34GCD.js → chunk-UKZ45TJL.js} +1851 -34
  149. package/chunks/{chunk-CALNF3Z3.js → chunk-V2P3DOQR.js} +1 -1
  150. package/chunks/{chunk-FV4DM2M4.js → chunk-VG3Q2NC4.js} +7 -7
  151. package/chunks/{chunk-QTNCGZHQ.js → chunk-VX63RJXE.js} +9 -0
  152. package/chunks/{chunk-CRZBDVP2.js → chunk-VZUCTJ2P.js} +4 -4
  153. package/chunks/{chunk-2BMXHB6N.js → chunk-W5FIP7FC.js} +7 -7
  154. package/chunks/{chunk-7VEYUF3N.js → chunk-W5ZQMAEM.js} +1 -1
  155. package/chunks/{chunk-XQ4RDO5B.js → chunk-WBCPROWX.js} +1 -1
  156. package/chunks/{chunk-JYGIJA4W.js → chunk-X6K77VHC.js} +1 -1
  157. package/chunks/{chunk-7SVM3RP2.js → chunk-X7UJKOHZ.js} +3 -3
  158. package/chunks/{chunk-WXPPUPHM.js → chunk-XBZTAGB7.js} +1 -1
  159. package/chunks/{chunk-TRQNRP2H.js → chunk-XGYHNWL3.js} +45 -2
  160. package/chunks/{chunk-2EKVPSIJ.js → chunk-Y2MYW47X.js} +1 -1
  161. package/chunks/{chunk-OFVAS4AR.js → chunk-YBUMTY7B.js} +1 -1
  162. package/chunks/{chunk-67XTVRVB.js → chunk-YQHLFCPU.js} +7 -7
  163. package/chunks/{chunk-G37O7YO6.js → chunk-Z3GF56ME.js} +2 -2
  164. package/chunks/{chunk-XBVNNDPK.js → chunk-ZHKTKHMO.js} +8 -1
  165. package/chunks/{chunk-OWCFKIFQ.js → chunk-ZKYR7QS4.js} +1 -1
  166. package/chunks/{chunk-YZTGGCEE.js → chunk-ZKZHSB5W.js} +1 -1
  167. package/chunks/{chunk-565U2ANU.js → chunk-ZTTC7T4X.js} +1 -1
  168. package/chunks/{chunk-XSOXPG2L.js → chunk-ZU47FBOC.js} +36 -7
  169. package/chunks/{chunk-7OCIQNKX.js → chunk-ZW2EUO2A.js} +1 -1
  170. package/chunks/{config-utils-GPLIABL2.js → config-utils-L6KLDYIV.js} +62 -55
  171. package/chunks/{contextCommand-NCUQUDBY.js → contextCommand-UYEH7NIU.js} +59 -52
  172. package/chunks/{core-runtime-WKYKWVYU.js → core-runtime-NVHT3Z3V.js} +61 -54
  173. package/chunks/{create-sub-session-TGIX63YU.js → create-sub-session-TIGCFGCS.js} +2 -2
  174. package/chunks/{create-sub-session-PPLXB3JJ.js → create-sub-session-YWASE5VH.js} +59 -52
  175. package/chunks/{cron-create-GTPVMJCF.js → cron-create-AKWX67FO.js} +1 -1
  176. package/chunks/{cron-delete-ZBK27Z4K.js → cron-delete-XPB6IYZJ.js} +1 -1
  177. package/chunks/{cron-list-KTFKFDKC.js → cron-list-XBKO4WU5.js} +1 -1
  178. package/chunks/{daemon-2CKIAO3I.js → daemon-G5TYKZD6.js} +2 -2
  179. package/chunks/{daemon-git-worktree-guard-73ZWOLKL.js → daemon-git-worktree-guard-FOW4RQSK.js} +60 -53
  180. package/chunks/{daemon-status-provider-OK7VONJG.js → daemon-status-provider-O5KQZYMP.js} +67 -60
  181. package/chunks/{daemon-trust-policy-CAUCREG2.js → daemon-trust-policy-3ATXEON7.js} +64 -57
  182. package/chunks/{daemon-trust-policy-monitor-3Y36OOEQ.js → daemon-trust-policy-monitor-7MCNDNEC.js} +64 -57
  183. package/chunks/{deferred-core-runtime-Q7WFWYD3.js → deferred-core-runtime-JK5IXL5K.js} +57 -50
  184. package/chunks/{display-image-CTNHJRZC.js → display-image-NAH3AZ63.js} +3 -3
  185. package/chunks/{dist-NP7QKLVG.js → dist-AHJYPSJL.js} +3 -3
  186. package/chunks/{dist-6YDUH3BB.js → dist-AIKC5E5P.js} +2 -2
  187. package/chunks/{dist-Y5KC3IHW.js → dist-F2DVGTL3.js} +225 -6
  188. package/chunks/{dist-BNQVF565.js → dist-GWNQVPZT.js} +5 -5
  189. package/chunks/{dist-F6JLAJLE.js → dist-H6G3K26N.js} +3 -3
  190. package/chunks/{dist-ZDNJK74R.js → dist-KJGRVIGJ.js} +2 -2
  191. package/chunks/{dist-F34J4FZX.js → dist-KLZ7XGEQ.js} +2 -2
  192. package/chunks/{dist-UFTFGI6I.js → dist-ZA52JXAS.js} +2 -2
  193. package/chunks/{dist-XLV33CLY.js → dist-ZXTZTE54.js} +2 -2
  194. package/chunks/{edit-YJD6IETK.js → edit-SY35KYIE.js} +45 -39
  195. package/chunks/{en-YJNRUQG4.js → en-CAJHTIQT.js} +1 -0
  196. package/chunks/{enter-worktree-YFTKHXHZ.js → enter-worktree-54L5QJ3N.js} +4 -4
  197. package/chunks/{enterPlanMode-EFPVTWIH.js → enterPlanMode-HXX6KQJR.js} +42 -36
  198. package/chunks/{environment-HP3AXFTB.js → environment-DKXHG4HB.js} +60 -53
  199. package/chunks/{errors-22ON46G7.js → errors-ADY7LQJJ.js} +59 -52
  200. package/chunks/{exit-worktree-NF2XEMES.js → exit-worktree-EORJDKDS.js} +4 -4
  201. package/chunks/{exitPlanMode-MOQUNCBH.js → exitPlanMode-HSK2CQI6.js} +42 -36
  202. package/chunks/{fast-path-2X7BPMXX.js → fast-path-U636VWN2.js} +6 -6
  203. package/chunks/{fast-path-settings-SATXY3PD.js → fast-path-settings-V7MI7EZJ.js} +2 -2
  204. package/chunks/{glob-Y7ACIB3P.js → glob-GUGGTH5L.js} +45 -39
  205. package/chunks/{goal-tools-DABMICUC.js → goal-tools-PXYRSQGX.js} +42 -36
  206. package/chunks/{grep-BLHF2S5D.js → grep-3PKFKLCA.js} +2 -2
  207. package/chunks/{handleAutoUpdate-MCAMHYDI.js → handleAutoUpdate-5KHS4HIN.js} +60 -53
  208. package/chunks/{i18n-C3GDCALP.js → i18n-KSGKMUPT.js} +58 -51
  209. package/chunks/{image-gen-XP4NNIYG.js → image-gen-OCCR2WWU.js} +5 -4
  210. package/chunks/{initializer-4URDQL2G.js → initializer-YYT5XEZF.js} +64 -57
  211. package/chunks/{installationInfo-LBOL6SBV.js → installationInfo-UNSBPYW2.js} +57 -50
  212. package/chunks/{list-JOGBAC2R.js → list-YL6LDQKQ.js} +67 -60
  213. package/chunks/{list-agents-2CXPGJUE.js → list-agents-QLDXS5OD.js} +17 -7
  214. package/chunks/{llm-2KPNSAVY.js → llm-XGGLBGPH.js} +126 -119
  215. package/chunks/{llm-content-generator-GR3FOHLB.js → llm-content-generator-ZHQQT5W7.js} +5 -4
  216. package/chunks/{loadedSettingsAdapter-DVKROEJD.js → loadedSettingsAdapter-3DXLASK7.js} +64 -57
  217. package/chunks/{loggingContentGenerator-P4K6K5W4.js → loggingContentGenerator-V72OCCJO.js} +64 -57
  218. package/chunks/{loop-wakeup-HL6XOWI4.js → loop-wakeup-HHMYIC7Z.js} +2 -2
  219. package/chunks/{ls-YV7RKLKY.js → ls-N7ABR6HI.js} +4 -4
  220. package/chunks/{lsp-NO3AMRZT.js → lsp-LTOFWG5P.js} +1 -1
  221. package/chunks/{managed-npm-update-VWBKHNIN.js → managed-npm-update-HV5LPZH2.js} +57 -50
  222. package/chunks/{mcp-6YYNSYLK.js → mcp-IYVSIW6O.js} +64 -57
  223. package/chunks/{monitor-A255TNZR.js → monitor-TLBNM4MV.js} +44 -38
  224. package/chunks/{nonInteractiveCli-LXGIKQAT.js → nonInteractiveCli-LSJSQ2W4.js} +110 -103
  225. package/chunks/{notebook-edit-5UYHS2DM.js → notebook-edit-OSPOLZP6.js} +43 -37
  226. package/chunks/openai-WX26N5OJ.js +47 -0
  227. package/chunks/{openaiContentGenerator-A6MAMEO5.js → openaiContentGenerator-BE4S5TRD.js} +29 -23
  228. package/chunks/openaiResponsesContentGenerator-RTCAJ5V5.js +1658 -0
  229. package/chunks/{pidfile-B7DZC4TP.js → pidfile-H32FEPWA.js} +57 -50
  230. package/chunks/process-registry-X6ZCASEN.js +10 -0
  231. package/chunks/{processUtils-BPZ2MCZS.js → processUtils-SSLIPDEA.js} +2 -2
  232. package/chunks/{prompt-terminal-ledger-FYYTAOXS.js → prompt-terminal-ledger-I5SLL6UF.js} +58 -51
  233. package/chunks/{qwenContentGenerator-4IOJFD4S.js → qwenContentGenerator-TMQC623Z.js} +55 -47
  234. package/chunks/{qwenOAuth2-KX6LVYQ3.js → qwenOAuth2-3ZRQHHTC.js} +4 -3
  235. package/chunks/{read-file-A4H4O3VQ.js → read-file-T2QAIZE2.js} +11 -9
  236. package/chunks/{read-mcp-resource-D3N75DGF.js → read-mcp-resource-B37WANAQ.js} +1 -1
  237. package/chunks/{record-artifact-Q5CRGJTP.js → record-artifact-OAXWXZ5D.js} +2 -2
  238. package/chunks/record-source-D7R7X3GT.js +22 -0
  239. package/chunks/{report-findings-TJ34R7QK.js → report-findings-AR3VC6EQ.js} +3 -3
  240. package/chunks/{request-shutdown-LRKMTBAD.js → request-shutdown-IKNWTX5M.js} +5 -5
  241. package/chunks/{resumeHistoryUtils-YQQ43E4N.js → resumeHistoryUtils-QLKDH5GY.js} +63 -56
  242. package/chunks/{ripGrep-W32NWFTA.js → ripGrep-YGWL7KCV.js} +15 -13
  243. package/chunks/{run-qwen-serve-WBSWWIRV.js → run-qwen-serve-26KZDECC.js} +127 -102
  244. package/chunks/{runtime-VRVBX2E5.js → runtime-BMEIVDDG.js} +70 -63
  245. package/chunks/{scheduled-tasks-D65KJDA3.js → scheduled-tasks-NCFPP6VQ.js} +64 -57
  246. package/chunks/{scheduler-M2YPN7Z7.js → scheduler-47TVMUVN.js} +59 -52
  247. package/chunks/{sdk-exporters-grpc-MXTVSE3C.js → sdk-exporters-grpc-Y2ZUQDUQ.js} +2 -2
  248. package/chunks/{sdk-exporters-http-7R2ARBPV.js → sdk-exporters-http-VWTF4W6K.js} +3 -3
  249. package/chunks/{sdk-impl-YOLO7LV4.js → sdk-impl-G6FVTBQZ.js} +9 -9
  250. package/chunks/{send-message-76BKWKFZ.js → send-message-TWOGWCBG.js} +12 -9
  251. package/chunks/{serve-BE3H2P6P.js → serve-KL3G6LQQ.js} +64 -57
  252. package/chunks/{server-FLY5JERG.js → server-LBPYXZ5G.js} +2931 -518
  253. package/chunks/{session-JVN62R5K.js → session-YG6742LO.js} +118 -111
  254. package/chunks/{session-attachments-root-7ACGLHXA.js → session-attachments-root-OUBQDYC4.js} +57 -50
  255. package/chunks/{session-pr-refresh-TQS57SDK.js → session-pr-refresh-EKGMYNAW.js} +64 -57
  256. package/chunks/{settings-D44YMZFT.js → settings-DDNHJX2L.js} +69 -62
  257. package/chunks/{shell-3VE6I4V5.js → shell-KUCXWITU.js} +42 -36
  258. package/chunks/{skill-FHEGRRZU.js → skill-JQLKPNWZ.js} +33 -23
  259. package/chunks/{skill-settings-VHEJMBFL.js → skill-settings-XERQCUXZ.js} +63 -56
  260. package/chunks/{spawnChannel-T6MX2ZDN.js → spawnChannel-GQ45QFGB.js} +60 -53
  261. package/chunks/{standalone-update-QUGHFMCS.js → standalone-update-PRF3ILGZ.js} +59 -52
  262. package/chunks/{start-opentui-ui-IHIIZ2LE.js → start-opentui-ui-JDSOZE3N.js} +174 -157
  263. package/chunks/{startInteractiveUI-LR7K2ARZ.js → startInteractiveUI-RRW3JVHN.js} +533 -1119
  264. package/chunks/{syntheticOutput-D2P5V6RG.js → syntheticOutput-F6F27JMK.js} +2 -2
  265. package/chunks/{task-create-MWXJFRRM.js → task-create-Y623TBHB.js} +8 -8
  266. package/chunks/{task-list-EYO3FE57.js → task-list-FCPEEGWL.js} +1 -1
  267. package/chunks/{task-stop-BFSKRTGV.js → task-stop-QTKZXLPH.js} +1 -1
  268. package/chunks/{task-update-2JJJRHMT.js → task-update-YLSXF25N.js} +8 -8
  269. package/chunks/{team-create-GY3VFY47.js → team-create-5DRLOLOE.js} +44 -38
  270. package/chunks/{team-delete-IQZ6XGFI.js → team-delete-S7TLHZCF.js} +1 -1
  271. package/chunks/{team-plan-approval-BQPGZOT5.js → team-plan-approval-MWSGAL5T.js} +42 -36
  272. package/chunks/{terminal-image-renderer-YNYW5CQG.js → terminal-image-renderer-H7PD4FQW.js} +59 -52
  273. package/chunks/{theme-manager-U6CIK3GM.js → theme-manager-7AV73D6R.js} +57 -50
  274. package/chunks/{todoWrite-5ERKFWAK.js → todoWrite-5QI2H2FW.js} +4 -4
  275. package/chunks/{tool-search-XI3QWD5I.js → tool-search-UGYTBLUV.js} +17 -15
  276. package/chunks/{total-session-admission-3SNSJJ32.js → total-session-admission-JIHSTJ5S.js} +62 -55
  277. package/chunks/{trustedFolders-OVAQKNV5.js → trustedFolders-5VCBXFOP.js} +58 -51
  278. package/chunks/{update-relaunch-XV5O74E3.js → update-relaunch-4LF3APCV.js} +5 -5
  279. package/chunks/{updateCheck-CHUYWD6L.js → updateCheck-4T3WUE5F.js} +59 -52
  280. package/chunks/{useAutoAcceptIndicator-VKSVIXZC.js → useAutoAcceptIndicator-UMGB64Z6.js} +67 -60
  281. package/chunks/{validateNonInterActiveAuth-ZNUTD3E5.js → validateNonInterActiveAuth-GFJ72U2C.js} +107 -100
  282. package/chunks/{version-EK7VAGSI.js → version-EAAZN4T2.js} +1 -1
  283. package/chunks/{web-fetch-24KZO763.js → web-fetch-VRU3A2NI.js} +13 -11
  284. package/chunks/{web-search-CRNXKZ2X.js → web-search-NEGYQNDJ.js} +14 -10
  285. package/chunks/{web-shell-static-BFDESDD4.js → web-shell-static-CCN4JZEE.js} +1 -1
  286. package/chunks/workflow-UHPFALVZ.js +1224 -0
  287. package/chunks/{workspace-providers-status-MAM42IZS.js → workspace-providers-status-AEYISSU2.js} +68 -61
  288. package/chunks/{workspace-registration-store-HKLJEDQX.js → workspace-registration-store-A7RGKW62.js} +3 -1
  289. package/chunks/{workspace-registry-7RDDOBLN.js → workspace-registry-C2NGE6SD.js} +62 -55
  290. package/chunks/{workspace-runtime-coordinator-LEPDPXJO.js → workspace-runtime-coordinator-QKMZ24YF.js} +63 -56
  291. package/chunks/{workspace-service-5IFDCNN3.js → workspace-service-RQTTAGGC.js} +70 -63
  292. package/chunks/{workspace-skills-status-FJ3HNH4H.js → workspace-skills-status-5HWZU3HX.js} +65 -58
  293. package/chunks/{workspace-trust-reconciler-PQFHIWLR.js → workspace-trust-reconciler-KFWATZUU.js} +69 -62
  294. package/chunks/{write-file-ERG67ZFX.js → write-file-DPVB2SBQ.js} +44 -38
  295. package/chunks/{zh-VBFCRQBL.js → zh-S5V3Z5CR.js} +1 -0
  296. package/chunks/{zh-TW-N2TBF2F2.js → zh-TW-2K2WRFPY.js} +1 -0
  297. package/chunks/{zoom-image-WQYEC3SR.js → zoom-image-S7AWLAPC.js} +12 -10
  298. package/cli.js +13 -13
  299. package/export-transcript-document.css +1 -0
  300. package/export-transcript-document.js +164 -165
  301. package/locales/en.js +1 -0
  302. package/locales/zh-TW.js +1 -0
  303. package/locales/zh.js +1 -0
  304. package/package.json +5 -4
  305. package/web-shell/assets/{abnfDiagram-VCTEODGH-BRLgQbnT.js → abnfDiagram-VCTEODGH-nU24rpIE.js} +1 -1
  306. package/web-shell/assets/{arc-qAF9_XsR.js → arc-D1hTu8QI.js} +1 -1
  307. package/web-shell/assets/{architectureDiagram-5GKGNRK7-BorUttEz.js → architectureDiagram-5GKGNRK7-B_fgkKe7.js} +1 -1
  308. package/web-shell/assets/{blockDiagram-NRAW4CY4-Bj0qZVxu.js → blockDiagram-NRAW4CY4-C3pddUNg.js} +1 -1
  309. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BTqJis32.js → c4Diagram-UCG6FXSJ-kEFoC1ei.js} +1 -1
  310. package/web-shell/assets/channel-Blod4z1X.js +1 -0
  311. package/web-shell/assets/{chunk-2Q5K7J3B-RrQ5X8m-.js → chunk-2Q5K7J3B-DbT9wS7j.js} +1 -1
  312. package/web-shell/assets/{chunk-5VM5RSS4-uUjDl8wO.js → chunk-5VM5RSS4-CNbULt6O.js} +1 -1
  313. package/web-shell/assets/{chunk-F27PBJKO-C3JhpyzI.js → chunk-F27PBJKO-CbQRy4Tb.js} +1 -1
  314. package/web-shell/assets/{chunk-G27WJ6UU-C8ZNFs7F.js → chunk-G27WJ6UU-CVbXTxYk.js} +1 -1
  315. package/web-shell/assets/{chunk-JWPE2WC7-DNpXtEOs.js → chunk-JWPE2WC7-D89c_BXy.js} +1 -1
  316. package/web-shell/assets/{chunk-LCL6LL3I-DagA2ZLw.js → chunk-LCL6LL3I-B7-I_9KB.js} +1 -1
  317. package/web-shell/assets/{chunk-POPQ4Y6H-R23uH7Xm.js → chunk-POPQ4Y6H-DcLQFzS4.js} +1 -1
  318. package/web-shell/assets/{chunk-SVP7TREG-Qz9RN_BR.js → chunk-SVP7TREG-DyBb2Axj.js} +1 -1
  319. package/web-shell/assets/{chunk-XXDRQBXY-jYb1_hni.js → chunk-XXDRQBXY-BIA0eb5B.js} +1 -1
  320. package/web-shell/assets/classDiagram-DTDB5LWJ-D6hFDMqb.js +1 -0
  321. package/web-shell/assets/classDiagram-v2-JRS7N3AN-D6hFDMqb.js +1 -0
  322. package/web-shell/assets/{cose-bilkent-JH36ORCC-Cv2OunpE.js → cose-bilkent-JH36ORCC-Db2FYN85.js} +1 -1
  323. package/web-shell/assets/{cynefin-OW5HDTMX-LH42KFJx.js → cynefin-OW5HDTMX-i4GwmBVy.js} +1 -1
  324. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-Dha4_OoR.js → cynefinDiagram-5FMLGOSQ-LENf_IUy.js} +1 -1
  325. package/web-shell/assets/{dagre-3AP2YEHR-Br5lnUKD.js → dagre-3AP2YEHR-CF9XVrD9.js} +1 -1
  326. package/web-shell/assets/{diagram-S7CK7UJ4-dpKq2bBX.js → diagram-S7CK7UJ4-DD5PJfSm.js} +1 -1
  327. package/web-shell/assets/{diagram-UQ7AKVKN-BAgHWpXr.js → diagram-UQ7AKVKN-CjD_sBMj.js} +1 -1
  328. package/web-shell/assets/{diagram-VSXAHHWV-GRRzpyE2.js → diagram-VSXAHHWV-U5WwMqyA.js} +1 -1
  329. package/web-shell/assets/{diagram-VX7I27RA-BNFiaYpG.js → diagram-VX7I27RA-BujpHJJf.js} +1 -1
  330. package/web-shell/assets/{diagram-Z3DM3KII-BisZzB_h.js → diagram-Z3DM3KII-3ZLtKEXo.js} +1 -1
  331. package/web-shell/assets/{ebnfDiagram-PWID7BFC-B1xbwycf.js → ebnfDiagram-PWID7BFC-BGpiquRm.js} +1 -1
  332. package/web-shell/assets/{erDiagram-SSCWMZ5O-CQMzbGE5.js → erDiagram-SSCWMZ5O-D0besu_U.js} +1 -1
  333. package/web-shell/assets/{flowDiagram-A5DVABFB-CZ_Zondl.js → flowDiagram-A5DVABFB-9DwDuIyr.js} +1 -1
  334. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BTh2ShxS.js → ganttDiagram-EL5Y4UJY-CNlsAeNr.js} +1 -1
  335. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-oHOB-Uxt.js → gitGraphDiagram-WWUBYQGX-C_pPFiTR.js} +1 -1
  336. package/web-shell/assets/{index-DWoFMu5x.js → index-BYWs4JWq.js} +1 -1
  337. package/web-shell/assets/index-D3YS6KuJ.js +2173 -0
  338. package/web-shell/assets/index-eBxK3rs2.css +36 -0
  339. package/web-shell/assets/{infoDiagram-RXCK75RN-C0QpudbG.js → infoDiagram-RXCK75RN-Bpai64Ll.js} +1 -1
  340. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-a6B741uT.js → ishikawaDiagram-5VMMS53U-ktpJFq4r.js} +1 -1
  341. package/web-shell/assets/{journeyDiagram-EYS64GPL-Dbht9ICp.js → journeyDiagram-EYS64GPL-iz_DKgFX.js} +1 -1
  342. package/web-shell/assets/{kanban-definition-3QL26DDD-D4OFR8-h.js → kanban-definition-3QL26DDD-m_gG00Yt.js} +1 -1
  343. package/web-shell/assets/{layout-Dvdh5jRH.js → layout-qEvKgnvU.js} +1 -1
  344. package/web-shell/assets/{linear-Dvc6KIW2.js → linear-C6lklGdq.js} +1 -1
  345. package/web-shell/assets/{mermaid.core-CB36RfIb.js → mermaid.core-DSCYB_2P.js} +6 -6
  346. package/web-shell/assets/{mindmap-definition-FBJOCRG2-Fmqo1CjP.js → mindmap-definition-FBJOCRG2-DRQbT8w-.js} +1 -1
  347. package/web-shell/assets/{pegDiagram-XKGWAZYB-CCxYBoA4.js → pegDiagram-XKGWAZYB-BhD0q0i6.js} +1 -1
  348. package/web-shell/assets/{pieDiagram-E7YTZNPT-BVHKQFzt.js → pieDiagram-E7YTZNPT-BvIGQCSd.js} +1 -1
  349. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-l95IznwR.js → quadrantDiagram-AXDQQJYC-BDQtfpU-.js} +1 -1
  350. package/web-shell/assets/{railroadDiagram-O6MQD6OU-BlLdRdXp.js → railroadDiagram-O6MQD6OU-E1g2KIFK.js} +1 -1
  351. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BkDLBR5w.js → requirementDiagram-EFPCY7ZU-CuerYJOe.js} +1 -1
  352. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-jAIqRp65.js → sankeyDiagram-P5KCCOFB-CqWyCZGA.js} +1 -1
  353. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-f-soZYPr.js → sequenceDiagram-WJ2MYXX4-B-YWb8x4.js} +1 -1
  354. package/web-shell/assets/{sizeCapture-X5ZJPWSS-BzOuAfB2.js → sizeCapture-X5ZJPWSS-BB7YY4Tl.js} +1 -1
  355. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BPLSs12r.js → stateDiagram-HBIQ2CUA-C8LDpNHS.js} +1 -1
  356. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C4CbdvGa.js +1 -0
  357. package/web-shell/assets/{swimlanes-XN3QIQJK-D-9E_RIR.js → swimlanes-XN3QIQJK-D94vOoxZ.js} +1 -1
  358. package/web-shell/assets/swimlanesDiagram-VK2B7HYN--QNSIOC8.js +8 -0
  359. package/web-shell/assets/{timeline-definition-24CTP7MA-CT56K-gV.js → timeline-definition-24CTP7MA-C9C8uEYm.js} +1 -1
  360. package/web-shell/assets/{vennDiagram-4TSXK5OY-B-vi4IyO.js → vennDiagram-4TSXK5OY-CYzMHbVW.js} +1 -1
  361. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9O7Ju98.js → wardleyDiagram-VM6X3IG4-G9nhtLES.js} +1 -1
  362. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-6d8w3jg2.js → xychartDiagram-S5SC5T6Z-ruD2Wjhg.js} +1 -1
  363. package/web-shell/index.html +29 -5
  364. package/chunks/chunk-V7RNNPGC.js +0 -44
  365. package/chunks/workflow-HD5NYMW5.js +0 -2907
  366. package/web-shell/assets/channel-COIuCrVH.js +0 -1
  367. package/web-shell/assets/classDiagram-DTDB5LWJ-DoX6OYqu.js +0 -1
  368. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DoX6OYqu.js +0 -1
  369. package/web-shell/assets/index-CI1ysIEv.js +0 -2154
  370. package/web-shell/assets/index-CpxXGH-8.css +0 -36
  371. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-IRul-LaT.js +0 -1
  372. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-D6lgKepA.js +0 -8
  373. /package/chunks/{chunk-JA5CBKRP.js → chunk-7NXSVSFB.js} +0 -0
@@ -103,28 +103,45 @@ Read `.qwen/tmp/qwen-review-{target}-presubmit.json`. Schema:
103
103
  existingComments: {
104
104
  total: number;
105
105
  byBucket: { stale, resolved, overlap, repost, noConflict: number };
106
- // repost entries are a SUBSET of overlap and
107
- // are counted in both: every re-post target
108
- // is also an overlap
106
+ // a top-level re-post target is ALSO an
107
+ // overlap and is counted in both; the
108
+ // pipeline's own carry-REPLY inside a
109
+ // replied-to thread appears in repost ONLY
110
+ // (an exemption carrier, never an overlap)
109
111
  // Comment = { id, path, line, commit_id,
110
112
  // body — an 80-char excerpt,
111
113
  // user? — the author login when known }
112
114
  overlap: Comment[]; // BLOCK on submit — except a finding whose
113
- // id matches a repost entry at the same
114
- // location (see repost below)
115
+ // id appears in matchedIds of ANY repost
116
+ // entry, wherever that entry sits (see
117
+ // repost below)
115
118
  repost: (Comment & { matchedIds: string[] })[];
116
- // overlap comments matched as re-post
117
- // targets by a carried-id prefix in the
118
- // claim line, or (when unambiguous) a truly
119
- // id-less own-account original exempt
120
- // those findings from the drop (see below)
119
+ // a ROOT leg's matchedIds are the ids of
120
+ // findings at that entry's own location; a
121
+ // carry-reply leg's are id-joined, and its
122
+ // path/line are the reply's own anchor
123
+ // (`original_line` when GitHub unmapped it,
124
+ // else 0) — never null
125
+ // re-post targets: overlap comments matched
126
+ // by a carried-id prefix in the claim line,
127
+ // or (when unambiguous) a truly id-less
128
+ // own-account original, at the finding's
129
+ // location; PLUS the pipeline's own carry-
130
+ // reply carrying a wanted id, at ANY
131
+ // location (in repost only) — exempt those
132
+ // findings from the drop (see below)
121
133
  stale: Comment[]; // log "Skipped N stale ..."
122
134
  resolved: Comment[]; // log "Skipped N replied-to ..."
123
135
  noConflict: Comment[]; // log "Found N prior with no overlap ..."
124
136
  };
125
137
  downgradeApprove: boolean; // submit COMMENT instead of APPROVE
126
138
  downgradeRequestChanges: boolean; // submit COMMENT instead of REQUEST_CHANGES (self-PR only)
127
- downgradeReasons: string[]; // human-readable; join with '; ' for body
139
+ downgradeReasons: string[]; // human-readable; copy them into the
140
+ // compose state — `compose-review` caps
141
+ // each at 400 code points (a longer one
142
+ // is cut and ends in `…`), drops the
143
+ // ones past a 2000-point total, and
144
+ // joins and escapes what is left
128
145
  blockOnExistingComments: boolean; // one or more overlaps — drop those findings
129
146
  // (except carried-id re-posts, see below)
130
147
  findingsFileInvalid: boolean; // the --new-findings file was unreadable:
@@ -150,9 +167,9 @@ Read `.qwen/tmp/qwen-review-{target}-presubmit.json`. Schema:
150
167
 
151
168
  **Apply the report:**
152
169
 
153
- - `blockOnExistingComments=true` → **an overlap is a duplicate; the disposal is deterministic — do not ask the user.** Drop each finding whose `(path, line)` appears in `existingComments.overlap` from your `comments` array — **except a finding whose `id` appears in `matchedIds` of an `existingComments.repost` entry at the same location**: that is a Step 6 ledger re-post, and re-posting under the original id is exactly how the id survives into the next round's marker — GitHub stacks it in the original thread, which is where it belongs. The inline counts follow automatically, because `submit` counts the comments you actually attach, so a dropped Critical is simply no longer there to count (and a dropped Critical that was already on the PR does not belong in `state.bodyCriticals` either). List each dropped finding in the terminal summary as "already reported at <path>:<line> — comment <id> (by <user>): <excerpt>", taking `<id>`, `<user>` (omit the `(by <user>)` slot when the entry carries no `user`), and the 80-char `<excerpt>` from the overlapping comment (`existingComments.overlap` entries carry all three), and submit the remainder without pausing. Naming the author is what makes an authorship-refused re-post exemption self-explanatory: the drop line then shows a DIFFERENT author next to the matching id. Name the comment on EVERY drop — that is what makes a same-line false positive visible to the operator instead of a bare location. This decision point has been improvised as an interactive question, which stalls a headless run forever (measured; DESIGN.md — The interactive overlap question); the Exclusion Criteria already forbid re-reporting discussed issues, so there is nothing to ask. (If dropping overlaps leaves zero findings, that is still not a question: submit with an empty `comments` array like any other run — `submit` composes the body from `state`, and a run with nothing to add posts whatever that computes. A recap like "all already reported, N resolved by `<sha>`, two still standing" goes in the **terminal summary**, not the PR: `compose-review` has no free-text body field to carry it (see Step 7 — you do not author PR-facing prose), and it is never a `gh pr comment` — a hand-posted issue comment bypasses the authorisation gate, the downgrade semantics, and the `posted` contract all at once.)
170
+ - `blockOnExistingComments=true` → **an overlap is a duplicate; the disposal is deterministic — do not ask the user.** Drop each finding whose `(path, line)` appears in `existingComments.overlap` from your `comments` array — **except a finding whose `id` appears in `matchedIds` of ANY `existingComments.repost` entry** — a root leg matches at the finding's `(path, line)`, while a carry-reply leg (the pipeline's own reply inside a replied-to thread) matches on the id alone and its own `path`/`line` are the REPLY's — `original_line` when GitHub unmapped the anchor, else `0`, never null — which is routinely not where the finding sits, so never re-check the location: that is a Step 6 ledger re-post, and re-posting under the original id is exactly how the id survives into the next round's marker. Keep it in the array on GitHub, `submit` posts it as a **reply in that original thread** rather than a new inline comment (the Create Review API opens a new thread per comment; only the replies endpoint joins one), so the finding keeps one thread across rounds instead of accumulating one per round (GitHub only: an Aone target has no review-thread graph, and the re-post stays inline there). Whenever the posting pass cannot reach an unresolved thread this account opened under the id — a resolved or gone original, a foreign or id-less root, a `(fix-induced)` re-report, or a draft that finds every live thread under the id already answered this round — the re-post goes inline and opens a fresh thread; the exemption is what lets it through to do either. The inline counts follow automatically, because `submit` counts the comments you actually attach, so a dropped Critical is simply no longer there to count (and a dropped Critical that was already on the PR does not belong in `state.bodyCriticals` either). List each dropped finding in the terminal summary as "already reported at <path>:<line> — comment <id> (by <user>): <excerpt>", taking `<id>`, `<user>` (omit the `(by <user>)` slot when the entry carries no `user`), and the 80-char `<excerpt>` from the overlapping comment (`existingComments.overlap` entries carry all three), and submit the remainder without pausing. Naming the author is what makes an authorship-refused re-post exemption self-explanatory: the drop line then shows a DIFFERENT author next to the matching id. Name the comment on EVERY drop — that is what makes a same-line false positive visible to the operator instead of a bare location. This decision point has been improvised as an interactive question, which stalls a headless run forever (measured; DESIGN.md — The interactive overlap question); the Exclusion Criteria already forbid re-reporting discussed issues, so there is nothing to ask. (If dropping overlaps leaves zero findings, that is still not a question: submit with an empty `comments` array like any other run — `submit` composes the body from `state`, and a run with nothing to add posts whatever that computes. A recap like "all already reported, N resolved by `<sha>`, two still standing" goes in the **terminal summary**, not the PR: `compose-review` has no free-text body field to carry it (see Step 7 — you do not author PR-facing prose), and it is never a `gh pr comment` — a hand-posted issue comment bypasses the authorisation gate, the downgrade semantics, and the `posted` contract all at once.)
154
171
  - `downgradeApprove` / `downgradeRequestChanges` / `downgradeReasons` → **do not apply these by hand.** Copy them into the `presubmit` field of the `compose-review` input (listed with the state fields in Step 6's Verdict section); the subcommand owns the semantics its tests pin — a downgrade fires only when the verdict it names is the one on the table (a Suggestion-only review is already Comment, so nothing is downgraded and no "Downgraded" sentence is emitted), the downgrade sentence carries the reasons, and a downgraded Request changes keeps its body Criticals after the sentence so the self-PR downgrade never erases the only copy of a blocker.
155
- - `headDrift.drifted=true` → **commits nobody reviewed are on the PR; the verdict can no longer certify the pull request as it stands.** The Approve cap has already fired through the downgrade machinery (the reason names both SHAs — it rides into the body with the other reasons; never hand-apply). What happens to the _submission_ is decided by **`headDrift.anchorsAtRisk`, which presubmit computes — do not re-derive it by hand**: pass `--new-findings` so it has your anchors, and it rules fail-safe on every hole a hand intersection falls into (a truncated `filesTouched` list (measured; DESIGN.md — The 283-file drift cap), the compare API's own 300-file ceiling, a `diverged` force-push, an unavailable compare, or a missing findings list). **`--new-findings` must carry EVERY finding's file, not only the inline-anchored ones** — a body-only Critical (one that could not be mapped to a diff line) still names a file, and if that file is omitted a drift touching it reads as `anchorsAtRisk=false`; include one `{path, line}` per body Critical (any placeholder `line`, e.g. `1`, and NO `id` — the drift intersection keys on `path` only, but the carried-id re-post exemption intersects on `(path, line)` plus id, so a placeholder line carrying an id could alias an inline finding's location and corrupt its exemption; a body-only Critical is never posted inline and can never be a re-post target). **`anchorsAtRisk=true`**: the anchors themselves are at risk and the findings may already be fixed — apply the 422-recovery rule _proactively_: abandon this submission, say so, and restart at the new SHA from Step 1's `fetch-pr`. **One exception — the CI salvage contract:** when the environment carries `QWEN_REVIEW_SALVAGE_POST=1` **and** the file named by `QWEN_CI_REVIEW_SALVAGE_OK_FILE` exists with content equal to `headDrift.reviewedSha`, the workflow's supersede watcher has already ruled this run salvage-eligible and a queued replacement run owns the new head — do **not** restart: submit as planned exactly as in the `anchorsAtRisk=false` branch (the review is of `fetchedSha`, the downgrade sentence names the drift, and the workflow's gh guard admits the post against that pinned head), and this consumes no restart. Either half missing — an explicit run exports no signal, and a marker alone is forgeable — and the rule above stands. **`anchorsAtRisk=false`**: submit as planned — the review is of `fetchedSha` (`submit` posts that very SHA as `commit_id`), the body's downgrade sentence says so, and if GitHub still answers 422 the recovery path below takes over. Name the drift in the terminal summary either way.
172
+ - `headDrift.drifted=true` → **commits nobody reviewed are on the PR; the verdict can no longer certify the pull request as it stands.** The Approve cap has already fired through the downgrade machinery (the reason names both SHAs — it rides into the body with the other reasons; never hand-apply). What happens to the _submission_ is decided by **`headDrift.anchorsAtRisk`, which presubmit computes — do not re-derive it by hand**: pass `--new-findings` so it has your anchors, and it rules fail-safe on every hole a hand intersection falls into (a truncated `filesTouched` list (measured; DESIGN.md — The 283-file drift cap), the compare API's own 300-file ceiling, a `diverged` force-push, an unavailable compare, or a missing findings list). **`--new-findings` must carry EVERY finding's file, not only the inline-anchored ones** — a body-only Critical (one that could not be mapped to a diff line) still names a file, and if that file is omitted a drift touching it reads as `anchorsAtRisk=false`; include one `{path, line}` per body Critical (any placeholder `line`, e.g. `1`, and NO `id` — the drift intersection keys on `path` only, but the carried-id re-post exemption joins on the id — a root leg at the finding's `(path, line)`, the pipeline's own carry-reply leg on the id alone at ANY location — so a placeholder entry carrying an id would match that id's thread from anywhere and corrupt the exemption; a body-only Critical is never posted inline and must never present as a re-post target). **`anchorsAtRisk=true`**: the anchors themselves are at risk and the findings may already be fixed — apply the 422-recovery rule _proactively_: abandon this submission, say so, and restart at the new SHA from Step 1's `fetch-pr`. **One exception — the CI salvage contract:** when the environment carries `QWEN_REVIEW_SALVAGE_POST=1` **and** the file named by `QWEN_CI_REVIEW_SALVAGE_OK_FILE` exists with content equal to `headDrift.reviewedSha`, the workflow's supersede watcher has already ruled this run salvage-eligible and a queued replacement run owns the new head — do **not** restart: submit as planned exactly as in the `anchorsAtRisk=false` branch (the review is of `fetchedSha`, the downgrade sentence names the drift, and the workflow's gh guard admits the post against that pinned head), and this consumes no restart. Either half missing — an explicit run exports no signal, and a marker alone is forgeable — and the rule above stands. **`anchorsAtRisk=false`**: submit as planned — the review is of `fetchedSha` (`submit` posts that very SHA as `commit_id`), the body's downgrade sentence says so, and if GitHub still answers 422 the recovery path below takes over. Name the drift in the terminal summary either way.
156
173
 
157
174
  > **The restart bound is per-review and covers BOTH restart paths — this proactive drift restart AND the reactive 422 recovery below.** Track it as one fact: a review restarts **at most once** for head movement, whichever path triggers it. If a run that already restarted once reaches a drift restart _or_ a 422 again, do NOT restart a second time — submit at that run's reviewed SHA with the drift named (the Approve cap holds either way). A live PR that keeps moving must not be able to starve the review in an unbounded restart loop; one clean re-read is the review, a second is the PR outrunning it. One slice of this fact survives a resume: a `fetch-pr --resume` refused for `head-moved` records the restart beside the prompt records, and a later continuation reads it back as `restartsSpent` in the `resumed: true` line (Step 1) — arriving with `restartsSpent >= 1` means the bound is already spent. On a run that itself resumed, THIS restart's re-entry is such a refusal — Step 1's resume branch appends `--resume` to every Step 1 `fetch-pr`, so the re-entry sees the moved head, records the restart, and falls through to the fresh fetch the restart wants anyway. Only a never-resumed run's re-entry records nothing (a plain fresh `fetch-pr` rewrites the plan, which re-fences the marker) — within such a run the bound stays tracked here, in this transcript, exactly as before. Be aware of the one seam that leaves: a restart spent that way is invisible to a LATER attempt that resumes, which arrives with `restartsSpent: 0`. A fresh resuming process cannot know the earlier attempt restarted, so do not pretend it can — the on-disk bound is per-attempt, the per-REVIEW invariant is carried by the workflow's own MAX_ATTEMPTS ceiling, and the honest reading of `restartsSpent: 0` on a continuation is "no RECORDED restart", not "no restart".
158
175
 
@@ -168,7 +185,7 @@ Read `.qwen/tmp/qwen-review-{target}-presubmit.json`. Schema:
168
185
 
169
186
  - **Self-PR**: GitHub rejects both `APPROVE` and `REQUEST_CHANGES` on your own PR (HTTP 422); `COMMENT` is the only accepted event. Critical and Suggestion findings still appear as inline `comments` regardless, so substantive feedback is preserved.
170
187
  - **CI failure / pending**: the LLM review reads code statically and cannot see runtime test failures. Approving on red CI is misleading; pending CI means the verdict is premature.
171
- - **Overlap with existing comments**: posting on the same `(path, line)` as an existing Qwen comment produces visual duplicates, so overlapping findings are dropped rather than re-posted — with one exception by construction: a carried-id re-post belongs in the original thread (GitHub stacks same-line comments there), so a finding whose ledger id matches the existing comment at its location is exempted via `existingComments.repost`, and every drop names the overlapping comment so a same-line false positive stays visible. The match reads the id as the claim-line PREFIX (mirroring how the ledger marker reads it back), and a truly id-less OWN-account original is still matched when the target is unambiguous — exactly one own-account comment at the location and exactly one carried finding there (round-1 originals carry no id token; without this fallback their re-post would read as a plain overlap and be dropped). **Known limitation — the residue is the AMBIGUOUS case only**: an id-less original at a location with several own-account comments, or several carried ids at the location, or an id-less original whose body still mentions ANY ledger-id-shaped token (even a cross-reference — any token marks the comment as belonging to a specific finding's thread, so the fallback stays off), cannot be matched as a re-post target; the re-post of such a finding reads as a plain location overlap and is dropped — visibly, the drop log names the comment. A same-SHA re-run after an already-posted re-post can match that earlier re-post as the target and post a second copy (the two are structurally indistinguishable); the lineage self-heals next round through the new comment's prefix. A replied-to original still counts toward the ambiguity decision but is itself bucketed `resolved`, never a target. Stale-commit and replied-to comments are skipped silently — they're false-positive overlap from line-based matching.
188
+ - **Overlap with existing comments**: posting on the same `(path, line)` as an existing Qwen comment produces visual duplicates, so overlapping findings are dropped rather than re-posted — with one exception by construction: a carried-id re-post belongs in the original thread, and `submit` puts it there (replying into the thread its ledger id names rather than opening a new one — same-line re-posts do NOT stack on their own, which is how one finding used to accumulate a thread per round), so a finding whose ledger id matches an own existing comment — a root at the finding's location, or the pipeline's own carry-reply in that id's thread, wherever its anchor now sits — is exempted via `existingComments.repost`, and every drop names the overlapping comment so a same-line false positive stays visible. The match reads the id as the claim-line PREFIX (mirroring how the ledger marker reads it back), and a truly id-less OWN-account original is still matched when the target is unambiguous — exactly one own-account comment at the location and exactly one carried finding there (round-1 originals carry no id token; without this fallback their re-post would read as a plain overlap and be dropped). **Known limitation — the residue is the AMBIGUOUS case only**: an id-less original at a location with several own-account comments, or several carried ids at the location, or an id-less original whose body still mentions ANY ledger-id-shaped token (even a cross-reference — any token marks the comment as belonging to a specific finding's thread, so the fallback stays off), cannot be matched as a re-post target; the re-post of such a finding reads as a plain location overlap and is dropped — visibly, the drop log names the comment. A same-SHA re-run after an already-posted re-post posts a second copy under the reply mechanism, as a second reply in the same thread (the replied-to original is bucketed `resolved` and skipped by the overlap check, and the pipeline's own carry-reply inside that thread still carries the id as a `repost` exemption — so the re-post is not dropped even when another own comment overlaps the location); the thread stays one thread either way. A replied-to original still counts toward the ambiguity decision but is itself bucketed `resolved`, never a target. Stale-commit and replied-to comments are skipped silently — they're false-positive overlap from line-based matching.
172
189
 
173
190
  ⚠️ **Severity routing — high-confidence Critical AND Suggestion findings both go inline, pinned to the exact code line.** They are distinguished by the `**[Critical]**` / `**[Suggestion]**` prefix in the comment body, not by where they are posted.
174
191
 
@@ -7,106 +7,113 @@ import {
7
7
  } from "./chunk-2UWQX4FP.js";
8
8
  import "./chunk-4LIPOIXS.js";
9
9
  import "./chunk-SV5PQVQE.js";
10
- import "./chunk-2XRE4KE4.js";
11
10
  import "./chunk-O4KNCAX4.js";
12
11
  import "./chunk-5QWWOFGG.js";
12
+ import "./chunk-2XRE4KE4.js";
13
13
  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-GOEVQADN.js";
17
+ import "./chunk-BZM5U74J.js";
18
18
  import "./chunk-GELRJXE2.js";
19
19
  import "./chunk-32CM56LO.js";
20
- import "./chunk-OXR34GCD.js";
21
- import "./chunk-2EKVPSIJ.js";
20
+ import "./chunk-AEY27Z35.js";
21
+ import "./chunk-Y2MYW47X.js";
22
22
  import "./chunk-LJZSMWOH.js";
23
- import "./chunk-YZTGGCEE.js";
24
- import "./chunk-2WC3Y7YY.js";
25
- import "./chunk-IWABUX6T.js";
23
+ import "./chunk-F42YYSCK.js";
24
+ import "./chunk-NUQVB25K.js";
25
+ import "./chunk-ZKZHSB5W.js";
26
+ import "./chunk-MSNHNAQZ.js";
26
27
  import "./chunk-DJXSOEFB.js";
27
- import "./chunk-YQGW3M6Z.js";
28
- import "./chunk-J3VZF2AL.js";
29
- import "./chunk-OWCFKIFQ.js";
30
- import "./chunk-ZPJWUGCS.js";
31
- import "./chunk-X7LFJF5D.js";
28
+ import "./chunk-ZKYR7QS4.js";
29
+ import "./chunk-532WHF4F.js";
32
30
  import "./chunk-BUQN5LTI.js";
33
- import "./chunk-XDNFODER.js";
34
- import "./chunk-GOKAOSCN.js";
35
- import "./chunk-VNOVK4I7.js";
36
- import "./chunk-HJ5UJQQL.js";
31
+ import "./chunk-ZPJWUGCS.js";
32
+ import "./chunk-LK2WUCDQ.js";
33
+ import "./chunk-UKZ45TJL.js";
34
+ import "./chunk-RLLRJJDR.js";
35
+ import "./chunk-N7VWZDWW.js";
37
36
  import "./chunk-GOFAQQZA.js";
38
- import "./chunk-65I7S4Z3.js";
39
- import "./chunk-6HUXPLB5.js";
40
37
  import "./chunk-TWPJO254.js";
41
38
  import "./chunk-CQ35AJ4Z.js";
42
- import "./chunk-XKBFYTCD.js";
43
- import "./chunk-LYT2OU7D.js";
39
+ import "./chunk-65I7S4Z3.js";
40
+ import "./chunk-6HUXPLB5.js";
44
41
  import "./chunk-7CLLH5TI.js";
45
- import "./chunk-HIXUUCGY.js";
46
- import "./chunk-6PVPNMXU.js";
47
- import "./chunk-565U2ANU.js";
48
- import "./chunk-GSFV5RQW.js";
42
+ import "./chunk-XKBFYTCD.js";
43
+ import "./chunk-ZTTC7T4X.js";
44
+ import "./chunk-E4UEO3XM.js";
45
+ import "./chunk-IAEXTMED.js";
49
46
  import "./chunk-IRH27ZC2.js";
50
47
  import "./chunk-QHWCP53L.js";
51
48
  import "./chunk-F53KKZUD.js";
52
- import "./chunk-TRWQQBVH.js";
53
- import "./chunk-QJNDUTOL.js";
54
- import "./chunk-N6S3NUYJ.js";
55
49
  import "./chunk-O6GEWCJA.js";
50
+ import "./chunk-36HCNKDS.js";
51
+ import "./chunk-6PVPNMXU.js";
52
+ import "./chunk-2SZH22YO.js";
53
+ import "./chunk-DTNV6UZY.js";
54
+ import "./chunk-QJNDUTOL.js";
55
+ import "./chunk-JXNIF2O5.js";
56
+ import "./chunk-NFYEQRLG.js";
57
+ import "./chunk-ELRMZTPF.js";
56
58
  import "./chunk-CHEIIBT3.js";
57
- import "./chunk-QAZ2MGYT.js";
58
- import "./chunk-QQK4L3UU.js";
59
+ import "./chunk-PLLIWEM3.js";
60
+ import "./chunk-5GLDOLNQ.js";
59
61
  import "./chunk-CH2YDT6X.js";
60
62
  import "./chunk-JX6XHPTX.js";
61
- import "./chunk-CLKE4IY3.js";
62
63
  import "./chunk-ZSTCM3MX.js";
63
- import "./chunk-SOA4HKRJ.js";
64
64
  import "./chunk-MLXTMF7H.js";
65
- import "./chunk-3LPJ776W.js";
65
+ import "./chunk-LILGKQ4B.js";
66
66
  import "./chunk-3CZ2BQV6.js";
67
- import "./chunk-PQEISIKS.js";
68
- import "./chunk-S5QR6CB5.js";
69
- import "./chunk-H3Q3RSKZ.js";
67
+ import "./chunk-SAH4BD2J.js";
68
+ import "./chunk-CXTPVBFA.js";
69
+ import "./chunk-U7O65WKL.js";
70
70
  import "./chunk-S6LOFUVP.js";
71
+ import "./chunk-FN3JNDRU.js";
72
+ import "./chunk-EUURTIV6.js";
73
+ import "./chunk-G6UUOCUT.js";
74
+ import "./chunk-IZ2U57NY.js";
75
+ import "./chunk-NUQ4GK5I.js";
76
+ import "./chunk-K2OJUPOE.js";
77
+ import "./chunk-AXTFYDXT.js";
71
78
  import "./chunk-NAVJD2PQ.js";
72
- import "./chunk-OFVAS4AR.js";
79
+ import "./chunk-YBUMTY7B.js";
73
80
  import "./chunk-HNLMYDQE.js";
74
81
  import "./chunk-QHMLYMMS.js";
82
+ import "./chunk-VNOVK4I7.js";
75
83
  import "./chunk-CFKIH3D3.js";
76
- import "./chunk-VBLAI2HA.js";
84
+ import "./chunk-JL6APGBX.js";
77
85
  import "./chunk-DJ2GSRLV.js";
78
86
  import "./chunk-4ALNJDHL.js";
79
87
  import "./chunk-NOO4QFXM.js";
80
88
  import "./chunk-KFFCDLKV.js";
81
- import "./chunk-7OCIQNKX.js";
82
- import "./chunk-F2NYVASI.js";
89
+ import "./chunk-ZW2EUO2A.js";
90
+ import "./chunk-HBU7EKY4.js";
83
91
  import "./chunk-5ETULJLP.js";
84
- import "./chunk-XBVNNDPK.js";
92
+ import "./chunk-ZHKTKHMO.js";
85
93
  import "./chunk-VGC4I5JJ.js";
86
- import "./chunk-J6MB5ZHZ.js";
87
94
  import "./chunk-EDIDYZBT.js";
88
95
  import "./chunk-HD7O6WLV.js";
96
+ import "./chunk-J6MB5ZHZ.js";
89
97
  import "./chunk-WZAD4ZNJ.js";
98
+ import "./chunk-3FPYT6QC.js";
90
99
  import "./chunk-FPGTNKCP.js";
91
100
  import "./chunk-TIGXX4PA.js";
92
- import "./chunk-JO77FGNZ.js";
101
+ import "./chunk-3UXUOFO6.js";
93
102
  import "./chunk-XFFRI3WM.js";
94
- import "./chunk-4HOEU2OR.js";
103
+ import "./chunk-ERU3SDXT.js";
104
+ import "./chunk-EWJTAP3Y.js";
95
105
  import "./chunk-HHJLM3WQ.js";
96
- import "./chunk-7VEYUF3N.js";
106
+ import "./chunk-W5ZQMAEM.js";
97
107
  import "./chunk-74TONY4F.js";
98
- import "./chunk-E6TI726I.js";
99
- import "./chunk-4VY3ITHR.js";
100
- import "./chunk-O2FEO2CB.js";
101
- import "./chunk-G6UUOCUT.js";
102
- import "./chunk-IZ2U57NY.js";
103
- import "./chunk-MWIO7MF6.js";
108
+ import "./chunk-HUXPEUFL.js";
109
+ import "./chunk-TP6FYVQT.js";
104
110
  import "./chunk-ZAFYHRVY.js";
111
+ import "./chunk-TBWQLLFO.js";
112
+ import "./chunk-UKMWZ5NS.js";
105
113
  import "./chunk-75DOP5OR.js";
106
114
  import "./chunk-DMTGGOSA.js";
107
115
  import "./chunk-YQ3U5MUC.js";
108
116
  import "./chunk-MATEIJZF.js";
109
- import "./chunk-TBWQLLFO.js";
110
117
  import "./chunk-5O2XNYP6.js";
111
118
  import "./chunk-J2S4EL5Y.js";
112
119
  export {
@@ -4,24 +4,22 @@ import {
4
4
  ConfigContext,
5
5
  SessionPicker,
6
6
  SettingsContext
7
- } from "./chunk-LEAOJ43M.js";
8
- import "./chunk-B25JYXZE.js";
9
- import "./chunk-WXD7INFV.js";
7
+ } from "./chunk-DAWWT2ID.js";
10
8
  import {
11
9
  KeypressProvider
12
- } from "./chunk-A7EFXK7P.js";
13
- import "./chunk-CWVZBIZJ.js";
14
- import "./chunk-TOOOLHVS.js";
15
- import "./chunk-22GORRNY.js";
16
- import "./chunk-UYDQYDW2.js";
10
+ } from "./chunk-E7LB57MB.js";
11
+ import "./chunk-NHJKAR6E.js";
12
+ import "./chunk-7Q2AXRDJ.js";
13
+ import "./chunk-BWAMMKIS.js";
14
+ import "./chunk-S6Q6Q4P2.js";
17
15
  import "./chunk-4WGODMVR.js";
18
- import "./chunk-KW7NOTN6.js";
19
16
  import "./chunk-2UWQX4FP.js";
17
+ import "./chunk-IL5M5NYD.js";
18
+ import "./chunk-QMUYLYT5.js";
20
19
  import "./chunk-4LIPOIXS.js";
21
20
  import {
22
21
  require_jsx_runtime
23
22
  } from "./chunk-SV5PQVQE.js";
24
- import "./chunk-2XRE4KE4.js";
25
23
  import {
26
24
  Box_default,
27
25
  render_default,
@@ -30,130 +28,139 @@ import {
30
28
  import {
31
29
  require_react
32
30
  } from "./chunk-5QWWOFGG.js";
33
- import "./chunk-R457KFV7.js";
34
- import "./chunk-RM244SCQ.js";
35
- import "./chunk-WXFCI3O5.js";
36
- import "./chunk-XQ4RDO5B.js";
31
+ import "./chunk-LG5Y4OWO.js";
32
+ import "./chunk-WBCPROWX.js";
37
33
  import "./chunk-EKTCKZV5.js";
38
- import "./chunk-ERXNTINK.js";
34
+ import "./chunk-2XRE4KE4.js";
35
+ import "./chunk-KW7NOTN6.js";
36
+ import "./chunk-GCDXVPFK.js";
37
+ import "./chunk-AC6KDLH3.js";
39
38
  import "./chunk-47ECGEJC.js";
39
+ import "./chunk-6JACAGYH.js";
40
40
  import "./chunk-2MIN6GRR.js";
41
41
  import "./chunk-QHTIBUWB.js";
42
+ import "./chunk-TWUKBNWM.js";
42
43
  import "./chunk-57OAHC2Y.js";
43
- import "./chunk-QHLHE2OT.js";
44
- import "./chunk-WBU2PIZ5.js";
45
- import "./chunk-XSOXPG2L.js";
44
+ import "./chunk-7BXXIQG4.js";
46
45
  import "./chunk-RKUWKYED.js";
46
+ import "./chunk-ZU47FBOC.js";
47
+ import "./chunk-NOAG7N22.js";
47
48
  import "./chunk-BW4333PP.js";
49
+ import "./chunk-VX63RJXE.js";
48
50
  import "./chunk-IDS7MSUP.js";
49
- import "./chunk-CRZBDVP2.js";
51
+ import "./chunk-VZUCTJ2P.js";
50
52
  import "./chunk-5EJZE3FP.js";
51
- import "./chunk-5BH2AIEY.js";
52
- import "./chunk-QTNCGZHQ.js";
53
- import "./chunk-NX7ZTXFF.js";
53
+ import "./chunk-53GWJOLP.js";
54
54
  import "./chunk-NPQ5ZKRP.js";
55
55
  import "./chunk-MR3PXB6E.js";
56
- import "./chunk-GOEVQADN.js";
56
+ import "./chunk-BZM5U74J.js";
57
57
  import "./chunk-GELRJXE2.js";
58
58
  import "./chunk-32CM56LO.js";
59
- import "./chunk-OXR34GCD.js";
60
- import "./chunk-2EKVPSIJ.js";
59
+ import "./chunk-AEY27Z35.js";
60
+ import "./chunk-Y2MYW47X.js";
61
61
  import "./chunk-LJZSMWOH.js";
62
- import "./chunk-YZTGGCEE.js";
63
- import "./chunk-2WC3Y7YY.js";
64
- import "./chunk-IWABUX6T.js";
62
+ import "./chunk-F42YYSCK.js";
63
+ import "./chunk-NUQVB25K.js";
64
+ import "./chunk-ZKZHSB5W.js";
65
+ import "./chunk-MSNHNAQZ.js";
65
66
  import "./chunk-DJXSOEFB.js";
66
- import "./chunk-YQGW3M6Z.js";
67
- import "./chunk-J3VZF2AL.js";
68
- import "./chunk-OWCFKIFQ.js";
69
- import "./chunk-ZPJWUGCS.js";
70
- import "./chunk-X7LFJF5D.js";
67
+ import "./chunk-ZKYR7QS4.js";
68
+ import "./chunk-532WHF4F.js";
71
69
  import "./chunk-BUQN5LTI.js";
72
- import "./chunk-XDNFODER.js";
73
- import "./chunk-GOKAOSCN.js";
74
- import "./chunk-VNOVK4I7.js";
70
+ import "./chunk-ZPJWUGCS.js";
71
+ import "./chunk-LK2WUCDQ.js";
72
+ import "./chunk-UKZ45TJL.js";
73
+ import "./chunk-RLLRJJDR.js";
75
74
  import {
76
75
  SessionService
77
- } from "./chunk-HJ5UJQQL.js";
76
+ } from "./chunk-N7VWZDWW.js";
78
77
  import "./chunk-GOFAQQZA.js";
79
- import "./chunk-65I7S4Z3.js";
80
- import "./chunk-6HUXPLB5.js";
81
78
  import "./chunk-TWPJO254.js";
82
79
  import "./chunk-CQ35AJ4Z.js";
83
- import "./chunk-XKBFYTCD.js";
84
- import "./chunk-LYT2OU7D.js";
80
+ import "./chunk-65I7S4Z3.js";
81
+ import "./chunk-6HUXPLB5.js";
85
82
  import "./chunk-7CLLH5TI.js";
86
- import "./chunk-HIXUUCGY.js";
87
- import "./chunk-6PVPNMXU.js";
88
- import "./chunk-565U2ANU.js";
89
- import "./chunk-GSFV5RQW.js";
83
+ import "./chunk-XKBFYTCD.js";
84
+ import "./chunk-ZTTC7T4X.js";
85
+ import "./chunk-E4UEO3XM.js";
86
+ import "./chunk-IAEXTMED.js";
90
87
  import "./chunk-IRH27ZC2.js";
91
88
  import "./chunk-QHWCP53L.js";
92
89
  import "./chunk-F53KKZUD.js";
93
- import "./chunk-TRWQQBVH.js";
94
- import "./chunk-QJNDUTOL.js";
95
- import "./chunk-N6S3NUYJ.js";
96
90
  import "./chunk-O6GEWCJA.js";
91
+ import "./chunk-36HCNKDS.js";
92
+ import "./chunk-6PVPNMXU.js";
93
+ import "./chunk-2SZH22YO.js";
94
+ import "./chunk-DTNV6UZY.js";
95
+ import "./chunk-QJNDUTOL.js";
96
+ import "./chunk-JXNIF2O5.js";
97
+ import "./chunk-NFYEQRLG.js";
98
+ import "./chunk-ELRMZTPF.js";
97
99
  import "./chunk-CHEIIBT3.js";
98
- import "./chunk-QAZ2MGYT.js";
99
- import "./chunk-QQK4L3UU.js";
100
+ import "./chunk-PLLIWEM3.js";
101
+ import "./chunk-5GLDOLNQ.js";
100
102
  import "./chunk-CH2YDT6X.js";
101
103
  import "./chunk-JX6XHPTX.js";
102
- import "./chunk-CLKE4IY3.js";
103
104
  import "./chunk-ZSTCM3MX.js";
104
- import "./chunk-SOA4HKRJ.js";
105
105
  import "./chunk-MLXTMF7H.js";
106
- import "./chunk-3LPJ776W.js";
106
+ import "./chunk-LILGKQ4B.js";
107
107
  import {
108
108
  getGitBranch
109
109
  } from "./chunk-3CZ2BQV6.js";
110
- import "./chunk-PQEISIKS.js";
111
- import "./chunk-S5QR6CB5.js";
112
- import "./chunk-H3Q3RSKZ.js";
110
+ import "./chunk-SAH4BD2J.js";
111
+ import "./chunk-CXTPVBFA.js";
112
+ import "./chunk-U7O65WKL.js";
113
113
  import "./chunk-S6LOFUVP.js";
114
+ import "./chunk-FN3JNDRU.js";
115
+ import "./chunk-EUURTIV6.js";
116
+ import "./chunk-G6UUOCUT.js";
117
+ import "./chunk-IZ2U57NY.js";
118
+ import "./chunk-NUQ4GK5I.js";
119
+ import "./chunk-K2OJUPOE.js";
120
+ import "./chunk-AXTFYDXT.js";
114
121
  import "./chunk-NAVJD2PQ.js";
115
- import "./chunk-OFVAS4AR.js";
122
+ import "./chunk-YBUMTY7B.js";
116
123
  import "./chunk-HNLMYDQE.js";
117
124
  import "./chunk-QHMLYMMS.js";
125
+ import "./chunk-VNOVK4I7.js";
118
126
  import "./chunk-CFKIH3D3.js";
119
- import "./chunk-VBLAI2HA.js";
127
+ import "./chunk-JL6APGBX.js";
120
128
  import "./chunk-DJ2GSRLV.js";
121
129
  import "./chunk-4ALNJDHL.js";
122
130
  import "./chunk-NOO4QFXM.js";
123
131
  import "./chunk-KFFCDLKV.js";
124
- import "./chunk-7OCIQNKX.js";
125
- import "./chunk-F2NYVASI.js";
132
+ import "./chunk-ZW2EUO2A.js";
133
+ import "./chunk-HBU7EKY4.js";
126
134
  import "./chunk-5ETULJLP.js";
127
- import "./chunk-XBVNNDPK.js";
135
+ import "./chunk-ZHKTKHMO.js";
128
136
  import "./chunk-VGC4I5JJ.js";
129
- import "./chunk-J6MB5ZHZ.js";
130
137
  import "./chunk-EDIDYZBT.js";
131
138
  import "./chunk-HD7O6WLV.js";
139
+ import "./chunk-J6MB5ZHZ.js";
132
140
  import "./chunk-WZAD4ZNJ.js";
141
+ import "./chunk-3FPYT6QC.js";
133
142
  import "./chunk-FPGTNKCP.js";
134
143
  import "./chunk-TIGXX4PA.js";
135
- import "./chunk-JO77FGNZ.js";
144
+ import "./chunk-3UXUOFO6.js";
136
145
  import "./chunk-XFFRI3WM.js";
137
- import "./chunk-4HOEU2OR.js";
146
+ import "./chunk-ERU3SDXT.js";
147
+ import "./chunk-EWJTAP3Y.js";
138
148
  import "./chunk-HHJLM3WQ.js";
139
- import "./chunk-7VEYUF3N.js";
149
+ import "./chunk-W5ZQMAEM.js";
140
150
  import "./chunk-74TONY4F.js";
141
- import "./chunk-E6TI726I.js";
142
- import "./chunk-4VY3ITHR.js";
143
- import "./chunk-O2FEO2CB.js";
144
- import "./chunk-G6UUOCUT.js";
145
- import "./chunk-IZ2U57NY.js";
146
- import "./chunk-MWIO7MF6.js";
151
+ import "./chunk-HUXPEUFL.js";
152
+ import "./chunk-TP6FYVQT.js";
147
153
  import "./chunk-ZAFYHRVY.js";
148
- import "./chunk-DAI65CMX.js";
154
+ import "./chunk-TBWQLLFO.js";
155
+ import "./chunk-JYKWOREU.js";
149
156
  import {
150
157
  writeStdoutLine
151
158
  } from "./chunk-7FA2II6K.js";
159
+ import "./chunk-UKMWZ5NS.js";
152
160
  import "./chunk-75DOP5OR.js";
153
161
  import "./chunk-DMTGGOSA.js";
154
162
  import "./chunk-YQ3U5MUC.js";
155
163
  import "./chunk-MATEIJZF.js";
156
- import "./chunk-TBWQLLFO.js";
157
164
  import {
158
165
  init_esbuild_shims
159
166
  } from "./chunk-5O2XNYP6.js";