@qwen-code/qwen-code 0.23.0 → 0.23.1-preview.1

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 (453) hide show
  1. package/bundled/new-app/SKILL.md +1 -1
  2. package/bundled/qc-helper/docs/configuration/auth.md +84 -12
  3. package/bundled/qc-helper/docs/configuration/settings.md +76 -74
  4. package/bundled/qc-helper/docs/features/arena.md +15 -20
  5. package/bundled/qc-helper/docs/features/channels/overview.md +7 -2
  6. package/bundled/qc-helper/docs/features/code-review.md +22 -19
  7. package/bundled/qc-helper/docs/features/commands.md +51 -10
  8. package/bundled/qc-helper/docs/features/followup-suggestions.md +1 -1
  9. package/bundled/qc-helper/docs/features/goals.md +8 -0
  10. package/bundled/qc-helper/docs/features/headless.md +2 -2
  11. package/bundled/qc-helper/docs/features/hooks.md +19 -19
  12. package/bundled/qc-helper/docs/features/output-styles.md +35 -2
  13. package/bundled/qc-helper/docs/qwen-serve.md +67 -52
  14. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +3 -1
  15. package/bundled/qc-helper/docs/support/troubleshooting.md +3 -3
  16. package/bundled/review/SKILL.md +45 -41
  17. package/bundled/review/references/aone.md +1 -1
  18. package/bundled/review/references/posting.md +1 -1
  19. package/bundled/workflow-creator/SKILL.md +48 -0
  20. package/bundled/zvec-grep-install/SKILL.md +57 -0
  21. package/chunks/MaxSizedBox-5ARLO5PR.js +116 -0
  22. package/chunks/{StandaloneSessionPicker-QUMO4LLQ.js → StandaloneSessionPicker-T6B322CB.js} +87 -82
  23. package/chunks/{acp-startup-profiler-M4X5F3VK.js → acp-startup-profiler-6ULXXQMS.js} +2 -2
  24. package/chunks/{acpAgent-2GTFCIEP.js → acpAgent-WTDEY5KD.js} +1041 -364
  25. package/chunks/{agent-XKF5SZWU.js → agent-NXPUXEVZ.js} +46 -43
  26. package/chunks/agent-headless-QQZTWOKO.js +88 -0
  27. package/chunks/{anthropicContentGenerator-L76MR5OR.js → anthropicContentGenerator-6XDHXIII.js} +16 -9
  28. package/chunks/{artifact-tool-MYCL2QCS.js → artifact-tool-DFVVJXL2.js} +3 -3
  29. package/chunks/askUserQuestion-GF7VQ44M.js +14 -0
  30. package/chunks/bridge-OHY5OGOZ.js +123 -0
  31. package/chunks/{ca-BNU7YNDE.js → ca-KC2AISNS.js} +1 -0
  32. package/chunks/{channel-management-service-4MTCEGJB.js → channel-management-service-ZDDG3G5S.js} +4 -4
  33. package/chunks/channel-settings-store-7BJAS2SU.js +126 -0
  34. package/chunks/{channel-worker-group-47F4ISUZ.js → channel-worker-group-2ISMRENV.js} +6 -6
  35. package/chunks/{channel-worker-manager-I5Y44GYR.js → channel-worker-manager-VSRPVPRH.js} +6 -6
  36. package/chunks/{channel-worker-supervisor-6VCLUXFE.js → channel-worker-supervisor-SRJBK72Z.js} +4 -4
  37. package/chunks/{chunk-5RTTI4GE.js → chunk-2RYWGYB3.js} +4 -3
  38. package/chunks/{chunk-FUO5V5KI.js → chunk-2UWQX4FP.js} +2 -2
  39. package/chunks/{chunk-L26ONV2Y.js → chunk-2WGJG2KW.js} +9 -8
  40. package/chunks/{chunk-JHN7UIDW.js → chunk-2XRE4KE4.js} +1 -1
  41. package/chunks/chunk-32CM56LO.js +20 -0
  42. package/chunks/{chunk-SI7WDR3U.js → chunk-32YDNYXP.js} +129 -14
  43. package/chunks/{chunk-ZHO2CW6D.js → chunk-3CZ2BQV6.js} +1 -1
  44. package/chunks/{chunk-FD5SJOWT.js → chunk-3K456UJF.js} +9 -4
  45. package/chunks/{chunk-5M6IDOMF.js → chunk-3K65MUKD.js} +105 -0
  46. package/chunks/chunk-3UMWOKJC.js +78 -0
  47. package/chunks/{chunk-UM2FFKXN.js → chunk-43JNQAHO.js} +3 -3
  48. package/chunks/{chunk-KM3XVTMO.js → chunk-43NOB5NM.js} +112 -12
  49. package/chunks/{chunk-G5PBOQWI.js → chunk-47BZVBTE.js} +3 -3
  50. package/chunks/{chunk-32LU3APX.js → chunk-4F2QRVW6.js} +1 -1
  51. package/chunks/{chunk-KMU3ZHH4.js → chunk-4HC4DYKN.js} +2 -2
  52. package/chunks/{chunk-22UH7VTP.js → chunk-4HOEU2OR.js} +1 -1
  53. package/chunks/{chunk-NXKOVOM5.js → chunk-4IQKBLTQ.js} +15 -9
  54. package/chunks/{chunk-M4KFODIP.js → chunk-4JAGXZR3.js} +1 -1
  55. package/chunks/{chunk-PDAKFU7M.js → chunk-4LIPOIXS.js} +1 -1
  56. package/chunks/{chunk-LEPCWS5A.js → chunk-4MCY33Y2.js} +3 -3
  57. package/chunks/{chunk-U6D2PPMN.js → chunk-4VUVBN3Y.js} +1 -1
  58. package/chunks/{chunk-37JFWFCD.js → chunk-4VZCORNT.js} +1 -1
  59. package/chunks/{daemon-RKDGBFLK.js → chunk-537SQ2AI.js} +2216 -1721
  60. package/chunks/{chunk-VNAYZAFX.js → chunk-54TF2ZIQ.js} +4 -4
  61. package/chunks/{chunk-OKTNXDVO.js → chunk-565U2ANU.js} +1 -1
  62. package/chunks/chunk-5ETULJLP.js +74 -0
  63. package/chunks/{chunk-ADYN7P2Y.js → chunk-5JLQWQK6.js} +8 -6
  64. package/chunks/{chunk-BFY33IB4.js → chunk-5MTARK4Y.js} +7 -7
  65. package/chunks/{chunk-BJXCYUGM.js → chunk-5YY5MZT6.js} +1 -1
  66. package/chunks/{chunk-4PSDSCW3.js → chunk-64MQTIX7.js} +3 -3
  67. package/chunks/{chunk-54C6PIGT.js → chunk-6UIACMGH.js} +3 -3
  68. package/chunks/{chunk-ALUYNJPM.js → chunk-7BZS4ZDV.js} +1362 -1140
  69. package/chunks/{chunk-LB3WQQJK.js → chunk-7OCIQNKX.js} +2 -2
  70. package/chunks/{chunk-QKDNS6FU.js → chunk-7VEYUF3N.js} +13 -2
  71. package/chunks/{chunk-AZJLY2XZ.js → chunk-AHBLRVD5.js} +5 -5
  72. package/chunks/{chunk-VWTSRH6C.js → chunk-AQ5NAGWI.js} +89 -17
  73. package/chunks/{chunk-MOF6VZN2.js → chunk-AXPOOQAW.js} +2 -2
  74. package/chunks/{chunk-CVX63TFJ.js → chunk-B44JBZBB.js} +3 -3
  75. package/chunks/{chunk-AI35S34R.js → chunk-B54PFQS5.js} +3 -3
  76. package/chunks/{chunk-373DQUVA.js → chunk-BF3RUIVP.js} +5 -4
  77. package/chunks/{chunk-RJUVTJEZ.js → chunk-BKNY7PDI.js} +1 -1
  78. package/chunks/{chunk-UKYXYWI2.js → chunk-BUQN5LTI.js} +2 -2
  79. package/chunks/{chunk-O5CD7T4T.js → chunk-BW4333PP.js} +0 -95
  80. package/chunks/{chunk-UPFRILIL.js → chunk-CWNC7M73.js} +2 -2
  81. package/chunks/{chunk-3L724BJ5.js → chunk-CZACBHAW.js} +6 -6
  82. package/chunks/{chunk-EBDGRBZX.js → chunk-D4CU6DKR.js} +6 -6
  83. package/chunks/{chunk-G7HBEEX7.js → chunk-D6PIMKY3.js} +9 -9
  84. package/chunks/{chunk-ENYUKMFK.js → chunk-DJXSOEFB.js} +1 -1
  85. package/chunks/{chunk-C2VWOXHS.js → chunk-DNPHKA72.js} +8 -8
  86. package/chunks/{chunk-UUASLXHW.js → chunk-E4L5BM2B.js} +5 -5
  87. package/chunks/{chunk-HT5S5TRQ.js → chunk-EDIDYZBT.js} +4 -11
  88. package/chunks/{chunk-5H5S4UY5.js → chunk-EFT7OMDN.js} +1 -1
  89. package/chunks/{chunk-GB4UKWY5.js → chunk-EJNYBDYC.js} +2 -2
  90. package/chunks/{chunk-NQ4L2CMD.js → chunk-ER273QE6.js} +53 -9
  91. package/chunks/{chunk-RKW36UWC.js → chunk-EWNKP4V4.js} +1 -1
  92. package/chunks/{chunk-UJ4DUYIH.js → chunk-F53KKZUD.js} +2 -2
  93. package/chunks/{chunk-EFTPIZIC.js → chunk-FDOGGKAA.js} +21 -0
  94. package/chunks/{chunk-AQ37AY7B.js → chunk-FKJM6JKY.js} +5 -0
  95. package/chunks/{chunk-KEVYJSI4.js → chunk-G34YLYCS.js} +13 -13
  96. package/chunks/{chunk-P6UIF2OW.js → chunk-GCFZ2LAX.js} +195 -10
  97. package/chunks/{chunk-VGHZT6JR.js → chunk-GELRJXE2.js} +1 -1
  98. package/chunks/{chunk-ZDFQGHZH.js → chunk-GMNLYQOS.js} +1 -1
  99. package/chunks/{chunk-KOGW3YWJ.js → chunk-GVVCLL2P.js} +12 -12
  100. package/chunks/{chunk-OSSTATJF.js → chunk-GXZHYPHZ.js} +428 -30
  101. package/chunks/{chunk-IPATA3T2.js → chunk-GZWW2QWR.js} +2 -2
  102. package/chunks/{chunk-C4TIXFDZ.js → chunk-H3UDNQLO.js} +6 -4
  103. package/chunks/chunk-HD7O6WLV.js +18 -0
  104. package/chunks/{chunk-4UANMABT.js → chunk-HFTB354P.js} +259 -49
  105. package/chunks/{chunk-LOBDDFYK.js → chunk-HJ34U5J4.js} +5 -5
  106. package/chunks/{chunk-M4LBBSVP.js → chunk-HY3DXYZK.js} +2 -2
  107. package/chunks/{chunk-4F7GQGXB.js → chunk-I72PHOKL.js} +1451 -415
  108. package/chunks/{chunk-YPWZTR7F.js → chunk-IFD3BTEA.js} +3 -3
  109. package/chunks/{chunk-EWRW2WQC.js → chunk-IKLFS6SC.js} +5 -5
  110. package/chunks/{chunk-VPSIC437.js → chunk-IQN2CCIE.js} +66 -6
  111. package/chunks/{chunk-F7NF2IOE.js → chunk-IXSGOSEG.js} +7 -7
  112. package/chunks/{chunk-ODZF64DM.js → chunk-IZ2U57NY.js} +1 -1
  113. package/chunks/{chunk-4BGDFKQE.js → chunk-J3O5I5ZD.js} +24 -7
  114. package/chunks/{chunk-DYTW3QVG.js → chunk-J6MB5ZHZ.js} +1 -1
  115. package/chunks/{chunk-HJBHMANB.js → chunk-JBTZUFR4.js} +11 -8
  116. package/chunks/{chunk-SRF4KTAG.js → chunk-JLWFGYXU.js} +4 -4
  117. package/chunks/{chunk-SX2QIMJV.js → chunk-JOPC3FND.js} +5 -5
  118. package/chunks/chunk-JPEAQJNS.js +2142 -0
  119. package/chunks/{chunk-ZTPGUFQV.js → chunk-JRYL3T2O.js} +24 -5
  120. package/chunks/{chunk-GXUTFQXK.js → chunk-KE3Q4JMY.js} +4 -4
  121. package/chunks/{chunk-LKODFJRD.js → chunk-KFFCDLKV.js} +1 -1
  122. package/chunks/{chunk-4M24B5J5.js → chunk-KJJPJYHI.js} +79 -30
  123. package/chunks/chunk-KK2GZGBK.js +21080 -0
  124. package/chunks/{chunk-64QH2UC6.js → chunk-KPXRFTT7.js} +12 -1
  125. package/chunks/{chunk-JZWOCUZ3.js → chunk-L4R7BCVV.js} +1 -1
  126. package/chunks/{chunk-IG4W5SJR.js → chunk-LDS57224.js} +3 -3
  127. package/chunks/{chunk-UAKRDON5.js → chunk-LK7S2D6V.js} +4 -4
  128. package/chunks/{chunk-4HVH57J3.js → chunk-LMJQSPWB.js} +21 -6
  129. package/chunks/{chunk-ANVG3BVV.js → chunk-LNYV4GXX.js} +13 -3
  130. package/chunks/{chunk-RM4WT2XB.js → chunk-LPBQODMR.js} +4 -4
  131. package/chunks/{chunk-XEAAO654.js → chunk-M3JGHRMQ.js} +1 -1
  132. package/chunks/{chunk-AMDSOFFV.js → chunk-MATEIJZF.js} +1 -0
  133. package/chunks/{chunk-LHBNR6EU.js → chunk-MNEYUNOE.js} +2 -2
  134. package/chunks/{chunk-I4NRYS6A.js → chunk-MUZCSTOO.js} +11 -11
  135. package/chunks/{chunk-I5N4EAS6.js → chunk-MWHY26G3.js} +1 -1
  136. package/chunks/{chunk-7XL4WRXM.js → chunk-N6VQ37ZZ.js} +2 -2
  137. package/chunks/{chunk-AHYTURFB.js → chunk-N7EYO2E7.js} +1 -1
  138. package/chunks/{chunk-LU77UT4D.js → chunk-N7VURC4O.js} +24 -26
  139. package/chunks/{chunk-DSX7KQPM.js → chunk-NAKALAL4.js} +227 -29
  140. package/chunks/{chunk-QQD2GART.js → chunk-NGX4NUNP.js} +3 -3
  141. package/chunks/{chunk-2M3EWQNG.js → chunk-NUQFUXOG.js} +17 -1
  142. package/chunks/{chunk-E4JNFXNI.js → chunk-NXWYCSPL.js} +3 -3
  143. package/chunks/{chunk-6A2D4QSO.js → chunk-O2GG7H4C.js} +4 -4
  144. package/chunks/{chunk-ZKFTS3OV.js → chunk-O45WBTNS.js} +6 -6
  145. package/chunks/{chunk-KGV55H53.js → chunk-OECNP26L.js} +1 -1
  146. package/chunks/{chunk-S6H3ELPG.js → chunk-P4RUUG64.js} +1 -1
  147. package/chunks/{chunk-GH2S4GD5.js → chunk-P5LDR7FI.js} +21 -68
  148. package/chunks/{chunk-RN3YGDCA.js → chunk-P6LATTDG.js} +4 -4
  149. package/chunks/{chunk-WP4AX3XD.js → chunk-PTFFWTTO.js} +3 -3
  150. package/chunks/{chunk-DTVQSSNM.js → chunk-PZUOHCWI.js} +3 -3
  151. package/chunks/{chunk-VYIUNFEA.js → chunk-PZV2FASB.js} +3 -3
  152. package/chunks/{chunk-XLXAZLDR.js → chunk-Q2SAQTEJ.js} +1 -1
  153. package/chunks/{chunk-47RYEQW5.js → chunk-QMFOYPGV.js} +2 -2
  154. package/chunks/{chunk-SULZPKTA.js → chunk-QSC5YOEC.js} +3 -3
  155. package/chunks/{chunk-F33GFWPR.js → chunk-QWZOOIR3.js} +58 -18
  156. package/chunks/{chunk-H43PSPYS.js → chunk-R355CUNQ.js} +4 -4
  157. package/chunks/{chunk-DQCKVAF5.js → chunk-RDKXZ2LS.js} +3 -3
  158. package/chunks/{chunk-7JMGTOH7.js → chunk-RPBMP6BN.js} +21 -1
  159. package/chunks/{chunk-5Q5RC2WE.js → chunk-RVNS7NWN.js} +2 -2
  160. package/chunks/{chunk-7RB56BRJ.js → chunk-SAZS4IWW.js} +6 -4
  161. package/chunks/{chunk-5EIOJGCR.js → chunk-SFMCYMVF.js} +4 -4
  162. package/chunks/{chunk-TMKTOTMQ.js → chunk-SN5FV4FY.js} +5 -5
  163. package/chunks/{chunk-QJGYU5PG.js → chunk-TDP7UULF.js} +1 -1
  164. package/chunks/{chunk-EIJT2PQ6.js → chunk-TIGXX4PA.js} +2 -2
  165. package/chunks/{chunk-PCRBLMIN.js → chunk-TMWB67LS.js} +21 -3
  166. package/chunks/{chunk-JUARRUMA.js → chunk-UEZOXZNI.js} +1358 -646
  167. package/chunks/{chunk-KFN2IZYR.js → chunk-UKADFFL2.js} +3 -3
  168. package/chunks/{chunk-TJYRTS4S.js → chunk-UKKYOIVT.js} +2 -2
  169. package/chunks/{chunk-EVFDRBUM.js → chunk-URSCX7S7.js} +12 -7
  170. package/chunks/{chunk-U4DJ5XB3.js → chunk-VDXYYVCD.js} +269 -70
  171. package/chunks/{chunk-4LIFGNI4.js → chunk-VEFRT7NX.js} +1 -1
  172. package/chunks/chunk-VFFQAOPR.js +18 -0
  173. package/chunks/{chunk-3AKCBZVW.js → chunk-VU7O7CGQ.js} +3 -3
  174. package/chunks/{chunk-RAFQIHN2.js → chunk-VUSSAGKI.js} +76 -5
  175. package/chunks/{chunk-TQHPVKO6.js → chunk-VY6UVU7G.js} +6 -6
  176. package/chunks/{chunk-S2T7H5MI.js → chunk-W4LL5RZO.js} +1 -1
  177. package/chunks/{chunk-ZGCKTAL5.js → chunk-WEXA2DNG.js} +2 -0
  178. package/chunks/{chunk-NVVJTUSL.js → chunk-WR3SH3EY.js} +136 -85
  179. package/chunks/{chunk-JR42V4UY.js → chunk-WTW36TJ3.js} +1 -1
  180. package/chunks/{chunk-TSZSGQ3N.js → chunk-WXC6OAWD.js} +1 -1
  181. package/chunks/{chunk-ZVP4PWBU.js → chunk-X35VIWWJ.js} +1 -1
  182. package/chunks/{chunk-KHP66DFN.js → chunk-XFFRI3WM.js} +1 -1
  183. package/chunks/{chunk-EIY7SUPZ.js → chunk-XHGGYCTA.js} +1 -1
  184. package/chunks/{chunk-BA4WJC4L.js → chunk-XOVVCGZX.js} +1 -1
  185. package/chunks/{chunk-VBWD6C27.js → chunk-XUSOYE2I.js} +1 -1
  186. package/chunks/{chunk-NUHOLAQ6.js → chunk-XWJFDJZK.js} +1 -1
  187. package/chunks/{chunk-65HWLGA7.js → chunk-XY3USGFE.js} +3 -3
  188. package/chunks/{chunk-STCVJXQB.js → chunk-Y3ZKI4RQ.js} +56 -26
  189. package/chunks/{chunk-QAK5475D.js → chunk-Y53DG2HA.js} +1 -1
  190. package/chunks/{chunk-3JQZVCBI.js → chunk-YCDL2SAS.js} +2 -2
  191. package/chunks/{chunk-NSUKQ4DN.js → chunk-YHDGABDC.js} +3 -3
  192. package/chunks/{chunk-FRICLXCZ.js → chunk-Z6WZPXQH.js} +3 -3
  193. package/chunks/{chunk-EAHOJF6V.js → chunk-ZAFYHRVY.js} +12 -0
  194. package/chunks/{chunk-MP6YZ4RK.js → chunk-ZAZ3NFL6.js} +852 -309
  195. package/chunks/{chunk-7TBU7PU2.js → chunk-ZSTCM3MX.js} +1 -1
  196. package/chunks/{chunk-NRL5CUZT.js → chunk-ZTAVGFKA.js} +1 -1
  197. package/chunks/config-utils-QXDOTXEQ.js +119 -0
  198. package/chunks/contextCommand-RN4KARWC.js +112 -0
  199. package/chunks/{core-runtime-B4UKKIAQ.js → core-runtime-NAZCOKHB.js} +63 -58
  200. package/chunks/{create-sub-session-NJ24B4US.js → create-sub-session-BCSM4WKB.js} +61 -56
  201. package/chunks/{create-sub-session-LUPWEUHR.js → create-sub-session-BQ3SE4TX.js} +3 -3
  202. package/chunks/{cron-create-CRSPET3H.js → cron-create-D6HQ7I7I.js} +4 -4
  203. package/chunks/{cron-delete-DB77SZTU.js → cron-delete-KK3D2SQV.js} +4 -4
  204. package/chunks/{cron-list-U2JNYWV6.js → cron-list-VBF3IZMF.js} +4 -4
  205. package/chunks/daemon-LCUELM6E.js +191 -0
  206. package/chunks/{daemon-git-worktree-guard-O2HPOBAB.js → daemon-git-worktree-guard-3K5CAU36.js} +62 -57
  207. package/chunks/daemon-status-provider-4X3ZZQTZ.js +122 -0
  208. package/chunks/daemon-trust-policy-R45CFUJA.js +118 -0
  209. package/chunks/{daemon-trust-policy-monitor-JL7F4Y4Q.js → daemon-trust-policy-monitor-DSSFCO3K.js} +69 -64
  210. package/chunks/{de-T4BLOKEC.js → de-UU2YTO37.js} +1 -0
  211. package/chunks/deferred-core-runtime-UO2M6WYI.js +120 -0
  212. package/chunks/{display-image-73C7XNRK.js → display-image-EVVTBVYE.js} +6 -6
  213. package/chunks/{dist-EDHQIBYD.js → dist-3T5MDUHP.js} +62 -20
  214. package/chunks/{dist-ZCJLKQSP.js → dist-AFH3BMZZ.js} +18 -10
  215. package/chunks/{dist-LXFYIJNG.js → dist-MK5PPBRF.js} +40 -9
  216. package/chunks/{dist-GT64AAUR.js → dist-PH5RSTEA.js} +56 -20
  217. package/chunks/{dist-62OZ7QXB.js → dist-QUU7TVE3.js} +35 -12
  218. package/chunks/{dist-JVXT4VUJ.js → dist-R5Y34V6T.js} +11 -2
  219. package/chunks/{dist-L6URO6CK.js → dist-SB2XRXZA.js} +5 -1
  220. package/chunks/{dist-QAF5DO3Y.js → dist-SIHF5MU2.js} +326 -131
  221. package/chunks/{dist-PDGNRVPY.js → dist-UVHW2U56.js} +20 -1
  222. package/chunks/earlyInputCapture-BXP7V2P3.js +22 -0
  223. package/chunks/{edit-SUGXY63Y.js → edit-VNBCTRWP.js} +48 -44
  224. package/chunks/{en-2RATMNX7.js → en-JMR535HP.js} +3 -1
  225. package/chunks/{enter-worktree-B6USKSIK.js → enter-worktree-CEVK7MQ2.js} +7 -7
  226. package/chunks/{enterPlanMode-MDX4RVVL.js → enterPlanMode-4KMZMUIA.js} +48 -45
  227. package/chunks/environment-S2HYQDON.js +135 -0
  228. package/chunks/errors-DAAN5TL7.js +119 -0
  229. package/chunks/{exit-worktree-DLQ73SJH.js → exit-worktree-D3YE6MUN.js} +7 -7
  230. package/chunks/exitPlanMode-HR36HG3D.js +86 -0
  231. package/chunks/{fast-path-Y73R42LV.js → fast-path-4IWSW3UV.js} +3 -3
  232. package/chunks/{fast-path-settings-MFUR3IWK.js → fast-path-settings-ISEJPRYE.js} +6 -4
  233. package/chunks/{fr-BGHGYX6A.js → fr-HKNWVXRJ.js} +1 -0
  234. package/chunks/{glob-DMGH7EZN.js → glob-IZYB2XH2.js} +46 -43
  235. package/chunks/{goal-tools-3RF3PXCL.js → goal-tools-VGUPKQDJ.js} +46 -43
  236. package/chunks/{grep-AJVLCVXC.js → grep-OUVLNXG7.js} +9 -8
  237. package/chunks/handleAutoUpdate-D56FMDTW.js +115 -0
  238. package/chunks/i18n-BKE5WO6T.js +130 -0
  239. package/chunks/{image-gen-VOIDOHOB.js → image-gen-SHVQ3XID.js} +8 -8
  240. package/chunks/initializer-MS4SGEHF.js +119 -0
  241. package/chunks/installationInfo-542MGC4S.js +113 -0
  242. package/chunks/{ja-G3FTD5XE.js → ja-GJS5RZGU.js} +1 -0
  243. package/chunks/{keychain-token-storage-REZVMJA6.js → keychain-token-storage-NQ5XWIPX.js} +2 -2
  244. package/chunks/list-H6XTKUWL.js +122 -0
  245. package/chunks/{list-agents-SBMONIUK.js → list-agents-ULYBGJXC.js} +6 -6
  246. package/chunks/{llm-K26SUDVK.js → llm-3NUC4EJY.js} +132 -113
  247. package/chunks/{llm-content-generator-TT6EAUD4.js → llm-content-generator-R4NL3OQN.js} +40 -13
  248. package/chunks/loadedSettingsAdapter-3XLKYDVT.js +116 -0
  249. package/chunks/{loggingContentGenerator-EYQBA4M4.js → loggingContentGenerator-ZYSWVNEO.js} +55 -52
  250. package/chunks/{loop-wakeup-QA6SHCZT.js → loop-wakeup-B27BEYRL.js} +5 -5
  251. package/chunks/{lowlight-J2OZNPCA.js → lowlight-BTE423KL.js} +3 -6
  252. package/chunks/{ls-HEJNCEYO.js → ls-3IIMMVKF.js} +5 -4
  253. package/chunks/{lsp-WOQKNZP6.js → lsp-VJAT7XKS.js} +2 -2
  254. package/chunks/{managed-npm-update-HIJTODQT.js → managed-npm-update-L2I53ZAI.js} +62 -57
  255. package/chunks/mcp-4PIXQASW.js +116 -0
  256. package/chunks/{monitor-DKNZQAB2.js → monitor-O2YQTOZZ.js} +50 -46
  257. package/chunks/{node-UETAYMMO.js → node-ISQAFKIS.js} +2 -2
  258. package/chunks/nonInteractiveCli-LV7CDBA2.js +198 -0
  259. package/chunks/{notebook-edit-MGHTRL2D.js → notebook-edit-4RE2ALH4.js} +48 -44
  260. package/chunks/{openaiContentGenerator-ZJIEQ3ZJ.js → openaiContentGenerator-7ND7K5CP.js} +30 -25
  261. package/chunks/pidfile-UFTLQ7NP.js +117 -0
  262. package/chunks/{processUtils-UY3SAJJZ.js → processUtils-3XBB4FYV.js} +2 -2
  263. package/chunks/prompt-terminal-ledger-2QASOGMM.js +111 -0
  264. package/chunks/{pt-D73IFYT7.js → pt-FXMYXEUV.js} +1 -0
  265. package/chunks/{qwenContentGenerator-VI4KATRY.js → qwenContentGenerator-AELTUTH6.js} +52 -49
  266. package/chunks/{qwenOAuth2-7AOCKSOQ.js → qwenOAuth2-BS5D2LYV.js} +7 -7
  267. package/chunks/{read-file-P7F4P7LV.js → read-file-PDWHZPHX.js} +13 -11
  268. package/chunks/{read-mcp-resource-GLAGB6R7.js → read-mcp-resource-YXJZ75UB.js} +2 -2
  269. package/chunks/{record-artifact-SWVR7NSU.js → record-artifact-WJDOV6XU.js} +4 -4
  270. package/chunks/{report-findings-AL5YW3KI.js → report-findings-Q4UACKWR.js} +5 -5
  271. package/chunks/{request-shutdown-5YK4IZ54.js → request-shutdown-2YZ3E3GH.js} +8 -8
  272. package/chunks/resumeHistoryUtils-QRXZEEBA.js +124 -0
  273. package/chunks/ripGrep-KSOOLE6H.js +39 -0
  274. package/chunks/{ru-QMISLKRH.js → ru-RMHURE5U.js} +1 -0
  275. package/chunks/{run-qwen-serve-OGTEEUR2.js → run-qwen-serve-RTAREPT6.js} +84 -70
  276. package/chunks/runtime-ESFSCJRZ.js +154 -0
  277. package/chunks/scheduled-tasks-6ZHRNBH6.js +133 -0
  278. package/chunks/{scheduler-73YXGUGW.js → scheduler-DQI6KV7T.js} +63 -58
  279. package/chunks/{sdk-exporters-http-3JO5TJNU.js → sdk-exporters-http-7R2ARBPV.js} +2 -2
  280. package/chunks/{sdk-impl-HZAUUTHJ.js → sdk-impl-YOLO7LV4.js} +4 -4
  281. package/chunks/{send-message-JC7NJTY6.js → send-message-PQCVSVMN.js} +24 -24
  282. package/chunks/serve-FY7ZEW52.js +124 -0
  283. package/chunks/{server-AOYZVVOM.js → server-KNDY6K5F.js} +1594 -273
  284. package/chunks/{session-UAWFNFGI.js → session-MCEPXAZP.js} +113 -105
  285. package/chunks/session-attachments-root-OLNAE6GF.js +109 -0
  286. package/chunks/{session-pr-refresh-CT2INROL.js → session-pr-refresh-HKJHQQQK.js} +67 -62
  287. package/chunks/{settings-BHRGDASJ.js → settings-VXO4WBMK.js} +68 -63
  288. package/chunks/shell-U263OTES.js +96 -0
  289. package/chunks/{skill-ZGBKNCHQ.js → skill-SDODGBKL.js} +19 -17
  290. package/chunks/skill-settings-YEIA22QJ.js +124 -0
  291. package/chunks/spawnChannel-4WJZVFPP.js +117 -0
  292. package/chunks/standalone-update-ZWVQUO64.js +124 -0
  293. package/chunks/{start-opentui-ui-FZ4USOU7.js → start-opentui-ui-BFYCJQRZ.js} +1199 -190
  294. package/chunks/{startInteractiveUI-E2WQJUOA.js → startInteractiveUI-JYAFCMHL.js} +2977 -2319
  295. package/chunks/{syntheticOutput-HJNZSEHN.js → syntheticOutput-AUAJBNXR.js} +3 -3
  296. package/chunks/{task-create-6RSD54S5.js → task-create-LD5ISM3E.js} +12 -12
  297. package/chunks/{task-list-IQSACPOM.js → task-list-YISJ4RJA.js} +5 -5
  298. package/chunks/{task-stop-HE2LRQNW.js → task-stop-65ZOVATJ.js} +2 -2
  299. package/chunks/{task-update-XAJ2NYOA.js → task-update-AAN4ZVEY.js} +15 -15
  300. package/chunks/{team-create-SOKMYSQU.js → team-create-KU7MABNO.js} +47 -44
  301. package/chunks/{team-delete-NGNNKGMG.js → team-delete-XFRRTJTT.js} +5 -5
  302. package/chunks/{team-plan-approval-U7ZWXYAY.js → team-plan-approval-DPB377A3.js} +46 -43
  303. package/chunks/terminal-image-renderer-WGWRENOF.js +124 -0
  304. package/chunks/theme-manager-GBUFULSO.js +108 -0
  305. package/chunks/{todoWrite-5UTVUXHA.js → todoWrite-G7NT4IFP.js} +5 -5
  306. package/chunks/{tool-search-IAI2RVWT.js → tool-search-6YUXHBPT.js} +19 -17
  307. package/chunks/total-session-admission-54R2JQ5L.js +118 -0
  308. package/chunks/trustedFolders-KAJIDJTH.js +128 -0
  309. package/chunks/{update-relaunch-5RWKZAL3.js → update-relaunch-XM4IWBFD.js} +5 -5
  310. package/chunks/updateCheck-W6UZFURI.js +124 -0
  311. package/chunks/useAutoAcceptIndicator-LAWYHY3U.js +126 -0
  312. package/chunks/{validateNonInterActiveAuth-QPFEKATS.js → validateNonInterActiveAuth-7WCKHRN2.js} +109 -101
  313. package/chunks/{version-JKNG7YDH.js → version-3ZU43RJ6.js} +1 -1
  314. package/chunks/{web-fetch-X3AHIIHW.js → web-fetch-QHI2SQL4.js} +16 -14
  315. package/chunks/{web-search-K2FMOGS5.js → web-search-3KZZKWNY.js} +9 -8
  316. package/chunks/{workflow-TOLPAK5G.js → workflow-HRW7Y2X4.js} +330 -1667
  317. package/chunks/workspace-providers-status-KTGCWCPC.js +120 -0
  318. package/chunks/{workspace-registration-store-KQWVVW4Y.js → workspace-registration-store-LHLPPWNE.js} +1 -1
  319. package/chunks/workspace-registry-X34MLN52.js +127 -0
  320. package/chunks/workspace-runtime-coordinator-U4PW4P7K.js +128 -0
  321. package/chunks/workspace-service-KD7BCGYL.js +132 -0
  322. package/chunks/workspace-skills-status-YJGO6Y3T.js +119 -0
  323. package/chunks/{workspace-trust-reconciler-IBDFQBQS.js → workspace-trust-reconciler-EUYHISCH.js} +74 -69
  324. package/chunks/write-file-EBSB34NJ.js +91 -0
  325. package/chunks/{zh-25DF7OGK.js → zh-DVFYHRK5.js} +3 -1
  326. package/chunks/{zh-TW-5EDMZVGK.js → zh-TW-W2GNP2IU.js} +3 -1
  327. package/chunks/{zoom-image-IFXSN74N.js → zoom-image-UJ5VKWKP.js} +13 -11
  328. package/cli.js +13 -13
  329. package/export-transcript-document.js +617 -0
  330. package/locales/ca.js +1 -0
  331. package/locales/de.js +1 -0
  332. package/locales/en.js +5 -2
  333. package/locales/fr.js +1 -0
  334. package/locales/ja.js +1 -0
  335. package/locales/pt.js +1 -0
  336. package/locales/ru.js +1 -0
  337. package/locales/zh-TW.js +5 -2
  338. package/locales/zh.js +5 -2
  339. package/package.json +5 -4
  340. package/web-shell/assets/{abnfDiagram-VCTEODGH-Cxf7xE_Z.js → abnfDiagram-VCTEODGH-Dur--luQ.js} +1 -1
  341. package/web-shell/assets/{arc-ESi1eNkE.js → arc-tYLobxFi.js} +1 -1
  342. package/web-shell/assets/{architectureDiagram-5GKGNRK7-D9l7-bDo.js → architectureDiagram-5GKGNRK7-IG6aXD03.js} +1 -1
  343. package/web-shell/assets/{blockDiagram-NRAW4CY4-Bc8DEasw.js → blockDiagram-NRAW4CY4-C6eBSkfA.js} +1 -1
  344. package/web-shell/assets/{c4Diagram-UCG6FXSJ-Dimb2Hmh.js → c4Diagram-UCG6FXSJ-BrX3HJqB.js} +1 -1
  345. package/web-shell/assets/channel-uEkvKckd.js +1 -0
  346. package/web-shell/assets/{chunk-2Q5K7J3B-jVDmOpAQ.js → chunk-2Q5K7J3B-B3fcJ8ee.js} +1 -1
  347. package/web-shell/assets/{chunk-5VM5RSS4-DbG_SwdB.js → chunk-5VM5RSS4-CeC90yKM.js} +1 -1
  348. package/web-shell/assets/{chunk-F27PBJKO-QEc4cY1v.js → chunk-F27PBJKO-CW44RVki.js} +1 -1
  349. package/web-shell/assets/{chunk-G27WJ6UU-iJ36lQ3X.js → chunk-G27WJ6UU-D1PAMukD.js} +1 -1
  350. package/web-shell/assets/{chunk-JWPE2WC7-DuArnVtF.js → chunk-JWPE2WC7-Dt3Y2Fvx.js} +1 -1
  351. package/web-shell/assets/{chunk-LCL6LL3I-DxOf1zwL.js → chunk-LCL6LL3I-CZHw2lLI.js} +1 -1
  352. package/web-shell/assets/{chunk-POPQ4Y6H-lVLu9Ild.js → chunk-POPQ4Y6H-ysNAdTGx.js} +1 -1
  353. package/web-shell/assets/{chunk-SVP7TREG-C6XYlIer.js → chunk-SVP7TREG-BdNXW6YQ.js} +1 -1
  354. package/web-shell/assets/{chunk-XXDRQBXY-CiG2j2Ji.js → chunk-XXDRQBXY-DgqQ9UA8.js} +1 -1
  355. package/web-shell/assets/classDiagram-DTDB5LWJ-DuPsnhWS.js +1 -0
  356. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DuPsnhWS.js +1 -0
  357. package/web-shell/assets/{cose-bilkent-JH36ORCC-DGVHMMVm.js → cose-bilkent-JH36ORCC-BILImXzJ.js} +1 -1
  358. package/web-shell/assets/{cynefin-OW5HDTMX-D6cgpCnH.js → cynefin-OW5HDTMX-DR88Pund.js} +1 -1
  359. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-BKv4Z-UX.js → cynefinDiagram-5FMLGOSQ-BYFbfkA6.js} +1 -1
  360. package/web-shell/assets/{dagre-3AP2YEHR-B4ABMIG-.js → dagre-3AP2YEHR-rfpyc6sX.js} +1 -1
  361. package/web-shell/assets/{diagram-S7CK7UJ4-DgCkp_Lm.js → diagram-S7CK7UJ4-BJxLmEwH.js} +1 -1
  362. package/web-shell/assets/{diagram-UQ7AKVKN-FG0FNokz.js → diagram-UQ7AKVKN-H34xm7k3.js} +1 -1
  363. package/web-shell/assets/{diagram-VSXAHHWV-JgkP9qg-.js → diagram-VSXAHHWV-HYxhwNLx.js} +1 -1
  364. package/web-shell/assets/{diagram-VX7I27RA-ADh2x83l.js → diagram-VX7I27RA-BJazso8F.js} +1 -1
  365. package/web-shell/assets/{diagram-Z3DM3KII-yXqoYF1J.js → diagram-Z3DM3KII-Clje1aNy.js} +1 -1
  366. package/web-shell/assets/{ebnfDiagram-PWID7BFC-Duk83Ek_.js → ebnfDiagram-PWID7BFC-M93YBkFh.js} +1 -1
  367. package/web-shell/assets/{erDiagram-SSCWMZ5O-DMdvxySG.js → erDiagram-SSCWMZ5O-DY8XzSHU.js} +1 -1
  368. package/web-shell/assets/{flowDiagram-A5DVABFB-DHjVgSji.js → flowDiagram-A5DVABFB-CE6Aylcq.js} +1 -1
  369. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DMM9DkCE.js → ganttDiagram-EL5Y4UJY-DI-5LL22.js} +1 -1
  370. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-t_ug9vO8.js → gitGraphDiagram-WWUBYQGX-C7BZWElk.js} +1 -1
  371. package/web-shell/assets/index-CVyqwW7y.js +2142 -0
  372. package/web-shell/assets/{index-zqvnpGHv.js → index-DclFHns9.js} +1 -1
  373. package/web-shell/assets/index-FO7JXPnH.css +36 -0
  374. package/web-shell/assets/{infoDiagram-RXCK75RN-eT1fANNm.js → infoDiagram-RXCK75RN-CGUSy4Pc.js} +1 -1
  375. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-k3evzZNn.js → ishikawaDiagram-5VMMS53U-B5BVks9q.js} +1 -1
  376. package/web-shell/assets/{journeyDiagram-EYS64GPL-CGim3EAi.js → journeyDiagram-EYS64GPL-CFh6Tf7h.js} +1 -1
  377. package/web-shell/assets/{kanban-definition-3QL26DDD-WHfJo-22.js → kanban-definition-3QL26DDD-B7TlxP7c.js} +1 -1
  378. package/web-shell/assets/{layout-DkqIaFlJ.js → layout-Br_pZq2Q.js} +1 -1
  379. package/web-shell/assets/{linear-Bdkd3mCz.js → linear-BVlP6fte.js} +1 -1
  380. package/web-shell/assets/{mermaid.core-CGw0LkT_.js → mermaid.core-TrcYWoiF.js} +6 -6
  381. package/web-shell/assets/{mindmap-definition-FBJOCRG2-C9V4rBvo.js → mindmap-definition-FBJOCRG2-BJ4LzqjZ.js} +1 -1
  382. package/web-shell/assets/{pegDiagram-XKGWAZYB-CwoI2T5G.js → pegDiagram-XKGWAZYB-1b_MxlOl.js} +1 -1
  383. package/web-shell/assets/{pieDiagram-E7YTZNPT-DaTmBmPG.js → pieDiagram-E7YTZNPT-B8zl0YhY.js} +1 -1
  384. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-plh6MyGI.js → quadrantDiagram-AXDQQJYC-CIZO8ukl.js} +1 -1
  385. package/web-shell/assets/{railroadDiagram-O6MQD6OU-D_b-S0iK.js → railroadDiagram-O6MQD6OU-CepHSbCj.js} +1 -1
  386. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-zUzTN7VE.js → requirementDiagram-EFPCY7ZU-BCgxkcSW.js} +1 -1
  387. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-m6AhoD0l.js → sankeyDiagram-P5KCCOFB-CE5CcoMM.js} +1 -1
  388. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-Cwhzsine.js → sequenceDiagram-WJ2MYXX4-DvgHi-d5.js} +1 -1
  389. package/web-shell/assets/{sizeCapture-X5ZJPWSS-CcZuKIae.js → sizeCapture-X5ZJPWSS-T-fAsCPX.js} +1 -1
  390. package/web-shell/assets/{stateDiagram-HBIQ2CUA-CFoiJwD_.js → stateDiagram-HBIQ2CUA-DYHaul-5.js} +1 -1
  391. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BcYho9a4.js +1 -0
  392. package/web-shell/assets/{swimlanes-XN3QIQJK-CgS9hcaV.js → swimlanes-XN3QIQJK-Dbz3Qiej.js} +1 -1
  393. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-D6HsOIgX.js +8 -0
  394. package/web-shell/assets/{timeline-definition-24CTP7MA-Dzzc05t9.js → timeline-definition-24CTP7MA-9NVRts3N.js} +1 -1
  395. package/web-shell/assets/{vennDiagram-4TSXK5OY-DemK0f7Y.js → vennDiagram-4TSXK5OY-C7cb7vnH.js} +1 -1
  396. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CquLxtMr.js → wardleyDiagram-VM6X3IG4-CG-8Ddjm.js} +1 -1
  397. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-BTBKTM5g.js → xychartDiagram-S5SC5T6Z-iGeYAcP4.js} +1 -1
  398. package/web-shell/index.html +2 -2
  399. package/chunks/MaxSizedBox-B3D7545A.js +0 -111
  400. package/chunks/agent-headless-OC2IB55D.js +0 -85
  401. package/chunks/askUserQuestion-THQZMG44.js +0 -322
  402. package/chunks/bridge-IHSBI2YJ.js +0 -118
  403. package/chunks/channel-settings-store-BVKWAI2T.js +0 -121
  404. package/chunks/chunk-I2TMJPCV.js +0 -448
  405. package/chunks/chunk-QI27MKNQ.js +0 -4008
  406. package/chunks/config-utils-LVSYDLHZ.js +0 -114
  407. package/chunks/contextCommand-TZD7UAJK.js +0 -107
  408. package/chunks/daemon-status-provider-GRRVCJFW.js +0 -117
  409. package/chunks/daemon-trust-policy-YJL442BK.js +0 -113
  410. package/chunks/deferred-core-runtime-S32AYVZI.js +0 -115
  411. package/chunks/earlyInputCapture-BBPCIVZG.js +0 -108
  412. package/chunks/environment-VN6RXDVN.js +0 -130
  413. package/chunks/errors-UEY36PIT.js +0 -114
  414. package/chunks/exitPlanMode-EPHIEDAA.js +0 -83
  415. package/chunks/handleAutoUpdate-HVWQT2AU.js +0 -110
  416. package/chunks/i18n-5OR7NTRZ.js +0 -125
  417. package/chunks/initializer-JE5RQSOE.js +0 -114
  418. package/chunks/installationInfo-KO3CCSCK.js +0 -108
  419. package/chunks/list-3IORSFIY.js +0 -117
  420. package/chunks/loadedSettingsAdapter-KLLFZF3M.js +0 -111
  421. package/chunks/mcp-A2UEHETW.js +0 -111
  422. package/chunks/nonInteractiveCli-YA47F2F4.js +0 -190
  423. package/chunks/pidfile-ETHAZNMY.js +0 -112
  424. package/chunks/prompt-terminal-ledger-GZ747VYE.js +0 -106
  425. package/chunks/resumeHistoryUtils-DPZKFW24.js +0 -119
  426. package/chunks/ripGrep-C7LJKUPZ.js +0 -37
  427. package/chunks/runtime-LNBLEMZS.js +0 -149
  428. package/chunks/scheduled-tasks-FLDYZQOF.js +0 -128
  429. package/chunks/serve-3UR2H4CV.js +0 -119
  430. package/chunks/session-attachments-root-ZCGXQQTR.js +0 -104
  431. package/chunks/shell-YHOGC7TO.js +0 -93
  432. package/chunks/skill-settings-AKSP665O.js +0 -119
  433. package/chunks/spawnChannel-N25MBB6F.js +0 -112
  434. package/chunks/standalone-update-XGPWJDRN.js +0 -119
  435. package/chunks/terminal-image-renderer-KKM4OBLO.js +0 -117
  436. package/chunks/theme-manager-GQHF3A7T.js +0 -103
  437. package/chunks/total-session-admission-G4CGCSTG.js +0 -113
  438. package/chunks/trustedFolders-D2I3FDPB.js +0 -123
  439. package/chunks/updateCheck-ZXOQDFEI.js +0 -119
  440. package/chunks/useAutoAcceptIndicator-6EK4QGAH.js +0 -121
  441. package/chunks/workspace-providers-status-PCJK3RC7.js +0 -115
  442. package/chunks/workspace-registry-YNIOB6HJ.js +0 -122
  443. package/chunks/workspace-runtime-coordinator-WG2RNEN7.js +0 -123
  444. package/chunks/workspace-service-G4ZNBOFH.js +0 -127
  445. package/chunks/workspace-skills-status-FMTPPMWC.js +0 -114
  446. package/chunks/write-file-YTLFY2S5.js +0 -88
  447. package/web-shell/assets/channel-B7ohGDil.js +0 -1
  448. package/web-shell/assets/classDiagram-DTDB5LWJ-DdFpqpfD.js +0 -1
  449. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DdFpqpfD.js +0 -1
  450. package/web-shell/assets/index-BGZRqbRo.css +0 -36
  451. package/web-shell/assets/index-DRri_6_x.js +0 -2067
  452. package/web-shell/assets/stateDiagram-v2-4QOOHH4V--H8HdEmk.js +0 -1
  453. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ShE9OIgf.js +0 -8
@@ -3,17 +3,17 @@
3
3
  import {
4
4
  listLiveSessions,
5
5
  readOwnSessionRecord
6
- } from "./chunk-CVX63TFJ.js";
6
+ } from "./chunk-B44JBZBB.js";
7
7
  import {
8
8
  LEADER_NAME,
9
9
  sanitizeName
10
- } from "./chunk-373DQUVA.js";
10
+ } from "./chunk-BF3RUIVP.js";
11
11
  import {
12
12
  APPROVAL_MODES
13
13
  } from "./chunk-JX6XHPTX.js";
14
14
  import {
15
15
  createDebugLogger
16
- } from "./chunk-EAHOJF6V.js";
16
+ } from "./chunk-ZAFYHRVY.js";
17
17
  import {
18
18
  init_esbuild_shims
19
19
  } from "./chunk-5O2XNYP6.js";
@@ -132,7 +132,7 @@ function parsePeerFrame(line) {
132
132
  if (parsed["type"] === "control") {
133
133
  if (parsed["action"] !== "delivery_status") return null;
134
134
  const status = parsed["status"];
135
- if (status !== "held" && status !== "denied" && status !== "expired" && status !== "delivered" && status !== "misaddressed") {
135
+ if (status !== "held" && status !== "denied" && status !== "refused" && status !== "expired" && status !== "delivered" && status !== "misaddressed") {
136
136
  return null;
137
137
  }
138
138
  const origMsgId = parsed["origMsgId"];
@@ -177,6 +177,8 @@ function describeDeliveryStatus(status) {
177
177
  return "Your message is held for the recipient user to review before it reaches their Qwen Code session.";
178
178
  case "denied":
179
179
  return "The recipient declined your message; it was not delivered.";
180
+ case "refused":
181
+ return "The recipient session does not accept messages from other sessions, so nobody saw this one. Don't re-send it; reach that session's user another way.";
180
182
  case "expired":
181
183
  return "Your held message expired without a decision and was not delivered.";
182
184
  case "delivered":
@@ -231,24 +233,24 @@ import * as os from "node:os";
231
233
  import * as path from "node:path";
232
234
  var MAX_SOCKET_PATH_BYTES = 103;
233
235
  var SOCKET_DIR_NAME = "qwen-socks";
234
- function resolvePeerSocketPath(pid = process.pid) {
236
+ function resolvePeerSocketCandidates(pid = process.pid) {
237
+ const candidates = [];
235
238
  const runtimeDir = process.env["XDG_RUNTIME_DIR"];
236
239
  if (runtimeDir) {
237
- const preferred = path.join(runtimeDir, SOCKET_DIR_NAME, `${pid}.sock`);
238
- if (Buffer.byteLength(preferred) <= MAX_SOCKET_PATH_BYTES) {
239
- return preferred;
240
- }
240
+ candidates.push(path.join(runtimeDir, SOCKET_DIR_NAME, `${pid}.sock`));
241
241
  }
242
242
  const nonce = randomBytes(8).toString("hex");
243
- const fallback = path.join(
244
- os.tmpdir(),
245
- `${SOCKET_DIR_NAME}-${nonce}`,
246
- `${pid}.sock`
243
+ candidates.push(
244
+ path.join(os.tmpdir(), `${SOCKET_DIR_NAME}-${nonce}`, `${pid}.sock`)
245
+ );
246
+ candidates.push(
247
+ path.join("/tmp", `${SOCKET_DIR_NAME}-${nonce}`, `${pid}.sock`)
248
+ );
249
+ return candidates.filter(
250
+ (candidate, index) => Buffer.byteLength(candidate) <= MAX_SOCKET_PATH_BYTES && candidates.indexOf(candidate) === index
247
251
  );
248
- if (Buffer.byteLength(fallback) <= MAX_SOCKET_PATH_BYTES) return fallback;
249
- return path.join("/tmp", `${SOCKET_DIR_NAME}-${nonce}`, `${pid}.sock`);
250
252
  }
251
- __name(resolvePeerSocketPath, "resolvePeerSocketPath");
253
+ __name(resolvePeerSocketCandidates, "resolvePeerSocketCandidates");
252
254
  function isLocalIpcPath(candidate) {
253
255
  if (typeof candidate !== "string" || candidate.length === 0) return false;
254
256
  if (candidate.includes("\0")) return false;
@@ -355,31 +357,39 @@ async function sendDeliveryStatus(socketPath, fields, authToken) {
355
357
  }
356
358
  }
357
359
  __name(sendDeliveryStatus, "sendDeliveryStatus");
358
- function probePeerSocket(socketPath) {
360
+ function probePeerSocketVerdict(socketPath) {
359
361
  return new Promise((resolve) => {
360
362
  if (!isLocalIpcPath(socketPath)) {
361
- resolve(false);
363
+ resolve("unknown");
362
364
  return;
363
365
  }
364
366
  const socket = net.connect({ path: socketPath });
365
367
  let settled = false;
366
- const settle = /* @__PURE__ */ __name((alive) => {
368
+ const settle = /* @__PURE__ */ __name((verdict) => {
367
369
  if (settled) return;
368
370
  settled = true;
369
371
  clearTimeout(deadline);
370
372
  socket.destroy();
371
- resolve(alive);
373
+ resolve(verdict);
372
374
  }, "settle");
373
- const deadline = setTimeout(() => settle(false), PROBE_TIMEOUT_MS);
375
+ const deadline = setTimeout(() => settle("unknown"), PROBE_TIMEOUT_MS);
374
376
  deadline.unref();
375
- socket.on("connect", () => settle(true));
376
- socket.on(
377
- "error",
378
- (error) => settle(error.code === "EAGAIN" || error.code === "EBUSY")
379
- );
377
+ socket.on("connect", () => settle("alive"));
378
+ socket.on("error", (error) => {
379
+ const code = error.code;
380
+ if (code === "EAGAIN" || code === "EBUSY") {
381
+ settle("alive");
382
+ return;
383
+ }
384
+ if (code === "ENOENT" || code === "ECONNREFUSED") {
385
+ settle("dead");
386
+ return;
387
+ }
388
+ settle("unknown");
389
+ });
380
390
  });
381
391
  }
382
- __name(probePeerSocket, "probePeerSocket");
392
+ __name(probePeerSocketVerdict, "probePeerSocketVerdict");
383
393
 
384
394
  // packages/core/src/ipc/peer-directory.ts
385
395
  function peerRef(sessionId) {
@@ -405,9 +415,10 @@ __name(toPeerSessionInfo, "toPeerSessionInfo");
405
415
  async function listMessageablePeers() {
406
416
  const records = await listLiveSessions();
407
417
  const candidates = records.map(toPeerSessionInfo).filter((peer) => peer !== null);
408
- const reachable = await Promise.all(
409
- candidates.map((peer) => probePeerSocket(peer.ipcPath))
418
+ const verdicts = await Promise.all(
419
+ candidates.map((peer) => probePeerSocketVerdict(peer.ipcPath))
410
420
  );
421
+ const reachable = verdicts.map((verdict) => verdict === "alive");
411
422
  return dedupeSameNameTwins(candidates.filter((_, index) => reachable[index]));
412
423
  }
413
424
  __name(listMessageablePeers, "listMessageablePeers");
@@ -481,9 +492,6 @@ function isInProcessRecipient(address, team) {
481
492
  }
482
493
  __name(isInProcessRecipient, "isInProcessRecipient");
483
494
 
484
- // packages/core/src/ipc/peer-send.ts
485
- init_esbuild_shims();
486
-
487
495
  // packages/core/src/ipc/inbound-gate.ts
488
496
  init_esbuild_shims();
489
497
  var debugLogger2 = createDebugLogger("PEER_INBOUND");
@@ -493,10 +501,36 @@ function receiverReviewsActions(mode) {
493
501
  return mode !== "yolo" /* YOLO */ && mode !== "auto-edit" /* AUTO_EDIT */ && mode !== "auto" /* AUTO */;
494
502
  }
495
503
  __name(receiverReviewsActions, "receiverReviewsActions");
504
+ function modeClass(mode) {
505
+ return receiverReviewsActions(mode) ? "prompting" : "bypass";
506
+ }
507
+ __name(modeClass, "modeClass");
496
508
  function isInboundPolicy(value) {
497
509
  return value === "accept" || value === "hold" || value === "refuse";
498
510
  }
499
511
  __name(isInboundPolicy, "isInboundPolicy");
512
+ var MAX_TIMEOUT_MS = 2 ** 31 - 1;
513
+ var DEFAULT_HELD_EXPIRY_MS = 5 * 60 * 1e3;
514
+ var HELD_EXPIRY_VALUES = {
515
+ "1m": 60 * 1e3,
516
+ "5m": DEFAULT_HELD_EXPIRY_MS,
517
+ "10m": 10 * 60 * 1e3,
518
+ never: null
519
+ };
520
+ var HELD_EXPIRY_OPTIONS = Object.keys(HELD_EXPIRY_VALUES);
521
+ function parseHeldExpiry(value) {
522
+ if (value === void 0) return DEFAULT_HELD_EXPIRY_MS;
523
+ if (typeof value !== "string" || !Object.hasOwn(HELD_EXPIRY_VALUES, value)) {
524
+ debugLogger2.debug(
525
+ `unrecognized crossSessionHeldExpiry value (using the default): ${String(
526
+ value
527
+ )}`
528
+ );
529
+ return DEFAULT_HELD_EXPIRY_MS;
530
+ }
531
+ return HELD_EXPIRY_VALUES[value] ?? null;
532
+ }
533
+ __name(parseHeldExpiry, "parseHeldExpiry");
500
534
  var InboundGate = class {
501
535
  constructor(options) {
502
536
  this.options = options;
@@ -514,10 +548,34 @@ var InboundGate = class {
514
548
  */
515
549
  settled = /* @__PURE__ */ new Map();
516
550
  shuttingDown = false;
551
+ /**
552
+ * One timer for the whole buffer, armed for the message that expires
553
+ * first. A timer per message would be up to `MAX_HELD_MESSAGES` of
554
+ * them, all firing to do the same sweep.
555
+ */
556
+ expiryTimer = null;
517
557
  /** Messages currently parked, oldest first. */
518
558
  getHeld() {
519
559
  return this.held;
520
560
  }
561
+ /**
562
+ * The current hold lifetime in milliseconds, or null when holds do not
563
+ * expire. Exposed so `/peers` can tell the user how long a message has
564
+ * left rather than making them guess.
565
+ */
566
+ getHeldExpiryMs() {
567
+ if (this.options.getHeldExpiryMs === void 0) {
568
+ return DEFAULT_HELD_EXPIRY_MS;
569
+ }
570
+ try {
571
+ return this.options.getHeldExpiryMs();
572
+ } catch (error) {
573
+ debugLogger2.debug(
574
+ `held-expiry getter threw; falling back to the default: ${error instanceof Error ? error.message : String(error)}`
575
+ );
576
+ return DEFAULT_HELD_EXPIRY_MS;
577
+ }
578
+ }
521
579
  /**
522
580
  * Resolve the policy for a frame, and explain it.
523
581
  *
@@ -534,7 +592,7 @@ var InboundGate = class {
534
592
  configured
535
593
  )}`
536
594
  );
537
- return { policy: "hold", cause: "policy-unreadable" };
595
+ return this.hold("policy-unreadable", this.policyScope());
538
596
  }
539
597
  explicit = configured;
540
598
  } catch (error) {
@@ -543,8 +601,11 @@ var InboundGate = class {
543
601
  );
544
602
  return { policy: "hold", cause: "policy-unreadable" };
545
603
  }
604
+ if (explicit === "hold") {
605
+ return this.hold("explicit-setting", this.policyScope());
606
+ }
546
607
  if (explicit !== void 0) {
547
- return { policy: explicit, cause: "explicit-setting" };
608
+ return { policy: explicit };
548
609
  }
549
610
  if (origin?.selfSent) {
550
611
  return { policy: "accept" };
@@ -561,20 +622,32 @@ var InboundGate = class {
561
622
  if (mode === null || !APPROVAL_MODES.includes(mode)) {
562
623
  return { policy: "hold", cause: "mode-unknown" };
563
624
  }
564
- if (receiverReviewsActions(mode)) {
565
- return { policy: "accept" };
566
- }
567
625
  const sender = frame?.fromMode;
568
626
  if (sender === void 0) {
569
627
  return { policy: "hold", cause: "no-mode-asserted" };
570
628
  }
571
- return sender === "bypass" ? { policy: "accept" } : { policy: "hold", cause: "mode-mismatch" };
629
+ return sender === modeClass(mode) ? { policy: "accept" } : { policy: "hold", cause: "mode-mismatch" };
630
+ }
631
+ hold(cause, scope) {
632
+ return scope === void 0 ? { policy: "hold", cause } : { policy: "hold", cause, scope };
633
+ }
634
+ /** The scope is decoration on a cause; a broken getter must not change the verdict. */
635
+ policyScope() {
636
+ try {
637
+ return this.options.getPolicyScope?.();
638
+ } catch (error) {
639
+ debugLogger2.debug(
640
+ `policy-scope getter threw (ignored): ${error instanceof Error ? error.message : String(error)}`
641
+ );
642
+ return void 0;
643
+ }
572
644
  }
573
645
  /**
574
646
  * Run a freshly-arrived message through the gate. `origin` defaults to
575
647
  * an ordinary peer — the transport asserts self-sent, never the frame.
576
648
  */
577
649
  admit(frame, origin = { selfSent: false }) {
650
+ this.expireOverdue();
578
651
  const settled = this.settled.get(canonicalizeMsgId(frame.msgId));
579
652
  if (settled !== void 0) {
580
653
  debugLogger2.debug(
@@ -594,7 +667,8 @@ var InboundGate = class {
594
667
  const { policy } = decision;
595
668
  if (policy === "refuse") {
596
669
  debugLogger2.debug(`refused peer message ${frame.msgId}`);
597
- void this.report(frame, "denied");
670
+ this.recordSettled(frame.msgId, "refused");
671
+ void this.report(frame, "refused");
598
672
  return "refused";
599
673
  }
600
674
  if (this.shuttingDown) {
@@ -621,10 +695,13 @@ var InboundGate = class {
621
695
  }
622
696
  }
623
697
  const cause = decision.policy === "hold" ? decision.cause : "mode-unknown";
698
+ const scope = decision.policy === "hold" ? decision.scope : void 0;
624
699
  this.held.push({
625
700
  frame,
626
701
  cause,
702
+ ...scope === void 0 ? {} : { policyScope: scope },
627
703
  heldAt: Date.now(),
704
+ monotonicAt: performance.now(),
628
705
  ...origin.selfSent ? { selfSent: true } : {}
629
706
  });
630
707
  debugLogger2.debug(
@@ -632,6 +709,7 @@ var InboundGate = class {
632
709
  );
633
710
  void this.report(frame, "held");
634
711
  this.notifyHeldChange();
712
+ this.rescheduleExpiry();
635
713
  return "held";
636
714
  }
637
715
  /**
@@ -647,6 +725,7 @@ var InboundGate = class {
647
725
  * retry; claiming 'done' would report a release that never happened.
648
726
  */
649
727
  decide(msgId, decision) {
728
+ this.expireOverdue();
650
729
  const index = this.held.findIndex((entry2) => entry2.frame.msgId === msgId);
651
730
  if (index === -1) return "gone";
652
731
  const [entry] = this.held.splice(index, 1);
@@ -656,12 +735,14 @@ var InboundGate = class {
656
735
  this.recordSettled(entry.frame.msgId, "misaddressed");
657
736
  void this.report(entry.frame, "misaddressed");
658
737
  this.notifyHeldChange();
738
+ this.rescheduleExpiry();
659
739
  return "gone";
660
740
  }
661
741
  if (!this.tryDeliver(entry.frame, originOf(entry))) {
662
742
  this.held.splice(index, 0, entry);
663
743
  void this.report(entry.frame, "held");
664
744
  this.notifyHeldChange();
745
+ this.rescheduleExpiry();
665
746
  return "failed";
666
747
  }
667
748
  this.recordSettled(entry.frame.msgId, "delivered");
@@ -671,6 +752,7 @@ var InboundGate = class {
671
752
  void this.report(entry.frame, "denied");
672
753
  }
673
754
  this.notifyHeldChange();
755
+ this.rescheduleExpiry();
674
756
  return "done";
675
757
  }
676
758
  /**
@@ -684,6 +766,8 @@ var InboundGate = class {
684
766
  * Returns the number of messages released.
685
767
  */
686
768
  reevaluate(reason) {
769
+ this.expireOverdue();
770
+ this.rescheduleExpiry();
687
771
  if (this.held.length === 0) return 0;
688
772
  const stillHeld = [];
689
773
  const release = [];
@@ -698,8 +782,7 @@ var InboundGate = class {
698
782
  this.recordSettled(entry.frame.msgId, "denied");
699
783
  void this.report(entry.frame, "denied");
700
784
  } else {
701
- const cause = decision.policy === "hold" ? decision.cause : entry.cause;
702
- stillHeld.push(cause === entry.cause ? entry : { ...entry, cause });
785
+ stillHeld.push(withCause(entry, decision));
703
786
  }
704
787
  }
705
788
  let released = 0;
@@ -721,7 +804,9 @@ var InboundGate = class {
721
804
  }
722
805
  }
723
806
  this.held.length = 0;
807
+ stillHeld.sort((a, b) => this.ageOf(b) - this.ageOf(a));
724
808
  this.held.push(...stillHeld);
809
+ this.rescheduleExpiry();
725
810
  if (release.length > 0 || dropped > 0) {
726
811
  debugLogger2.debug(
727
812
  `reevaluate (${reason}): released ${released}, dropped ${dropped}, misaddressed ${misaddressed}, ${this.held.length} still held`
@@ -738,6 +823,10 @@ var InboundGate = class {
738
823
  */
739
824
  shutdown() {
740
825
  this.shuttingDown = true;
826
+ if (this.expiryTimer !== null) {
827
+ clearTimeout(this.expiryTimer);
828
+ this.expiryTimer = null;
829
+ }
741
830
  if (this.held.length === 0) return Promise.resolve();
742
831
  const settling = this.held.splice(0, this.held.length);
743
832
  debugLogger2.debug(
@@ -801,6 +890,89 @@ var InboundGate = class {
801
890
  return false;
802
891
  }
803
892
  }
893
+ /**
894
+ * How long `entry` has been parked: the larger of the wall-clock and
895
+ * monotonic elapsed times.
896
+ *
897
+ * Neither clock alone is right. The wall clock is what a suspended
898
+ * machine advances -- CLOCK_MONOTONIC does not tick across suspend, so
899
+ * a monotonic-only age would keep a message parked through a two-hour
900
+ * sleep. But the wall clock also moves when nothing elapsed: a
901
+ * backward NTP correction of an hour would stretch a five-minute hold
902
+ * past sixty, and a step over ~24.8 days pushes the re-armed delay
903
+ * beyond setTimeout's range.
904
+ *
905
+ * Taking the larger keeps the suspend case working and makes a
906
+ * backward step a no-op, at the cost of treating a forward step as
907
+ * elapsed time -- which is the conservative direction, and in any case
908
+ * a forward step is indistinguishable from a suspend from in here.
909
+ */
910
+ ageOf(entry) {
911
+ const wall = Date.now() - entry.heldAt;
912
+ if (entry.monotonicAt === void 0) return wall;
913
+ return Math.max(wall, performance.now() - entry.monotonicAt);
914
+ }
915
+ /**
916
+ * Settle every message whose hold has run out.
917
+ *
918
+ * Expiry is judged against the lifetime configured *now*, not the one
919
+ * in force when each message arrived: shortening the setting expires a
920
+ * backlog that is already too old, and lengthening it gives the
921
+ * backlog the longer window. Either reading is defensible; this one
922
+ * has the property that what `/peers` shows as remaining is what
923
+ * actually happens.
924
+ */
925
+ expireOverdue() {
926
+ const expiryMs = this.getHeldExpiryMs();
927
+ if (expiryMs === null || this.held.length === 0) return;
928
+ const survivors = [];
929
+ const expired = [];
930
+ for (const entry of this.held) {
931
+ (this.ageOf(entry) >= expiryMs ? expired : survivors).push(entry);
932
+ }
933
+ if (expired.length === 0) return;
934
+ this.held.length = 0;
935
+ this.held.push(...survivors);
936
+ for (const entry of expired) {
937
+ debugLogger2.debug(
938
+ `held peer message ${entry.frame.msgId} expired after ${expiryMs} ms`
939
+ );
940
+ this.recordSettled(entry.frame.msgId, "expired");
941
+ void this.report(entry.frame, "expired");
942
+ }
943
+ this.notifyHeldChange();
944
+ this.rescheduleExpiry();
945
+ }
946
+ /**
947
+ * Arm the timer for whichever message expires first, or clear it when
948
+ * nothing is waiting and when holds do not expire.
949
+ *
950
+ * Called after every change to the buffer. Unref'd: a session with a
951
+ * message parked should still be able to exit, and shutdown settles
952
+ * the backlog anyway.
953
+ */
954
+ rescheduleExpiry() {
955
+ if (this.expiryTimer !== null) {
956
+ clearTimeout(this.expiryTimer);
957
+ this.expiryTimer = null;
958
+ }
959
+ if (this.shuttingDown) return;
960
+ const expiryMs = this.getHeldExpiryMs();
961
+ if (expiryMs === null) return;
962
+ let oldestAge = null;
963
+ for (const entry of this.held) {
964
+ const age = this.ageOf(entry);
965
+ if (oldestAge === null || age > oldestAge) oldestAge = age;
966
+ }
967
+ if (oldestAge === null) return;
968
+ const delay = Math.min(MAX_TIMEOUT_MS, Math.max(1, expiryMs - oldestAge));
969
+ this.expiryTimer = setTimeout(() => {
970
+ this.expiryTimer = null;
971
+ this.expireOverdue();
972
+ this.rescheduleExpiry();
973
+ }, delay);
974
+ this.expiryTimer.unref?.();
975
+ }
804
976
  notifyHeldChange() {
805
977
  try {
806
978
  this.options.onHeldChange?.(this.held);
@@ -815,18 +987,40 @@ function originOf(entry) {
815
987
  return { selfSent: entry.selfSent === true };
816
988
  }
817
989
  __name(originOf, "originOf");
818
- function describeHoldCause(cause) {
990
+ function withCause(entry, decision) {
991
+ if (decision.policy !== "hold") return entry;
992
+ const { cause, scope } = decision;
993
+ if (cause === entry.cause && scope === entry.policyScope) return entry;
994
+ const { policyScope: _dropped, ...rest } = entry;
995
+ return scope === void 0 ? { ...rest, cause } : { ...rest, cause, policyScope: scope };
996
+ }
997
+ __name(withCause, "withCause");
998
+ function describeHoldCause(cause, scope) {
819
999
  switch (cause) {
820
1000
  case "explicit-setting":
821
- return 'your crossSessionInbound setting is "hold"';
1001
+ switch (scope) {
1002
+ case "workspace":
1003
+ return `this repository's settings hold messages from other sessions (agents.crossSessionInbound is "hold" in workspace settings)`;
1004
+ case "system":
1005
+ return 'a system setting holds messages from other sessions (agents.crossSessionInbound is "hold" in system settings)';
1006
+ default:
1007
+ return 'your crossSessionInbound setting is "hold"';
1008
+ }
822
1009
  case "mode-mismatch":
823
- return "this session can apply some actions without per-action review and the sender does not";
1010
+ return "the sender and this session are in different review modes: one reviews each action and the other can apply some without per-action review";
824
1011
  case "no-mode-asserted":
825
- return "this session can apply some actions without per-action review and the sender did not say whether it does";
1012
+ return "the sender did not say whether it reviews each action";
826
1013
  case "mode-unknown":
827
1014
  return "this session's approval mode could not be determined";
828
1015
  case "policy-unreadable":
829
- return "your crossSessionInbound setting could not be read";
1016
+ switch (scope) {
1017
+ case "workspace":
1018
+ return "the agents.crossSessionInbound value in this repository's workspace settings could not be read";
1019
+ case "system":
1020
+ return "the agents.crossSessionInbound value in system settings could not be read";
1021
+ default:
1022
+ return "your crossSessionInbound setting could not be read";
1023
+ }
830
1024
  default: {
831
1025
  const exhaustive = cause;
832
1026
  return exhaustive;
@@ -836,6 +1030,7 @@ function describeHoldCause(cause) {
836
1030
  __name(describeHoldCause, "describeHoldCause");
837
1031
 
838
1032
  // packages/core/src/ipc/peer-send.ts
1033
+ init_esbuild_shims();
839
1034
  async function getOwnPeerIdentity() {
840
1035
  const record = await readOwnSessionRecord();
841
1036
  const self = record === null ? null : toPeerSessionInfo(record);
@@ -849,7 +1044,7 @@ async function getOwnPeerIdentity() {
849
1044
  }
850
1045
  __name(getOwnPeerIdentity, "getOwnPeerIdentity");
851
1046
  function senderModeClass(mode) {
852
- return receiverReviewsActions(mode) ? "prompting" : "bypass";
1047
+ return modeClass(mode);
853
1048
  }
854
1049
  __name(senderModeClass, "senderModeClass");
855
1050
  var MAX_TRACKED_SENDS = 200;
@@ -866,10 +1061,21 @@ function trackSent(msgId, info) {
866
1061
  }
867
1062
  __name(trackSent, "trackSent");
868
1063
  var RECEIPT_TRANSITIONS = {
869
- pending: /* @__PURE__ */ new Set(["held", "delivered", "denied", "expired", "misaddressed"]),
1064
+ pending: /* @__PURE__ */ new Set([
1065
+ "held",
1066
+ "delivered",
1067
+ "denied",
1068
+ "refused",
1069
+ "expired",
1070
+ "misaddressed"
1071
+ ]),
1072
+ // A refusal is decided at admission, so it cannot follow a hold: a
1073
+ // message already parked was not turned away. Switching the setting to
1074
+ // `refuse` while it sits there settles it as `denied` — someone chose.
870
1075
  held: /* @__PURE__ */ new Set(["delivered", "denied", "expired", "misaddressed"]),
871
1076
  delivered: /* @__PURE__ */ new Set(["expired", "misaddressed"]),
872
1077
  denied: /* @__PURE__ */ new Set(),
1078
+ refused: /* @__PURE__ */ new Set(),
873
1079
  expired: /* @__PURE__ */ new Set(),
874
1080
  misaddressed: /* @__PURE__ */ new Set()
875
1081
  };
@@ -1006,13 +1212,17 @@ export {
1006
1212
  parsePeerFrame,
1007
1213
  describeDeliveryStatus,
1008
1214
  parsePeerAuthLine,
1009
- resolvePeerSocketPath,
1215
+ MAX_SOCKET_PATH_BYTES,
1216
+ SOCKET_DIR_NAME,
1217
+ resolvePeerSocketCandidates,
1010
1218
  isLocalIpcPath,
1011
1219
  sendDeliveryStatus,
1220
+ probePeerSocketVerdict,
1012
1221
  listMessageablePeers,
1013
1222
  advertisablePeerAddress,
1014
1223
  isInProcessRecipient,
1015
1224
  MAX_HELD_MESSAGES,
1225
+ parseHeldExpiry,
1016
1226
  InboundGate,
1017
1227
  describeHoldCause,
1018
1228
  getOwnPeerIdentity,
@@ -2,11 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-I4NRYS6A.js";
5
+ } from "./chunk-MUZCSTOO.js";
6
6
  import {
7
7
  SessionReferenceService,
8
8
  readManyFiles
9
- } from "./chunk-JUARRUMA.js";
9
+ } from "./chunk-UEZOXZNI.js";
10
10
  import {
11
11
  emptyMcpResourceText,
12
12
  formatMcpResourceContents,
@@ -15,10 +15,10 @@ import {
15
15
  import {
16
16
  SessionService,
17
17
  stripTerminalControlSequences
18
- } from "./chunk-4F7GQGXB.js";
18
+ } from "./chunk-I72PHOKL.js";
19
19
  import {
20
20
  shouldRunVisionBridge
21
- } from "./chunk-GH2S4GD5.js";
21
+ } from "./chunk-P5LDR7FI.js";
22
22
  import {
23
23
  Storage,
24
24
  getErrorMessage,
@@ -26,7 +26,7 @@ import {
26
26
  isSubpath,
27
27
  unescapePath,
28
28
  unescapeShellSpecials
29
- } from "./chunk-EAHOJF6V.js";
29
+ } from "./chunk-ZAFYHRVY.js";
30
30
  import {
31
31
  init_esbuild_shims
32
32
  } from "./chunk-5O2XNYP6.js";
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  wrapForMultiplexer
5
- } from "./chunk-3AKCBZVW.js";
5
+ } from "./chunk-VU7O7CGQ.js";
6
6
  import {
7
7
  createDebugLogger
8
- } from "./chunk-EAHOJF6V.js";
8
+ } from "./chunk-ZAFYHRVY.js";
9
9
  import {
10
10
  init_esbuild_shims
11
11
  } from "./chunk-5O2XNYP6.js";