@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
@@ -1,8 +1,61 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import "./chunk-4YMVQKCZ.js";
4
+ import {
5
+ DualOutputContext,
6
+ useDualOutput,
7
+ useGeminiStream
8
+ } from "./chunk-P2OIJOKP.js";
9
+ import {
10
+ MAX_SUGGESTIONS_TO_SHOW,
11
+ MAX_WIDTH,
12
+ SuggestionsDisplay,
13
+ buildMcpResourceRef,
14
+ getExtensionSuggestions,
15
+ matchMcpServerPrefix
16
+ } from "./chunk-4OIKNWUQ.js";
3
17
  import {
4
18
  StreamJsonOutputAdapter
5
- } from "./chunk-J3ERRYYI.js";
19
+ } from "./chunk-AWSTZHHZ.js";
20
+ import {
21
+ BuiltinCommandLoader,
22
+ BundledSkillLoader,
23
+ CommandService,
24
+ DISPLAY_HOOK_EVENTS,
25
+ FileCommandLoader,
26
+ McpPromptLoader,
27
+ SavedWorkflowLoader,
28
+ SkillCommandLoader,
29
+ addConfigToMatcherGroup,
30
+ appendUserPromptExpansionAdditionalContext,
31
+ createEmptyHookEventInfo,
32
+ findMidInputSlashCommand,
33
+ findSlashCommandTokens,
34
+ formatApprovalModeDescription,
35
+ formatApprovalModeName,
36
+ formatUserPromptExpansionBlockedMessage,
37
+ getAllConfigs,
38
+ getBestSlashCommandMatch,
39
+ getInstallationInfo,
40
+ getTranslatedSourceDisplayMap,
41
+ hasBlockingBackgroundWork,
42
+ hasSlashCommandPathSeparator,
43
+ isBtwCommand,
44
+ isMidInputCompletableCommand,
45
+ isSlashCommand,
46
+ parseSlashCommand,
47
+ performStandaloneUpdate,
48
+ resetBackgroundStateForSessionSwitch,
49
+ restoreGoalFromHistory,
50
+ serializeUserPromptExpansionPrompt,
51
+ supportsMatchers,
52
+ useAutoAcceptIndicator
53
+ } from "./chunk-KBKWNEPS.js";
54
+ import {
55
+ appEvents,
56
+ loadHierarchicalGeminiMemory
57
+ } from "./chunk-WSOGYJMT.js";
58
+ import "./chunk-NGCPNXJC.js";
6
59
  import {
7
60
  AboutBox,
8
61
  BaseSelectionList,
@@ -70,72 +123,16 @@ import {
70
123
  useTextBuffer,
71
124
  useUIActions,
72
125
  useUIState
73
- } from "./chunk-NNEJEBCF.js";
126
+ } from "./chunk-PGMCFUZS.js";
74
127
  import {
75
128
  relaunchApp
76
- } from "./chunk-WALEWZ44.js";
77
- import {
78
- stopAndGetCapturedInput
79
- } from "./chunk-LWGLBVWA.js";
80
- import "./chunk-MDBNFHIO.js";
81
- import {
82
- DualOutputContext,
83
- useDualOutput,
84
- useGeminiStream
85
- } from "./chunk-6KPZJJ6U.js";
86
- import {
87
- MAX_SUGGESTIONS_TO_SHOW,
88
- MAX_WIDTH,
89
- SuggestionsDisplay,
90
- buildMcpResourceRef,
91
- getExtensionSuggestions,
92
- matchMcpServerPrefix
93
- } from "./chunk-SJVPSHXU.js";
94
- import {
95
- BuiltinCommandLoader,
96
- BundledSkillLoader,
97
- CommandService,
98
- DISPLAY_HOOK_EVENTS,
99
- FileCommandLoader,
100
- McpPromptLoader,
101
- SavedWorkflowLoader,
102
- SkillCommandLoader,
103
- addConfigToMatcherGroup,
104
- appendUserPromptExpansionAdditionalContext,
105
- createEmptyHookEventInfo,
106
- findMidInputSlashCommand,
107
- findSlashCommandTokens,
108
- formatApprovalModeDescription,
109
- formatApprovalModeName,
110
- formatUserPromptExpansionBlockedMessage,
111
- getAllConfigs,
112
- getBestSlashCommandMatch,
113
- getInstallationInfo,
114
- getTranslatedSourceDisplayMap,
115
- hasBlockingBackgroundWork,
116
- hasSlashCommandPathSeparator,
117
- isBtwCommand,
118
- isMidInputCompletableCommand,
119
- isSlashCommand,
120
- parseSlashCommand,
121
- performStandaloneUpdate,
122
- resetBackgroundStateForSessionSwitch,
123
- restoreGoalFromHistory,
124
- serializeUserPromptExpansionPrompt,
125
- supportsMatchers,
126
- useAutoAcceptIndicator
127
- } from "./chunk-4MCC4XHH.js";
128
- import {
129
- appEvents,
130
- loadHierarchicalGeminiMemory,
131
- loadMcpApprovals
132
- } from "./chunk-EJ7BN3EN.js";
129
+ } from "./chunk-H3GBYW5M.js";
133
130
  import {
134
131
  SessionStatsProvider,
135
132
  getCommandDisplayName,
136
133
  getCommandSourceBadge,
137
134
  useSessionStats
138
- } from "./chunk-IMAMNLY6.js";
135
+ } from "./chunk-N6AGVKMC.js";
139
136
  import {
140
137
  Colors,
141
138
  SettingsContext,
@@ -144,7 +141,7 @@ import {
144
141
  useMouseEvents,
145
142
  useSettings,
146
143
  useTerminalSize
147
- } from "./chunk-NDY7OENU.js";
144
+ } from "./chunk-N3QDCSLP.js";
148
145
  import {
149
146
  BEL,
150
147
  KeypressProvider,
@@ -167,21 +164,14 @@ import {
167
164
  useKeypressContext,
168
165
  wrapForMultiplexer,
169
166
  writeOsc52
170
- } from "./chunk-UJT42DB6.js";
171
- import {
172
- disableKittyProtocol,
173
- isKittyProtocolEnabled,
174
- isKittyProtocolSupported
175
- } from "./chunk-JZSY4WP3.js";
176
- import "./chunk-WZ724G6K.js";
167
+ } from "./chunk-5QC7Y5TJ.js";
177
168
  import "./chunk-KSPVDFE4.js";
178
169
  import "./chunk-MRO43B25.js";
179
- import "./chunk-5B2WNM6V.js";
180
170
  import {
181
171
  MaxSizedBox,
182
172
  OverflowProvider,
183
173
  useOverflowState
184
- } from "./chunk-CBJE2PLG.js";
174
+ } from "./chunk-777PHAJF.js";
185
175
  import {
186
176
  theme
187
177
  } from "./chunk-VXGPYF7U.js";
@@ -199,7 +189,7 @@ import {
199
189
  use_is_screen_reader_enabled_default,
200
190
  use_stdin_default,
201
191
  use_stdout_default
202
- } from "./chunk-XKZXGIRM.js";
192
+ } from "./chunk-HNGXPBWR.js";
203
193
  import {
204
194
  require_react
205
195
  } from "./chunk-KYMBIKIW.js";
@@ -208,11 +198,28 @@ import {
208
198
  DEFAULT_THEME,
209
199
  themeManager
210
200
  } from "./chunk-HTWHAN44.js";
201
+ import {
202
+ stopAndGetCapturedInput
203
+ } from "./chunk-LWGLBVWA.js";
204
+ import {
205
+ disableKittyProtocol,
206
+ isKittyProtocolEnabled,
207
+ isKittyProtocolSupported
208
+ } from "./chunk-JZSY4WP3.js";
209
+ import {
210
+ requestConsentInteractive,
211
+ requestConsentOrFail
212
+ } from "./chunk-TE6JTKY5.js";
213
+ import "./chunk-3GONHQOA.js";
214
+ import {
215
+ getErrorMessage as getErrorMessage2
216
+ } from "./chunk-3ZSJDRNO.js";
217
+ import "./chunk-ZI4MGBB5.js";
211
218
  import {
212
219
  openQwenAsrRealtimeStream,
213
220
  openVoiceStream,
214
221
  openVoiceStreamWithRetry
215
- } from "./chunk-G4M7FPNY.js";
222
+ } from "./chunk-M6IUEDXM.js";
216
223
  import "./chunk-L7QPM2YD.js";
217
224
  import "./chunk-54YZOP7P.js";
218
225
  import {
@@ -227,50 +234,42 @@ import {
227
234
  stripUnsafeCharacters,
228
235
  toCodePoints,
229
236
  wrapToVisualLines
230
- } from "./chunk-2CAII5HD.js";
237
+ } from "./chunk-MWGIMAYM.js";
238
+ import {
239
+ getExtendedSystemInfo
240
+ } from "./chunk-UPYORLKQ.js";
241
+ import {
242
+ formatDuration,
243
+ formatRelativeTime,
244
+ formatTokenCount
245
+ } from "./chunk-KHDZHZMH.js";
246
+ import "./chunk-XPOO5OMB.js";
231
247
  import {
232
248
  assertVoiceBaseUrlNetworkAllowed,
233
249
  isKeytermEcho,
234
250
  isStreamingVoiceModel,
235
251
  resolveVoiceStreamConfig,
236
252
  transcribeVoiceAudio
237
- } from "./chunk-MNOXKSM2.js";
253
+ } from "./chunk-KEKV2TOO.js";
238
254
  import {
239
255
  formatUnsupportedVoiceModelMessage,
240
256
  isSelectableVoiceModel
241
- } from "./chunk-Y4UQT3PM.js";
257
+ } from "./chunk-QQXG2BL6.js";
242
258
  import "./chunk-NIOPRZNN.js";
243
259
  import "./chunk-AHNXYU4O.js";
244
260
  import "./chunk-RNBYOUGV.js";
245
- import "./chunk-HISPEX42.js";
261
+ import "./chunk-G645A66S.js";
246
262
  import "./chunk-BJBWRCSK.js";
247
263
  import {
248
- requestConsentInteractive,
249
- requestConsentOrFail
250
- } from "./chunk-DRS2HTNT.js";
251
- import "./chunk-3GONHQOA.js";
252
- import {
253
- getErrorMessage as getErrorMessage2
254
- } from "./chunk-JJ6B3ZD3.js";
264
+ loadMcpApprovals
265
+ } from "./chunk-U7UXWKGG.js";
266
+ import "./chunk-6BEOH4KK.js";
267
+ import "./chunk-S6RLAIUR.js";
268
+ import "./chunk-MX2YXRER.js";
255
269
  import "./chunk-YHTNWGRR.js";
256
270
  import {
257
271
  createLoadedSettingsAdapter
258
- } from "./chunk-R3UWLLRQ.js";
259
- import {
260
- getExtendedSystemInfo
261
- } from "./chunk-JKGCBO3O.js";
262
- import {
263
- formatDuration,
264
- formatRelativeTime,
265
- formatTokenCount
266
- } from "./chunk-KHDZHZMH.js";
267
- import {
268
- getCliVersion,
269
- getPackageJson
270
- } from "./chunk-RSBQS6M4.js";
271
- import "./chunk-SEZC2725.js";
272
- import "./chunk-ALX6BUYW.js";
273
- import "./chunk-K4I4STSL.js";
272
+ } from "./chunk-KP6O77UN.js";
274
273
  import {
275
274
  CORRUPTED_SUFFIX,
276
275
  SettingScope,
@@ -292,14 +291,19 @@ import {
292
291
  settingExistsInScope,
293
292
  validateSettingValue,
294
293
  writeOutputLanguageAndRegisterPath
295
- } from "./chunk-BC4R5C5R.js";
294
+ } from "./chunk-5WYLPENX.js";
296
295
  import {
297
296
  getCurrentLanguage,
298
297
  localizeToolDisplayName,
299
298
  t,
300
299
  ta
301
- } from "./chunk-DM4E337C.js";
300
+ } from "./chunk-X3UQVEBR.js";
302
301
  import "./chunk-TLRYABYP.js";
302
+ import "./chunk-4RQIB5UZ.js";
303
+ import "./chunk-SEZC2725.js";
304
+ import "./chunk-ALX6BUYW.js";
305
+ import "./chunk-VRDMOSQS.js";
306
+ import "./chunk-3RW4AZJV.js";
303
307
  import {
304
308
  require_clean,
305
309
  require_constants,
@@ -311,15 +315,14 @@ import {
311
315
  require_semver,
312
316
  require_valid
313
317
  } from "./chunk-CJCKDMWO.js";
314
- import "./chunk-S6RLAIUR.js";
315
- import "./chunk-MX2YXRER.js";
316
- import "./chunk-7DMQRPC7.js";
317
- import "./chunk-UFC57OYT.js";
318
- import "./chunk-PPFWEV7G.js";
318
+ import {
319
+ getCliVersion,
320
+ getPackageJson
321
+ } from "./chunk-P2RRV2UB.js";
319
322
  import {
320
323
  isWorkspaceTrusted,
321
324
  loadTrustedFolders
322
- } from "./chunk-Z7XNVNPM.js";
325
+ } from "./chunk-EMSRFDBD.js";
323
326
  import {
324
327
  clearScreen,
325
328
  writeStderrLine
@@ -419,10 +422,11 @@ import {
419
422
  validateWorkflowName,
420
423
  watchRepoBranch,
421
424
  writeRuntimeStatus
422
- } from "./chunk-6QTCOQX7.js";
425
+ } from "./chunk-B5ZACOMA.js";
423
426
  import "./chunk-5P5XGNYH.js";
424
- import "./chunk-K5PGHDBN.js";
425
427
  import "./chunk-SKAZWEV5.js";
428
+ import "./chunk-K5PGHDBN.js";
429
+ import "./chunk-CLQPBI4H.js";
426
430
  import "./chunk-QOMAHFYI.js";
427
431
  import "./chunk-G7OQ3RFJ.js";
428
432
  import {
@@ -430,22 +434,21 @@ import {
430
434
  } from "./chunk-LKWAVAB5.js";
431
435
  import {
432
436
  runSideQuery
433
- } from "./chunk-L7OJ3ZO3.js";
434
- import "./chunk-R6RI2HIC.js";
437
+ } from "./chunk-5ES5YPED.js";
435
438
  import "./chunk-2MPVVENX.js";
436
439
  import "./chunk-ZTQ26VBE.js";
437
- import "./chunk-SJBIFVD2.js";
440
+ import "./chunk-DMSNJDWG.js";
438
441
  import "./chunk-MLZQVCF3.js";
439
442
  import "./chunk-LQ7TMOCE.js";
440
443
  import "./chunk-E5A7LHNN.js";
441
444
  import {
442
445
  APPROVAL_MODES
443
- } from "./chunk-BPFJQGY7.js";
446
+ } from "./chunk-LM3YCCZJ.js";
444
447
  import "./chunk-GO6LNQXT.js";
445
448
  import "./chunk-B236XPGF.js";
446
449
  import {
447
450
  HOOKS_CONFIG_FIELDS
448
- } from "./chunk-YXK4GPYO.js";
451
+ } from "./chunk-NVFJSIAX.js";
449
452
  import {
450
453
  isPathWithinRoot
451
454
  } from "./chunk-TOAUDIS7.js";
@@ -473,7 +476,7 @@ import {
473
476
  recordSkillInvocation,
474
477
  removeMCPServerStatus,
475
478
  removeMCPStatusChangeListener
476
- } from "./chunk-CHY5C5T4.js";
479
+ } from "./chunk-TDMIHT6B.js";
477
480
  import "./chunk-E6US47KI.js";
478
481
  import "./chunk-UWCTAVOD.js";
479
482
  import {
@@ -485,11 +488,11 @@ import {
485
488
  getAutoMemoryRoot
486
489
  } from "./chunk-MOUXUCXQ.js";
487
490
  import "./chunk-BZHLWC6T.js";
488
- import "./chunk-DG573EOO.js";
491
+ import "./chunk-RZORUN6X.js";
489
492
  import {
490
493
  ToolDisplayNames,
491
494
  ToolNames
492
- } from "./chunk-MTNTVOJR.js";
495
+ } from "./chunk-MJKMIQMK.js";
493
496
  import {
494
497
  qwenOAuth2Events
495
498
  } from "./chunk-TENOUWY2.js";
@@ -503,7 +506,7 @@ import {
503
506
  } from "./chunk-SIUQ3YYX.js";
504
507
  import {
505
508
  DEFAULT_TOKEN_LIMIT
506
- } from "./chunk-YTFBURQD.js";
509
+ } from "./chunk-KYTQOCDE.js";
507
510
  import "./chunk-YPCPZSZB.js";
508
511
  import "./chunk-IRJWHZWU.js";
509
512
  import "./chunk-SYCJMSIJ.js";
@@ -522,16 +525,16 @@ import {
522
525
  shortenPath,
523
526
  tildeifyPath
524
527
  } from "./chunk-AVQDCKNF.js";
525
- import "./chunk-M5ITDKSM.js";
528
+ import "./chunk-RUM2UEL3.js";
529
+ import {
530
+ registerCleanup,
531
+ runExitCleanup
532
+ } from "./chunk-4YXBDLX7.js";
526
533
  import {
527
534
  finalizeStartupProfile,
528
535
  profileCheckpoint
529
536
  } from "./chunk-ITOGNELQ.js";
530
537
  import "./chunk-FXGLL2HL.js";
531
- import {
532
- registerCleanup,
533
- runExitCleanup
534
- } from "./chunk-2YH27UNF.js";
535
538
  import "./chunk-ZERZSAZL.js";
536
539
  import "./chunk-QN5NZ3UQ.js";
537
540
  import "./chunk-BR4QREVK.js";
@@ -6484,6 +6487,10 @@ function formatAuthDisplayType(authDisplayType) {
6484
6487
  }
6485
6488
  }
6486
6489
  __name(formatAuthDisplayType, "formatAuthDisplayType");
6490
+ function formatVersionLabel(version) {
6491
+ return /^\d/.test(version) ? `v${version}` : version;
6492
+ }
6493
+ __name(formatVersionLabel, "formatVersionLabel");
6487
6494
  var Header = /* @__PURE__ */ __name(({
6488
6495
  customAsciiArt,
6489
6496
  customBannerTitle,
@@ -6495,6 +6502,7 @@ var Header = /* @__PURE__ */ __name(({
6495
6502
  }) => {
6496
6503
  const { columns: terminalWidth } = useTerminalSize();
6497
6504
  const formattedAuthType = formatAuthDisplayType(authDisplayType);
6505
+ const versionLabel = formatVersionLabel(version);
6498
6506
  const containerMarginX = 2;
6499
6507
  const logoGap = 2;
6500
6508
  const infoPanelPaddingX = 1;
@@ -6564,8 +6572,8 @@ var Header = /* @__PURE__ */ __name(({
6564
6572
  /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Text, { children: [
6565
6573
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Text, { bold: true, color: theme.text.accent, children: customBannerTitle ? customBannerTitle : ">_ Qwen Code" }),
6566
6574
  /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Text, { color: theme.text.secondary, children: [
6567
- " (v",
6568
- version,
6575
+ " (",
6576
+ versionLabel,
6569
6577
  ")"
6570
6578
  ] })
6571
6579
  ] }),
@@ -26422,7 +26430,139 @@ var import_react75 = __toESM(require_react(), 1);
26422
26430
  // packages/cli/src/ui/hooks/useBackgroundTaskView.ts
26423
26431
  init_esbuild_shims();
26424
26432
  var import_react74 = __toESM(require_react(), 1);
26433
+
26434
+ // packages/cli/src/ui/components/background-view/agent-forest.ts
26435
+ init_esbuild_shims();
26436
+ function isAgentNode(e) {
26437
+ return e.kind === "agent" && typeof e.agentId === "string";
26438
+ }
26439
+ __name(isAgentNode, "isAgentNode");
26440
+ function reorderChildrenUnderParents(entries) {
26441
+ const agents = entries.filter(isAgentNode);
26442
+ const byId = /* @__PURE__ */ new Map();
26443
+ for (const agent of agents) byId.set(agent.agentId, agent);
26444
+ const childrenOf = /* @__PURE__ */ new Map();
26445
+ const roots = [];
26446
+ for (const agent of agents) {
26447
+ const pid = agent.parentAgentId;
26448
+ if (pid != null && pid !== agent.agentId && byId.has(pid)) {
26449
+ const siblings = childrenOf.get(pid);
26450
+ if (siblings) siblings.push(agent);
26451
+ else childrenOf.set(pid, [agent]);
26452
+ } else {
26453
+ roots.push(agent);
26454
+ }
26455
+ }
26456
+ if (childrenOf.size === 0) return [...entries];
26457
+ const ordered = [];
26458
+ const visited = /* @__PURE__ */ new Set();
26459
+ const visit = /* @__PURE__ */ __name((node) => {
26460
+ if (visited.has(node.agentId)) return;
26461
+ visited.add(node.agentId);
26462
+ ordered.push(node);
26463
+ for (const child of childrenOf.get(node.agentId) ?? []) visit(child);
26464
+ }, "visit");
26465
+ for (const root of roots) visit(root);
26466
+ for (const agent of agents) {
26467
+ if (!visited.has(agent.agentId)) {
26468
+ visited.add(agent.agentId);
26469
+ ordered.push(agent);
26470
+ }
26471
+ }
26472
+ let next = 0;
26473
+ return entries.map((e) => isAgentNode(e) ? ordered[next++] : e);
26474
+ }
26475
+ __name(reorderChildrenUnderParents, "reorderChildrenUnderParents");
26476
+ function panelDisplayOrder(visibleNewestFirst) {
26477
+ return reorderChildrenUnderParents([...visibleNewestFirst].reverse());
26478
+ }
26479
+ __name(panelDisplayOrder, "panelDisplayOrder");
26480
+ function ancestorChain(node, lookup) {
26481
+ const chain = [];
26482
+ const seen = new Set(node.agentId != null ? [node.agentId] : []);
26483
+ let pid = node.parentAgentId;
26484
+ for (; ; ) {
26485
+ if (pid == null) return { chain, terminatedBy: "root" };
26486
+ if (seen.has(pid)) return { chain, terminatedBy: "cycle" };
26487
+ const parent = lookup(pid);
26488
+ if (!parent) return { chain, terminatedBy: "missing" };
26489
+ seen.add(pid);
26490
+ chain.push(parent);
26491
+ pid = parent.parentAgentId;
26492
+ }
26493
+ }
26494
+ __name(ancestorChain, "ancestorChain");
26495
+ function computeAgentTreeInfo(entries) {
26496
+ const byId = /* @__PURE__ */ new Map();
26497
+ for (const e of entries) if (isAgentNode(e)) byId.set(e.agentId, e);
26498
+ const info = /* @__PURE__ */ new Map();
26499
+ for (const e of byId.values()) {
26500
+ const { chain, terminatedBy } = ancestorChain(e, (id) => byId.get(id));
26501
+ info.set(e.agentId, {
26502
+ // Cycle members are appended flat at root level by
26503
+ // reorderChildrenUnderParents — mirror that here, otherwise the row
26504
+ // would indent under no rendered parent.
26505
+ visibleDepth: terminatedBy === "cycle" ? 0 : chain.length,
26506
+ // Orphaned = claims a parent but its IMMEDIATE parent is gone. A
26507
+ // deeper break (grandparent evicted) still renders indented under
26508
+ // the present parent, so only a zero-length 'missing' chain counts.
26509
+ orphaned: chain.length === 0 && terminatedBy === "missing"
26510
+ });
26511
+ }
26512
+ return info;
26513
+ }
26514
+ __name(computeAgentTreeInfo, "computeAgentTreeInfo");
26515
+ function computeUserBlockingIds(entries) {
26516
+ const byId = /* @__PURE__ */ new Map();
26517
+ for (const e of entries) if (isAgentNode(e)) byId.set(e.agentId, e);
26518
+ const blocking = /* @__PURE__ */ new Set();
26519
+ for (const e of byId.values()) {
26520
+ if (e.isBackgrounded !== false) continue;
26521
+ const { chain, terminatedBy } = ancestorChain(e, (id) => byId.get(id));
26522
+ if (terminatedBy === "root" && chain.every((ancestor) => ancestor.isBackgrounded === false)) {
26523
+ blocking.add(e.agentId);
26524
+ }
26525
+ }
26526
+ return blocking;
26527
+ }
26528
+ __name(computeUserBlockingIds, "computeUserBlockingIds");
26529
+ var TREE_INDENT_PER_LEVEL = " ";
26530
+ var TREE_INDENT_MAX_LEVELS = 3;
26531
+ function treeRowPrefix(entry, tree) {
26532
+ const indent = TREE_INDENT_PER_LEVEL.repeat(
26533
+ Math.min(tree?.visibleDepth ?? 0, TREE_INDENT_MAX_LEVELS)
26534
+ );
26535
+ const marker = entry.parentAgentId != null ? "\u21B3 " : "";
26536
+ return `${indent}${marker}`;
26537
+ }
26538
+ __name(treeRowPrefix, "treeRowPrefix");
26539
+ function statusGlyph(status) {
26540
+ switch (status) {
26541
+ case "running":
26542
+ return "\u25CB";
26543
+ case "paused":
26544
+ return "\u23F8";
26545
+ case "completed":
26546
+ return "\u2714";
26547
+ case "failed":
26548
+ case "cancelled":
26549
+ return "\u2716";
26550
+ default:
26551
+ return "\u25CB";
26552
+ }
26553
+ }
26554
+ __name(statusGlyph, "statusGlyph");
26555
+
26556
+ // packages/cli/src/ui/hooks/useBackgroundTaskView.ts
26425
26557
  var MAX_RETAINED_TERMINAL_DREAMS = 3;
26558
+ function compareActiveThenTerminal(a, b) {
26559
+ const aActive = a.status === "running" || a.status === "paused";
26560
+ const bActive = b.status === "running" || b.status === "paused";
26561
+ if (aActive !== bActive) return aActive ? -1 : 1;
26562
+ if (aActive) return b.startTime - a.startTime;
26563
+ return (b.endTime ?? b.startTime) - (a.endTime ?? a.startTime);
26564
+ }
26565
+ __name(compareActiveThenTerminal, "compareActiveThenTerminal");
26426
26566
  function entryId(entry) {
26427
26567
  switch (entry.kind) {
26428
26568
  case "agent":
@@ -26488,22 +26628,15 @@ function useBackgroundTaskView(config) {
26488
26628
  metadataWriteError: typeof metadataWriteError === "string" ? metadataWriteError : void 0
26489
26629
  };
26490
26630
  });
26491
- const isActive = /* @__PURE__ */ __name((entry) => entry.status === "running" || entry.status === "paused", "isActive");
26492
26631
  const merged = [
26493
26632
  ...agentEntries,
26494
26633
  ...shellEntries,
26495
26634
  ...monitorEntries,
26496
26635
  ...workflowEntries,
26497
26636
  ...dreamEntries
26498
- ].sort((a, b) => {
26499
- const aActive = isActive(a);
26500
- const bActive = isActive(b);
26501
- if (aActive !== bActive) return aActive ? -1 : 1;
26502
- if (aActive) return b.startTime - a.startTime;
26503
- return (b.endTime ?? b.startTime) - (a.endTime ?? a.startTime);
26504
- });
26637
+ ].sort(compareActiveThenTerminal);
26505
26638
  lastDreamSig = computeDreamSig(allDreams);
26506
- setEntries(merged);
26639
+ setEntries(reorderChildrenUnderParents(merged));
26507
26640
  }, "refresh");
26508
26641
  const refreshFromRegistry = /* @__PURE__ */ __name(() => refresh(), "refreshFromRegistry");
26509
26642
  refresh();
@@ -26978,11 +27111,11 @@ function terminalStatusPresentation(status) {
26978
27111
  __name(terminalStatusPresentation, "terminalStatusPresentation");
26979
27112
  var FOREGROUND_ROW_PREFIX = "[blocking]";
26980
27113
  var SHELL_ROW_PREFIX = "[shell]";
26981
- function rowLabel(entry) {
27114
+ function rowLabel(entry, userBlocking) {
26982
27115
  switch (entry.kind) {
26983
27116
  case "agent": {
26984
27117
  const label = buildBackgroundEntryLabel(entry, { includePrefix: false });
26985
- const base = entry.isBackgrounded ? label : `${FOREGROUND_ROW_PREFIX} ${label}`;
27118
+ const base = userBlocking ? `${FOREGROUND_ROW_PREFIX} ${label}` : label;
26986
27119
  return entry.pendingApprovals?.length ? `${base} \u26A0 ${t("needs approval")}` : base;
26987
27120
  }
26988
27121
  case "shell":
@@ -27006,6 +27139,22 @@ function rowLabel(entry) {
27006
27139
  }
27007
27140
  }
27008
27141
  __name(rowLabel, "rowLabel");
27142
+ function formatParentBreadcrumb(entry, lookup) {
27143
+ if (entry.parentAgentId == null) return void 0;
27144
+ const { chain, terminatedBy } = ancestorChain(entry, lookup);
27145
+ if (chain.length === 0) {
27146
+ return `${entry.parentName ?? t("unknown agent")} \xB7 ${t("no longer running")}`;
27147
+ }
27148
+ const rootFirst = [...chain].reverse();
27149
+ const crumbs = [
27150
+ terminatedBy === "root" ? "main" : "\u2026",
27151
+ ...rootFirst.map((p) => p.subagentType ?? "agent")
27152
+ ].join(" \u203A ");
27153
+ const immediateParent = chain[0];
27154
+ const desc = immediateParent.description ? ` \u2014 ${immediateParent.description}` : "";
27155
+ return `${crumbs}${desc}`;
27156
+ }
27157
+ __name(formatParentBreadcrumb, "formatParentBreadcrumb");
27009
27158
  function elapsedFor(entry) {
27010
27159
  const elapsedMs = Math.max(
27011
27160
  0,
@@ -27055,6 +27204,8 @@ var ListBody = /* @__PURE__ */ __name(({ entries, selectedIndex, maxRows }) => {
27055
27204
  const hiddenAbove = windowStart;
27056
27205
  const hiddenBelow = entries.length - windowEnd;
27057
27206
  const visible = entries.slice(windowStart, windowEnd);
27207
+ const treeInfo = computeAgentTreeInfo(entries);
27208
+ const blockingIds = computeUserBlockingIds(entries);
27058
27209
  return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(Box_default, { flexDirection: "column", children: [
27059
27210
  /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(Box_default, { paddingX: 1, children: [
27060
27211
  /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Text, { bold: true, children: t("Background tasks") }),
@@ -27071,9 +27222,16 @@ var ListBody = /* @__PURE__ */ __name(({ entries, selectedIndex, maxRows }) => {
27071
27222
  const isSelected = idx === selectedIndex;
27072
27223
  const terminal = terminalStatusPresentation(entry.status);
27073
27224
  const labelColor = isSelected ? theme.text.accent : terminal ? terminal.labelColor : theme.text.primary;
27225
+ const treePrefix = entry.kind === "agent" ? treeRowPrefix(entry, treeInfo.get(entry.agentId)) : "";
27074
27226
  return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(Box_default, { flexDirection: "row", paddingX: 1, children: [
27075
27227
  /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Text, { color: isSelected ? theme.text.accent : void 0, children: isSelected ? "> " : " " }),
27076
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Text, { color: labelColor, children: escapeAnsiCtrlCodes(rowLabel(entry)) })
27228
+ treePrefix !== "" && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Text, { color: theme.text.secondary, children: treePrefix }),
27229
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Text, { color: labelColor, children: escapeAnsiCtrlCodes(
27230
+ rowLabel(
27231
+ entry,
27232
+ entry.kind === "agent" && blockingIds.has(entry.agentId)
27233
+ )
27234
+ ) })
27077
27235
  ] }, entryId(entry));
27078
27236
  }),
27079
27237
  hiddenBelow > 0 && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Box_default, { paddingX: 1, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Text, { color: theme.text.secondary, children: ` v ${t("{{count}} more below", { count: String(hiddenBelow) })}` }) })
@@ -27212,6 +27370,7 @@ var DreamDetailBody = /* @__PURE__ */ __name(({ entry, maxHeight, maxWidth }) =>
27212
27370
  );
27213
27371
  }, "DreamDetailBody");
27214
27372
  var AgentDetailBody = /* @__PURE__ */ __name(({ entry, maxHeight, maxWidth }) => {
27373
+ const config = useConfig();
27215
27374
  const title = escapeAnsiCtrlCodes(
27216
27375
  `${entry.subagentType ?? "Agent"} \u203A ${buildBackgroundEntryLabel(entry, { includePrefix: false })}`
27217
27376
  );
@@ -27227,6 +27386,19 @@ var AgentDetailBody = /* @__PURE__ */ __name(({ entry, maxHeight, maxWidth }) =>
27227
27386
  if (entry.stats?.toolUses !== void 0) {
27228
27387
  dimSubtitleParts.push(formatToolUseCount(entry.stats.toolUses));
27229
27388
  }
27389
+ if ((entry.depth ?? 0) > 0) {
27390
+ dimSubtitleParts.push(
27391
+ t("nested \xB7 level {{level}} of {{max}}", {
27392
+ level: String((entry.depth ?? 0) + 1),
27393
+ max: String(config.getMaxSubagentDepth())
27394
+ })
27395
+ );
27396
+ }
27397
+ const registry = config.getBackgroundTaskRegistry();
27398
+ const parentLine = formatParentBreadcrumb(entry, (id) => registry.get(id));
27399
+ const childAgents = registry.getAll().filter((task) => task.parentAgentId === entry.agentId).sort(compareActiveThenTerminal);
27400
+ const visibleChildAgents = childAgents.slice(0, 5);
27401
+ const hiddenChildCount = childAgents.length - visibleChildAgents.length;
27230
27402
  const activities = (entry.recentActivities ?? []).slice(-5);
27231
27403
  const blockedReason = entry.resumeBlockedReason;
27232
27404
  const hasError = Boolean(entry.error);
@@ -27250,6 +27422,28 @@ var AgentDetailBody = /* @__PURE__ */ __name(({ entry, maxHeight, maxWidth }) =>
27250
27422
  terminal && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Text, { color: terminal.color, children: `${terminal.icon} ${statusVerb(entry.status)} \xB7 ` }),
27251
27423
  /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Text, { color: theme.text.secondary, children: dimSubtitleParts.join(" \xB7 ") })
27252
27424
  ] }),
27425
+ parentLine !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_react77.Fragment, { children: [
27426
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Box_default, {}),
27427
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Text, { bold: true, dimColor: true, children: t("Parent") }) }),
27428
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Text, { color: theme.text.secondary, wrap: "truncate-end", children: ` ${escapeAnsiCtrlCodes(parentLine)}` }) })
27429
+ ] }),
27430
+ visibleChildAgents.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_react77.Fragment, { children: [
27431
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Box_default, {}),
27432
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(Text, { bold: true, dimColor: true, children: [
27433
+ t("Sub-agents"),
27434
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
27435
+ Text,
27436
+ {
27437
+ color: theme.text.secondary,
27438
+ children: ` (${childAgents.length})`
27439
+ }
27440
+ )
27441
+ ] }) }),
27442
+ visibleChildAgents.map((child) => /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Text, { color: theme.text.secondary, wrap: "truncate-end", children: ` ${statusGlyph(child.status)} ${escapeAnsiCtrlCodes(
27443
+ `${child.subagentType ?? "agent"} \u2014 ${child.description}`
27444
+ )} \xB7 ${elapsedFor(child)}` }) }, child.agentId)),
27445
+ hiddenChildCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Text, { color: theme.text.secondary, children: ` \u2026 ${t("{{count}} more", { count: String(hiddenChildCount) })}` }) })
27446
+ ] }),
27253
27447
  activities.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_react77.Fragment, { children: [
27254
27448
  /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Box_default, {}),
27255
27449
  /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Text, { bold: true, dimColor: true, children: t("Progress") }) }),
@@ -27570,8 +27764,8 @@ var BackgroundTasksDialog = /* @__PURE__ */ __name(({
27570
27764
  const isAbandonable = selectedEntry.kind === "agent" && selectedEntry.status === "paused";
27571
27765
  if (!isCancelable && !isAbandonable) return;
27572
27766
  const entryKey = entryId(selectedEntry);
27573
- const isForegroundAgent = selectedEntry.kind === "agent" && !selectedEntry.isBackgrounded;
27574
- if (isForegroundAgent && pendingCancelEntryId !== entryKey) {
27767
+ const isUserBlockingAgent = selectedEntry.kind === "agent" && computeUserBlockingIds(entries).has(selectedEntry.agentId);
27768
+ if (isUserBlockingAgent && pendingCancelEntryId !== entryKey) {
27575
27769
  setPendingCancelEntryId(entryKey);
27576
27770
  return;
27577
27771
  }
@@ -30655,6 +30849,7 @@ __name(AgentViewProvider, "AgentViewProvider");
30655
30849
  // packages/cli/src/ui/components/background-view/liveAgentPanelVisibility.ts
30656
30850
  init_esbuild_shims();
30657
30851
  var TERMINAL_VISIBLE_MS = 8e3;
30852
+ var LIVE_AGENT_PANEL_MAX_ROWS = 12;
30658
30853
  function isLiveAgentPanelVisibleEntry(entry, nowMs) {
30659
30854
  if (entry.kind !== "agent") return false;
30660
30855
  if (entry.status === "running" || entry.status === "paused") return true;
@@ -32223,7 +32418,9 @@ var InputPrompt = /* @__PURE__ */ __name(({
32223
32418
  } = useBackgroundTaskViewActions();
32224
32419
  const hasAgents = agents.size > 0;
32225
32420
  const getVisibleBgAgents = (0, import_react96.useCallback)(
32226
- () => bgEntries.filter((e) => isLiveAgentPanelVisibleEntry(e, Date.now())),
32421
+ () => panelDisplayOrder(
32422
+ bgEntries.filter((e) => isLiveAgentPanelVisibleEntry(e, Date.now()))
32423
+ ).slice(-LIVE_AGENT_PANEL_MAX_ROWS),
32227
32424
  [bgEntries]
32228
32425
  );
32229
32426
  const hasActiveToolConfirmation = (0, import_react96.useMemo)(
@@ -35733,7 +35930,7 @@ var AgentComposer = /* @__PURE__ */ __name(({ agentId }) => {
35733
35930
  init_esbuild_shims();
35734
35931
  var import_react111 = __toESM(require_react(), 1);
35735
35932
  var import_jsx_runtime127 = __toESM(require_jsx_runtime(), 1);
35736
- var DEFAULT_MAX_ROWS = 12;
35933
+ var DEFAULT_MAX_ROWS = LIVE_AGENT_PANEL_MAX_ROWS;
35737
35934
  var DEFAULT_SUBAGENT_TYPE = DEFAULT_BUILTIN_SUBAGENT_TYPE;
35738
35935
  function isAgentEntry(entry) {
35739
35936
  return entry.kind === "agent";
@@ -35743,19 +35940,18 @@ function statusIcon(entry) {
35743
35940
  if (entry.synthesized) {
35744
35941
  return { glyph: "\xB7", color: theme.text.secondary };
35745
35942
  }
35943
+ const glyph = statusGlyph(entry.status);
35746
35944
  switch (entry.status) {
35747
35945
  case "running":
35748
- return { glyph: "\u25CB", color: theme.status.warning };
35749
35946
  case "paused":
35750
- return { glyph: "\u23F8", color: theme.status.warning };
35947
+ case "cancelled":
35948
+ return { glyph, color: theme.status.warning };
35751
35949
  case "completed":
35752
- return { glyph: "\u2714", color: theme.status.success };
35950
+ return { glyph, color: theme.status.success };
35753
35951
  case "failed":
35754
- return { glyph: "\u2716", color: theme.status.error };
35755
- case "cancelled":
35756
- return { glyph: "\u2716", color: theme.status.warning };
35952
+ return { glyph, color: theme.status.error };
35757
35953
  default:
35758
- return { glyph: "\u25CB", color: theme.text.secondary };
35954
+ return { glyph, color: theme.text.secondary };
35759
35955
  }
35760
35956
  }
35761
35957
  __name(statusIcon, "statusIcon");
@@ -35875,7 +36071,8 @@ var LiveAgentPanelBody = /* @__PURE__ */ __name(({ snapshots, now, maxRows, widt
35875
36071
  expired: !isLiveAgentPanelVisibleEntry(entry, now)
35876
36072
  })).filter((entry) => !entry.expired);
35877
36073
  if (visibleAgents.length === 0) return null;
35878
- const visibleAgentsAsc = [...visibleAgents].reverse();
36074
+ const visibleAgentsAsc = panelDisplayOrder(visibleAgents);
36075
+ const treeInfo = computeAgentTreeInfo(visibleAgentsAsc);
35879
36076
  const overflow = Math.max(0, visibleAgentsAsc.length - maxRows);
35880
36077
  const visible = overflow > 0 ? visibleAgentsAsc.slice(-maxRows) : visibleAgentsAsc;
35881
36078
  const totalItems = 1 + visible.length;
@@ -35897,14 +36094,15 @@ var LiveAgentPanelBody = /* @__PURE__ */ __name(({ snapshots, now, maxRows, widt
35897
36094
  {
35898
36095
  entry,
35899
36096
  now,
35900
- selected: focused && clampedIndex === idx + 1
36097
+ selected: focused && clampedIndex === idx + 1,
36098
+ tree: treeInfo.get(entry.agentId)
35901
36099
  },
35902
36100
  entry.agentId
35903
36101
  )),
35904
36102
  focused && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Text, { color: theme.text.secondary, children: " \u2191\u2193 navigate \xB7 Enter detail \xB7 Esc back" }) })
35905
36103
  ] });
35906
36104
  }, "LiveAgentPanelBody");
35907
- var AgentRow = /* @__PURE__ */ __name(({ entry, now, selected = false }) => {
36105
+ var AgentRow = /* @__PURE__ */ __name(({ entry, now, selected = false, tree }) => {
35908
36106
  const { glyph, color } = statusIcon(entry);
35909
36107
  const label = escapeAnsiCtrlCodes(descriptionWithoutPrefix(entry));
35910
36108
  const activity = escapeAnsiCtrlCodes(activityLabel(entry));
@@ -35914,16 +36112,20 @@ var AgentRow = /* @__PURE__ */ __name(({ entry, now, selected = false }) => {
35914
36112
  const tokenSuffix = entry.stats?.outputTokens && entry.stats.outputTokens > 0 ? ` \xB7 ${formatTokenCount(entry.stats.outputTokens)} tokens` : "";
35915
36113
  const tail = ` \u25B6 ${elapsed}${tokenSuffix}`;
35916
36114
  const prefix = selected ? "\u25B8 " : " ";
36115
+ const treePrefix = treeRowPrefix(entry, tree);
36116
+ const orphanNote = tree?.orphaned ? entry.parentName ? ` \xB7 from ${escapeAnsiCtrlCodes(entry.parentName)}` : " \xB7 nested" : "";
35917
36117
  return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(Box_default, { flexDirection: "row", children: [
35918
36118
  /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Box_default, { flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Text, { color: selected ? theme.text.accent : theme.text.secondary, children: prefix }) }),
35919
36119
  /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Box_default, { flexShrink: 1, children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(Text, { wrap: "truncate-end", children: [
36120
+ treePrefix !== "" && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Text, { color: theme.text.secondary, children: treePrefix }),
35920
36121
  /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Text, { color, children: `${glyph} ` }),
35921
36122
  showType && /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_jsx_runtime127.Fragment, { children: [
35922
36123
  /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Text, { bold: true, children: safeSubagentType }),
35923
36124
  /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Text, { color: theme.text.secondary, children: ": " })
35924
36125
  ] }),
35925
36126
  /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Text, { color: theme.text.secondary, children: label }),
35926
- activity && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Text, { color: theme.text.secondary, children: ` (${activity})` })
36127
+ activity && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Text, { color: theme.text.secondary, children: ` (${activity})` }),
36128
+ orphanNote && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Text, { color: theme.text.secondary, children: orphanNote })
35927
36129
  ] }) }),
35928
36130
  /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Box_default, { flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Text, { color: theme.text.secondary, children: tail }) })
35929
36131
  ] });