@qwen-code/qwen-code 0.19.5 → 0.19.6-nightly.20260704.5dc2e1501

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 (235) hide show
  1. package/bundled/dataviz/SKILL.md +50 -0
  2. package/bundled/dataviz/references/anti-patterns.md +12 -0
  3. package/bundled/dataviz/references/choosing-a-form.md +16 -0
  4. package/bundled/dataviz/references/palette.md +57 -0
  5. package/bundled/dataviz/scripts/validate_palette.js +328 -0
  6. package/bundled/loop/SKILL.md +1 -1
  7. package/bundled/qc-helper/docs/configuration/settings.md +9 -8
  8. package/bundled/qc-helper/docs/features/headless.md +2 -2
  9. package/bundled/qc-helper/docs/features/scheduled-tasks.md +4 -2
  10. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
  11. package/bundled/review/DESIGN.md +23 -0
  12. package/bundled/review/SKILL.md +65 -8
  13. package/chunks/{MaxSizedBox-5JV77KRA.js → MaxSizedBox-44K34KSF.js} +14 -14
  14. package/chunks/{StandaloneSessionPicker-MGUGB6PH.js → StandaloneSessionPicker-6WZYYTZE.js} +25 -25
  15. package/chunks/{acpAgent-4F36XM3X.js → acpAgent-2CMYPFHV.js} +346 -131
  16. package/chunks/{agent-IWBUZI6A.js → agent-UOEAYBCX.js} +11 -11
  17. package/chunks/{agent-headless-JUTICAYO.js → agent-headless-7SCVZZGJ.js} +11 -11
  18. package/chunks/{anthropicContentGenerator-WL3LJOUB.js → anthropicContentGenerator-H5ZOEENQ.js} +2 -2
  19. package/chunks/{artifact-tool-W76WC2JX.js → artifact-tool-SLYPWG3C.js} +15 -2
  20. package/chunks/{askUserQuestion-J3P6TH3V.js → askUserQuestion-OKPTECON.js} +1 -1
  21. package/chunks/{bridge-DHZHQ4UV.js → bridge-IGX2XPWV.js} +17 -16
  22. package/chunks/{channel-worker-supervisor-EVPAYNZ5.js → channel-worker-supervisor-JUYQ5Z4R.js} +5 -5
  23. package/chunks/{chunk-EROWZQN7.js → chunk-2HK52TS2.js} +6 -6
  24. package/chunks/chunk-3RW4AZJV.js +5063 -0
  25. package/chunks/chunk-3VJ7MT3N.js +111 -0
  26. package/chunks/{chunk-JJ6B3ZD3.js → chunk-3ZSJDRNO.js} +2 -2
  27. package/chunks/{chunk-SJVPSHXU.js → chunk-4OIKNWUQ.js} +4 -4
  28. package/chunks/{chunk-PPFWEV7G.js → chunk-4RQIB5UZ.js} +62 -62
  29. package/chunks/{chunk-MDBNFHIO.js → chunk-4YMVQKCZ.js} +3 -3
  30. package/chunks/{chunk-2YH27UNF.js → chunk-4YXBDLX7.js} +1 -1
  31. package/chunks/{chunk-6QVQZAW6.js → chunk-537ZUZEH.js} +1 -1
  32. package/chunks/{chunk-L7OJ3ZO3.js → chunk-5ES5YPED.js} +1 -1
  33. package/chunks/{chunk-UJT42DB6.js → chunk-5QC7Y5TJ.js} +5 -5
  34. package/chunks/{chunk-BC4R5C5R.js → chunk-5WYLPENX.js} +32 -6
  35. package/chunks/{chunk-7DMQRPC7.js → chunk-6BEOH4KK.js} +1 -1
  36. package/chunks/{chunk-CXBG27SF.js → chunk-6IAWPIQ6.js} +3 -2
  37. package/chunks/{chunk-RM3PGSGL.js → chunk-6SHO7WFF.js} +15 -2
  38. package/chunks/{chunk-CBJE2PLG.js → chunk-777PHAJF.js} +2 -2
  39. package/chunks/{chunk-NSSVORTQ.js → chunk-7UU2AGR4.js} +16 -12
  40. package/chunks/{chunk-RNGAT2Y2.js → chunk-AGLMKJH5.js} +1 -1
  41. package/chunks/{chunk-J3ERRYYI.js → chunk-AWSTZHHZ.js} +2 -2
  42. package/chunks/{chunk-6QTCOQX7.js → chunk-B5ZACOMA.js} +1967 -1399
  43. package/chunks/{chunk-R6RI2HIC.js → chunk-CLQPBI4H.js} +40 -13
  44. package/chunks/{chunk-SJBIFVD2.js → chunk-DMSNJDWG.js} +5 -1
  45. package/chunks/{chunk-KKQWC6WS.js → chunk-DNV4FSN5.js} +1 -1
  46. package/chunks/{chunk-Z7XNVNPM.js → chunk-EMSRFDBD.js} +1 -1
  47. package/chunks/{chunk-HISPEX42.js → chunk-G645A66S.js} +7 -7
  48. package/chunks/{chunk-WALEWZ44.js → chunk-H3GBYW5M.js} +1 -1
  49. package/chunks/{chunk-2Z43HUXT.js → chunk-HLKG6CZN.js} +3 -2
  50. package/chunks/{chunk-XKZXGIRM.js → chunk-HNGXPBWR.js} +2 -2
  51. package/chunks/{chunk-QHYITL6P.js → chunk-HXX7S2AE.js} +5 -11
  52. package/chunks/{chunk-XKSCTXPK.js → chunk-J6ABRKAB.js} +2 -1
  53. package/chunks/{chunk-DX3TKXNT.js → chunk-JA5KWZTJ.js} +1 -1
  54. package/chunks/{chunk-4MCC4XHH.js → chunk-KBKWNEPS.js} +38 -37
  55. package/chunks/{chunk-MNOXKSM2.js → chunk-KEKV2TOO.js} +1 -1
  56. package/chunks/{chunk-R3UWLLRQ.js → chunk-KP6O77UN.js} +1 -1
  57. package/chunks/{chunk-YTFBURQD.js → chunk-KYTQOCDE.js} +1 -1
  58. package/chunks/{chunk-TN6RT6EJ.js → chunk-LJUWNRJH.js} +16 -4
  59. package/chunks/{chunk-BPFJQGY7.js → chunk-LM3YCCZJ.js} +164 -5
  60. package/chunks/{chunk-G4M7FPNY.js → chunk-M6IUEDXM.js} +1 -1
  61. package/chunks/{chunk-MTNTVOJR.js → chunk-MJKMIQMK.js} +5 -2
  62. package/chunks/{chunk-2CAII5HD.js → chunk-MWGIMAYM.js} +1 -1
  63. package/chunks/{chunk-NDY7OENU.js → chunk-N3QDCSLP.js} +2 -2
  64. package/chunks/{chunk-IMAMNLY6.js → chunk-N6AGVKMC.js} +3 -3
  65. package/chunks/{chunk-WZ724G6K.js → chunk-NGCPNXJC.js} +5 -5
  66. package/chunks/{chunk-YXK4GPYO.js → chunk-NVFJSIAX.js} +29 -0
  67. package/chunks/{chunk-6KPZJJ6U.js → chunk-P2OIJOKP.js} +9 -9
  68. package/chunks/{chunk-RSBQS6M4.js → chunk-P2RRV2UB.js} +1 -1
  69. package/chunks/{chunk-NNEJEBCF.js → chunk-PGMCFUZS.js} +30 -21
  70. package/chunks/{chunk-CSPSJU5R.js → chunk-PNGENHT7.js} +16 -16
  71. package/chunks/{chunk-Y4UQT3PM.js → chunk-QQXG2BL6.js} +1 -1
  72. package/chunks/{chunk-M5ITDKSM.js → chunk-RUM2UEL3.js} +1 -1
  73. package/chunks/{chunk-DG573EOO.js → chunk-RZORUN6X.js} +1 -1
  74. package/chunks/{chunk-LHMZCIKL.js → chunk-SZFYG244.js} +3 -1
  75. package/chunks/{chunk-CHY5C5T4.js → chunk-TDMIHT6B.js} +171 -79
  76. package/chunks/{chunk-DRS2HTNT.js → chunk-TE6JTKY5.js} +5 -5
  77. package/chunks/chunk-U7UXWKGG.js +949 -0
  78. package/chunks/{chunk-JKGCBO3O.js → chunk-UPYORLKQ.js} +3 -3
  79. package/chunks/{chunk-UY2TCIZS.js → chunk-V5VTULL5.js} +2 -2
  80. package/chunks/{chunk-ZISMVA6U.js → chunk-WGCLCXAN.js} +1371 -24
  81. package/chunks/chunk-WSOGYJMT.js +5630 -0
  82. package/chunks/{chunk-SBMHB6N5.js → chunk-WWGZJJRG.js} +12 -12
  83. package/chunks/{chunk-DM4E337C.js → chunk-X3UQVEBR.js} +4 -4
  84. package/chunks/{chunk-K4I4STSL.js → chunk-XPOO5OMB.js} +2 -2
  85. package/chunks/{chunk-5B2WNM6V.js → chunk-ZI4MGBB5.js} +1 -1
  86. package/chunks/{chunk-OQHLUA2Y.js → chunk-ZLJKZ57K.js} +3 -3
  87. package/chunks/{chunk-YCU7QV7Q.js → chunk-ZZDAIAA6.js} +32 -0
  88. package/chunks/{computer-use-ON3JQUHW.js → computer-use-TQWGUBPQ.js} +11 -11
  89. package/chunks/{contextCommand-OGCG7W6N.js → contextCommand-XDK5RNWI.js} +13 -13
  90. package/chunks/{cron-create-6YTCOX6P.js → cron-create-7JYUDTUY.js} +20 -5
  91. package/chunks/{cron-delete-E3NIFSUK.js → cron-delete-YPULQQAK.js} +2 -2
  92. package/chunks/{cron-list-Q64MNQNE.js → cron-list-HJIW5MHP.js} +2 -2
  93. package/chunks/{daemon-EEB2RYOL.js → daemon-7XYW4BC3.js} +102 -0
  94. package/chunks/{daemon-status-provider-P72STMLB.js → daemon-status-provider-6UEN56WN.js} +20 -19
  95. package/chunks/{dist-AP5V4WYU.js → dist-AAO65DPC.js} +2 -2
  96. package/chunks/{dist-X4ZDE726.js → dist-ABQ7VWRR.js} +3 -3
  97. package/chunks/{dist-SNXOUPYS.js → dist-AW5ZYMUI.js} +2 -2
  98. package/chunks/{dist-Z57Q4YF5.js → dist-BV56HW3W.js} +276 -95
  99. package/chunks/{dist-IZP2VV4C.js → dist-JPSVN367.js} +2 -2
  100. package/chunks/{earlyInputCapture-DAFHSGVW.js → earlyInputCapture-7MNFMUJE.js} +11 -11
  101. package/chunks/{edit-3QFNCSZH.js → edit-HOC63PHG.js} +12 -12
  102. package/chunks/{en-M4EBUBNU.js → en-XR3S5VWY.js} +1 -0
  103. package/chunks/{enter-worktree-62EQQMLD.js → enter-worktree-THXLMUX2.js} +11 -11
  104. package/chunks/{enterPlanMode-VUQSE4EG.js → enterPlanMode-TW4WQVEI.js} +11 -11
  105. package/chunks/{errors-PW75PZXE.js → errors-NTNVSC6G.js} +13 -13
  106. package/chunks/{exit-worktree-VVNH7OVY.js → exit-worktree-CLL7RGAT.js} +11 -11
  107. package/chunks/{exitPlanMode-RUYRCYZW.js → exitPlanMode-BTZZ3QEL.js} +11 -11
  108. package/chunks/{fast-path-TFRJRTTR.js → fast-path-RYXBU6AS.js} +3 -3
  109. package/chunks/{fast-path-settings-UQLRFDQP.js → fast-path-settings-RCRXH2JG.js} +2 -2
  110. package/chunks/{gemini-XW7ZDUVR.js → gemini-36FE3OHS.js} +69 -64
  111. package/chunks/{geminiContentGenerator-MZDVHVZH.js → geminiContentGenerator-JEG2PANG.js} +1 -1
  112. package/chunks/{glob-WAY2PUWA.js → glob-EYVHOFCY.js} +11 -11
  113. package/chunks/{grep-W6CBKSYC.js → grep-TZY5TDGH.js} +11 -11
  114. package/chunks/{initializer-HK2XE6P2.js → initializer-HPF2RBSB.js} +16 -16
  115. package/chunks/{list-RVLIIKKL.js → list-THUTQ7B5.js} +18 -18
  116. package/chunks/{loadedSettingsAdapter-C63OUYZC.js → loadedSettingsAdapter-CUMWJNWJ.js} +16 -16
  117. package/chunks/{loop-wakeup-G2EHBRGR.js → loop-wakeup-34YK7T7O.js} +3 -3
  118. package/chunks/{ls-IDHUVSAG.js → ls-MPD5OJUX.js} +1 -1
  119. package/chunks/{lsp-FSRYXGFT.js → lsp-72PWTDW7.js} +1 -1
  120. package/chunks/{workspace-skills-status-ONEPXJV6.js → mcp-NQD5MT2T.js} +20 -16
  121. package/chunks/{monitor-FOG36ABM.js → monitor-PB7NVSG2.js} +11 -11
  122. package/chunks/{nonInteractiveCli-6BYQSJTB.js → nonInteractiveCli-F5FJXYQR.js} +46 -44
  123. package/chunks/{notebook-edit-GC6NXRCX.js → notebook-edit-LAK6OHS6.js} +12 -12
  124. package/chunks/{openaiContentGenerator-EXR3ZL3Z.js → openaiContentGenerator-GMMEY5PG.js} +6 -6
  125. package/chunks/{pidfile-FNZM2DDH.js → pidfile-NQ2YUNKI.js} +11 -11
  126. package/chunks/{qwenContentGenerator-A7B6J4U7.js → qwenContentGenerator-7XCBMQBM.js} +13 -13
  127. package/chunks/{read-file-6JL4ULMY.js → read-file-KUROJDUQ.js} +3 -3
  128. package/chunks/{read-mcp-resource-PIJF24RO.js → read-mcp-resource-OWOBJY72.js} +1 -1
  129. package/chunks/record-artifact-URK3YUDJ.js +343 -0
  130. package/chunks/{ripGrep-DIUGLJE5.js → ripGrep-USDWBX4L.js} +11 -11
  131. package/chunks/{run-qwen-serve-CME3AKM4.js → run-qwen-serve-WKCKS23N.js} +72 -28
  132. package/chunks/{scheduler-L7F6GDDT.js → scheduler-QR4F5TAH.js} +11 -11
  133. package/chunks/{send-message-33PYFMCT.js → send-message-L7OLQEKH.js} +2 -2
  134. package/chunks/{serve-SRCBOJGP.js → serve-2EIPX62G.js} +18 -18
  135. package/chunks/{server-QSQ45QFR.js → server-UJ7ZF5D7.js} +1184 -490
  136. package/chunks/{session-5DG6NXHZ.js → session-XB3CFJ6R.js} +48 -46
  137. package/chunks/{settings-3EEQI4MN.js → settings-DYVJFW5H.js} +15 -15
  138. package/chunks/{shell-B7FNYF5S.js → shell-IG7KGPLR.js} +11 -11
  139. package/chunks/{skill-AAOGHD5O.js → skill-RWX646DC.js} +4 -4
  140. package/chunks/{spawnChannel-3CBN3ZLK.js → spawnChannel-GWIJHDZ5.js} +15 -15
  141. package/chunks/{src-T5A7P7FS.js → src-IYODJOVK.js} +47 -21
  142. package/chunks/{startInteractiveUI-2FGEQ6AS.js → startInteractiveUI-PLEZAI44.js} +354 -152
  143. package/chunks/{syntheticOutput-YOSWIHDJ.js → syntheticOutput-J3MLCQAR.js} +2 -2
  144. package/chunks/{task-create-NHS2NGB3.js → task-create-ELEBZ7H2.js} +3 -3
  145. package/chunks/{task-list-5UIB564R.js → task-list-IEUZLF3Y.js} +1 -1
  146. package/chunks/{task-stop-HGXZ2VZ3.js → task-stop-QEZW3UDY.js} +1 -1
  147. package/chunks/{task-update-IYYWUILG.js → task-update-DW36J5P5.js} +3 -3
  148. package/chunks/{team-create-KDF6W6PV.js → team-create-RXRE7FCH.js} +11 -11
  149. package/chunks/{team-delete-FEKJCU4P.js → team-delete-SVITIMBO.js} +1 -1
  150. package/chunks/{team-plan-approval-PSFKQX7M.js → team-plan-approval-OJDMQXOK.js} +11 -11
  151. package/chunks/{theme-manager-5XOA2AO7.js → theme-manager-QBK6PZOQ.js} +11 -11
  152. package/chunks/{todoWrite-TKMVZ2HT.js → todoWrite-SFFQHZYY.js} +2 -2
  153. package/chunks/{tool-search-LFRILZXC.js → tool-search-EZQYPVFF.js} +4 -4
  154. package/chunks/{trustedFolders-7HQY6T6X.js → trustedFolders-GZDMSATB.js} +12 -12
  155. package/chunks/{validateNonInterActiveAuth-UC27B7BA.js → validateNonInterActiveAuth-AHXCFAV6.js} +43 -41
  156. package/chunks/version-KQ5CA4C5.js +10 -0
  157. package/chunks/{web-fetch-J4PIW36Q.js → web-fetch-SXAXJHIO.js} +2 -2
  158. package/chunks/{workflow-KUTESS6L.js → workflow-KUBRBYWH.js} +20 -13
  159. package/chunks/{workspace-providers-status-LJT5AQDS.js → workspace-providers-status-LRMZ4KYI.js} +18 -18
  160. package/chunks/{workspace-service-YOBYVDXH.js → workspace-service-5UYFHP42.js} +23 -23
  161. package/chunks/workspace-skills-status-TKLU5O2X.js +68 -0
  162. package/chunks/{write-file-FJYBZUHP.js → write-file-37LNLFQC.js} +12 -12
  163. package/chunks/yargs-B64EYTCF.js +10 -0
  164. package/chunks/{zh-SLZNSSZB.js → zh-FSVJTXA4.js} +1 -0
  165. package/chunks/{zh-TW-P53C2SL5.js → zh-TW-66MG4LWL.js} +1 -0
  166. package/cli-entry.js +81 -8
  167. package/cli.js +348 -55
  168. package/locales/en.js +1 -0
  169. package/locales/zh-TW.js +1 -0
  170. package/locales/zh.js +1 -0
  171. package/node_modules/@qwen-code/audio-capture/package.json +1 -1
  172. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  173. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  174. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  175. package/package.json +3 -3
  176. package/web-shell/assets/{arc-D_rAuMDd.js → arc-CUpe0ibu.js} +1 -1
  177. package/web-shell/assets/{architectureDiagram-3BPJPVTR-DUCzbHVo.js → architectureDiagram-3BPJPVTR-JvyrY_mK.js} +1 -1
  178. package/web-shell/assets/{blockDiagram-GPEHLZMM-BEEBt1LL.js → blockDiagram-GPEHLZMM-CK3Y_vom.js} +1 -1
  179. package/web-shell/assets/{c4Diagram-AAUBKEIU-5ZJ_DeFL.js → c4Diagram-AAUBKEIU-DprSnyrf.js} +1 -1
  180. package/web-shell/assets/channel-BAxQ2-aZ.js +1 -0
  181. package/web-shell/assets/{chunk-2J33WTMH-Cfw7EiLn.js → chunk-2J33WTMH-DJtRJPmu.js} +1 -1
  182. package/web-shell/assets/{chunk-4BX2VUAB-FGuZNCZY.js → chunk-4BX2VUAB-ON6Q2-BG.js} +1 -1
  183. package/web-shell/assets/{chunk-55IACEB6-CaBwYPBF.js → chunk-55IACEB6-c60ou5HZ.js} +1 -1
  184. package/web-shell/assets/{chunk-727SXJPM-BlR04OFz.js → chunk-727SXJPM-BamtPKxx.js} +1 -1
  185. package/web-shell/assets/{chunk-AQP2D5EJ-D3_mYJH5.js → chunk-AQP2D5EJ-CsVgpu-T.js} +1 -1
  186. package/web-shell/assets/{chunk-FMBD7UC4-7D4q4SbB.js → chunk-FMBD7UC4-vZrpjAx4.js} +1 -1
  187. package/web-shell/assets/{chunk-ND2GUHAM-BjX_Iwmr.js → chunk-ND2GUHAM-qxyNOd5t.js} +1 -1
  188. package/web-shell/assets/{chunk-QZHKN3VN-C3Hz_ZQh.js → chunk-QZHKN3VN-BvTJSM_S.js} +1 -1
  189. package/web-shell/assets/classDiagram-4FO5ZUOK-Cvd_xhZI.js +1 -0
  190. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cvd_xhZI.js +1 -0
  191. package/web-shell/assets/{cose-bilkent-S5V4N54A-Ax4UycaT.js → cose-bilkent-S5V4N54A-1tXB4pju.js} +1 -1
  192. package/web-shell/assets/{dagre-BM42HDAG-C6hmPtGt.js → dagre-BM42HDAG-DglBzme8.js} +1 -1
  193. package/web-shell/assets/{diagram-2AECGRRQ-tXZnxjmw.js → diagram-2AECGRRQ-DEJpqsWz.js} +1 -1
  194. package/web-shell/assets/{diagram-5GNKFQAL-99dwIzQG.js → diagram-5GNKFQAL-CsQ1NrMG.js} +1 -1
  195. package/web-shell/assets/{diagram-KO2AKTUF-Bqhn0-2s.js → diagram-KO2AKTUF-Z-3codAi.js} +1 -1
  196. package/web-shell/assets/{diagram-LMA3HP47-DzThVSvo.js → diagram-LMA3HP47-mBuPTA2i.js} +1 -1
  197. package/web-shell/assets/{diagram-OG6HWLK6-DPE8vjln.js → diagram-OG6HWLK6-tcA3K3s9.js} +1 -1
  198. package/web-shell/assets/{erDiagram-TEJ5UH35-KzUKgQCV.js → erDiagram-TEJ5UH35-D9bXFRyZ.js} +1 -1
  199. package/web-shell/assets/{flowDiagram-I6XJVG4X-DBN-DXw5.js → flowDiagram-I6XJVG4X-Ck0Py04s.js} +1 -1
  200. package/web-shell/assets/{ganttDiagram-6RSMTGT7-DuBsP9u8.js → ganttDiagram-6RSMTGT7-rOevCekE.js} +1 -1
  201. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-BjWHMyKR.js → gitGraphDiagram-PVQCEYII-CoPQaLj0.js} +1 -1
  202. package/web-shell/assets/index-Cr7MYW6T.css +5 -0
  203. package/web-shell/assets/index-DCHPAUp3.js +730 -0
  204. package/web-shell/assets/{infoDiagram-5YYISTIA-BVux0vP6.js → infoDiagram-5YYISTIA-a77CUKoI.js} +1 -1
  205. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-2qzw7f--.js → ishikawaDiagram-YF4QCWOH-DlLgUAO-.js} +1 -1
  206. package/web-shell/assets/{journeyDiagram-JHISSGLW-Dnl65sxL.js → journeyDiagram-JHISSGLW-BXR5kVAZ.js} +1 -1
  207. package/web-shell/assets/{kanban-definition-UN3LZRKU-BElSQYtY.js → kanban-definition-UN3LZRKU-h5CoHZg7.js} +1 -1
  208. package/web-shell/assets/{linear-BjoycSSY.js → linear-BkaREbyD.js} +1 -1
  209. package/web-shell/assets/{mermaid.core-xe6bvMRz.js → mermaid.core-Bkagz0ng.js} +5 -5
  210. package/web-shell/assets/{mindmap-definition-RKZ34NQL-D8DQgI4U.js → mindmap-definition-RKZ34NQL-D7EMKR_5.js} +1 -1
  211. package/web-shell/assets/{pieDiagram-4H26LBE5-Dwh7Gp7c.js → pieDiagram-4H26LBE5-DAmPOjsL.js} +1 -1
  212. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-BXKNBln2.js → quadrantDiagram-W4KKPZXB-e4WFQkQu.js} +1 -1
  213. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BzaC3cIA.js → requirementDiagram-4Y6WPE33-v1zo7OiV.js} +1 -1
  214. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-DP2t7eZk.js → sankeyDiagram-5OEKKPKP-Bstm4aW_.js} +1 -1
  215. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-XlFiWEYv.js → sequenceDiagram-3UESZ5HK-DzcZy6xN.js} +1 -1
  216. package/web-shell/assets/{stateDiagram-AJRCARHV-CupgUMJO.js → stateDiagram-AJRCARHV-BEJH6YbH.js} +1 -1
  217. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BopifCBI.js +1 -0
  218. package/web-shell/assets/{timeline-definition-PNZ67QCA-DstuGywa.js → timeline-definition-PNZ67QCA-TI1wH-Pm.js} +1 -1
  219. package/web-shell/assets/{vennDiagram-CIIHVFJN-CnbNp6zu.js → vennDiagram-CIIHVFJN-YaH8VDMS.js} +1 -1
  220. package/web-shell/assets/{wardley-L42UT6IY-DnvoHq6R.js → wardley-L42UT6IY-B80co7OP.js} +1 -1
  221. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-Cz0xHEWB.js → wardleyDiagram-YWT4CUSO-4fHNDEMl.js} +1 -1
  222. package/web-shell/assets/{xychartDiagram-2RQKCTM6-p36gfo88.js → xychartDiagram-2RQKCTM6-DT3q4Z3J.js} +1 -1
  223. package/web-shell/index.html +2 -2
  224. package/bundled/loop/SKILL.test.ts +0 -119
  225. package/bundled/loop/autonomous-loop.test.ts +0 -59
  226. package/bundled/loop/loop-task-file.test.ts +0 -1064
  227. package/bundled/loop/loop-tick-resolver.test.ts +0 -906
  228. package/chunks/chunk-EJ7BN3EN.js +0 -11396
  229. package/web-shell/assets/channel-B5ynH0q8.js +0 -1
  230. package/web-shell/assets/classDiagram-4FO5ZUOK-CK3ibywp.js +0 -1
  231. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CK3ibywp.js +0 -1
  232. package/web-shell/assets/index-9qfvU0_r.css +0 -5
  233. package/web-shell/assets/index-CWzDaQT5.js +0 -717
  234. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-By3E4QwN.js +0 -1
  235. package/chunks/{chunk-UFC57OYT.js → chunk-VRDMOSQS.js} +54 -54
@@ -3,13 +3,13 @@
3
3
  import {
4
4
  classifyApiError,
5
5
  prefixMidTurnUserMessageParts
6
- } from "./chunk-6KPZJJ6U.js";
6
+ } from "./chunk-P2OIJOKP.js";
7
7
  import {
8
8
  EXTENSION_CONTEXT_BUDGET,
9
9
  buildExtensionMentionContext,
10
10
  matchExtensionByRef,
11
11
  parseExtensionRef
12
- } from "./chunk-SJVPSHXU.js";
12
+ } from "./chunk-4OIKNWUQ.js";
13
13
  import {
14
14
  HistoryReplayer,
15
15
  MessageEmitter,
@@ -20,91 +20,78 @@ import {
20
20
  insertAfterFunctionResponses,
21
21
  isSlashCommand,
22
22
  normalizePartList
23
- } from "./chunk-4MCC4XHH.js";
23
+ } from "./chunk-KBKWNEPS.js";
24
24
  import {
25
25
  appEvents,
26
26
  buildDisabledSkillNamesProvider,
27
27
  loadCliConfig,
28
28
  normalizeDisabledToolList
29
- } from "./chunk-EJ7BN3EN.js";
29
+ } from "./chunk-WSOGYJMT.js";
30
+ import {
31
+ collectContextData,
32
+ formatContextUsageText
33
+ } from "./chunk-NGCPNXJC.js";
30
34
  import {
31
35
  getCommandSubcommandNames
32
- } from "./chunk-IMAMNLY6.js";
33
- import "./chunk-NDY7OENU.js";
36
+ } from "./chunk-N6AGVKMC.js";
37
+ import "./chunk-N3QDCSLP.js";
34
38
  import {
35
39
  getEffectiveSupportedModes
36
- } from "./chunk-UJT42DB6.js";
37
- import "./chunk-JZSY4WP3.js";
38
- import {
39
- collectContextData,
40
- formatContextUsageText
41
- } from "./chunk-WZ724G6K.js";
40
+ } from "./chunk-5QC7Y5TJ.js";
42
41
  import {
43
42
  isTerminalGoalStatusKind
44
43
  } from "./chunk-KSPVDFE4.js";
45
44
  import "./chunk-MRO43B25.js";
46
- import "./chunk-5B2WNM6V.js";
47
45
  import "./chunk-VXGPYF7U.js";
48
- import "./chunk-XKZXGIRM.js";
46
+ import "./chunk-HNGXPBWR.js";
49
47
  import "./chunk-KYMBIKIW.js";
50
48
  import "./chunk-HTWHAN44.js";
49
+ import "./chunk-JZSY4WP3.js";
50
+ import "./chunk-TE6JTKY5.js";
51
+ import "./chunk-3GONHQOA.js";
52
+ import "./chunk-3ZSJDRNO.js";
53
+ import "./chunk-ZI4MGBB5.js";
51
54
  import {
52
55
  MAX_REMEMBER_CONTENT_BYTES,
53
56
  extractRememberErrorCode,
57
+ formatWorkspaceMemoryForgetSummary,
54
58
  isValidServerName
55
- } from "./chunk-RM3PGSGL.js";
59
+ } from "./chunk-6SHO7WFF.js";
56
60
  import "./chunk-L7QPM2YD.js";
57
61
  import "./chunk-54YZOP7P.js";
58
- import "./chunk-2CAII5HD.js";
62
+ import "./chunk-MWGIMAYM.js";
63
+ import "./chunk-UPYORLKQ.js";
64
+ import "./chunk-KHDZHZMH.js";
65
+ import {
66
+ formatAcpModelId,
67
+ parseAcpBaseModelId,
68
+ parseAcpModelOption,
69
+ sanitizeProviderBaseUrl
70
+ } from "./chunk-XPOO5OMB.js";
71
+ import {
72
+ mapSkillConfigToStatus
73
+ } from "./chunk-6IAWPIQ6.js";
59
74
  import {
60
75
  PERMISSION_RULE_TYPES,
61
76
  PermissionRulesValidationError,
62
77
  buildPermissionSettings,
63
78
  normalizePermissionRules,
64
79
  readPermissionRuleSet
65
- } from "./chunk-6QVQZAW6.js";
66
- import "./chunk-Y4UQT3PM.js";
80
+ } from "./chunk-537ZUZEH.js";
81
+ import "./chunk-QQXG2BL6.js";
67
82
  import "./chunk-NIOPRZNN.js";
68
83
  import "./chunk-AHNXYU4O.js";
69
84
  import "./chunk-RNBYOUGV.js";
70
- import "./chunk-HISPEX42.js";
85
+ import "./chunk-G645A66S.js";
71
86
  import "./chunk-BJBWRCSK.js";
72
- import "./chunk-DRS2HTNT.js";
73
- import "./chunk-3GONHQOA.js";
74
- import "./chunk-JJ6B3ZD3.js";
87
+ import "./chunk-U7UXWKGG.js";
88
+ import "./chunk-6BEOH4KK.js";
89
+ import "./chunk-S6RLAIUR.js";
90
+ import "./chunk-MX2YXRER.js";
75
91
  import "./chunk-YHTNWGRR.js";
76
92
  import {
77
93
  createLoadedSettingsAdapter
78
- } from "./chunk-R3UWLLRQ.js";
79
- import "./chunk-JKGCBO3O.js";
80
- import "./chunk-KHDZHZMH.js";
81
- import "./chunk-RSBQS6M4.js";
82
- import {
83
- NOT_CURRENTLY_GENERATING_CANCEL_MESSAGE
84
- } from "./chunk-T22H4V4R.js";
85
- import {
86
- CLIENT_MCP_OVER_WS_CONFIG_FLAG,
87
- MID_TURN_QUEUE_DRAIN_METHOD
88
- } from "./chunk-EWALXUAD.js";
89
- import "./chunk-SEZC2725.js";
90
- import "./chunk-ALX6BUYW.js";
91
- import {
92
- formatAcpModelId,
93
- parseAcpBaseModelId,
94
- parseAcpModelOption,
95
- sanitizeProviderBaseUrl
96
- } from "./chunk-K4I4STSL.js";
97
- import {
98
- mapSkillConfigToStatus
99
- } from "./chunk-CXBG27SF.js";
100
- import {
101
- ACP_PREFLIGHT_KINDS,
102
- IDLE_HOOK_EVENTS,
103
- SERVE_CONTROL_EXT_METHODS,
104
- SERVE_STATUS_EXT_METHODS,
105
- STATUS_SCHEMA_VERSION,
106
- mapDomainErrorToErrorKind
107
- } from "./chunk-LHMZCIKL.js";
94
+ } from "./chunk-KP6O77UN.js";
108
95
  import {
109
96
  OUTPUT_LANGUAGE_AUTO,
110
97
  getOutputLanguageFilePath,
@@ -115,36 +102,55 @@ import {
115
102
  resolveOutputLanguage,
116
103
  updateOutputLanguageFile,
117
104
  writeOutputLanguageAndRegisterPath
118
- } from "./chunk-BC4R5C5R.js";
105
+ } from "./chunk-5WYLPENX.js";
119
106
  import {
120
107
  SUPPORTED_LANGUAGES,
121
108
  getCurrentLanguage,
122
109
  setLanguageAsync
123
- } from "./chunk-DM4E337C.js";
110
+ } from "./chunk-X3UQVEBR.js";
124
111
  import "./chunk-TLRYABYP.js";
125
- import "./chunk-S6RLAIUR.js";
126
- import "./chunk-MX2YXRER.js";
127
- import "./chunk-7DMQRPC7.js";
112
+ import "./chunk-4RQIB5UZ.js";
113
+ import {
114
+ NOT_CURRENTLY_GENERATING_CANCEL_MESSAGE
115
+ } from "./chunk-T22H4V4R.js";
116
+ import {
117
+ CLIENT_MCP_OVER_WS_CONFIG_FLAG,
118
+ MID_TURN_QUEUE_DRAIN_METHOD
119
+ } from "./chunk-EWALXUAD.js";
120
+ import "./chunk-SEZC2725.js";
121
+ import "./chunk-ALX6BUYW.js";
128
122
  import {
129
123
  AgentSideConnection,
130
124
  PROTOCOL_VERSION,
131
- RequestError,
125
+ RequestError
126
+ } from "./chunk-VRDMOSQS.js";
127
+ import {
132
128
  ndJsonStream
133
- } from "./chunk-UFC57OYT.js";
134
- import "./chunk-PPFWEV7G.js";
129
+ } from "./chunk-3VJ7MT3N.js";
130
+ import {
131
+ ACP_PREFLIGHT_KINDS,
132
+ IDLE_HOOK_EVENTS,
133
+ SERVE_CONTROL_EXT_METHODS,
134
+ SERVE_STATUS_EXT_METHODS,
135
+ STATUS_SCHEMA_VERSION,
136
+ mapDomainErrorToErrorKind
137
+ } from "./chunk-SZFYG244.js";
138
+ import "./chunk-3RW4AZJV.js";
139
+ import "./chunk-P2RRV2UB.js";
135
140
  import {
136
141
  isFolderTrustEnabled,
137
142
  isWorkspaceTrusted,
138
143
  loadTrustedFolders
139
- } from "./chunk-Z7XNVNPM.js";
140
- import "./chunk-Y6Z2O3WR.js";
144
+ } from "./chunk-EMSRFDBD.js";
145
+ import {
146
+ writeStderrLine
147
+ } from "./chunk-Y6Z2O3WR.js";
141
148
  import "./chunk-QYUE6W3T.js";
142
149
  import {
143
150
  ALL_PROVIDERS,
144
151
  APPROVAL_MODE_INFO,
145
152
  BTW_MAX_INPUT_LENGTH,
146
153
  ExtensionManager,
147
- FORK_SUBAGENT_TYPE,
148
154
  InvalidMcpConfigError,
149
155
  LoopTickResolver,
150
156
  MAX_TRANSCRIPT_MESSAGES,
@@ -224,6 +230,7 @@ import {
224
230
  resolveBaseUrl,
225
231
  restoreWorktreeContext,
226
232
  runForkedAgent,
233
+ runManagedAutoMemoryDream,
227
234
  runManagedRememberByAgent,
228
235
  runVisionBridge,
229
236
  sessionIdContext,
@@ -238,34 +245,35 @@ import {
238
245
  subagentGenerator,
239
246
  unregisterGoalHook,
240
247
  updateSetting
241
- } from "./chunk-6QTCOQX7.js";
248
+ } from "./chunk-B5ZACOMA.js";
242
249
  import "./chunk-5P5XGNYH.js";
250
+ import "./chunk-SKAZWEV5.js";
243
251
  import {
244
252
  external_exports
245
253
  } from "./chunk-K5PGHDBN.js";
246
- import "./chunk-SKAZWEV5.js";
254
+ import "./chunk-CLQPBI4H.js";
247
255
  import "./chunk-QOMAHFYI.js";
248
256
  import "./chunk-G7OQ3RFJ.js";
249
257
  import "./chunk-LKWAVAB5.js";
250
258
  import {
251
259
  runSideQuery
252
- } from "./chunk-L7OJ3ZO3.js";
253
- import "./chunk-R6RI2HIC.js";
260
+ } from "./chunk-5ES5YPED.js";
254
261
  import "./chunk-2MPVVENX.js";
255
262
  import "./chunk-ZTQ26VBE.js";
256
- import "./chunk-SJBIFVD2.js";
263
+ import "./chunk-DMSNJDWG.js";
257
264
  import "./chunk-MLZQVCF3.js";
258
265
  import "./chunk-LQ7TMOCE.js";
259
266
  import "./chunk-E5A7LHNN.js";
260
267
  import {
261
- APPROVAL_MODES
262
- } from "./chunk-BPFJQGY7.js";
268
+ APPROVAL_MODES,
269
+ FORK_SUBAGENT_TYPE
270
+ } from "./chunk-LM3YCCZJ.js";
263
271
  import "./chunk-GO6LNQXT.js";
264
272
  import "./chunk-B236XPGF.js";
265
273
  import {
266
274
  HookEventName,
267
275
  createHookOutput
268
- } from "./chunk-YXK4GPYO.js";
276
+ } from "./chunk-NVFJSIAX.js";
269
277
  import "./chunk-TOAUDIS7.js";
270
278
  import "./chunk-NPQWQYU6.js";
271
279
  import {
@@ -285,12 +293,14 @@ import {
285
293
  logPromptSuggestion,
286
294
  logToolCall,
287
295
  logUserPrompt,
296
+ registerAcpEventLoopLagGauge,
288
297
  runInToolSpanContext,
298
+ startEventLoopLagMonitor,
289
299
  startToolExecutionSpan,
290
300
  startToolSpan,
291
301
  uiTelemetryService,
292
302
  withInteractionSpan
293
- } from "./chunk-CHY5C5T4.js";
303
+ } from "./chunk-TDMIHT6B.js";
294
304
  import "./chunk-E6US47KI.js";
295
305
  import "./chunk-UWCTAVOD.js";
296
306
  import "./chunk-OFEVLU4C.js";
@@ -300,11 +310,11 @@ import {
300
310
  getUserAutoMemoryRoot
301
311
  } from "./chunk-MOUXUCXQ.js";
302
312
  import "./chunk-BZHLWC6T.js";
303
- import "./chunk-DG573EOO.js";
313
+ import "./chunk-RZORUN6X.js";
304
314
  import {
305
315
  ToolConfirmationOutcome,
306
316
  ToolNames
307
- } from "./chunk-MTNTVOJR.js";
317
+ } from "./chunk-MJKMIQMK.js";
308
318
  import {
309
319
  clearCachedCredentialFile,
310
320
  qwenOAuth2Events
@@ -316,7 +326,7 @@ import "./chunk-SIUQ3YYX.js";
316
326
  import {
317
327
  DEFAULT_TOKEN_LIMIT,
318
328
  tokenLimit
319
- } from "./chunk-YTFBURQD.js";
329
+ } from "./chunk-KYTQOCDE.js";
320
330
  import "./chunk-YPCPZSZB.js";
321
331
  import "./chunk-IRJWHZWU.js";
322
332
  import "./chunk-SYCJMSIJ.js";
@@ -332,10 +342,10 @@ import {
332
342
  getErrorStatus,
333
343
  isSubpath
334
344
  } from "./chunk-AVQDCKNF.js";
335
- import "./chunk-M5ITDKSM.js";
345
+ import "./chunk-RUM2UEL3.js";
336
346
  import {
337
347
  runExitCleanup
338
- } from "./chunk-2YH27UNF.js";
348
+ } from "./chunk-4YXBDLX7.js";
339
349
  import "./chunk-ZERZSAZL.js";
340
350
  import "./chunk-QN5NZ3UQ.js";
341
351
  import "./chunk-BR4QREVK.js";
@@ -1592,33 +1602,42 @@ async function buildAvailableCommandsSnapshot(config, abortSignal = AbortSignal.
1592
1602
  "acp",
1593
1603
  settings
1594
1604
  );
1595
- const availableCommands = slashCommands.map((cmd) => {
1596
- const acceptsInput = cmd.acceptsInput ?? (cmd.kind !== "built-in" /* BUILT_IN */ || cmd.completion != null || cmd.argumentHint != null || cmd.subCommands != null && cmd.subCommands.length > 0);
1597
- return {
1598
- name: cmd.name,
1599
- description: cmd.description,
1600
- input: acceptsInput ? { hint: cmd.argumentHint ?? "" } : null,
1601
- _meta: {
1602
- argumentHint: cmd.argumentHint,
1603
- source: cmd.source,
1604
- sourceLabel: cmd.sourceLabel,
1605
- supportedModes: getEffectiveSupportedModes(cmd),
1606
- subcommands: getCommandSubcommandNames(cmd),
1607
- modelInvocable: cmd.modelInvocable === true,
1608
- // Carry aliases so a channel consumer (which only sees the wire snapshot,
1609
- // not the command registry) can recognize an aliased command and avoid
1610
- // tagging it. _meta is ACP's extension point; omitted when there are none
1611
- // so command entries without aliases stay byte-identical on the wire.
1612
- ...cmd.altNames && cmd.altNames.length > 0 ? { altNames: cmd.altNames } : {}
1613
- }
1614
- };
1605
+ const disabledSkillNames = config.getDisabledSkillNames();
1606
+ const visibleSlashCommands = slashCommands.filter((cmd) => {
1607
+ if (cmd.kind !== "skill" /* SKILL */ || !cmd.skillDetail) return true;
1608
+ return !disabledSkillNames.has(cmd.skillDetail.name.toLowerCase());
1615
1609
  });
1610
+ const availableCommands = visibleSlashCommands.map(
1611
+ (cmd) => {
1612
+ const acceptsInput = cmd.acceptsInput ?? (cmd.kind !== "built-in" /* BUILT_IN */ || cmd.completion != null || cmd.argumentHint != null || cmd.subCommands != null && cmd.subCommands.length > 0);
1613
+ return {
1614
+ name: cmd.name,
1615
+ description: cmd.description,
1616
+ input: acceptsInput ? { hint: cmd.argumentHint ?? "" } : null,
1617
+ _meta: {
1618
+ argumentHint: cmd.argumentHint,
1619
+ source: cmd.source,
1620
+ sourceLabel: cmd.sourceLabel,
1621
+ supportedModes: getEffectiveSupportedModes(cmd),
1622
+ subcommands: getCommandSubcommandNames(cmd),
1623
+ modelInvocable: cmd.modelInvocable === true,
1624
+ // Carry aliases so a channel consumer (which only sees the wire snapshot,
1625
+ // not the command registry) can recognize an aliased command and avoid
1626
+ // tagging it. _meta is ACP's extension point; omitted when there are none
1627
+ // so command entries without aliases stay byte-identical on the wire.
1628
+ ...cmd.altNames && cmd.altNames.length > 0 ? { altNames: cmd.altNames } : {}
1629
+ }
1630
+ };
1631
+ }
1632
+ );
1616
1633
  let availableSkills;
1617
1634
  const skillDetailsByName = /* @__PURE__ */ new Map();
1618
1635
  try {
1619
1636
  const skillManager = config.getSkillManager();
1620
1637
  if (skillManager) {
1621
- const skills = await skillManager.listSkills();
1638
+ const skills = (await skillManager.listSkills()).filter(
1639
+ (skill) => !disabledSkillNames.has(skill.name.toLowerCase())
1640
+ );
1622
1641
  availableSkills = skills.map((skill) => skill.name);
1623
1642
  for (const skill of skills) {
1624
1643
  skillDetailsByName.set(skill.name, {
@@ -1634,7 +1653,7 @@ async function buildAvailableCommandsSnapshot(config, abortSignal = AbortSignal.
1634
1653
  } catch (error) {
1635
1654
  debugLogger5.error("Error loading available skills:", error);
1636
1655
  }
1637
- for (const command of slashCommands) {
1656
+ for (const command of visibleSlashCommands) {
1638
1657
  if (command.kind !== "skill" /* SKILL */ || !command.skillDetail) {
1639
1658
  continue;
1640
1659
  }
@@ -4635,6 +4654,7 @@ ${this.pendingWorktreeNotice}
4635
4654
  const aborted = activeToolAbortSignal.aborted;
4636
4655
  const status = aborted ? "cancelled" : toolResult.error ? "error" : "success";
4637
4656
  const succeeded = status === "success";
4657
+ const responseError = toolResult.error ? new Error(toolResult.error.message) : aborted ? new Error("Tool execution was cancelled") : void 0;
4638
4658
  if (hooksEnabledForTool && messageBusForTool && !toolResult.error && !aborted && !nestedPermissionCancelled) {
4639
4659
  const toolResponse = {
4640
4660
  llmContent: toolResult.llmContent,
@@ -4661,6 +4681,12 @@ ${this.pendingWorktreeNotice}
4661
4681
  const contextPart = { text: postHookResult.additionalContext };
4662
4682
  responseParts.push(contextPart);
4663
4683
  }
4684
+ await this.emitHookArtifactsNotification({
4685
+ hookEventName: "PostToolUse",
4686
+ toolName,
4687
+ toolCallId: callId,
4688
+ artifacts: postHookResult.artifacts
4689
+ });
4664
4690
  } else if (hooksEnabledForTool && messageBusForTool && (toolResult.error || aborted)) {
4665
4691
  const isInterrupt = aborted;
4666
4692
  const failureHookResult = await firePostToolUseFailureHook(
@@ -4679,6 +4705,12 @@ ${this.pendingWorktreeNotice}
4679
4705
  `PostToolUseFailure hook additional context for ${toolName}: ${failureHookResult.additionalContext}`
4680
4706
  );
4681
4707
  }
4708
+ await this.emitHookArtifactsNotification({
4709
+ hookEventName: "PostToolUseFailure",
4710
+ toolName,
4711
+ toolCallId: callId,
4712
+ artifacts: failureHookResult.artifacts
4713
+ });
4682
4714
  }
4683
4715
  if (isTodoWriteTool) {
4684
4716
  const todos = this.planEmitter.extractTodos(
@@ -4689,15 +4721,15 @@ ${this.pendingWorktreeNotice}
4689
4721
  await this.planEmitter.emitPlan(todos ?? []);
4690
4722
  }
4691
4723
  } else {
4692
- const error = toolResult.error ? new Error(toolResult.error.message) : aborted ? new Error("Tool execution was cancelled") : void 0;
4693
4724
  await this.toolCallEmitter.emitResult({
4694
4725
  callId,
4695
4726
  toolName,
4696
4727
  args,
4697
4728
  message: responseParts,
4698
4729
  resultDisplay: toolResult.returnDisplay,
4699
- error,
4700
- success: succeeded
4730
+ error: responseError,
4731
+ success: succeeded,
4732
+ artifacts: toolResult.artifacts
4701
4733
  });
4702
4734
  }
4703
4735
  const durationMs = Date.now() - startTime;
@@ -4755,6 +4787,12 @@ ${this.pendingWorktreeNotice}
4755
4787
  `PostToolUseFailure hook additional context for ${toolName}: ${failureHookResult.additionalContext}`
4756
4788
  );
4757
4789
  }
4790
+ await this.emitHookArtifactsNotification({
4791
+ hookEventName: "PostToolUseFailure",
4792
+ toolName,
4793
+ toolCallId: callId,
4794
+ artifacts: failureHookResult.artifacts
4795
+ });
4758
4796
  }
4759
4797
  await this.toolCallEmitter.emitError(callId, toolName, error);
4760
4798
  const errorParts = [
@@ -4782,8 +4820,9 @@ ${this.pendingWorktreeNotice}
4782
4820
  toolName,
4783
4821
  error
4784
4822
  );
4823
+ const responseParts = errorResponse(error);
4785
4824
  return {
4786
- parts: errorResponse(error),
4825
+ parts: responseParts,
4787
4826
  stopAfterPermissionCancel: nestedPermissionCancelled,
4788
4827
  loopDetected
4789
4828
  };
@@ -5109,6 +5148,26 @@ ${contextPart.text}`
5109
5148
  debugLogger5.warn(msg);
5110
5149
  }
5111
5150
  }
5151
+ async emitHookArtifactsNotification(args) {
5152
+ if (!args.artifacts || args.artifacts.length === 0) {
5153
+ return;
5154
+ }
5155
+ try {
5156
+ await this.client.extNotification("qwen/notify/session/artifact-event", {
5157
+ v: 1,
5158
+ sessionId: this.sessionId,
5159
+ source: "hook",
5160
+ hookEventName: args.hookEventName,
5161
+ toolName: args.toolName,
5162
+ toolCallId: args.toolCallId,
5163
+ artifacts: args.artifacts
5164
+ });
5165
+ } catch (error) {
5166
+ writeStderrLine(
5167
+ `Hook artifact notification dropped for ${args.toolName ?? args.hookEventName}: ${error instanceof Error ? error.message : String(error)}`
5168
+ );
5169
+ }
5170
+ }
5112
5171
  /**
5113
5172
  * Fire a notification hook and forward any terminalSequence to the ACP
5114
5173
  * client as an extNotification. Fire-and-forget — errors are logged at
@@ -5156,6 +5215,11 @@ function serializeAgentTask(entry, now) {
5156
5215
  ...optionalField("endTime", entry.endTime),
5157
5216
  ...optionalField("subagentType", entry.subagentType),
5158
5217
  isBackgrounded: entry.isBackgrounded,
5218
+ // Nested-agent lineage for client-side tree rendering. AgentTask uses
5219
+ // `null` parentAgentId for top-level launches — normalize to absent.
5220
+ ...optionalField("parentAgentId", entry.parentAgentId ?? void 0),
5221
+ ...optionalField("parentName", entry.parentName),
5222
+ ...optionalField("depth", entry.depth),
5159
5223
  ...optionalField("error", entry.error),
5160
5224
  ...optionalField("resumeBlockedReason", entry.resumeBlockedReason),
5161
5225
  ...optionalField("stats", entry.stats),
@@ -5240,6 +5304,21 @@ __name(runWithAcpRuntimeOutputDir, "runWithAcpRuntimeOutputDir");
5240
5304
  var debugLogger6 = createDebugLogger("ACP_AGENT");
5241
5305
  var BTW_CHILD_TIMEOUT_MS = 55e3;
5242
5306
  var WORKSPACE_MEMORY_REMEMBER_CHILD_TIMEOUT_MS = 295e3;
5307
+ function createHiddenWorkspaceMemoryConfig(config) {
5308
+ return new Proxy(config, {
5309
+ get(target, prop) {
5310
+ if (prop === "getChatRecordingService") {
5311
+ return () => void 0;
5312
+ }
5313
+ if (prop === "getTranscriptPath") {
5314
+ return () => "";
5315
+ }
5316
+ const value = Reflect.get(target, prop, target);
5317
+ return typeof value === "function" ? value.bind(target) : value;
5318
+ }
5319
+ });
5320
+ }
5321
+ __name(createHiddenWorkspaceMemoryConfig, "createHiddenWorkspaceMemoryConfig");
5243
5322
  function collapseForkDirective(directive, maxLength) {
5244
5323
  const oneLine = directive.replace(/\s+/g, " ").trim();
5245
5324
  return oneLine.length > maxLength ? `${oneLine.slice(0, maxLength - 3)}\u2026` : oneLine;
@@ -6661,18 +6740,30 @@ async function runAcpAgent(config, settings, argv) {
6661
6740
  // client-hosted MCP server (#5626) round-trips over the parent WS.
6662
6741
  sendSdkMcpMessage: bootstrapClientMcpSender
6663
6742
  });
6664
- const stdout = Writable.toWeb(process.stdout);
6665
- const stdin = Readable.toWeb(process.stdin);
6666
- console.log = console.error;
6667
- console.info = console.error;
6668
- console.debug = console.error;
6669
- const stream = ndJsonStream(stdout, stdin);
6743
+ const eventLoopMonitor = startEventLoopLagMonitor({
6744
+ onNewMaxStall: /* @__PURE__ */ __name((maxMs) => {
6745
+ console.error(`[perf] acp agent event loop stall: max=${maxMs}ms`);
6746
+ }, "onNewMaxStall")
6747
+ });
6670
6748
  let agentInstance;
6671
- const connection = new AgentSideConnection((conn) => {
6672
- acpConnection = conn;
6673
- agentInstance = new QwenAgent(config, settings, argv, conn);
6674
- return agentInstance;
6675
- }, stream);
6749
+ let connection;
6750
+ try {
6751
+ const stdout = Writable.toWeb(process.stdout);
6752
+ const stdin = Readable.toWeb(process.stdin);
6753
+ console.log = console.error;
6754
+ console.info = console.error;
6755
+ console.debug = console.error;
6756
+ const stream = ndJsonStream(stdout, stdin);
6757
+ connection = new AgentSideConnection((conn) => {
6758
+ acpConnection = conn;
6759
+ agentInstance = new QwenAgent(config, settings, argv, conn);
6760
+ return agentInstance;
6761
+ }, stream);
6762
+ } catch (err) {
6763
+ eventLoopMonitor.dispose();
6764
+ throw err;
6765
+ }
6766
+ registerAcpEventLoopLagGauge(() => eventLoopMonitor.snapshot());
6676
6767
  const drainPoolBeforeExit = /* @__PURE__ */ __name(async (label) => {
6677
6768
  if (!agentInstance) return;
6678
6769
  try {
@@ -6715,17 +6806,23 @@ async function runAcpAgent(config, settings, argv) {
6715
6806
  if (shuttingDown) return;
6716
6807
  shuttingDown = true;
6717
6808
  debugLogger6.debug("[ACP] Shutdown signal received, closing streams");
6718
- await fireSessionEndOnce("other" /* Other */);
6719
- agentInstance?.disposeSessions();
6720
6809
  try {
6721
- process.stdin.destroy();
6722
- } catch {
6723
- }
6724
- try {
6725
- process.stdout.destroy();
6726
- } catch {
6810
+ await fireSessionEndOnce("other" /* Other */);
6811
+ agentInstance?.disposeSessions();
6812
+ try {
6813
+ process.stdin.destroy();
6814
+ } catch {
6815
+ }
6816
+ try {
6817
+ process.stdout.destroy();
6818
+ } catch {
6819
+ }
6820
+ await drainPoolBeforeExit("signal");
6821
+ } catch (err) {
6822
+ debugLogger6.error("[ACP] Shutdown error:", err);
6823
+ } finally {
6824
+ eventLoopMonitor.dispose();
6727
6825
  }
6728
- await drainPoolBeforeExit("signal");
6729
6826
  runExitCleanup().catch((err) => {
6730
6827
  debugLogger6.error("[ACP] Cleanup error:", err);
6731
6828
  }).finally(() => {
@@ -6734,12 +6831,16 @@ async function runAcpAgent(config, settings, argv) {
6734
6831
  }, "shutdownHandler");
6735
6832
  process.on("SIGTERM", shutdownHandler);
6736
6833
  process.on("SIGINT", shutdownHandler);
6737
- await connection.closed;
6738
- await fireSessionEndOnce("prompt_input_exit" /* PromptInputExit */);
6739
- await drainPoolBeforeExit("ide_close");
6740
- agentInstance?.disposeSessions();
6741
- process.off("SIGTERM", shutdownHandler);
6742
- process.off("SIGINT", shutdownHandler);
6834
+ try {
6835
+ await connection.closed;
6836
+ await fireSessionEndOnce("prompt_input_exit" /* PromptInputExit */);
6837
+ await drainPoolBeforeExit("ide_close");
6838
+ agentInstance?.disposeSessions();
6839
+ } finally {
6840
+ process.off("SIGTERM", shutdownHandler);
6841
+ process.off("SIGINT", shutdownHandler);
6842
+ eventLoopMonitor.dispose();
6843
+ }
6743
6844
  }
6744
6845
  __name(runAcpAgent, "runAcpAgent");
6745
6846
  function toStdioServer(server) {
@@ -7005,7 +7106,7 @@ var QwenAgent = class {
7005
7106
  async initialize(args) {
7006
7107
  this.clientCapabilities = args.clientCapabilities;
7007
7108
  const authMethods = buildAuthMethods();
7008
- const version = "0.19.5";
7109
+ const version = "0.19.6-nightly.20260704.5dc2e1501";
7009
7110
  return {
7010
7111
  protocolVersion: PROTOCOL_VERSION,
7011
7112
  agentInfo: {
@@ -7878,12 +7979,13 @@ var QwenAgent = class {
7878
7979
  };
7879
7980
  }
7880
7981
  try {
7982
+ const disabled = config.getDisabledSkillNames();
7881
7983
  const skills = await skillManager.listSkills();
7882
7984
  return {
7883
7985
  v: STATUS_SCHEMA_VERSION,
7884
7986
  workspaceCwd: this.workspaceCwd(config),
7885
7987
  initialized: true,
7886
- skills: skills.map(mapSkillConfigToStatus)
7988
+ skills: skills.map((skill) => mapSkillConfigToStatus(skill, disabled))
7887
7989
  };
7888
7990
  } catch (error) {
7889
7991
  return {
@@ -9193,6 +9295,119 @@ var QwenAgent = class {
9193
9295
  );
9194
9296
  }
9195
9297
  }
9298
+ case SERVE_CONTROL_EXT_METHODS.workspaceMemoryForget: {
9299
+ const query = params["query"];
9300
+ if (typeof query !== "string" || !query.trim()) {
9301
+ throw RequestError.invalidParams(
9302
+ void 0,
9303
+ "Invalid or missing query"
9304
+ );
9305
+ }
9306
+ const trimmedQuery = query.trim();
9307
+ if (Buffer.byteLength(trimmedQuery, "utf8") > MAX_REMEMBER_CONTENT_BYTES) {
9308
+ throw RequestError.invalidParams(
9309
+ void 0,
9310
+ "Query exceeds maximum size"
9311
+ );
9312
+ }
9313
+ if (!this.config.isManagedMemoryAvailable()) {
9314
+ throw new RequestError(
9315
+ -32009,
9316
+ "Managed memory is unavailable for this daemon workspace",
9317
+ { errorKind: "managed_memory_unavailable" }
9318
+ );
9319
+ }
9320
+ const childSignal = AbortSignal.timeout(
9321
+ WORKSPACE_MEMORY_REMEMBER_CHILD_TIMEOUT_MS
9322
+ );
9323
+ try {
9324
+ const projectRoot = this.config.getProjectRoot();
9325
+ const hiddenConfig = createHiddenWorkspaceMemoryConfig(this.config);
9326
+ const result = await this.config.getMemoryManager().forget(projectRoot, trimmedQuery, {
9327
+ config: hiddenConfig,
9328
+ abortSignal: childSignal
9329
+ });
9330
+ return {
9331
+ summary: result.systemMessage ?? formatWorkspaceMemoryForgetSummary(result.removedEntries.length),
9332
+ removedEntries: result.removedEntries,
9333
+ touchedTopics: result.touchedTopics
9334
+ };
9335
+ } catch (err) {
9336
+ if (err instanceof RequestError) {
9337
+ throw err;
9338
+ }
9339
+ if (childSignal.aborted) {
9340
+ throw new RequestError(
9341
+ -32099,
9342
+ "Workspace memory forget timed out",
9343
+ {
9344
+ errorKind: "forget_timeout"
9345
+ }
9346
+ );
9347
+ }
9348
+ const code = extractRememberErrorCode(err, "forget_failed");
9349
+ if (code === "managed_memory_unavailable") {
9350
+ throw new RequestError(
9351
+ -32009,
9352
+ "Managed memory is unavailable for this daemon workspace",
9353
+ { errorKind: "managed_memory_unavailable" }
9354
+ );
9355
+ }
9356
+ throw new RequestError(-32099, "Workspace memory forget failed", {
9357
+ errorKind: code
9358
+ });
9359
+ }
9360
+ }
9361
+ case SERVE_CONTROL_EXT_METHODS.workspaceMemoryDream: {
9362
+ if (!this.config.isManagedMemoryAvailable()) {
9363
+ throw new RequestError(
9364
+ -32009,
9365
+ "Managed memory is unavailable for this daemon workspace",
9366
+ { errorKind: "managed_memory_unavailable" }
9367
+ );
9368
+ }
9369
+ const childSignal = AbortSignal.timeout(
9370
+ WORKSPACE_MEMORY_REMEMBER_CHILD_TIMEOUT_MS
9371
+ );
9372
+ try {
9373
+ const result = await runManagedAutoMemoryDream(
9374
+ this.config.getProjectRoot(),
9375
+ /* @__PURE__ */ new Date(),
9376
+ createHiddenWorkspaceMemoryConfig(this.config),
9377
+ childSignal,
9378
+ {
9379
+ trigger: "manual",
9380
+ recordMetadata: true,
9381
+ suppressChatRecording: true
9382
+ }
9383
+ );
9384
+ return {
9385
+ summary: result.systemMessage,
9386
+ touchedTopics: result.touchedTopics,
9387
+ dedupedEntries: result.dedupedEntries
9388
+ };
9389
+ } catch (err) {
9390
+ if (err instanceof RequestError) {
9391
+ throw err;
9392
+ }
9393
+ if (childSignal.aborted) {
9394
+ throw new RequestError(-32099, "Workspace memory dream timed out", {
9395
+ errorKind: "dream_timeout"
9396
+ });
9397
+ }
9398
+ const code = extractRememberErrorCode(err, "dream_failed");
9399
+ if (code === "managed_memory_unavailable") {
9400
+ throw new RequestError(
9401
+ -32009,
9402
+ "Managed memory is unavailable for this daemon workspace",
9403
+ { errorKind: "managed_memory_unavailable" }
9404
+ );
9405
+ }
9406
+ throw new RequestError(-32099, "Workspace memory dream failed", {
9407
+ errorKind: code
9408
+ });
9409
+ }
9410
+ }
9196
9411
  case SERVE_CONTROL_EXT_METHODS.workspaceMcpRestart: {
9197
9412
  const serverName = params["serverName"];
9198
9413
  if (typeof serverName !== "string" || serverName.length === 0) {