@qwen-code/qwen-code 0.23.2-nightly.20260909.2e212144d3 → 0.23.2

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 (247) hide show
  1. package/README.md +15 -35
  2. package/bundled/computer-use/SKILL.md +1 -1
  3. package/bundled/qc-helper/docs/configuration/settings.md +1 -1
  4. package/bundled/qc-helper/docs/features/_meta.ts +0 -1
  5. package/bundled/qc-helper/docs/features/commands.md +8 -31
  6. package/bundled/qc-helper/docs/features/computer-use.md +1 -1
  7. package/bundled/qc-helper/docs/features/goals.md +1 -1
  8. package/chunks/{MaxSizedBox-ZBGWYJZW.js → MaxSizedBox-4C3BKKKY.js} +16 -16
  9. package/chunks/{StandaloneSessionPicker-NR5ACIJZ.js → StandaloneSessionPicker-TXVF65YW.js} +30 -30
  10. package/chunks/{acpAgent-DM6XRCDQ.js → acpAgent-H5XBKGB4.js} +70 -59
  11. package/chunks/{agent-EF3IIYE3.js → agent-T5LEFJIU.js} +9 -9
  12. package/chunks/{agent-headless-5J2KFYR4.js → agent-headless-VZKSRH36.js} +9 -9
  13. package/chunks/{anthropicContentGenerator-VIW2FG7G.js → anthropicContentGenerator-PRJWWVYJ.js} +4 -4
  14. package/chunks/{askUserQuestion-R3TXY77M.js → askUserQuestion-I5W5S3D6.js} +1 -1
  15. package/chunks/{bridge-LEMQM6QE.js → bridge-AOX5IY44.js} +17 -17
  16. package/chunks/{channel-management-service-TGF6XFXT.js → channel-management-service-MWQGHPAS.js} +1 -1
  17. package/chunks/{channel-settings-store-FV365JSF.js → channel-settings-store-XZCGDGHW.js} +23 -23
  18. package/chunks/{chunk-DGNRLJ6S.js → chunk-2BMXHB6N.js} +3 -3
  19. package/chunks/{chunk-PLEBBGHL.js → chunk-2WC3Y7YY.js} +19 -387
  20. package/chunks/{chunk-2HYOOFDS.js → chunk-3LPJ776W.js} +6 -9
  21. package/chunks/{chunk-3O77M472.js → chunk-3OAXF3UK.js} +33 -43
  22. package/chunks/{chunk-QA2B26PL.js → chunk-46MMBZHI.js} +3 -3
  23. package/chunks/{chunk-7WCJEY3A.js → chunk-4I3WFI3U.js} +4 -4
  24. package/chunks/{chunk-76I36BEM.js → chunk-4JNHNVAZ.js} +3 -3
  25. package/chunks/{chunk-LOBKNYPR.js → chunk-4WMGYG3F.js} +2 -2
  26. package/chunks/{chunk-43EUMPKQ.js → chunk-5BH2AIEY.js} +1 -1
  27. package/chunks/{chunk-O6BFERWN.js → chunk-5OZUKLL7.js} +3 -3
  28. package/chunks/{chunk-7KZVXJ4U.js → chunk-67XTVRVB.js} +1 -1
  29. package/chunks/{chunk-SNMUO5Z7.js → chunk-6G4V7SE4.js} +1 -1
  30. package/chunks/{chunk-6GAYNM3F.js → chunk-7LTCFO6T.js} +3 -3
  31. package/chunks/{chunk-MUF4UGPB.js → chunk-7NDZKE2M.js} +2 -2
  32. package/chunks/{chunk-KECCLCXM.js → chunk-7PD7ZMX5.js} +4 -25
  33. package/chunks/{chunk-UQOP2APG.js → chunk-7SVM3RP2.js} +3 -3
  34. package/chunks/{chunk-VR6Y23FW.js → chunk-A7EFXK7P.js} +1 -1
  35. package/chunks/{chunk-34VPADLG.js → chunk-AO2VMS72.js} +2 -2
  36. package/chunks/{chunk-BDP3NTWD.js → chunk-APXIW2TF.js} +3 -3
  37. package/chunks/{chunk-WEU6O6VN.js → chunk-B25JYXZE.js} +2 -2
  38. package/chunks/{chunk-FEEVHJOR.js → chunk-BK7D2JR6.js} +3 -3
  39. package/chunks/{chunk-EATP5QCN.js → chunk-CCBTNJB4.js} +11 -11
  40. package/chunks/{chunk-6VIATHL7.js → chunk-CMWU6P4D.js} +1 -1
  41. package/chunks/{chunk-5HV2HPO7.js → chunk-CWVZBIZJ.js} +1 -1
  42. package/chunks/{chunk-C24ZDDNY.js → chunk-DAI65CMX.js} +1 -1
  43. package/chunks/{chunk-ZM2TCZZ7.js → chunk-ELD3OBPU.js} +3 -3
  44. package/chunks/{chunk-FRS3P7MQ.js → chunk-F2NYVASI.js} +2 -2
  45. package/chunks/{chunk-4DIMJKWU.js → chunk-FAJPLSYF.js} +34 -36
  46. package/chunks/{chunk-IKK6NNS6.js → chunk-FGHPZGOP.js} +11 -9
  47. package/chunks/{chunk-F3M6P6IQ.js → chunk-FPGTNKCP.js} +1 -199
  48. package/chunks/{chunk-VJWJOKOQ.js → chunk-G37O7YO6.js} +2 -2
  49. package/chunks/{chunk-EDSU3VUG.js → chunk-G3ZUMSFS.js} +4 -4
  50. package/chunks/{chunk-HW4MRP4V.js → chunk-G5VOXCRX.js} +1 -1
  51. package/chunks/{chunk-ZEFWBG2C.js → chunk-GOEVQADN.js} +121 -213
  52. package/chunks/{chunk-SM66GFKJ.js → chunk-GOKAOSCN.js} +1 -1
  53. package/chunks/{chunk-BDAVT6K2.js → chunk-HJ5UJQQL.js} +1586 -1524
  54. package/chunks/{chunk-NV4YYXFT.js → chunk-IR6JKBAP.js} +1 -1
  55. package/chunks/{chunk-SK6VACCM.js → chunk-IRGDIDGJ.js} +8 -8
  56. package/chunks/{chunk-JGTMTJSQ.js → chunk-IWABUX6T.js} +1 -1
  57. package/chunks/{chunk-EOLGAQ25.js → chunk-JO77FGNZ.js} +5 -5
  58. package/chunks/{chunk-E4LXNQAK.js → chunk-KCF2436G.js} +1 -1
  59. package/chunks/{chunk-EE5ZD4XU.js → chunk-KFECPHLV.js} +3 -3
  60. package/chunks/{chunk-YIE6REQ5.js → chunk-LEAOJ43M.js} +14 -17
  61. package/chunks/{chunk-EN3Q2S3J.js → chunk-LUNC5KCL.js} +3 -3
  62. package/chunks/{chunk-AXWTG6R7.js → chunk-LWX4WDFF.js} +1 -1
  63. package/chunks/{chunk-ATBLEXXV.js → chunk-MV5DTLJV.js} +1 -1
  64. package/chunks/{chunk-D6AGS266.js → chunk-NX7ZTXFF.js} +1 -1
  65. package/chunks/{chunk-3A2IMUDH.js → chunk-OXR34GCD.js} +1 -1
  66. package/chunks/{chunk-VAWM3A5N.js → chunk-PDN7FJZV.js} +1 -1
  67. package/chunks/{chunk-7IDZFJAV.js → chunk-PFKGV6PO.js} +1 -1
  68. package/chunks/{chunk-EYCW6UF2.js → chunk-QFJZAY7W.js} +3 -3
  69. package/chunks/{chunk-DVOCOIS5.js → chunk-QHLHE2OT.js} +1 -1
  70. package/chunks/{chunk-F4SAL7WM.js → chunk-QQK4L3UU.js} +2 -90
  71. package/chunks/{chunk-ZZ7RVOTU.js → chunk-QTB4VP4K.js} +1 -1
  72. package/chunks/{chunk-PWR6BQ3U.js → chunk-R3JIDRUL.js} +4 -4
  73. package/chunks/{chunk-SYKPMH2X.js → chunk-R457KFV7.js} +3 -3
  74. package/chunks/{chunk-5WBA3DEF.js → chunk-RM244SCQ.js} +1 -1
  75. package/chunks/{chunk-OVTPETDL.js → chunk-RNAJVXUG.js} +5 -5
  76. package/chunks/{chunk-HSO6D4KX.js → chunk-S5QR6CB5.js} +23 -34
  77. package/chunks/{chunk-6S7YYUUH.js → chunk-TODNHE76.js} +3 -3
  78. package/chunks/{chunk-A7QZIGRB.js → chunk-TOOOLHVS.js} +2 -2
  79. package/chunks/{chunk-BZUHZCUO.js → chunk-U6REWGVR.js} +2 -2
  80. package/chunks/{chunk-JFAGT5YG.js → chunk-ULZECEIP.js} +1 -1
  81. package/chunks/chunk-VBLAI2HA.js +243 -0
  82. package/chunks/{chunk-Y7YHAY32.js → chunk-WBU2PIZ5.js} +3 -3
  83. package/chunks/{chunk-HWLLUDIA.js → chunk-WDN64MVT.js} +9 -42
  84. package/chunks/{chunk-D7DFZAK2.js → chunk-WK7P62DV.js} +5 -5
  85. package/chunks/{chunk-VX2NR3SD.js → chunk-WXD7INFV.js} +2 -2
  86. package/chunks/{chunk-FN4KHWCL.js → chunk-WXPPUPHM.js} +1 -1
  87. package/chunks/{chunk-7K4GGN3D.js → chunk-X7LFJF5D.js} +64 -7
  88. package/chunks/{chunk-GSYD7MYP.js → chunk-XBVNNDPK.js} +3 -8
  89. package/chunks/{chunk-LOVGQ3HZ.js → chunk-XSOXPG2L.js} +3 -3
  90. package/chunks/{chunk-L5VHJYHH.js → chunk-YLOHCA6I.js} +2 -2
  91. package/chunks/{chunk-LKBOBUA2.js → chunk-YQGW3M6Z.js} +2 -2
  92. package/chunks/{chunk-N3Z6Q7KC.js → chunk-ZN5TKAVR.js} +3 -3
  93. package/chunks/{chunk-HUJJFSMO.js → chunk-ZP5XDLSA.js} +10 -10
  94. package/chunks/{config-utils-SXFK3G4X.js → config-utils-GPLIABL2.js} +18 -18
  95. package/chunks/{contextCommand-QFPD26QO.js → contextCommand-NCUQUDBY.js} +17 -17
  96. package/chunks/{core-runtime-VXKNBODM.js → core-runtime-WKYKWVYU.js} +16 -16
  97. package/chunks/{create-sub-session-7WSQETFR.js → create-sub-session-PPLXB3JJ.js} +16 -16
  98. package/chunks/{daemon-U2456K5H.js → daemon-2CKIAO3I.js} +1 -1
  99. package/chunks/{daemon-git-worktree-guard-I4DCSDUS.js → daemon-git-worktree-guard-73ZWOLKL.js} +16 -16
  100. package/chunks/{daemon-status-provider-5UV56RI4.js → daemon-status-provider-OK7VONJG.js} +21 -21
  101. package/chunks/{daemon-trust-policy-DKIBWTKU.js → daemon-trust-policy-CAUCREG2.js} +21 -21
  102. package/chunks/{daemon-trust-policy-monitor-CPSD7UKT.js → daemon-trust-policy-monitor-3Y36OOEQ.js} +21 -21
  103. package/chunks/{deferred-core-runtime-D2RF35BL.js → deferred-core-runtime-Q7WFWYD3.js} +16 -16
  104. package/chunks/{dist-K5GHMXIG.js → dist-Y5KC3IHW.js} +0 -1
  105. package/chunks/{edit-4IBADZ3O.js → edit-YJD6IETK.js} +9 -9
  106. package/chunks/{enterPlanMode-YN3GPQU5.js → enterPlanMode-EFPVTWIH.js} +9 -9
  107. package/chunks/{environment-E272IJMF.js → environment-HP3AXFTB.js} +18 -18
  108. package/chunks/{errors-CVAH3RWQ.js → errors-22ON46G7.js} +18 -18
  109. package/chunks/{exitPlanMode-24J5IHGC.js → exitPlanMode-MOQUNCBH.js} +9 -9
  110. package/chunks/{fast-path-M5IDBMXF.js → fast-path-2X7BPMXX.js} +2 -2
  111. package/chunks/{glob-ERBD7JYP.js → glob-Y7ACIB3P.js} +9 -9
  112. package/chunks/{goal-tools-245ULLQT.js → goal-tools-DABMICUC.js} +9 -9
  113. package/chunks/{handleAutoUpdate-JDZHHZKK.js → handleAutoUpdate-MCAMHYDI.js} +18 -18
  114. package/chunks/{i18n-LA4D5IXM.js → i18n-C3GDCALP.js} +16 -16
  115. package/chunks/{initializer-SHPTSWUZ.js → initializer-4URDQL2G.js} +21 -21
  116. package/chunks/{installationInfo-QEQEPB3G.js → installationInfo-LBOL6SBV.js} +16 -16
  117. package/chunks/{list-IBHCQWTF.js → list-JOGBAC2R.js} +24 -24
  118. package/chunks/{list-agents-EDPZCGKN.js → list-agents-2CXPGJUE.js} +3 -4
  119. package/chunks/{llm-JAWCQLA4.js → llm-2KPNSAVY.js} +50 -50
  120. package/chunks/{llm-content-generator-GOV3A23T.js → llm-content-generator-GR3FOHLB.js} +2 -2
  121. package/chunks/{loadedSettingsAdapter-RVE2GNVU.js → loadedSettingsAdapter-DVKROEJD.js} +21 -21
  122. package/chunks/{loggingContentGenerator-SSHNN5YW.js → loggingContentGenerator-P4K6K5W4.js} +10 -10
  123. package/chunks/{managed-npm-update-BHSTITQO.js → managed-npm-update-VWBKHNIN.js} +16 -16
  124. package/chunks/{mcp-6ZZ7P2HU.js → mcp-6YYNSYLK.js} +21 -21
  125. package/chunks/{monitor-RKK6GSHG.js → monitor-A255TNZR.js} +9 -9
  126. package/chunks/{nonInteractiveCli-UQHP3G6P.js → nonInteractiveCli-LXGIKQAT.js} +47 -47
  127. package/chunks/{notebook-edit-YM47A7WO.js → notebook-edit-5UYHS2DM.js} +9 -9
  128. package/chunks/{openaiContentGenerator-FHKDWNI2.js → openaiContentGenerator-A6MAMEO5.js} +8 -8
  129. package/chunks/{pidfile-SIIEJEEH.js → pidfile-B7DZC4TP.js} +16 -16
  130. package/chunks/{processUtils-JF7CWBJC.js → processUtils-BPZ2MCZS.js} +2 -2
  131. package/chunks/{prompt-terminal-ledger-FXXHAEQU.js → prompt-terminal-ledger-FYYTAOXS.js} +17 -17
  132. package/chunks/{qwenContentGenerator-KFJ77JP6.js → qwenContentGenerator-4IOJFD4S.js} +11 -11
  133. package/chunks/{read-file-S2NOCBIL.js → read-file-A4H4O3VQ.js} +4 -4
  134. package/chunks/{resumeHistoryUtils-QHHPSQWU.js → resumeHistoryUtils-YQQ43E4N.js} +17 -17
  135. package/chunks/{ripGrep-F6TNOJUO.js → ripGrep-W32NWFTA.js} +5 -5
  136. package/chunks/{run-qwen-serve-KYBDQRDD.js → run-qwen-serve-WBSWWIRV.js} +36 -36
  137. package/chunks/{runtime-3WNOFLCR.js → runtime-VRVBX2E5.js} +24 -24
  138. package/chunks/{scheduled-tasks-RNBH56DJ.js → scheduled-tasks-D65KJDA3.js} +19 -19
  139. package/chunks/{scheduler-ERMW7Q7B.js → scheduler-M2YPN7Z7.js} +18 -18
  140. package/chunks/{send-message-V5T3NMFM.js → send-message-76BKWKFZ.js} +2 -2
  141. package/chunks/{serve-7NV46RMP.js → serve-BE3H2P6P.js} +21 -21
  142. package/chunks/{server-6RZJR5QF.js → server-FLY5JERG.js} +48 -64
  143. package/chunks/{session-Z4EV7NVV.js → session-JVN62R5K.js} +51 -51
  144. package/chunks/{session-attachments-root-SG5FC52X.js → session-attachments-root-7ACGLHXA.js} +16 -16
  145. package/chunks/{session-pr-refresh-ILC4Z3ZM.js → session-pr-refresh-TQS57SDK.js} +18 -18
  146. package/chunks/{settings-Y47SPE3X.js → settings-D44YMZFT.js} +20 -20
  147. package/chunks/{shell-YBVCOPVO.js → shell-3VE6I4V5.js} +9 -9
  148. package/chunks/{skill-AXC63EBA.js → skill-FHEGRRZU.js} +4 -4
  149. package/chunks/{skill-settings-AFPAYGLO.js → skill-settings-VHEJMBFL.js} +20 -20
  150. package/chunks/{spawnChannel-ZFL4J2V3.js → spawnChannel-T6MX2ZDN.js} +16 -16
  151. package/chunks/{standalone-update-Y2OZPLNJ.js → standalone-update-QUGHFMCS.js} +17 -17
  152. package/chunks/{start-opentui-ui-G6TKT4LI.js → start-opentui-ui-IHIIZ2LE.js} +56 -60
  153. package/chunks/{startInteractiveUI-YTNDPW7J.js → startInteractiveUI-LR7K2ARZ.js} +64 -64
  154. package/chunks/{team-create-BUFLGGSH.js → team-create-GY3VFY47.js} +9 -9
  155. package/chunks/{team-plan-approval-OUWWM42U.js → team-plan-approval-BQPGZOT5.js} +9 -9
  156. package/chunks/{terminal-image-renderer-WH2WV5ES.js → terminal-image-renderer-YNYW5CQG.js} +16 -16
  157. package/chunks/{theme-manager-5UDRARM2.js → theme-manager-U6CIK3GM.js} +16 -16
  158. package/chunks/{tool-search-MCDIRPHN.js → tool-search-XI3QWD5I.js} +4 -4
  159. package/chunks/{total-session-admission-VL27U74Z.js → total-session-admission-3SNSJJ32.js} +17 -17
  160. package/chunks/{trustedFolders-MSXT4VDD.js → trustedFolders-OVAQKNV5.js} +17 -17
  161. package/chunks/{update-relaunch-JKLEWVCB.js → update-relaunch-XV5O74E3.js} +5 -5
  162. package/chunks/{updateCheck-ARTHAJT2.js → updateCheck-CHUYWD6L.js} +16 -16
  163. package/chunks/{useAutoAcceptIndicator-YEAAGYVU.js → useAutoAcceptIndicator-VKSVIXZC.js} +22 -22
  164. package/chunks/{validateNonInterActiveAuth-EMRQKH5S.js → validateNonInterActiveAuth-ZNUTD3E5.js} +45 -45
  165. package/chunks/{version-HFQU35WD.js → version-EK7VAGSI.js} +1 -1
  166. package/chunks/{web-fetch-QBXAO6VF.js → web-fetch-24KZO763.js} +4 -4
  167. package/chunks/{web-search-2URQXA3A.js → web-search-CRNXKZ2X.js} +6 -6
  168. package/chunks/{workflow-JDD6WDAH.js → workflow-HD5NYMW5.js} +11 -11
  169. package/chunks/{workspace-providers-status-B4IKR6YJ.js → workspace-providers-status-MAM42IZS.js} +23 -23
  170. package/chunks/{workspace-registration-store-PJ3YHR45.js → workspace-registration-store-HKLJEDQX.js} +1 -1
  171. package/chunks/{workspace-registry-WVYJ5UGB.js → workspace-registry-7RDDOBLN.js} +17 -17
  172. package/chunks/{workspace-runtime-coordinator-DXL5YVAG.js → workspace-runtime-coordinator-LEPDPXJO.js} +17 -17
  173. package/chunks/{workspace-service-QNGAMVH7.js → workspace-service-5IFDCNN3.js} +22 -22
  174. package/chunks/{workspace-skills-status-BEISJIII.js → workspace-skills-status-FJ3HNH4H.js} +21 -21
  175. package/chunks/{workspace-trust-reconciler-ORYJF5L4.js → workspace-trust-reconciler-PQFHIWLR.js} +22 -22
  176. package/chunks/{write-file-DWLKFBTJ.js → write-file-ERG67ZFX.js} +10 -10
  177. package/chunks/{zoom-image-BYVIXSNQ.js → zoom-image-WQYEC3SR.js} +4 -4
  178. package/cli.js +12 -12
  179. package/export-transcript-document.js +101 -101
  180. package/package.json +3 -3
  181. package/web-shell/assets/{abnfDiagram-VCTEODGH-C_8kzsly.js → abnfDiagram-VCTEODGH-BRLgQbnT.js} +1 -1
  182. package/web-shell/assets/{arc-CDg7Zfpm.js → arc-qAF9_XsR.js} +1 -1
  183. package/web-shell/assets/{architectureDiagram-5GKGNRK7-DZzdCWyF.js → architectureDiagram-5GKGNRK7-BorUttEz.js} +1 -1
  184. package/web-shell/assets/{blockDiagram-NRAW4CY4-DI3B4gyR.js → blockDiagram-NRAW4CY4-Bj0qZVxu.js} +1 -1
  185. package/web-shell/assets/{c4Diagram-UCG6FXSJ-CfOgwHZW.js → c4Diagram-UCG6FXSJ-BTqJis32.js} +1 -1
  186. package/web-shell/assets/channel-COIuCrVH.js +1 -0
  187. package/web-shell/assets/{chunk-2Q5K7J3B-B_PUth0g.js → chunk-2Q5K7J3B-RrQ5X8m-.js} +1 -1
  188. package/web-shell/assets/{chunk-5VM5RSS4-CrKtvBIL.js → chunk-5VM5RSS4-uUjDl8wO.js} +1 -1
  189. package/web-shell/assets/{chunk-F27PBJKO-B4z2n8Py.js → chunk-F27PBJKO-C3JhpyzI.js} +1 -1
  190. package/web-shell/assets/{chunk-G27WJ6UU-BUtrFEO8.js → chunk-G27WJ6UU-C8ZNFs7F.js} +1 -1
  191. package/web-shell/assets/{chunk-JWPE2WC7-Cqw3aXW0.js → chunk-JWPE2WC7-DNpXtEOs.js} +1 -1
  192. package/web-shell/assets/{chunk-LCL6LL3I-CZolnvls.js → chunk-LCL6LL3I-DagA2ZLw.js} +1 -1
  193. package/web-shell/assets/{chunk-POPQ4Y6H-DivgasCa.js → chunk-POPQ4Y6H-R23uH7Xm.js} +1 -1
  194. package/web-shell/assets/{chunk-SVP7TREG--seyb1B6.js → chunk-SVP7TREG-Qz9RN_BR.js} +1 -1
  195. package/web-shell/assets/{chunk-XXDRQBXY-D7pHtuVM.js → chunk-XXDRQBXY-jYb1_hni.js} +1 -1
  196. package/web-shell/assets/classDiagram-DTDB5LWJ-DoX6OYqu.js +1 -0
  197. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DoX6OYqu.js +1 -0
  198. package/web-shell/assets/{cose-bilkent-JH36ORCC-4MWaRF_3.js → cose-bilkent-JH36ORCC-Cv2OunpE.js} +1 -1
  199. package/web-shell/assets/{cynefin-OW5HDTMX-nhJhAjgD.js → cynefin-OW5HDTMX-LH42KFJx.js} +1 -1
  200. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-NF-PwXlq.js → cynefinDiagram-5FMLGOSQ-Dha4_OoR.js} +1 -1
  201. package/web-shell/assets/{dagre-3AP2YEHR-Bu0ncdWP.js → dagre-3AP2YEHR-Br5lnUKD.js} +1 -1
  202. package/web-shell/assets/{diagram-S7CK7UJ4-CsvhFHZC.js → diagram-S7CK7UJ4-dpKq2bBX.js} +1 -1
  203. package/web-shell/assets/{diagram-UQ7AKVKN-Ck61sIB3.js → diagram-UQ7AKVKN-BAgHWpXr.js} +1 -1
  204. package/web-shell/assets/{diagram-VSXAHHWV-D0171zrb.js → diagram-VSXAHHWV-GRRzpyE2.js} +1 -1
  205. package/web-shell/assets/{diagram-VX7I27RA-DvdxY4UL.js → diagram-VX7I27RA-BNFiaYpG.js} +1 -1
  206. package/web-shell/assets/{diagram-Z3DM3KII-CGGpseiB.js → diagram-Z3DM3KII-BisZzB_h.js} +1 -1
  207. package/web-shell/assets/{ebnfDiagram-PWID7BFC-K8-QMvY8.js → ebnfDiagram-PWID7BFC-B1xbwycf.js} +1 -1
  208. package/web-shell/assets/{erDiagram-SSCWMZ5O-D316nAem.js → erDiagram-SSCWMZ5O-CQMzbGE5.js} +1 -1
  209. package/web-shell/assets/{flowDiagram-A5DVABFB-B7siy_mn.js → flowDiagram-A5DVABFB-CZ_Zondl.js} +1 -1
  210. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BZQDxzTu.js → ganttDiagram-EL5Y4UJY-BTh2ShxS.js} +1 -1
  211. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-DZynLCSV.js → gitGraphDiagram-WWUBYQGX-oHOB-Uxt.js} +1 -1
  212. package/web-shell/assets/{index-DirkXQEg.js → index-CI1ysIEv.js} +440 -450
  213. package/web-shell/assets/index-CpxXGH-8.css +36 -0
  214. package/web-shell/assets/{index-9ie6xLTM.js → index-DWoFMu5x.js} +1 -1
  215. package/web-shell/assets/{infoDiagram-RXCK75RN-B0gr769A.js → infoDiagram-RXCK75RN-C0QpudbG.js} +1 -1
  216. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-0pQFfjvX.js → ishikawaDiagram-5VMMS53U-a6B741uT.js} +1 -1
  217. package/web-shell/assets/{journeyDiagram-EYS64GPL-DEGtClWb.js → journeyDiagram-EYS64GPL-Dbht9ICp.js} +1 -1
  218. package/web-shell/assets/{kanban-definition-3QL26DDD-CnN8gPzw.js → kanban-definition-3QL26DDD-D4OFR8-h.js} +1 -1
  219. package/web-shell/assets/{layout-C_70RhaT.js → layout-Dvdh5jRH.js} +1 -1
  220. package/web-shell/assets/{linear-BJ2ZLmcq.js → linear-Dvc6KIW2.js} +1 -1
  221. package/web-shell/assets/{mermaid.core-RlY0zPNC.js → mermaid.core-CB36RfIb.js} +6 -6
  222. package/web-shell/assets/{mindmap-definition-FBJOCRG2-CpVAxTNl.js → mindmap-definition-FBJOCRG2-Fmqo1CjP.js} +1 -1
  223. package/web-shell/assets/{pegDiagram-XKGWAZYB-DmrSv3hD.js → pegDiagram-XKGWAZYB-CCxYBoA4.js} +1 -1
  224. package/web-shell/assets/{pieDiagram-E7YTZNPT-CJmgp8KJ.js → pieDiagram-E7YTZNPT-BVHKQFzt.js} +1 -1
  225. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-UsgOyNco.js → quadrantDiagram-AXDQQJYC-l95IznwR.js} +1 -1
  226. package/web-shell/assets/{railroadDiagram-O6MQD6OU-DQ6gMs_W.js → railroadDiagram-O6MQD6OU-BlLdRdXp.js} +1 -1
  227. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-DhqadamF.js → requirementDiagram-EFPCY7ZU-BkDLBR5w.js} +1 -1
  228. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-R4WnURaE.js → sankeyDiagram-P5KCCOFB-jAIqRp65.js} +1 -1
  229. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-D7BwMi_D.js → sequenceDiagram-WJ2MYXX4-f-soZYPr.js} +1 -1
  230. package/web-shell/assets/{sizeCapture-X5ZJPWSS-Bqngz088.js → sizeCapture-X5ZJPWSS-BzOuAfB2.js} +1 -1
  231. package/web-shell/assets/{stateDiagram-HBIQ2CUA-DwaXPGqn.js → stateDiagram-HBIQ2CUA-BPLSs12r.js} +1 -1
  232. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-IRul-LaT.js +1 -0
  233. package/web-shell/assets/{swimlanes-XN3QIQJK-BsaLeRDY.js → swimlanes-XN3QIQJK-D-9E_RIR.js} +1 -1
  234. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-D6lgKepA.js +8 -0
  235. package/web-shell/assets/{timeline-definition-24CTP7MA-NJ9G-NUU.js → timeline-definition-24CTP7MA-CT56K-gV.js} +1 -1
  236. package/web-shell/assets/{vennDiagram-4TSXK5OY-Ca3W4rSq.js → vennDiagram-4TSXK5OY-B-vi4IyO.js} +1 -1
  237. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-OabvjC-6.js → wardleyDiagram-VM6X3IG4-C9O7Ju98.js} +1 -1
  238. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-C7rbjvpc.js → xychartDiagram-S5SC5T6Z-6d8w3jg2.js} +1 -1
  239. package/web-shell/index.html +2 -2
  240. package/bundled/qc-helper/docs/features/cross-session-protocol.md +0 -291
  241. package/chunks/chunk-AXMWHKXA.js +0 -42
  242. package/web-shell/assets/channel-e4xwS72w.js +0 -1
  243. package/web-shell/assets/classDiagram-DTDB5LWJ-CzXfUUOt.js +0 -1
  244. package/web-shell/assets/classDiagram-v2-JRS7N3AN-CzXfUUOt.js +0 -1
  245. package/web-shell/assets/index-DzdST_7L.css +0 -36
  246. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-8GCQZAvv.js +0 -1
  247. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-BoRBF2Yw.js +0 -8
@@ -7,13 +7,14 @@ import {
7
7
  MAX_SENDER_KEY_CHARS,
8
8
  MAX_SOCKET_PATH_BYTES,
9
9
  SOCKET_DIR_NAME,
10
+ flattenPeerLabel,
10
11
  isLocalIpcPath,
11
12
  parsePeerAuthLine,
12
13
  parsePeerFrame,
13
14
  peerSenderKey,
14
15
  probePeerSocketVerdict,
15
16
  resolvePeerSocketCandidates
16
- } from "./chunk-7K4GGN3D.js";
17
+ } from "./chunk-X7LFJF5D.js";
17
18
  import {
18
19
  scanForSecrets
19
20
  } from "./chunk-BUQN5LTI.js";
@@ -78,7 +79,7 @@ import {
78
79
  stripToolResultImages,
79
80
  toolResultBoundaryArtifact,
80
81
  toolResultPartDiagnosticValues
81
- } from "./chunk-BDAVT6K2.js";
82
+ } from "./chunk-HJ5UJQQL.js";
82
83
  import {
83
84
  hasVerifiableInode,
84
85
  openNoFollow
@@ -99,9 +100,6 @@ import {
99
100
  import {
100
101
  escapeJsonTagCharacters
101
102
  } from "./chunk-CHEIIBT3.js";
102
- import {
103
- flattenPeerLabel
104
- } from "./chunk-F4SAL7WM.js";
105
103
  import {
106
104
  isPidAlive
107
105
  } from "./chunk-CH2YDT6X.js";
@@ -115,7 +113,7 @@ import {
115
113
  import {
116
114
  BUILT_IN_OUTPUT_STYLES,
117
115
  getBuiltInOutputStyle
118
- } from "./chunk-2HYOOFDS.js";
116
+ } from "./chunk-3LPJ776W.js";
119
117
  import {
120
118
  fetchWithPolicy
121
119
  } from "./chunk-OFVAS4AR.js";
@@ -127,7 +125,7 @@ import {
127
125
  removeMCPStatusChangeListener,
128
126
  runSideQuery,
129
127
  updateMCPServerStatus
130
- } from "./chunk-FRS3P7MQ.js";
128
+ } from "./chunk-F2NYVASI.js";
131
129
  import {
132
130
  getInvocationContext
133
131
  } from "./chunk-5ETULJLP.js";
@@ -5671,94 +5669,6 @@ __name(buildGoalContinuationParts, "buildGoalContinuationParts");
5671
5669
  // packages/core/src/goals/index.ts
5672
5670
  init_esbuild_shims();
5673
5671
 
5674
- // packages/core/src/goals/activeGoalStore.ts
5675
- init_esbuild_shims();
5676
- var store = /* @__PURE__ */ new Map();
5677
- function getActiveGoal(sessionId) {
5678
- return store.get(sessionId);
5679
- }
5680
- __name(getActiveGoal, "getActiveGoal");
5681
- function clearActiveGoal(sessionId) {
5682
- const previous = store.get(sessionId);
5683
- store.delete(sessionId);
5684
- return previous;
5685
- }
5686
- __name(clearActiveGoal, "clearActiveGoal");
5687
- var observers = /* @__PURE__ */ new Map();
5688
- function clearGoalTerminalObserver(sessionId) {
5689
- observers.delete(sessionId);
5690
- }
5691
- __name(clearGoalTerminalObserver, "clearGoalTerminalObserver");
5692
- function notifyGoalTerminal(sessionId, event) {
5693
- recordLastTerminalEvent(sessionId, event);
5694
- const observer = observers.get(sessionId);
5695
- if (!observer) return;
5696
- try {
5697
- observer(event);
5698
- } catch {
5699
- }
5700
- }
5701
- __name(notifyGoalTerminal, "notifyGoalTerminal");
5702
- var lastTerminal = /* @__PURE__ */ new Map();
5703
- function recordLastTerminalEvent(sessionId, event) {
5704
- lastTerminal.set(sessionId, event);
5705
- }
5706
- __name(recordLastTerminalEvent, "recordLastTerminalEvent");
5707
-
5708
- // packages/core/src/goals/goalHook.ts
5709
- init_esbuild_shims();
5710
-
5711
- // packages/core/src/goals/goalJudge.ts
5712
- init_esbuild_shims();
5713
- var debugLogger9 = createDebugLogger("GOAL_JUDGE");
5714
-
5715
- // packages/core/src/goals/goalHook.ts
5716
- var debugLogger10 = createDebugLogger("GOAL_HOOK");
5717
- var GOAL_HOOK_TIMEOUT_SECONDS = 30;
5718
- var GOAL_HOOK_TIMEOUT_MS = GOAL_HOOK_TIMEOUT_SECONDS * 1e3;
5719
- var GOAL_HOOK_ID_OUTPUT_KEY = "qwenGoalHookId";
5720
- function getStopHookContinuationReason(output) {
5721
- const hasGoalOutput = typeof output.hookSpecificOutput?.[GOAL_HOOK_ID_OUTPUT_KEY] === "string";
5722
- if (!hasGoalOutput) {
5723
- return output.stopReason || output.reason || "No reason provided";
5724
- }
5725
- return [output.stopReason, output.reason].filter(Boolean).join("\n") || "No reason provided";
5726
- }
5727
- __name(getStopHookContinuationReason, "getStopHookContinuationReason");
5728
- function removeGoalFunctionHook(config, sessionId, goal) {
5729
- const system = config.getHookSystem?.();
5730
- if (!system) return;
5731
- try {
5732
- system.removeFunctionHook(sessionId, "Stop" /* Stop */, goal.hookId);
5733
- } catch (err) {
5734
- debugLogger10.debug(
5735
- `Failed to remove goal hook ${goal.hookId}: ${err instanceof Error ? err.message : String(err)}`
5736
- );
5737
- }
5738
- }
5739
- __name(removeGoalFunctionHook, "removeGoalFunctionHook");
5740
- function finishGoal(config, sessionId, goal, event) {
5741
- clearActiveGoal(sessionId);
5742
- removeGoalFunctionHook(config, sessionId, goal);
5743
- notifyGoalTerminal(sessionId, event);
5744
- clearGoalTerminalObserver(sessionId);
5745
- }
5746
- __name(finishGoal, "finishGoal");
5747
- function abortGoalForStopHookCap(config, sessionId, systemMessage) {
5748
- const goal = getActiveGoal(sessionId);
5749
- if (!goal) return false;
5750
- finishGoal(config, sessionId, goal, {
5751
- kind: "aborted",
5752
- condition: goal.condition,
5753
- iterations: goal.iterations,
5754
- durationMs: Date.now() - goal.setAt,
5755
- lastReason: goal.lastReason,
5756
- systemMessage
5757
- });
5758
- return true;
5759
- }
5760
- __name(abortGoalForStopHookCap, "abortGoalForStopHookCap");
5761
-
5762
5672
  // packages/core/src/index.ts
5763
5673
  init_esbuild_shims();
5764
5674
 
@@ -6276,7 +6186,7 @@ init_esbuild_shims();
6276
6186
  import * as fs4 from "fs/promises";
6277
6187
  import * as os from "os";
6278
6188
  import * as path6 from "path";
6279
- var debugLogger11 = createDebugLogger("OUTPUT_STYLE_FILES");
6189
+ var debugLogger9 = createDebugLogger("OUTPUT_STYLE_FILES");
6280
6190
  var OUTPUT_STYLES_DIR_NAME = "output-styles";
6281
6191
  var MAX_OUTPUT_STYLE_FILE_BYTES = 25e3;
6282
6192
  var MAX_OUTPUT_STYLE_NAME_LENGTH = 64;
@@ -6335,7 +6245,7 @@ function parseOutputStyleFile(content, filePath, source) {
6335
6245
  (key) => !KNOWN_FRONTMATTER_KEYS.has(key)
6336
6246
  );
6337
6247
  if (unknownKeys.length > 0) {
6338
- debugLogger11.warn(
6248
+ debugLogger9.warn(
6339
6249
  `Output style ${filePath}: ignoring unknown frontmatter keys ${unknownKeys.join(", ")}`
6340
6250
  );
6341
6251
  }
@@ -6352,7 +6262,7 @@ function resolveKeepCodingInstructions(frontmatter, name, filePath) {
6352
6262
  return true;
6353
6263
  }
6354
6264
  if (spelling !== false && spelling !== "false") {
6355
- debugLogger11.warn(
6265
+ debugLogger9.warn(
6356
6266
  `Output style ${filePath}: keep-coding-instructions value ${JSON.stringify(raw)} is not true or false; treating it as false`
6357
6267
  );
6358
6268
  }
@@ -6405,20 +6315,20 @@ __name(deriveDescription, "deriveDescription");
6405
6315
  async function resolveStyleFileToRead(filePath, source, confineTo) {
6406
6316
  const stat5 = source === "project" ? await fs4.lstat(filePath) : await fs4.stat(filePath);
6407
6317
  if (source === "project" && stat5.isSymbolicLink()) {
6408
- debugLogger11.warn(`Skipping output style ${filePath}: it is a symlink`);
6318
+ debugLogger9.warn(`Skipping output style ${filePath}: it is a symlink`);
6409
6319
  return null;
6410
6320
  }
6411
6321
  if (!stat5.isFile()) {
6412
6322
  return null;
6413
6323
  }
6414
6324
  if (stat5.nlink > 1) {
6415
- debugLogger11.warn(`Skipping output style ${filePath}: it is a hard link`);
6325
+ debugLogger9.warn(`Skipping output style ${filePath}: it is a hard link`);
6416
6326
  return null;
6417
6327
  }
6418
6328
  const realPath = await fs4.realpath(filePath);
6419
6329
  const realRoot = await fs4.realpath(confineTo);
6420
6330
  if (realPath !== realRoot && !isWithinRoot(realPath, realRoot)) {
6421
- debugLogger11.warn(
6331
+ debugLogger9.warn(
6422
6332
  `Skipping output style ${filePath}: it resolves outside ${realRoot}`
6423
6333
  );
6424
6334
  return null;
@@ -6456,7 +6366,7 @@ async function loadOutputStylesFromDir(dir, source, confineTo) {
6456
6366
  entries = await fs4.readdir(dir);
6457
6367
  } catch (error) {
6458
6368
  if (error.code !== "ENOENT") {
6459
- debugLogger11.warn(`Cannot read output styles directory ${dir}:`, error);
6369
+ debugLogger9.warn(`Cannot read output styles directory ${dir}:`, error);
6460
6370
  }
6461
6371
  return [];
6462
6372
  }
@@ -6475,13 +6385,13 @@ async function loadOutputStylesFromDir(dir, source, confineTo) {
6475
6385
  }
6476
6386
  const buffer = await readBoundedStyleFile(readPath);
6477
6387
  if (buffer.byteLength > MAX_OUTPUT_STYLE_FILE_BYTES) {
6478
- debugLogger11.warn(
6388
+ debugLogger9.warn(
6479
6389
  `Skipping output style ${filePath}: larger than ${MAX_OUTPUT_STYLE_FILE_BYTES} bytes`
6480
6390
  );
6481
6391
  continue;
6482
6392
  }
6483
6393
  if (isBinary(buffer)) {
6484
- debugLogger11.warn(
6394
+ debugLogger9.warn(
6485
6395
  `Skipping output style ${filePath}: it is not UTF-8 text`
6486
6396
  );
6487
6397
  continue;
@@ -6493,7 +6403,7 @@ async function loadOutputStylesFromDir(dir, source, confineTo) {
6493
6403
  );
6494
6404
  const key = style.name.toLowerCase();
6495
6405
  if (seen.has(key)) {
6496
- debugLogger11.warn(
6406
+ debugLogger9.warn(
6497
6407
  `Skipping output style ${filePath}: another file in ${dir} already defines "${style.name}"`
6498
6408
  );
6499
6409
  continue;
@@ -6501,7 +6411,7 @@ async function loadOutputStylesFromDir(dir, source, confineTo) {
6501
6411
  seen.add(key);
6502
6412
  styles.push(style);
6503
6413
  } catch (error) {
6504
- debugLogger11.warn(
6414
+ debugLogger9.warn(
6505
6415
  `Skipping output style ${filePath}: ${error instanceof Error ? error.message : String(error)}`
6506
6416
  );
6507
6417
  }
@@ -6549,7 +6459,7 @@ async function loadOutputStyleCatalog(options = {}) {
6549
6459
  const key = style.name.toLowerCase();
6550
6460
  const winner = winners.get(key);
6551
6461
  if (winner) {
6552
- debugLogger11.debug(
6462
+ debugLogger9.debug(
6553
6463
  `Output style "${style.name}" (${style.source}) is shadowed by the ${winner.source} style of the same name`
6554
6464
  );
6555
6465
  continue;
@@ -6569,7 +6479,7 @@ __name(findOutputStyle, "findOutputStyle");
6569
6479
 
6570
6480
  // packages/core/src/tools/client-mcp-registrar.ts
6571
6481
  init_esbuild_shims();
6572
- var debugLogger12 = createDebugLogger("CLIENT_MCP_REGISTRAR");
6482
+ var debugLogger10 = createDebugLogger("CLIENT_MCP_REGISTRAR");
6573
6483
  var CLIENT_MCP_MESSAGE_TIMEOUT_MS = 3e4;
6574
6484
  var ClientMcpRegistrar = class {
6575
6485
  static {
@@ -6592,7 +6502,7 @@ var ClientMcpRegistrar = class {
6592
6502
  */
6593
6503
  registerServer(serverName) {
6594
6504
  this.servers.add(serverName);
6595
- debugLogger12.debug(`Registered client MCP server '${serverName}'`);
6505
+ debugLogger10.debug(`Registered client MCP server '${serverName}'`);
6596
6506
  }
6597
6507
  /**
6598
6508
  * Drop a server name and reject any in-flight requests targeting it. Returns
@@ -6605,7 +6515,7 @@ var ClientMcpRegistrar = class {
6605
6515
  new Error(`client MCP server '${serverName}' was unregistered`)
6606
6516
  );
6607
6517
  if (existed) {
6608
- debugLogger12.debug(`Unregistered client MCP server '${serverName}'`);
6518
+ debugLogger10.debug(`Unregistered client MCP server '${serverName}'`);
6609
6519
  }
6610
6520
  return existed;
6611
6521
  }
@@ -6705,7 +6615,7 @@ var ClientMcpRegistrar = class {
6705
6615
  resolveMessage(id, payload) {
6706
6616
  const pending = this.pending.get(id);
6707
6617
  if (!pending) {
6708
- debugLogger12.debug(`Dropping mcp_message with unknown id '${id}'`);
6618
+ debugLogger10.debug(`Dropping mcp_message with unknown id '${id}'`);
6709
6619
  return false;
6710
6620
  }
6711
6621
  this.pending.delete(id);
@@ -6927,7 +6837,7 @@ import { createHash, randomBytes as randomBytes2, timingSafeEqual as timingSafeE
6927
6837
  import * as fsSync2 from "node:fs";
6928
6838
  import * as fs5 from "node:fs/promises";
6929
6839
  import * as path7 from "node:path";
6930
- var debugLogger13 = createDebugLogger("PEER_CONTROLLERS");
6840
+ var debugLogger11 = createDebugLogger("PEER_CONTROLLERS");
6931
6841
  var PEER_CONTROLLER_SCHEMA_VERSION = 1;
6932
6842
  var CONTROLLER_TOKEN_PREFIX = "qpc_";
6933
6843
  var CONTROLLER_TOKEN_BYTES = 32;
@@ -6948,7 +6858,7 @@ var LOCK_OPTIONS = {
6948
6858
  randomize: true
6949
6859
  },
6950
6860
  onCompromised: /* @__PURE__ */ __name((error) => {
6951
- debugLogger13.debug(
6861
+ debugLogger11.debug(
6952
6862
  `controller registry lock compromised: ${describe2(error)}`
6953
6863
  );
6954
6864
  }, "onCompromised")
@@ -7015,13 +6925,13 @@ function readPeerControllerRegistrySync(filePath = getPeerControllerRegistryPath
7015
6925
  try {
7016
6926
  const stats = fsSync2.lstatSync(filePath);
7017
6927
  if (!stats.isFile()) {
7018
- debugLogger13.debug(
6928
+ debugLogger11.debug(
7019
6929
  `ignoring the controller registry at ${filePath}: not a regular file`
7020
6930
  );
7021
6931
  return emptyRegistry();
7022
6932
  }
7023
6933
  if (stats.size > MAX_REGISTRY_BYTES) {
7024
- debugLogger13.debug(
6934
+ debugLogger11.debug(
7025
6935
  `ignoring the controller registry at ${filePath}: ${stats.size} bytes exceeds the ${MAX_REGISTRY_BYTES}-byte cap`
7026
6936
  );
7027
6937
  return emptyRegistry();
@@ -7029,7 +6939,7 @@ function readPeerControllerRegistrySync(filePath = getPeerControllerRegistryPath
7029
6939
  raw = fsSync2.readFileSync(filePath, "utf8");
7030
6940
  } catch (error) {
7031
6941
  if (!isNodeError(error) || error.code !== "ENOENT") {
7032
- debugLogger13.debug(
6942
+ debugLogger11.debug(
7033
6943
  `could not read the controller registry at ${filePath}: ${describe2(error)}`
7034
6944
  );
7035
6945
  }
@@ -7039,14 +6949,14 @@ function readPeerControllerRegistrySync(filePath = getPeerControllerRegistryPath
7039
6949
  try {
7040
6950
  parsed = JSON.parse(raw);
7041
6951
  } catch (error) {
7042
- debugLogger13.debug(
6952
+ debugLogger11.debug(
7043
6953
  `the controller registry at ${filePath} is not JSON: ${describe2(error)}`
7044
6954
  );
7045
6955
  return emptyRegistry();
7046
6956
  }
7047
6957
  if (!isRecord(parsed)) return emptyRegistry();
7048
6958
  if (parsed["schemaVersion"] !== PEER_CONTROLLER_SCHEMA_VERSION) {
7049
- debugLogger13.debug(
6959
+ debugLogger11.debug(
7050
6960
  `ignoring the controller registry at ${filePath}: unsupported schemaVersion ${String(
7051
6961
  parsed["schemaVersion"]
7052
6962
  )}`
@@ -7059,7 +6969,7 @@ function readPeerControllerRegistrySync(filePath = getPeerControllerRegistryPath
7059
6969
  for (const entry of controllers) {
7060
6970
  const record = toValidRecord(entry);
7061
6971
  if (record === null) {
7062
- debugLogger13.debug(
6972
+ debugLogger11.debug(
7063
6973
  `skipping a malformed entry in the controller registry at ${filePath}`
7064
6974
  );
7065
6975
  continue;
@@ -7287,7 +7197,7 @@ __name(removePeerController, "removePeerController");
7287
7197
 
7288
7198
  // packages/core/src/ipc/peer-drop-reports.ts
7289
7199
  init_esbuild_shims();
7290
- var debugLogger14 = createDebugLogger("PEER_DROP_REPORTS");
7200
+ var debugLogger12 = createDebugLogger("PEER_DROP_REPORTS");
7291
7201
  var DROP_REPORT_WINDOW_MS = 6e4;
7292
7202
  var DROP_RECEIPT_TRAIL_MS = 5e3;
7293
7203
  var DROP_FLUSH_BOUND_MS = 500;
@@ -7429,7 +7339,7 @@ var DropReceiptCoalescer = class {
7429
7339
  const now = this.now();
7430
7340
  const age = now - batch.firstNotedAt;
7431
7341
  if (!force && age >= MAX_DEFERRED_RECEIPT_AGE_MS) {
7432
- debugLogger14.debug(
7342
+ debugLogger12.debug(
7433
7343
  `abandoning a dropped receipt held ${Math.round(age)} ms by a spent budget`
7434
7344
  );
7435
7345
  this.clearBatch(batch);
@@ -7467,7 +7377,7 @@ var DropReceiptCoalescer = class {
7467
7377
  try {
7468
7378
  result = this.send(receipt);
7469
7379
  } catch (error) {
7470
- debugLogger14.debug(`sending a dropped receipt threw: ${describe3(error)}`);
7380
+ debugLogger12.debug(`sending a dropped receipt threw: ${describe3(error)}`);
7471
7381
  return;
7472
7382
  }
7473
7383
  if (!(result instanceof Promise)) return result;
@@ -7568,7 +7478,7 @@ var DropNoticeThrottle = class {
7568
7478
  suppressed
7569
7479
  });
7570
7480
  } catch (error) {
7571
- debugLogger14.debug(`drop-notice listener threw: ${describe3(error)}`);
7481
+ debugLogger12.debug(`drop-notice listener threw: ${describe3(error)}`);
7572
7482
  }
7573
7483
  }
7574
7484
  touch(key) {
@@ -7758,7 +7668,7 @@ var DroppedNotificationTally = class {
7758
7668
 
7759
7669
  // packages/core/src/services/toolUseSummary.ts
7760
7670
  init_esbuild_shims();
7761
- var debugLogger15 = createDebugLogger("TOOL_USE_SUMMARY");
7671
+ var debugLogger13 = createDebugLogger("TOOL_USE_SUMMARY");
7762
7672
  var TOOL_USE_SUMMARY_SYSTEM_PROMPT = `Write a short summary label describing what these tool calls accomplished. It appears as a single-line row in a mobile app and truncates around 30 characters, so think git-commit-subject, not sentence.
7763
7673
 
7764
7674
  Keep the verb in past tense and the most distinctive noun. Drop articles, connectors, and long location context first.
@@ -7779,7 +7689,7 @@ async function generateToolUseSummary(params) {
7779
7689
  }
7780
7690
  const model = config.getFastModel();
7781
7691
  if (!model) {
7782
- debugLogger15.debug("No fast model configured \u2014 skipping summary generation");
7692
+ debugLogger13.debug("No fast model configured \u2014 skipping summary generation");
7783
7693
  return null;
7784
7694
  }
7785
7695
  if (signal.aborted) {
@@ -7802,7 +7712,7 @@ ${toolSummaries}
7802
7712
 
7803
7713
  Label:`;
7804
7714
  if (!config.getLlmClient()) {
7805
- debugLogger15.debug("No gemini client available \u2014 skipping");
7715
+ debugLogger13.debug("No gemini client available \u2014 skipping");
7806
7716
  return null;
7807
7717
  }
7808
7718
  const result = await runSideQuery(config, {
@@ -7821,19 +7731,19 @@ Label:`;
7821
7731
  });
7822
7732
  if (signal.aborted) return null;
7823
7733
  if (!result.text) {
7824
- debugLogger15.debug("Summary generation returned empty result");
7734
+ debugLogger13.debug("Summary generation returned empty result");
7825
7735
  return null;
7826
7736
  }
7827
7737
  const cleaned = cleanSummary(result.text);
7828
7738
  if (!cleaned) {
7829
- debugLogger15.debug(`Summary cleaned to empty: raw="${result.text}"`);
7739
+ debugLogger13.debug(`Summary cleaned to empty: raw="${result.text}"`);
7830
7740
  return null;
7831
7741
  }
7832
- debugLogger15.debug(`Summary generated: "${cleaned}"`);
7742
+ debugLogger13.debug(`Summary generated: "${cleaned}"`);
7833
7743
  return cleaned;
7834
7744
  } catch (err) {
7835
7745
  if (signal.aborted) return null;
7836
- debugLogger15.warn(
7746
+ debugLogger13.warn(
7837
7747
  `Summary generation failed: ${err instanceof Error ? err.message : String(err)}`
7838
7748
  );
7839
7749
  return null;
@@ -7907,7 +7817,7 @@ __name(cleanSummary, "cleanSummary");
7907
7817
 
7908
7818
  // packages/core/src/services/usage-dashboard-service.ts
7909
7819
  init_esbuild_shims();
7910
- var debugLogger16 = createDebugLogger("USAGE_DASHBOARD");
7820
+ var debugLogger14 = createDebugLogger("USAGE_DASHBOARD");
7911
7821
  var DEFAULT_HEATMAP_DAYS = 183;
7912
7822
  var MAX_DAILY_DAYS = 92;
7913
7823
  var MS_PER_DAY = 24 * 60 * 60 * 1e3;
@@ -8032,7 +7942,7 @@ function buildUsageDashboard(records, options = {}) {
8032
7942
  );
8033
7943
  const daily = buildDaily(records, dailyStart, now);
8034
7944
  const heatmap = buildHeatmap(records, now - heatmapDays * MS_PER_DAY, now);
8035
- debugLogger16.debug(
7945
+ debugLogger14.debug(
8036
7946
  `built dashboard range=${range} records=${records.length} models=${models.length} skills=${skills.length} dailyPoints=${daily.length}`
8037
7947
  );
8038
7948
  return {
@@ -8368,7 +8278,7 @@ import * as path8 from "node:path";
8368
8278
  var CHANNEL_MEMORY_FILE_NAME = "CHANNEL.json";
8369
8279
  var LEGACY_CHANNEL_MEMORY_FILE_NAME = "CHANNEL.md";
8370
8280
  var MAX_CHANNEL_MEMORY_BYTES = 1024 * 1024;
8371
- var debugLogger17 = createDebugLogger("CHANNEL_MEMORY");
8281
+ var debugLogger15 = createDebugLogger("CHANNEL_MEMORY");
8372
8282
  var pendingMutations = /* @__PURE__ */ new Map();
8373
8283
  var LOCK_OPTIONS2 = {
8374
8284
  realpath: false,
@@ -8381,7 +8291,7 @@ var LOCK_OPTIONS2 = {
8381
8291
  },
8382
8292
  stale: 5e3,
8383
8293
  onCompromised: /* @__PURE__ */ __name((err) => {
8384
- debugLogger17.warn("channel memory lock compromised:", err);
8294
+ debugLogger15.warn("channel memory lock compromised:", err);
8385
8295
  }, "onCompromised")
8386
8296
  };
8387
8297
  function isMissingFile(error) {
@@ -9363,7 +9273,7 @@ init_esbuild_shims();
9363
9273
  import * as fs9 from "node:fs";
9364
9274
  import * as path11 from "path";
9365
9275
  import { pathToFileURL } from "url";
9366
- var debugLogger18 = createDebugLogger("LSP");
9276
+ var debugLogger16 = createDebugLogger("LSP");
9367
9277
  var MAX_TCP_PORT = 65535;
9368
9278
  var LspConfigLoader = class {
9369
9279
  constructor(workspaceRoot) {
@@ -9388,7 +9298,7 @@ var LspConfigLoader = class {
9388
9298
  forceTrustRequired: true
9389
9299
  });
9390
9300
  } catch (error) {
9391
- debugLogger18.warn("Failed to load user .lsp.json config:", error);
9301
+ debugLogger16.warn("Failed to load user .lsp.json config:", error);
9392
9302
  return [];
9393
9303
  }
9394
9304
  }
@@ -9425,7 +9335,7 @@ var LspConfigLoader = class {
9425
9335
  lspServers
9426
9336
  );
9427
9337
  if (!fs9.existsSync(configPath)) {
9428
- debugLogger18.warn(
9338
+ debugLogger16.warn(
9429
9339
  `LSP config not found for ${originBase}: ${configPath}`
9430
9340
  );
9431
9341
  continue;
@@ -9441,7 +9351,7 @@ var LspConfigLoader = class {
9441
9351
  )
9442
9352
  );
9443
9353
  } catch (error) {
9444
- debugLogger18.warn(
9354
+ debugLogger16.warn(
9445
9355
  `Failed to load extension LSP config from ${configPath}:`,
9446
9356
  error
9447
9357
  );
@@ -9455,7 +9365,7 @@ var LspConfigLoader = class {
9455
9365
  ...this.parseConfigSource(hydrated, `${originBase} (lspServers)`)
9456
9366
  );
9457
9367
  } else {
9458
- debugLogger18.warn(
9368
+ debugLogger16.warn(
9459
9369
  `LSP config for ${originBase} must be an object or a JSON file path.`
9460
9370
  );
9461
9371
  }
@@ -9593,13 +9503,13 @@ var LspConfigLoader = class {
9593
9503
  const trustRequired = options.forceTrustRequired ? true : typeof spec["trustRequired"] === "boolean" ? spec["trustRequired"] : true;
9594
9504
  const socket = this.normalizeSocketOptions(spec);
9595
9505
  if (transport === "stdio" && !command) {
9596
- debugLogger18.warn(
9506
+ debugLogger16.warn(
9597
9507
  `LSP config error in ${origin}: ${name} missing command`
9598
9508
  );
9599
9509
  return null;
9600
9510
  }
9601
9511
  if (transport !== "stdio" && !socket) {
9602
- debugLogger18.warn(
9512
+ debugLogger16.warn(
9603
9513
  `LSP config error in ${origin}: ${name} missing socket info`
9604
9514
  );
9605
9515
  return null;
@@ -9741,7 +9651,7 @@ var LspConfigLoader = class {
9741
9651
  if (resolved === root || resolved.startsWith(root + path11.sep)) {
9742
9652
  return resolved;
9743
9653
  }
9744
- debugLogger18.warn(
9654
+ debugLogger16.warn(
9745
9655
  `LSP workspaceFolder must be within ${this.workspaceRoot}; using workspace root instead.`
9746
9656
  );
9747
9657
  return this.workspaceRoot;
@@ -9753,7 +9663,7 @@ init_esbuild_shims();
9753
9663
  import * as cp from "node:child_process";
9754
9664
  import * as net2 from "node:net";
9755
9665
  import { StringDecoder } from "node:string_decoder";
9756
- var debugLogger19 = createDebugLogger("LSP");
9666
+ var debugLogger17 = createDebugLogger("LSP");
9757
9667
  var MAX_STDERR_TAIL_BYTES = 8192;
9758
9668
  function trimTail(value, maxBytes) {
9759
9669
  const buffer = Buffer.from(value, "utf8");
@@ -9818,7 +9728,7 @@ var JsonRpcConnection = class {
9818
9728
  try {
9819
9729
  this.disposer?.();
9820
9730
  } catch (error) {
9821
- debugLogger19.warn("LSP disposer failed:", error);
9731
+ debugLogger17.warn("LSP disposer failed:", error);
9822
9732
  }
9823
9733
  }
9824
9734
  sendRequest(method, params) {
@@ -9945,7 +9855,7 @@ var JsonRpcConnection = class {
9945
9855
  try {
9946
9856
  this.writer(header + json);
9947
9857
  } catch (error) {
9948
- debugLogger19.warn("LSP write failed:", error);
9858
+ debugLogger17.warn("LSP write failed:", error);
9949
9859
  this.end();
9950
9860
  }
9951
9861
  }
@@ -10004,14 +9914,14 @@ var LspConnectionFactory = class _LspConnectionFactory {
10004
9914
  );
10005
9915
  });
10006
9916
  processInstance.stderr?.on("error", (err) => {
10007
- debugLogger19.warn(`LSP stderr stream error for ${command}:`, err);
9917
+ debugLogger17.warn(`LSP stderr stream error for ${command}:`, err);
10008
9918
  });
10009
9919
  const connection = new JsonRpcConnection(
10010
9920
  (payload) => processInstance.stdin?.write(payload),
10011
9921
  () => processInstance.stdin?.end()
10012
9922
  );
10013
9923
  processInstance.stdin.on("error", (err) => {
10014
- debugLogger19.warn(`LSP stdin stream error for ${command}:`, err);
9924
+ debugLogger17.warn(`LSP stdin stream error for ${command}:`, err);
10015
9925
  connection.end();
10016
9926
  });
10017
9927
  connection.listen(processInstance.stdout);
@@ -10094,7 +10004,7 @@ var LspConnectionFactory = class _LspConnectionFactory {
10094
10004
  try {
10095
10005
  await lspConnection.connection.shutdown();
10096
10006
  } catch (e) {
10097
- debugLogger19.warn("LSP shutdown failed:", e);
10007
+ debugLogger17.warn("LSP shutdown failed:", e);
10098
10008
  } finally {
10099
10009
  lspConnection.connection.end();
10100
10010
  }
@@ -10772,7 +10682,7 @@ import { spawn as spawn2 } from "node:child_process";
10772
10682
  import * as fs10 from "node:fs";
10773
10683
  import * as path12 from "path";
10774
10684
  import { pathToFileURL as pathToFileURL2 } from "url";
10775
- var debugLogger20 = createDebugLogger("LSP");
10685
+ var debugLogger18 = createDebugLogger("LSP");
10776
10686
  var SECURITY_SENSITIVE_ENV_KEYS = /* @__PURE__ */ new Set([
10777
10687
  "DYLD_INSERT_LIBRARIES",
10778
10688
  "DYLD_LIBRARY_PATH",
@@ -10809,7 +10719,7 @@ var LspServerManager = class {
10809
10719
  });
10810
10720
  this.serverConfigHashes.set(config.name, lspServerConfigHash(config));
10811
10721
  }
10812
- debugLogger20.info(
10722
+ debugLogger18.info(
10813
10723
  `Prepared ${configs.length} LSP server config(s): ${formatServerNames(
10814
10724
  configs.map((config) => config.name)
10815
10725
  )}`
@@ -10818,7 +10728,7 @@ var LspServerManager = class {
10818
10728
  /** Drops all prepared handles without attempting process shutdown. */
10819
10729
  clearServerHandles() {
10820
10730
  if (this.serverHandles.size > 0) {
10821
- debugLogger20.info(
10731
+ debugLogger18.info(
10822
10732
  `Clearing ${this.serverHandles.size} LSP server handle(s): ${formatServerNames(
10823
10733
  Array.from(this.serverHandles.keys())
10824
10734
  )}`
@@ -10879,7 +10789,7 @@ var LspServerManager = class {
10879
10789
  * before their handles are deleted or replaced.
10880
10790
  */
10881
10791
  async doReconcileServerConfigs(configs) {
10882
- debugLogger20.info(
10792
+ debugLogger18.info(
10883
10793
  `Reconciling LSP server configs: desired=${formatServerNames(
10884
10794
  configs.map((config) => config.name)
10885
10795
  )}`
@@ -10951,7 +10861,7 @@ var LspServerManager = class {
10951
10861
  result.added.push(name);
10952
10862
  }
10953
10863
  }
10954
- debugLogger20.info(
10864
+ debugLogger18.info(
10955
10865
  `LSP reconcile result: added=${formatServerNames(
10956
10866
  result.added
10957
10867
  )}, removed=${formatServerNames(
@@ -11005,7 +10915,7 @@ var LspServerManager = class {
11005
10915
  handle.warmedUp = true;
11006
10916
  return uri;
11007
10917
  } catch (error) {
11008
- debugLogger20.warn("TypeScript server warm-up failed:", error);
10918
+ debugLogger18.warn("TypeScript server warm-up failed:", error);
11009
10919
  return void 0;
11010
10920
  }
11011
10921
  }
@@ -11052,7 +10962,7 @@ var LspServerManager = class {
11052
10962
  async doStartServer(name, handle) {
11053
10963
  const workspaceTrusted = this.config.isTrustedFolder();
11054
10964
  if ((this.requireTrustedWorkspace || handle.config.trustRequired) && !workspaceTrusted) {
11055
- debugLogger20.warn(
10965
+ debugLogger18.warn(
11056
10966
  `LSP server ${name} requires trusted workspace, skipping startup`
11057
10967
  );
11058
10968
  handle.status = "FAILED";
@@ -11065,7 +10975,7 @@ var LspServerManager = class {
11065
10975
  workspaceTrusted
11066
10976
  );
11067
10977
  if (!trusted) {
11068
- debugLogger20.warn(
10978
+ debugLogger18.warn(
11069
10979
  `Workspace trust check failed, not starting LSP server ${name}`
11070
10980
  );
11071
10981
  handle.status = "FAILED";
@@ -11075,7 +10985,7 @@ var LspServerManager = class {
11075
10985
  if (handle.config.command) {
11076
10986
  const commandCwd = handle.config.workspaceFolder ?? this.workspaceRoot;
11077
10987
  if (!this.isPathSafe(handle.config.command, this.workspaceRoot, commandCwd)) {
11078
- debugLogger20.warn(
10988
+ debugLogger18.warn(
11079
10989
  `LSP server ${name} command path is unsafe: ${handle.config.command}`
11080
10990
  );
11081
10991
  handle.status = "FAILED";
@@ -11087,7 +10997,7 @@ var LspServerManager = class {
11087
10997
  handle.config.env,
11088
10998
  commandCwd
11089
10999
  )) {
11090
- debugLogger20.warn(
11000
+ debugLogger18.warn(
11091
11001
  `LSP server ${name} command not found: ${handle.config.command}`
11092
11002
  );
11093
11003
  handle.status = "FAILED";
@@ -11102,7 +11012,7 @@ var LspServerManager = class {
11102
11012
  handle.processDiagnostics = void 0;
11103
11013
  handle.warmedUp = false;
11104
11014
  handle.status = "IN_PROGRESS";
11105
- debugLogger20.info(
11015
+ debugLogger18.info(
11106
11016
  `Starting LSP server ${name}: command=${handle.config.command ?? "<none>"}, transport=${handle.config.transport}, languages=${formatServerNames(
11107
11017
  handle.config.languages
11108
11018
  )}`
@@ -11127,7 +11037,7 @@ var LspServerManager = class {
11127
11037
  }
11128
11038
  handle.status = "READY";
11129
11039
  this.attachRestartHandler(name, handle);
11130
- debugLogger20.info(`LSP server ${name} started successfully`);
11040
+ debugLogger18.info(`LSP server ${name} started successfully`);
11131
11041
  } catch (error) {
11132
11042
  handle.status = "FAILED";
11133
11043
  handle.error = error;
@@ -11141,21 +11051,21 @@ var LspServerManager = class {
11141
11051
  }
11142
11052
  await this.releaseServerResources(name, handle, false);
11143
11053
  if (handle.processDiagnostics) {
11144
- debugLogger20.error(
11054
+ debugLogger18.error(
11145
11055
  `LSP server ${name} process diagnostics:`,
11146
11056
  handle.processDiagnostics
11147
11057
  );
11148
11058
  }
11149
11059
  handle.connection = void 0;
11150
11060
  handle.process = void 0;
11151
- debugLogger20.error(`LSP server ${name} failed to start:`, error);
11061
+ debugLogger18.error(`LSP server ${name} failed to start:`, error);
11152
11062
  }
11153
11063
  }
11154
11064
  /**
11155
11065
  * Stops a server and resets runtime-only handle state.
11156
11066
  */
11157
11067
  async stopServer(name, handle) {
11158
- debugLogger20.info(`Stopping LSP server ${name}`);
11068
+ debugLogger18.info(`Stopping LSP server ${name}`);
11159
11069
  handle.stopRequested = true;
11160
11070
  handle.startupAbortController?.abort();
11161
11071
  if (handle.startingPromise) {
@@ -11168,7 +11078,7 @@ var LspServerManager = class {
11168
11078
  handle.status = "NOT_STARTED";
11169
11079
  handle.warmedUp = false;
11170
11080
  handle.restartAttempts = 0;
11171
- debugLogger20.info(`LSP server ${name} stopped`);
11081
+ debugLogger18.info(`LSP server ${name} stopped`);
11172
11082
  }
11173
11083
  async abortAndWaitForStartup(handle) {
11174
11084
  if (!handle.startingPromise) {
@@ -11192,14 +11102,14 @@ var LspServerManager = class {
11192
11102
  handle.connection.end();
11193
11103
  }
11194
11104
  } catch (error) {
11195
- debugLogger20.error(`Error closing LSP server ${name}:`, error);
11105
+ debugLogger18.error(`Error closing LSP server ${name}:`, error);
11196
11106
  }
11197
11107
  }
11198
11108
  if (handle.process && handle.process.exitCode === null) {
11199
11109
  try {
11200
11110
  handle.process.kill();
11201
11111
  } catch (error) {
11202
- debugLogger20.warn(`Error killing LSP server ${name} process:`, error);
11112
+ debugLogger18.warn(`Error killing LSP server ${name} process:`, error);
11203
11113
  }
11204
11114
  }
11205
11115
  }
@@ -11245,7 +11155,7 @@ var LspServerManager = class {
11245
11155
  }
11246
11156
  handle.processExitedUnexpectedly = true;
11247
11157
  if (!handle.config.restartOnCrash) {
11248
- debugLogger20.warn(
11158
+ debugLogger18.warn(
11249
11159
  `LSP server ${name} exited but restartOnCrash is disabled`
11250
11160
  );
11251
11161
  handle.status = "FAILED";
@@ -11254,7 +11164,7 @@ var LspServerManager = class {
11254
11164
  }
11255
11165
  const maxRestarts = handle.config.maxRestarts ?? DEFAULT_LSP_MAX_RESTARTS;
11256
11166
  if (maxRestarts <= 0) {
11257
- debugLogger20.warn(
11167
+ debugLogger18.warn(
11258
11168
  `LSP server ${name} exited but maxRestarts is ${maxRestarts}`
11259
11169
  );
11260
11170
  handle.status = "FAILED";
@@ -11263,7 +11173,7 @@ var LspServerManager = class {
11263
11173
  }
11264
11174
  const attempts = handle.restartAttempts ?? 0;
11265
11175
  if (attempts >= maxRestarts) {
11266
- debugLogger20.warn(
11176
+ debugLogger18.warn(
11267
11177
  `LSP server ${name} reached max restart attempts (${maxRestarts}), stopping restarts`
11268
11178
  );
11269
11179
  handle.status = "FAILED";
@@ -11271,7 +11181,7 @@ var LspServerManager = class {
11271
11181
  return;
11272
11182
  }
11273
11183
  handle.restartAttempts = attempts + 1;
11274
- debugLogger20.warn(
11184
+ debugLogger18.warn(
11275
11185
  `LSP server ${name} exited (code ${code ?? "unknown"}), restarting (${handle.restartAttempts}/${maxRestarts})`
11276
11186
  );
11277
11187
  this.enqueueCrashRestart(name, handle);
@@ -11319,7 +11229,7 @@ var LspServerManager = class {
11319
11229
  const next = this.reconcileQueue.then(restart, restart);
11320
11230
  this.reconcileQueue = next.catch(() => void 0);
11321
11231
  void next.catch((error) => {
11322
- debugLogger20.warn(`LSP server ${name} crash restart failed:`, error);
11232
+ debugLogger18.warn(`LSP server ${name} crash restart failed:`, error);
11323
11233
  });
11324
11234
  }
11325
11235
  resetHandle(handle) {
@@ -11327,14 +11237,14 @@ var LspServerManager = class {
11327
11237
  try {
11328
11238
  handle.connection.end();
11329
11239
  } catch (error) {
11330
- debugLogger20.warn("Error closing LSP connection during reset:", error);
11240
+ debugLogger18.warn("Error closing LSP connection during reset:", error);
11331
11241
  }
11332
11242
  }
11333
11243
  if (handle.process && handle.process.exitCode === null) {
11334
11244
  try {
11335
11245
  handle.process.kill();
11336
11246
  } catch (error) {
11337
- debugLogger20.warn("Error killing LSP process during reset:", error);
11247
+ debugLogger18.warn("Error killing LSP process during reset:", error);
11338
11248
  }
11339
11249
  }
11340
11250
  handle.connection = void 0;
@@ -11353,7 +11263,7 @@ var LspServerManager = class {
11353
11263
  const filteredEnv = {};
11354
11264
  for (const [key, value] of Object.entries(env2)) {
11355
11265
  if (SECURITY_SENSITIVE_ENV_KEYS.has(key.toUpperCase())) {
11356
- debugLogger20.warn(
11266
+ debugLogger18.warn(
11357
11267
  `Ignoring security-sensitive LSP server env override: ${key}`
11358
11268
  );
11359
11269
  continue;
@@ -11379,7 +11289,7 @@ var LspServerManager = class {
11379
11289
  for (const [key, value] of Object.entries(env2)) {
11380
11290
  const normalizedKey = key.toUpperCase();
11381
11291
  if (normalizedKey === "PATH" || SECURITY_SENSITIVE_ENV_KEYS.has(normalizedKey)) {
11382
- debugLogger20.warn(
11292
+ debugLogger18.warn(
11383
11293
  `Ignoring security-sensitive LSP command probe env override: ${key}`
11384
11294
  );
11385
11295
  continue;
@@ -11628,7 +11538,7 @@ var LspServerManager = class {
11628
11538
  try {
11629
11539
  process3.kill();
11630
11540
  } catch (error) {
11631
- debugLogger20.warn(
11541
+ debugLogger18.warn(
11632
11542
  "Error killing aborted LSP socket process:",
11633
11543
  error
11634
11544
  );
@@ -11801,12 +11711,12 @@ var LspServerManager = class {
11801
11711
  return true;
11802
11712
  }
11803
11713
  if (this.requireTrustedWorkspace || serverConfig.trustRequired) {
11804
- debugLogger20.warn(
11714
+ debugLogger18.warn(
11805
11715
  `Workspace not trusted, skipping LSP server ${serverName} (${serverConfig.command ?? serverConfig.transport})`
11806
11716
  );
11807
11717
  return false;
11808
11718
  }
11809
- debugLogger20.info(
11719
+ debugLogger18.info(
11810
11720
  `Untrusted workspace, but LSP server ${serverName} has trustRequired=false, attempting cautious startup`
11811
11721
  );
11812
11722
  return true;
@@ -12051,7 +11961,7 @@ import * as path13 from "path";
12051
11961
  import { fileURLToPath, pathToFileURL as pathToFileURL3 } from "url";
12052
11962
  import * as fs11 from "node:fs";
12053
11963
  import { promises as fsp } from "node:fs";
12054
- var debugLogger21 = createDebugLogger("LSP");
11964
+ var debugLogger19 = createDebugLogger("LSP");
12055
11965
  var LANGUAGE_ID_TO_EXTENSIONS = {
12056
11966
  typescript: ["ts", "tsx"],
12057
11967
  typescriptreact: ["tsx"],
@@ -12109,7 +12019,7 @@ var NativeLspService = class {
12109
12019
  const workspaceTrusted = this.config.isTrustedFolder();
12110
12020
  this.serverManager.clearServerHandles();
12111
12021
  if (this.requireTrustedWorkspace && !workspaceTrusted) {
12112
- debugLogger21.warn(
12022
+ debugLogger19.warn(
12113
12023
  "Workspace is not trusted, skipping LSP server discovery"
12114
12024
  );
12115
12025
  return;
@@ -12127,7 +12037,7 @@ var NativeLspService = class {
12127
12037
  serverConfigs,
12128
12038
  workspaceTrusted
12129
12039
  );
12130
- debugLogger21.info(
12040
+ debugLogger19.info(
12131
12041
  `Discovered ${admitted.length} LSP server config(s): ${formatServerNames2(
12132
12042
  admitted.map((config) => config.name)
12133
12043
  )}, skipped=${formatServerNames2(skipped.map((server) => server.name))}`
@@ -12162,7 +12072,7 @@ var NativeLspService = class {
12162
12072
  async doReinitialize(signal) {
12163
12073
  this.throwIfReinitializeAborted(signal);
12164
12074
  const workspaceTrusted = this.config.isTrustedFolder();
12165
- debugLogger21.info(
12075
+ debugLogger19.info(
12166
12076
  `Reinitializing LSP servers: workspaceRoot=${this.workspaceRoot}, trusted=${workspaceTrusted}`
12167
12077
  );
12168
12078
  if (this.requireTrustedWorkspace && !workspaceTrusted) {
@@ -12181,7 +12091,7 @@ var NativeLspService = class {
12181
12091
  },
12182
12092
  skipped: []
12183
12093
  };
12184
- debugLogger21.info(
12094
+ debugLogger19.info(
12185
12095
  `LSP reinitialize result: added=<none>, removed=${formatServerNames2(
12186
12096
  removed
12187
12097
  )}, restarted=<none>, unchanged=<none>, failed=<none>, skipped=<none>`
@@ -12223,7 +12133,7 @@ var NativeLspService = class {
12223
12133
  signal
12224
12134
  );
12225
12135
  this.throwIfReinitializeAborted(signal);
12226
- debugLogger21.info(
12136
+ debugLogger19.info(
12227
12137
  `LSP reinitialize result: added=${formatServerNames2(
12228
12138
  reconcile.added
12229
12139
  )}, removed=${formatServerNames2(
@@ -12243,7 +12153,7 @@ var NativeLspService = class {
12243
12153
  const skipped = [];
12244
12154
  for (const config of configs) {
12245
12155
  if (!workspaceTrusted && config.trustRequired) {
12246
- debugLogger21.warn(
12156
+ debugLogger19.warn(
12247
12157
  `LSP server ${config.name} requires trusted workspace, skipping`
12248
12158
  );
12249
12159
  skipped.push({ name: config.name, reason: "server_trust_required" });
@@ -12288,7 +12198,7 @@ var NativeLspService = class {
12288
12198
  try {
12289
12199
  openedAny = this.sendDocumentOpen(name, handle, uri) || openedAny;
12290
12200
  } catch (error) {
12291
- debugLogger21.warn(
12201
+ debugLogger19.warn(
12292
12202
  `Failed to replay document ${uri} for LSP server ${name}:`,
12293
12203
  error
12294
12204
  );
@@ -12417,14 +12327,14 @@ var NativeLspService = class {
12417
12327
  try {
12418
12328
  filePath = fileURLToPath(uri);
12419
12329
  } catch (error) {
12420
- debugLogger21.warn(`Failed to resolve file path for ${uri}:`, error);
12330
+ debugLogger19.warn(`Failed to resolve file path for ${uri}:`, error);
12421
12331
  return false;
12422
12332
  }
12423
12333
  let text;
12424
12334
  try {
12425
12335
  text = fs11.readFileSync(filePath, "utf-8");
12426
12336
  } catch (error) {
12427
- debugLogger21.warn(
12337
+ debugLogger19.warn(
12428
12338
  `Failed to read file for LSP didOpen: ${filePath}`,
12429
12339
  error
12430
12340
  );
@@ -12652,7 +12562,7 @@ var NativeLspService = class {
12652
12562
  }
12653
12563
  }
12654
12564
  } catch (error) {
12655
- debugLogger21.warn(
12565
+ debugLogger19.warn(
12656
12566
  `LSP workspace/symbol failed for ${serverName}:`,
12657
12567
  error
12658
12568
  );
@@ -12703,7 +12613,7 @@ var NativeLspService = class {
12703
12613
  return definitions.slice(0, limit);
12704
12614
  }
12705
12615
  } catch (error) {
12706
- debugLogger21.warn(
12616
+ debugLogger19.warn(
12707
12617
  `LSP textDocument/definition failed for ${name}:`,
12708
12618
  error
12709
12619
  );
@@ -12757,7 +12667,7 @@ var NativeLspService = class {
12757
12667
  return refs.slice(0, limit);
12758
12668
  }
12759
12669
  } catch (error) {
12760
- debugLogger21.warn(
12670
+ debugLogger19.warn(
12761
12671
  `LSP textDocument/references failed for ${name}:`,
12762
12672
  error
12763
12673
  );
@@ -12798,7 +12708,7 @@ var NativeLspService = class {
12798
12708
  return normalized2;
12799
12709
  }
12800
12710
  } catch (error) {
12801
- debugLogger21.warn(`LSP textDocument/hover failed for ${name}:`, error);
12711
+ debugLogger19.warn(`LSP textDocument/hover failed for ${name}:`, error);
12802
12712
  }
12803
12713
  }
12804
12714
  return null;
@@ -12858,7 +12768,7 @@ var NativeLspService = class {
12858
12768
  return symbols.slice(0, limit);
12859
12769
  }
12860
12770
  } catch (error) {
12861
- debugLogger21.warn(
12771
+ debugLogger19.warn(
12862
12772
  `LSP textDocument/documentSymbol failed for ${name}:`,
12863
12773
  error
12864
12774
  );
@@ -12912,7 +12822,7 @@ var NativeLspService = class {
12912
12822
  return implementations.slice(0, limit);
12913
12823
  }
12914
12824
  } catch (error) {
12915
- debugLogger21.warn(
12825
+ debugLogger19.warn(
12916
12826
  `LSP textDocument/implementation failed for ${name}:`,
12917
12827
  error
12918
12828
  );
@@ -12966,7 +12876,7 @@ var NativeLspService = class {
12966
12876
  return items.slice(0, limit);
12967
12877
  }
12968
12878
  } catch (error) {
12969
- debugLogger21.warn(
12879
+ debugLogger19.warn(
12970
12880
  `LSP textDocument/prepareCallHierarchy failed for ${name}:`,
12971
12881
  error
12972
12882
  );
@@ -13006,7 +12916,7 @@ var NativeLspService = class {
13006
12916
  return calls.slice(0, limit);
13007
12917
  }
13008
12918
  } catch (error) {
13009
- debugLogger21.warn(
12919
+ debugLogger19.warn(
13010
12920
  `LSP callHierarchy/incomingCalls failed for ${name}:`,
13011
12921
  error
13012
12922
  );
@@ -13046,7 +12956,7 @@ var NativeLspService = class {
13046
12956
  return calls.slice(0, limit);
13047
12957
  }
13048
12958
  } catch (error) {
13049
- debugLogger21.warn(
12959
+ debugLogger19.warn(
13050
12960
  `LSP callHierarchy/outgoingCalls failed for ${name}:`,
13051
12961
  error
13052
12962
  );
@@ -13086,7 +12996,7 @@ var NativeLspService = class {
13086
12996
  }
13087
12997
  }
13088
12998
  } catch (error) {
13089
- debugLogger21.warn(
12999
+ debugLogger19.warn(
13090
13000
  `LSP textDocument/diagnostic failed for ${name}:`,
13091
13001
  error
13092
13002
  );
@@ -13128,7 +13038,7 @@ var NativeLspService = class {
13128
13038
  }
13129
13039
  }
13130
13040
  } catch (error) {
13131
- debugLogger21.warn(`LSP workspace/diagnostic failed for ${name}:`, error);
13041
+ debugLogger19.warn(`LSP workspace/diagnostic failed for ${name}:`, error);
13132
13042
  }
13133
13043
  if (results.length >= limit) {
13134
13044
  break;
@@ -13178,7 +13088,7 @@ var NativeLspService = class {
13178
13088
  return actions.slice(0, limit);
13179
13089
  }
13180
13090
  } catch (error) {
13181
- debugLogger21.warn(
13091
+ debugLogger19.warn(
13182
13092
  `LSP textDocument/codeAction failed for ${name}:`,
13183
13093
  error
13184
13094
  );
@@ -13206,7 +13116,7 @@ var NativeLspService = class {
13206
13116
  }
13207
13117
  return true;
13208
13118
  } catch (error) {
13209
- debugLogger21.error("Failed to apply workspace edit:", error);
13119
+ debugLogger19.error("Failed to apply workspace edit:", error);
13210
13120
  return false;
13211
13121
  }
13212
13122
  }
@@ -13469,7 +13379,7 @@ __name(createFollowupController, "createFollowupController");
13469
13379
 
13470
13380
  // packages/core/src/followup/suggestionGenerator.ts
13471
13381
  init_esbuild_shims();
13472
- var debugLogger22 = createDebugLogger("FOLLOWUP");
13382
+ var debugLogger20 = createDebugLogger("FOLLOWUP");
13473
13383
  var SUGGESTION_PROMPT = `[SUGGESTION MODE: Suggest what the user might naturally type next.]
13474
13384
 
13475
13385
  FIRST: Read the LAST FEW LINES of the assistant's most recent message -- that's where
@@ -13531,7 +13441,7 @@ async function generatePromptSuggestion(config, conversationHistory, abortSignal
13531
13441
  const cacheSafe = options?.enableCacheSharing ? getCacheSafeParams(sessionId) : null;
13532
13442
  const modelOverride = options?.model;
13533
13443
  const cacheSharingState = cacheSafe ? "true" : cacheSafeSessionId ? "session_mismatch" : "false";
13534
- debugLogger22.debug(
13444
+ debugLogger20.debug(
13535
13445
  `Generating suggestion: cacheSharing=${cacheSharingState}, model=${modelOverride || "(default)"}`
13536
13446
  );
13537
13447
  const raw = cacheSafe ? await generateViaForkedQuery(
@@ -13547,23 +13457,23 @@ async function generatePromptSuggestion(config, conversationHistory, abortSignal
13547
13457
  );
13548
13458
  const suggestion = typeof raw === "string" ? raw.trim() : null;
13549
13459
  if (!suggestion) {
13550
- debugLogger22.debug("Suggestion generation returned empty result");
13460
+ debugLogger20.debug("Suggestion generation returned empty result");
13551
13461
  return { suggestion: null, filterReason: "empty" };
13552
13462
  }
13553
13463
  const filterReason = getFilterReason(suggestion);
13554
13464
  if (filterReason) {
13555
- debugLogger22.debug(
13465
+ debugLogger20.debug(
13556
13466
  `Suggestion filtered: reason=${filterReason}, text="${suggestion}"`
13557
13467
  );
13558
13468
  return { suggestion: null, filterReason };
13559
13469
  }
13560
- debugLogger22.debug(`Suggestion accepted: "${suggestion}"`);
13470
+ debugLogger20.debug(`Suggestion accepted: "${suggestion}"`);
13561
13471
  return { suggestion };
13562
13472
  } catch (error) {
13563
13473
  if (abortSignal.aborted) {
13564
13474
  return { suggestion: null };
13565
13475
  }
13566
- debugLogger22.warn("Suggestion generation failed:", error);
13476
+ debugLogger20.warn("Suggestion generation failed:", error);
13567
13477
  return { suggestion: null, filterReason: "error" };
13568
13478
  }
13569
13479
  }
@@ -13902,7 +13812,7 @@ __name(rewritePathArgs, "rewritePathArgs");
13902
13812
 
13903
13813
  // packages/core/src/followup/speculation.ts
13904
13814
  init_esbuild_shims();
13905
- var debugLogger23 = createDebugLogger("SPECULATION");
13815
+ var debugLogger21 = createDebugLogger("SPECULATION");
13906
13816
  var MAX_SPECULATION_TURNS = 20;
13907
13817
  var MAX_SPECULATION_MESSAGES = 100;
13908
13818
  function observeSpeculationProducer(params) {
@@ -14150,7 +14060,7 @@ async function runSpeculativeLoop(config, state, cacheSafe, modelOverride) {
14150
14060
  break;
14151
14061
  }
14152
14062
  if (!guardDecision.allowed) {
14153
- debugLogger23.debug(
14063
+ debugLogger21.debug(
14154
14064
  `Speculative guard denial: ${guardDecision.reason}`
14155
14065
  );
14156
14066
  hitBoundary = true;
@@ -14397,7 +14307,7 @@ var import_picomatch = __toESM(require_picomatch(), 1);
14397
14307
  import fs12 from "node:fs";
14398
14308
  import path14 from "node:path";
14399
14309
  var hasFileExtension = (0, import_picomatch.default)("**/*[*.]*");
14400
- var debugLogger24 = createDebugLogger("FILE_SEARCH_IGNORE");
14310
+ var debugLogger22 = createDebugLogger("FILE_SEARCH_IGNORE");
14401
14311
  function loadIgnoreRules(options) {
14402
14312
  const ignorer = new Ignore();
14403
14313
  if (options.useGitignore) {
@@ -14436,7 +14346,7 @@ function readIgnoreFile(filePath) {
14436
14346
  } catch (_error) {
14437
14347
  const error = _error;
14438
14348
  if (error.code !== "ENOENT") {
14439
- debugLogger24.warn(`Failed to read ${filePath}: ${error.message}`);
14349
+ debugLogger22.warn(`Failed to read ${filePath}: ${error.message}`);
14440
14350
  }
14441
14351
  return void 0;
14442
14352
  }
@@ -17987,8 +17897,6 @@ export {
17987
17897
  BTW_MAX_INPUT_LENGTH,
17988
17898
  buildBtwPrompt,
17989
17899
  buildBtwCacheSafeParams,
17990
- getStopHookContinuationReason,
17991
- abortGoalForStopHookCap,
17992
17900
  projectGoalStateToLegacy,
17993
17901
  isGoalCheckpointBookkeepingRecord,
17994
17902
  renderGoalContinuationTurn,