@qwen-code/qwen-code 0.20.2-headless-image-routing.1 → 0.21.0

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 (370) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +5 -0
  2. package/bundled/qc-helper/docs/features/sub-agents.md +23 -5
  3. package/bundled/qc-helper/docs/integration-github-action.md +9 -9
  4. package/bundled/review/SKILL.md +7 -3
  5. package/chunks/MaxSizedBox-5DPPWPGT.js +85 -0
  6. package/chunks/{StandaloneSessionPicker-PLQQB22E.js → StandaloneSessionPicker-BIRMPLRD.js} +66 -59
  7. package/chunks/{acp-startup-profiler-N3RHHXJ3.js → acp-startup-profiler-RV3IV562.js} +2 -2
  8. package/chunks/{acpAgent-AIVK2EM5.js → acpAgent-6J2U72PQ.js} +705 -182
  9. package/chunks/agent-6ODUANDO.js +81 -0
  10. package/chunks/agent-headless-7BYQTMHW.js +75 -0
  11. package/chunks/{anthropicContentGenerator-HGWAHO24.js → anthropicContentGenerator-75BKLTSP.js} +117 -43
  12. package/chunks/{artifact-tool-56T5IMBP.js → artifact-tool-Y5T7GG7F.js} +3 -3
  13. package/chunks/{askUserQuestion-E25OBIC2.js → askUserQuestion-2H6747FR.js} +3 -3
  14. package/chunks/bridge-ZUB64FAE.js +90 -0
  15. package/chunks/{build-GHIZ4MSZ.js → build-RV63TIRH.js} +2 -3
  16. package/chunks/{ca-N6VVUFVB.js → ca-25EDXPFZ.js} +2 -0
  17. package/chunks/{channel-worker-group-QZV2SP5U.js → channel-worker-group-2ZD7TVAT.js} +8 -7
  18. package/chunks/{channel-worker-manager-3GMAU45H.js → channel-worker-manager-4OA4BCGB.js} +190 -30
  19. package/chunks/{channel-worker-supervisor-QCXSXCRY.js → channel-worker-supervisor-V7KCFJTS.js} +7 -6
  20. package/chunks/{chunk-TYQMGACW.js → chunk-22C7BQ6D.js} +508 -10967
  21. package/chunks/chunk-2JZBVYTU.js +452 -0
  22. package/chunks/{chunk-H2XVO6NE.js → chunk-2MIN6GRR.js} +1 -1
  23. package/chunks/{chunk-4DWTDZGS.js → chunk-2NH6DYI4.js} +12 -12
  24. package/chunks/chunk-2SCDWPXI.js +246 -0
  25. package/chunks/{chunk-QE4KFTBS.js → chunk-2X55UKQE.js} +3 -3
  26. package/chunks/{chunk-QBUDF33N.js → chunk-3QMGYBFN.js} +1 -1
  27. package/chunks/{chunk-3OAKYHRG.js → chunk-3RN6GBKS.js} +1 -1
  28. package/chunks/{chunk-QR6U5QPP.js → chunk-3SJ43L4W.js} +4 -0
  29. package/chunks/chunk-46UV252V.js +128 -0
  30. package/chunks/{chunk-GHRSKGHF.js → chunk-4WIZGAH3.js} +7 -7
  31. package/chunks/{chunk-CAS7CB3T.js → chunk-55DJUCI2.js} +87 -29
  32. package/chunks/{chunk-QNLNLENL.js → chunk-5I2IWRSH.js} +2 -2
  33. package/chunks/{chunk-H24SOJIQ.js → chunk-5NBDS5S6.js} +147 -7
  34. package/chunks/{chunk-E4IMU4Y5.js → chunk-63P4EL5V.js} +1 -1
  35. package/chunks/chunk-6FGBXPWM.js +293 -0
  36. package/chunks/{chunk-FFFM6NJV.js → chunk-6GMVPFB2.js} +155 -73
  37. package/chunks/{chunk-KWK7UE6L.js → chunk-6OUGMXDC.js} +6 -6
  38. package/chunks/{chunk-QRUIS3DN.js → chunk-6PEXNQTX.js} +22 -1
  39. package/chunks/{chunk-FZPTCQY7.js → chunk-7JURR4JT.js} +1 -1
  40. package/chunks/{chunk-Q6NAKZTA.js → chunk-7MVVZO4N.js} +4 -4
  41. package/chunks/{chunk-6ZBPS62S.js → chunk-7ZCNENPP.js} +1 -1
  42. package/chunks/{chunk-6X4GWOPW.js → chunk-A5L3JMUA.js} +1 -1
  43. package/chunks/{chunk-YO2XRXY6.js → chunk-ACY3A37B.js} +3 -3
  44. package/chunks/chunk-AMDSOFFV.js +10860 -0
  45. package/chunks/{chunk-RV4C2ZFG.js → chunk-BIQWWWJN.js} +1 -1
  46. package/chunks/{chunk-ZHERRXZJ.js → chunk-BJX6ZSUK.js} +4 -4
  47. package/chunks/chunk-BK2UNYWD.js +29 -0
  48. package/chunks/{chunk-FRPDJNK3.js → chunk-BKHWX6I2.js} +3 -3
  49. package/chunks/chunk-BPJSQIJX.js +100 -0
  50. package/chunks/{chunk-M7WBGLYP.js → chunk-BULDBTYC.js} +2 -0
  51. package/chunks/{chunk-ZDP2Y2AL.js → chunk-CIKQ7KKO.js} +4625 -8645
  52. package/chunks/{chunk-PEJWA3QQ.js → chunk-D3UEZIQH.js} +4 -2
  53. package/chunks/chunk-DHHOYAPR.js +1462 -0
  54. package/chunks/{chunk-LESHKUWF.js → chunk-DLWL3Z7A.js} +5 -3
  55. package/chunks/{chunk-XHATNRQA.js → chunk-DP3IHZGG.js} +0 -2
  56. package/chunks/chunk-E5TUC6CA.js +479 -0
  57. package/chunks/{chunk-JC26SJ5Y.js → chunk-EBJQ6AXW.js} +13 -12
  58. package/chunks/{chunk-RCWKCN2Z.js → chunk-EPDRMGT4.js} +164 -17
  59. package/chunks/{chunk-FUFCALSJ.js → chunk-ETSW4KLJ.js} +2 -2
  60. package/chunks/{chunk-KHOVYUHX.js → chunk-FNQ6T3CV.js} +20 -3
  61. package/chunks/{chunk-SP5WRGVG.js → chunk-FQK6JAFG.js} +72 -23
  62. package/chunks/{chunk-NWZY2SPY.js → chunk-FSITMZJH.js} +8 -8
  63. package/chunks/{chunk-6RLROE6G.js → chunk-GLWP3FDB.js} +80 -15
  64. package/chunks/{chunk-KPBVP6SL.js → chunk-GSN55ZRI.js} +5 -5
  65. package/chunks/{chunk-MLYGPZGU.js → chunk-H4SBPHSA.js} +3 -3
  66. package/chunks/chunk-H5FFA6TH.js +902 -0
  67. package/chunks/{chunk-TDKQP3M6.js → chunk-HIJQF5B5.js} +1 -1
  68. package/chunks/{chunk-5G3ZVADU.js → chunk-IJTOWOD7.js} +17 -6
  69. package/chunks/chunk-IKCX4CCL.js +469 -0
  70. package/chunks/{chunk-LPEONXNV.js → chunk-IKYJHJNF.js} +3 -3
  71. package/chunks/{chunk-DTZY2SH2.js → chunk-IO3IX5Q4.js} +1 -1
  72. package/chunks/{chunk-RS7MT2QG.js → chunk-IPUUTYMV.js} +2 -4
  73. package/chunks/{chunk-XU457J4V.js → chunk-IRH27ZC2.js} +2 -2
  74. package/chunks/{chunk-46DK772E.js → chunk-J24WCGIN.js} +4 -4
  75. package/chunks/{chunk-4LVZNIDO.js → chunk-J56UI34H.js} +4 -13
  76. package/chunks/{chunk-TJTKSVIV.js → chunk-JLU636DO.js} +5 -1
  77. package/chunks/{chunk-RKWX4CMO.js → chunk-JVPM2ULZ.js} +6 -6
  78. package/chunks/{chunk-ENPCQK44.js → chunk-JXJFVC6E.js} +37 -18
  79. package/chunks/{chunk-NABLFI57.js → chunk-JZA3JUDJ.js} +1 -1
  80. package/chunks/{chunk-CGLQAVZE.js → chunk-K36B6G2O.js} +5 -5
  81. package/chunks/{chunk-GPSKDNEE.js → chunk-K4XWPEWB.js} +4 -4
  82. package/chunks/{chunk-QOZOIPSF.js → chunk-KIM5GUMA.js} +650 -113
  83. package/chunks/{chunk-JZSM2IZ3.js → chunk-KMQ33DO4.js} +7 -5
  84. package/chunks/{chunk-E2UVIFI2.js → chunk-KRXPRVGL.js} +0 -1
  85. package/chunks/{chunk-WHGVTP7Q.js → chunk-L26JL52R.js} +3 -3
  86. package/chunks/{chunk-7Z6JQEL6.js → chunk-L5UHQJTJ.js} +1 -1
  87. package/chunks/{chunk-O2XSCRCS.js → chunk-LB6DUZ26.js} +259 -67
  88. package/chunks/chunk-LEH5C7FV.js +232 -0
  89. package/chunks/{chunk-RWV32G2M.js → chunk-LH2BYDQ5.js} +6 -4
  90. package/chunks/{chunk-QKTHJXCS.js → chunk-LK7CHLVP.js} +79 -2
  91. package/chunks/{chunk-VRRF3GW5.js → chunk-LKEJ26GS.js} +11 -11
  92. package/chunks/{chunk-SQFXI7VK.js → chunk-LQIW3YFY.js} +227 -41
  93. package/chunks/chunk-LS77BEZP.js +405 -0
  94. package/chunks/{chunk-BSHD62QJ.js → chunk-M4FMGVY4.js} +3 -3
  95. package/chunks/{chunk-57FIIFJN.js → chunk-M5JM7OSF.js} +1 -1
  96. package/chunks/{chunk-7362QS5B.js → chunk-MB4MZHMJ.js} +80 -37
  97. package/chunks/{chunk-4K56OJFJ.js → chunk-MUP3T3AD.js} +1 -1
  98. package/chunks/{chunk-3HFNGB2O.js → chunk-MVSUYZDT.js} +4 -4
  99. package/chunks/{chunk-T5IO6FZ4.js → chunk-MZAXJAUM.js} +1 -1
  100. package/chunks/{chunk-QKNXKTZX.js → chunk-NH6KE4JX.js} +3 -3
  101. package/chunks/chunk-NIBLUX3Y.js +934 -0
  102. package/chunks/{chunk-OQB4EXO4.js → chunk-NL7LTRLR.js} +1 -1
  103. package/chunks/{chunk-CS2FSS7W.js → chunk-OFDOK3VM.js} +5 -5
  104. package/chunks/{chunk-LIZRAKPB.js → chunk-OHNBB4XR.js} +1 -1
  105. package/chunks/{chunk-MDZTPSXO.js → chunk-OKY7HXPG.js} +2 -2
  106. package/chunks/{chunk-NHDKSOEY.js → chunk-P3QQPMQA.js} +5 -5
  107. package/chunks/{chunk-7THPNISK.js → chunk-PC6JANNU.js} +5 -5
  108. package/chunks/{chunk-OTQ6PSZC.js → chunk-PHOF65IG.js} +3498 -1030
  109. package/chunks/{chunk-OQ5SYCPE.js → chunk-PJIZUQVC.js} +2 -2
  110. package/chunks/{chunk-5DTTYNB7.js → chunk-PQNHRFJC.js} +16 -3
  111. package/chunks/{chunk-YM3SZTH4.js → chunk-PR75REBZ.js} +18 -1
  112. package/chunks/{chunk-RECUEJ7B.js → chunk-PSOO6YXD.js} +18 -15
  113. package/chunks/{chunk-X6N25LXS.js → chunk-PWTZEM3C.js} +2 -2
  114. package/chunks/{chunk-5NJTNQUW.js → chunk-PWVFN2LF.js} +1 -1
  115. package/chunks/{chunk-7AUH6A4T.js → chunk-Q4M4MDQ4.js} +2 -2
  116. package/chunks/{chunk-EZPB6S2I.js → chunk-QAF7NMK7.js} +1 -1
  117. package/chunks/{chunk-5GI55PF5.js → chunk-R5AFZNQW.js} +5 -5
  118. package/chunks/{chunk-T5B5NQZX.js → chunk-RF3EXIHJ.js} +47 -60
  119. package/chunks/{chunk-4K7VDKAD.js → chunk-RHLZR4E5.js} +1 -1
  120. package/chunks/{chunk-TJDW42MV.js → chunk-RIBKPMRP.js} +220 -141
  121. package/chunks/{chunk-RVLZCXEE.js → chunk-RWTEFFPU.js} +82 -3
  122. package/chunks/{chunk-L5QZGCRH.js → chunk-RZIX2G32.js} +1 -1
  123. package/chunks/{chunk-LLKWRXSS.js → chunk-SQCQ4KO2.js} +350 -418
  124. package/chunks/{chunk-THJNPLI4.js → chunk-TARRHLLG.js} +1 -0
  125. package/chunks/{chunk-XCXYRDHB.js → chunk-TEHGS6UP.js} +47 -18
  126. package/chunks/{chunk-PQIVAWXN.js → chunk-TGILQ3YH.js} +8 -8
  127. package/chunks/{chunk-Q2YKNMLS.js → chunk-TOFQCPDC.js} +43 -10
  128. package/chunks/{chunk-L3KUB6XM.js → chunk-TPRQ7RZH.js} +586 -242
  129. package/chunks/{chunk-T4TZQJ7W.js → chunk-TWPJO254.js} +5 -16
  130. package/chunks/{chunk-HIP6TVWA.js → chunk-U7M2DMGW.js} +3 -3
  131. package/chunks/{chunk-ACW3VNUE.js → chunk-UDX5OBWR.js} +41 -9
  132. package/chunks/{chunk-LW2FUYBN.js → chunk-USTWD7QV.js} +6 -4
  133. package/chunks/{chunk-NPQDJGKU.js → chunk-UUUTRMI2.js} +1 -1
  134. package/chunks/chunk-UW5EOVUN.js +249 -0
  135. package/chunks/{chunk-6IL7KRLE.js → chunk-VAK25FTU.js} +1 -1
  136. package/chunks/{chunk-O4BHWVUD.js → chunk-VIA5XA4U.js} +5 -2
  137. package/chunks/{chunk-EBXZ2YGV.js → chunk-VRYUBFMC.js} +1 -1
  138. package/chunks/{chunk-TWVE5ZS5.js → chunk-VULLI6WQ.js} +172 -6
  139. package/chunks/{chunk-LNDD3IML.js → chunk-WCXCRJYB.js} +1 -1
  140. package/chunks/{chunk-2LI23QA6.js → chunk-X5XDDSSH.js} +1 -1
  141. package/chunks/{chunk-Q35QUZDQ.js → chunk-Y34KJKDC.js} +1 -1
  142. package/chunks/{chunk-7NR2AIK6.js → chunk-YBL3QUDD.js} +2 -2
  143. package/chunks/{chunk-H4AR2JQF.js → chunk-YH6G52F2.js} +3 -3
  144. package/chunks/{chunk-MBOJHHPI.js → chunk-YPE6A4GC.js} +2 -2
  145. package/chunks/{chunk-3EK5ZOUQ.js → chunk-YX324OPW.js} +1 -1
  146. package/chunks/{chunk-4PTLZ3NX.js → chunk-Z2BC6UJ5.js} +3 -3
  147. package/chunks/{chunk-QLJUC7TG.js → chunk-ZD6UTE4A.js} +1 -1
  148. package/chunks/{chunk-LX3COOXF.js → chunk-ZFDTEDCF.js} +6 -6
  149. package/chunks/chunk-ZJHVAS7M.js +289 -0
  150. package/chunks/{chunk-4OWXOUYF.js → chunk-ZNAUOR2I.js} +15 -12
  151. package/chunks/{chunk-T2L47JJK.js → chunk-ZOIFNCKL.js} +4 -4
  152. package/chunks/{computer-use-2VIV73WK.js → computer-use-SOQ4E3VX.js} +43 -35
  153. package/chunks/{config-utils-FYTBZLCJ.js → config-utils-7V7GGIW6.js} +3 -3
  154. package/chunks/contextCommand-JLHYA34Z.js +80 -0
  155. package/chunks/{create-sub-session-AZ77LBL3.js → create-sub-session-IWW2IZ2T.js} +3 -3
  156. package/chunks/{create-sub-session-XDHHC2P4.js → create-sub-session-QRJLW5BV.js} +43 -35
  157. package/chunks/{cron-create-KTWJM7QT.js → cron-create-YIID5XAW.js} +6 -6
  158. package/chunks/{cron-delete-2P3I5ULL.js → cron-delete-ZVHYCEP2.js} +5 -5
  159. package/chunks/{cron-list-PXDPGEDQ.js → cron-list-XEGS463Q.js} +5 -5
  160. package/chunks/{daemon-RAPSDJH7.js → daemon-YO6433NF.js} +350 -53
  161. package/chunks/daemon-status-provider-2233Q37D.js +89 -0
  162. package/chunks/{de-4IBXM7CN.js → de-HGRCYDEJ.js} +1 -0
  163. package/chunks/{dist-UIFWIFRO.js → dist-46NQKLTW.js} +2 -2
  164. package/chunks/{dist-XRYV6TJP.js → dist-AIKFMUKK.js} +50 -4
  165. package/chunks/{dist-XBJVSWS2.js → dist-BBLXMS3N.js} +14 -2
  166. package/chunks/{dist-OMW6WDEO.js → dist-F6IBUDR4.js} +40 -9
  167. package/chunks/{dist-PJLG2XYX.js → dist-WEAHOXDM.js} +1 -1
  168. package/chunks/{dist-OAV7LJGJ.js → dist-YFNEUWSE.js} +26 -2
  169. package/chunks/earlyInputCapture-A7NDU3PF.js +82 -0
  170. package/chunks/{edit-CS6SFEXC.js → edit-OBDSQURM.js} +43 -35
  171. package/chunks/{en-USMCCJAJ.js → en-MTWBNGDO.js} +15 -0
  172. package/chunks/{enter-worktree-LMAL75DY.js → enter-worktree-U6MRPQ2P.js} +43 -35
  173. package/chunks/{enterPlanMode-WVJB4DSS.js → enterPlanMode-BC5QUZZ2.js} +43 -35
  174. package/chunks/{environment-6YHC4JAJ.js → environment-W5UFC2CH.js} +46 -38
  175. package/chunks/errors-M7CLORXH.js +88 -0
  176. package/chunks/{exit-worktree-KPFD742L.js → exit-worktree-DGNYMECB.js} +43 -35
  177. package/chunks/{exitPlanMode-UEJS6CDY.js → exitPlanMode-GXTBWQAR.js} +43 -35
  178. package/chunks/{fast-path-G2N4NRCA.js → fast-path-JJZFJANL.js} +6 -6
  179. package/chunks/{fast-path-settings-DAOVFADC.js → fast-path-settings-WQJU2LAT.js} +2 -2
  180. package/chunks/{fr-WVHEBDDB.js → fr-45RLL55O.js} +1 -0
  181. package/chunks/{gemini-2MDVIOVT.js → gemini-QS36EBZV.js} +132 -102
  182. package/chunks/{geminiContentGenerator-ZXTDBMFR.js → geminiContentGenerator-AG4KB6CV.js} +14 -8
  183. package/chunks/{getMachineId-bsd-QFVLPUPT.js → getMachineId-bsd-V7W3GODC.js} +1 -1
  184. package/chunks/{getMachineId-darwin-DGMQQE2E.js → getMachineId-darwin-TDO75DQP.js} +1 -1
  185. package/chunks/{getMachineId-linux-R4Z6CSWC.js → getMachineId-linux-TF43WQT2.js} +1 -1
  186. package/chunks/{getMachineId-unsupported-Z3SBVBUV.js → getMachineId-unsupported-ZGUO3TXT.js} +1 -1
  187. package/chunks/{getMachineId-win-SCK5UFDT.js → getMachineId-win-ECFYZZFQ.js} +1 -1
  188. package/chunks/{glob-562XFLIZ.js → glob-V7R3PSK3.js} +43 -35
  189. package/chunks/{grep-MGEFBDQK.js → grep-QYPSK7OP.js} +43 -35
  190. package/chunks/handleAutoUpdate-6DBEZYPV.js +81 -0
  191. package/chunks/{i18n-R6HJENXA.js → i18n-VUJJZIMU.js} +44 -36
  192. package/chunks/image-gen-Z3VPGKRC.js +240 -0
  193. package/chunks/initializer-UWAK5U5O.js +86 -0
  194. package/chunks/installationInfo-6O2YAA52.js +80 -0
  195. package/chunks/{ja-KY4ROZTE.js → ja-B7DF7DFG.js} +1 -0
  196. package/chunks/{keychain-token-storage-6ACJDYIB.js → keychain-token-storage-MDTG3WRM.js} +3 -3
  197. package/chunks/{kittyProtocolDetector-HCNNKJTI.js → kittyProtocolDetector-MBRTDRBK.js} +5 -3
  198. package/chunks/list-GB4ESM3T.js +89 -0
  199. package/chunks/list-agents-5KJJHR6I.js +80 -0
  200. package/chunks/loadedSettingsAdapter-OT6JVQ7U.js +83 -0
  201. package/chunks/loggingContentGenerator-HS3S5H3Q.js +1077 -0
  202. package/chunks/{loop-wakeup-RNMRVA66.js → loop-wakeup-FXKNNYSY.js} +7 -7
  203. package/chunks/{ls-J2ZI5XYK.js → ls-NTK6VOQJ.js} +5 -5
  204. package/chunks/{lsp-UMS3NUB5.js → lsp-2JI24STP.js} +3 -3
  205. package/chunks/{managed-npm-update-4KNYSOYC.js → managed-npm-update-JYEMMXA3.js} +94 -38
  206. package/chunks/mcp-6DBDJPFU.js +83 -0
  207. package/chunks/{monitor-DMHKE4SW.js → monitor-R3ODH5U6.js} +45 -36
  208. package/chunks/node-UUDY34IG.js +305 -0
  209. package/chunks/nonInteractiveCli-MOYCYBBU.js +141 -0
  210. package/chunks/{notebook-edit-35SJGEOR.js → notebook-edit-BNOK452R.js} +43 -35
  211. package/chunks/{openaiContentGenerator-5LPAFXPF.js → openaiContentGenerator-WMCU3O2H.js} +27 -17
  212. package/chunks/pidfile-TFRZZZIO.js +86 -0
  213. package/chunks/{processUtils-GM2I55KF.js → processUtils-RT7UNCC2.js} +2 -2
  214. package/chunks/{pt-OK455PLH.js → pt-22Q3FP73.js} +1 -0
  215. package/chunks/{qwenContentGenerator-HKOYNP7H.js → qwenContentGenerator-HHCRK4SX.js} +56 -42
  216. package/chunks/{qwenOAuth2-NUUYC3V5.js → qwenOAuth2-OWLB5AKH.js} +14 -27
  217. package/chunks/read-file-APMO3PSX.js +31 -0
  218. package/chunks/{read-mcp-resource-F6HYMDUY.js → read-mcp-resource-4DKQWGHD.js} +3 -3
  219. package/chunks/{record-artifact-7GCFLDD7.js → record-artifact-RQKFYO5B.js} +3 -3
  220. package/chunks/resumeHistoryUtils-6KRYEAWZ.js +91 -0
  221. package/chunks/ripGrep-BEJDEDXW.js +73 -0
  222. package/chunks/{ru-7SPDGMGD.js → ru-FZCNZHDC.js} +1 -0
  223. package/chunks/{run-qwen-serve-5VH3F4NW.js → run-qwen-serve-FU6HEM4J.js} +271 -57
  224. package/chunks/{runtime-OH77YH7W.js → runtime-XXRRTNP6.js} +55 -45
  225. package/chunks/{scheduler-WJQSLCSV.js → scheduler-G2ZS2Z7E.js} +43 -35
  226. package/chunks/{sdk-exporters-grpc-ETLH47EP.js → sdk-exporters-grpc-AK3LGHNO.js} +3 -3
  227. package/chunks/{sdk-exporters-http-T3POX73F.js → sdk-exporters-http-FYBSUCPD.js} +6 -6
  228. package/chunks/{sdk-impl-NSLPDH6I.js → sdk-impl-GMVPB7NB.js} +6 -6
  229. package/chunks/{send-message-PYIJ2PZL.js → send-message-Q6OOR6BR.js} +46 -9
  230. package/chunks/serve-7BSTXJ4T.js +89 -0
  231. package/chunks/{server-E4N4AI6Z.js → server-4UMH7OIZ.js} +2362 -411
  232. package/chunks/{session-5YUWIOQE.js → session-K3O3Q2SV.js} +105 -87
  233. package/chunks/{settings-YY7ZSFO7.js → settings-CR2EWTBA.js} +53 -45
  234. package/chunks/shell-HH3PF3A2.js +83 -0
  235. package/chunks/{skill-PAIDX3EU.js → skill-I3SDA4MB.js} +17 -16
  236. package/chunks/spawnChannel-RWNDBXGA.js +82 -0
  237. package/chunks/{src-IZXLJI5M.js → src-GE4TTTML.js} +302 -184
  238. package/chunks/{standalone-update-X675JVBL.js → standalone-update-Q6WFRZZQ.js} +45 -37
  239. package/chunks/{startInteractiveUI-ND2IVBU3.js → startInteractiveUI-SLZGHRPH.js} +747 -310
  240. package/chunks/{syntheticOutput-H7RTI5KL.js → syntheticOutput-I3757IWH.js} +4 -4
  241. package/chunks/{task-create-7474AJJD.js → task-create-N7WQSGYA.js} +10 -10
  242. package/chunks/{task-list-633HGOIB.js → task-list-FOPULZEP.js} +7 -7
  243. package/chunks/{task-stop-MNUGHPIA.js → task-stop-H6RHXFVQ.js} +4 -4
  244. package/chunks/{task-update-66GQB5LI.js → task-update-M57TFZJT.js} +10 -10
  245. package/chunks/{team-create-2DEYNMMN.js → team-create-YJALH5D2.js} +46 -38
  246. package/chunks/{team-delete-BB3CG3QF.js → team-delete-QE2UXJL7.js} +7 -7
  247. package/chunks/{team-plan-approval-65AVAOCT.js → team-plan-approval-34QFYKGN.js} +43 -35
  248. package/chunks/theme-manager-SWRILQHI.js +77 -0
  249. package/chunks/{todoWrite-KRAUN54W.js → todoWrite-VQ7FKOHL.js} +5 -5
  250. package/chunks/{tool-search-ZQP3SMTV.js → tool-search-NF7GB6LE.js} +16 -16
  251. package/chunks/total-session-admission-DLHHHLD3.js +84 -0
  252. package/chunks/{tree-sitter-FS4VPMZA.js → tree-sitter-4D7QS7F6.js} +1 -1
  253. package/chunks/{tree-sitter-bash-6B46JJCV.js → tree-sitter-bash-VEJGF5XF.js} +1 -1
  254. package/chunks/{trustedFolders-LURI52LP.js → trustedFolders-KHXHY6PY.js} +44 -36
  255. package/chunks/{update-relaunch-BPWFIDLM.js → update-relaunch-WBUZJC5O.js} +5 -5
  256. package/chunks/updateCheck-RKL6M5XN.js +92 -0
  257. package/chunks/useAutoAcceptIndicator-CFQ5BUJL.js +93 -0
  258. package/chunks/{validateNonInterActiveAuth-HWD6Y22I.js → validateNonInterActiveAuth-3R223G3R.js} +89 -80
  259. package/chunks/{version-OD4JAFG7.js → version-HS7YSFHV.js} +1 -1
  260. package/chunks/{web-fetch-RFBKNU24.js → web-fetch-NKCSG7ZE.js} +18 -16
  261. package/chunks/{web-search-AKTVS5YZ.js → web-search-S62WAP4S.js} +13 -27
  262. package/chunks/{workflow-VZVCOSZN.js → workflow-QAGU5RU4.js} +44 -36
  263. package/chunks/workspace-providers-status-QSVZUETE.js +86 -0
  264. package/chunks/{workspace-registration-store-Q5SFJSX4.js → workspace-registration-store-24JMHDGF.js} +2 -2
  265. package/chunks/workspace-registry-UT4RBNBM.js +88 -0
  266. package/chunks/workspace-service-JFWRUS4V.js +98 -0
  267. package/chunks/workspace-skills-status-ZBBKJOI2.js +85 -0
  268. package/chunks/write-file-VHIXW5M7.js +73 -0
  269. package/chunks/{zh-WY5DWYZD.js → zh-LUIGBD55.js} +15 -0
  270. package/chunks/{zh-TW-BM47YBFH.js → zh-TW-F5KG2IYD.js} +15 -0
  271. package/cli-entry.js +10 -1
  272. package/cli.js +13 -13
  273. package/locales/ca.js +2 -0
  274. package/locales/de.js +1 -0
  275. package/locales/en.js +25 -0
  276. package/locales/fr.js +1 -0
  277. package/locales/ja.js +1 -0
  278. package/locales/pt.js +1 -0
  279. package/locales/ru.js +1 -0
  280. package/locales/zh-TW.js +23 -0
  281. package/locales/zh.js +23 -0
  282. package/package.json +3 -3
  283. package/web-shell/assets/{arc-BWFm0SI0.js → arc-DcbWnB9T.js} +1 -1
  284. package/web-shell/assets/{architectureDiagram-3BPJPVTR-CZ_yL-DQ.js → architectureDiagram-3BPJPVTR-kMMF5sud.js} +1 -1
  285. package/web-shell/assets/{blockDiagram-GPEHLZMM-B9F9mJvG.js → blockDiagram-GPEHLZMM-Htl9vTJS.js} +1 -1
  286. package/web-shell/assets/{c4Diagram-AAUBKEIU-BUdwJW5f.js → c4Diagram-AAUBKEIU-BnZnm0mQ.js} +1 -1
  287. package/web-shell/assets/channel-Cq7YKtfC.js +1 -0
  288. package/web-shell/assets/{chunk-2J33WTMH-w4cF-qlF.js → chunk-2J33WTMH-DziB7kDG.js} +1 -1
  289. package/web-shell/assets/{chunk-4BX2VUAB-BXwURxHJ.js → chunk-4BX2VUAB-CmkD8daw.js} +1 -1
  290. package/web-shell/assets/{chunk-55IACEB6-Gem3LalC.js → chunk-55IACEB6-CHAd9A_U.js} +1 -1
  291. package/web-shell/assets/{chunk-727SXJPM-A3ddVojI.js → chunk-727SXJPM-Dqaam3fE.js} +1 -1
  292. package/web-shell/assets/{chunk-AQP2D5EJ-CjHZ5L_R.js → chunk-AQP2D5EJ-D_-saBYM.js} +1 -1
  293. package/web-shell/assets/{chunk-FMBD7UC4-CKgdgcpv.js → chunk-FMBD7UC4-B9r_veWD.js} +1 -1
  294. package/web-shell/assets/{chunk-ND2GUHAM-Cn2Dykjb.js → chunk-ND2GUHAM-B3EaCSpL.js} +1 -1
  295. package/web-shell/assets/{chunk-QZHKN3VN--0SyraC5.js → chunk-QZHKN3VN-CYq8x9mn.js} +1 -1
  296. package/web-shell/assets/classDiagram-4FO5ZUOK-CQ9aC1Tg.js +1 -0
  297. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CQ9aC1Tg.js +1 -0
  298. package/web-shell/assets/{cose-bilkent-S5V4N54A-CphhAity.js → cose-bilkent-S5V4N54A-D0ng4uiB.js} +1 -1
  299. package/web-shell/assets/{dagre-BM42HDAG-DU--jiKp.js → dagre-BM42HDAG-DCZollQv.js} +1 -1
  300. package/web-shell/assets/{diagram-2AECGRRQ-BzvuZw1Y.js → diagram-2AECGRRQ-Dfk2pWS0.js} +1 -1
  301. package/web-shell/assets/{diagram-5GNKFQAL-D84-49Y0.js → diagram-5GNKFQAL-kX38ltWR.js} +1 -1
  302. package/web-shell/assets/{diagram-KO2AKTUF-DQTq-3_3.js → diagram-KO2AKTUF-CJz2vsXh.js} +1 -1
  303. package/web-shell/assets/{diagram-LMA3HP47-8FTrshzN.js → diagram-LMA3HP47-BvMLZm_7.js} +1 -1
  304. package/web-shell/assets/{diagram-OG6HWLK6-BCjpDBCm.js → diagram-OG6HWLK6-l7kfStkO.js} +1 -1
  305. package/web-shell/assets/{erDiagram-TEJ5UH35-BtRObkmg.js → erDiagram-TEJ5UH35-BSVa8GGT.js} +1 -1
  306. package/web-shell/assets/{flowDiagram-I6XJVG4X-DTrW6oxy.js → flowDiagram-I6XJVG4X-CoawKIXH.js} +1 -1
  307. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BgPNSW6j.js → ganttDiagram-6RSMTGT7-DFUDH0zF.js} +1 -1
  308. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-BTclNgGV.js → gitGraphDiagram-PVQCEYII-Y2pvpT4e.js} +1 -1
  309. package/web-shell/assets/{index-CxA7AqY6.js → index-D0GX0zZf.js} +1 -1
  310. package/web-shell/assets/index-D9haPt0X.css +5 -0
  311. package/web-shell/assets/index-ckX9Pq5k.js +1230 -0
  312. package/web-shell/assets/{infoDiagram-5YYISTIA-DCE4AJt2.js → infoDiagram-5YYISTIA-CU8_zLiX.js} +1 -1
  313. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-C8iE6q4Y.js → ishikawaDiagram-YF4QCWOH-AVQiV0DU.js} +1 -1
  314. package/web-shell/assets/{journeyDiagram-JHISSGLW-C_dxdyEc.js → journeyDiagram-JHISSGLW-DQ0VSKa3.js} +1 -1
  315. package/web-shell/assets/{kanban-definition-UN3LZRKU-Dw3n1u3w.js → kanban-definition-UN3LZRKU-BqnWqsE_.js} +1 -1
  316. package/web-shell/assets/{linear-C2BF2zJ9.js → linear-BkoihsaA.js} +1 -1
  317. package/web-shell/assets/{mermaid.core-CGTQU3MA.js → mermaid.core-5RJs-31j.js} +5 -5
  318. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BVFZm9ZC.js → mindmap-definition-RKZ34NQL-D33Bxnpd.js} +1 -1
  319. package/web-shell/assets/{pieDiagram-4H26LBE5-Cc-TNN3n.js → pieDiagram-4H26LBE5-BuEAw3BH.js} +1 -1
  320. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CgW3Rzsi.js → quadrantDiagram-W4KKPZXB-Kox_usEq.js} +1 -1
  321. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BAaj0Y3B.js → requirementDiagram-4Y6WPE33-CNjeUif0.js} +1 -1
  322. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-XJWmekxS.js → sankeyDiagram-5OEKKPKP-BCd2OL_U.js} +1 -1
  323. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CtRc_0wf.js → sequenceDiagram-3UESZ5HK-CF2ZTsz0.js} +1 -1
  324. package/web-shell/assets/{stateDiagram-AJRCARHV-WCnvMGy5.js → stateDiagram-AJRCARHV-qenSzHtm.js} +1 -1
  325. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B7W4zlCr.js +1 -0
  326. package/web-shell/assets/{timeline-definition-PNZ67QCA-C9cRx49L.js → timeline-definition-PNZ67QCA-B5DyWdgs.js} +1 -1
  327. package/web-shell/assets/{vennDiagram-CIIHVFJN-BvXOCEt-.js → vennDiagram-CIIHVFJN-DqP4I_o_.js} +1 -1
  328. package/web-shell/assets/{wardley-L42UT6IY-ByafGtzu.js → wardley-L42UT6IY-CJe2e4mg.js} +1 -1
  329. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-CozAnw8x.js → wardleyDiagram-YWT4CUSO-BMDSw-Rr.js} +1 -1
  330. package/web-shell/assets/{xychartDiagram-2RQKCTM6-Camu9Qvq.js → xychartDiagram-2RQKCTM6-BTVZYkxD.js} +1 -1
  331. package/web-shell/index.html +17 -13
  332. package/chunks/MaxSizedBox-3XQIBACV.js +0 -78
  333. package/chunks/agent-QXD5NSKA.js +0 -73
  334. package/chunks/agent-headless-4VXR2TBK.js +0 -67
  335. package/chunks/bridge-GIBRSPE6.js +0 -81
  336. package/chunks/chunk-CBOQ3HY7.js +0 -2019
  337. package/chunks/chunk-MA6GYKK7.js +0 -6928
  338. package/chunks/contextCommand-XQU7KLIH.js +0 -72
  339. package/chunks/daemon-status-provider-KQVNB4VA.js +0 -80
  340. package/chunks/earlyInputCapture-WP5SA3KH.js +0 -74
  341. package/chunks/errors-JEYPXX4S.js +0 -80
  342. package/chunks/handleAutoUpdate-2VJPAW43.js +0 -73
  343. package/chunks/initializer-UOX67ZFQ.js +0 -78
  344. package/chunks/installationInfo-NQNY34X3.js +0 -72
  345. package/chunks/list-2Z7KS7ZF.js +0 -81
  346. package/chunks/loadedSettingsAdapter-LIYY3LE4.js +0 -75
  347. package/chunks/mcp-AJ4QW3JA.js +0 -75
  348. package/chunks/nonInteractiveCli-PUSO5QF6.js +0 -134
  349. package/chunks/pidfile-EH2JW2PB.js +0 -78
  350. package/chunks/read-file-JZ5VXILQ.js +0 -31
  351. package/chunks/resumeHistoryUtils-Z3HG4WKM.js +0 -84
  352. package/chunks/ripGrep-JNLJCT2B.js +0 -65
  353. package/chunks/serve-NN5FXWR6.js +0 -81
  354. package/chunks/shell-FXT3NVC6.js +0 -75
  355. package/chunks/spawnChannel-XAWLXNOD.js +0 -74
  356. package/chunks/theme-manager-2WZHPK2M.js +0 -69
  357. package/chunks/total-session-admission-HULB2TEQ.js +0 -75
  358. package/chunks/updateCheck-D4ESCHBJ.js +0 -88
  359. package/chunks/useAutoAcceptIndicator-CBNLOF2P.js +0 -86
  360. package/chunks/workspace-providers-status-TJTVHORI.js +0 -78
  361. package/chunks/workspace-registry-H6VM5WXK.js +0 -79
  362. package/chunks/workspace-service-ZNKD3I2J.js +0 -90
  363. package/chunks/workspace-skills-status-OOBIXADG.js +0 -77
  364. package/chunks/write-file-CAKK5IAO.js +0 -65
  365. package/web-shell/assets/channel-DiLlxxIf.js +0 -1
  366. package/web-shell/assets/classDiagram-4FO5ZUOK-CkylTdM4.js +0 -1
  367. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CkylTdM4.js +0 -1
  368. package/web-shell/assets/index-CGtQqOIa.css +0 -5
  369. package/web-shell/assets/index-TtM0hVjU.js +0 -1207
  370. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-D1gzH2Ue.js +0 -1
@@ -15,27 +15,27 @@ import {
15
15
  MODIFIER_CTRL_BIT,
16
16
  MODIFIER_SHIFT_BIT,
17
17
  clipboardHasImage
18
- } from "./chunk-4LVZNIDO.js";
19
- import {
20
- noteInteraction
21
- } from "./chunk-KW7NOTN6.js";
18
+ } from "./chunk-J56UI34H.js";
22
19
  import {
23
20
  require_jsx_runtime
24
21
  } from "./chunk-SV5PQVQE.js";
25
22
  import {
26
23
  use_stdin_default,
27
24
  use_stdout_default
28
- } from "./chunk-FFFM6NJV.js";
25
+ } from "./chunk-6GMVPFB2.js";
26
+ import {
27
+ noteInteraction
28
+ } from "./chunk-KW7NOTN6.js";
29
29
  import {
30
30
  require_react
31
31
  } from "./chunk-5QWWOFGG.js";
32
32
  import {
33
33
  KittySequenceOverflowEvent,
34
34
  logKittySequenceOverflow
35
- } from "./chunk-ZDP2Y2AL.js";
35
+ } from "./chunk-CIKQ7KKO.js";
36
36
  import {
37
37
  createDebugLogger
38
- } from "./chunk-OQB4EXO4.js";
38
+ } from "./chunk-NL7LTRLR.js";
39
39
  import {
40
40
  init_esbuild_shims
41
41
  } from "./chunk-5O2XNYP6.js";
@@ -241,6 +241,10 @@ function KeypressProvider({
241
241
  const { stdin, setRawMode } = use_stdin_default();
242
242
  const subscribers = (0, import_react2.useRef)(/* @__PURE__ */ new Set()).current;
243
243
  const mouseSubscribers = (0, import_react2.useRef)(/* @__PURE__ */ new Set()).current;
244
+ const [pasteProgress, setPasteProgress] = (0, import_react2.useState)({
245
+ active: false,
246
+ receivedBytes: 0
247
+ });
244
248
  const subscribe = (0, import_react2.useCallback)(
245
249
  (handler) => {
246
250
  subscribers.add(handler);
@@ -274,9 +278,10 @@ function KeypressProvider({
274
278
  usePassthrough = true;
275
279
  }
276
280
  let isPaste = false;
277
- let pasteBuffer = Buffer.alloc(0);
281
+ let pasteChunks = [];
278
282
  let pasteAlreadyFlushed = false;
279
283
  let pasteIdleTimeout = null;
284
+ let lastPasteChunkAt = 0;
280
285
  const kittySequenceBufferRef = { current: "" };
281
286
  let kittySequenceTimeout = null;
282
287
  let backslashTimeout = null;
@@ -346,10 +351,10 @@ function KeypressProvider({
346
351
  }, "clearPasteIdleTimeout");
347
352
  const forceFlushStuckPaste = /* @__PURE__ */ __name(() => {
348
353
  clearPasteIdleTimeout();
349
- if (!isPaste && pasteBuffer.length === 0) return;
350
- const buffered = pasteBuffer.toString();
354
+ if (!isPaste && pasteChunks.length === 0) return;
355
+ const buffered = pasteChunks.join("");
351
356
  isPaste = false;
352
- pasteBuffer = Buffer.alloc(0);
357
+ pasteChunks = [];
353
358
  pasteAlreadyFlushed = true;
354
359
  if (buffered.length > 0) {
355
360
  broadcast({
@@ -362,12 +367,21 @@ function KeypressProvider({
362
367
  });
363
368
  }
364
369
  }, "forceFlushStuckPaste");
370
+ const onPasteIdleTimeout = /* @__PURE__ */ __name(() => {
371
+ const idleFor = Date.now() - lastPasteChunkAt;
372
+ if (idleFor >= PASTE_IDLE_TIMEOUT_MS) {
373
+ forceFlushStuckPaste();
374
+ } else {
375
+ pasteIdleTimeout = setTimeout(
376
+ onPasteIdleTimeout,
377
+ PASTE_IDLE_TIMEOUT_MS - idleFor
378
+ );
379
+ }
380
+ }, "onPasteIdleTimeout");
365
381
  const startPasteIdleTimeout = /* @__PURE__ */ __name(() => {
366
- clearPasteIdleTimeout();
367
- pasteIdleTimeout = setTimeout(
368
- forceFlushStuckPaste,
369
- PASTE_IDLE_TIMEOUT_MS
370
- );
382
+ lastPasteChunkAt = Date.now();
383
+ if (pasteIdleTimeout) return;
384
+ pasteIdleTimeout = setTimeout(onPasteIdleTimeout, PASTE_IDLE_TIMEOUT_MS);
371
385
  }, "startPasteIdleTimeout");
372
386
  const createPrintableKey = /* @__PURE__ */ __name((char) => {
373
387
  const printableName = char === " " ? "space" : /^[A-Za-z]$/.test(char) ? char.toLowerCase() : char;
@@ -462,11 +476,11 @@ function KeypressProvider({
462
476
  };
463
477
  }
464
478
  const csiUPrefix = new RegExp(
465
- `^${ESC2}\\[(\\d+)(?::\\d+)*(?:;(\\d+)(?::\\d+)*)?(?:;\\d+)?([u~])`
479
+ `^${ESC2}\\[(\\d+)(?::\\d+)*(?:;(\\d+)(?::\\d+)*)?(?:;(\\d+))?([u~])`
466
480
  );
467
481
  m = buffer.match(csiUPrefix);
468
482
  if (m) {
469
- const keyCode = parseInt(m[1], 10);
483
+ let keyCode = parseInt(m[1], 10);
470
484
  let modifiers = m[2] ? parseInt(m[2], 10) : KITTY_MODIFIER_BASE;
471
485
  if (modifiers >= KITTY_MODIFIER_EVENT_TYPES_OFFSET) {
472
486
  modifiers -= KITTY_MODIFIER_EVENT_TYPES_OFFSET;
@@ -475,7 +489,10 @@ function KeypressProvider({
475
489
  const shift = (modifierBits & MODIFIER_SHIFT_BIT) === MODIFIER_SHIFT_BIT;
476
490
  const alt = (modifierBits & MODIFIER_ALT_BIT) === MODIFIER_ALT_BIT;
477
491
  const ctrl = (modifierBits & MODIFIER_CTRL_BIT) === MODIFIER_CTRL_BIT;
478
- const terminator = m[3];
492
+ const terminator = m[4];
493
+ if (keyCode === CHAR_CODE_ESC && terminator === "~" && m[3]) {
494
+ keyCode = parseInt(m[3], 10);
495
+ }
479
496
  if (terminator === "~") {
480
497
  let name2 = null;
481
498
  switch (keyCode) {
@@ -708,9 +725,9 @@ function KeypressProvider({
708
725
  }
709
726
  const isCtrlCKey = key.ctrl && key.name === "c" || key.sequence === `${ESC2}${KITTY_CTRL_C}`;
710
727
  if (isCtrlCKey) {
711
- if (isPaste || pasteBuffer.length > 0) {
728
+ if (isPaste || pasteChunks.length > 0) {
712
729
  isPaste = false;
713
- pasteBuffer = Buffer.alloc(0);
730
+ pasteChunks = [];
714
731
  pasteAlreadyFlushed = true;
715
732
  clearPasteIdleTimeout();
716
733
  }
@@ -747,18 +764,20 @@ function KeypressProvider({
747
764
  if (pasteAlreadyFlushed) {
748
765
  pasteAlreadyFlushed = false;
749
766
  isPaste = false;
750
- pasteBuffer = Buffer.alloc(0);
767
+ pasteChunks = [];
751
768
  return;
752
769
  }
753
770
  isPaste = false;
754
- if (pasteBuffer.toString().length > 0) {
771
+ const buffered = pasteChunks.join("");
772
+ pasteChunks = [];
773
+ if (buffered.length > 0) {
755
774
  broadcast({
756
775
  name: "",
757
776
  ctrl: false,
758
777
  meta: false,
759
778
  shift: false,
760
779
  paste: true,
761
- sequence: pasteBuffer.toString()
780
+ sequence: buffered
762
781
  });
763
782
  } else {
764
783
  let clipboardImageUnavailable = false;
@@ -773,14 +792,13 @@ function KeypressProvider({
773
792
  paste: true,
774
793
  pasteImage: hasImage,
775
794
  clipboardImageUnavailable,
776
- sequence: pasteBuffer.toString()
795
+ sequence: buffered
777
796
  });
778
797
  }
779
- pasteBuffer = Buffer.alloc(0);
780
798
  return;
781
799
  }
782
800
  if (isPaste) {
783
- pasteBuffer = Buffer.concat([pasteBuffer, Buffer.from(key.sequence)]);
801
+ pasteChunks.push(key.sequence);
784
802
  startPasteIdleTimeout();
785
803
  return;
786
804
  }
@@ -826,7 +844,8 @@ function KeypressProvider({
826
844
  broadcast(key);
827
845
  return;
828
846
  }
829
- if (kittyProtocolEnabled) {
847
+ const isModifyOtherKeysSequence = key.sequence?.startsWith(`${ESC2}[27`) ?? false;
848
+ if (kittyProtocolEnabled || kittySequenceBufferRef.current || isModifyOtherKeysSequence) {
830
849
  if (kittySequenceBufferRef.current || key.sequence.startsWith(`${ESC2}[`) && !key.sequence.startsWith(PASTE_MODE_PREFIX) && !key.sequence.startsWith(PASTE_MODE_SUFFIX) && !key.sequence.startsWith(FOCUS_IN) && !key.sequence.startsWith(FOCUS_OUT)) {
831
850
  updateKittyBuffer(kittySequenceBufferRef.current + key.sequence);
832
851
  startKittyTimeout();
@@ -1053,6 +1072,159 @@ function KeypressProvider({
1053
1072
  flushRawBuffer();
1054
1073
  }
1055
1074
  }, "handleRawKeypress");
1075
+ const pasteModePrefixBuf = Buffer.from(PASTE_MODE_PREFIX);
1076
+ const pasteModeSuffixBuf = Buffer.from(PASTE_MODE_SUFFIX);
1077
+ function partialMarkerTailLength(chunk, marker, minLen = 2) {
1078
+ const maxCheck = Math.min(chunk.length, marker.length - 1);
1079
+ for (let len = maxCheck; len >= minLen; len--) {
1080
+ const tail = chunk.subarray(chunk.length - len);
1081
+ if (marker.subarray(0, len).equals(tail)) {
1082
+ return len;
1083
+ }
1084
+ }
1085
+ return 0;
1086
+ }
1087
+ __name(partialMarkerTailLength, "partialMarkerTailLength");
1088
+ let rawStdinTail = Buffer.alloc(0);
1089
+ let rawPasteAccumulating = false;
1090
+ let rawPasteChunks = [];
1091
+ let rawPasteReceivedBytes = 0;
1092
+ let rawPasteIdleTimeout = null;
1093
+ const clearRawPasteIdleTimeout = /* @__PURE__ */ __name(() => {
1094
+ if (rawPasteIdleTimeout) {
1095
+ clearTimeout(rawPasteIdleTimeout);
1096
+ rawPasteIdleTimeout = null;
1097
+ }
1098
+ }, "clearRawPasteIdleTimeout");
1099
+ const forceFlushRawPaste = /* @__PURE__ */ __name(() => {
1100
+ clearRawPasteIdleTimeout();
1101
+ if (!rawPasteAccumulating && rawPasteChunks.length === 0 && rawStdinTail.length === 0)
1102
+ return;
1103
+ if (rawStdinTail.length > 0) {
1104
+ rawPasteChunks.push(rawStdinTail);
1105
+ rawStdinTail = Buffer.alloc(0);
1106
+ }
1107
+ const content = Buffer.concat(rawPasteChunks);
1108
+ rawPasteChunks = [];
1109
+ rawPasteAccumulating = false;
1110
+ broadcastPasteFromRaw(content);
1111
+ }, "forceFlushRawPaste");
1112
+ const startRawPasteIdleTimeout = /* @__PURE__ */ __name(() => {
1113
+ clearRawPasteIdleTimeout();
1114
+ rawPasteIdleTimeout = setTimeout(
1115
+ forceFlushRawPaste,
1116
+ PASTE_IDLE_TIMEOUT_MS
1117
+ );
1118
+ }, "startRawPasteIdleTimeout");
1119
+ const broadcastPasteFromRaw = /* @__PURE__ */ __name((content) => {
1120
+ pasteAlreadyFlushed = true;
1121
+ setPasteProgress({ active: false, receivedBytes: 0 });
1122
+ const text = content.toString("utf-8");
1123
+ if (text.length > 0) {
1124
+ broadcast({
1125
+ name: "",
1126
+ ctrl: false,
1127
+ meta: false,
1128
+ shift: false,
1129
+ paste: true,
1130
+ sequence: text
1131
+ });
1132
+ } else {
1133
+ let clipboardImageUnavailable = false;
1134
+ void clipboardHasImage(() => {
1135
+ clipboardImageUnavailable = true;
1136
+ }).then((hasImage) => {
1137
+ broadcast({
1138
+ name: "",
1139
+ ctrl: false,
1140
+ meta: false,
1141
+ shift: false,
1142
+ paste: true,
1143
+ pasteImage: hasImage,
1144
+ clipboardImageUnavailable,
1145
+ sequence: ""
1146
+ });
1147
+ });
1148
+ }
1149
+ }, "broadcastPasteFromRaw");
1150
+ const handleStdinData = /* @__PURE__ */ __name((data) => {
1151
+ const raw = Buffer.isBuffer(data) ? data : Buffer.from(data, "utf8");
1152
+ const buf = rawStdinTail.length > 0 ? Buffer.concat([rawStdinTail, raw]) : raw;
1153
+ rawStdinTail = Buffer.alloc(0);
1154
+ let cursor = 0;
1155
+ while (cursor < buf.length) {
1156
+ if (rawPasteAccumulating) {
1157
+ const suffixIdx = buf.indexOf(pasteModeSuffixBuf, cursor);
1158
+ if (suffixIdx === -1) {
1159
+ const remaining = buf.subarray(cursor);
1160
+ const tailLen = partialMarkerTailLength(
1161
+ remaining,
1162
+ pasteModeSuffixBuf,
1163
+ 1
1164
+ );
1165
+ const contentEnd = remaining.length - tailLen;
1166
+ if (contentEnd > 0) {
1167
+ const chunk = remaining.subarray(0, contentEnd);
1168
+ rawPasteChunks.push(chunk);
1169
+ rawPasteReceivedBytes += chunk.length;
1170
+ setPasteProgress((prev) => ({
1171
+ ...prev,
1172
+ receivedBytes: rawPasteReceivedBytes
1173
+ }));
1174
+ }
1175
+ if (tailLen > 0) {
1176
+ rawStdinTail = Buffer.from(remaining.subarray(contentEnd));
1177
+ }
1178
+ startRawPasteIdleTimeout();
1179
+ cursor = buf.length;
1180
+ } else {
1181
+ clearRawPasteIdleTimeout();
1182
+ if (suffixIdx > cursor) {
1183
+ rawPasteChunks.push(buf.subarray(cursor, suffixIdx));
1184
+ }
1185
+ const pasteContent = Buffer.concat(rawPasteChunks);
1186
+ rawPasteChunks = [];
1187
+ rawPasteAccumulating = false;
1188
+ broadcastPasteFromRaw(pasteContent);
1189
+ cursor = suffixIdx + pasteModeSuffixBuf.length;
1190
+ }
1191
+ } else {
1192
+ const prefixIdx = buf.indexOf(pasteModePrefixBuf, cursor);
1193
+ if (prefixIdx === -1) {
1194
+ const remaining = buf.subarray(cursor);
1195
+ if (remaining.length > 0) {
1196
+ const tailLen = partialMarkerTailLength(
1197
+ remaining,
1198
+ pasteModePrefixBuf
1199
+ );
1200
+ if (tailLen > 0) {
1201
+ const safe = remaining.subarray(0, remaining.length - tailLen);
1202
+ if (safe.length > 0) keypressStream.write(safe);
1203
+ rawStdinTail = Buffer.from(
1204
+ remaining.subarray(remaining.length - tailLen)
1205
+ );
1206
+ } else {
1207
+ keypressStream.write(remaining);
1208
+ }
1209
+ }
1210
+ cursor = buf.length;
1211
+ } else {
1212
+ if (prefixIdx > cursor) {
1213
+ keypressStream.write(buf.subarray(cursor, prefixIdx));
1214
+ }
1215
+ rawPasteAccumulating = true;
1216
+ rawPasteChunks = [];
1217
+ rawPasteReceivedBytes = 0;
1218
+ startRawPasteIdleTimeout();
1219
+ setPasteProgress({
1220
+ active: true,
1221
+ receivedBytes: 0
1222
+ });
1223
+ cursor = prefixIdx + pasteModePrefixBuf.length;
1224
+ }
1225
+ }
1226
+ }
1227
+ }, "handleStdinData");
1056
1228
  let rl;
1057
1229
  if (usePassthrough) {
1058
1230
  rl = readline.createInterface({
@@ -1063,9 +1235,14 @@ function KeypressProvider({
1063
1235
  keypressStream.on("keypress", handleKeypress);
1064
1236
  stdin.on("data", handleRawKeypress);
1065
1237
  } else {
1066
- rl = readline.createInterface({ input: stdin, escapeCodeTimeout: 0 });
1067
- readline.emitKeypressEvents(stdin, rl);
1238
+ rl = readline.createInterface({
1239
+ input: keypressStream,
1240
+ escapeCodeTimeout: 0
1241
+ });
1242
+ readline.emitKeypressEvents(keypressStream, rl);
1243
+ keypressStream.on("keypress", handleKeypress);
1068
1244
  stdin.on("keypress", handleKeypress);
1245
+ stdin.on("data", handleStdinData);
1069
1246
  }
1070
1247
  let replayPending = false;
1071
1248
  if (capturedInput.length > 0) {
@@ -1088,7 +1265,9 @@ function KeypressProvider({
1088
1265
  keypressStream.removeListener("keypress", handleKeypress);
1089
1266
  stdin.removeListener("data", handleRawKeypress);
1090
1267
  } else {
1268
+ keypressStream.removeListener("keypress", handleKeypress);
1091
1269
  stdin.removeListener("keypress", handleKeypress);
1270
+ stdin.removeListener("data", handleStdinData);
1092
1271
  }
1093
1272
  rl.close();
1094
1273
  setRawMode(false);
@@ -1098,21 +1277,27 @@ function KeypressProvider({
1098
1277
  }
1099
1278
  clearKittyBufferAndTimeout();
1100
1279
  clearPasteIdleTimeout();
1280
+ clearRawPasteIdleTimeout();
1101
1281
  resetSgrMouse();
1102
1282
  if (rawFlushTimeout) {
1103
1283
  clearTimeout(rawFlushTimeout);
1104
1284
  rawFlushTimeout = null;
1105
1285
  }
1106
- if (isPaste) {
1107
- broadcast({
1108
- name: "",
1109
- ctrl: false,
1110
- meta: false,
1111
- shift: false,
1112
- paste: true,
1113
- sequence: pasteBuffer.toString()
1114
- });
1115
- pasteBuffer = Buffer.alloc(0);
1286
+ if (rawPasteAccumulating || rawPasteChunks.length > 0) {
1287
+ forceFlushRawPaste();
1288
+ } else if (isPaste) {
1289
+ const buffered = pasteChunks.join("");
1290
+ if (buffered.length > 0) {
1291
+ broadcast({
1292
+ name: "",
1293
+ ctrl: false,
1294
+ meta: false,
1295
+ shift: false,
1296
+ paste: true,
1297
+ sequence: buffered
1298
+ });
1299
+ }
1300
+ pasteChunks = [];
1116
1301
  }
1117
1302
  };
1118
1303
  }, [
@@ -1134,7 +1319,8 @@ function KeypressProvider({
1134
1319
  unsubscribe,
1135
1320
  subscribeMouse,
1136
1321
  unsubscribeMouse,
1137
- pasteWorkaround
1322
+ pasteWorkaround,
1323
+ pasteProgress
1138
1324
  },
1139
1325
  children
1140
1326
  }