@qwen-code/qwen-code 0.22.2 → 0.22.3

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 (324) hide show
  1. package/bundled/computer-use/SKILL.md +3 -3
  2. package/bundled/qc-helper/docs/configuration/settings.md +37 -36
  3. package/bundled/qc-helper/docs/features/channels/dws.md +2 -0
  4. package/bundled/qc-helper/docs/features/channels/overview.md +34 -3
  5. package/bundled/qc-helper/docs/features/code-review.md +3 -3
  6. package/bundled/qc-helper/docs/features/computer-use.md +2 -2
  7. package/bundled/qc-helper/docs/features/tool-use-summaries.md +1 -1
  8. package/bundled/qc-helper/docs/qwen-serve.md +1 -1
  9. package/bundled/review/SKILL.md +81 -31
  10. package/bundled/review/references/persistence.md +7 -3
  11. package/bundled/review/references/posting.md +10 -4
  12. package/chunks/{MaxSizedBox-X5FZSNAJ.js → MaxSizedBox-X42SXBJH.js} +33 -35
  13. package/chunks/{StandaloneSessionPicker-AVLI6VJP.js → StandaloneSessionPicker-2FJAOLGG.js} +51 -53
  14. package/chunks/{acpAgent-MXEAN54C.js → acpAgent-2ZMIJAFV.js} +268 -186
  15. package/chunks/{agent-PJIPDWHB.js → agent-X5WX3L2I.js} +24 -26
  16. package/chunks/{agent-headless-B4JVD7UK.js → agent-headless-IZM25LJA.js} +24 -26
  17. package/chunks/{anthropicContentGenerator-HGMBACVE.js → anthropicContentGenerator-YVTB6QX7.js} +43 -47
  18. package/chunks/{artifact-tool-5YT4QF7Y.js → artifact-tool-XSMPHZBT.js} +9 -1
  19. package/chunks/{bridge-FKZTVIS3.js → bridge-ME6QXZNA.js} +37 -39
  20. package/chunks/{channel-management-service-X4AZ6IXX.js → channel-management-service-HQ6KDS7C.js} +6 -6
  21. package/chunks/{channel-settings-store-4UFCLBBG.js → channel-settings-store-PEOI7XCG.js} +47 -44
  22. package/chunks/{channel-worker-group-27HMGD5S.js → channel-worker-group-6NA6BBZV.js} +5 -5
  23. package/chunks/{channel-worker-manager-QEGX646Z.js → channel-worker-manager-NEZ2J6RK.js} +5 -5
  24. package/chunks/{channel-worker-supervisor-UEW2WWCC.js → channel-worker-supervisor-FKU7DIHJ.js} +4 -4
  25. package/chunks/{chunk-P5GGM4KS.js → chunk-2HYKTO7V.js} +3 -3
  26. package/chunks/{chunk-XDFHY4R3.js → chunk-2LNNVAUV.js} +2 -2
  27. package/chunks/{chunk-ZFKOCECU.js → chunk-2OBKDPZZ.js} +2 -2
  28. package/chunks/{chunk-3DXFGHAJ.js → chunk-2OUD5T67.js} +1 -1
  29. package/chunks/{chunk-EOGELB3H.js → chunk-2SXSLSQE.js} +1 -1
  30. package/chunks/{chunk-4JWNNLPT.js → chunk-2YOHKHYR.js} +2 -2
  31. package/chunks/{chunk-JU4EEXC7.js → chunk-36GSQ3MM.js} +2 -2
  32. package/chunks/chunk-36LGBEM6.js +130 -0
  33. package/chunks/{chunk-H2WDGQ6D.js → chunk-3JXM2CVW.js} +1 -1
  34. package/chunks/{chunk-G34IR3D6.js → chunk-3SZC4VP4.js} +26 -109
  35. package/chunks/{chunk-HVEYF6VT.js → chunk-3WK3QDNV.js} +1 -1
  36. package/chunks/{chunk-5XBFCMWD.js → chunk-3XKLXHGK.js} +17 -9
  37. package/chunks/{chunk-SFPGAQUL.js → chunk-42IDLQWS.js} +24 -18
  38. package/chunks/{chunk-43GGFFLY.js → chunk-4K7KNVWH.js} +1 -1
  39. package/chunks/{chunk-F6FV3C5K.js → chunk-4NDLQAY2.js} +24 -272
  40. package/chunks/{chunk-VVW4ZNFY.js → chunk-4QHPPXK2.js} +15 -7
  41. package/chunks/{chunk-IJKTMLBE.js → chunk-4TT3IVGA.js} +1 -1
  42. package/chunks/{chunk-C6K43ZDE.js → chunk-4VPCTGH6.js} +5 -5
  43. package/chunks/chunk-4VQBQLIZ.js +293 -0
  44. package/chunks/{chunk-OIVXBW3W.js → chunk-62GQFYID.js} +1 -1
  45. package/chunks/{chunk-BRVWYMKV.js → chunk-6MBXY6WM.js} +1 -1
  46. package/chunks/{chunk-AGR5UROZ.js → chunk-6X7EU5TI.js} +17 -29
  47. package/chunks/{chunk-PFCQ62V4.js → chunk-6ZPDLGHN.js} +6 -6
  48. package/chunks/{chunk-RIEFGNTP.js → chunk-734C6JGI.js} +207 -43
  49. package/chunks/{chunk-FBSSIAAQ.js → chunk-73RM4POK.js} +7 -7
  50. package/chunks/{chunk-KGJGEEVR.js → chunk-7FA2II6K.js} +10 -1
  51. package/chunks/chunk-7J6OTNGO.js +424 -0
  52. package/chunks/{chunk-O2UN57NX.js → chunk-7LOELM2I.js} +19 -2
  53. package/chunks/{chunk-DIMEPKCW.js → chunk-7S226YTK.js} +1 -1
  54. package/chunks/{chunk-CPGJJJLU.js → chunk-7T52W4SW.js} +1 -1
  55. package/chunks/{chunk-5O72BNDD.js → chunk-7VMIMAVB.js} +7 -7
  56. package/chunks/{chunk-XRSOI3DL.js → chunk-A3LWD5MK.js} +1 -1
  57. package/chunks/{chunk-F7TNAPZ4.js → chunk-AIAOIFY4.js} +5 -5
  58. package/chunks/{chunk-4CDSK5AZ.js → chunk-AYFA7MZV.js} +2 -2
  59. package/chunks/{chunk-3JGZSIDA.js → chunk-B466ZSHZ.js} +1 -1
  60. package/chunks/{chunk-L6BZRIUL.js → chunk-B5PHIJGI.js} +182 -4
  61. package/chunks/{chunk-3I6UTTDX.js → chunk-BKWNKLZB.js} +19 -19
  62. package/chunks/{chunk-3FDFA4MZ.js → chunk-BOWFGCEU.js} +1 -1
  63. package/chunks/{chunk-3AFMQUTI.js → chunk-C2X7KY45.js} +1 -1
  64. package/chunks/{chunk-FY76G3G5.js → chunk-C3PEFRKD.js} +4 -4
  65. package/chunks/{chunk-FDY5RMGH.js → chunk-CFJY4DGX.js} +1 -1
  66. package/chunks/{chunk-CCBZDVUA.js → chunk-CIZCL2MW.js} +33 -20
  67. package/chunks/{chunk-LDP5OD6N.js → chunk-CLWO3B77.js} +2 -2
  68. package/chunks/chunk-DJBQCO2E.js +842 -0
  69. package/chunks/{chunk-4J657AJR.js → chunk-DJECZIJX.js} +40 -40
  70. package/chunks/{chunk-F5SZP77N.js → chunk-DJEZ55D4.js} +71 -65
  71. package/chunks/{chunk-BAJKAAOY.js → chunk-DJPASAUV.js} +3840 -1055
  72. package/chunks/{chunk-RUGNCYNO.js → chunk-DMLVSW7L.js} +532 -22
  73. package/chunks/{chunk-4FTKQNWJ.js → chunk-DYXFD5RO.js} +181 -2
  74. package/chunks/{chunk-PDMJ3KGS.js → chunk-EB6QRGHM.js} +1 -1
  75. package/chunks/{chunk-DZWPESIF.js → chunk-EFWRMA2I.js} +3 -3
  76. package/chunks/{chunk-4MQEPP3Y.js → chunk-EQSBPBZ3.js} +5 -119
  77. package/chunks/{chunk-Z7TGYN5F.js → chunk-FROAFEFB.js} +2 -2
  78. package/chunks/{chunk-MZS7GEC7.js → chunk-FTF2YIZ5.js} +1 -1
  79. package/chunks/{chunk-Z7VOMGDC.js → chunk-FTJMWDND.js} +0 -24
  80. package/chunks/{chunk-43UYNAWX.js → chunk-G6FECKTJ.js} +2 -2
  81. package/chunks/{chunk-SJ3ZUWFK.js → chunk-GBJBJ4HX.js} +4 -4
  82. package/chunks/{chunk-IOPCFOTF.js → chunk-GPGU4S2N.js} +2 -2
  83. package/chunks/{chunk-6LFJEACX.js → chunk-GVIVASYK.js} +7 -7
  84. package/chunks/{chunk-Z4X5MTRT.js → chunk-HCOBAG2L.js} +2 -4
  85. package/chunks/{chunk-A7YP63XN.js → chunk-HP5LR5HL.js} +5 -5
  86. package/chunks/{chunk-7JPW6IYH.js → chunk-HVC3PNVC.js} +1 -1
  87. package/chunks/{chunk-TRZTNIQ6.js → chunk-I6LYRJPB.js} +2 -2
  88. package/chunks/{chunk-E55H6BZ7.js → chunk-ICURCKIU.js} +1335 -119
  89. package/chunks/{chunk-4HV6HH33.js → chunk-ISKH4QX3.js} +9 -9
  90. package/chunks/{chunk-WKK5BQNP.js → chunk-JHYH6PYQ.js} +43 -420
  91. package/chunks/{chunk-6IUNAPLR.js → chunk-K5KXUXWC.js} +1 -1
  92. package/chunks/{chunk-JHS74YAB.js → chunk-KID24ZFN.js} +1 -1
  93. package/chunks/{chunk-EFUM7RVY.js → chunk-KJO2LBUK.js} +942 -16
  94. package/chunks/{chunk-B7CDU2SL.js → chunk-KYWTPLBJ.js} +17 -20
  95. package/chunks/{chunk-JSHHYW6T.js → chunk-LHBUKJG2.js} +3 -3
  96. package/chunks/{chunk-P2SU6ZTI.js → chunk-LUEHOUHM.js} +1 -1
  97. package/chunks/{chunk-66KDY3LV.js → chunk-M3QRM3DE.js} +1 -1
  98. package/chunks/{chunk-V4QXXQJ2.js → chunk-MF7HCQWZ.js} +2 -2
  99. package/chunks/{chunk-W5MJJ2V7.js → chunk-MK2GIB46.js} +1 -1
  100. package/chunks/{chunk-Y6LSMB6J.js → chunk-MO3FC2WT.js} +1 -1
  101. package/chunks/{chunk-L6YT5H34.js → chunk-MPNBVAEU.js} +4 -4
  102. package/chunks/{chunk-CSMI4FP5.js → chunk-MSBO7X2W.js} +1 -1
  103. package/chunks/{chunk-5PA6UEYA.js → chunk-MZCJWS5Y.js} +1 -1
  104. package/chunks/{chunk-BGXZBI5B.js → chunk-N4X7G4J2.js} +2 -1
  105. package/chunks/{chunk-6LFTG244.js → chunk-NMOD2FXQ.js} +15 -5
  106. package/chunks/{chunk-KUX5D6DK.js → chunk-NV55WWD6.js} +11330 -10971
  107. package/chunks/{chunk-Q26AYA62.js → chunk-OU5APVWO.js} +2 -2
  108. package/chunks/{chunk-2K6ORIHJ.js → chunk-P2G476QN.js} +11 -11
  109. package/chunks/{chunk-OIP7C4FE.js → chunk-PADPMMYM.js} +4 -4
  110. package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
  111. package/chunks/{chunk-TGWAQ5RB.js → chunk-PZ66FRIC.js} +2071 -2124
  112. package/chunks/{chunk-7UYV53BC.js → chunk-Q2MSPKIJ.js} +1 -1
  113. package/chunks/{chunk-L2M46FP5.js → chunk-QYMAKPY5.js} +5 -5
  114. package/chunks/{chunk-JVPFTDBK.js → chunk-RFIDDFAL.js} +1 -1
  115. package/chunks/chunk-SEONHUS3.js +275 -0
  116. package/chunks/{chunk-ZGXYO7DY.js → chunk-SS4MRMKE.js} +122 -13
  117. package/chunks/{chunk-T32W2JHI.js → chunk-SS5SDCD3.js} +2 -2
  118. package/chunks/{chunk-3SGB2UHX.js → chunk-ST5MDGH3.js} +23 -11
  119. package/chunks/{chunk-MIIVI25Q.js → chunk-ST5V3ZOC.js} +2 -2
  120. package/chunks/{chunk-4K7NQDCG.js → chunk-T4EFG2P5.js} +18 -9
  121. package/chunks/{chunk-TWSKM647.js → chunk-T7KMERIX.js} +1 -1
  122. package/chunks/{chunk-77RG5SFQ.js → chunk-TEBDFQBZ.js} +1 -1
  123. package/chunks/{chunk-6CGL7E7G.js → chunk-TVC6HQ2U.js} +2 -2
  124. package/chunks/{chunk-BBWV7ONL.js → chunk-TZBSGJ6C.js} +6 -6
  125. package/chunks/{chunk-T3WXYEZ4.js → chunk-U54AYGEC.js} +38 -5
  126. package/chunks/{chunk-JCQD3INC.js → chunk-URE3QBBB.js} +1 -1
  127. package/chunks/{chunk-Y3QL45LS.js → chunk-V4264FEG.js} +8 -8
  128. package/chunks/{chunk-KEKZFOL6.js → chunk-V7EESTJV.js} +1 -1
  129. package/chunks/{chunk-R4PMVSR5.js → chunk-VBCPNIQD.js} +18 -20
  130. package/chunks/{chunk-RJC5EIKY.js → chunk-VGIFXISB.js} +3 -3
  131. package/chunks/{chunk-Z7FLBQPR.js → chunk-W3JH33JE.js} +7 -7
  132. package/chunks/{chunk-K2NQPH5D.js → chunk-WGY3AVGM.js} +3 -3
  133. package/chunks/{chunk-PKAYJDB3.js → chunk-WNPDGUJO.js} +21 -2
  134. package/chunks/{chunk-IZIVM7LZ.js → chunk-WXEA74YB.js} +1 -1
  135. package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
  136. package/chunks/{chunk-IK5BW3CS.js → chunk-XHF7WQ6B.js} +2 -2
  137. package/chunks/{chunk-2NYCN6F2.js → chunk-XSG6G3G6.js} +43 -26
  138. package/chunks/{chunk-HVQ3B7FF.js → chunk-Y5S7LBOZ.js} +43 -6
  139. package/chunks/{chunk-LXIBMVRN.js → chunk-YLSQLSH7.js} +13 -7
  140. package/chunks/{chunk-JSC3H3TD.js → chunk-ZEYFMJQA.js} +14 -6
  141. package/chunks/chunk-ZWJDJ6RU.js +2597 -0
  142. package/chunks/{chunk-QP4C6WCE.js → chunk-ZYMLPEZQ.js} +2 -2
  143. package/chunks/{chunk-BNMF3K5X.js → chunk-ZZMSC3RG.js} +52 -36
  144. package/chunks/{chunk-XDLEZ5HX.js → chunk-ZZUKP7HV.js} +1 -1
  145. package/chunks/{config-utils-BBOCOGZW.js → config-utils-R6M3TA34.js} +39 -39
  146. package/chunks/{contextCommand-EET67MQ2.js → contextCommand-ZCAP23J6.js} +36 -38
  147. package/chunks/{core-runtime-677KFX6Q.js → core-runtime-AXB6SK5D.js} +41 -43
  148. package/chunks/{create-sub-session-JKZAYZX7.js → create-sub-session-4QNE64MR.js} +34 -36
  149. package/chunks/{daemon-MJQUO7RA.js → daemon-3GNHB3M2.js} +495 -7
  150. package/chunks/{daemon-git-worktree-guard-6MVAAZZZ.js → daemon-git-worktree-guard-IVAJJWYK.js} +33 -35
  151. package/chunks/{daemon-status-provider-RFKZOK3S.js → daemon-status-provider-K3SJ5C2U.js} +42 -44
  152. package/chunks/{daemon-trust-policy-DRZPFB4Q.js → daemon-trust-policy-DOR3YG62.js} +41 -43
  153. package/chunks/{daemon-trust-policy-monitor-B5U6TQX5.js → daemon-trust-policy-monitor-KGGROSIV.js} +41 -43
  154. package/chunks/{deferred-core-runtime-BBVIOP24.js → deferred-core-runtime-WOYLUQQ7.js} +33 -35
  155. package/chunks/{dist-DJBNNPLN.js → dist-4WXLCBDR.js} +1 -1
  156. package/chunks/{dist-TJUDJTCB.js → dist-5VXFRTWU.js} +280 -48
  157. package/chunks/{dist-QODVOVWI.js → dist-6BPYWHVD.js} +31 -30
  158. package/chunks/{dist-ZBVOXSKF.js → dist-GFN5DCBX.js} +74 -65
  159. package/chunks/{dist-SATKXKUR.js → dist-HZNT6GQS.js} +1 -1
  160. package/chunks/{dist-ILDBUWDB.js → dist-LVZCXVPF.js} +1 -1
  161. package/chunks/{dist-7CKN54NL.js → dist-N6W6E753.js} +71 -64
  162. package/chunks/{dist-4Q7NTUNB.js → dist-NSV4NBPK.js} +31 -14
  163. package/chunks/{dist-UQUFZDIY.js → dist-SWQMYP2Q.js} +18 -16
  164. package/chunks/{earlyInputCapture-2JOMMNQ4.js → earlyInputCapture-OHBEVO4K.js} +33 -35
  165. package/chunks/{edit-BSV6YRVW.js → edit-LEQLAGPZ.js} +24 -26
  166. package/chunks/{enter-worktree-MQXFFPKM.js → enter-worktree-35QCAAFP.js} +3 -3
  167. package/chunks/{enterPlanMode-PKNF35FE.js → enterPlanMode-ONQN3WHE.js} +27 -29
  168. package/chunks/{environment-MOZMPUHR.js → environment-UANTR7A4.js} +37 -39
  169. package/chunks/{errors-DMPQVYJL.js → errors-WAK6KFBC.js} +36 -38
  170. package/chunks/{exit-worktree-L344UY7K.js → exit-worktree-XQD6D543.js} +3 -3
  171. package/chunks/{exitPlanMode-UE4FGCY4.js → exitPlanMode-UEYBG6P5.js} +24 -26
  172. package/chunks/{fast-path-773PV7PU.js → fast-path-WUL7UZ6H.js} +4 -4
  173. package/chunks/{fast-path-settings-XMFBYFUH.js → fast-path-settings-XH426LUU.js} +3 -3
  174. package/chunks/{glob-CZHOWUEA.js → glob-Y54QUWDY.js} +24 -26
  175. package/chunks/{goal-tools-YZQJXTGH.js → goal-tools-PTD3MBA7.js} +2 -1
  176. package/chunks/{handleAutoUpdate-SGXKTQM6.js → handleAutoUpdate-FP3NWNSG.js} +37 -39
  177. package/chunks/{i18n-B42HKHKH.js → i18n-INIU5X7A.js} +35 -37
  178. package/chunks/{image-gen-HAYOEQ4O.js → image-gen-J6FDGUZP.js} +4 -6
  179. package/chunks/{initializer-FB66WYR3.js → initializer-TYODV6GE.js} +41 -43
  180. package/chunks/{installationInfo-Y7AULNMX.js → installationInfo-AAPKYDSZ.js} +33 -35
  181. package/chunks/{list-2HWGSVRA.js → list-TUODDN6J.js} +44 -46
  182. package/chunks/{gemini-IP4FJAP5.js → llm-NSAVK5V3.js} +84 -82
  183. package/chunks/{geminiContentGenerator-PUNEBWJW.js → llm-content-generator-AY2QKXHE.js} +25 -25
  184. package/chunks/{loadedSettingsAdapter-7Y7IEI6T.js → loadedSettingsAdapter-KJCLZ3C4.js} +41 -43
  185. package/chunks/{loggingContentGenerator-2GGZNGLG.js → loggingContentGenerator-DSFQHXIF.js} +305 -27
  186. package/chunks/{managed-npm-update-5TEV2E3J.js → managed-npm-update-TSWENTK5.js} +33 -35
  187. package/chunks/{mcp-QGG5NMJJ.js → mcp-MWSAPFOL.js} +41 -43
  188. package/chunks/{monitor-FI7PY36Z.js → monitor-RW4GWJHB.js} +24 -26
  189. package/chunks/{nonInteractiveCli-4LO2TL72.js → nonInteractiveCli-JXKL343Q.js} +77 -78
  190. package/chunks/{notebook-edit-TPGMGBST.js → notebook-edit-CQNYS5OR.js} +24 -26
  191. package/chunks/{open-with-auth-4UI3KHUR.js → open-with-auth-YN3QZHVM.js} +1 -1
  192. package/chunks/{openaiContentGenerator-SUCYANUZ.js → openaiContentGenerator-J6QIF7EX.js} +13 -15
  193. package/chunks/{pidfile-JMF2CLMY.js → pidfile-QOIQZFT2.js} +33 -35
  194. package/chunks/process-registry-OAEG6WGC.js +662 -0
  195. package/chunks/{processUtils-IQZBYWSB.js → processUtils-GPHNANKZ.js} +2 -2
  196. package/chunks/{prompt-terminal-ledger-DCZO6S7C.js → prompt-terminal-ledger-FOMFTYOM.js} +34 -36
  197. package/chunks/{qwenContentGenerator-J4TXFGJT.js → qwenContentGenerator-WWDXPYQI.js} +28 -30
  198. package/chunks/{qwenOAuth2-RF33DNZW.js → qwenOAuth2-OF5WRBQT.js} +4 -6
  199. package/chunks/{read-file-QE2B5FTX.js → read-file-FQUQHC6N.js} +5 -5
  200. package/chunks/{record-artifact-RZGZBENU.js → record-artifact-VW23GS4F.js} +2 -2
  201. package/chunks/{report-findings-Q3SYKKW5.js → report-findings-AO5VYFLR.js} +7 -3
  202. package/chunks/{resumeHistoryUtils-CZ4JRDVW.js → resumeHistoryUtils-NSGF3UCB.js} +37 -39
  203. package/chunks/{ripGrep-R6B6HWPX.js → ripGrep-4CAT6SKV.js} +7 -7
  204. package/chunks/{run-qwen-serve-TPHZMSXJ.js → run-qwen-serve-5X6IDZER.js} +271 -86
  205. package/chunks/{runtime-TTIGSBM4.js → runtime-HK27GMPF.js} +46 -48
  206. package/chunks/{scheduled-tasks-QB4ZVUQS.js → scheduled-tasks-MN2ZZ5P6.js} +39 -41
  207. package/chunks/{scheduler-YRUG22M7.js → scheduler-WD4MHMO5.js} +35 -37
  208. package/chunks/{sdk-exporters-http-KCJ4ZFG7.js → sdk-exporters-http-TTU2CHBU.js} +1 -1
  209. package/chunks/{sdk-impl-HLSEDAEP.js → sdk-impl-UUMVYMAL.js} +10 -4
  210. package/chunks/{send-message-Y5I6NYAM.js → send-message-AJ4OCUBV.js} +18 -2
  211. package/chunks/{serve-MXXCDAQN.js → serve-2XCHPPGG.js} +41 -43
  212. package/chunks/{server-DFUSSSHI.js → server-GO2N5DH7.js} +4148 -3348
  213. package/chunks/{session-3TEHNENZ.js → session-IFNHTUBT.js} +81 -82
  214. package/chunks/session-pr-refresh-I3UBWMVP.js +364 -0
  215. package/chunks/{settings-VOZYKLTT.js → settings-L6N54CU6.js} +40 -42
  216. package/chunks/{shell-6RTKZVMI.js → shell-4Y5LLW6N.js} +24 -26
  217. package/chunks/{skill-FEOKFX26.js → skill-YOWTRAKQ.js} +58 -14
  218. package/chunks/{skill-settings-VA4XVYVL.js → skill-settings-ZL4JY5UE.js} +41 -43
  219. package/chunks/{spawnChannel-F6WVP723.js → spawnChannel-ZST6XJVJ.js} +35 -37
  220. package/chunks/{standalone-update-RGILUQVK.js → standalone-update-THVU3OKY.js} +36 -38
  221. package/chunks/{startInteractiveUI-WHJPFOGH.js → startInteractiveUI-XDFSHBZD.js} +401 -334
  222. package/chunks/{stdioHelpers-7A2EE64Z.js → stdioHelpers-AY6XCDY2.js} +3 -1
  223. package/chunks/{task-create-TMSV7RD5.js → task-create-QN4LYRSE.js} +3 -3
  224. package/chunks/{task-list-W55RBFRX.js → task-list-JPLGK45U.js} +2 -2
  225. package/chunks/{task-update-N536I4GQ.js → task-update-IWEOJFV2.js} +3 -3
  226. package/chunks/{team-create-QYSWCYCL.js → team-create-OOPXCDBA.js} +24 -26
  227. package/chunks/{team-delete-FJRFX33M.js → team-delete-RZVVSGCY.js} +2 -2
  228. package/chunks/{team-plan-approval-P7DAD644.js → team-plan-approval-DSX5EWAT.js} +24 -26
  229. package/chunks/{terminal-image-renderer-SMQE46UJ.js → terminal-image-renderer-KS25G33E.js} +33 -35
  230. package/chunks/{theme-manager-RFO5WWFF.js → theme-manager-YMZNG45F.js} +33 -35
  231. package/chunks/{tool-search-F2EMIAPV.js → tool-search-J5Q6U7DN.js} +9 -9
  232. package/chunks/{total-session-admission-HTVTP4BS.js → total-session-admission-PVN64JVV.js} +37 -39
  233. package/chunks/{trustedFolders-7OCNMUQE.js → trustedFolders-FATSC4YI.js} +35 -37
  234. package/chunks/{types-WYCFCEHR.js → types-HKLPXZB3.js} +1 -3
  235. package/chunks/{update-relaunch-4GF3OXMB.js → update-relaunch-SIKHLHVR.js} +6 -6
  236. package/chunks/{updateCheck-7QBDXZRT.js → updateCheck-D3YG2WCD.js} +36 -38
  237. package/chunks/{useAutoAcceptIndicator-UI4SNL2O.js → useAutoAcceptIndicator-ILINOSAS.js} +43 -45
  238. package/chunks/{validateNonInterActiveAuth-BPPA563H.js → validateNonInterActiveAuth-JUDQP6V4.js} +74 -75
  239. package/chunks/{version-ANP4TS6O.js → version-C63GDDWN.js} +1 -1
  240. package/chunks/{web-fetch-QJADSAH3.js → web-fetch-FOQZMNSC.js} +8 -10
  241. package/chunks/{web-search-7TTQKEKM.js → web-search-PUJTBFUC.js} +5 -7
  242. package/chunks/{web-shell-static-A6QMUNNV.js → web-shell-static-HNB4FDOE.js} +2 -2
  243. package/chunks/{workflow-5XN6XSOT.js → workflow-Y5IPINVH.js} +47 -58
  244. package/chunks/{workspace-providers-status-PDFZWL5Q.js → workspace-providers-status-IJ4VHFMB.js} +45 -47
  245. package/chunks/{workspace-registration-store-XKVW2YVH.js → workspace-registration-store-SMJWI2AI.js} +1 -1
  246. package/chunks/{workspace-registry-23R7XRB5.js → workspace-registry-BTGZIMPK.js} +37 -39
  247. package/chunks/{workspace-service-MUYO2QIC.js → workspace-service-SIN67ITC.js} +46 -51
  248. package/chunks/{workspace-skills-status-IKECTOOQ.js → workspace-skills-status-F3RKCUIX.js} +44 -46
  249. package/chunks/{workspace-trust-reconciler-KLGOB53D.js → workspace-trust-reconciler-PLIDLJZX.js} +45 -47
  250. package/chunks/{write-file-GGRBB5TZ.js → write-file-PAIGB33C.js} +26 -28
  251. package/chunks/{zoom-image-6ASG6J4C.js → zoom-image-LYQD7BQA.js} +5 -5
  252. package/cli.js +14 -14
  253. package/package.json +3 -3
  254. package/web-shell/assets/{abnfDiagram-VCTEODGH-uS-vtfs3.js → abnfDiagram-VCTEODGH-TRCMSA_6.js} +1 -1
  255. package/web-shell/assets/{arc-BSTnk5pu.js → arc-D9Uls5b3.js} +1 -1
  256. package/web-shell/assets/{architectureDiagram-5GKGNRK7-DCMyiqzy.js → architectureDiagram-5GKGNRK7-Bwb8jPXg.js} +1 -1
  257. package/web-shell/assets/{blockDiagram-NRAW4CY4-C7_gt0r1.js → blockDiagram-NRAW4CY4-DHj71TSX.js} +1 -1
  258. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BeQg2L8B.js → c4Diagram-UCG6FXSJ-uKBBdbyr.js} +1 -1
  259. package/web-shell/assets/channel-CXjVLaBa.js +1 -0
  260. package/web-shell/assets/{chunk-2Q5K7J3B-DnV9bKBe.js → chunk-2Q5K7J3B-BZd0Phrl.js} +1 -1
  261. package/web-shell/assets/{chunk-5VM5RSS4-rT1GAcT7.js → chunk-5VM5RSS4-7KNeNBqN.js} +1 -1
  262. package/web-shell/assets/{chunk-F27PBJKO-BcgSxqGA.js → chunk-F27PBJKO-BeboS7Fi.js} +1 -1
  263. package/web-shell/assets/{chunk-G27WJ6UU-Bw1ZhyZq.js → chunk-G27WJ6UU-RV3JONoj.js} +1 -1
  264. package/web-shell/assets/{chunk-JWPE2WC7-D4iDw-96.js → chunk-JWPE2WC7-Yw9FCFsP.js} +1 -1
  265. package/web-shell/assets/{chunk-LCL6LL3I-D3MB3GTZ.js → chunk-LCL6LL3I-GIMnydDe.js} +1 -1
  266. package/web-shell/assets/{chunk-POPQ4Y6H-Cep2ndrS.js → chunk-POPQ4Y6H-Cfrux7bL.js} +1 -1
  267. package/web-shell/assets/{chunk-SVP7TREG-BuahMHJc.js → chunk-SVP7TREG-BlvIN0CO.js} +1 -1
  268. package/web-shell/assets/{chunk-XXDRQBXY-BdujIvJY.js → chunk-XXDRQBXY-DMs7Rr4t.js} +1 -1
  269. package/web-shell/assets/classDiagram-DTDB5LWJ-DANEijO3.js +1 -0
  270. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DANEijO3.js +1 -0
  271. package/web-shell/assets/{cose-bilkent-JH36ORCC-CGLLUbF8.js → cose-bilkent-JH36ORCC-DNGqTNwI.js} +1 -1
  272. package/web-shell/assets/{cynefin-OW5HDTMX-D6kDsRSh.js → cynefin-OW5HDTMX-CojMpaoH.js} +1 -1
  273. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-CCy78qZx.js → cynefinDiagram-5FMLGOSQ-DF07YXGo.js} +1 -1
  274. package/web-shell/assets/{dagre-3AP2YEHR-D5gJuJsf.js → dagre-3AP2YEHR-17-4WtCH.js} +1 -1
  275. package/web-shell/assets/{diagram-S7CK7UJ4-ZwEZ5W__.js → diagram-S7CK7UJ4-G3Wuyz9m.js} +1 -1
  276. package/web-shell/assets/{diagram-UQ7AKVKN-B036APjv.js → diagram-UQ7AKVKN-nyWIKZ8P.js} +1 -1
  277. package/web-shell/assets/{diagram-VSXAHHWV-BfDJ57Fq.js → diagram-VSXAHHWV-tKHhmYSC.js} +1 -1
  278. package/web-shell/assets/{diagram-VX7I27RA-Wha0p5rT.js → diagram-VX7I27RA-CpDf1hYk.js} +1 -1
  279. package/web-shell/assets/{diagram-Z3DM3KII-L20bz2K1.js → diagram-Z3DM3KII-Cah2IFXG.js} +1 -1
  280. package/web-shell/assets/{ebnfDiagram-PWID7BFC-D1ZM0Cp7.js → ebnfDiagram-PWID7BFC-DNaCkgxy.js} +1 -1
  281. package/web-shell/assets/{erDiagram-SSCWMZ5O-CMtA19v8.js → erDiagram-SSCWMZ5O-CAdRgcf1.js} +1 -1
  282. package/web-shell/assets/{flowDiagram-A5DVABFB-D96m326S.js → flowDiagram-A5DVABFB-CMUJAShL.js} +1 -1
  283. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BuHiYG2o.js → ganttDiagram-EL5Y4UJY-o-_MUNey.js} +1 -1
  284. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Ck3NmkSw.js → gitGraphDiagram-WWUBYQGX-_aG-2Z7O.js} +1 -1
  285. package/web-shell/assets/{index-CBGz4Qjl.js → index-BK_NKxiJ.js} +1 -1
  286. package/web-shell/assets/index-Ci-z4zWY.js +1913 -0
  287. package/web-shell/assets/index-LDlXZRHA.css +36 -0
  288. package/web-shell/assets/{infoDiagram-RXCK75RN-B6DAOyXe.js → infoDiagram-RXCK75RN-qJPeZbGP.js} +1 -1
  289. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-Bpg-joFo.js → ishikawaDiagram-5VMMS53U-7Om4vNo1.js} +1 -1
  290. package/web-shell/assets/{journeyDiagram-EYS64GPL-BclrHzGa.js → journeyDiagram-EYS64GPL-BNtXqmBW.js} +1 -1
  291. package/web-shell/assets/{kanban-definition-3QL26DDD-5gJzNTYG.js → kanban-definition-3QL26DDD-COgFec8P.js} +1 -1
  292. package/web-shell/assets/{layout-CEz_1L8z.js → layout-B9n81PC9.js} +1 -1
  293. package/web-shell/assets/{linear-CBjTq9Hc.js → linear-Bb6nXZQq.js} +1 -1
  294. package/web-shell/assets/{mermaid.core-Dzhbxx_I.js → mermaid.core-Cgrm3JVT.js} +6 -6
  295. package/web-shell/assets/{mindmap-definition-FBJOCRG2-DQdVqlBF.js → mindmap-definition-FBJOCRG2-TKwLTjnG.js} +1 -1
  296. package/web-shell/assets/{pegDiagram-XKGWAZYB-D1JZlYXL.js → pegDiagram-XKGWAZYB-BJPuvlpi.js} +1 -1
  297. package/web-shell/assets/{pieDiagram-E7YTZNPT-BmkpYL0w.js → pieDiagram-E7YTZNPT-D01VkNsW.js} +1 -1
  298. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-DRvD6co5.js → quadrantDiagram-AXDQQJYC-C4hHsiv-.js} +1 -1
  299. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CEdjDuoo.js → railroadDiagram-O6MQD6OU-CuEO4xK2.js} +1 -1
  300. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BCHG-ie8.js → requirementDiagram-EFPCY7ZU-D5J_vIo5.js} +1 -1
  301. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-C9cZMnye.js → sankeyDiagram-P5KCCOFB-DQKY223V.js} +1 -1
  302. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DYHRV4zL.js → sequenceDiagram-WJ2MYXX4-D27YV_cm.js} +1 -1
  303. package/web-shell/assets/{sizeCapture-X5ZJPWSS-DlK21aye.js → sizeCapture-X5ZJPWSS-TJg8UcwV.js} +1 -1
  304. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BrmZssvk.js → stateDiagram-HBIQ2CUA-CmnPzUIx.js} +1 -1
  305. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DNKPyrDc.js +1 -0
  306. package/web-shell/assets/{swimlanes-XN3QIQJK-D9xfcayR.js → swimlanes-XN3QIQJK-ByeP3_Nu.js} +1 -1
  307. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ZL1HPC6w.js +8 -0
  308. package/web-shell/assets/{timeline-definition-24CTP7MA-D4gdDL_d.js → timeline-definition-24CTP7MA-BsFA5juR.js} +1 -1
  309. package/web-shell/assets/{vennDiagram-4TSXK5OY-DdhIExjI.js → vennDiagram-4TSXK5OY-DREP2ECo.js} +1 -1
  310. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9RS_Zof.js → wardleyDiagram-VM6X3IG4-iyd9lKi2.js} +1 -1
  311. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-orRgmxWk.js → xychartDiagram-S5SC5T6Z-CVr1_j9q.js} +1 -1
  312. package/web-shell/index.html +3 -3
  313. package/chunks/chunk-7DJCPZE3.js +0 -945
  314. package/chunks/chunk-J2OSJFP3.js +0 -202
  315. package/chunks/chunk-K2OJUPOE.js +0 -78
  316. package/chunks/chunk-P3QQPMQA.js +0 -19
  317. package/chunks/process-registry-PMJOA5CO.js +0 -172
  318. package/web-shell/assets/channel-CENAhErJ.js +0 -1
  319. package/web-shell/assets/classDiagram-DTDB5LWJ-CM6FArGH.js +0 -1
  320. package/web-shell/assets/classDiagram-v2-JRS7N3AN-CM6FArGH.js +0 -1
  321. package/web-shell/assets/index-8hXIpvo4.js +0 -1865
  322. package/web-shell/assets/index-DclEv91i.css +0 -5
  323. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-B2Q7XDaE.js +0 -1
  324. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DpZPOSbX.js +0 -8
@@ -24,14 +24,6 @@ import {
24
24
  isChannelWebhookEnqueueErrorCode,
25
25
  isChannelWebhookTaskResultMessage
26
26
  } from "./chunk-STUJ7IMZ.js";
27
- import {
28
- createWorkerDiagnosticRedactor,
29
- normalizeWorkerDiagnostic,
30
- sanitizeWorkerDiagnostic
31
- } from "./chunk-JVPFTDBK.js";
32
- import {
33
- channelSelectionNames
34
- } from "./chunk-ALMR3E6Q.js";
35
27
  import {
36
28
  CHANNEL_DAEMON_WORKER_SENTINEL,
37
29
  CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
@@ -40,6 +32,14 @@ import {
40
32
  QWEN_DAEMON_WORKSPACE_ENV,
41
33
  QWEN_SERVER_TOKEN_ENV
42
34
  } from "./chunk-GYTKQYDB.js";
35
+ import {
36
+ createWorkerDiagnosticRedactor,
37
+ normalizeWorkerDiagnostic,
38
+ sanitizeWorkerDiagnostic
39
+ } from "./chunk-RFIDDFAL.js";
40
+ import {
41
+ channelSelectionNames
42
+ } from "./chunk-ALMR3E6Q.js";
43
43
  import {
44
44
  CHANNEL_DELIVERY_IPC_TIMEOUT_MS,
45
45
  ChannelDeliveryError,
@@ -57,7 +57,7 @@ import {
57
57
  } from "./chunk-5HBA2Z7V.js";
58
58
  import {
59
59
  sanitizeLogText
60
- } from "./chunk-E55H6BZ7.js";
60
+ } from "./chunk-ICURCKIU.js";
61
61
  import {
62
62
  init_esbuild_shims
63
63
  } from "./chunk-5O2XNYP6.js";
@@ -1,5 +1,9 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ isUserPromptSubmitContextPartText,
5
+ projectUserTranscriptForDisplay
6
+ } from "./chunk-7J6OTNGO.js";
3
7
  import {
4
8
  runSideQuery
5
9
  } from "./chunk-BWORX6FA.js";
@@ -76,404 +80,6 @@ function validateGoalProposalReason(reason) {
76
80
  }
77
81
  __name(validateGoalProposalReason, "validateGoalProposalReason");
78
82
 
79
- // packages/core/src/utils/transcript-records.ts
80
- init_esbuild_shims();
81
- var USER_PROMPT_SUBMIT_CONTEXT_OPEN = "<qwen:user-prompt-submit-context>";
82
- var USER_PROMPT_SUBMIT_CONTEXT_CLOSE = "</qwen:user-prompt-submit-context>";
83
- var TranscriptRecordPreparationError = class extends TypeError {
84
- constructor(code, message) {
85
- super(message);
86
- this.code = code;
87
- this.name = "TranscriptRecordPreparationError";
88
- }
89
- static {
90
- __name(this, "TranscriptRecordPreparationError");
91
- }
92
- };
93
- var RECORD_TYPES = /* @__PURE__ */ new Set([
94
- "user",
95
- "assistant",
96
- "tool_result",
97
- "system"
98
- ]);
99
- var ARTIFACT_RECORD_SUBTYPES = /* @__PURE__ */ new Set([
100
- "session_artifact_event",
101
- "session_artifact_snapshot"
102
- ]);
103
- var KNOWN_RECORD_SUBTYPES = /* @__PURE__ */ new Set([
104
- "chat_compression",
105
- "slash_command",
106
- "ui_telemetry",
107
- "at_command",
108
- "attribution_snapshot",
109
- "notification",
110
- "cron",
111
- "mid_turn_user_message",
112
- "realtime_message",
113
- "custom_title",
114
- "parent_session",
115
- "rewind",
116
- "agent_bootstrap",
117
- "agent_launch_prompt",
118
- "agent_retry",
119
- "file_history_snapshot",
120
- "session_source",
121
- "session_model",
122
- "branch_checkpoint",
123
- "goal_state",
124
- "goal_runtime",
125
- "turn_result",
126
- ...ARTIFACT_RECORD_SUBTYPES
127
- ]);
128
- function isObjectRecord(value) {
129
- return typeof value === "object" && value !== null && !Array.isArray(value);
130
- }
131
- __name(isObjectRecord, "isObjectRecord");
132
- function wrapUserPromptSubmitContext(context) {
133
- return `${USER_PROMPT_SUBMIT_CONTEXT_OPEN}
134
- ${context}
135
- ${USER_PROMPT_SUBMIT_CONTEXT_CLOSE}`;
136
- }
137
- __name(wrapUserPromptSubmitContext, "wrapUserPromptSubmitContext");
138
- function isUserPromptSubmitContextPartText(text) {
139
- const trimmed = text.trim();
140
- const prefix = `${USER_PROMPT_SUBMIT_CONTEXT_OPEN}
141
- `;
142
- const suffix = `
143
- ${USER_PROMPT_SUBMIT_CONTEXT_CLOSE}`;
144
- if (!trimmed.startsWith(prefix) || !trimmed.endsWith(suffix)) {
145
- return false;
146
- }
147
- const body = trimmed.slice(prefix.length, -suffix.length);
148
- return !body.includes(USER_PROMPT_SUBMIT_CONTEXT_OPEN) && !body.includes(USER_PROMPT_SUBMIT_CONTEXT_CLOSE);
149
- }
150
- __name(isUserPromptSubmitContextPartText, "isUserPromptSubmitContextPartText");
151
- function isUserPromptSubmitContextPart(part) {
152
- return isObjectRecord(part) && typeof part["text"] === "string" && isUserPromptSubmitContextPartText(part["text"]);
153
- }
154
- __name(isUserPromptSubmitContextPart, "isUserPromptSubmitContextPart");
155
- function projectUserTranscriptForDisplay(record) {
156
- const parts = record.message?.parts ?? [];
157
- const hasFinalHookContextPart = parts.length > 1 && isUserPromptSubmitContextPart(parts[parts.length - 1]);
158
- const payload = isObjectRecord(record.systemPayload) ? record.systemPayload : void 0;
159
- const isUserPromptPayload = payload && (typeof payload["hookContext"] === "string" || hasFinalHookContextPart);
160
- const displayText = isUserPromptPayload && typeof payload["displayText"] === "string" ? payload["displayText"] : void 0;
161
- if (displayText !== void 0) {
162
- const visibleParts = parts.filter(
163
- (part) => !isObjectRecord(part) || typeof part["text"] !== "string"
164
- );
165
- return { displayText, parts: visibleParts };
166
- }
167
- if (payload === void 0 && hasFinalHookContextPart) {
168
- return { displayText: void 0, parts: parts.slice(0, -1) };
169
- }
170
- return { displayText: void 0, parts };
171
- }
172
- __name(projectUserTranscriptForDisplay, "projectUserTranscriptForDisplay");
173
- function diagnostic(code, message, affectsCompleteness, fields = {}, severity = affectsCompleteness ? "warning" : "info") {
174
- return {
175
- code,
176
- severity,
177
- message,
178
- affectsCompleteness,
179
- ...fields
180
- };
181
- }
182
- __name(diagnostic, "diagnostic");
183
- function isTranscriptConversationRecord(record) {
184
- return !isTranscriptArtifactRecord(record);
185
- }
186
- __name(isTranscriptConversationRecord, "isTranscriptConversationRecord");
187
- function isTranscriptArtifactRecord(record) {
188
- return record.type === "system" && typeof record.subtype === "string" && ARTIFACT_RECORD_SUBTYPES.has(record.subtype);
189
- }
190
- __name(isTranscriptArtifactRecord, "isTranscriptArtifactRecord");
191
- function validateTranscriptRecord(value, recordIndex) {
192
- const diagnostics = [];
193
- if (!isObjectRecord(value)) {
194
- diagnostics.push(
195
- diagnostic(
196
- "invalid_record",
197
- "Skipped a transcript record that is not an object.",
198
- true,
199
- { recordIndex }
200
- )
201
- );
202
- return { diagnostics };
203
- }
204
- const uuid = value["uuid"];
205
- const parentUuid = value["parentUuid"];
206
- const sessionId = value["sessionId"];
207
- const type = value["type"];
208
- const recordId = typeof uuid === "string" ? uuid : void 0;
209
- if (typeof uuid !== "string" || uuid.length === 0 || typeof parentUuid !== "string" && parentUuid !== null || typeof sessionId !== "string" || sessionId.length === 0) {
210
- diagnostics.push(
211
- diagnostic(
212
- "invalid_record",
213
- "Skipped a transcript record with invalid identity fields.",
214
- true,
215
- { recordIndex, recordId }
216
- )
217
- );
218
- return { diagnostics };
219
- }
220
- if (typeof type !== "string" || !RECORD_TYPES.has(type)) {
221
- diagnostics.push(
222
- diagnostic(
223
- "unknown_record_or_part",
224
- "Skipped a transcript record with an unknown record type.",
225
- true,
226
- { recordIndex, recordId }
227
- )
228
- );
229
- return { diagnostics };
230
- }
231
- const timestamp = value["timestamp"];
232
- if (timestamp !== void 0 && (typeof timestamp !== "string" || !Number.isFinite(new Date(timestamp).getTime()))) {
233
- diagnostics.push(
234
- diagnostic(
235
- "invalid_timestamp",
236
- "Ignored an invalid transcript record timestamp.",
237
- false,
238
- { recordIndex, recordId, path: "timestamp" }
239
- )
240
- );
241
- }
242
- const subtype = value["subtype"];
243
- if (subtype !== void 0 && (typeof subtype !== "string" || !KNOWN_RECORD_SUBTYPES.has(subtype))) {
244
- diagnostics.push(
245
- diagnostic(
246
- "unknown_record_or_part",
247
- "The transcript record has an unknown subtype.",
248
- true,
249
- { recordIndex, recordId, path: "subtype" }
250
- )
251
- );
252
- }
253
- let message;
254
- if (value["message"] !== void 0) {
255
- if (!isObjectRecord(value["message"])) {
256
- diagnostics.push(
257
- diagnostic(
258
- "malformed_part",
259
- "Ignored a malformed transcript message payload.",
260
- true,
261
- { recordIndex, recordId, path: "message" }
262
- )
263
- );
264
- } else {
265
- const parts = value["message"]["parts"];
266
- if (parts !== void 0 && !Array.isArray(parts)) {
267
- diagnostics.push(
268
- diagnostic(
269
- "malformed_part",
270
- "Ignored malformed transcript message parts.",
271
- true,
272
- { recordIndex, recordId, path: "message.parts" }
273
- )
274
- );
275
- }
276
- message = {
277
- ...typeof value["message"]["role"] === "string" ? { role: value["message"]["role"] } : {},
278
- ...Array.isArray(parts) ? { parts } : {}
279
- };
280
- }
281
- }
282
- return {
283
- record: {
284
- ...value,
285
- uuid,
286
- parentUuid,
287
- sessionId,
288
- type,
289
- ...typeof subtype === "string" ? { subtype } : { subtype: void 0 },
290
- ...typeof timestamp === "string" && Number.isFinite(new Date(timestamp).getTime()) ? { timestamp } : { timestamp: void 0 },
291
- ...message ? { message } : { message: void 0 }
292
- },
293
- diagnostics
294
- };
295
- }
296
- __name(validateTranscriptRecord, "validateTranscriptRecord");
297
- function selectTranscriptLeaf(records, leafUuid) {
298
- if (leafUuid !== void 0) {
299
- return records.some(
300
- (record) => record.uuid === leafUuid && isTranscriptConversationRecord(record)
301
- ) ? leafUuid : void 0;
302
- }
303
- for (let index = records.length - 1; index >= 0; index -= 1) {
304
- const record = records[index];
305
- if (record && isTranscriptConversationRecord(record)) return record.uuid;
306
- }
307
- return void 0;
308
- }
309
- __name(selectTranscriptLeaf, "selectTranscriptLeaf");
310
- function walkTranscriptUuidChain(leafUuid, lookup) {
311
- const uuids = [];
312
- const gaps = [];
313
- const visited = /* @__PURE__ */ new Set();
314
- let currentUuid = leafUuid;
315
- let cycleUuid;
316
- while (currentUuid) {
317
- if (visited.has(currentUuid)) {
318
- cycleUuid = currentUuid;
319
- break;
320
- }
321
- visited.add(currentUuid);
322
- const record = lookup(currentUuid);
323
- if (!record) break;
324
- uuids.push(currentUuid);
325
- if (!record.parentUuid) break;
326
- if (!lookup(record.parentUuid)) {
327
- gaps.push({
328
- childUuid: currentUuid,
329
- missingParentUuid: record.parentUuid
330
- });
331
- break;
332
- }
333
- currentUuid = record.parentUuid;
334
- }
335
- uuids.reverse();
336
- return { uuids, gaps, ...cycleUuid ? { cycleUuid } : {} };
337
- }
338
- __name(walkTranscriptUuidChain, "walkTranscriptUuidChain");
339
- function aggregateTranscriptRecordFragments(records) {
340
- const first = records[0];
341
- if (!first) {
342
- throw new Error("Cannot aggregate empty transcript record array");
343
- }
344
- const base = { ...first };
345
- let message = first.message ? { ...first.message, parts: [...first.message.parts ?? []] } : void 0;
346
- for (let index = 1; index < records.length; index += 1) {
347
- const record = records[index];
348
- if (record.message !== void 0) {
349
- message = message ? {
350
- role: message.role,
351
- parts: [...message.parts ?? [], ...record.message.parts ?? []]
352
- } : { ...record.message, parts: [...record.message.parts ?? []] };
353
- }
354
- if (record.usageMetadata) base["usageMetadata"] = record.usageMetadata;
355
- if (record.toolCallResult && !base["toolCallResult"]) {
356
- base["toolCallResult"] = record.toolCallResult;
357
- }
358
- if (record.model && !base["model"]) base["model"] = record.model;
359
- if (record.timestamp && (!base["timestamp"] || record.timestamp > String(base["timestamp"]))) {
360
- base["timestamp"] = record.timestamp;
361
- }
362
- }
363
- base["message"] = message;
364
- return base;
365
- }
366
- __name(aggregateTranscriptRecordFragments, "aggregateTranscriptRecordFragments");
367
- function prepareTranscriptRecords(values, options = {}) {
368
- if (!Array.isArray(values)) {
369
- throw new TranscriptRecordPreparationError(
370
- "invalid_records",
371
- "Transcript records must be an array."
372
- );
373
- }
374
- const diagnostics = [];
375
- const records = [];
376
- const sourceIndexByRecord = /* @__PURE__ */ new Map();
377
- for (let index = 0; index < values.length; index += 1) {
378
- const validated = validateTranscriptRecord(values[index], index);
379
- diagnostics.push(...validated.diagnostics);
380
- if (validated.record) {
381
- records.push(validated.record);
382
- sourceIndexByRecord.set(validated.record, index);
383
- }
384
- }
385
- const sessionIds = new Set(records.map((record) => record.sessionId));
386
- if (sessionIds.size > 1) {
387
- throw new TranscriptRecordPreparationError(
388
- "mixed_session_ids",
389
- "Transcript records contain multiple session ids."
390
- );
391
- }
392
- const leafUuid = selectTranscriptLeaf(records, options.leafUuid);
393
- if (options.leafUuid !== void 0 && leafUuid === void 0) {
394
- throw new TranscriptRecordPreparationError(
395
- "leaf_not_found",
396
- "The requested transcript leaf was not found."
397
- );
398
- }
399
- if (!leafUuid) {
400
- if (records.length > 0) {
401
- diagnostics.push(
402
- diagnostic(
403
- "artifact_only",
404
- "The input contains no conversation records.",
405
- false
406
- )
407
- );
408
- }
409
- return {
410
- ...sessionIds.size === 1 ? { sessionId: records[0].sessionId } : {},
411
- records: [],
412
- gaps: [],
413
- diagnostics
414
- };
415
- }
416
- const fragmentsByUuid = /* @__PURE__ */ new Map();
417
- const firstByUuid = /* @__PURE__ */ new Map();
418
- for (const record of records) {
419
- if (!isTranscriptConversationRecord(record)) continue;
420
- const fragments = fragmentsByUuid.get(record.uuid);
421
- if (fragments) {
422
- if (fragments[0].parentUuid !== record.parentUuid) {
423
- diagnostics.push(
424
- diagnostic(
425
- "conflicting_parent_uuid",
426
- "Duplicate transcript record fragments disagree on parentUuid.",
427
- true,
428
- {
429
- recordIndex: sourceIndexByRecord.get(record),
430
- recordId: record.uuid,
431
- path: "parentUuid"
432
- }
433
- )
434
- );
435
- }
436
- fragments.push(record);
437
- } else {
438
- fragmentsByUuid.set(record.uuid, [record]);
439
- firstByUuid.set(record.uuid, record);
440
- }
441
- }
442
- const chain = walkTranscriptUuidChain(
443
- leafUuid,
444
- (uuid) => firstByUuid.get(uuid)
445
- );
446
- for (const gap of chain.gaps) {
447
- diagnostics.push(
448
- diagnostic(
449
- "history_gap",
450
- "The active transcript chain is missing a parent record.",
451
- true,
452
- { recordId: gap.childUuid }
453
- )
454
- );
455
- }
456
- if (chain.cycleUuid) {
457
- diagnostics.push(
458
- diagnostic(
459
- "parent_cycle",
460
- "The active transcript chain contains a parent cycle.",
461
- true,
462
- { recordId: chain.cycleUuid }
463
- )
464
- );
465
- }
466
- return {
467
- ...sessionIds.size === 1 ? { sessionId: records[0].sessionId } : {},
468
- records: chain.uuids.map(
469
- (uuid) => aggregateTranscriptRecordFragments(fragmentsByUuid.get(uuid) ?? [])
470
- ),
471
- gaps: chain.gaps,
472
- diagnostics
473
- };
474
- }
475
- __name(prepareTranscriptRecords, "prepareTranscriptRecords");
476
-
477
83
  // packages/core/src/goals/goal-evidence.ts
478
84
  init_esbuild_shims();
479
85
  var CATALOG_PREVIEW_LIMIT = 240;
@@ -2121,7 +1727,7 @@ function recoverLegacyGoal(records) {
2121
1727
  }
2122
1728
  for (let itemIndex = payload.outputHistoryItems.length - 1; itemIndex >= 0; itemIndex -= 1) {
2123
1729
  const value = payload.outputHistoryItems[itemIndex];
2124
- if (!isObjectRecord2(value) || value["type"] !== "goal_status") continue;
1730
+ if (!isObjectRecord(value) || value["type"] !== "goal_status") continue;
2125
1731
  const kind = value["kind"];
2126
1732
  const condition = value["condition"];
2127
1733
  if (typeof kind !== "string" || typeof condition !== "string") {
@@ -2165,7 +1771,7 @@ function normalizeGoalRecoveryRecord(record) {
2165
1771
  return void 0;
2166
1772
  }
2167
1773
  const goalStatusItems = payload.outputHistoryItems.filter(
2168
- (value) => isObjectRecord2(value) && value["type"] === "goal_status"
1774
+ (value) => isObjectRecord(value) && value["type"] === "goal_status"
2169
1775
  );
2170
1776
  if (goalStatusItems.length === 0) return void 0;
2171
1777
  return {
@@ -2186,7 +1792,7 @@ function isGoalRecoveryCandidate(record) {
2186
1792
  }
2187
1793
  const payload = record.systemPayload;
2188
1794
  return payload?.phase === "result" && Array.isArray(payload.outputHistoryItems) && payload.outputHistoryItems.some(
2189
- (value) => isObjectRecord2(value) && value["type"] === "goal_status"
1795
+ (value) => isObjectRecord(value) && value["type"] === "goal_status"
2190
1796
  );
2191
1797
  }
2192
1798
  __name(isGoalRecoveryCandidate, "isGoalRecoveryCandidate");
@@ -2197,10 +1803,10 @@ function unsupportedLegacy(recordUuid) {
2197
1803
  };
2198
1804
  }
2199
1805
  __name(unsupportedLegacy, "unsupportedLegacy");
2200
- function isObjectRecord2(value) {
1806
+ function isObjectRecord(value) {
2201
1807
  return typeof value === "object" && value !== null && !Array.isArray(value);
2202
1808
  }
2203
- __name(isObjectRecord2, "isObjectRecord");
1809
+ __name(isObjectRecord, "isObjectRecord");
2204
1810
  function createMigratedGoalState(input) {
2205
1811
  const objective = input.objective.trim();
2206
1812
  if (!objective) {
@@ -2270,6 +1876,9 @@ function createGoalRuntime(options) {
2270
1876
  let currentTurnKey;
2271
1877
  let queuedTurnKey;
2272
1878
  let continuationQueued = false;
1879
+ let announcedObjective;
1880
+ let currentTurnAnnouncement;
1881
+ let currentTurnDelivered = false;
2273
1882
  let currentProposal;
2274
1883
  let pendingProposal;
2275
1884
  let verificationAttempt;
@@ -2383,6 +1992,13 @@ function createGoalRuntime(options) {
2383
1992
  } catch {
2384
1993
  }
2385
1994
  }, "preemptHost");
1995
+ const settleCurrentTurnAnnouncement = /* @__PURE__ */ __name((delivered) => {
1996
+ if (delivered && currentTurnAnnouncement !== void 0) {
1997
+ announcedObjective = currentTurnAnnouncement;
1998
+ }
1999
+ currentTurnAnnouncement = void 0;
2000
+ currentTurnDelivered = false;
2001
+ }, "settleCurrentTurnAnnouncement");
2386
2002
  const flushContinuation = /* @__PURE__ */ __name((cause, windDown = false) => {
2387
2003
  if (!continuationQueued || !host || currentPermit || pendingProposal || verificationAttempt || checkpointAttempt || snapshot.activity !== "idle" || snapshot.goal?.status !== "active") {
2388
2004
  return;
@@ -2401,12 +2017,16 @@ function createGoalRuntime(options) {
2401
2017
  currentPermitHost = scheduledHost;
2402
2018
  currentTurnKey = `goal-runtime:${currentPermit.turnId}`;
2403
2019
  const startedPermit = structuredClone(currentPermit);
2020
+ const objectiveUpdated = announcedObjective !== void 0 && announcedObjective !== continuationContext;
2021
+ currentTurnAnnouncement = continuationContext;
2022
+ currentTurnDelivered = false;
2404
2023
  windDownTurnId = windDown ? startedPermit.turnId : void 0;
2405
2024
  snapshot = { ...snapshot, activity: "running" };
2406
2025
  broadcast(cause);
2407
2026
  const handleStartFailure = /* @__PURE__ */ __name(() => {
2408
2027
  void enqueue(async () => {
2409
2028
  if (isCurrentPermit(startedPermit)) {
2029
+ settleCurrentTurnAnnouncement(false);
2410
2030
  const nextTurnKey = queuedTurnKey;
2411
2031
  currentPermit = void 0;
2412
2032
  currentPermitHost = void 0;
@@ -2443,6 +2063,7 @@ function createGoalRuntime(options) {
2443
2063
  started = scheduledHost.startGoalTurn({
2444
2064
  permit: startedPermit,
2445
2065
  continuationContext,
2066
+ ...objectiveUpdated ? { objectiveUpdated } : {},
2446
2067
  ...windDown ? { windDown } : {},
2447
2068
  ...verifierFeedback ? { verifierFeedback } : {}
2448
2069
  });
@@ -2592,6 +2213,9 @@ function createGoalRuntime(options) {
2592
2213
  continuationQueued = false;
2593
2214
  nextVerifierFeedback = void 0;
2594
2215
  currentTurnFeedback = void 0;
2216
+ if (attempt.proposal.status === "complete") {
2217
+ announcedObjective = void 0;
2218
+ }
2595
2219
  snapshot = structuredClone(terminalSnapshot);
2596
2220
  broadcast(attempt.proposal.status);
2597
2221
  return void 0;
@@ -3107,6 +2731,7 @@ function createGoalRuntime(options) {
3107
2731
  if (currentTurnFeedback !== void 0) {
3108
2732
  nextVerifierFeedback ??= currentTurnFeedback;
3109
2733
  }
2734
+ settleCurrentTurnAnnouncement(currentTurnDelivered);
3110
2735
  currentPermit = void 0;
3111
2736
  currentPermitHost = void 0;
3112
2737
  currentTurnKey = void 0;
@@ -3135,6 +2760,12 @@ function createGoalRuntime(options) {
3135
2760
  return released;
3136
2761
  });
3137
2762
  },
2763
+ markTurnDelivered(turnKey) {
2764
+ assertOperational();
2765
+ if (currentPermit && currentTurnKey === turnKey) {
2766
+ currentTurnDelivered = true;
2767
+ }
2768
+ },
3138
2769
  permitForTurn(turnKey) {
3139
2770
  assertOperational();
3140
2771
  return currentPermit && currentTurnKey === turnKey ? structuredClone(currentPermit) : void 0;
@@ -3153,14 +2784,17 @@ function createGoalRuntime(options) {
3153
2784
  if (!isCurrentPermit(permit) || !snapshot.goal) {
3154
2785
  throw new Error(STALE_GOAL_TURN_MESSAGE);
3155
2786
  }
2787
+ const delivered = currentTurnDelivered;
2788
+ settleCurrentTurnAnnouncement(delivered);
3156
2789
  const recordUuid = randomUUID();
3157
- const finishedWindDown = windDownTurnId === permit.turnId;
2790
+ const heldWindDown = windDownTurnId === permit.turnId;
2791
+ const finishedWindDown = heldWindDown && delivered;
3158
2792
  const nextGoal = reduceGoalTurnFinished(snapshot.goal, {
3159
2793
  now: Date.now(),
3160
2794
  tokensUsed: takeTurnTokens(permit.turnId),
3161
2795
  ...finishedWindDown ? { windDownTurnId: permit.turnId } : {}
3162
2796
  });
3163
- if (finishedWindDown) windDownTurnId = void 0;
2797
+ if (heldWindDown) windDownTurnId = void 0;
3164
2798
  const persistedSnapshot = {
3165
2799
  v: GOAL_STATE_VERSION,
3166
2800
  goal: nextGoal,
@@ -3365,6 +2999,7 @@ ${proposal.reason}`;
3365
2999
  invalidateAttempts(`Goal ${request.action}`);
3366
3000
  }
3367
3001
  if (invalidatesPermit) {
3002
+ settleCurrentTurnAnnouncement(currentTurnDelivered);
3368
3003
  currentPermit = void 0;
3369
3004
  currentPermitHost = void 0;
3370
3005
  currentTurnKey = void 0;
@@ -3375,6 +3010,7 @@ ${proposal.reason}`;
3375
3010
  nextVerifierFeedback = void 0;
3376
3011
  currentTurnFeedback = void 0;
3377
3012
  continuationQueued = false;
3013
+ if (request.action === "clear") announcedObjective = void 0;
3378
3014
  } else if (request.action === "resume") {
3379
3015
  blockedAudit = void 0;
3380
3016
  }
@@ -3409,6 +3045,8 @@ ${proposal.reason}`;
3409
3045
  blockedAudit = void 0;
3410
3046
  nextVerifierFeedback = void 0;
3411
3047
  currentTurnFeedback = void 0;
3048
+ currentTurnAnnouncement = void 0;
3049
+ currentTurnDelivered = false;
3412
3050
  preemptHost("Goal runtime disposed", invalidatedHost);
3413
3051
  host = void 0;
3414
3052
  listeners.clear();
@@ -3428,16 +3066,6 @@ export {
3428
3066
  emptyGoalSnapshot,
3429
3067
  goalRequiresExactPermit,
3430
3068
  validateGoalProposalReason,
3431
- wrapUserPromptSubmitContext,
3432
- isUserPromptSubmitContextPartText,
3433
- projectUserTranscriptForDisplay,
3434
- isTranscriptConversationRecord,
3435
- isTranscriptArtifactRecord,
3436
- validateTranscriptRecord,
3437
- selectTranscriptLeaf,
3438
- walkTranscriptUuidChain,
3439
- aggregateTranscriptRecordFragments,
3440
- prepareTranscriptRecords,
3441
3069
  GOAL_EVIDENCE_REFERENCE_LIMIT,
3442
3070
  EvidenceSourceUnavailableError,
3443
3071
  InvalidGoalEvidenceReferenceError,
@@ -3466,8 +3094,3 @@ export {
3466
3094
  * Copyright 2026 Qwen Team
3467
3095
  * SPDX-License-Identifier: Apache-2.0
3468
3096
  */
3469
- /**
3470
- * @license
3471
- * Copyright 2025 Qwen Team
3472
- * SPDX-License-Identifier: Apache-2.0
3473
- */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  isWithinRoot
5
- } from "./chunk-3I6UTTDX.js";
5
+ } from "./chunk-BKWNKLZB.js";
6
6
  import {
7
7
  BaseDeclarativeTool,
8
8
  BaseToolInvocation,
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  SkillError
5
- } from "./chunk-EFUM7RVY.js";
5
+ } from "./chunk-KJO2LBUK.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";