@qwen-code/qwen-code 0.26.2-preview.0 → 0.26.2-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/chunks/{MaxSizedBox-K6YUM3DX.js → MaxSizedBox-EGHZ2BPF.js} +1 -1
  2. package/chunks/{StandaloneSessionPicker-75IC33SN.js → StandaloneSessionPicker-UVCW6YW3.js} +1 -1
  3. package/chunks/{acp-subagent-executor-3NHBJRPL.js → acp-subagent-executor-AQ7AWSD4.js} +1 -1
  4. package/chunks/{acpAgent-JT6KQPTH.js → acpAgent-IV7JAGD7.js} +3 -3
  5. package/chunks/{advisor-TI2UVEZK.js → advisor-UZ4TF65D.js} +1 -1
  6. package/chunks/{agent-SWIZZZMY.js → agent-CNLVAWDD.js} +1 -1
  7. package/chunks/{agent-headless-USWEJ4GW.js → agent-headless-ZJUJLUJS.js} +1 -1
  8. package/chunks/{agent-host-client-ZFIMQX33.js → agent-host-client-SN5V2KBH.js} +1 -1
  9. package/chunks/{agent-host-connections-LOFD7O7Q.js → agent-host-connections-VKMAJIIU.js} +1 -1
  10. package/chunks/{anthropicContentGenerator-HMLEI4FI.js → anthropicContentGenerator-QTJVPAMI.js} +1 -1
  11. package/chunks/{autofix-pr-NKR2VSLB.js → autofix-pr-U7GNSH27.js} +1 -1
  12. package/chunks/{batch-JQZ3TOHA.js → batch-MBEWETXN.js} +1 -1
  13. package/chunks/{bridge-EIWWT4P6.js → bridge-TEJLNYV3.js} +1 -1
  14. package/chunks/{channel-settings-store-FLRLUA67.js → channel-settings-store-QNCKWWBL.js} +1 -1
  15. package/chunks/{chunk-244YTFYD.js → chunk-23KDY7UW.js} +1 -1
  16. package/chunks/{chunk-7TDMQJTD.js → chunk-2DWWSMTV.js} +1 -1
  17. package/chunks/{chunk-UU2LTNSF.js → chunk-3IZMVLVZ.js} +1 -1
  18. package/chunks/{chunk-B6T4ESBM.js → chunk-3JI7IKJL.js} +1 -1
  19. package/chunks/{chunk-Y5TT2G3N.js → chunk-427MARCP.js} +1 -1
  20. package/chunks/{chunk-KX7JS2P7.js → chunk-4NNNGSQY.js} +3 -3
  21. package/chunks/{chunk-6TQS2WQO.js → chunk-4RM7KY3Z.js} +2 -2
  22. package/chunks/{chunk-YL3N2UGG.js → chunk-5X7S4AE6.js} +5 -5
  23. package/chunks/{chunk-K2HAY5PY.js → chunk-5XAECBED.js} +1 -1
  24. package/chunks/{chunk-VCHFBETO.js → chunk-66KKSLUO.js} +1 -1
  25. package/chunks/{chunk-BSJR2KEF.js → chunk-6CIIDUZW.js} +1 -1
  26. package/chunks/{chunk-22CLK7PK.js → chunk-7EBRMQYW.js} +1 -1
  27. package/chunks/{chunk-J4TFGZ4A.js → chunk-7FSC2NKA.js} +1 -1
  28. package/chunks/{chunk-6JFC5M6B.js → chunk-A5TAAMML.js} +1 -1
  29. package/chunks/{chunk-DHHACQVN.js → chunk-AOYSX44A.js} +1 -1
  30. package/chunks/{chunk-VFVZ2DY7.js → chunk-AZCMQ3DD.js} +2 -2
  31. package/chunks/{chunk-BQJXWIMR.js → chunk-B6F7CVBP.js} +1 -1
  32. package/chunks/{chunk-OVPEAKOQ.js → chunk-BDQOLT37.js} +1 -1
  33. package/chunks/{chunk-5SYUBQNO.js → chunk-BIWEUAKG.js} +1 -1
  34. package/chunks/{chunk-BZM66PQO.js → chunk-BJ5R7LOM.js} +1 -1
  35. package/chunks/{chunk-4R2OHBH3.js → chunk-BKUFRNME.js} +1 -1
  36. package/chunks/{chunk-NIYWNFVF.js → chunk-BNZSPX2I.js} +1 -1
  37. package/chunks/{chunk-FJV2ECNY.js → chunk-D2URRVOK.js} +1 -1
  38. package/chunks/{chunk-GT6CHVAI.js → chunk-DANP7CMW.js} +1 -1
  39. package/chunks/{chunk-FHFLD4DR.js → chunk-DBHLRZGI.js} +1 -1
  40. package/chunks/{chunk-Y2UXZJLM.js → chunk-DL7TKH2E.js} +2 -2
  41. package/chunks/{chunk-MCQE2U7N.js → chunk-DOWKH5OZ.js} +6 -6
  42. package/chunks/{chunk-UHRLBY3C.js → chunk-DPHQJPCU.js} +1 -1
  43. package/chunks/{chunk-PV2VT25U.js → chunk-DPNGBOI7.js} +1 -1
  44. package/chunks/{chunk-NCDNF7UJ.js → chunk-DXRXF4QD.js} +1 -1
  45. package/chunks/{chunk-OCVRMNEQ.js → chunk-DZ3GV34J.js} +1 -1
  46. package/chunks/{chunk-3QIAXWWW.js → chunk-EU2MKUK4.js} +1 -1
  47. package/chunks/{chunk-KMAVI6FB.js → chunk-EVBUXPGM.js} +1 -1
  48. package/chunks/{chunk-BVSTV4JM.js → chunk-F3ZRU2SA.js} +1 -1
  49. package/chunks/{chunk-TBZY477Y.js → chunk-FCZYH27X.js} +1 -1
  50. package/chunks/{chunk-JCOK67LT.js → chunk-FNDMWG43.js} +1 -1
  51. package/chunks/{chunk-5SF32OGU.js → chunk-GDXLJJSW.js} +1 -1
  52. package/chunks/{chunk-SO6FCPRI.js → chunk-GZYIXB7Y.js} +1 -1
  53. package/chunks/{chunk-WZPTWC7X.js → chunk-HHNAH4IH.js} +1 -1
  54. package/chunks/{chunk-7KCAOXNL.js → chunk-HOKROBQZ.js} +1 -1
  55. package/chunks/{chunk-34ZBUQJV.js → chunk-IGPAATQW.js} +1 -1
  56. package/chunks/{chunk-2ZTRKK2O.js → chunk-INFBJDWM.js} +1 -1
  57. package/chunks/{chunk-IEJ2CGRN.js → chunk-J3R7ZNSA.js} +1 -1
  58. package/chunks/{chunk-KT5MPRYB.js → chunk-JCRS367I.js} +1 -1
  59. package/chunks/{chunk-7JWJTRP6.js → chunk-JFVXZFMV.js} +1 -1
  60. package/chunks/{chunk-47LP4MBD.js → chunk-JKMGS2VD.js} +1 -1
  61. package/chunks/{chunk-WRJ3PMDZ.js → chunk-JUQ7T2MV.js} +1 -1
  62. package/chunks/{chunk-NZX3UWNF.js → chunk-KQ4TDFNE.js} +1 -1
  63. package/chunks/{chunk-X7D4VKMX.js → chunk-L6BKKN42.js} +1 -1
  64. package/chunks/{chunk-YG5HVFMY.js → chunk-L7Y6MOHS.js} +1 -1
  65. package/chunks/{chunk-UFTIUKD4.js → chunk-LGYXZJI3.js} +1 -1
  66. package/chunks/{chunk-JQGGILML.js → chunk-LPOEVTKD.js} +1 -1
  67. package/chunks/{chunk-5KI55A6S.js → chunk-LRXS7ZI2.js} +1 -1
  68. package/chunks/{chunk-CKVHEYXW.js → chunk-LYYVSCNL.js} +1 -1
  69. package/chunks/{chunk-LIIMQ4DI.js → chunk-LZNBHBAJ.js} +6 -6
  70. package/chunks/{chunk-H4GDEXMF.js → chunk-M3C6RDGC.js} +1 -1
  71. package/chunks/{chunk-KKKUB3RQ.js → chunk-MNVMHVQJ.js} +1 -1
  72. package/chunks/{chunk-2B3W7IQY.js → chunk-MVGQFFIK.js} +1 -1
  73. package/chunks/{chunk-Q35A2RGO.js → chunk-NC7BCZPQ.js} +1 -1
  74. package/chunks/{chunk-2ZOTG3NW.js → chunk-NE627MUW.js} +1 -1
  75. package/chunks/{chunk-W4P2EN3V.js → chunk-NZNRCPGE.js} +1 -1
  76. package/chunks/{chunk-YPDQJQ3S.js → chunk-P3M4WWRA.js} +1 -1
  77. package/chunks/{chunk-DVB36ASH.js → chunk-P534ONQN.js} +1 -1
  78. package/chunks/{chunk-EL5J4ESB.js → chunk-QF44NNSC.js} +1 -1
  79. package/chunks/{chunk-IQPJOBPI.js → chunk-QHGCDHNW.js} +1 -1
  80. package/chunks/{chunk-EVZC4KEQ.js → chunk-QWJX7NIP.js} +1 -1
  81. package/chunks/{chunk-J2TJL2F4.js → chunk-S53G54DW.js} +2 -2
  82. package/chunks/{chunk-3A6LFJJV.js → chunk-SMNFL3AD.js} +1 -1
  83. package/chunks/{chunk-WDO3K3P2.js → chunk-TOBNWST4.js} +1 -1
  84. package/chunks/{chunk-AVGJ4HE3.js → chunk-TQSBUHAM.js} +1 -1
  85. package/chunks/{chunk-ABUS7DNN.js → chunk-TW5QEP2J.js} +1 -1
  86. package/chunks/{chunk-WYM4Z4D5.js → chunk-UEB2F43V.js} +1 -1
  87. package/chunks/{chunk-FUUPMVD2.js → chunk-UPPE4I6H.js} +1 -1
  88. package/chunks/{chunk-UHBJVFZA.js → chunk-US42COBM.js} +1 -1
  89. package/chunks/{chunk-RMQNBSMK.js → chunk-UUY6XSQI.js} +1 -1
  90. package/chunks/{chunk-UVQUQNCA.js → chunk-UZI3IA27.js} +1 -1
  91. package/chunks/{chunk-SXJ2E33J.js → chunk-V6VMUJ47.js} +1 -1
  92. package/chunks/{chunk-5UFCNJGN.js → chunk-VG2ZINTO.js} +1 -1
  93. package/chunks/{chunk-JPPPJ2GN.js → chunk-VJI6MHWX.js} +1 -1
  94. package/chunks/{chunk-AUI7WVSU.js → chunk-VOBNHBCJ.js} +1 -1
  95. package/chunks/{chunk-3BNJDZHU.js → chunk-VUEZWMI4.js} +1 -1
  96. package/chunks/{chunk-LMNKCL55.js → chunk-W7ZX6WB3.js} +2 -2
  97. package/chunks/{chunk-HVS6V2UZ.js → chunk-WA2LKUVP.js} +1 -1
  98. package/chunks/{chunk-7APLU2XE.js → chunk-WFFCJ5PF.js} +1 -1
  99. package/chunks/{chunk-3TD4WAG5.js → chunk-WQY5GE65.js} +1 -1
  100. package/chunks/{chunk-3YWRMF6C.js → chunk-WSESLSKK.js} +1 -1
  101. package/chunks/{chunk-NILCQMZ7.js → chunk-XFJV5NYT.js} +1 -1
  102. package/chunks/{chunk-LGBGUITT.js → chunk-XIYLRIW4.js} +1 -1
  103. package/chunks/{chunk-KS74L67R.js → chunk-XQ2NYKJH.js} +1 -1
  104. package/chunks/{chunk-JB2NOB6W.js → chunk-Y3VRWG52.js} +1 -1
  105. package/chunks/{chunk-GVZ6D2NL.js → chunk-YBISME5B.js} +1 -1
  106. package/chunks/{chunk-2C2253QI.js → chunk-YJNWPSB3.js} +1 -1
  107. package/chunks/{chunk-O2T3GQ6F.js → chunk-YWVV5STA.js} +1 -1
  108. package/chunks/{chunk-MAQZSOHI.js → chunk-ZH4J3FL6.js} +1 -1
  109. package/chunks/{chunk-THNEKTPK.js → chunk-ZSKCF6DI.js} +1 -1
  110. package/chunks/{chunk-Z7BAHKO5.js → chunk-ZW6456SD.js} +1 -1
  111. package/chunks/{chunk-DMSZ2TB3.js → chunk-ZWM3LLT7.js} +1 -1
  112. package/chunks/{codex-subagent-executor-DQ5LQQWO.js → codex-subagent-executor-DWWT7246.js} +1 -1
  113. package/chunks/{config-utils-CY6HLKZ5.js → config-utils-NGZB522W.js} +1 -1
  114. package/chunks/{contextCommand-SGBWI7O6.js → contextCommand-7QCW2YNX.js} +1 -1
  115. package/chunks/{core-runtime-4DP27LCC.js → core-runtime-PSVNDJPD.js} +1 -1
  116. package/chunks/{create-sub-session-ECPDZMBX.js → create-sub-session-JTSEMEJE.js} +1 -1
  117. package/chunks/{cron-create-OO4OG3EI.js → cron-create-VGIDTUMX.js} +1 -1
  118. package/chunks/{daemon-git-worktree-guard-OYDNHT7P.js → daemon-git-worktree-guard-IQRGS7IH.js} +1 -1
  119. package/chunks/{daemon-status-provider-JGDLXPC6.js → daemon-status-provider-R4MYCYPG.js} +1 -1
  120. package/chunks/{daemon-trust-policy-5HRARS54.js → daemon-trust-policy-VAUKFZ2N.js} +1 -1
  121. package/chunks/{daemon-trust-policy-monitor-RM7FVIIC.js → daemon-trust-policy-monitor-E5HIO6RP.js} +1 -1
  122. package/chunks/{deferred-core-runtime-3CXBZIOG.js → deferred-core-runtime-FLOFQJPU.js} +1 -1
  123. package/chunks/{edit-DJPESAAY.js → edit-OOVQUGKV.js} +1 -1
  124. package/chunks/{enterPlanMode-IHBLRIF3.js → enterPlanMode-AUWVTQLT.js} +1 -1
  125. package/chunks/{environment-JN5SD347.js → environment-RM5OXYP4.js} +1 -1
  126. package/chunks/{errors-NUJCME3Y.js → errors-CLDJGHVD.js} +1 -1
  127. package/chunks/{execution-tool-I3SWG6I3.js → execution-tool-JFBVOKPW.js} +1 -1
  128. package/chunks/{execution-worker-62UZMAMJ.js → execution-worker-MNJZD72W.js} +1 -1
  129. package/chunks/{exitPlanMode-JIC4V3FE.js → exitPlanMode-PC6XG4TW.js} +1 -1
  130. package/chunks/{fast-path-NIOIL5YI.js → fast-path-V4DN3CRZ.js} +1 -1
  131. package/chunks/{glob-EQ4QNAHF.js → glob-DTZROBDS.js} +1 -1
  132. package/chunks/{goal-tools-DYTTSBQG.js → goal-tools-FUVGTY33.js} +1 -1
  133. package/chunks/{handleAutoUpdate-44BTG5L5.js → handleAutoUpdate-U4LVTHGU.js} +1 -1
  134. package/chunks/{i18n-FTHZAHCT.js → i18n-XOKNDFYP.js} +1 -1
  135. package/chunks/{initializer-MSGKXC75.js → initializer-XBR5J4CY.js} +1 -1
  136. package/chunks/{installationInfo-4XJMJJYU.js → installationInfo-4AOEOUI6.js} +1 -1
  137. package/chunks/{interactive-mod-session-DFLRYO2Q.js → interactive-mod-session-YGZK2JK2.js} +1 -1
  138. package/chunks/{list-ODZ7Z6VI.js → list-TCGKVPH4.js} +1 -1
  139. package/chunks/{llm-O64DHKP7.js → llm-SKFTN5UN.js} +4 -4
  140. package/chunks/{llm-content-generator-SK24I6QS.js → llm-content-generator-GWHXT3WS.js} +1 -1
  141. package/chunks/{loadedSettingsAdapter-6PEBUZT5.js → loadedSettingsAdapter-ZALZGZE7.js} +1 -1
  142. package/chunks/{local-ED3UEKWP.js → local-RWTWYS5Z.js} +1 -1
  143. package/chunks/{local-execution-environment-PUKES5LO.js → local-execution-environment-R6JWLD65.js} +1 -1
  144. package/chunks/{loggingContentGenerator-UHOJVSRR.js → loggingContentGenerator-UJV6QFOY.js} +1 -1
  145. package/chunks/{loop-wakeup-NSJQETPZ.js → loop-wakeup-BU2RRYHA.js} +1 -1
  146. package/chunks/{manage-memory-5RRB6FLH.js → manage-memory-XI57JN4T.js} +1 -1
  147. package/chunks/{managed-execution-engine-MZAP7SK6.js → managed-execution-engine-BA5PABMP.js} +1 -1
  148. package/chunks/{managed-local-serve-XMES3HXL.js → managed-local-serve-MFKN22K6.js} +1 -1
  149. package/chunks/{managed-npm-update-R5KGY7G2.js → managed-npm-update-ZGN43NUA.js} +1 -1
  150. package/chunks/{managed-runtime-attestation-worker-O2KNHHV6.js → managed-runtime-attestation-worker-YN2VBGYN.js} +1 -1
  151. package/chunks/{managed-runtime-bootstrap-HOTLM6DE.js → managed-runtime-bootstrap-SGQVMUJE.js} +1 -1
  152. package/chunks/{managed-runtime-session-worker-QZX44ZTD.js → managed-runtime-session-worker-4UMF3VBY.js} +1 -1
  153. package/chunks/{managed-runtime-ssh-worker-U425WQ65.js → managed-runtime-ssh-worker-7XA6KRBN.js} +1 -1
  154. package/chunks/{managed-session-authority-THHDHCBP.js → managed-session-authority-IJGYAOEL.js} +1 -1
  155. package/chunks/{mcp-AR7EK4WY.js → mcp-V3L7B5YK.js} +1 -1
  156. package/chunks/{memory-C2TSF6BK.js → memory-3T6FPNAK.js} +1 -1
  157. package/chunks/{model-call-collection-25WR55OH.js → model-call-collection-WTTITWWM.js} +1 -1
  158. package/chunks/{model-configuration-KC7DQGKV.js → model-configuration-T6SSGI4J.js} +1 -1
  159. package/chunks/{modelConfigUtils-QEHMVLSQ.js → modelConfigUtils-TQA25QJC.js} +1 -1
  160. package/chunks/{monitor-PDQUZD23.js → monitor-5ZAOJSEE.js} +1 -1
  161. package/chunks/{nonInteractiveCli-WY2YFONU.js → nonInteractiveCli-YFINLVA7.js} +1 -1
  162. package/chunks/{nonInteractiveToolExecutor-7RJZYPHJ.js → nonInteractiveToolExecutor-DE3WACL5.js} +1 -1
  163. package/chunks/{notebook-edit-P4ITXF5H.js → notebook-edit-UK6HBRO3.js} +1 -1
  164. package/chunks/{omni-AYUPB2QM.js → omni-65LF5QK4.js} +1 -1
  165. package/chunks/{openaiContentGenerator-V5IK4ITO.js → openaiContentGenerator-HX7NCSV5.js} +1 -1
  166. package/chunks/{openaiResponsesContentGenerator-DYDH6KWT.js → openaiResponsesContentGenerator-CFA6U6Y5.js} +1 -1
  167. package/chunks/{pidfile-INPBL2DK.js → pidfile-ZVKJUNTZ.js} +1 -1
  168. package/chunks/{processUtils-J4UDEDS4.js → processUtils-VS6CJT7E.js} +1 -1
  169. package/chunks/{prompt-terminal-ledger-QLOQWHYE.js → prompt-terminal-ledger-UF5RDB57.js} +1 -1
  170. package/chunks/{qwenContentGenerator-RU43XKKB.js → qwenContentGenerator-GM3ZSI7E.js} +1 -1
  171. package/chunks/{reactive-degrade-2Q3Z3KAR.js → reactive-degrade-TSAQWZ5F.js} +1 -1
  172. package/chunks/{read-file-472BQ25I.js → read-file-J267NT45.js} +1 -1
  173. package/chunks/{resumeHistoryUtils-7SUFKZDC.js → resumeHistoryUtils-IM46VFDV.js} +1 -1
  174. package/chunks/{review-WX52IWJR.js → review-4B64XTCL.js} +1 -1
  175. package/chunks/{ripGrep-4GPGLKAM.js → ripGrep-YLOSXO7P.js} +1 -1
  176. package/chunks/{run-qwen-serve-MXK4RBKL.js → run-qwen-serve-SAHEC44O.js} +1 -1
  177. package/chunks/{runtime-WHU3AGFT.js → runtime-SJDZHV6J.js} +1 -1
  178. package/chunks/{sandboxConfig-7DBXEQJH.js → sandboxConfig-47EXXMUA.js} +1 -1
  179. package/chunks/{scheduled-tasks-O5RV6G6U.js → scheduled-tasks-E6RCTUUS.js} +1 -1
  180. package/chunks/{scheduler-HLMS5LR5.js → scheduler-SE3IWIWA.js} +1 -1
  181. package/chunks/{search-memory-PYND7ZX3.js → search-memory-2W7VJC4Q.js} +1 -1
  182. package/chunks/{send-message-TMLYTQOI.js → send-message-63YGQP6G.js} +1 -1
  183. package/chunks/{serve-EBNBRAME.js → serve-F4ML2WNL.js} +1 -1
  184. package/chunks/{server-63BRDBL5.js → server-S56IB4TT.js} +3 -3
  185. package/chunks/{session-XB6J4CZD.js → session-2CUVLZ4H.js} +1 -1
  186. package/chunks/{session-attachments-root-PFK475N2.js → session-attachments-root-FINBX7K5.js} +1 -1
  187. package/chunks/{session-execution-engine-selector-P6TJTCKR.js → session-execution-engine-selector-UGC7DGUN.js} +1 -1
  188. package/chunks/{session-pr-refresh-PM7VAQTV.js → session-pr-refresh-KQLQ4MZY.js} +1 -1
  189. package/chunks/{sessionService-PO3LLZIZ.js → sessionService-Q6N7LF7Z.js} +1 -1
  190. package/chunks/{settings-JDQSRXP3.js → settings-23I6H76E.js} +1 -1
  191. package/chunks/{shell-JCEX3HKM.js → shell-IUECEVVY.js} +1 -1
  192. package/chunks/{skill-JSZBONIZ.js → skill-YKUETMPC.js} +1 -1
  193. package/chunks/{skill-settings-YGFG6GPN.js → skill-settings-ODYXOPCA.js} +1 -1
  194. package/chunks/{spawnChannel-VIIWSWTL.js → spawnChannel-7XU2SRWZ.js} +1 -1
  195. package/chunks/{standalone-update-2UU6FQZL.js → standalone-update-SWI2RL3L.js} +1 -1
  196. package/chunks/{start-opentui-ui-OSZZNSLY.js → start-opentui-ui-T53QJGCH.js} +1 -1
  197. package/chunks/{startInteractiveUI-FFH66MYH.js → startInteractiveUI-USTZGQOE.js} +1 -1
  198. package/chunks/{team-create-TKGDJ3NU.js → team-create-4A2XUE3D.js} +1 -1
  199. package/chunks/{team-plan-approval-3VJF4G6Z.js → team-plan-approval-4TS5CYN6.js} +1 -1
  200. package/chunks/{terminal-image-renderer-T3VJRZGP.js → terminal-image-renderer-C7553YV6.js} +1 -1
  201. package/chunks/{theme-manager-ZGUFLFUI.js → theme-manager-GTW75GOO.js} +1 -1
  202. package/chunks/{tool-call-3EQS5KSE.js → tool-call-YTUMWL3A.js} +1 -1
  203. package/chunks/{tool-result-media-7LFNVQ6E.js → tool-result-media-JYOYBX4J.js} +1 -1
  204. package/chunks/{tool-search-UDZ4S7T5.js → tool-search-Y4XTT2WF.js} +1 -1
  205. package/chunks/{total-session-admission-U4MII4RA.js → total-session-admission-EMJ5NRGL.js} +1 -1
  206. package/chunks/{trustedFolders-2NQJCIN3.js → trustedFolders-YG6WAVRE.js} +1 -1
  207. package/chunks/{update-relaunch-YKLWSCLC.js → update-relaunch-4QYQRCP4.js} +1 -1
  208. package/chunks/{updateCheck-YDLTQQRU.js → updateCheck-VRFPSX4G.js} +1 -1
  209. package/chunks/{upload-config-5QQKWF4O.js → upload-config-UCKGUYYQ.js} +1 -1
  210. package/chunks/{useAutoAcceptIndicator-AJS4WTU2.js → useAutoAcceptIndicator-2VGLKD7B.js} +1 -1
  211. package/chunks/{validateNonInterActiveAuth-AETOT7ZW.js → validateNonInterActiveAuth-GGMQXKKU.js} +1 -1
  212. package/chunks/{version-IB6DLRAG.js → version-Y46PG7II.js} +1 -1
  213. package/chunks/{web-fetch-LS3QARNR.js → web-fetch-7MPU555L.js} +1 -1
  214. package/chunks/{web-search-FGHRIVEB.js → web-search-HU2CL2X2.js} +1 -1
  215. package/chunks/{workflow-FX6XNETQ.js → workflow-U3D34QQX.js} +1 -1
  216. package/chunks/{workflow-ancestor-trust-5XXBGN6F.js → workflow-ancestor-trust-OWC4YTMR.js} +1 -1
  217. package/chunks/{workspace-agents-UJKLYPUK.js → workspace-agents-KHLAWSAR.js} +1 -1
  218. package/chunks/{workspace-providers-status-4JOHMTAW.js → workspace-providers-status-T57SE3YX.js} +1 -1
  219. package/chunks/{workspace-recovery-worker-XFEYQ4TP.js → workspace-recovery-worker-VYQ723ZE.js} +1 -1
  220. package/chunks/{workspace-registration-store-LWAPVNYC.js → workspace-registration-store-I7PR3A2Y.js} +1 -1
  221. package/chunks/{workspace-registry-M7OC376O.js → workspace-registry-YYUBXCLH.js} +1 -1
  222. package/chunks/{workspace-runtime-coordinator-CYHIL47L.js → workspace-runtime-coordinator-5ICAQO7W.js} +1 -1
  223. package/chunks/{workspace-service-43VZZ56B.js → workspace-service-YROWXOLQ.js} +1 -1
  224. package/chunks/{workspace-skills-status-V2TT6UJQ.js → workspace-skills-status-DKKQDTZJ.js} +1 -1
  225. package/chunks/{workspace-trust-reconciler-YZ4AG5ZW.js → workspace-trust-reconciler-3FPMUZDO.js} +1 -1
  226. package/chunks/{write-file-TGEH5MEZ.js → write-file-7QQVYFDT.js} +1 -1
  227. package/chunks/{zoom-image-TT6R7H2H.js → zoom-image-WL5EB6Q7.js} +1 -1
  228. package/cli.js +2 -2
  229. package/execution-worker.js +1 -1
  230. package/export-transcript-document.js +1 -1
  231. package/package.json +3 -3
  232. package/web-shell/assets/{PierreFilePreview-OsApm5-S.js → PierreFilePreview-BZ17f56_.js} +1 -1
  233. package/web-shell/assets/{SpreadsheetPreview-I1v1EzV7.js → SpreadsheetPreview-Bvkvr_5u.js} +1 -1
  234. package/web-shell/assets/{WorkspaceFileBrowser-BO6aug7i.js → WorkspaceFileBrowser-BJ_I4Uoz.js} +1 -1
  235. package/web-shell/assets/{abnfDiagram-VCTEODGH-DxuLMyN0.js → abnfDiagram-VCTEODGH-iuaBM15V.js} +1 -1
  236. package/web-shell/assets/{agents-route-CSJf6QPO.js → agents-route-CycwfNSC.js} +1 -1
  237. package/web-shell/assets/{arc-3--LekYQ.js → arc-C0lt8n55.js} +1 -1
  238. package/web-shell/assets/{architectureDiagram-5GKGNRK7-Dihq4uto.js → architectureDiagram-5GKGNRK7-Bw326d-A.js} +1 -1
  239. package/web-shell/assets/{blockDiagram-NRAW4CY4-BnaRPM2o.js → blockDiagram-NRAW4CY4-CHtFgBjV.js} +1 -1
  240. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BtC94eMa.js → c4Diagram-UCG6FXSJ-Bx66oJT9.js} +1 -1
  241. package/web-shell/assets/channel-CRJuO00u.js +1 -0
  242. package/web-shell/assets/{chunk-2Q5K7J3B-2ZTXWP6M.js → chunk-2Q5K7J3B-BIshvfa_.js} +1 -1
  243. package/web-shell/assets/{chunk-5VM5RSS4-DBh7DP1F.js → chunk-5VM5RSS4-BZeRS6uD.js} +1 -1
  244. package/web-shell/assets/{chunk-F27PBJKO-xzqbWXBw.js → chunk-F27PBJKO-El-CGY2R.js} +1 -1
  245. package/web-shell/assets/{chunk-G27WJ6UU-DxnCrpxK.js → chunk-G27WJ6UU-DO8ZfQL_.js} +1 -1
  246. package/web-shell/assets/{chunk-JWPE2WC7-BPjRsozm.js → chunk-JWPE2WC7-yYFrrKAj.js} +1 -1
  247. package/web-shell/assets/{chunk-LCL6LL3I-Q2HgB3lf.js → chunk-LCL6LL3I-BFGuOKN0.js} +1 -1
  248. package/web-shell/assets/{chunk-POPQ4Y6H-9tlPaKu-.js → chunk-POPQ4Y6H-GRHK6sdV.js} +1 -1
  249. package/web-shell/assets/{chunk-SVP7TREG-DkNdOHCU.js → chunk-SVP7TREG-DwDu6GqZ.js} +1 -1
  250. package/web-shell/assets/{chunk-XXDRQBXY-D0G-Dhfi.js → chunk-XXDRQBXY-RoNDjkIy.js} +1 -1
  251. package/web-shell/assets/classDiagram-DTDB5LWJ-pPPByLA7.js +1 -0
  252. package/web-shell/assets/classDiagram-v2-JRS7N3AN-pPPByLA7.js +1 -0
  253. package/web-shell/assets/{cose-bilkent-JH36ORCC-Ck0tHxul.js → cose-bilkent-JH36ORCC-CYNiiONE.js} +1 -1
  254. package/web-shell/assets/{cynefin-OW5HDTMX-a4-NTMHi.js → cynefin-OW5HDTMX-DC1_lDIG.js} +1 -1
  255. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-Pg41Zbf2.js → cynefinDiagram-5FMLGOSQ-D2VxKm2n.js} +1 -1
  256. package/web-shell/assets/{dagre-3AP2YEHR-DT_ZmqkF.js → dagre-3AP2YEHR-C4_BHzpM.js} +1 -1
  257. package/web-shell/assets/{diagram-S7CK7UJ4-hapdMOl1.js → diagram-S7CK7UJ4-BpAO4-Gv.js} +1 -1
  258. package/web-shell/assets/{diagram-UQ7AKVKN-YZ0nbk56.js → diagram-UQ7AKVKN-DqUsFdsX.js} +1 -1
  259. package/web-shell/assets/{diagram-VSXAHHWV-DA_yNbWy.js → diagram-VSXAHHWV-DcMXIYMy.js} +1 -1
  260. package/web-shell/assets/{diagram-VX7I27RA-DoULuCLT.js → diagram-VX7I27RA-I3nr09ex.js} +1 -1
  261. package/web-shell/assets/{diagram-Z3DM3KII-B5c9o9zL.js → diagram-Z3DM3KII-CN-gvsTo.js} +1 -1
  262. package/web-shell/assets/{docx-preview-BulxdBjs.js → docx-preview-31J6RsS0.js} +1 -1
  263. package/web-shell/assets/{ebnfDiagram-PWID7BFC-B5hgIg3m.js → ebnfDiagram-PWID7BFC-DOQvLWlM.js} +1 -1
  264. package/web-shell/assets/{erDiagram-SSCWMZ5O-BEfEPozi.js → erDiagram-SSCWMZ5O-Cb5ijFZh.js} +1 -1
  265. package/web-shell/assets/{flowDiagram-A5DVABFB-CQHNk92v.js → flowDiagram-A5DVABFB-BecqqjnZ.js} +1 -1
  266. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BabdVgIM.js → ganttDiagram-EL5Y4UJY-DWY5vzQl.js} +1 -1
  267. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-ujRZBFUo.js → gitGraphDiagram-WWUBYQGX-DqBnsZmZ.js} +1 -1
  268. package/web-shell/assets/{index-B9uXebIR.js → index-DDmiUW3b.js} +6 -6
  269. package/web-shell/assets/{index-DSZXdZnu.js → index-DabH7kHA.js} +1 -1
  270. package/web-shell/assets/{infoDiagram-RXCK75RN-CUHj9jJC.js → infoDiagram-RXCK75RN-MlotyOdT.js} +1 -1
  271. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-CulW_q81.js → ishikawaDiagram-5VMMS53U-Daq_85C7.js} +1 -1
  272. package/web-shell/assets/{journeyDiagram-EYS64GPL-BR46CvRQ.js → journeyDiagram-EYS64GPL-OipivCxL.js} +1 -1
  273. package/web-shell/assets/{kanban-definition-3QL26DDD-HAoUqzFy.js → kanban-definition-3QL26DDD-zqaz7dLu.js} +1 -1
  274. package/web-shell/assets/{layout-DYLl7fyA.js → layout-Bi3msQMQ.js} +1 -1
  275. package/web-shell/assets/{linear-DPXABjDZ.js → linear-D4gPORvD.js} +1 -1
  276. package/web-shell/assets/{mermaid.core-Bi30Gi0n.js → mermaid.core-BUnytF7a.js} +6 -6
  277. package/web-shell/assets/{mindmap-definition-FBJOCRG2-B1_lUq4o.js → mindmap-definition-FBJOCRG2-B_X4iChu.js} +1 -1
  278. package/web-shell/assets/{pegDiagram-XKGWAZYB-Cy8tjJJC.js → pegDiagram-XKGWAZYB-z4wYBoBW.js} +1 -1
  279. package/web-shell/assets/{pieDiagram-E7YTZNPT-D6waLVVi.js → pieDiagram-E7YTZNPT-Dvyg6FYo.js} +1 -1
  280. package/web-shell/assets/{quadrantDiagram-AXDQQJYC--6ehi_FI.js → quadrantDiagram-AXDQQJYC-CJBWU2Dk.js} +1 -1
  281. package/web-shell/assets/{railroadDiagram-O6MQD6OU-BhLy40X4.js → railroadDiagram-O6MQD6OU-Dl_An1O0.js} +1 -1
  282. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BVNXTgNP.js → requirementDiagram-EFPCY7ZU-Tw8FwaYU.js} +1 -1
  283. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-BHgTytxV.js → sankeyDiagram-P5KCCOFB-BCPCkbR0.js} +1 -1
  284. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-CgOsTvhu.js → sequenceDiagram-WJ2MYXX4-DDj7uFTG.js} +1 -1
  285. package/web-shell/assets/{sizeCapture-X5ZJPWSS-vCQBQ5FI.js → sizeCapture-X5ZJPWSS-B9eVSpKb.js} +1 -1
  286. package/web-shell/assets/{stateDiagram-HBIQ2CUA-DytMYRWJ.js → stateDiagram-HBIQ2CUA-Bf4BZP_V.js} +1 -1
  287. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BPJi6Gre.js +1 -0
  288. package/web-shell/assets/{swimlanes-XN3QIQJK-CTGnifOP.js → swimlanes-XN3QIQJK-dyTWsZFj.js} +1 -1
  289. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Bw4NRtJQ.js +8 -0
  290. package/web-shell/assets/{timeline-definition-24CTP7MA-DEJ1cbn2.js → timeline-definition-24CTP7MA-DVl1A4uL.js} +1 -1
  291. package/web-shell/assets/{vennDiagram-4TSXK5OY-K1e4SjS0.js → vennDiagram-4TSXK5OY-Boosxy9D.js} +1 -1
  292. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-DEX-GkRp.js → wardleyDiagram-VM6X3IG4-C6wlY8jy.js} +1 -1
  293. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-B6wYXreH.js → xychartDiagram-S5SC5T6Z-CkzZe3ro.js} +1 -1
  294. package/web-shell/index.html +1 -1
  295. package/web-shell/sw.js +1 -1
  296. package/web-shell/assets/channel-CLVrtVFX.js +0 -1
  297. package/web-shell/assets/classDiagram-DTDB5LWJ-Df2T70oB.js +0 -1
  298. package/web-shell/assets/classDiagram-v2-JRS7N3AN-Df2T70oB.js +0 -1
  299. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-CcjUJGng.js +0 -1
  300. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Dt8NvQfX.js +0 -8
@@ -1,7 +1,7 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{formatHistoryGapNotice}from"./chunk-LWJBPGIT.js";import{sanitizeTerminalText}from"./chunk-64CA3W6G.js";import{loadUndici}from"./chunk-XKSB7VTV.js";import{DAEMON_ERROR_KINDS,QWEN_AGENT_MESSAGE_META_KEY,createDaemonTranscriptState,finalizeOfflineDaemonTranscriptState,normalizeDaemonEvent,parseQwenAgentMessageMeta,reduceDaemonTranscriptEvents}from"./chunk-CCTQPUAG.js";import{DAEMON_INPUT_ANNOTATIONS_META_KEY,LOAD_REPLAY_META_KEY,parseBackgroundNotificationTurn}from"./chunk-WBDNGVHU.js";import{longestStreak,remarkGfm}from"./chunk-3SWMGBN3.js";import{factorySpace,markdownLineEnding,remarkParse,unified}from"./chunk-AZ3CKMCT.js";import{ok}from"./chunk-TDDRZUJO.js";import{isGoalCheckpointBookkeepingRecord,projectGoalCard}from"./chunk-6JFC5M6B.js";import{createToolLifecycle,observeToolResultBoundary,toolResultBoundaryArtifact}from"./chunk-LIIMQ4DI.js";import{isShellResultDisplay}from"./chunk-T7CHK6C2.js";import{TranscriptRecordPreparationError,isInternalCodeModeToolResult,prepareTranscriptRecords,projectUserTranscriptForDisplay,stripGeneratedAttachmentTokens}from"./chunk-DBA3F3D7.js";import{GOAL_PAUSE_REASON_COMMAND,parseGoalSnapshotV2,parseGoalStateCause,parseGoalStateRecordPayloadV2}from"./chunk-CMLAE3UB.js";import{formatVisionBridgeNoticeDisplay,isVisionBridgeNoticeDisplay}from"./chunk-TNCN2JX2.js";import{EVENT_API_ERROR,EVENT_API_RESPONSE,EVENT_TOOL_CALL}from"./chunk-XHV5HLJS.js";import{writeStderrLine,writeStderrLineSafe}from"./chunk-SLPJ4OII.js";import{SchemaValidator}from"./chunk-SVAPAMMG.js";import{ToolNames}from"./chunk-SBZFGYYS.js";import{createDebugLogger}from"./chunk-JAUJI56S.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name}from"./chunk-KBWJGX7I.js";init_esbuild_shims();var acpUpdateArtifacts=new WeakMap;var projectedAcpUpdates=new WeakMap;var projectedHeadlessMessages=new WeakMap;function associateAcpToolResultArtifact(update,artifact){if(isObject(update))acpUpdateArtifacts.set(update,artifact)}__name(associateAcpToolResultArtifact,"associateAcpToolResultArtifact");function observeAcpToolResultProjection(input,output,sessionId,wireUpdate=output){try{if(isObject(wireUpdate)&&projectedAcpUpdates.has(wireUpdate))return;const mutated=input!==output;const artifact=acpUpdateArtifacts.get(input)??{state:"undecided",kinds:[]};const common={sessionId,toolCallId:toolCallId(input)};const inputEligible=observeToolResultBoundary({stage:"acp_projection_input",...common,mutated,artifacts:[artifact],values:__name(()=>acpToolResultValues(input),"values")});const outputEligible=observeToolResultBoundary({stage:"acp_projection_output",...common,mutated,artifacts:[artifact],values:__name(()=>acpToolResultValues(output),"values")});if((inputEligible||outputEligible)&&isObject(wireUpdate)){projectedAcpUpdates.set(wireUpdate,{mutated,artifact,sessionId})}}catch{}}__name(observeAcpToolResultProjection,"observeAcpToolResultProjection");function observeAcpToolResultWire(message,payloadUtf8Bytes){try{const record=asRecord(message);if(!record)return;const updates=acpWireUpdates(record).flatMap(update=>{const projection=projectedAcpUpdates.get(update);return projection?[{update,projection}]:[]});if(updates.length===0)return;const params=asRecord(record["params"]);const projectionSessionIds=new Set(updates.map(({projection})=>projection.sessionId));const toolCallIds=updates.flatMap(({update})=>{const id=toolCallId(update);return id===void 0?[]:[id]});observeToolResultBoundary({stage:"acp_wire",sessionId:typeof params?.["sessionId"]==="string"?params["sessionId"]:projectionSessionIds.size===1?projectionSessionIds.values().next().value:void 0,toolCallId:updates.length===1?toolCallId(updates[0].update):void 0,...updates.length>1?{toolCallIds}:{},wireUtf8Bytes:payloadUtf8Bytes+1,mutated:updates.some(({projection})=>projection.mutated),artifacts:updates.map(({projection})=>projection.artifact),values:__name(()=>updates.flatMap(({update})=>acpToolResultValues(update)),"values")});for(const{update}of updates)projectedAcpUpdates.delete(update)}catch{}}__name(observeAcpToolResultWire,"observeAcpToolResultWire");function observeHeadlessToolResultProjection(message,inputContent,outputContent,toolCallId2,artifact){try{const mutated=inputContent!==outputContent;const inputEligible=observeToolResultBoundary({stage:"headless_projection_input",sessionId:message.session_id,toolCallId:toolCallId2,mutated,artifacts:[artifact],values:[{representation:"headless_content",value:inputContent}]});const outputEligible=observeToolResultBoundary({stage:"headless_projection_output",sessionId:message.session_id,toolCallId:toolCallId2,mutated,artifacts:[artifact],values:[{representation:"headless_content",value:outputContent}]});if(inputEligible||outputEligible){projectedHeadlessMessages.set(message,{mutated,artifact,sessionId:message.session_id})}}catch{}}__name(observeHeadlessToolResultProjection,"observeHeadlessToolResultProjection");function observeHeadlessToolResultWire(message,frame){try{if(!projectedHeadlessMessages.has(message))return;const projection=projectedHeadlessMessages.get(message);const toolResults=headlessToolResults(message);const values=toolResults.flatMap(toolResultValues);observeToolResultBoundary({stage:"headless_wire",sessionId:message.session_id,toolCallId:toolResults.length===1&&typeof toolResults[0].tool_use_id==="string"?toolResults[0].tool_use_id:void 0,...toolResults.length>1?{toolCallIds:toolResults.map(toolResult=>toolResult.tool_use_id)}:{},wireUtf8Bytes:Buffer.byteLength(frame,"utf8"),mutated:projection.mutated,artifacts:[projection.artifact],values});projectedHeadlessMessages.delete(message)}catch{}}__name(observeHeadlessToolResultWire,"observeHeadlessToolResultWire");function observeHeadlessJsonToolResultWire(messages,frame){try{const observedMessages=messages.filter(message=>projectedHeadlessMessages.has(message));if(observedMessages.length===0)return;const toolResults=observedMessages.flatMap(headlessToolResults);const values=toolResults.flatMap(toolResultValues);observeToolResultBoundary({stage:"headless_wire",sessionId:new Set(observedMessages.map(message=>message.session_id)).size===1?observedMessages[0].session_id:void 0,toolCallId:toolResults.length===1?toolResults[0].tool_use_id:void 0,...toolResults.length>1?{toolCallIds:toolResults.map(toolResult=>toolResult.tool_use_id)}:{},wireUtf8Bytes:Buffer.byteLength(frame,"utf8"),mutated:observedMessages.some(message=>projectedHeadlessMessages.get(message)?.mutated===true),artifacts:observedMessages.map(message=>projectedHeadlessMessages.get(message).artifact),values});for(const message of observedMessages){projectedHeadlessMessages.delete(message)}}catch{}}__name(observeHeadlessJsonToolResultWire,"observeHeadlessJsonToolResultWire");function acpToolResultValues(update){const record=update;if(record["sessionUpdate"]!=="tool_call_update")return[];const values=[];const content=record["content"];if(Array.isArray(content)){for(const block of content){const text=asRecord(asRecord(block)?.["content"])?.["text"];if(typeof text==="string"){values.push({representation:"acp_content",value:text})}}}if(typeof record["rawOutput"]==="string"){values.push({representation:"acp_raw_output",value:record["rawOutput"]})}return values}__name(acpToolResultValues,"acpToolResultValues");function toolCallId(value){const id=asRecord(value)?.["toolCallId"];return typeof id==="string"?id:void 0}__name(toolCallId,"toolCallId");function acpWireUpdates(message){if(message["method"]==="session/update"){const update=asRecord(asRecord(message["params"])?.["update"]);return update?[update]:[]}const result=asRecord(message["result"]);const replay=asRecord(asRecord(result?.["_meta"])?.[LOAD_REPLAY_META_KEY]);const candidates=replay?.["updates"]??result?.["updates"];if(Array.isArray(candidates))return candidates.filter(isObject);const events=result?.["events"];return Array.isArray(events)?events.flatMap(event=>{const update=asRecord(event)?.["data"];return isObject(update)?[update]:[]}):[]}__name(acpWireUpdates,"acpWireUpdates");function headlessToolResults(message){if(message.type!=="user"||!Array.isArray(message.message.content)){return[]}return message.message.content.flatMap(block=>block.type==="tool_result"?[block]:[])}__name(headlessToolResults,"headlessToolResults");function toolResultValues(toolResult){return typeof toolResult.content==="string"?[{representation:"headless_content",value:toolResult.content}]:[]}__name(toolResultValues,"toolResultValues");function asRecord(value){return isObject(value)?value:void 0}__name(asRecord,"asRecord");function isObject(value){return typeof value==="object"&&value!==null}__name(isObject,"isObject");init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();var MISSING_TRANSCRIPT_TOOL_RESULT_MESSAGE="Tool result missing from saved history; the previous run likely ended before this tool completed.";var MAX_RESULT_PREVIEW_TEXT_LENGTH=1e5;var TRANSCRIPT_GOAL_STATUS_KINDS=new Set(["set","achieved","cleared","failed","aborted","paused","checking"]);function isObjectRecord(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}__name(isObjectRecord,"isObjectRecord");function replaceTextPartsForDisplay(parts,displayText){const projected=[];let replacedText=false;for(const part of parts??[]){if(isObjectRecord(part)&&typeof part["text"]==="string"){if(!replacedText&&displayText.length>0){projected.push({text:displayText})}replacedText=true}else{projected.push(part)}}if(!replacedText&&displayText.length>0){projected.push({text:displayText})}return projected}__name(replaceTextPartsForDisplay,"replaceTextPartsForDisplay");function toTranscriptEpochMs(timestamp){if(typeof timestamp==="number"){return Number.isFinite(timestamp)?timestamp:void 0}if(typeof timestamp!=="string")return void 0;const epochMs=new Date(timestamp).getTime();return Number.isFinite(epochMs)?epochMs:void 0}__name(toTranscriptEpochMs,"toTranscriptEpochMs");function buildUpdateMeta(options){const timestamp=toTranscriptEpochMs(options.timestamp);const sourceRecordIds=dedupeStrings(options.sourceRecordIds??[]);const qwenTranscript={...sourceRecordIds.length>0?{sourceRecordIds}:{},...options.planToolCallId?{planToolCallId:options.planToolCallId}:{},...options.resultPreviewText?{resultPreviewText:options.resultPreviewText}:{},...options.segmentId?{segmentId:options.segmentId}:{}};const meta={...options.extra??{},...timestamp!==void 0?{timestamp}:{},...Object.keys(qwenTranscript).length>0?{qwenTranscript}:{}};return Object.keys(meta).length>0?meta:void 0}__name(buildUpdateMeta,"buildUpdateMeta");function createTranscriptMessageUpdate(options){const meta=buildUpdateMeta(options);return{sessionUpdate:options.role==="user"?"user_message_chunk":options.thought?"agent_thought_chunk":"agent_message_chunk",content:{type:"text",text:options.text},...meta?{_meta:meta}:{}}}__name(createTranscriptMessageUpdate,"createTranscriptMessageUpdate");var AGENT_TERMINAL_STATUSES=new Set(["completed","failed","cancelled","offline"]);function parseAgentAuthor(value){if(!isObjectRecord(value)||typeof value["agentId"]!=="string"||typeof value["name"]!=="string"){return void 0}const program=value["program"];return{agentId:value["agentId"],name:value["name"],...typeof value["color"]==="string"?{color:value["color"]}:{},...program==="qwen"||program==="claude"||program==="codex"?{program}:{},...typeof value["runtimeId"]==="string"?{runtimeId:value["runtimeId"]}:{},...typeof value["squadName"]==="string"&&value["squadName"]?{squadName:value["squadName"]}:{},...typeof value["memberSquadName"]==="string"&&value["memberSquadName"]?{memberSquadName:value["memberSquadName"]}:{}}}__name(parseAgentAuthor,"parseAgentAuthor");function parseAgentSteps(value){if(!Array.isArray(value))return void 0;const steps=value.flatMap(step=>isObjectRecord(step)&&typeof step["id"]==="string"&&typeof step["title"]==="string"&&(step["status"]==="running"||step["status"]==="completed"||step["status"]==="failed")?[{id:step["id"],title:step["title"],status:step["status"]}]:[]);return steps.length>0?steps:void 0}__name(parseAgentSteps,"parseAgentSteps");function createAgentRecordTranscriptUpdate(input){const payload=isObjectRecord(input.payload)?input.payload:void 0;if(!payload||typeof payload["displayText"]!=="string")return void 0;const displayText=payload["displayText"];const author=parseAgentAuthor(payload["author"]);if(input.subtype==="agent_message"){const runId=typeof payload["runId"]==="string"&&payload["runId"].length>0?payload["runId"]:void 0;const status=typeof payload["status"]==="string"&&AGENT_TERMINAL_STATUSES.has(payload["status"])?payload["status"]:void 0;const error=typeof payload["error"]==="string"&&payload["error"].length>0?payload["error"]:void 0;const steps=parseAgentSteps(payload["steps"]);const totalTokens=typeof payload["totalTokens"]==="number"&&Number.isFinite(payload["totalTokens"])?payload["totalTokens"]:void 0;const squadOutcome=payload["squadOutcome"]==="no_action"?"no_action":void 0;const text=displayText.length>0?displayText:status&&status!=="completed"?error??`Agent run ${status}.`:squadOutcome?"No action needed.":"";if(text.length===0)return void 0;const agentMeta={kind:"agent_message",...author?{author}:{},...runId?{runId}:{},...status?{status}:{},...error?{error}:{},...steps?{steps}:{},...totalTokens!==void 0?{totalTokens}:{},...squadOutcome?{squadOutcome}:{}};return createTranscriptMessageUpdate({role:"assistant",text,timestamp:input.timestamp,sourceRecordIds:[input.recordId],segmentId:runId?`agent:${runId}`:`agent-record:${input.recordId}`,extra:{source:"agent_message",qwenAgentMessage:agentMeta,qwenDiscreteMessage:true}})}if(displayText.length===0)return void 0;const mentionedAgentIds=Array.isArray(payload["mentionedAgentIds"])?payload["mentionedAgentIds"].filter(id=>typeof id==="string"):[];const mentionedSquadIds=Array.isArray(payload["mentionedSquadIds"])?payload["mentionedSquadIds"].filter(id=>typeof id==="string"):[];const mentionError=typeof payload["error"]==="string"&&payload["error"].length>0?payload["error"]:void 0;const mentionMeta={kind:"agent_mention",mentionedAgentIds,...mentionedSquadIds.length>0?{mentionedSquadIds}:{},...mentionError?{error:mentionError}:{},...author?{author}:{}};return createTranscriptMessageUpdate({role:"user",text:displayText,timestamp:input.timestamp,sourceRecordIds:[input.recordId],segmentId:`mention:${input.recordId}`,extra:{source:"agent_mention",qwenAgentMessage:mentionMeta,qwenDiscreteMessage:true}})}__name(createAgentRecordTranscriptUpdate,"createAgentRecordTranscriptUpdate");function createTranscriptImageUpdate(options){const meta=buildUpdateMeta(options);return{sessionUpdate:"user_message_chunk",content:{type:"image",data:options.data,mimeType:options.mimeType},...meta?{_meta:meta}:{}}}__name(createTranscriptImageUpdate,"createTranscriptImageUpdate");function createTranscriptAttachmentReferenceUpdate(reference,options){if(reference["type"]!=="image"&&reference["type"]!=="resource"||typeof reference["attachmentId"]!=="string"||typeof reference["mimeType"]!=="string"||typeof reference["size"]!=="number"){return void 0}const meta=buildUpdateMeta(options);return{sessionUpdate:"user_message_chunk",content:{type:reference["type"],attachmentId:reference["attachmentId"],mimeType:reference["mimeType"],size:reference["size"]},...meta?{_meta:meta}:{}}}__name(createTranscriptAttachmentReferenceUpdate,"createTranscriptAttachmentReferenceUpdate");function createTranscriptUsageUpdate(usageMetadata,options={}){const usage={inputTokens:finiteNumber(usageMetadata.promptTokenCount)??0,outputTokens:finiteNumber(usageMetadata.candidatesTokenCount)??0,totalTokens:finiteNumber(usageMetadata.totalTokenCount)??0,...finiteNumber(usageMetadata.thoughtsTokenCount)!==void 0?{thoughtTokens:finiteNumber(usageMetadata.thoughtsTokenCount)}:{},...finiteNumber(usageMetadata.cachedContentTokenCount)!==void 0?{cachedReadTokens:finiteNumber(usageMetadata.cachedContentTokenCount)}:{}};const meta=buildUpdateMeta({...options,extra:{usage,...options.extra??{}}});return{sessionUpdate:"agent_message_chunk",content:{type:"text",text:options.text??""},_meta:meta}}__name(createTranscriptUsageUpdate,"createTranscriptUsageUpdate");function createTranscriptTimingUpdate(timing,options={}){const meta=buildUpdateMeta({...options,extra:{timing,...options.extra??{}}});return{sessionUpdate:"agent_message_chunk",content:{type:"text",text:""},_meta:meta}}__name(createTranscriptTimingUpdate,"createTranscriptTimingUpdate");function parseToolLifecycle(value){if(!isObjectRecord(value)||value["v"]!==1||value["kind"]!=="tool")return void 0;const strings={};for(const key of["executionId","sessionId","callId","toolName"]){const entry=value[key];if(typeof entry!=="string"||!entry.trim())return void 0;strings[key]=entry}const subagentId=value["subagentId"];if(subagentId!==void 0&&(typeof subagentId!=="string"||!subagentId.trim()))return void 0;const shared={v:1,kind:"tool",executionId:strings["executionId"],sessionId:strings["sessionId"],callId:strings["callId"],toolName:strings["toolName"],...typeof subagentId==="string"?{subagentId}:{}};const startedAt=finiteNumber(value["startedAt"]);if(value["phase"]==="started"){if(value["executionStatus"]!=="running"||startedAt===void 0||startedAt<0||value["endedAt"]!==void 0||value["outcome"]!==void 0||value["executionDurationMs"]!==void 0)return void 0;return{...shared,phase:"started",executionStatus:"running",startedAt}}if(value["phase"]!=="ended")return void 0;const endedAt=finiteNumber(value["endedAt"]);const outcome=value["outcome"];if(endedAt===void 0||endedAt<0||outcome!=="success"&&outcome!=="error"&&outcome!=="cancelled")return void 0;const executionStatus=value["executionStatus"];if(executionStatus==="not_started"){if(value["startedAt"]!==void 0||value["executionDurationMs"]!==void 0)return void 0;return{...shared,phase:"ended",executionStatus,endedAt,outcome}}const executionDurationMs=finiteNumber(value["executionDurationMs"]);if(executionStatus!=="success"&&executionStatus!=="error"&&executionStatus!=="cancelled"||startedAt===void 0||startedAt<0||endedAt<startedAt||executionDurationMs===void 0||executionDurationMs<0)return void 0;return{...shared,phase:"ended",executionStatus,startedAt,endedAt,executionDurationMs,outcome}}__name(parseToolLifecycle,"parseToolLifecycle");function createTranscriptToolLifecycleUpdate(toolLifecycle,options={}){return{sessionUpdate:"tool_call_update",toolCallId:toolLifecycle.callId,_meta:buildUpdateMeta({...options,extra:{...options.extra??{},toolLifecycle}})}}__name(createTranscriptToolLifecycleUpdate,"createTranscriptToolLifecycleUpdate");function parseExecutionLifecycle(value){if(!isObjectRecord(value)||value["v"]!==1||value["kind"]!=="request"){return void 0}const strings={};for(const key of["executionId","sessionId","promptId","model"]){const entry=value[key];if(typeof entry!=="string"||!entry.trim())return void 0;strings[key]=entry}const startedAt=finiteNumber(value["startedAt"]);if(startedAt===void 0||startedAt<0)return void 0;const subagentId=value["subagentId"];if(subagentId!==void 0&&(typeof subagentId!=="string"||!subagentId.trim())){return void 0}const shared={v:1,kind:"request",executionId:strings["executionId"],sessionId:strings["sessionId"],promptId:strings["promptId"],model:strings["model"],startedAt,...typeof subagentId==="string"?{subagentId}:{}};if(value["phase"]==="started")return{...shared,phase:"started"};if(value["phase"]!=="ended")return void 0;const endedAt=finiteNumber(value["endedAt"]);const durationMs=finiteNumber(value["durationMs"]);const outcome=value["outcome"];if(endedAt===void 0||endedAt<startedAt||durationMs===void 0||durationMs<0||outcome!=="success"&&outcome!=="error"&&outcome!=="cancelled"&&outcome!=="interrupted"){return void 0}if(value["reason"]!==void 0&&(value["reason"]!=="consumer_closed"||outcome!=="interrupted"))return void 0;return{...shared,phase:"ended",endedAt,durationMs,outcome,...value["reason"]==="consumer_closed"?{reason:"consumer_closed"}:{}}}__name(parseExecutionLifecycle,"parseExecutionLifecycle");function createTranscriptExecutionLifecycleUpdate(executionLifecycle,options={}){return{sessionUpdate:"agent_message_chunk",content:{type:"text",text:""},_meta:buildUpdateMeta({...options,extra:{...options.extra??{},executionLifecycle}})}}__name(createTranscriptExecutionLifecycleUpdate,"createTranscriptExecutionLifecycleUpdate");function nonEmptyString(value){return typeof value==="string"&&value.length>0?value:void 0}__name(nonEmptyString,"nonEmptyString");function isSubagentPromptId(promptId){if(promptId===void 0)return false;const parts=promptId.split("#");if(parts.length!==3)return false;const[,agentId,round]=parts;return Boolean(agentId)&&/^\d+$/.test(round??"")}__name(isSubagentPromptId,"isSubagentPromptId");function parseToolTimingStatus(value){return value==="success"||value==="error"||value==="cancelled"?value:void 0}__name(parseToolTimingStatus,"parseToolTimingStatus");function parseTelemetryTiming(payload){const uiEvent=isObjectRecord(payload)?isObjectRecord(payload["uiEvent"])?payload["uiEvent"]:void 0:void 0;if(!uiEvent)return void 0;const eventName=uiEvent["event.name"];if(eventName!==EVENT_API_RESPONSE&&eventName!==EVENT_API_ERROR&&eventName!==EVENT_TOOL_CALL){return void 0}const durationMs=finiteNumber(uiEvent["duration_ms"]);if(durationMs===void 0||durationMs<0)return void 0;const shared={durationMs,...nonEmptyString(uiEvent["response_id"])!==void 0?{responseId:nonEmptyString(uiEvent["response_id"])}:{},...nonEmptyString(uiEvent["prompt_id"])!==void 0?{promptId:nonEmptyString(uiEvent["prompt_id"])}:{},...nonEmptyString(uiEvent["subagent_id"])!==void 0?{subagentId:nonEmptyString(uiEvent["subagent_id"])}:{}};if(eventName===EVENT_TOOL_CALL){const callId=nonEmptyString(uiEvent["call_id"]);if(callId===void 0)return void 0;const toolName=nonEmptyString(uiEvent["function_name"]);const toolStatus=parseToolTimingStatus(uiEvent["status"]);const startedAt=finiteNumber(uiEvent["started_at_ms"]??uiEvent["started_at"]);if(durationMs===0&&toolStatus!=="success"&&(startedAt===void 0||startedAt<0))return void 0;return{kind:"tool",...shared,...startedAt!==void 0&&startedAt>=0?{startedAt}:{},callId,...toolName!==void 0?{toolName}:{},...toolStatus!==void 0?{toolStatus}:{}}}const ttftMs=finiteNumber(uiEvent["ttft_ms"]);const model=nonEmptyString(uiEvent["model"]);const endMs=toTranscriptEpochMs(typeof uiEvent["event.timestamp"]==="string"?uiEvent["event.timestamp"]:void 0);return{kind:"request",...shared,...nonEmptyString(uiEvent["execution_id"])!==void 0?{executionId:nonEmptyString(uiEvent["execution_id"])}:{},...endMs!==void 0?{startedAt:endMs-durationMs}:{},status:eventName===EVENT_API_RESPONSE?"ok":"error",...ttftMs!==void 0&&ttftMs>=0&&ttftMs<=durationMs?{ttftMs}:{},...model!==void 0?{model}:{}}}__name(parseTelemetryTiming,"parseTelemetryTiming");function createTranscriptToolCallStartUpdate(options){const provenance=resolveToolProvenance(options.toolName);return{sessionUpdate:options.asUpdate?"tool_call_update":"tool_call",toolCallId:options.callId,status:options.status??"pending",title:options.metadata.title,content:[],locations:[...options.metadata.locations],kind:options.metadata.kind,rawInput:options.args??{},_meta:buildUpdateMeta({...options,extra:{toolName:options.toolName,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{},...options.extra??{}}})}}__name(createTranscriptToolCallStartUpdate,"createTranscriptToolCallStartUpdate");function createTranscriptToolCallResultUpdate(options){const provenance=resolveToolProvenance(options.toolName);const content=buildToolResultContent(options);const update={sessionUpdate:"tool_call_update",toolCallId:options.callId,status:options.success?"completed":"failed",content,_meta:buildUpdateMeta({...options,resultPreviewText:getToolContentText(options.contentPrefix),extra:{toolName:options.toolName,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{},...options.artifacts&&options.artifacts.length>0?{artifacts:options.artifacts}:{},...options.extra??{}}})};const rawOutput=getReplayRawOutput(options.resultDisplay);if(rawOutput!==void 0)update["rawOutput"]=rawOutput;return update}__name(createTranscriptToolCallResultUpdate,"createTranscriptToolCallResultUpdate");function getToolContentText(content){let text="";for(const entry of content??[]){if(entry.type!=="content"||entry.content.type!=="text")continue;const next=entry.content.text;if(text.length+(text?1:0)+next.length>MAX_RESULT_PREVIEW_TEXT_LENGTH){return void 0}text+=`${text?"\n":""}${next}`}return text||void 0}__name(getToolContentText,"getToolContentText");function getReplayRawOutput(resultDisplay){if(!isTruncatedSessionDiffDisplay(resultDisplay))return resultDisplay;if(resultDisplay["fileDiffTruncated"]===true||typeof resultDisplay["fileDiff"]!=="string"){return void 0}return{fileName:resultDisplay["fileName"],fileDiff:resultDisplay["fileDiff"]}}__name(getReplayRawOutput,"getReplayRawOutput");function createTranscriptPlanUpdate(todos,cumulativeUsage,options={}){const meta=buildUpdateMeta({...options,extra:{...cumulativeUsage?{stats:{...cumulativeUsage}}:{},...options.todoPlanId?{qwenTodoPlan:{id:options.todoPlanId}}:{},...options.extra??{}}});return{sessionUpdate:"plan",entries:todos.map(todo=>({content:todo.content,priority:"medium",status:todo.status,...todo.id||todo.blockedBy?{_meta:{qwenTodo:{...todo.id?{id:todo.id}:{},...todo.blockedBy?{blockedBy:[...todo.blockedBy]}:{}}}}:{}})),...meta?{_meta:meta}:{}}}__name(createTranscriptPlanUpdate,"createTranscriptPlanUpdate");function extractTranscriptTodoPlan(resultDisplay,args){const fromDisplay=extractTodoPlanFromDisplay(resultDisplay);if(fromDisplay)return fromDisplay;if(resultDisplay!==null&&resultDisplay!==void 0)return null;return args&&Array.isArray(args["todos"])?{todos:normalizeTodos(args["todos"])}:null}__name(extractTranscriptTodoPlan,"extractTranscriptTodoPlan");function createTranscriptReplayMachine(options={}){return new DefaultTranscriptReplayMachine(options)}__name(createTranscriptReplayMachine,"createTranscriptReplayMachine");var DefaultTranscriptReplayMachine=class{constructor(options){this.options=options;const initialState=parseInitialState(options.initialState,options.onDiagnostic);this.usage={...initialState.cumulativeUsage};this.goalState=initialState.goalState;this.goalCause=initialState.goalCause;for(const pending of initialState.pendingToolCalls){this.pendingToolCalls.set(pending.callId,pending);this.usedToolCallIds.add(pending.callId)}for(const gap of options.gaps??[]){if(!this.gapByChild.has(gap.childUuid)){this.gapByChild.set(gap.childUuid,gap)}}}static{__name(this,"DefaultTranscriptReplayMachine")}pendingToolCalls=new Map;usedToolCallIds=new Set;gapByChild=new Map;usage;finalized=false;goalState;goalCause;*project(record){if(this.finalized){throw new Error("Cannot project records after transcript replay finalize.")}let ordinal=0;let activeSegmentLane;let activeSegmentId;const backgroundTurn=parseBackgroundNotificationTurn(record.subtype==="background_task_completed"?void 0:record["backgroundTurn"]);const emit=__name(update=>{if(backgroundTurn)update={...update,_meta:{...update._meta,backgroundTurn}};const emissionOrdinal=ordinal++;const lane=transcriptSegmentLane(update);if(lane&&(lane!==activeSegmentLane||!activeSegmentId)){activeSegmentLane=lane;activeSegmentId=`${record.uuid}:${emissionOrdinal}`}else if(!lane&&isTranscriptSegmentBoundary(update)){activeSegmentLane=void 0;activeSegmentId=void 0}const projectedUpdate=lane&&activeSegmentId&&!hasExplicitTranscriptSegmentId(update)?withTranscriptSegmentId(update,activeSegmentId):update;if(isTranscriptDiscreteMessage(update)){activeSegmentLane=void 0;activeSegmentId=void 0}return{sourceRecordId:record.uuid,...record.timestamp?{sourceTimestamp:record.timestamp}:{},emissionOrdinal,update:projectedUpdate}},"emit");const meta={timestamp:record.timestamp,sourceRecordIds:[record.uuid],...record.subtype==="realtime_message"?{extra:{source:"realtime_voice",qwenDiscreteMessage:true}}:{}};const gap=this.gapByChild.get(record.uuid);if(gap){yield emit(createTranscriptMessageUpdate({role:"assistant",text:this.formatGap(gap),...meta,extra:{qwenDiscreteMessage:true}}))}switch(record.type){case"user":yield*this.projectUserRecord(record,emit,meta);break;case"assistant":yield*this.projectAssistantRecord(record,emit,meta);break;case"tool_result":if(!isInternalCodeModeToolResult(record)){yield*this.projectToolResult(record,emit,meta)}break;case"system":yield*this.projectSystemRecord(record,emit,meta);break;default:this.report("unknown_record_or_part","Skipped an unknown transcript record type.",record.uuid)}}*finalize(){if(this.finalized)return;this.finalized=true;const skip=this.options.skipFinalizeCallIds;let ordinal=0;for(const pending of[...this.pendingToolCalls.values()]){if(skip&&(skip.has(pending.callId)||pending.rawCallId!==void 0&&skip.has(pending.rawCallId)))continue;this.pendingToolCalls.delete(pending.callId);this.report("missing_tool_result","A transcript tool call has no persisted result.",pending.sourceRecordId);yield{sourceRecordId:pending.sourceRecordId,...pending.sourceTimestamp?{sourceTimestamp:pending.sourceTimestamp}:{},emissionOrdinal:ordinal++,update:createTranscriptToolCallResultUpdate({toolName:pending.toolName,callId:pending.callId,success:false,errorMessage:MISSING_TRANSCRIPT_TOOL_RESULT_MESSAGE,timestamp:pending.sourceTimestamp,sourceRecordIds:[pending.sourceRecordId]})}}}snapshot(){return{v:1,pendingToolCalls:[...this.pendingToolCalls.values()].map(pending=>({...pending})),cumulativeUsage:{...this.usage},...this.goalState?{goalState:this.goalState}:{},...this.goalCause?{goalCause:this.goalCause}:{}}}*projectUserRecord(record,emit,meta){const payload=isObjectRecord(record.systemPayload)?record.systemPayload:void 0;const savedInputAnnotations=payload?.[DAEMON_INPUT_ANNOTATIONS_META_KEY];const savedInputAnnotationList=Array.isArray(savedInputAnnotations)?savedInputAnnotations:[];const replayedInputAnnotations=savedInputAnnotationList.filter(isObjectRecord);const userMeta={...meta,extra:{...meta.extra,...typeof record.daemonPromptId==="string"&&record.daemonPromptId.trim().length>0?{promptId:record.daemonPromptId}:{},...replayedInputAnnotations.length>0?{[DAEMON_INPUT_ANNOTATIONS_META_KEY]:replayedInputAnnotations}:{}}};if(record.subtype==="agent_message"||record.subtype==="agent_mention"){const update=createAgentRecordTranscriptUpdate({recordId:record.uuid,subtype:record.subtype,payload:record.systemPayload,timestamp:record.timestamp});if(update)yield emit(update);return}const replayMeta=record.subtype==="mid_turn_user_message"?{...userMeta,extra:{...userMeta.extra,source:"mid_turn_message_injected",qwenDiscreteMessage:true}}:userMeta;if(record.subtype==="goal_runtime"||record.subtype==="notification"||record.subtype==="cron"||record.subtype==="mid_turn_user_message"){const displayText=payload&&typeof payload["displayText"]==="string"?stripGeneratedAttachmentTokens(payload["displayText"],payload):void 0;if(record.subtype==="mid_turn_user_message"&&displayText===""){const media=[...this.projectUserAttachmentReferences(payload,emit,replayMeta)];if(media.length>0){yield*media;return}}if(displayText){const isNotification=record.subtype==="notification";const backgroundTask=payload&&isObjectRecord(payload["backgroundTask"])?payload["backgroundTask"]:void 0;yield emit(createTranscriptMessageUpdate({role:"user",text:displayText,...replayMeta,...isNotification?{extra:{source:"background_notification",qwenDiscreteMessage:true,...backgroundTask?{backgroundTask}:{}}}:record.subtype==="cron"?{extra:{source:"cron"}}:record.subtype==="goal_runtime"?{extra:{source:"goal_runtime"}}:{}}));yield*this.projectUserAttachmentReferences(payload,emit,replayMeta);return}if(record.subtype!=="mid_turn_user_message")return}const projection=projectUserTranscriptForDisplay(record);if(projection.displayText!==void 0){const displayText=stripGeneratedAttachmentTokens(projection.displayText,payload);yield*this.projectMessageParts(record,"user",emit,replayMeta,void 0,replaceTextPartsForDisplay(record.message?.parts,displayText));yield*this.projectUserAttachmentReferences(payload,emit,replayMeta);return}yield*this.projectMessageParts(record,"user",emit,replayMeta,void 0,projection.parts);yield*this.projectUserAttachmentReferences(payload,emit,replayMeta)}*projectUserAttachmentReferences(payload,emit,meta){const references=payload?.["attachmentReferences"];for(const reference of Array.isArray(references)?references:[]){if(!isObjectRecord(reference))continue;const update=createTranscriptAttachmentReferenceUpdate(reference,meta);if(update)yield emit(update)}const resourceLinks=payload?.["resourceLinks"];for(const link of Array.isArray(resourceLinks)?resourceLinks:[]){if(!isObjectRecord(link)||link["type"]!=="resource_link"||typeof link["uri"]!=="string"||link["uri"].length===0||typeof link["name"]!=="string"){continue}const updateMeta=buildUpdateMeta(meta);yield emit({sessionUpdate:"user_message_chunk",content:structuredClone(link),...updateMeta?{_meta:updateMeta}:{}})}}*projectAssistantRecord(record,emit,meta){const usageMetadata=isObjectRecord(record.usageMetadata)?record.usageMetadata:void 0;let usageEmitted=false;const takeUsageUpdate=__name(()=>{if(!usageMetadata||usageEmitted)return void 0;usageEmitted=true;this.addUsage(usageMetadata);return createTranscriptUsageUpdate(usageMetadata,meta)},"takeUsageUpdate");yield*this.projectMessageParts(record,"assistant",emit,meta,takeUsageUpdate);const trailingUsage=takeUsageUpdate();if(trailingUsage)yield emit(trailingUsage)}*projectMessageParts(record,role,emit,meta,beforeToolCall,partsOverride){const parts=partsOverride??record.message?.parts;if(!parts)return;for(let partIndex=0;partIndex<parts.length;partIndex+=1){const part=parts[partIndex];if(!isObjectRecord(part)){this.report("malformed_part","Skipped a malformed transcript message part.",record.uuid,`message.parts[${partIndex}]`);continue}let recognized=false;if(typeof part["text"]==="string"&&part["text"].length>0){recognized=true;yield emit(createTranscriptMessageUpdate({role,text:part["text"],thought:role==="assistant"&&part["thought"]===true,...meta}))}const inlineData=isObjectRecord(part["inlineData"])?part["inlineData"]:void 0;if(inlineData){recognized=true;const data=inlineData["data"];const mimeType=inlineData["mimeType"];if(role==="user"&&typeof data==="string"&&typeof mimeType==="string"&&mimeType.startsWith("image/")){yield emit(createTranscriptImageUpdate({data,mimeType,...meta}))}else{this.report("malformed_part","Skipped an unsupported or malformed inline transcript part.",record.uuid,`message.parts[${partIndex}].inlineData`)}}const functionCall=isObjectRecord(part["functionCall"])?part["functionCall"]:void 0;if(functionCall){recognized=true;const toolName=typeof functionCall["name"]==="string"?functionCall["name"]:"";const args=isObjectRecord(functionCall["args"])?functionCall["args"]:{};if(!toolName){this.report("malformed_part","Skipped a tool call without a tool name.",record.uuid,`message.parts[${partIndex}].functionCall`);continue}const preToolUpdate=beforeToolCall?.();if(preToolUpdate)yield emit(preToolUpdate);if(toolName==="todo_write")continue;const explicitId=typeof functionCall["id"]==="string"&&functionCall["id"].length>0?functionCall["id"]:void 0;const callId=this.allocateToolCallId(explicitId??`qwen-replay-tool:${record.uuid}:${partIndex}`);const update=createTranscriptToolCallStartUpdate({toolName,callId,args,status:"in_progress",metadata:this.resolveToolMetadata(toolName,args,record.uuid),...meta});yield emit(update);if(role==="assistant"){this.pendingToolCalls.set(callId,{callId,toolName,...toolName==="tool_call"&&typeof args["name"]==="string"&&args["name"].trim()?{resolvedToolName:args["name"].trim()}:{},sourceRecordId:record.uuid,...record.timestamp?{sourceTimestamp:record.timestamp}:{},...explicitId!==void 0&&explicitId!==callId?{rawCallId:explicitId}:{}})}}if(!recognized&&!("functionResponse"in part)){this.report("unknown_record_or_part","Skipped an unknown transcript message part.",record.uuid,`message.parts[${partIndex}]`)}}}*projectToolResult(record,emit,meta){const result=isObjectRecord(record.toolCallResult)?record.toolCallResult:void 0;const toolName=extractToolName(record);if(!toolName){this.report("malformed_part","A transcript tool result has no tool name.",record.uuid,"message.parts")}const explicitCallId=extractToolResultCallId(record,result);const callId=explicitCallId?this.allocateToolCallId(explicitCallId,true):this.correlateResultCallId(toolName,record.uuid);this.pendingToolCalls.delete(callId);const resultDisplay=result?.["resultDisplay"];if(toolName==="todo_write"){const plan=extractTranscriptTodoPlan(resultDisplay);if(plan){yield emit(createTranscriptPlanUpdate(plan.todos,this.usage,{...meta,planToolCallId:callId,todoPlanId:plan.planId,...plan.sessionWorkflow?{extra:{...meta.extra,qwenSessionWorkflow:true}}:{}}))}return}yield emit(createTranscriptToolCallResultUpdate({toolName,callId,success:result?.["status"]===void 0?!result?.["error"]:result["status"]==="success"&&!result["error"],errorMessage:extractErrorMessage(result?.["error"]),message:record.message?.parts,resultDisplay,artifacts:Array.isArray(result?.["artifacts"])?result["artifacts"]:void 0,contentPrefix:this.buildToolResultContentPrefix(resultDisplay,record.uuid),...meta}));if(isTaskExecutionDisplay(resultDisplay)){const usage=usageFromTaskExecution(resultDisplay);if(Object.keys(usage).length>0){this.addUsage(usage);yield emit(createTranscriptUsageUpdate(usage,{...meta,extra:{...meta.extra,parentToolCallId:callId}}))}}}*projectSystemRecord(record,emit,meta){if(record.subtype==="ui_telemetry"){if(!this.options.includeTiming)return;const payload2=record.systemPayload;const uiEvent=isObjectRecord(payload2)?payload2["uiEvent"]:void 0;if(isObjectRecord(uiEvent)&&uiEvent["event.name"]==="request_lifecycle"){const lifecycle=parseExecutionLifecycle(uiEvent);if(lifecycle)yield emit(createTranscriptExecutionLifecycleUpdate(lifecycle,meta));return}if(isObjectRecord(uiEvent)&&uiEvent["event.name"]==="tool_lifecycle"){const lifecycle=parseToolLifecycle(uiEvent);if(lifecycle){let callId=lifecycle.callId;if(!lifecycle.subagentId){const candidates=[...this.pendingToolCalls.values()].filter(pending2=>(pending2.rawCallId??pending2.callId)===lifecycle.callId&&(pending2.toolName===lifecycle.toolName||pending2.resolvedToolName===lifecycle.toolName));const pending=candidates.find(item=>item.toolLifecycleExecutionId===lifecycle.executionId)??candidates.find(item=>item.toolLifecycleExecutionId===void 0);if(pending){callId=pending.callId;this.pendingToolCalls.set(callId,{...pending,toolLifecycleExecutionId:lifecycle.executionId})}}yield emit({...createTranscriptToolLifecycleUpdate(lifecycle,meta),toolCallId:callId})}return}const timing=parseTelemetryTiming(record.systemPayload);if(!timing)return;yield emit(createTranscriptTimingUpdate(this.resolveTimingCallId(timing),meta));return}if(record.subtype==="turn_result"){const payload2=isObjectRecord(record.systemPayload)?record.systemPayload:void 0;const cancelledAt=finiteNumber(payload2?.["cancelledAt"]);const startedAt=finiteNumber(payload2?.["startedAt"]);const promptId=payload2?.["promptId"];if(payload2?.["state"]!=="cancelled"||cancelledAt===void 0||typeof promptId!=="string"||!promptId||payload2["startedAt"]!==void 0&&startedAt===void 0)return;const elapsedMs=Math.max(0,cancelledAt-(startedAt??cancelledAt));if(!Number.isFinite(elapsedMs))return;yield emit(createTranscriptMessageUpdate({role:"assistant",text:"",...meta,extra:{qwenDiscreteMessage:true,promptCancelled:{promptId,cancelledAt,elapsedMs}}}));return}if(record.subtype==="background_task_completed"){const payload2=isObjectRecord(record.systemPayload)?record.systemPayload:void 0;if(!payload2||typeof payload2["displayText"]!=="string")return;yield emit(createTranscriptMessageUpdate({role:"assistant",text:payload2["displayText"],...meta,extra:{source:"background_task_completed",qwenDiscreteMessage:true,...isObjectRecord(payload2["backgroundTask"])?{backgroundTask:payload2["backgroundTask"]}:{}}}));return}if(record.subtype==="agent_session_ready"){const payload2=isObjectRecord(record.systemPayload)?record.systemPayload:void 0;if(typeof payload2?.["callId"]!=="string"||payload2["callId"].length===0||typeof payload2["subagentSessionReady"]!=="boolean"){this.report("malformed_agent_session_ready","Skipped a malformed subagent session readiness record.",record.uuid,"systemPayload");return}const callId=payload2["callId"];if(!this.pendingToolCalls.has(callId)){this.report("orphan_agent_session_ready","Skipped subagent readiness without a matching pending tool call.",record.uuid,"systemPayload.callId");return}yield emit({sessionUpdate:"tool_call_update",toolCallId:callId,_meta:buildUpdateMeta({...meta,extra:{subagentSessionReady:payload2["subagentSessionReady"]}})});return}if(record.subtype==="goal_state"){const payload2=parseGoalStateRecordPayloadV2(record.systemPayload);if(!payload2){this.report("malformed_goal_state","Skipped a malformed Goal state transcript record.",record.uuid,"systemPayload");return}const bookkeepingOnly=isGoalCheckpointBookkeepingRecord({cause:payload2.cause,previousCause:this.goalCause,previous:this.goalState,next:payload2.snapshot});const goalStatus=projectGoalCard(payload2,this.goalState?.goal??null);const goalControlCommand=projectGoalControlCommand(payload2.cause,payload2.snapshot);this.goalState=payload2.snapshot;this.goalCause=payload2.cause;if(bookkeepingOnly)return;if(goalControlCommand){yield emit(createTranscriptMessageUpdate({role:"user",text:goalControlCommand,...meta,extra:{source:"goal_control","qwen.session.recordId":record.uuid}}))}yield emit(createTranscriptMessageUpdate({role:"assistant",text:"",...meta,extra:{goalState:payload2.snapshot,goalStatus,"qwen.session.recordId":record.uuid}}));return}if(record.subtype!=="slash_command")return;const payload=isObjectRecord(record.systemPayload)?record.systemPayload:void 0;if(payload?.["phase"]!=="result")return;const items=Array.isArray(payload["outputHistoryItems"])?payload["outputHistoryItems"]:[];for(const item of items){const goalStatus=parseTranscriptGoalStatus(item);if(goalStatus){if(goalStatus.condition.length===0){this.report("malformed_part","Skipped replay of a goal card whose condition is empty.",record.uuid,"systemPayload.outputHistoryItems.goalStatus.condition")}else if(goalStatus.kind!=="checking"){yield emit(createTranscriptMessageUpdate({role:"assistant",text:"",...meta,extra:{goalStatus}}))}continue}if(!isObjectRecord(item)||typeof item["text"]!=="string")continue;const contextCompression=isObjectRecord(item["contextCompression"])?item["contextCompression"]:void 0;const contextCompressionNotice=isObjectRecord(item["contextCompressionNotice"])?item["contextCompressionNotice"]:void 0;yield emit(createTranscriptMessageUpdate({role:"assistant",text:item["text"].replace(/\n/g," \n"),...meta,extra:{source:"slash_command",...contextCompression?{contextCompression}:{},...contextCompressionNotice?{contextCompressionNotice}:{},...Array.isArray(item["sessionArtifacts"])?{sessionArtifacts:item["sessionArtifacts"]}:{}}}))}}addUsage(metadata){this.usage.promptTokens+=finiteNumber(metadata["promptTokenCount"])??0;this.usage.candidateTokens+=finiteNumber(metadata["candidatesTokenCount"])??0;this.usage.cachedTokens+=finiteNumber(metadata["cachedContentTokenCount"])??0}correlateResultCallId(toolName,recordId){const candidates=[...this.pendingToolCalls.values()].filter(pending=>pending.toolName===toolName);if(candidates.length===1)return candidates[0].callId;this.report("ambiguous_tool_call_correlation","A tool result could not be matched to exactly one pending tool call.",recordId);return this.allocateToolCallId(`qwen-replay-tool:${recordId}:result`)}allocateToolCallId(candidate,reuse=false){if(reuse&&this.pendingToolCalls.has(candidate)){this.usedToolCallIds.add(candidate);return candidate}if(!this.usedToolCallIds.has(candidate)){this.usedToolCallIds.add(candidate);return candidate}let occurrence=2;while(this.usedToolCallIds.has(`${candidate}:${occurrence}`)){occurrence+=1}const id=`${candidate}:${occurrence}`;this.usedToolCallIds.add(id);return id}resolveTimingCallId(timing){if(timing.kind!=="tool"||timing.callId===void 0)return timing;if(isSubagentPromptId(timing.promptId))return timing;for(const pending of this.pendingToolCalls.values()){const recordedId=pending.rawCallId??pending.callId;if(recordedId!==timing.callId||pending.timingMatched)continue;if(timing.toolName!==void 0&&pending.toolName!==timing.toolName&&pending.resolvedToolName!==timing.toolName)continue;this.pendingToolCalls.set(pending.callId,{...pending,timingMatched:true});return{...timing,callId:pending.callId}}return timing}resolveToolMetadata(toolName,args,recordId){try{return this.options.presentation?.resolveToolMetadata(toolName,args)??fallbackToolMetadata(toolName,args)}catch{this.report("presentation_fallback","Tool presentation metadata fell back to deterministic defaults.",recordId,void 0,false);return fallbackToolMetadata(toolName,args)}}formatGap(gap){try{return this.options.presentation?.formatHistoryGap(gap)??"Some earlier messages are unavailable because the saved history is incomplete."}catch{this.report("presentation_fallback","History gap presentation fell back to deterministic defaults.",gap.childUuid,void 0,false);return"Some earlier messages are unavailable because the saved history is incomplete."}}buildToolResultContentPrefix(resultDisplay,recordId){try{return this.options.presentation?.buildToolResultContentPrefix?.(resultDisplay)??defaultToolResultContentPrefix(resultDisplay)}catch{this.report("presentation_fallback","Tool result content presentation fell back to deterministic defaults.",recordId,void 0,false);return defaultToolResultContentPrefix(resultDisplay)}}report(code,message,recordId,path2,affectsCompleteness=true){this.options.onDiagnostic?.({code,severity:affectsCompleteness?"warning":"info",message,affectsCompleteness,...recordId?{recordId}:{},...path2?{path:path2}:{}})}};function withTranscriptSegmentId(update,segmentId){const record=update;const meta=isObjectRecord(record["_meta"])?record["_meta"]:void 0;const transcript=meta&&isObjectRecord(meta["qwenTranscript"])?meta["qwenTranscript"]:void 0;return{...record,_meta:{...meta??{},qwenTranscript:{...transcript??{},segmentId}}}}__name(withTranscriptSegmentId,"withTranscriptSegmentId");function hasExplicitTranscriptSegmentId(update){const meta=update["_meta"];const transcript=isObjectRecord(meta)?meta["qwenTranscript"]:void 0;return isObjectRecord(transcript)&&typeof transcript["segmentId"]==="string"&&transcript["segmentId"].length>0}__name(hasExplicitTranscriptSegmentId,"hasExplicitTranscriptSegmentId");function transcriptSegmentLane(update){const record=update;const kind=record["sessionUpdate"];const meta=isObjectRecord(record["_meta"])?record["_meta"]:void 0;const parentToolCallId=typeof meta?.["parentToolCallId"]==="string"?meta["parentToolCallId"]:"root";if(kind==="user_message_chunk"||kind==="agent_message_chunk"||kind==="agent_thought_chunk"){const content=isObjectRecord(record["content"])?record["content"]:void 0;const contentType=typeof content?.["type"]==="string"?content["type"]:void 0;if(!contentType)return void 0;if(contentType==="text"&&(typeof content?.["text"]!=="string"||content["text"].length===0)){return void 0}return`${String(kind)}:${contentType}:${parentToolCallId}`}if(kind==="shell_output"||kind==="tool_output"){const source=typeof meta?.["source"]==="string"?meta["source"]:"";const stream=typeof record["stream"]==="string"?record["stream"]:"";return`${String(kind)}:${source}:${stream}`}return void 0}__name(transcriptSegmentLane,"transcriptSegmentLane");function isTranscriptSegmentBoundary(update){const record=update;const kind=record["sessionUpdate"];return typeof kind==="string"&&kind!=="agent_message_chunk"&&kind!=="agent_thought_chunk"&&kind!=="user_message_chunk"}__name(isTranscriptSegmentBoundary,"isTranscriptSegmentBoundary");function isTranscriptDiscreteMessage(update){const record=update;const meta=isObjectRecord(record["_meta"])?record["_meta"]:void 0;return meta?.["qwenDiscreteMessage"]===true}__name(isTranscriptDiscreteMessage,"isTranscriptDiscreteMessage");function projectGoalControlCommand(cause,snapshot){switch(cause){case"create":case"replace":return snapshot.goal?`/goal ${snapshot.goal.objective}`:void 0;case"edit":return snapshot.goal?`/goal edit ${snapshot.goal.objective}`:void 0;case"pause":return snapshot.goal?.lastReason===void 0||snapshot.goal.lastReason===GOAL_PAUSE_REASON_COMMAND?`/goal ${cause}`:void 0;case"resume":case"clear":return`/goal ${cause}`;case"turn_finished":case"checkpoint":case"verifier_accept":case"verifier_reject":case"complete":case"blocked":case"usage_limited":case"migrated":return void 0;default:return assertNever(cause)}}__name(projectGoalControlCommand,"projectGoalControlCommand");function assertNever(value){throw new Error(`Unsupported Goal state cause: ${String(value)}`)}__name(assertNever,"assertNever");function parseTranscriptGoalStatus(value){if(!isObjectRecord(value)||value["type"]!=="goal_status"){return void 0}const kind=value["kind"];const condition=value["condition"];if(typeof kind!=="string"||!TRANSCRIPT_GOAL_STATUS_KINDS.has(kind)||typeof condition!=="string"){return void 0}const iterations=finiteNumber(value["iterations"]);const setAt=finiteNumber(value["setAt"]);const durationMs=finiteNumber(value["durationMs"]);const lastReason=typeof value["lastReason"]==="string"?value["lastReason"]:void 0;return{kind,condition,...iterations!==void 0?{iterations}:{},...setAt!==void 0?{setAt}:{},...durationMs!==void 0?{durationMs}:{},...lastReason!==void 0?{lastReason}:{}}}__name(parseTranscriptGoalStatus,"parseTranscriptGoalStatus");function defaultToolResultContentPrefix(resultDisplay){if(!isObjectRecord(resultDisplay)||resultDisplay["type"]!=="vision_bridge_notice"||typeof resultDisplay["summary"]!=="string"||typeof resultDisplay["notice"]!=="string"){return[]}return[{type:"content",content:{type:"text",text:`${resultDisplay["summary"]}
4
- ${resultDisplay["notice"]}`}}]}__name(defaultToolResultContentPrefix,"defaultToolResultContentPrefix");function parseInitialState(value,onDiagnostic){const empty={v:1,pendingToolCalls:[],cumulativeUsage:emptyUsage()};if(value===void 0)return empty;if(!isObjectRecord(value)){throw new TypeError("Invalid transcript replay state.")}if("v"in value&&value["v"]!==1){throw new TypeError("Unsupported transcript replay state version.")}const rawPending=Array.isArray(value["pendingToolCalls"])?value["pendingToolCalls"]:[];const pendingToolCalls=rawPending.flatMap(pending=>{if(!isObjectRecord(pending)||typeof pending["callId"]!=="string"||typeof pending["toolName"]!=="string"||typeof pending["sourceRecordId"]!=="string"){onDiagnostic?.({code:"invalid_replay_state",severity:"warning",message:"Dropped a malformed pending tool call from replay state.",affectsCompleteness:true});return[]}return[{callId:pending["callId"],toolName:pending["toolName"],...typeof pending["resolvedToolName"]==="string"?{resolvedToolName:pending["resolvedToolName"]}:{},sourceRecordId:pending["sourceRecordId"],...typeof pending["sourceTimestamp"]==="string"?{sourceTimestamp:pending["sourceTimestamp"]}:{},...typeof pending["rawCallId"]==="string"?{rawCallId:pending["rawCallId"]}:{},...typeof pending["toolLifecycleExecutionId"]==="string"&&pending["toolLifecycleExecutionId"].length>0?{toolLifecycleExecutionId:pending["toolLifecycleExecutionId"]}:{},...pending["timingMatched"]===true?{timingMatched:true}:{}}]});const rawUsage=value.cumulativeUsage;const usage=isObjectRecord(rawUsage)?rawUsage:{};const validUsage=finiteNumber(usage["promptTokens"])!==void 0&&finiteNumber(usage["cachedTokens"])!==void 0&&finiteNumber(usage["candidateTokens"])!==void 0&&finiteNumber(usage["apiTimeMs"])!==void 0;if(!validUsage){onDiagnostic?.({code:"invalid_replay_state",severity:"warning",message:"Reset invalid cumulative usage in transcript replay state.",affectsCompleteness:true})}const rawGoalState=value["goalState"];const goalState=rawGoalState===void 0?void 0:parseGoalSnapshotV2(rawGoalState);if(rawGoalState!==void 0&&!goalState){onDiagnostic?.({code:"invalid_replay_state",severity:"warning",message:"Dropped a malformed Goal state from replay state.",affectsCompleteness:true})}const rawGoalCause=value["goalCause"];const goalCause=rawGoalCause===void 0?void 0:parseGoalStateCause(rawGoalCause);if(rawGoalCause!==void 0&&!goalCause){onDiagnostic?.({code:"invalid_replay_state",severity:"warning",message:"Dropped a malformed Goal cause from replay state.",affectsCompleteness:true})}return{v:1,pendingToolCalls,cumulativeUsage:validUsage?{promptTokens:usage["promptTokens"],cachedTokens:usage["cachedTokens"],candidateTokens:usage["candidateTokens"],apiTimeMs:usage["apiTimeMs"]}:emptyUsage(),...goalState?{goalState}:{},...goalCause?{goalCause}:{}}}__name(parseInitialState,"parseInitialState");function emptyUsage(){return{promptTokens:0,cachedTokens:0,candidateTokens:0,apiTimeMs:0}}__name(emptyUsage,"emptyUsage");function fallbackToolMetadata(toolName,args){const description=typeof args["description"]==="string"?args["description"].trim():"";return{title:description?`${toolName}: ${description}`:toolName,locations:[],kind:"other"}}__name(fallbackToolMetadata,"fallbackToolMetadata");function resolveToolProvenance(toolName){if(toolName.startsWith("mcp__")){const parts=toolName.split("__");if(parts.length>=3&&parts[1]){return{provenance:"mcp",serverId:parts[1]}}}return{provenance:"builtin"}}__name(resolveToolProvenance,"resolveToolProvenance");function buildToolResultContent(options){const prefix=[...options.contentPrefix??[]];const diff=extractDiffContent(options.resultDisplay);if(diff)return[...prefix,diff];if(options.errorMessage){return[...prefix,{type:"content",content:{type:"text",text:options.errorMessage}}]}const content=[...prefix];for(const part of options.message??[]){if(!isObjectRecord(part))continue;if(typeof part["text"]==="string"&&part["text"]){content.push({type:"content",content:{type:"text",text:part["text"]}})}const response=isObjectRecord(part["functionResponse"])?part["functionResponse"]:void 0;const payload=response&&isObjectRecord(response["response"])?response["response"]:void 0;if(!payload)continue;try{const output=payload["output"];const error=payload["error"];const text=typeof output==="string"?output:typeof error==="string"?error:JSON.stringify(payload);content.push({type:"content",content:{type:"text",text}})}catch{}}return content}__name(buildToolResultContent,"buildToolResultContent");function extractDiffContent(resultDisplay){if(!isObjectRecord(resultDisplay))return null;if(!("fileName"in resultDisplay)||!("newContent"in resultDisplay)){return null}if(isTruncatedSessionDiffDisplay(resultDisplay)){return{type:"content",content:{type:"text",text:buildTruncatedDiffPreviewText(resultDisplay)}}}return{type:"diff",path:typeof resultDisplay["filePath"]==="string"?resultDisplay["filePath"]:typeof resultDisplay["fileName"]==="string"?resultDisplay["fileName"]:"",oldText:typeof resultDisplay["originalContent"]==="string"?resultDisplay["originalContent"]:"",newText:typeof resultDisplay["newContent"]==="string"?resultDisplay["newContent"]:""}}__name(extractDiffContent,"extractDiffContent");function isTruncatedSessionDiffDisplay(value){return isObjectRecord(value)&&value["truncatedForSession"]===true&&"fileName"in value&&"newContent"in value}__name(isTruncatedSessionDiffDisplay,"isTruncatedSessionDiffDisplay");function buildTruncatedDiffPreviewText(display){const fileName=typeof display["fileName"]==="string"?display["fileName"]:"the edited file";const fileDiffLength=typeof display["fileDiffLength"]==="number"?` Original fileDiff length: ${display["fileDiffLength"]} chars.`:"";return display["fileDiffTruncated"]===true?`Full diff omitted from saved session history for ${fileName}.${fileDiffLength}`:`Saved session preview only for ${fileName}; full original and new file contents are unavailable.`}__name(buildTruncatedDiffPreviewText,"buildTruncatedDiffPreviewText");function extractToolName(record){for(const part of record.message?.parts??[]){if(!isObjectRecord(part)||!isObjectRecord(part["functionResponse"])){continue}const name=part["functionResponse"]["name"];if(typeof name==="string")return name}return""}__name(extractToolName,"extractToolName");function extractToolResultCallId(record,result){if(typeof result?.["callId"]==="string"&&result["callId"].length>0){return result["callId"]}for(const part of record.message?.parts??[]){if(!isObjectRecord(part)||!isObjectRecord(part["functionResponse"])){continue}const id=part["functionResponse"]["id"];if(typeof id==="string"&&id.length>0)return id}return void 0}__name(extractToolResultCallId,"extractToolResultCallId");function extractTodoPlanFromDisplay(value){if(isObjectRecord(value)&&value["type"]==="todo_list"){return Array.isArray(value["todos"])?{...typeof value["planId"]==="string"?{planId:value["planId"]}:{},...value["sessionWorkflow"]===true?{sessionWorkflow:true}:{},todos:normalizeTodos(value["todos"])}:null}if(typeof value!=="string")return null;try{const parsed=JSON.parse(value);return isObjectRecord(parsed)&&parsed["type"]==="todo_list"&&Array.isArray(parsed["todos"])?{...typeof parsed["planId"]==="string"?{planId:parsed["planId"]}:{},...parsed["sessionWorkflow"]===true?{sessionWorkflow:true}:{},todos:normalizeTodos(parsed["todos"])}:null}catch{return null}}__name(extractTodoPlanFromDisplay,"extractTodoPlanFromDisplay");function normalizeTodos(values){return values.flatMap(value=>{if(!isObjectRecord(value)||typeof value["content"]!=="string")return[];const status=value["status"];if(status!=="pending"&&status!=="in_progress"&&status!=="completed"){return[]}return[{...typeof value["id"]==="string"?{id:value["id"]}:{},content:value["content"],status,...Array.isArray(value["blockedBy"])&&value["blockedBy"].every(dependency=>typeof dependency==="string")?{blockedBy:value["blockedBy"]}:{}}]})}__name(normalizeTodos,"normalizeTodos");function isTaskExecutionDisplay(value){return isObjectRecord(value)&&value["type"]==="task_execution"}__name(isTaskExecutionDisplay,"isTaskExecutionDisplay");function usageFromTaskExecution(display){const summary=isObjectRecord(display["executionSummary"])?display["executionSummary"]:void 0;if(!summary)return{};return{...finiteNumber(summary["inputTokens"])!==void 0?{promptTokenCount:summary["inputTokens"]}:{},...finiteNumber(summary["outputTokens"])!==void 0?{candidatesTokenCount:summary["outputTokens"]}:{},...finiteNumber(summary["thoughtTokens"])!==void 0?{thoughtsTokenCount:summary["thoughtTokens"]}:{},...finiteNumber(summary["cachedTokens"])!==void 0?{cachedContentTokenCount:summary["cachedTokens"]}:{},...finiteNumber(summary["totalTokens"])!==void 0?{totalTokenCount:summary["totalTokens"]}:{}}}__name(usageFromTaskExecution,"usageFromTaskExecution");function finiteNumber(value){return typeof value==="number"&&Number.isFinite(value)?value:void 0}__name(finiteNumber,"finiteNumber");function extractErrorMessage(value){if(value instanceof Error)return value.message;if(!isObjectRecord(value))return void 0;return typeof value["message"]==="string"?value["message"]:void 0}__name(extractErrorMessage,"extractErrorMessage");function dedupeStrings(values){return[...new Set(values.filter(value=>value.length>0))]}__name(dedupeStrings,"dedupeStrings");init_esbuild_shims();init_esbuild_shims();var BaseEmitter=class{constructor(ctx){this.ctx=ctx}static{__name(this,"BaseEmitter")}static toEpochMs(ts){if(typeof ts==="number"){return Number.isFinite(ts)?ts:void 0}if(typeof ts==="string"){const ms=new Date(ts).getTime();return Number.isFinite(ms)?ms:void 0}return void 0}async sendUpdate(update){if(this.ctx.messageRewriter){return this.ctx.messageRewriter.interceptUpdate(update)}return this.ctx.sendUpdate(update)}get sessionId(){return this.ctx.sessionId}};init_esbuild_shims();var PlanEmitter=class extends BaseEmitter{static{__name(this,"PlanEmitter")}async emitPlan(plan,sourceCallId){const cumulative=this.ctx.cumulativeUsage;await this.sendUpdate(createTranscriptPlanUpdate(plan.todos,cumulative,{planToolCallId:sourceCallId,todoPlanId:plan.planId,...plan.sessionWorkflow?{extra:{qwenSessionWorkflow:true}}:{}}))}extractPlan(resultDisplay,args){const plan=extractTranscriptTodoPlan(resultDisplay,args);if(!plan)return null;return{...plan.planId?{planId:plan.planId}:{},...plan.sessionWorkflow?{sessionWorkflow:true}:{},todos:plan.todos.map((todo,index)=>({id:todo.id??String(index),content:todo.content,status:todo.status,...todo.blockedBy?{blockedBy:[...todo.blockedBy]}:{}}))}}};init_esbuild_shims();function hasFullSessionContext(context){return"config"in context}__name(hasFullSessionContext,"hasFullSessionContext");var debugLogger=createDebugLogger("TOOL_CALL_EMITTER");var KIND_MAP={["read"]:"read",["edit"]:"edit",["delete"]:"delete",["move"]:"move",["search"]:"search",["execute"]:"execute",["think"]:"think",["fetch"]:"fetch",["agent"]:"other",["other"]:"other"};function stripBoundaryArtifactsFromRawOutput(resultDisplay){if(typeof resultDisplay!=="object"||resultDisplay===null||!("type"in resultDisplay)||resultDisplay.type!=="task_execution"||!("toolCalls"in resultDisplay)||!Array.isArray(resultDisplay.toolCalls)){return resultDisplay}let changed=false;const toolCalls=resultDisplay.toolCalls.map(toolCall=>{if(typeof toolCall!=="object"||toolCall===null||!("boundaryArtifact"in toolCall)){return toolCall}const rawOutputToolCall={...toolCall};delete rawOutputToolCall["boundaryArtifact"];changed=true;return rawOutputToolCall});return changed?{...resultDisplay,toolCalls}:resultDisplay}__name(stripBoundaryArtifactsFromRawOutput,"stripBoundaryArtifactsFromRawOutput");var ToolCallEmitter=class _ToolCallEmitter extends BaseEmitter{static{__name(this,"ToolCallEmitter")}planEmitter;preparedCallIds=new Set;preparedLifecycles=new Map;constructor(ctx){super(ctx);this.planEmitter=new PlanEmitter(ctx)}async emitLifecycle(event){if(this.isTodoWriteTool(event.toolName)||hasFullSessionContext(this.ctx)&&this.ctx.isDisposed?.())return;await this.sendUpdate(createTranscriptToolLifecycleUpdate(event))}async emitStart(params){if(this.isTodoWriteTool(params.toolName)){return false}if(params.phase==="preparing"&&this.preparedCallIds.has(params.callId)){return false}if(params.phase==="preparing"&&hasFullSessionContext(this.ctx)){this.preparedLifecycles.set(params.callId,createToolLifecycle(this.ctx.config,params.callId,params.toolName))}else if(params.phase!=="preparing"){this.preparedLifecycles.delete(params.callId)}const{title,locations,kind}=this.resolveToolMetadata(params.toolName,params.args);const provenance=_ToolCallEmitter.resolveToolProvenance(params.toolName,params.subagentMeta);const updatesPreparedCall=params.phase!=="preparing"&&this.preparedCallIds.delete(params.callId);await this.sendUpdate(createTranscriptToolCallStartUpdate({toolName:params.toolName,callId:params.callId,status:params.status||"pending",args:params.args,metadata:{title,locations,kind},timestamp:params.timestamp,asUpdate:updatesPreparedCall,extra:{...params.startedAt!==void 0?{startedAt:params.startedAt}:{},...params.phase?{phase:params.phase}:{},...params.toolName===ToolNames.AGENT&&!params.subagentMeta?{subagentSessionReady:false}:{},...params.subagentMeta,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{}}}));if(params.phase==="preparing"){this.preparedCallIds.add(params.callId)}return true}async emitPreparationDiscarded(callId,toolName){if(this.isTodoWriteTool(toolName))return;this.preparedCallIds.delete(callId);const lifecycle=this.preparedLifecycles.get(callId)?.finish("cancelled","not_started");this.preparedLifecycles.delete(callId);if(lifecycle){await this.emitLifecycle(lifecycle).catch(error=>debugLogger.debug("Failed to emit discarded tool lifecycle",error))}const provenance=_ToolCallEmitter.resolveToolProvenance(toolName);await this.sendUpdate({sessionUpdate:"tool_call_update",toolCallId:callId,status:"failed",content:[],_meta:{toolName,phase:"preparing",preparationDiscarded:true,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{}}})}async emitResult(params){if(this.isTodoWriteTool(params.toolName)){if(params.subagentMeta)return;if(!params.success)return;const plan=this.planEmitter.extractPlan(params.resultDisplay,params.args);if(plan&&(plan.todos.length>0||params.args&&Array.isArray(params.args["todos"]))){await this.planEmitter.emitPlan(plan,params.callId)}return}this.preparedCallIds.delete(params.callId);this.preparedLifecycles.delete(params.callId);const provenance=_ToolCallEmitter.resolveToolProvenance(params.toolName,params.subagentMeta);const update=createTranscriptToolCallResultUpdate({toolName:params.toolName,callId:params.callId,success:params.success,message:params.message,resultDisplay:stripBoundaryArtifactsFromRawOutput(params.resultDisplay),errorMessage:params.error?.message,artifacts:params.artifacts,contentPrefix:buildToolResultContentPrefix(params.resultDisplay),timestamp:params.timestamp,extra:{...params.startedAt!==void 0?{startedAt:params.startedAt}:{},...params.durationMs!==void 0?{durationMs:params.durationMs}:{},...params.subagentMeta,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{}}});associateAcpToolResultArtifact(update,params.boundaryArtifact??toolResultBoundaryArtifact(params.persistedOutputFiles,params.artifacts));await this.sendUpdate(update)}async emitError(callId,toolName,error,subagentMeta,timing){this.preparedCallIds.delete(callId);this.preparedLifecycles.delete(callId);const provenance=_ToolCallEmitter.resolveToolProvenance(toolName,subagentMeta);await this.sendUpdate(createTranscriptToolCallResultUpdate({toolName,callId,success:false,errorMessage:error.message,extra:{...timing,...subagentMeta,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{}}}))}async emitProgressUpdate(parentToolCallId,subagentType,message,toolName){if(toolName&&this.isTodoWriteTool(toolName))return;await this.sendUpdate({sessionUpdate:"tool_call_update",toolCallId:parentToolCallId,status:"in_progress",content:[{type:"content",content:{type:"text",text:sanitizeTerminalText(message)}}],_meta:{subagentType,provenance:"subagent",subagentProgress:true}})}static resolveToolProvenance(toolName,subagentMeta){if(subagentMeta!==void 0){return{provenance:"subagent"}}if(toolName.startsWith("mcp__")){const parts=toolName.split("__");if(parts.length>=3&&parts[1]&&parts[1].length>0){return{provenance:"mcp",serverId:parts[1]}}}return{provenance:"builtin"}}isTodoWriteTool(toolName){return toolName===ToolNames.TODO_WRITE}isExitPlanModeTool(toolName){return toolName===ToolNames.EXIT_PLAN_MODE}isEnterPlanModeTool(toolName){return toolName===ToolNames.ENTER_PLAN_MODE}resolveToolMetadata(toolName,args){if(!hasFullSessionContext(this.ctx)){const description=typeof args?.["description"]==="string"?args["description"].trim():"";return{title:description?`${toolName}: ${description}`:toolName,locations:[],kind:"other"}}const toolRegistry=this.ctx.config.getToolRegistry();const tool=toolRegistry.getTool(toolName);let title=tool?.displayName??toolName;let locations=[];let kind="other";if(tool&&args){try{const invocation=tool.build(args);title=`${title}: ${invocation.getDescription()}`;locations=invocation.toolLocations().map(loc=>({path:loc.path,line:loc.line??null}));kind=this.mapToolKind(tool.kind,toolName)}catch{if(typeof args["description"]==="string"){title=`${title}: ${args["description"]}`}if(tool.kind){kind=this.mapToolKind(tool.kind,toolName)}}}return{title,locations,kind}}mapToolKind(kind,toolName){if(toolName&&(this.isExitPlanModeTool(toolName)||this.isEnterPlanModeTool(toolName))){return"switch_mode"}return KIND_MAP[kind]??"other"}};function buildToolResultContentPrefix(resultDisplay){if(!isVisionBridgeNoticeDisplay(resultDisplay))return[];return[{type:"content",content:{type:"text",text:sanitizeTerminalText(formatVisionBridgeNoticeDisplay(resultDisplay))}}]}__name(buildToolResultContentPrefix,"buildToolResultContentPrefix");var HistoryReplayer=class{constructor(ctx){this.ctx=ctx;this.toolCallEmitter=new ToolCallEmitter(ctx);this.machine=this.createMachine()}static{__name(this,"HistoryReplayer")}toolCallEmitter;machine;async replay(records,gaps,options={}){try{if(options.goalBootstrap){const update={sessionUpdate:"agent_message_chunk",content:{type:"text",text:""},_meta:{...options.goalBootstrap.goalState?{goalState:options.goalBootstrap.goalState}:{},goalStatus:options.goalBootstrap.goalStatus}};await this.sendUpdate(update)}await this.replayPage(records,{finalizeDangling:options.finalizeDangling??true,gaps,...options.skipFinalizeCallIds?{skipFinalizeCallIds:options.skipFinalizeCallIds}:{},...options.initialGoalState?{goalState:options.initialGoalState}:{},...options.initialGoalCause?{goalCause:options.initialGoalCause}:{}})}finally{this.setActiveRecordId(null)}}static v2GoalBootstrap(rawGoalState,rawGoalCause){const goalState=parseGoalSnapshotV2(rawGoalState);const goalCause=parseGoalStateCause(rawGoalCause);if(!goalState?.goal||goalState.goal.status!=="active"||!goalCause){return void 0}const{kind,...goalStatus}=projectGoalCard({v:2,cause:goalCause,snapshot:goalState});if(kind!=="set"&&kind!=="checking"){return void 0}return{goalStatus:{...goalStatus,kind},goalState}}async replayPage(records,options={}){this.machine=this.createMachine(options);let replayError;try{for(const record of records){for(const emission of this.machine.project(record)){this.setActiveRecordId(emission.sourceRecordId,emission.sourceTimestamp);await this.sendUpdate(emission.update)}}}catch(error){replayError=error}let danglingError;if(options.finalizeDangling===true){for(const emission of this.machine.finalize()){this.setActiveRecordId(emission.sourceRecordId,emission.sourceTimestamp);try{await this.sendUpdate(emission.update)}catch(error){danglingError??=error}}}const replay=this.machine.snapshot();this.copyCumulativeUsage(replay);const state={pendingToolCalls:replay.pendingToolCalls.map(toLegacyPendingToolCall),replay};this.setActiveRecordId(null);if(replayError&&danglingError){throw new AggregateError([replayError,danglingError],"Replay and dangling-cleanup both failed")}if(replayError)throw replayError;if(danglingError)throw danglingError;return state}getPendingToolCalls(){return this.machine.snapshot().pendingToolCalls.map(toLegacyPendingToolCall)}getReplayState(){return this.machine.snapshot()}createMachine(options={}){const cumulative=this.ctx.cumulativeUsage;const initialState={v:1,pendingToolCalls:(options.pendingToolCalls??[]).map(toPendingTranscriptToolCall),cumulativeUsage:cumulative?{...cumulative}:{promptTokens:0,cachedTokens:0,candidateTokens:0,apiTimeMs:0},...options.goalState?{goalState:options.goalState}:{},...options.goalCause?{goalCause:options.goalCause}:{}};return createTranscriptReplayMachine({initialState,gaps:options.gaps,presentation:this.presentationAdapter(),...options.skipFinalizeCallIds?{skipFinalizeCallIds:options.skipFinalizeCallIds}:{},...options.includeTiming?{includeTiming:true}:{},onDiagnostic:__name(diagnostic=>{if(diagnostic.code==="malformed_part"&&diagnostic.path==="systemPayload.outputHistoryItems.goalStatus.condition"){writeStderrLineSafe(`qwen: ${diagnostic.message}`)}},"onDiagnostic")})}presentationAdapter(){return{resolveToolMetadata:__name((toolName,args)=>this.toolCallEmitter.resolveToolMetadata(toolName,{...args}),"resolveToolMetadata"),formatHistoryGap:__name(gap=>formatHistoryGapNotice(gap),"formatHistoryGap"),buildToolResultContentPrefix}}async sendUpdate(update){if(this.ctx.messageRewriter){await this.ctx.messageRewriter.interceptUpdate(update);return}await this.ctx.sendUpdate(update)}copyCumulativeUsage(state){const cumulative=this.ctx.cumulativeUsage;if(!cumulative)return;cumulative.promptTokens=state.cumulativeUsage.promptTokens;cumulative.cachedTokens=state.cumulativeUsage.cachedTokens;cumulative.candidateTokens=state.cumulativeUsage.candidateTokens;cumulative.apiTimeMs=state.cumulativeUsage.apiTimeMs}setActiveRecordId(recordId,timestamp){this.ctx.setActiveRecordId?.(recordId,timestamp)}};function toPendingTranscriptToolCall(pending){return{callId:pending.callId,toolName:pending.toolName,...pending.resolvedToolName?{resolvedToolName:pending.resolvedToolName}:{},sourceRecordId:pending.recordId,...pending.timestamp?{sourceTimestamp:pending.timestamp}:{},...pending.rawCallId?{rawCallId:pending.rawCallId}:{},...pending.timingMatched?{timingMatched:true}:{}}}__name(toPendingTranscriptToolCall,"toPendingTranscriptToolCall");function toLegacyPendingToolCall(pending){return{callId:pending.callId,toolName:pending.toolName,...pending.resolvedToolName?{resolvedToolName:pending.resolvedToolName}:{},recordId:pending.sourceRecordId,...pending.sourceTimestamp?{timestamp:pending.sourceTimestamp}:{},...pending.rawCallId?{rawCallId:pending.rawCallId}:{},...pending.timingMatched?{timingMatched:true}:{}}}__name(toLegacyPendingToolCall,"toLegacyPendingToolCall");init_esbuild_shims();import{promises as fsp}from"node:fs";import*as path from"node:path";init_esbuild_shims();import*as childProcess from"node:child_process";var debugLogger2=createDebugLogger("GIT");async function runGit(args,opts={}){return await new Promise((resolve2,reject)=>{childProcess.execFile("git",args,{encoding:"utf-8",...opts.cwd?{cwd:opts.cwd}:{}},(err,stdout)=>{if(err){reject(err);return}resolve2(String(stdout??"").trim())})})}__name(runGit,"runGit");var isGitHubRepositoryAsync=__name(async(opts={})=>{try{const remotes=await runGit(["remote","-v"],opts);return remotes.split("\n").some(line=>{const remoteUrl=line.trim().split(/\s+/)[1];return remoteUrl?isGitHubRemoteUrl(remoteUrl):false})}catch(_error){debugLogger2.debug(`Failed to get git remote:`,_error);return false}},"isGitHubRepositoryAsync");function isGitHubRemoteUrl(remoteUrl){if(remoteUrl.startsWith("git@github.com:")){return true}if(remoteUrl.startsWith("git@")){return false}try{return new URL(remoteUrl).hostname==="github.com"}catch{return false}}__name(isGitHubRemoteUrl,"isGitHubRemoteUrl");var getGitRepoRootAsync=__name(async(opts={})=>{const gitRepoRoot=await runGit(["rev-parse","--show-toplevel"],opts);if(!gitRepoRoot){throw new Error(`Git repo returned empty value`)}return gitRepoRoot},"getGitRepoRootAsync");var getLatestGitHubRelease=__name(async proxy=>{try{const controller=new AbortController;const endpoint=`https://api.github.com/repos/QwenLM/qwen-code-action/releases/latest`;const dispatcher=proxy?new(await loadUndici()).ProxyAgent(proxy):void 0;const response=await fetch(endpoint,{method:"GET",headers:{Accept:"application/vnd.github+json","Content-Type":"application/json","X-GitHub-Api-Version":"2022-11-28"},dispatcher,signal:AbortSignal.any([AbortSignal.timeout(3e4),controller.signal])});if(!response.ok){throw new Error(`Invalid response code: ${response.status} - ${response.statusText}`)}const releaseTag=(await response.json()).tag_name;if(!releaseTag){throw new Error(`Response did not include tag_name field`)}return releaseTag}catch(_error){debugLogger2.debug(`Failed to determine latest qwen-code-action release:`,_error);throw new Error(`Unable to determine the latest qwen-code-action release on GitHub.`)}},"getLatestGitHubRelease");async function getGitHubRepoInfoAsync(opts={}){return parseGitHubRepoInfo(await runGit(["remote","get-url","origin"],opts))}__name(getGitHubRepoInfoAsync,"getGitHubRepoInfoAsync");function parseGitHubRepoInfo(remoteUrl){let urlToParse=remoteUrl;if(remoteUrl.startsWith("git@github.com:")){urlToParse=remoteUrl.replace("git@github.com:","")}else if(remoteUrl.startsWith("git@")){throw new Error(`Owner & repo could not be extracted from remote URL: ${remoteUrl}`)}let parsedUrl;try{parsedUrl=new URL(urlToParse,"https://github.com")}catch{throw new Error(`Owner & repo could not be extracted from remote URL: ${remoteUrl}`)}if(parsedUrl.hostname!=="github.com"){throw new Error(`Owner & repo could not be extracted from remote URL: ${remoteUrl}`)}const parts=parsedUrl.pathname.split("/").filter(part=>part!=="");if(parts.length!==2||!parts[0]||!parts[1]){throw new Error(`Owner & repo could not be extracted from remote URL: ${remoteUrl}`)}return{owner:parts[0],repo:parts[1].replace(/\.git$/,"")}}__name(parseGitHubRepoInfo,"parseGitHubRepoInfo");var debugLogger3=createDebugLogger("SETUP_GITHUB");var GITHUB_WORKFLOW_PATHS=["qwen-dispatch/qwen-dispatch.yml","qwen-assistant/qwen-invoke.yml","issue-triage/qwen-triage.yml","issue-triage/qwen-scheduled-triage.yml","pr-review/qwen-review.yml"];var GITIGNORE_ENTRIES=[".qwen/","gha-creds-*.json"];var MAX_WORKFLOW_DOWNLOAD_BYTES=5*1024*1024;var SetupGithubError=class extends Error{static{__name(this,"SetupGithubError")}code;status;partial;partialResult;constructor(code,message,status,partialResult){super(message);this.name="SetupGithubError";this.code=code;this.status=status;this.partial=partialResult!==void 0;this.partialResult=partialResult}};function isWorkspaceGenerationClosed(error){return Boolean(error&&typeof error==="object"&&"code"in error&&error.code==="workspace_generation_closed")}__name(isWorkspaceGenerationClosed,"isWorkspaceGenerationClosed");var nodeFileOps={assertCanWrite(){},async ensureWorkflowDirectory(gitRepoRoot){await fsp.mkdir(path.join(gitRepoRoot,".github","workflows"),{recursive:true})},async writeTextFile(gitRepoRoot,relativePath,content){const target=path.join(gitRepoRoot,relativePath);await fsp.writeFile(target,content,{mode:420});return{sizeBytes:Buffer.byteLength(content,"utf8")}},async readTextFile(gitRepoRoot,relativePath){try{return await fsp.readFile(path.join(gitRepoRoot,relativePath),"utf8")}catch(error){if(error.code==="ENOENT"){return void 0}throw error}}};async function setupGithub(options={}){const cwd=options.cwd??process.cwd();const fileOps=options.fileOps??nodeFileOps;if(!await isGitHubRepositoryAsync({cwd})){throw new SetupGithubError("github_repository_not_found","Unable to determine the GitHub repository. /setup-github must be run from a git repository.",400)}let gitRepoRoot;try{gitRepoRoot=await getGitRepoRootAsync({cwd})}catch(error){debugLogger3.debug("Failed to get git repo root:",error);throw new SetupGithubError("github_repository_not_found","Unable to determine the GitHub repository. /setup-github must be run from a git repository.",400)}if(options.workspaceRoot){const[gitRootReal,workspaceReal]=await Promise.all([realpathOrResolve(gitRepoRoot),realpathOrResolve(options.workspaceRoot)]);if(gitRootReal!==workspaceReal){throw new SetupGithubError("github_git_root_mismatch","The Git repository root must match the daemon workspace root.",400)}}fileOps.assertCanWrite?.();let releaseTag;try{releaseTag=await getLatestGitHubRelease(options.proxy)}catch(error){writeStderrLine(`qwen setup-github: failed to determine latest qwen-code-action release: ${error instanceof Error?error.message:String(error)}`);debugLogger3.debug("Failed to determine latest qwen-code-action release:",error);throw new SetupGithubError("github_release_lookup_failed","Unable to determine the latest qwen-code-action release on GitHub.",502)}const readmeUrl=`https://github.com/QwenLM/qwen-code-action/blob/${releaseTag}/README.md#quick-start`;const secretsUrl=await resolveSecretsUrl(cwd);const downloads=await downloadWorkflows({releaseTag,proxy:options.proxy,abortSignal:options.abortSignal,fetchImpl:options.fetchImpl??fetch});const result={kind:"github_setup",workspaceCwd:options.workspaceRoot??gitRepoRoot,gitRepoRoot,releaseTag,readmeUrl,...secretsUrl?{secretsUrl}:{},workflows:[],gitignore:{path:".gitignore",status:"skipped"},warnings:[]};result.gitignore=await updateGitignore(gitRepoRoot,fileOps);if(result.gitignore.status==="failed"){result.warnings.push("Failed to update .gitignore.")}try{await fileOps.ensureWorkflowDirectory(gitRepoRoot);for(const workflow of downloads){const relativePath=path.posix.join(".github","workflows",path.posix.basename(workflow.sourcePath));try{const write=await fileOps.writeTextFile(gitRepoRoot,relativePath,workflow.content);result.workflows.push({sourcePath:workflow.sourcePath,path:relativePath,status:"written",sizeBytes:write.sizeBytes})}catch(error){if(isWorkspaceGenerationClosed(error))throw error;result.partial=true;result.workflows.push({sourcePath:workflow.sourcePath,path:relativePath,status:"failed",error:error instanceof Error?error.message:String(error)});throw new SetupGithubError("github_workflow_write_failed",`Unable to write ${relativePath}.`,500,result)}}}catch(error){if(isWorkspaceGenerationClosed(error))throw error;if(error instanceof SetupGithubError)throw error;throw new SetupGithubError("github_workflow_write_failed","Unable to create .github/workflows.",500,result)}return result}__name(setupGithub,"setupGithub");async function updateGitignore(gitRepoRoot,fileOps=nodeFileOps){try{const existingContent=await fileOps.readTextFile(gitRepoRoot,".gitignore");if(existingContent===void 0){const content=GITIGNORE_ENTRIES.join("\n")+"\n";await fileOps.writeTextFile(gitRepoRoot,".gitignore",content);return{path:".gitignore",status:"created",added:[...GITIGNORE_ENTRIES]}}const missingEntries=GITIGNORE_ENTRIES.filter(entry=>!existingContent.split(/\r?\n/).some(line=>line.split("#")[0].trim()===entry));if(missingEntries.length===0){return{path:".gitignore",status:"unchanged"}}const nextContent=existingContent+"\n"+missingEntries.join("\n")+"\n";await fileOps.writeTextFile(gitRepoRoot,".gitignore",nextContent);return{path:".gitignore",status:"updated",added:missingEntries}}catch(error){if(isWorkspaceGenerationClosed(error))throw error;debugLogger3.debug("Failed to update .gitignore:",error);return{path:".gitignore",status:"failed",error:error instanceof Error?error.message:String(error)}}}__name(updateGitignore,"updateGitignore");async function downloadWorkflows(options){const internalAbort=new AbortController;try{const dispatcher=options.proxy?new(await loadUndici()).ProxyAgent(options.proxy):void 0;return await Promise.all(GITHUB_WORKFLOW_PATHS.map(async workflow=>{const endpoint=`https://raw.githubusercontent.com/QwenLM/qwen-code-action/refs/tags/${options.releaseTag}/examples/workflows/${workflow}`;const response=await options.fetchImpl(endpoint,{method:"GET",dispatcher,signal:AbortSignal.any([AbortSignal.timeout(3e4),internalAbort.signal,...options.abortSignal?[options.abortSignal]:[]])});if(!response.ok){throw new Error(`Invalid response code downloading ${endpoint}: ${response.status} - ${response.statusText}`)}return{sourcePath:workflow,content:await readResponseTextWithLimit(response,workflow)}}))}catch(error){internalAbort.abort();const message=error instanceof Error?error.message:String(error);debugLogger3.debug("Failed to download qwen-code-action workflows:",error);throw new SetupGithubError("github_workflow_download_failed",`Unable to download qwen-code-action workflows from GitHub. ${message}`,502)}}__name(downloadWorkflows,"downloadWorkflows");async function readResponseTextWithLimit(response,sourcePath){const contentLength=response.headers.get("content-length");if(contentLength!==null){const parsedLength=Number(contentLength);if(Number.isFinite(parsedLength)&&parsedLength>MAX_WORKFLOW_DOWNLOAD_BYTES){throw new Error(`${sourcePath} exceeds download limit of ${MAX_WORKFLOW_DOWNLOAD_BYTES} bytes`)}}if(!response.body)return"";const reader=response.body.getReader();const chunks=[];let totalBytes=0;try{while(true){const{done,value}=await reader.read();if(done)break;if(!value)continue;totalBytes+=value.byteLength;if(totalBytes>MAX_WORKFLOW_DOWNLOAD_BYTES){await reader.cancel().catch(()=>{});throw new Error(`${sourcePath} exceeds download limit of ${MAX_WORKFLOW_DOWNLOAD_BYTES} bytes`)}chunks.push(value)}}finally{reader.releaseLock()}const body=new Uint8Array(totalBytes);let offset=0;for(const chunk of chunks){body.set(chunk,offset);offset+=chunk.byteLength}return new TextDecoder().decode(body)}__name(readResponseTextWithLimit,"readResponseTextWithLimit");async function resolveSecretsUrl(cwd){try{const repoInfo=await getGitHubRepoInfoAsync({cwd});return`https://github.com/${repoInfo.owner}/${repoInfo.repo}/settings/secrets/actions`}catch{return void 0}}__name(resolveSecretsUrl,"resolveSecretsUrl");async function realpathOrResolve(input){try{return await fsp.realpath(input)}catch{return path.resolve(input)}}__name(realpathOrResolve,"realpathOrResolve");init_esbuild_shims();import{randomUUID}from"node:crypto";init_esbuild_shims();function getToolResultCallId(record){return getExplicitToolResultCallId(record)??record.uuid}__name(getToolResultCallId,"getToolResultCallId");function getExplicitToolResultCallId(record){const resultCallId=record.toolCallResult?.callId;if(typeof resultCallId==="string"&&resultCallId.length>0){return resultCallId}return extractFunctionResponseId(record)}__name(getExplicitToolResultCallId,"getExplicitToolResultCallId");function extractFunctionResponseId(record){if(!record.message?.parts){return void 0}for(const part of record.message.parts){const id="functionResponse"in part?part.functionResponse?.id:void 0;if(typeof id==="string"&&id.length>0){return id}}return void 0}__name(extractFunctionResponseId,"extractFunctionResponseId");function extractToolNameFromRecord(record){if(!record.message?.parts){return void 0}for(const part of record.message.parts){if("functionResponse"in part&&part.functionResponse?.name){return part.functionResponse.name}}return void 0}__name(extractToolNameFromRecord,"extractToolNameFromRecord");function normalizeFunctionCallArgs(args){if(args&&typeof args==="object"){return args}if(typeof args==="string"){try{const parsed=JSON.parse(args);if(parsed&&typeof parsed==="object"){return parsed}}catch{}}return void 0}__name(normalizeFunctionCallArgs,"normalizeFunctionCallArgs");function buildToolCallArgsIndex(records){const byId=new Map;const byName=new Map;for(const record of records){if(record.type!=="assistant"||!record.message?.parts)continue;for(const part of record.message.parts){if(!("functionCall"in part)||!part.functionCall?.name)continue;const normalizedArgs=normalizeFunctionCallArgs(part.functionCall.args);if(!normalizedArgs)continue;const toolName=part.functionCall.name;const callId=typeof part.functionCall.id==="string"?part.functionCall.id:null;if(callId){byId.set(callId,normalizedArgs)}const queue=byName.get(toolName)??[];queue.push(normalizedArgs);byName.set(toolName,queue)}}return{byId,byName}}__name(buildToolCallArgsIndex,"buildToolCallArgsIndex");function calculateFileStats(records){const argsIndex=buildToolCallArgsIndex(records);const byNameCursor=new Map;const stats={filesWritten:0,linesAdded:0,linesRemoved:0,writtenFilePaths:new Set};for(const record of records){if(record.type!=="tool_result"||isInternalCodeModeToolResult(record)||!record.toolCallResult)continue;const toolName=extractToolNameFromRecord(record);const callId=getExplicitToolResultCallId(record);const argsFromId=callId&&argsIndex.byId.has(callId)?argsIndex.byId.get(callId):void 0;let args=argsFromId;if(!args&&toolName){const queue=argsIndex.byName.get(toolName);if(queue&&queue.length>0){const cursor=byNameCursor.get(toolName)??0;args=queue[cursor];byNameCursor.set(toolName,cursor+1)}}const{resultDisplay}=record.toolCallResult;if(resultDisplay&&typeof resultDisplay==="object"&&"fileName"in resultDisplay){const display=resultDisplay;const hasOriginalContent="originalContent"in display;const hasNewContent="newContent"in display;let filePath;if(typeof display.fileName==="string"){filePath=args?.["file_path"]||display.fileName}else{filePath="unknown"}if(hasOriginalContent||hasNewContent){stats.filesWritten++;stats.writtenFilePaths.add(filePath);if(display.diffStat){stats.linesAdded+=display.diffStat.model_added_lines??0;stats.linesRemoved+=display.diffStat.model_removed_lines??0}else if(!display.truncatedForSession){const oldText=String(display.originalContent??"");const newText=String(display.newContent??"");const oldLines=oldText.split("\n").filter(line=>line.length>0).length;const newLines=newText.split("\n").filter(line=>line.length>0).length;stats.linesAdded+=newLines;stats.linesRemoved+=oldLines}}}}return stats}__name(calculateFileStats,"calculateFileStats");function extractTaskToolTokens(record){if(record.type!=="tool_result"||!record.toolCallResult?.resultDisplay){return 0}const{resultDisplay}=record.toolCallResult;if(typeof resultDisplay==="object"&&"type"in resultDisplay&&resultDisplay.type==="task_execution"&&"executionSummary"in resultDisplay){const summary=resultDisplay.executionSummary;if(typeof summary.totalTokens==="number"){return summary.totalTokens}return(summary.inputTokens??0)+(summary.outputTokens??0)+(summary.thoughtTokens??0)+(summary.cachedTokens??0)}return 0}__name(extractTaskToolTokens,"extractTaskToolTokens");function calculateTokenStats(records){let totalTokens=0;let lastValidRecord=null;for(const record of records){if(record.type==="assistant"){if(record.usageMetadata){totalTokens+=record.usageMetadata.totalTokenCount??0}if(record.usageMetadata?.totalTokenCount!==void 0&&record.contextWindowSize!==void 0){lastValidRecord={totalTokenCount:record.usageMetadata.totalTokenCount,contextWindowSize:record.contextWindowSize}}}const taskTokens=extractTaskToolTokens(record);if(taskTokens>0){totalTokens+=taskTokens}}if(lastValidRecord){const percent=lastValidRecord.totalTokenCount/lastValidRecord.contextWindowSize*100;return{totalTokens,contextUsagePercent:Math.round(percent*10)/10,contextWindowSize:lastValidRecord.contextWindowSize}}const lastAssistantRecord=[...records].reverse().find(r=>r.type==="assistant"&&r.contextWindowSize!==void 0);return{totalTokens,contextWindowSize:lastAssistantRecord?.contextWindowSize}}__name(calculateTokenStats,"calculateTokenStats");function createExportSessionConfig(config){const supportedConfig={...config,getToolRegistry:__name(()=>{const registry=config.getToolRegistry?.();return{getTool:__name(toolName=>registry?.getTool?.(toolName)??null,"getTool")}},"getToolRegistry")};return new Proxy(supportedConfig,{get(target,prop,receiver){if(prop in target){return Reflect.get(target,prop,receiver)}if(typeof prop==="symbol"){return void 0}throw new Error(`Export session replay config does not implement ${prop}`)}})}__name(createExportSessionConfig,"createExportSessionConfig");async function collectSessionMetadata(conversation,config){const{sessionId,startTime,messages}=conversation;const firstRecord=messages[0];const cwd=firstRecord?.cwd??"";const gitBranch=firstRecord?.gitBranch;let gitRepo;if(cwd){const{getGitRepoName}=await import("./deferred-core-runtime-3CXBZIOG.js");gitRepo=getGitRepoName(cwd)}let model;for(const record of messages){if(record.type==="assistant"&&record.model){model=record.model;break}}const channel=config.getChannel?.();const promptCount=messages.filter(m=>m.type==="user").length;const fileStats=calculateFileStats(messages);const tokenStats=calculateTokenStats(messages);return{sessionId,startTime,exportTime:new Date().toISOString(),cwd,gitRepo,gitBranch,model,channel,promptCount,contextUsagePercent:tokenStats.contextUsagePercent,contextWindowSize:tokenStats.contextWindowSize,totalTokens:tokenStats.totalTokens,filesWritten:fileStats.writtenFilePaths.size,linesAdded:fileStats.linesAdded,linesRemoved:fileStats.linesRemoved,uniqueFiles:Array.from(fileStats.writtenFilePaths)}}__name(collectSessionMetadata,"collectSessionMetadata");function indexGoalStateRecords(records){const positions=new Map;const goalStates=[];records.forEach((record,index)=>{positions.set(record.uuid,index);if(record.type!=="system"||record.subtype!=="goal_state")return;const payload=parseGoalStateRecordPayloadV2(record.systemPayload);if(!payload)return;goalStates.push({index,uuid:record.uuid,timestamp:record.timestamp,payload})});return{positions,goalStates}}__name(indexGoalStateRecords,"indexGoalStateRecords");function describeGoalState(payload){const goal=payload.snapshot.goal;if(!goal)return`Goal ${payload.cause}`;const reason=goal.lastReason?`: ${goal.lastReason}`:"";return`Goal ${payload.cause} (${goal.status}, turn ${goal.turnCount})${reason}`}__name(describeGoalState,"describeGoalState");var ExportSessionContext=class{static{__name(this,"ExportSessionContext")}sessionId;config;messages=[];currentMessage=null;activeRecordId=null;activeRecordTimestamp=null;toolCallMap=new Map;recordPositions;pendingGoalStates;constructor(sessionId,config,records){this.sessionId=sessionId;this.config=createExportSessionConfig(config);const{positions,goalStates}=indexGoalStateRecords(records);this.recordPositions=positions;this.pendingGoalStates=goalStates}async sendUpdate(update){switch(update.sessionUpdate){case"user_message_chunk":this.handleMessageChunk("user",update.content,"user",void 0,agentAuthorOf(update._meta));break;case"agent_message_chunk":{const usageMeta=update._meta;const usageMetadata=usageMeta?.usage?{promptTokenCount:usageMeta.usage.inputTokens,candidatesTokenCount:usageMeta.usage.outputTokens,totalTokenCount:usageMeta.usage.totalTokens,thoughtsTokenCount:usageMeta.usage.thoughtTokens,cachedContentTokenCount:usageMeta.usage.cachedReadTokens}:void 0;this.handleMessageChunk("assistant",update.content,"assistant",usageMetadata,agentAuthorOf(update._meta));break}case"agent_thought_chunk":this.handleMessageChunk("assistant",update.content,"thinking");break;case"tool_call":this.flushCurrentMessage();this.handleToolCallStart(update);break;case"tool_call_update":this.handleToolCallUpdate(update);break;case"plan":this.flushCurrentMessage();this.handlePlanUpdate(update);break;default:break}}setActiveRecordId(recordId,timestamp){const position=recordId===null?void 0:this.recordPositions.get(recordId);if(position!==void 0)this.emitGoalStatesBefore(position);this.activeRecordId=recordId;this.activeRecordTimestamp=timestamp??null}emitGoalStatesBefore(position){while(this.pendingGoalStates.length>0&&this.pendingGoalStates[0].index<position){const{uuid,timestamp,payload}=this.pendingGoalStates.shift();this.flushCurrentMessage(this.currentMessage?.sourceUuid===uuid);this.messages.push({uuid,sessionId:this.sessionId,timestamp,type:"system",message:{role:"system",parts:[{text:describeGoalState(payload)}]},goalState:payload})}}getMessageTimestamp(){return this.activeRecordTimestamp??new Date().toISOString()}getMessageUuid(){return this.activeRecordId??randomUUID()}handleMessageChunk(role,content,messageRole=role,usageMetadata,author){if(content.type!=="text"||!content.text)return;const sameMessage=this.currentMessage!==null&&this.currentMessage.type===role&&this.currentMessage.role===messageRole&&this.currentMessage.author?.name===author?.name&&(!author||this.currentMessage.sourceUuid===(this.activeRecordId??void 0));if(this.currentMessage&&!sameMessage){this.flushCurrentMessage()}if(this.currentMessage&&sameMessage){this.currentMessage.parts.push({text:content.text});if(this.activeRecordTimestamp){this.currentMessage.sourceTimestamp=this.activeRecordTimestamp}if(usageMetadata&&role==="assistant"){this.currentMessage.usageMetadata=usageMetadata}}else{this.currentMessage={type:role,role:messageRole,parts:[{text:content.text}],sourceUuid:this.activeRecordId??void 0,sourceTimestamp:this.activeRecordTimestamp??void 0,...usageMetadata&&role==="assistant"?{usageMetadata}:{},...author?{author}:{}}}}handleToolCallStart(update){const toolCall={toolCallId:update.toolCallId,kind:update.kind||"other",title:typeof update.title==="string"?update.title:update.title||"",status:update.status||"pending",rawInput:update.rawInput,...isShellResultDisplay(update.rawOutput)?{rawOutput:update.rawOutput}:{},locations:update.locations,timestamp:Date.now()};this.toolCallMap.set(update.toolCallId,toolCall);const uuid=this.getMessageUuid();this.messages.push({uuid,sessionId:this.sessionId,timestamp:this.getMessageTimestamp(),type:"tool_call",toolCall})}handleToolCallUpdate(update){const toolCall=this.toolCallMap.get(update.toolCallId);if(toolCall){if(update.status)toolCall.status=update.status;if(update.content)toolCall.content=update.content;if(isShellResultDisplay(update.rawOutput))toolCall.rawOutput=update.rawOutput;if(update.title)toolCall.title=typeof update.title==="string"?update.title:""}}handlePlanUpdate(update){const uuid=this.getMessageUuid();const timestamp=this.getMessageTimestamp();const todoText=update.entries.map(entry=>{const checkbox=entry.status==="completed"?"[x]":entry.status==="in_progress"?"[-]":"[ ]";return`- ${checkbox} ${entry.content}`}).join("\n");const todoContent=[{type:"content",content:{type:"text",text:todoText}}];this.messages.push({uuid,sessionId:this.sessionId,timestamp,type:"tool_call",toolCall:{toolCallId:uuid,kind:"todowrite",title:"TodoList",status:"completed",content:todoContent,timestamp:Date.parse(timestamp)}})}flushCurrentMessage(freshUuid=false){if(!this.currentMessage)return;const uuid=freshUuid?randomUUID():this.currentMessage.sourceUuid??this.getMessageUuid();const timestamp=this.currentMessage.sourceTimestamp??this.getMessageTimestamp();const exportMessage={uuid,sessionId:this.sessionId,timestamp,type:this.currentMessage.type,message:{role:this.currentMessage.role,parts:this.currentMessage.parts}};if(this.currentMessage.author){exportMessage.author=this.currentMessage.author}if(this.currentMessage.type==="assistant"&&this.currentMessage.usageMetadata){exportMessage.usageMetadata=this.currentMessage.usageMetadata}this.messages.push(exportMessage);this.currentMessage=null}flushMessages(){this.emitGoalStatesBefore(Number.POSITIVE_INFINITY);this.flushCurrentMessage()}getMessages(){return this.messages}};function agentAuthorOf(meta){if(!meta||typeof meta!=="object")return void 0;const parsed=parseQwenAgentMessageMeta(meta[QWEN_AGENT_MESSAGE_META_KEY]);const name=parsed?.author?.name.trim();return name?{name}:void 0}__name(agentAuthorOf,"agentAuthorOf");async function collectSessionData(conversation,config){const exportContext=new ExportSessionContext(conversation.sessionId,config,conversation.messages);const replayer=new HistoryReplayer(exportContext);await replayer.replay(conversation.messages);exportContext.flushMessages();const messages=exportContext.getMessages();const metadata=await collectSessionMetadata(conversation,config);return{sessionId:conversation.sessionId,startTime:conversation.startTime,messages,metadata}}__name(collectSessionData,"collectSessionData");init_esbuild_shims();init_esbuild_shims();function buildTruncatedDiffPreviewText2(display){const fileName=typeof display["fileName"]==="string"?display["fileName"]:"the edited file";const fileDiffLength=typeof display["fileDiffLength"]==="number"?` Original fileDiff length: ${display["fileDiffLength"]} chars.`:"";if(display["fileDiffTruncated"]===true){return`Full diff omitted from saved session history for ${fileName}.${fileDiffLength}`}return`Saved session preview only for ${fileName}; full original and new file contents are unavailable.`}__name(buildTruncatedDiffPreviewText2,"buildTruncatedDiffPreviewText");function normalizeSessionData(sessionData,originalRecords,config){const normalized=[...sessionData.messages];const toolCallIndexById=new Map;normalized.forEach((message,index)=>{if(message.type==="tool_call"&&message.toolCall?.toolCallId){toolCallIndexById.set(message.toolCall.toolCallId,index)}});const assistantMessageIndexByUuid=new Map;normalized.forEach((message,index)=>{if(message.type==="assistant"&&(message.message?.role!=="thinking"||!assistantMessageIndexByUuid.has(message.uuid))){assistantMessageIndexByUuid.set(message.uuid,index)}});for(const record of originalRecords){if(record.type!=="tool_result"||isInternalCodeModeToolResult(record))continue;const toolCallMessage=buildToolCallMessageFromResult(record,config);if(!toolCallMessage?.toolCall)continue;const existingIndex=toolCallIndexById.get(toolCallMessage.toolCall.toolCallId);if(existingIndex===void 0){toolCallIndexById.set(toolCallMessage.toolCall.toolCallId,normalized.length);normalized.push(toolCallMessage);continue}const existingMessage=normalized[existingIndex];if(existingMessage.type!=="tool_call"||!existingMessage.toolCall){continue}mergeToolCallData(existingMessage.toolCall,toolCallMessage.toolCall)}for(const record of originalRecords){if(record.type!=="assistant")continue;if(!record.usageMetadata)continue;const existingIndex=assistantMessageIndexByUuid.get(record.uuid);if(existingIndex!==void 0){if(!normalized[existingIndex].usageMetadata){normalized[existingIndex].usageMetadata=record.usageMetadata}}}return{...sessionData,messages:normalized}}__name(normalizeSessionData,"normalizeSessionData");function mergeToolCallData(existing,incoming){if(!existing.content||existing.content.length===0){existing.content=incoming.content}if(existing.status==="pending"||existing.status==="in_progress"){existing.status=incoming.status}if(incoming.rawOutput!==void 0){existing.rawOutput=incoming.rawOutput}if(!existing.rawInput&&incoming.rawInput){existing.rawInput=incoming.rawInput}if(!existing.kind||existing.kind==="other"){existing.kind=incoming.kind}if((!existing.title||existing.title==="")&&incoming.title){existing.title=incoming.title}if((!existing.locations||existing.locations.length===0)&&incoming.locations&&incoming.locations.length>0){existing.locations=incoming.locations}}__name(mergeToolCallData,"mergeToolCallData");function buildToolCallMessageFromResult(record,config){const toolCallResult=record.toolCallResult;const toolName=extractToolNameFromRecord2(record);if(toolName===ToolNames.TODO_WRITE){return null}const toolCallId2=getToolResultCallId(record);const functionCallArgs=extractFunctionCallArgs(record);const{kind,title,locations}=resolveToolMetadata(config,toolName,functionCallArgs??toolCallResult?.args);const rawInput=normalizeRawInput(functionCallArgs??toolCallResult?.args);const resultContent=extractDiffContent2(toolCallResult?.resultDisplay)??transformPartsToToolCallContent(record.message?.parts??[]);const content=isVisionBridgeNoticeDisplay(toolCallResult?.resultDisplay)?[{type:"content",content:{type:"text",text:sanitizeTerminalText(formatVisionBridgeNoticeDisplay(toolCallResult.resultDisplay))}},...resultContent]:resultContent;return{uuid:record.uuid,parentUuid:record.parentUuid,sessionId:record.sessionId,timestamp:record.timestamp,type:"tool_call",toolCall:{toolCallId:toolCallId2,kind,title,status:toolCallResult?.error?"failed":"completed",rawInput,...isShellResultDisplay(toolCallResult?.resultDisplay)?{rawOutput:toolCallResult.resultDisplay}:{},content,locations,timestamp:Date.parse(record.timestamp)}}}__name(buildToolCallMessageFromResult,"buildToolCallMessageFromResult");function extractToolNameFromRecord2(record){if(!record.message?.parts){return""}for(const part of record.message.parts){if("functionResponse"in part&&part.functionResponse?.name){return part.functionResponse.name}}return""}__name(extractToolNameFromRecord2,"extractToolNameFromRecord");function extractFunctionCallArgs(record){if(!record.message?.parts){return void 0}for(const part of record.message.parts){if("functionCall"in part&&part.functionCall?.args){return part.functionCall.args}}return void 0}__name(extractFunctionCallArgs,"extractFunctionCallArgs");function resolveToolMetadata(config,toolName,args){const toolRegistry=config.getToolRegistry?.();const tool=toolName?toolRegistry?.getTool?.(toolName):void 0;let title=tool?.displayName??toolName??"tool_call";let locations;const kind=mapToolKind(tool?.kind,toolName);if(tool?.build&&args){try{const invocation=tool.build(args);title=`${title}: ${invocation.getDescription()}`;locations=invocation.toolLocations().map(loc=>({path:loc.path,line:loc.line??null}))}catch{}}return{kind,title,locations}}__name(resolveToolMetadata,"resolveToolMetadata");function mapToolKind(kind,toolName){if(toolName&&(toolName===ToolNames.EXIT_PLAN_MODE||toolName===ToolNames.ENTER_PLAN_MODE)){return"switch_mode"}if(toolName&&toolName===ToolNames.TODO_WRITE){return"todowrite"}const allowedKinds=new Set(["read","edit","delete","move","search","execute","think","fetch","other"]);if(kind&&allowedKinds.has(kind)){return kind}return"other"}__name(mapToolKind,"mapToolKind");function extractDiffContent2(resultDisplay){if(!resultDisplay||typeof resultDisplay!=="object"){return null}const display=resultDisplay;if("fileName"in display&&"newContent"in display){if(display["truncatedForSession"]===true){return[{type:"content",content:{type:"text",text:buildTruncatedDiffPreviewText2(display)}}]}return[{type:"diff",path:typeof display["filePath"]==="string"?display["filePath"]:display["fileName"],oldText:display["originalContent"]??"",newText:display["newContent"]}]}return null}__name(extractDiffContent2,"extractDiffContent");function normalizeRawInput(value){if(typeof value==="string")return value;if(typeof value==="object"&&value!==null)return value;return void 0}__name(normalizeRawInput,"normalizeRawInput");function transformPartsToToolCallContent(parts){const content=[];for(const part of parts){if("text"in part&&part.text){content.push({type:"content",content:{type:"text",text:part.text}});continue}if("functionResponse"in part&&part.functionResponse){const response=part.functionResponse.response;const outputField=response?.["output"];const errorField=response?.["error"];const responseText=typeof outputField==="string"?outputField:typeof errorField==="string"?errorField:JSON.stringify(response);content.push({type:"content",content:{type:"text",text:responseText}})}}return content}__name(transformPartsToToolCallContent,"transformPartsToToolCallContent");init_esbuild_shims();function toMarkdown(sessionData){const lines=[];const metadata=sessionData.metadata;lines.push("# Chat Session Export\n");lines.push(`- **Session ID**: \`${sanitizeText(sessionData.sessionId)}\``);lines.push(`- **Start Time**: ${sanitizeText(sessionData.startTime)}`);lines.push(`- **Exported**: ${sanitizeText(metadata?.exportTime??new Date().toISOString())}`);lines.push("");if(metadata?.cwd){lines.push(`- **Working Directory**: \`${sanitizeText(metadata.cwd)}\``)}if(metadata?.gitRepo){lines.push(`- **Git Repository**: ${sanitizeText(metadata.gitRepo)}`)}if(metadata?.gitBranch){lines.push(`- **Git Branch**: \`${sanitizeText(metadata.gitBranch)}\``)}lines.push("");if(metadata?.model){lines.push(`- **Model**: ${sanitizeText(metadata.model)}`)}if(metadata?.channel){lines.push(`- **Channel**: ${sanitizeText(metadata.channel)}`)}if(metadata?.promptCount!==void 0){lines.push(`- **Prompt Count**: ${metadata.promptCount}`)}lines.push("");if(metadata?.totalTokens!==void 0){lines.push(`- **Total Tokens**: ${metadata.totalTokens}`)}if(metadata?.contextWindowSize!==void 0){lines.push(`- **Context Window Size**: ${metadata.contextWindowSize}`)}if(metadata?.contextUsagePercent!==void 0){lines.push(`- **Context Usage**: ${metadata.contextUsagePercent}%`)}lines.push("");if(metadata?.filesWritten!==void 0){lines.push(`- **Files Written**: ${metadata.filesWritten}`)}if(metadata?.linesAdded!==void 0){lines.push(`- **Lines Added**: ${metadata.linesAdded}`)}if(metadata?.linesRemoved!==void 0){lines.push(`- **Lines Removed**: ${metadata.linesRemoved}`)}if(metadata?.uniqueFiles&&metadata.uniqueFiles.length>0){lines.push("");lines.push("<details>");lines.push(`<summary><strong>Unique Files Referenced (${metadata.uniqueFiles.length})</strong></summary>`);lines.push("");for(const file of metadata.uniqueFiles){lines.push(`- \`${sanitizeText(file)}\``)}lines.push("</details>")}lines.push("\n---\n");for(const message of sessionData.messages){if(message.type==="user"){lines.push("## User\n");lines.push(formatAuthoredContent(message))}else if(message.type==="assistant"){lines.push("## Assistant\n");lines.push(formatAuthoredContent(message))}else if(message.type==="tool_call"){lines.push(formatToolCall(message))}else if(message.type==="system"){lines.push("### System\n");const text=formatMessageContent(message);lines.push(`> ${text.replace(/\n/g,"\n> ")}`)}lines.push("\n")}return lines.join("\n")}__name(toMarkdown,"toMarkdown");function formatAuthoredContent(message){const content=formatMessageContent(message);const name=message.author?.name;if(!name)return content;const safeName=sanitizeText(name).replace(/[*_`[\]\\]/g,"\\$&");return`**${safeName}**:
3
+ import{formatHistoryGapNotice}from"./chunk-LWJBPGIT.js";import{sanitizeTerminalText}from"./chunk-64CA3W6G.js";import{loadUndici}from"./chunk-XKSB7VTV.js";import{DAEMON_ERROR_KINDS,QWEN_AGENT_MESSAGE_META_KEY,createDaemonTranscriptState,finalizeOfflineDaemonTranscriptState,normalizeDaemonEvent,parseQwenAgentMessageMeta,reduceDaemonTranscriptEvents}from"./chunk-CCTQPUAG.js";import{DAEMON_INPUT_ANNOTATIONS_META_KEY,LOAD_REPLAY_META_KEY,parseBackgroundNotificationTurn}from"./chunk-WBDNGVHU.js";import{longestStreak,remarkGfm}from"./chunk-3SWMGBN3.js";import{factorySpace,markdownLineEnding,remarkParse,unified}from"./chunk-AZ3CKMCT.js";import{ok}from"./chunk-TDDRZUJO.js";import{isGoalCheckpointBookkeepingRecord,projectGoalCard}from"./chunk-A5TAAMML.js";import{createToolLifecycle,observeToolResultBoundary,toolResultBoundaryArtifact}from"./chunk-LZNBHBAJ.js";import{isShellResultDisplay}from"./chunk-T7CHK6C2.js";import{TranscriptRecordPreparationError,isInternalCodeModeToolResult,prepareTranscriptRecords,projectUserTranscriptForDisplay,stripGeneratedAttachmentTokens}from"./chunk-DBA3F3D7.js";import{GOAL_PAUSE_REASON_COMMAND,parseGoalSnapshotV2,parseGoalStateCause,parseGoalStateRecordPayloadV2}from"./chunk-CMLAE3UB.js";import{formatVisionBridgeNoticeDisplay,isVisionBridgeNoticeDisplay}from"./chunk-TNCN2JX2.js";import{EVENT_API_ERROR,EVENT_API_RESPONSE,EVENT_TOOL_CALL}from"./chunk-XHV5HLJS.js";import{writeStderrLine,writeStderrLineSafe}from"./chunk-SLPJ4OII.js";import{SchemaValidator}from"./chunk-SVAPAMMG.js";import{ToolNames}from"./chunk-SBZFGYYS.js";import{createDebugLogger}from"./chunk-JAUJI56S.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name}from"./chunk-KBWJGX7I.js";init_esbuild_shims();var acpUpdateArtifacts=new WeakMap;var projectedAcpUpdates=new WeakMap;var projectedHeadlessMessages=new WeakMap;function associateAcpToolResultArtifact(update,artifact){if(isObject(update))acpUpdateArtifacts.set(update,artifact)}__name(associateAcpToolResultArtifact,"associateAcpToolResultArtifact");function observeAcpToolResultProjection(input,output,sessionId,wireUpdate=output){try{if(isObject(wireUpdate)&&projectedAcpUpdates.has(wireUpdate))return;const mutated=input!==output;const artifact=acpUpdateArtifacts.get(input)??{state:"undecided",kinds:[]};const common={sessionId,toolCallId:toolCallId(input)};const inputEligible=observeToolResultBoundary({stage:"acp_projection_input",...common,mutated,artifacts:[artifact],values:__name(()=>acpToolResultValues(input),"values")});const outputEligible=observeToolResultBoundary({stage:"acp_projection_output",...common,mutated,artifacts:[artifact],values:__name(()=>acpToolResultValues(output),"values")});if((inputEligible||outputEligible)&&isObject(wireUpdate)){projectedAcpUpdates.set(wireUpdate,{mutated,artifact,sessionId})}}catch{}}__name(observeAcpToolResultProjection,"observeAcpToolResultProjection");function observeAcpToolResultWire(message,payloadUtf8Bytes){try{const record=asRecord(message);if(!record)return;const updates=acpWireUpdates(record).flatMap(update=>{const projection=projectedAcpUpdates.get(update);return projection?[{update,projection}]:[]});if(updates.length===0)return;const params=asRecord(record["params"]);const projectionSessionIds=new Set(updates.map(({projection})=>projection.sessionId));const toolCallIds=updates.flatMap(({update})=>{const id=toolCallId(update);return id===void 0?[]:[id]});observeToolResultBoundary({stage:"acp_wire",sessionId:typeof params?.["sessionId"]==="string"?params["sessionId"]:projectionSessionIds.size===1?projectionSessionIds.values().next().value:void 0,toolCallId:updates.length===1?toolCallId(updates[0].update):void 0,...updates.length>1?{toolCallIds}:{},wireUtf8Bytes:payloadUtf8Bytes+1,mutated:updates.some(({projection})=>projection.mutated),artifacts:updates.map(({projection})=>projection.artifact),values:__name(()=>updates.flatMap(({update})=>acpToolResultValues(update)),"values")});for(const{update}of updates)projectedAcpUpdates.delete(update)}catch{}}__name(observeAcpToolResultWire,"observeAcpToolResultWire");function observeHeadlessToolResultProjection(message,inputContent,outputContent,toolCallId2,artifact){try{const mutated=inputContent!==outputContent;const inputEligible=observeToolResultBoundary({stage:"headless_projection_input",sessionId:message.session_id,toolCallId:toolCallId2,mutated,artifacts:[artifact],values:[{representation:"headless_content",value:inputContent}]});const outputEligible=observeToolResultBoundary({stage:"headless_projection_output",sessionId:message.session_id,toolCallId:toolCallId2,mutated,artifacts:[artifact],values:[{representation:"headless_content",value:outputContent}]});if(inputEligible||outputEligible){projectedHeadlessMessages.set(message,{mutated,artifact,sessionId:message.session_id})}}catch{}}__name(observeHeadlessToolResultProjection,"observeHeadlessToolResultProjection");function observeHeadlessToolResultWire(message,frame){try{if(!projectedHeadlessMessages.has(message))return;const projection=projectedHeadlessMessages.get(message);const toolResults=headlessToolResults(message);const values=toolResults.flatMap(toolResultValues);observeToolResultBoundary({stage:"headless_wire",sessionId:message.session_id,toolCallId:toolResults.length===1&&typeof toolResults[0].tool_use_id==="string"?toolResults[0].tool_use_id:void 0,...toolResults.length>1?{toolCallIds:toolResults.map(toolResult=>toolResult.tool_use_id)}:{},wireUtf8Bytes:Buffer.byteLength(frame,"utf8"),mutated:projection.mutated,artifacts:[projection.artifact],values});projectedHeadlessMessages.delete(message)}catch{}}__name(observeHeadlessToolResultWire,"observeHeadlessToolResultWire");function observeHeadlessJsonToolResultWire(messages,frame){try{const observedMessages=messages.filter(message=>projectedHeadlessMessages.has(message));if(observedMessages.length===0)return;const toolResults=observedMessages.flatMap(headlessToolResults);const values=toolResults.flatMap(toolResultValues);observeToolResultBoundary({stage:"headless_wire",sessionId:new Set(observedMessages.map(message=>message.session_id)).size===1?observedMessages[0].session_id:void 0,toolCallId:toolResults.length===1?toolResults[0].tool_use_id:void 0,...toolResults.length>1?{toolCallIds:toolResults.map(toolResult=>toolResult.tool_use_id)}:{},wireUtf8Bytes:Buffer.byteLength(frame,"utf8"),mutated:observedMessages.some(message=>projectedHeadlessMessages.get(message)?.mutated===true),artifacts:observedMessages.map(message=>projectedHeadlessMessages.get(message).artifact),values});for(const message of observedMessages){projectedHeadlessMessages.delete(message)}}catch{}}__name(observeHeadlessJsonToolResultWire,"observeHeadlessJsonToolResultWire");function acpToolResultValues(update){const record=update;if(record["sessionUpdate"]!=="tool_call_update")return[];const values=[];const content=record["content"];if(Array.isArray(content)){for(const block of content){const text=asRecord(asRecord(block)?.["content"])?.["text"];if(typeof text==="string"){values.push({representation:"acp_content",value:text})}}}if(typeof record["rawOutput"]==="string"){values.push({representation:"acp_raw_output",value:record["rawOutput"]})}return values}__name(acpToolResultValues,"acpToolResultValues");function toolCallId(value){const id=asRecord(value)?.["toolCallId"];return typeof id==="string"?id:void 0}__name(toolCallId,"toolCallId");function acpWireUpdates(message){if(message["method"]==="session/update"){const update=asRecord(asRecord(message["params"])?.["update"]);return update?[update]:[]}const result=asRecord(message["result"]);const replay=asRecord(asRecord(result?.["_meta"])?.[LOAD_REPLAY_META_KEY]);const candidates=replay?.["updates"]??result?.["updates"];if(Array.isArray(candidates))return candidates.filter(isObject);const events=result?.["events"];return Array.isArray(events)?events.flatMap(event=>{const update=asRecord(event)?.["data"];return isObject(update)?[update]:[]}):[]}__name(acpWireUpdates,"acpWireUpdates");function headlessToolResults(message){if(message.type!=="user"||!Array.isArray(message.message.content)){return[]}return message.message.content.flatMap(block=>block.type==="tool_result"?[block]:[])}__name(headlessToolResults,"headlessToolResults");function toolResultValues(toolResult){return typeof toolResult.content==="string"?[{representation:"headless_content",value:toolResult.content}]:[]}__name(toolResultValues,"toolResultValues");function asRecord(value){return isObject(value)?value:void 0}__name(asRecord,"asRecord");function isObject(value){return typeof value==="object"&&value!==null}__name(isObject,"isObject");init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();var MISSING_TRANSCRIPT_TOOL_RESULT_MESSAGE="Tool result missing from saved history; the previous run likely ended before this tool completed.";var MAX_RESULT_PREVIEW_TEXT_LENGTH=1e5;var TRANSCRIPT_GOAL_STATUS_KINDS=new Set(["set","achieved","cleared","failed","aborted","paused","checking"]);function isObjectRecord(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}__name(isObjectRecord,"isObjectRecord");function replaceTextPartsForDisplay(parts,displayText){const projected=[];let replacedText=false;for(const part of parts??[]){if(isObjectRecord(part)&&typeof part["text"]==="string"){if(!replacedText&&displayText.length>0){projected.push({text:displayText})}replacedText=true}else{projected.push(part)}}if(!replacedText&&displayText.length>0){projected.push({text:displayText})}return projected}__name(replaceTextPartsForDisplay,"replaceTextPartsForDisplay");function toTranscriptEpochMs(timestamp){if(typeof timestamp==="number"){return Number.isFinite(timestamp)?timestamp:void 0}if(typeof timestamp!=="string")return void 0;const epochMs=new Date(timestamp).getTime();return Number.isFinite(epochMs)?epochMs:void 0}__name(toTranscriptEpochMs,"toTranscriptEpochMs");function buildUpdateMeta(options){const timestamp=toTranscriptEpochMs(options.timestamp);const sourceRecordIds=dedupeStrings(options.sourceRecordIds??[]);const qwenTranscript={...sourceRecordIds.length>0?{sourceRecordIds}:{},...options.planToolCallId?{planToolCallId:options.planToolCallId}:{},...options.resultPreviewText?{resultPreviewText:options.resultPreviewText}:{},...options.segmentId?{segmentId:options.segmentId}:{}};const meta={...options.extra??{},...timestamp!==void 0?{timestamp}:{},...Object.keys(qwenTranscript).length>0?{qwenTranscript}:{}};return Object.keys(meta).length>0?meta:void 0}__name(buildUpdateMeta,"buildUpdateMeta");function createTranscriptMessageUpdate(options){const meta=buildUpdateMeta(options);return{sessionUpdate:options.role==="user"?"user_message_chunk":options.thought?"agent_thought_chunk":"agent_message_chunk",content:{type:"text",text:options.text},...meta?{_meta:meta}:{}}}__name(createTranscriptMessageUpdate,"createTranscriptMessageUpdate");var AGENT_TERMINAL_STATUSES=new Set(["completed","failed","cancelled","offline"]);function parseAgentAuthor(value){if(!isObjectRecord(value)||typeof value["agentId"]!=="string"||typeof value["name"]!=="string"){return void 0}const program=value["program"];return{agentId:value["agentId"],name:value["name"],...typeof value["color"]==="string"?{color:value["color"]}:{},...program==="qwen"||program==="claude"||program==="codex"?{program}:{},...typeof value["runtimeId"]==="string"?{runtimeId:value["runtimeId"]}:{},...typeof value["squadName"]==="string"&&value["squadName"]?{squadName:value["squadName"]}:{},...typeof value["memberSquadName"]==="string"&&value["memberSquadName"]?{memberSquadName:value["memberSquadName"]}:{}}}__name(parseAgentAuthor,"parseAgentAuthor");function parseAgentSteps(value){if(!Array.isArray(value))return void 0;const steps=value.flatMap(step=>isObjectRecord(step)&&typeof step["id"]==="string"&&typeof step["title"]==="string"&&(step["status"]==="running"||step["status"]==="completed"||step["status"]==="failed")?[{id:step["id"],title:step["title"],status:step["status"]}]:[]);return steps.length>0?steps:void 0}__name(parseAgentSteps,"parseAgentSteps");function createAgentRecordTranscriptUpdate(input){const payload=isObjectRecord(input.payload)?input.payload:void 0;if(!payload||typeof payload["displayText"]!=="string")return void 0;const displayText=payload["displayText"];const author=parseAgentAuthor(payload["author"]);if(input.subtype==="agent_message"){const runId=typeof payload["runId"]==="string"&&payload["runId"].length>0?payload["runId"]:void 0;const status=typeof payload["status"]==="string"&&AGENT_TERMINAL_STATUSES.has(payload["status"])?payload["status"]:void 0;const error=typeof payload["error"]==="string"&&payload["error"].length>0?payload["error"]:void 0;const steps=parseAgentSteps(payload["steps"]);const totalTokens=typeof payload["totalTokens"]==="number"&&Number.isFinite(payload["totalTokens"])?payload["totalTokens"]:void 0;const squadOutcome=payload["squadOutcome"]==="no_action"?"no_action":void 0;const text=displayText.length>0?displayText:status&&status!=="completed"?error??`Agent run ${status}.`:squadOutcome?"No action needed.":"";if(text.length===0)return void 0;const agentMeta={kind:"agent_message",...author?{author}:{},...runId?{runId}:{},...status?{status}:{},...error?{error}:{},...steps?{steps}:{},...totalTokens!==void 0?{totalTokens}:{},...squadOutcome?{squadOutcome}:{}};return createTranscriptMessageUpdate({role:"assistant",text,timestamp:input.timestamp,sourceRecordIds:[input.recordId],segmentId:runId?`agent:${runId}`:`agent-record:${input.recordId}`,extra:{source:"agent_message",qwenAgentMessage:agentMeta,qwenDiscreteMessage:true}})}if(displayText.length===0)return void 0;const mentionedAgentIds=Array.isArray(payload["mentionedAgentIds"])?payload["mentionedAgentIds"].filter(id=>typeof id==="string"):[];const mentionedSquadIds=Array.isArray(payload["mentionedSquadIds"])?payload["mentionedSquadIds"].filter(id=>typeof id==="string"):[];const mentionError=typeof payload["error"]==="string"&&payload["error"].length>0?payload["error"]:void 0;const mentionMeta={kind:"agent_mention",mentionedAgentIds,...mentionedSquadIds.length>0?{mentionedSquadIds}:{},...mentionError?{error:mentionError}:{},...author?{author}:{}};return createTranscriptMessageUpdate({role:"user",text:displayText,timestamp:input.timestamp,sourceRecordIds:[input.recordId],segmentId:`mention:${input.recordId}`,extra:{source:"agent_mention",qwenAgentMessage:mentionMeta,qwenDiscreteMessage:true}})}__name(createAgentRecordTranscriptUpdate,"createAgentRecordTranscriptUpdate");function createTranscriptImageUpdate(options){const meta=buildUpdateMeta(options);return{sessionUpdate:"user_message_chunk",content:{type:"image",data:options.data,mimeType:options.mimeType},...meta?{_meta:meta}:{}}}__name(createTranscriptImageUpdate,"createTranscriptImageUpdate");function createTranscriptAttachmentReferenceUpdate(reference,options){if(reference["type"]!=="image"&&reference["type"]!=="resource"||typeof reference["attachmentId"]!=="string"||typeof reference["mimeType"]!=="string"||typeof reference["size"]!=="number"){return void 0}const meta=buildUpdateMeta(options);return{sessionUpdate:"user_message_chunk",content:{type:reference["type"],attachmentId:reference["attachmentId"],mimeType:reference["mimeType"],size:reference["size"]},...meta?{_meta:meta}:{}}}__name(createTranscriptAttachmentReferenceUpdate,"createTranscriptAttachmentReferenceUpdate");function createTranscriptUsageUpdate(usageMetadata,options={}){const usage={inputTokens:finiteNumber(usageMetadata.promptTokenCount)??0,outputTokens:finiteNumber(usageMetadata.candidatesTokenCount)??0,totalTokens:finiteNumber(usageMetadata.totalTokenCount)??0,...finiteNumber(usageMetadata.thoughtsTokenCount)!==void 0?{thoughtTokens:finiteNumber(usageMetadata.thoughtsTokenCount)}:{},...finiteNumber(usageMetadata.cachedContentTokenCount)!==void 0?{cachedReadTokens:finiteNumber(usageMetadata.cachedContentTokenCount)}:{}};const meta=buildUpdateMeta({...options,extra:{usage,...options.extra??{}}});return{sessionUpdate:"agent_message_chunk",content:{type:"text",text:options.text??""},_meta:meta}}__name(createTranscriptUsageUpdate,"createTranscriptUsageUpdate");function createTranscriptTimingUpdate(timing,options={}){const meta=buildUpdateMeta({...options,extra:{timing,...options.extra??{}}});return{sessionUpdate:"agent_message_chunk",content:{type:"text",text:""},_meta:meta}}__name(createTranscriptTimingUpdate,"createTranscriptTimingUpdate");function parseToolLifecycle(value){if(!isObjectRecord(value)||value["v"]!==1||value["kind"]!=="tool")return void 0;const strings={};for(const key of["executionId","sessionId","callId","toolName"]){const entry=value[key];if(typeof entry!=="string"||!entry.trim())return void 0;strings[key]=entry}const subagentId=value["subagentId"];if(subagentId!==void 0&&(typeof subagentId!=="string"||!subagentId.trim()))return void 0;const shared={v:1,kind:"tool",executionId:strings["executionId"],sessionId:strings["sessionId"],callId:strings["callId"],toolName:strings["toolName"],...typeof subagentId==="string"?{subagentId}:{}};const startedAt=finiteNumber(value["startedAt"]);if(value["phase"]==="started"){if(value["executionStatus"]!=="running"||startedAt===void 0||startedAt<0||value["endedAt"]!==void 0||value["outcome"]!==void 0||value["executionDurationMs"]!==void 0)return void 0;return{...shared,phase:"started",executionStatus:"running",startedAt}}if(value["phase"]!=="ended")return void 0;const endedAt=finiteNumber(value["endedAt"]);const outcome=value["outcome"];if(endedAt===void 0||endedAt<0||outcome!=="success"&&outcome!=="error"&&outcome!=="cancelled")return void 0;const executionStatus=value["executionStatus"];if(executionStatus==="not_started"){if(value["startedAt"]!==void 0||value["executionDurationMs"]!==void 0)return void 0;return{...shared,phase:"ended",executionStatus,endedAt,outcome}}const executionDurationMs=finiteNumber(value["executionDurationMs"]);if(executionStatus!=="success"&&executionStatus!=="error"&&executionStatus!=="cancelled"||startedAt===void 0||startedAt<0||endedAt<startedAt||executionDurationMs===void 0||executionDurationMs<0)return void 0;return{...shared,phase:"ended",executionStatus,startedAt,endedAt,executionDurationMs,outcome}}__name(parseToolLifecycle,"parseToolLifecycle");function createTranscriptToolLifecycleUpdate(toolLifecycle,options={}){return{sessionUpdate:"tool_call_update",toolCallId:toolLifecycle.callId,_meta:buildUpdateMeta({...options,extra:{...options.extra??{},toolLifecycle}})}}__name(createTranscriptToolLifecycleUpdate,"createTranscriptToolLifecycleUpdate");function parseExecutionLifecycle(value){if(!isObjectRecord(value)||value["v"]!==1||value["kind"]!=="request"){return void 0}const strings={};for(const key of["executionId","sessionId","promptId","model"]){const entry=value[key];if(typeof entry!=="string"||!entry.trim())return void 0;strings[key]=entry}const startedAt=finiteNumber(value["startedAt"]);if(startedAt===void 0||startedAt<0)return void 0;const subagentId=value["subagentId"];if(subagentId!==void 0&&(typeof subagentId!=="string"||!subagentId.trim())){return void 0}const shared={v:1,kind:"request",executionId:strings["executionId"],sessionId:strings["sessionId"],promptId:strings["promptId"],model:strings["model"],startedAt,...typeof subagentId==="string"?{subagentId}:{}};if(value["phase"]==="started")return{...shared,phase:"started"};if(value["phase"]!=="ended")return void 0;const endedAt=finiteNumber(value["endedAt"]);const durationMs=finiteNumber(value["durationMs"]);const outcome=value["outcome"];if(endedAt===void 0||endedAt<startedAt||durationMs===void 0||durationMs<0||outcome!=="success"&&outcome!=="error"&&outcome!=="cancelled"&&outcome!=="interrupted"){return void 0}if(value["reason"]!==void 0&&(value["reason"]!=="consumer_closed"||outcome!=="interrupted"))return void 0;return{...shared,phase:"ended",endedAt,durationMs,outcome,...value["reason"]==="consumer_closed"?{reason:"consumer_closed"}:{}}}__name(parseExecutionLifecycle,"parseExecutionLifecycle");function createTranscriptExecutionLifecycleUpdate(executionLifecycle,options={}){return{sessionUpdate:"agent_message_chunk",content:{type:"text",text:""},_meta:buildUpdateMeta({...options,extra:{...options.extra??{},executionLifecycle}})}}__name(createTranscriptExecutionLifecycleUpdate,"createTranscriptExecutionLifecycleUpdate");function nonEmptyString(value){return typeof value==="string"&&value.length>0?value:void 0}__name(nonEmptyString,"nonEmptyString");function isSubagentPromptId(promptId){if(promptId===void 0)return false;const parts=promptId.split("#");if(parts.length!==3)return false;const[,agentId,round]=parts;return Boolean(agentId)&&/^\d+$/.test(round??"")}__name(isSubagentPromptId,"isSubagentPromptId");function parseToolTimingStatus(value){return value==="success"||value==="error"||value==="cancelled"?value:void 0}__name(parseToolTimingStatus,"parseToolTimingStatus");function parseTelemetryTiming(payload){const uiEvent=isObjectRecord(payload)?isObjectRecord(payload["uiEvent"])?payload["uiEvent"]:void 0:void 0;if(!uiEvent)return void 0;const eventName=uiEvent["event.name"];if(eventName!==EVENT_API_RESPONSE&&eventName!==EVENT_API_ERROR&&eventName!==EVENT_TOOL_CALL){return void 0}const durationMs=finiteNumber(uiEvent["duration_ms"]);if(durationMs===void 0||durationMs<0)return void 0;const shared={durationMs,...nonEmptyString(uiEvent["response_id"])!==void 0?{responseId:nonEmptyString(uiEvent["response_id"])}:{},...nonEmptyString(uiEvent["prompt_id"])!==void 0?{promptId:nonEmptyString(uiEvent["prompt_id"])}:{},...nonEmptyString(uiEvent["subagent_id"])!==void 0?{subagentId:nonEmptyString(uiEvent["subagent_id"])}:{}};if(eventName===EVENT_TOOL_CALL){const callId=nonEmptyString(uiEvent["call_id"]);if(callId===void 0)return void 0;const toolName=nonEmptyString(uiEvent["function_name"]);const toolStatus=parseToolTimingStatus(uiEvent["status"]);const startedAt=finiteNumber(uiEvent["started_at_ms"]??uiEvent["started_at"]);if(durationMs===0&&toolStatus!=="success"&&(startedAt===void 0||startedAt<0))return void 0;return{kind:"tool",...shared,...startedAt!==void 0&&startedAt>=0?{startedAt}:{},callId,...toolName!==void 0?{toolName}:{},...toolStatus!==void 0?{toolStatus}:{}}}const ttftMs=finiteNumber(uiEvent["ttft_ms"]);const model=nonEmptyString(uiEvent["model"]);const endMs=toTranscriptEpochMs(typeof uiEvent["event.timestamp"]==="string"?uiEvent["event.timestamp"]:void 0);return{kind:"request",...shared,...nonEmptyString(uiEvent["execution_id"])!==void 0?{executionId:nonEmptyString(uiEvent["execution_id"])}:{},...endMs!==void 0?{startedAt:endMs-durationMs}:{},status:eventName===EVENT_API_RESPONSE?"ok":"error",...ttftMs!==void 0&&ttftMs>=0&&ttftMs<=durationMs?{ttftMs}:{},...model!==void 0?{model}:{}}}__name(parseTelemetryTiming,"parseTelemetryTiming");function createTranscriptToolCallStartUpdate(options){const provenance=resolveToolProvenance(options.toolName);return{sessionUpdate:options.asUpdate?"tool_call_update":"tool_call",toolCallId:options.callId,status:options.status??"pending",title:options.metadata.title,content:[],locations:[...options.metadata.locations],kind:options.metadata.kind,rawInput:options.args??{},_meta:buildUpdateMeta({...options,extra:{toolName:options.toolName,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{},...options.extra??{}}})}}__name(createTranscriptToolCallStartUpdate,"createTranscriptToolCallStartUpdate");function createTranscriptToolCallResultUpdate(options){const provenance=resolveToolProvenance(options.toolName);const content=buildToolResultContent(options);const update={sessionUpdate:"tool_call_update",toolCallId:options.callId,status:options.success?"completed":"failed",content,_meta:buildUpdateMeta({...options,resultPreviewText:getToolContentText(options.contentPrefix),extra:{toolName:options.toolName,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{},...options.artifacts&&options.artifacts.length>0?{artifacts:options.artifacts}:{},...options.extra??{}}})};const rawOutput=getReplayRawOutput(options.resultDisplay);if(rawOutput!==void 0)update["rawOutput"]=rawOutput;return update}__name(createTranscriptToolCallResultUpdate,"createTranscriptToolCallResultUpdate");function getToolContentText(content){let text="";for(const entry of content??[]){if(entry.type!=="content"||entry.content.type!=="text")continue;const next=entry.content.text;if(text.length+(text?1:0)+next.length>MAX_RESULT_PREVIEW_TEXT_LENGTH){return void 0}text+=`${text?"\n":""}${next}`}return text||void 0}__name(getToolContentText,"getToolContentText");function getReplayRawOutput(resultDisplay){if(!isTruncatedSessionDiffDisplay(resultDisplay))return resultDisplay;if(resultDisplay["fileDiffTruncated"]===true||typeof resultDisplay["fileDiff"]!=="string"){return void 0}return{fileName:resultDisplay["fileName"],fileDiff:resultDisplay["fileDiff"]}}__name(getReplayRawOutput,"getReplayRawOutput");function createTranscriptPlanUpdate(todos,cumulativeUsage,options={}){const meta=buildUpdateMeta({...options,extra:{...cumulativeUsage?{stats:{...cumulativeUsage}}:{},...options.todoPlanId?{qwenTodoPlan:{id:options.todoPlanId}}:{},...options.extra??{}}});return{sessionUpdate:"plan",entries:todos.map(todo=>({content:todo.content,priority:"medium",status:todo.status,...todo.id||todo.blockedBy?{_meta:{qwenTodo:{...todo.id?{id:todo.id}:{},...todo.blockedBy?{blockedBy:[...todo.blockedBy]}:{}}}}:{}})),...meta?{_meta:meta}:{}}}__name(createTranscriptPlanUpdate,"createTranscriptPlanUpdate");function extractTranscriptTodoPlan(resultDisplay,args){const fromDisplay=extractTodoPlanFromDisplay(resultDisplay);if(fromDisplay)return fromDisplay;if(resultDisplay!==null&&resultDisplay!==void 0)return null;return args&&Array.isArray(args["todos"])?{todos:normalizeTodos(args["todos"])}:null}__name(extractTranscriptTodoPlan,"extractTranscriptTodoPlan");function createTranscriptReplayMachine(options={}){return new DefaultTranscriptReplayMachine(options)}__name(createTranscriptReplayMachine,"createTranscriptReplayMachine");var DefaultTranscriptReplayMachine=class{constructor(options){this.options=options;const initialState=parseInitialState(options.initialState,options.onDiagnostic);this.usage={...initialState.cumulativeUsage};this.goalState=initialState.goalState;this.goalCause=initialState.goalCause;for(const pending of initialState.pendingToolCalls){this.pendingToolCalls.set(pending.callId,pending);this.usedToolCallIds.add(pending.callId)}for(const gap of options.gaps??[]){if(!this.gapByChild.has(gap.childUuid)){this.gapByChild.set(gap.childUuid,gap)}}}static{__name(this,"DefaultTranscriptReplayMachine")}pendingToolCalls=new Map;usedToolCallIds=new Set;gapByChild=new Map;usage;finalized=false;goalState;goalCause;*project(record){if(this.finalized){throw new Error("Cannot project records after transcript replay finalize.")}let ordinal=0;let activeSegmentLane;let activeSegmentId;const backgroundTurn=parseBackgroundNotificationTurn(record.subtype==="background_task_completed"?void 0:record["backgroundTurn"]);const emit=__name(update=>{if(backgroundTurn)update={...update,_meta:{...update._meta,backgroundTurn}};const emissionOrdinal=ordinal++;const lane=transcriptSegmentLane(update);if(lane&&(lane!==activeSegmentLane||!activeSegmentId)){activeSegmentLane=lane;activeSegmentId=`${record.uuid}:${emissionOrdinal}`}else if(!lane&&isTranscriptSegmentBoundary(update)){activeSegmentLane=void 0;activeSegmentId=void 0}const projectedUpdate=lane&&activeSegmentId&&!hasExplicitTranscriptSegmentId(update)?withTranscriptSegmentId(update,activeSegmentId):update;if(isTranscriptDiscreteMessage(update)){activeSegmentLane=void 0;activeSegmentId=void 0}return{sourceRecordId:record.uuid,...record.timestamp?{sourceTimestamp:record.timestamp}:{},emissionOrdinal,update:projectedUpdate}},"emit");const meta={timestamp:record.timestamp,sourceRecordIds:[record.uuid],...record.subtype==="realtime_message"?{extra:{source:"realtime_voice",qwenDiscreteMessage:true}}:{}};const gap=this.gapByChild.get(record.uuid);if(gap){yield emit(createTranscriptMessageUpdate({role:"assistant",text:this.formatGap(gap),...meta,extra:{qwenDiscreteMessage:true}}))}switch(record.type){case"user":yield*this.projectUserRecord(record,emit,meta);break;case"assistant":yield*this.projectAssistantRecord(record,emit,meta);break;case"tool_result":if(!isInternalCodeModeToolResult(record)){yield*this.projectToolResult(record,emit,meta)}break;case"system":yield*this.projectSystemRecord(record,emit,meta);break;default:this.report("unknown_record_or_part","Skipped an unknown transcript record type.",record.uuid)}}*finalize(){if(this.finalized)return;this.finalized=true;const skip=this.options.skipFinalizeCallIds;let ordinal=0;for(const pending of[...this.pendingToolCalls.values()]){if(skip&&(skip.has(pending.callId)||pending.rawCallId!==void 0&&skip.has(pending.rawCallId)))continue;this.pendingToolCalls.delete(pending.callId);this.report("missing_tool_result","A transcript tool call has no persisted result.",pending.sourceRecordId);yield{sourceRecordId:pending.sourceRecordId,...pending.sourceTimestamp?{sourceTimestamp:pending.sourceTimestamp}:{},emissionOrdinal:ordinal++,update:createTranscriptToolCallResultUpdate({toolName:pending.toolName,callId:pending.callId,success:false,errorMessage:MISSING_TRANSCRIPT_TOOL_RESULT_MESSAGE,timestamp:pending.sourceTimestamp,sourceRecordIds:[pending.sourceRecordId]})}}}snapshot(){return{v:1,pendingToolCalls:[...this.pendingToolCalls.values()].map(pending=>({...pending})),cumulativeUsage:{...this.usage},...this.goalState?{goalState:this.goalState}:{},...this.goalCause?{goalCause:this.goalCause}:{}}}*projectUserRecord(record,emit,meta){const payload=isObjectRecord(record.systemPayload)?record.systemPayload:void 0;const savedInputAnnotations=payload?.[DAEMON_INPUT_ANNOTATIONS_META_KEY];const savedInputAnnotationList=Array.isArray(savedInputAnnotations)?savedInputAnnotations:[];const replayedInputAnnotations=savedInputAnnotationList.filter(isObjectRecord);const userMeta={...meta,extra:{...meta.extra,...typeof record.daemonPromptId==="string"&&record.daemonPromptId.trim().length>0?{promptId:record.daemonPromptId}:{},...replayedInputAnnotations.length>0?{[DAEMON_INPUT_ANNOTATIONS_META_KEY]:replayedInputAnnotations}:{}}};if(record.subtype==="agent_message"||record.subtype==="agent_mention"){const update=createAgentRecordTranscriptUpdate({recordId:record.uuid,subtype:record.subtype,payload:record.systemPayload,timestamp:record.timestamp});if(update)yield emit(update);return}const replayMeta=record.subtype==="mid_turn_user_message"?{...userMeta,extra:{...userMeta.extra,source:"mid_turn_message_injected",qwenDiscreteMessage:true}}:userMeta;if(record.subtype==="goal_runtime"||record.subtype==="notification"||record.subtype==="cron"||record.subtype==="mid_turn_user_message"){const displayText=payload&&typeof payload["displayText"]==="string"?stripGeneratedAttachmentTokens(payload["displayText"],payload):void 0;if(record.subtype==="mid_turn_user_message"&&displayText===""){const media=[...this.projectUserAttachmentReferences(payload,emit,replayMeta)];if(media.length>0){yield*media;return}}if(displayText){const isNotification=record.subtype==="notification";const backgroundTask=payload&&isObjectRecord(payload["backgroundTask"])?payload["backgroundTask"]:void 0;yield emit(createTranscriptMessageUpdate({role:"user",text:displayText,...replayMeta,...isNotification?{extra:{source:"background_notification",qwenDiscreteMessage:true,...backgroundTask?{backgroundTask}:{}}}:record.subtype==="cron"?{extra:{source:"cron"}}:record.subtype==="goal_runtime"?{extra:{source:"goal_runtime"}}:{}}));yield*this.projectUserAttachmentReferences(payload,emit,replayMeta);return}if(record.subtype!=="mid_turn_user_message")return}const projection=projectUserTranscriptForDisplay(record);if(projection.displayText!==void 0){const displayText=stripGeneratedAttachmentTokens(projection.displayText,payload);yield*this.projectMessageParts(record,"user",emit,replayMeta,void 0,replaceTextPartsForDisplay(record.message?.parts,displayText));yield*this.projectUserAttachmentReferences(payload,emit,replayMeta);return}yield*this.projectMessageParts(record,"user",emit,replayMeta,void 0,projection.parts);yield*this.projectUserAttachmentReferences(payload,emit,replayMeta)}*projectUserAttachmentReferences(payload,emit,meta){const references=payload?.["attachmentReferences"];for(const reference of Array.isArray(references)?references:[]){if(!isObjectRecord(reference))continue;const update=createTranscriptAttachmentReferenceUpdate(reference,meta);if(update)yield emit(update)}const resourceLinks=payload?.["resourceLinks"];for(const link of Array.isArray(resourceLinks)?resourceLinks:[]){if(!isObjectRecord(link)||link["type"]!=="resource_link"||typeof link["uri"]!=="string"||link["uri"].length===0||typeof link["name"]!=="string"){continue}const updateMeta=buildUpdateMeta(meta);yield emit({sessionUpdate:"user_message_chunk",content:structuredClone(link),...updateMeta?{_meta:updateMeta}:{}})}}*projectAssistantRecord(record,emit,meta){const usageMetadata=isObjectRecord(record.usageMetadata)?record.usageMetadata:void 0;let usageEmitted=false;const takeUsageUpdate=__name(()=>{if(!usageMetadata||usageEmitted)return void 0;usageEmitted=true;this.addUsage(usageMetadata);return createTranscriptUsageUpdate(usageMetadata,meta)},"takeUsageUpdate");yield*this.projectMessageParts(record,"assistant",emit,meta,takeUsageUpdate);const trailingUsage=takeUsageUpdate();if(trailingUsage)yield emit(trailingUsage)}*projectMessageParts(record,role,emit,meta,beforeToolCall,partsOverride){const parts=partsOverride??record.message?.parts;if(!parts)return;for(let partIndex=0;partIndex<parts.length;partIndex+=1){const part=parts[partIndex];if(!isObjectRecord(part)){this.report("malformed_part","Skipped a malformed transcript message part.",record.uuid,`message.parts[${partIndex}]`);continue}let recognized=false;if(typeof part["text"]==="string"&&part["text"].length>0){recognized=true;yield emit(createTranscriptMessageUpdate({role,text:part["text"],thought:role==="assistant"&&part["thought"]===true,...meta}))}const inlineData=isObjectRecord(part["inlineData"])?part["inlineData"]:void 0;if(inlineData){recognized=true;const data=inlineData["data"];const mimeType=inlineData["mimeType"];if(role==="user"&&typeof data==="string"&&typeof mimeType==="string"&&mimeType.startsWith("image/")){yield emit(createTranscriptImageUpdate({data,mimeType,...meta}))}else{this.report("malformed_part","Skipped an unsupported or malformed inline transcript part.",record.uuid,`message.parts[${partIndex}].inlineData`)}}const functionCall=isObjectRecord(part["functionCall"])?part["functionCall"]:void 0;if(functionCall){recognized=true;const toolName=typeof functionCall["name"]==="string"?functionCall["name"]:"";const args=isObjectRecord(functionCall["args"])?functionCall["args"]:{};if(!toolName){this.report("malformed_part","Skipped a tool call without a tool name.",record.uuid,`message.parts[${partIndex}].functionCall`);continue}const preToolUpdate=beforeToolCall?.();if(preToolUpdate)yield emit(preToolUpdate);if(toolName==="todo_write")continue;const explicitId=typeof functionCall["id"]==="string"&&functionCall["id"].length>0?functionCall["id"]:void 0;const callId=this.allocateToolCallId(explicitId??`qwen-replay-tool:${record.uuid}:${partIndex}`);const update=createTranscriptToolCallStartUpdate({toolName,callId,args,status:"in_progress",metadata:this.resolveToolMetadata(toolName,args,record.uuid),...meta});yield emit(update);if(role==="assistant"){this.pendingToolCalls.set(callId,{callId,toolName,...toolName==="tool_call"&&typeof args["name"]==="string"&&args["name"].trim()?{resolvedToolName:args["name"].trim()}:{},sourceRecordId:record.uuid,...record.timestamp?{sourceTimestamp:record.timestamp}:{},...explicitId!==void 0&&explicitId!==callId?{rawCallId:explicitId}:{}})}}if(!recognized&&!("functionResponse"in part)){this.report("unknown_record_or_part","Skipped an unknown transcript message part.",record.uuid,`message.parts[${partIndex}]`)}}}*projectToolResult(record,emit,meta){const result=isObjectRecord(record.toolCallResult)?record.toolCallResult:void 0;const toolName=extractToolName(record);if(!toolName){this.report("malformed_part","A transcript tool result has no tool name.",record.uuid,"message.parts")}const explicitCallId=extractToolResultCallId(record,result);const callId=explicitCallId?this.allocateToolCallId(explicitCallId,true):this.correlateResultCallId(toolName,record.uuid);this.pendingToolCalls.delete(callId);const resultDisplay=result?.["resultDisplay"];if(toolName==="todo_write"){const plan=extractTranscriptTodoPlan(resultDisplay);if(plan){yield emit(createTranscriptPlanUpdate(plan.todos,this.usage,{...meta,planToolCallId:callId,todoPlanId:plan.planId,...plan.sessionWorkflow?{extra:{...meta.extra,qwenSessionWorkflow:true}}:{}}))}return}yield emit(createTranscriptToolCallResultUpdate({toolName,callId,success:result?.["status"]===void 0?!result?.["error"]:result["status"]==="success"&&!result["error"],errorMessage:extractErrorMessage(result?.["error"]),message:record.message?.parts,resultDisplay,artifacts:Array.isArray(result?.["artifacts"])?result["artifacts"]:void 0,contentPrefix:this.buildToolResultContentPrefix(resultDisplay,record.uuid),...meta}));if(isTaskExecutionDisplay(resultDisplay)){const usage=usageFromTaskExecution(resultDisplay);if(Object.keys(usage).length>0){this.addUsage(usage);yield emit(createTranscriptUsageUpdate(usage,{...meta,extra:{...meta.extra,parentToolCallId:callId}}))}}}*projectSystemRecord(record,emit,meta){if(record.subtype==="ui_telemetry"){if(!this.options.includeTiming)return;const payload2=record.systemPayload;const uiEvent=isObjectRecord(payload2)?payload2["uiEvent"]:void 0;if(isObjectRecord(uiEvent)&&uiEvent["event.name"]==="request_lifecycle"){const lifecycle=parseExecutionLifecycle(uiEvent);if(lifecycle)yield emit(createTranscriptExecutionLifecycleUpdate(lifecycle,meta));return}if(isObjectRecord(uiEvent)&&uiEvent["event.name"]==="tool_lifecycle"){const lifecycle=parseToolLifecycle(uiEvent);if(lifecycle){let callId=lifecycle.callId;if(!lifecycle.subagentId){const candidates=[...this.pendingToolCalls.values()].filter(pending2=>(pending2.rawCallId??pending2.callId)===lifecycle.callId&&(pending2.toolName===lifecycle.toolName||pending2.resolvedToolName===lifecycle.toolName));const pending=candidates.find(item=>item.toolLifecycleExecutionId===lifecycle.executionId)??candidates.find(item=>item.toolLifecycleExecutionId===void 0);if(pending){callId=pending.callId;this.pendingToolCalls.set(callId,{...pending,toolLifecycleExecutionId:lifecycle.executionId})}}yield emit({...createTranscriptToolLifecycleUpdate(lifecycle,meta),toolCallId:callId})}return}const timing=parseTelemetryTiming(record.systemPayload);if(!timing)return;yield emit(createTranscriptTimingUpdate(this.resolveTimingCallId(timing),meta));return}if(record.subtype==="turn_result"){const payload2=isObjectRecord(record.systemPayload)?record.systemPayload:void 0;const cancelledAt=finiteNumber(payload2?.["cancelledAt"]);const startedAt=finiteNumber(payload2?.["startedAt"]);const promptId=payload2?.["promptId"];if(payload2?.["state"]!=="cancelled"||cancelledAt===void 0||typeof promptId!=="string"||!promptId||payload2["startedAt"]!==void 0&&startedAt===void 0)return;const elapsedMs=Math.max(0,cancelledAt-(startedAt??cancelledAt));if(!Number.isFinite(elapsedMs))return;yield emit(createTranscriptMessageUpdate({role:"assistant",text:"",...meta,extra:{qwenDiscreteMessage:true,promptCancelled:{promptId,cancelledAt,elapsedMs}}}));return}if(record.subtype==="background_task_completed"){const payload2=isObjectRecord(record.systemPayload)?record.systemPayload:void 0;if(!payload2||typeof payload2["displayText"]!=="string")return;yield emit(createTranscriptMessageUpdate({role:"assistant",text:payload2["displayText"],...meta,extra:{source:"background_task_completed",qwenDiscreteMessage:true,...isObjectRecord(payload2["backgroundTask"])?{backgroundTask:payload2["backgroundTask"]}:{}}}));return}if(record.subtype==="agent_session_ready"){const payload2=isObjectRecord(record.systemPayload)?record.systemPayload:void 0;if(typeof payload2?.["callId"]!=="string"||payload2["callId"].length===0||typeof payload2["subagentSessionReady"]!=="boolean"){this.report("malformed_agent_session_ready","Skipped a malformed subagent session readiness record.",record.uuid,"systemPayload");return}const callId=payload2["callId"];if(!this.pendingToolCalls.has(callId)){this.report("orphan_agent_session_ready","Skipped subagent readiness without a matching pending tool call.",record.uuid,"systemPayload.callId");return}yield emit({sessionUpdate:"tool_call_update",toolCallId:callId,_meta:buildUpdateMeta({...meta,extra:{subagentSessionReady:payload2["subagentSessionReady"]}})});return}if(record.subtype==="goal_state"){const payload2=parseGoalStateRecordPayloadV2(record.systemPayload);if(!payload2){this.report("malformed_goal_state","Skipped a malformed Goal state transcript record.",record.uuid,"systemPayload");return}const bookkeepingOnly=isGoalCheckpointBookkeepingRecord({cause:payload2.cause,previousCause:this.goalCause,previous:this.goalState,next:payload2.snapshot});const goalStatus=projectGoalCard(payload2,this.goalState?.goal??null);const goalControlCommand=projectGoalControlCommand(payload2.cause,payload2.snapshot);this.goalState=payload2.snapshot;this.goalCause=payload2.cause;if(bookkeepingOnly)return;if(goalControlCommand){yield emit(createTranscriptMessageUpdate({role:"user",text:goalControlCommand,...meta,extra:{source:"goal_control","qwen.session.recordId":record.uuid}}))}yield emit(createTranscriptMessageUpdate({role:"assistant",text:"",...meta,extra:{goalState:payload2.snapshot,goalStatus,"qwen.session.recordId":record.uuid}}));return}if(record.subtype!=="slash_command")return;const payload=isObjectRecord(record.systemPayload)?record.systemPayload:void 0;if(payload?.["phase"]!=="result")return;const items=Array.isArray(payload["outputHistoryItems"])?payload["outputHistoryItems"]:[];for(const item of items){const goalStatus=parseTranscriptGoalStatus(item);if(goalStatus){if(goalStatus.condition.length===0){this.report("malformed_part","Skipped replay of a goal card whose condition is empty.",record.uuid,"systemPayload.outputHistoryItems.goalStatus.condition")}else if(goalStatus.kind!=="checking"){yield emit(createTranscriptMessageUpdate({role:"assistant",text:"",...meta,extra:{goalStatus}}))}continue}if(!isObjectRecord(item)||typeof item["text"]!=="string")continue;const contextCompression=isObjectRecord(item["contextCompression"])?item["contextCompression"]:void 0;const contextCompressionNotice=isObjectRecord(item["contextCompressionNotice"])?item["contextCompressionNotice"]:void 0;yield emit(createTranscriptMessageUpdate({role:"assistant",text:item["text"].replace(/\n/g," \n"),...meta,extra:{source:"slash_command",...contextCompression?{contextCompression}:{},...contextCompressionNotice?{contextCompressionNotice}:{},...Array.isArray(item["sessionArtifacts"])?{sessionArtifacts:item["sessionArtifacts"]}:{}}}))}}addUsage(metadata){this.usage.promptTokens+=finiteNumber(metadata["promptTokenCount"])??0;this.usage.candidateTokens+=finiteNumber(metadata["candidatesTokenCount"])??0;this.usage.cachedTokens+=finiteNumber(metadata["cachedContentTokenCount"])??0}correlateResultCallId(toolName,recordId){const candidates=[...this.pendingToolCalls.values()].filter(pending=>pending.toolName===toolName);if(candidates.length===1)return candidates[0].callId;this.report("ambiguous_tool_call_correlation","A tool result could not be matched to exactly one pending tool call.",recordId);return this.allocateToolCallId(`qwen-replay-tool:${recordId}:result`)}allocateToolCallId(candidate,reuse=false){if(reuse&&this.pendingToolCalls.has(candidate)){this.usedToolCallIds.add(candidate);return candidate}if(!this.usedToolCallIds.has(candidate)){this.usedToolCallIds.add(candidate);return candidate}let occurrence=2;while(this.usedToolCallIds.has(`${candidate}:${occurrence}`)){occurrence+=1}const id=`${candidate}:${occurrence}`;this.usedToolCallIds.add(id);return id}resolveTimingCallId(timing){if(timing.kind!=="tool"||timing.callId===void 0)return timing;if(isSubagentPromptId(timing.promptId))return timing;for(const pending of this.pendingToolCalls.values()){const recordedId=pending.rawCallId??pending.callId;if(recordedId!==timing.callId||pending.timingMatched)continue;if(timing.toolName!==void 0&&pending.toolName!==timing.toolName&&pending.resolvedToolName!==timing.toolName)continue;this.pendingToolCalls.set(pending.callId,{...pending,timingMatched:true});return{...timing,callId:pending.callId}}return timing}resolveToolMetadata(toolName,args,recordId){try{return this.options.presentation?.resolveToolMetadata(toolName,args)??fallbackToolMetadata(toolName,args)}catch{this.report("presentation_fallback","Tool presentation metadata fell back to deterministic defaults.",recordId,void 0,false);return fallbackToolMetadata(toolName,args)}}formatGap(gap){try{return this.options.presentation?.formatHistoryGap(gap)??"Some earlier messages are unavailable because the saved history is incomplete."}catch{this.report("presentation_fallback","History gap presentation fell back to deterministic defaults.",gap.childUuid,void 0,false);return"Some earlier messages are unavailable because the saved history is incomplete."}}buildToolResultContentPrefix(resultDisplay,recordId){try{return this.options.presentation?.buildToolResultContentPrefix?.(resultDisplay)??defaultToolResultContentPrefix(resultDisplay)}catch{this.report("presentation_fallback","Tool result content presentation fell back to deterministic defaults.",recordId,void 0,false);return defaultToolResultContentPrefix(resultDisplay)}}report(code,message,recordId,path2,affectsCompleteness=true){this.options.onDiagnostic?.({code,severity:affectsCompleteness?"warning":"info",message,affectsCompleteness,...recordId?{recordId}:{},...path2?{path:path2}:{}})}};function withTranscriptSegmentId(update,segmentId){const record=update;const meta=isObjectRecord(record["_meta"])?record["_meta"]:void 0;const transcript=meta&&isObjectRecord(meta["qwenTranscript"])?meta["qwenTranscript"]:void 0;return{...record,_meta:{...meta??{},qwenTranscript:{...transcript??{},segmentId}}}}__name(withTranscriptSegmentId,"withTranscriptSegmentId");function hasExplicitTranscriptSegmentId(update){const meta=update["_meta"];const transcript=isObjectRecord(meta)?meta["qwenTranscript"]:void 0;return isObjectRecord(transcript)&&typeof transcript["segmentId"]==="string"&&transcript["segmentId"].length>0}__name(hasExplicitTranscriptSegmentId,"hasExplicitTranscriptSegmentId");function transcriptSegmentLane(update){const record=update;const kind=record["sessionUpdate"];const meta=isObjectRecord(record["_meta"])?record["_meta"]:void 0;const parentToolCallId=typeof meta?.["parentToolCallId"]==="string"?meta["parentToolCallId"]:"root";if(kind==="user_message_chunk"||kind==="agent_message_chunk"||kind==="agent_thought_chunk"){const content=isObjectRecord(record["content"])?record["content"]:void 0;const contentType=typeof content?.["type"]==="string"?content["type"]:void 0;if(!contentType)return void 0;if(contentType==="text"&&(typeof content?.["text"]!=="string"||content["text"].length===0)){return void 0}return`${String(kind)}:${contentType}:${parentToolCallId}`}if(kind==="shell_output"||kind==="tool_output"){const source=typeof meta?.["source"]==="string"?meta["source"]:"";const stream=typeof record["stream"]==="string"?record["stream"]:"";return`${String(kind)}:${source}:${stream}`}return void 0}__name(transcriptSegmentLane,"transcriptSegmentLane");function isTranscriptSegmentBoundary(update){const record=update;const kind=record["sessionUpdate"];return typeof kind==="string"&&kind!=="agent_message_chunk"&&kind!=="agent_thought_chunk"&&kind!=="user_message_chunk"}__name(isTranscriptSegmentBoundary,"isTranscriptSegmentBoundary");function isTranscriptDiscreteMessage(update){const record=update;const meta=isObjectRecord(record["_meta"])?record["_meta"]:void 0;return meta?.["qwenDiscreteMessage"]===true}__name(isTranscriptDiscreteMessage,"isTranscriptDiscreteMessage");function projectGoalControlCommand(cause,snapshot){switch(cause){case"create":case"replace":return snapshot.goal?`/goal ${snapshot.goal.objective}`:void 0;case"edit":return snapshot.goal?`/goal edit ${snapshot.goal.objective}`:void 0;case"pause":return snapshot.goal?.lastReason===void 0||snapshot.goal.lastReason===GOAL_PAUSE_REASON_COMMAND?`/goal ${cause}`:void 0;case"resume":case"clear":return`/goal ${cause}`;case"turn_finished":case"checkpoint":case"verifier_accept":case"verifier_reject":case"complete":case"blocked":case"usage_limited":case"migrated":return void 0;default:return assertNever(cause)}}__name(projectGoalControlCommand,"projectGoalControlCommand");function assertNever(value){throw new Error(`Unsupported Goal state cause: ${String(value)}`)}__name(assertNever,"assertNever");function parseTranscriptGoalStatus(value){if(!isObjectRecord(value)||value["type"]!=="goal_status"){return void 0}const kind=value["kind"];const condition=value["condition"];if(typeof kind!=="string"||!TRANSCRIPT_GOAL_STATUS_KINDS.has(kind)||typeof condition!=="string"){return void 0}const iterations=finiteNumber(value["iterations"]);const setAt=finiteNumber(value["setAt"]);const durationMs=finiteNumber(value["durationMs"]);const lastReason=typeof value["lastReason"]==="string"?value["lastReason"]:void 0;return{kind,condition,...iterations!==void 0?{iterations}:{},...setAt!==void 0?{setAt}:{},...durationMs!==void 0?{durationMs}:{},...lastReason!==void 0?{lastReason}:{}}}__name(parseTranscriptGoalStatus,"parseTranscriptGoalStatus");function defaultToolResultContentPrefix(resultDisplay){if(!isObjectRecord(resultDisplay)||resultDisplay["type"]!=="vision_bridge_notice"||typeof resultDisplay["summary"]!=="string"||typeof resultDisplay["notice"]!=="string"){return[]}return[{type:"content",content:{type:"text",text:`${resultDisplay["summary"]}
4
+ ${resultDisplay["notice"]}`}}]}__name(defaultToolResultContentPrefix,"defaultToolResultContentPrefix");function parseInitialState(value,onDiagnostic){const empty={v:1,pendingToolCalls:[],cumulativeUsage:emptyUsage()};if(value===void 0)return empty;if(!isObjectRecord(value)){throw new TypeError("Invalid transcript replay state.")}if("v"in value&&value["v"]!==1){throw new TypeError("Unsupported transcript replay state version.")}const rawPending=Array.isArray(value["pendingToolCalls"])?value["pendingToolCalls"]:[];const pendingToolCalls=rawPending.flatMap(pending=>{if(!isObjectRecord(pending)||typeof pending["callId"]!=="string"||typeof pending["toolName"]!=="string"||typeof pending["sourceRecordId"]!=="string"){onDiagnostic?.({code:"invalid_replay_state",severity:"warning",message:"Dropped a malformed pending tool call from replay state.",affectsCompleteness:true});return[]}return[{callId:pending["callId"],toolName:pending["toolName"],...typeof pending["resolvedToolName"]==="string"?{resolvedToolName:pending["resolvedToolName"]}:{},sourceRecordId:pending["sourceRecordId"],...typeof pending["sourceTimestamp"]==="string"?{sourceTimestamp:pending["sourceTimestamp"]}:{},...typeof pending["rawCallId"]==="string"?{rawCallId:pending["rawCallId"]}:{},...typeof pending["toolLifecycleExecutionId"]==="string"&&pending["toolLifecycleExecutionId"].length>0?{toolLifecycleExecutionId:pending["toolLifecycleExecutionId"]}:{},...pending["timingMatched"]===true?{timingMatched:true}:{}}]});const rawUsage=value.cumulativeUsage;const usage=isObjectRecord(rawUsage)?rawUsage:{};const validUsage=finiteNumber(usage["promptTokens"])!==void 0&&finiteNumber(usage["cachedTokens"])!==void 0&&finiteNumber(usage["candidateTokens"])!==void 0&&finiteNumber(usage["apiTimeMs"])!==void 0;if(!validUsage){onDiagnostic?.({code:"invalid_replay_state",severity:"warning",message:"Reset invalid cumulative usage in transcript replay state.",affectsCompleteness:true})}const rawGoalState=value["goalState"];const goalState=rawGoalState===void 0?void 0:parseGoalSnapshotV2(rawGoalState);if(rawGoalState!==void 0&&!goalState){onDiagnostic?.({code:"invalid_replay_state",severity:"warning",message:"Dropped a malformed Goal state from replay state.",affectsCompleteness:true})}const rawGoalCause=value["goalCause"];const goalCause=rawGoalCause===void 0?void 0:parseGoalStateCause(rawGoalCause);if(rawGoalCause!==void 0&&!goalCause){onDiagnostic?.({code:"invalid_replay_state",severity:"warning",message:"Dropped a malformed Goal cause from replay state.",affectsCompleteness:true})}return{v:1,pendingToolCalls,cumulativeUsage:validUsage?{promptTokens:usage["promptTokens"],cachedTokens:usage["cachedTokens"],candidateTokens:usage["candidateTokens"],apiTimeMs:usage["apiTimeMs"]}:emptyUsage(),...goalState?{goalState}:{},...goalCause?{goalCause}:{}}}__name(parseInitialState,"parseInitialState");function emptyUsage(){return{promptTokens:0,cachedTokens:0,candidateTokens:0,apiTimeMs:0}}__name(emptyUsage,"emptyUsage");function fallbackToolMetadata(toolName,args){const description=typeof args["description"]==="string"?args["description"].trim():"";return{title:description?`${toolName}: ${description}`:toolName,locations:[],kind:"other"}}__name(fallbackToolMetadata,"fallbackToolMetadata");function resolveToolProvenance(toolName){if(toolName.startsWith("mcp__")){const parts=toolName.split("__");if(parts.length>=3&&parts[1]){return{provenance:"mcp",serverId:parts[1]}}}return{provenance:"builtin"}}__name(resolveToolProvenance,"resolveToolProvenance");function buildToolResultContent(options){const prefix=[...options.contentPrefix??[]];const diff=extractDiffContent(options.resultDisplay);if(diff)return[...prefix,diff];if(options.errorMessage){return[...prefix,{type:"content",content:{type:"text",text:options.errorMessage}}]}const content=[...prefix];for(const part of options.message??[]){if(!isObjectRecord(part))continue;if(typeof part["text"]==="string"&&part["text"]){content.push({type:"content",content:{type:"text",text:part["text"]}})}const response=isObjectRecord(part["functionResponse"])?part["functionResponse"]:void 0;const payload=response&&isObjectRecord(response["response"])?response["response"]:void 0;if(!payload)continue;try{const output=payload["output"];const error=payload["error"];const text=typeof output==="string"?output:typeof error==="string"?error:JSON.stringify(payload);content.push({type:"content",content:{type:"text",text}})}catch{}}return content}__name(buildToolResultContent,"buildToolResultContent");function extractDiffContent(resultDisplay){if(!isObjectRecord(resultDisplay))return null;if(!("fileName"in resultDisplay)||!("newContent"in resultDisplay)){return null}if(isTruncatedSessionDiffDisplay(resultDisplay)){return{type:"content",content:{type:"text",text:buildTruncatedDiffPreviewText(resultDisplay)}}}return{type:"diff",path:typeof resultDisplay["filePath"]==="string"?resultDisplay["filePath"]:typeof resultDisplay["fileName"]==="string"?resultDisplay["fileName"]:"",oldText:typeof resultDisplay["originalContent"]==="string"?resultDisplay["originalContent"]:"",newText:typeof resultDisplay["newContent"]==="string"?resultDisplay["newContent"]:""}}__name(extractDiffContent,"extractDiffContent");function isTruncatedSessionDiffDisplay(value){return isObjectRecord(value)&&value["truncatedForSession"]===true&&"fileName"in value&&"newContent"in value}__name(isTruncatedSessionDiffDisplay,"isTruncatedSessionDiffDisplay");function buildTruncatedDiffPreviewText(display){const fileName=typeof display["fileName"]==="string"?display["fileName"]:"the edited file";const fileDiffLength=typeof display["fileDiffLength"]==="number"?` Original fileDiff length: ${display["fileDiffLength"]} chars.`:"";return display["fileDiffTruncated"]===true?`Full diff omitted from saved session history for ${fileName}.${fileDiffLength}`:`Saved session preview only for ${fileName}; full original and new file contents are unavailable.`}__name(buildTruncatedDiffPreviewText,"buildTruncatedDiffPreviewText");function extractToolName(record){for(const part of record.message?.parts??[]){if(!isObjectRecord(part)||!isObjectRecord(part["functionResponse"])){continue}const name=part["functionResponse"]["name"];if(typeof name==="string")return name}return""}__name(extractToolName,"extractToolName");function extractToolResultCallId(record,result){if(typeof result?.["callId"]==="string"&&result["callId"].length>0){return result["callId"]}for(const part of record.message?.parts??[]){if(!isObjectRecord(part)||!isObjectRecord(part["functionResponse"])){continue}const id=part["functionResponse"]["id"];if(typeof id==="string"&&id.length>0)return id}return void 0}__name(extractToolResultCallId,"extractToolResultCallId");function extractTodoPlanFromDisplay(value){if(isObjectRecord(value)&&value["type"]==="todo_list"){return Array.isArray(value["todos"])?{...typeof value["planId"]==="string"?{planId:value["planId"]}:{},...value["sessionWorkflow"]===true?{sessionWorkflow:true}:{},todos:normalizeTodos(value["todos"])}:null}if(typeof value!=="string")return null;try{const parsed=JSON.parse(value);return isObjectRecord(parsed)&&parsed["type"]==="todo_list"&&Array.isArray(parsed["todos"])?{...typeof parsed["planId"]==="string"?{planId:parsed["planId"]}:{},...parsed["sessionWorkflow"]===true?{sessionWorkflow:true}:{},todos:normalizeTodos(parsed["todos"])}:null}catch{return null}}__name(extractTodoPlanFromDisplay,"extractTodoPlanFromDisplay");function normalizeTodos(values){return values.flatMap(value=>{if(!isObjectRecord(value)||typeof value["content"]!=="string")return[];const status=value["status"];if(status!=="pending"&&status!=="in_progress"&&status!=="completed"){return[]}return[{...typeof value["id"]==="string"?{id:value["id"]}:{},content:value["content"],status,...Array.isArray(value["blockedBy"])&&value["blockedBy"].every(dependency=>typeof dependency==="string")?{blockedBy:value["blockedBy"]}:{}}]})}__name(normalizeTodos,"normalizeTodos");function isTaskExecutionDisplay(value){return isObjectRecord(value)&&value["type"]==="task_execution"}__name(isTaskExecutionDisplay,"isTaskExecutionDisplay");function usageFromTaskExecution(display){const summary=isObjectRecord(display["executionSummary"])?display["executionSummary"]:void 0;if(!summary)return{};return{...finiteNumber(summary["inputTokens"])!==void 0?{promptTokenCount:summary["inputTokens"]}:{},...finiteNumber(summary["outputTokens"])!==void 0?{candidatesTokenCount:summary["outputTokens"]}:{},...finiteNumber(summary["thoughtTokens"])!==void 0?{thoughtsTokenCount:summary["thoughtTokens"]}:{},...finiteNumber(summary["cachedTokens"])!==void 0?{cachedContentTokenCount:summary["cachedTokens"]}:{},...finiteNumber(summary["totalTokens"])!==void 0?{totalTokenCount:summary["totalTokens"]}:{}}}__name(usageFromTaskExecution,"usageFromTaskExecution");function finiteNumber(value){return typeof value==="number"&&Number.isFinite(value)?value:void 0}__name(finiteNumber,"finiteNumber");function extractErrorMessage(value){if(value instanceof Error)return value.message;if(!isObjectRecord(value))return void 0;return typeof value["message"]==="string"?value["message"]:void 0}__name(extractErrorMessage,"extractErrorMessage");function dedupeStrings(values){return[...new Set(values.filter(value=>value.length>0))]}__name(dedupeStrings,"dedupeStrings");init_esbuild_shims();init_esbuild_shims();var BaseEmitter=class{constructor(ctx){this.ctx=ctx}static{__name(this,"BaseEmitter")}static toEpochMs(ts){if(typeof ts==="number"){return Number.isFinite(ts)?ts:void 0}if(typeof ts==="string"){const ms=new Date(ts).getTime();return Number.isFinite(ms)?ms:void 0}return void 0}async sendUpdate(update){if(this.ctx.messageRewriter){return this.ctx.messageRewriter.interceptUpdate(update)}return this.ctx.sendUpdate(update)}get sessionId(){return this.ctx.sessionId}};init_esbuild_shims();var PlanEmitter=class extends BaseEmitter{static{__name(this,"PlanEmitter")}async emitPlan(plan,sourceCallId){const cumulative=this.ctx.cumulativeUsage;await this.sendUpdate(createTranscriptPlanUpdate(plan.todos,cumulative,{planToolCallId:sourceCallId,todoPlanId:plan.planId,...plan.sessionWorkflow?{extra:{qwenSessionWorkflow:true}}:{}}))}extractPlan(resultDisplay,args){const plan=extractTranscriptTodoPlan(resultDisplay,args);if(!plan)return null;return{...plan.planId?{planId:plan.planId}:{},...plan.sessionWorkflow?{sessionWorkflow:true}:{},todos:plan.todos.map((todo,index)=>({id:todo.id??String(index),content:todo.content,status:todo.status,...todo.blockedBy?{blockedBy:[...todo.blockedBy]}:{}}))}}};init_esbuild_shims();function hasFullSessionContext(context){return"config"in context}__name(hasFullSessionContext,"hasFullSessionContext");var debugLogger=createDebugLogger("TOOL_CALL_EMITTER");var KIND_MAP={["read"]:"read",["edit"]:"edit",["delete"]:"delete",["move"]:"move",["search"]:"search",["execute"]:"execute",["think"]:"think",["fetch"]:"fetch",["agent"]:"other",["other"]:"other"};function stripBoundaryArtifactsFromRawOutput(resultDisplay){if(typeof resultDisplay!=="object"||resultDisplay===null||!("type"in resultDisplay)||resultDisplay.type!=="task_execution"||!("toolCalls"in resultDisplay)||!Array.isArray(resultDisplay.toolCalls)){return resultDisplay}let changed=false;const toolCalls=resultDisplay.toolCalls.map(toolCall=>{if(typeof toolCall!=="object"||toolCall===null||!("boundaryArtifact"in toolCall)){return toolCall}const rawOutputToolCall={...toolCall};delete rawOutputToolCall["boundaryArtifact"];changed=true;return rawOutputToolCall});return changed?{...resultDisplay,toolCalls}:resultDisplay}__name(stripBoundaryArtifactsFromRawOutput,"stripBoundaryArtifactsFromRawOutput");var ToolCallEmitter=class _ToolCallEmitter extends BaseEmitter{static{__name(this,"ToolCallEmitter")}planEmitter;preparedCallIds=new Set;preparedLifecycles=new Map;constructor(ctx){super(ctx);this.planEmitter=new PlanEmitter(ctx)}async emitLifecycle(event){if(this.isTodoWriteTool(event.toolName)||hasFullSessionContext(this.ctx)&&this.ctx.isDisposed?.())return;await this.sendUpdate(createTranscriptToolLifecycleUpdate(event))}async emitStart(params){if(this.isTodoWriteTool(params.toolName)){return false}if(params.phase==="preparing"&&this.preparedCallIds.has(params.callId)){return false}if(params.phase==="preparing"&&hasFullSessionContext(this.ctx)){this.preparedLifecycles.set(params.callId,createToolLifecycle(this.ctx.config,params.callId,params.toolName))}else if(params.phase!=="preparing"){this.preparedLifecycles.delete(params.callId)}const{title,locations,kind}=this.resolveToolMetadata(params.toolName,params.args);const provenance=_ToolCallEmitter.resolveToolProvenance(params.toolName,params.subagentMeta);const updatesPreparedCall=params.phase!=="preparing"&&this.preparedCallIds.delete(params.callId);await this.sendUpdate(createTranscriptToolCallStartUpdate({toolName:params.toolName,callId:params.callId,status:params.status||"pending",args:params.args,metadata:{title,locations,kind},timestamp:params.timestamp,asUpdate:updatesPreparedCall,extra:{...params.startedAt!==void 0?{startedAt:params.startedAt}:{},...params.phase?{phase:params.phase}:{},...params.toolName===ToolNames.AGENT&&!params.subagentMeta?{subagentSessionReady:false}:{},...params.subagentMeta,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{}}}));if(params.phase==="preparing"){this.preparedCallIds.add(params.callId)}return true}async emitPreparationDiscarded(callId,toolName){if(this.isTodoWriteTool(toolName))return;this.preparedCallIds.delete(callId);const lifecycle=this.preparedLifecycles.get(callId)?.finish("cancelled","not_started");this.preparedLifecycles.delete(callId);if(lifecycle){await this.emitLifecycle(lifecycle).catch(error=>debugLogger.debug("Failed to emit discarded tool lifecycle",error))}const provenance=_ToolCallEmitter.resolveToolProvenance(toolName);await this.sendUpdate({sessionUpdate:"tool_call_update",toolCallId:callId,status:"failed",content:[],_meta:{toolName,phase:"preparing",preparationDiscarded:true,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{}}})}async emitResult(params){if(this.isTodoWriteTool(params.toolName)){if(params.subagentMeta)return;if(!params.success)return;const plan=this.planEmitter.extractPlan(params.resultDisplay,params.args);if(plan&&(plan.todos.length>0||params.args&&Array.isArray(params.args["todos"]))){await this.planEmitter.emitPlan(plan,params.callId)}return}this.preparedCallIds.delete(params.callId);this.preparedLifecycles.delete(params.callId);const provenance=_ToolCallEmitter.resolveToolProvenance(params.toolName,params.subagentMeta);const update=createTranscriptToolCallResultUpdate({toolName:params.toolName,callId:params.callId,success:params.success,message:params.message,resultDisplay:stripBoundaryArtifactsFromRawOutput(params.resultDisplay),errorMessage:params.error?.message,artifacts:params.artifacts,contentPrefix:buildToolResultContentPrefix(params.resultDisplay),timestamp:params.timestamp,extra:{...params.startedAt!==void 0?{startedAt:params.startedAt}:{},...params.durationMs!==void 0?{durationMs:params.durationMs}:{},...params.subagentMeta,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{}}});associateAcpToolResultArtifact(update,params.boundaryArtifact??toolResultBoundaryArtifact(params.persistedOutputFiles,params.artifacts));await this.sendUpdate(update)}async emitError(callId,toolName,error,subagentMeta,timing){this.preparedCallIds.delete(callId);this.preparedLifecycles.delete(callId);const provenance=_ToolCallEmitter.resolveToolProvenance(toolName,subagentMeta);await this.sendUpdate(createTranscriptToolCallResultUpdate({toolName,callId,success:false,errorMessage:error.message,extra:{...timing,...subagentMeta,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{}}}))}async emitProgressUpdate(parentToolCallId,subagentType,message,toolName){if(toolName&&this.isTodoWriteTool(toolName))return;await this.sendUpdate({sessionUpdate:"tool_call_update",toolCallId:parentToolCallId,status:"in_progress",content:[{type:"content",content:{type:"text",text:sanitizeTerminalText(message)}}],_meta:{subagentType,provenance:"subagent",subagentProgress:true}})}static resolveToolProvenance(toolName,subagentMeta){if(subagentMeta!==void 0){return{provenance:"subagent"}}if(toolName.startsWith("mcp__")){const parts=toolName.split("__");if(parts.length>=3&&parts[1]&&parts[1].length>0){return{provenance:"mcp",serverId:parts[1]}}}return{provenance:"builtin"}}isTodoWriteTool(toolName){return toolName===ToolNames.TODO_WRITE}isExitPlanModeTool(toolName){return toolName===ToolNames.EXIT_PLAN_MODE}isEnterPlanModeTool(toolName){return toolName===ToolNames.ENTER_PLAN_MODE}resolveToolMetadata(toolName,args){if(!hasFullSessionContext(this.ctx)){const description=typeof args?.["description"]==="string"?args["description"].trim():"";return{title:description?`${toolName}: ${description}`:toolName,locations:[],kind:"other"}}const toolRegistry=this.ctx.config.getToolRegistry();const tool=toolRegistry.getTool(toolName);let title=tool?.displayName??toolName;let locations=[];let kind="other";if(tool&&args){try{const invocation=tool.build(args);title=`${title}: ${invocation.getDescription()}`;locations=invocation.toolLocations().map(loc=>({path:loc.path,line:loc.line??null}));kind=this.mapToolKind(tool.kind,toolName)}catch{if(typeof args["description"]==="string"){title=`${title}: ${args["description"]}`}if(tool.kind){kind=this.mapToolKind(tool.kind,toolName)}}}return{title,locations,kind}}mapToolKind(kind,toolName){if(toolName&&(this.isExitPlanModeTool(toolName)||this.isEnterPlanModeTool(toolName))){return"switch_mode"}return KIND_MAP[kind]??"other"}};function buildToolResultContentPrefix(resultDisplay){if(!isVisionBridgeNoticeDisplay(resultDisplay))return[];return[{type:"content",content:{type:"text",text:sanitizeTerminalText(formatVisionBridgeNoticeDisplay(resultDisplay))}}]}__name(buildToolResultContentPrefix,"buildToolResultContentPrefix");var HistoryReplayer=class{constructor(ctx){this.ctx=ctx;this.toolCallEmitter=new ToolCallEmitter(ctx);this.machine=this.createMachine()}static{__name(this,"HistoryReplayer")}toolCallEmitter;machine;async replay(records,gaps,options={}){try{if(options.goalBootstrap){const update={sessionUpdate:"agent_message_chunk",content:{type:"text",text:""},_meta:{...options.goalBootstrap.goalState?{goalState:options.goalBootstrap.goalState}:{},goalStatus:options.goalBootstrap.goalStatus}};await this.sendUpdate(update)}await this.replayPage(records,{finalizeDangling:options.finalizeDangling??true,gaps,...options.skipFinalizeCallIds?{skipFinalizeCallIds:options.skipFinalizeCallIds}:{},...options.initialGoalState?{goalState:options.initialGoalState}:{},...options.initialGoalCause?{goalCause:options.initialGoalCause}:{}})}finally{this.setActiveRecordId(null)}}static v2GoalBootstrap(rawGoalState,rawGoalCause){const goalState=parseGoalSnapshotV2(rawGoalState);const goalCause=parseGoalStateCause(rawGoalCause);if(!goalState?.goal||goalState.goal.status!=="active"||!goalCause){return void 0}const{kind,...goalStatus}=projectGoalCard({v:2,cause:goalCause,snapshot:goalState});if(kind!=="set"&&kind!=="checking"){return void 0}return{goalStatus:{...goalStatus,kind},goalState}}async replayPage(records,options={}){this.machine=this.createMachine(options);let replayError;try{for(const record of records){for(const emission of this.machine.project(record)){this.setActiveRecordId(emission.sourceRecordId,emission.sourceTimestamp);await this.sendUpdate(emission.update)}}}catch(error){replayError=error}let danglingError;if(options.finalizeDangling===true){for(const emission of this.machine.finalize()){this.setActiveRecordId(emission.sourceRecordId,emission.sourceTimestamp);try{await this.sendUpdate(emission.update)}catch(error){danglingError??=error}}}const replay=this.machine.snapshot();this.copyCumulativeUsage(replay);const state={pendingToolCalls:replay.pendingToolCalls.map(toLegacyPendingToolCall),replay};this.setActiveRecordId(null);if(replayError&&danglingError){throw new AggregateError([replayError,danglingError],"Replay and dangling-cleanup both failed")}if(replayError)throw replayError;if(danglingError)throw danglingError;return state}getPendingToolCalls(){return this.machine.snapshot().pendingToolCalls.map(toLegacyPendingToolCall)}getReplayState(){return this.machine.snapshot()}createMachine(options={}){const cumulative=this.ctx.cumulativeUsage;const initialState={v:1,pendingToolCalls:(options.pendingToolCalls??[]).map(toPendingTranscriptToolCall),cumulativeUsage:cumulative?{...cumulative}:{promptTokens:0,cachedTokens:0,candidateTokens:0,apiTimeMs:0},...options.goalState?{goalState:options.goalState}:{},...options.goalCause?{goalCause:options.goalCause}:{}};return createTranscriptReplayMachine({initialState,gaps:options.gaps,presentation:this.presentationAdapter(),...options.skipFinalizeCallIds?{skipFinalizeCallIds:options.skipFinalizeCallIds}:{},...options.includeTiming?{includeTiming:true}:{},onDiagnostic:__name(diagnostic=>{if(diagnostic.code==="malformed_part"&&diagnostic.path==="systemPayload.outputHistoryItems.goalStatus.condition"){writeStderrLineSafe(`qwen: ${diagnostic.message}`)}},"onDiagnostic")})}presentationAdapter(){return{resolveToolMetadata:__name((toolName,args)=>this.toolCallEmitter.resolveToolMetadata(toolName,{...args}),"resolveToolMetadata"),formatHistoryGap:__name(gap=>formatHistoryGapNotice(gap),"formatHistoryGap"),buildToolResultContentPrefix}}async sendUpdate(update){if(this.ctx.messageRewriter){await this.ctx.messageRewriter.interceptUpdate(update);return}await this.ctx.sendUpdate(update)}copyCumulativeUsage(state){const cumulative=this.ctx.cumulativeUsage;if(!cumulative)return;cumulative.promptTokens=state.cumulativeUsage.promptTokens;cumulative.cachedTokens=state.cumulativeUsage.cachedTokens;cumulative.candidateTokens=state.cumulativeUsage.candidateTokens;cumulative.apiTimeMs=state.cumulativeUsage.apiTimeMs}setActiveRecordId(recordId,timestamp){this.ctx.setActiveRecordId?.(recordId,timestamp)}};function toPendingTranscriptToolCall(pending){return{callId:pending.callId,toolName:pending.toolName,...pending.resolvedToolName?{resolvedToolName:pending.resolvedToolName}:{},sourceRecordId:pending.recordId,...pending.timestamp?{sourceTimestamp:pending.timestamp}:{},...pending.rawCallId?{rawCallId:pending.rawCallId}:{},...pending.timingMatched?{timingMatched:true}:{}}}__name(toPendingTranscriptToolCall,"toPendingTranscriptToolCall");function toLegacyPendingToolCall(pending){return{callId:pending.callId,toolName:pending.toolName,...pending.resolvedToolName?{resolvedToolName:pending.resolvedToolName}:{},recordId:pending.sourceRecordId,...pending.sourceTimestamp?{timestamp:pending.sourceTimestamp}:{},...pending.rawCallId?{rawCallId:pending.rawCallId}:{},...pending.timingMatched?{timingMatched:true}:{}}}__name(toLegacyPendingToolCall,"toLegacyPendingToolCall");init_esbuild_shims();import{promises as fsp}from"node:fs";import*as path from"node:path";init_esbuild_shims();import*as childProcess from"node:child_process";var debugLogger2=createDebugLogger("GIT");async function runGit(args,opts={}){return await new Promise((resolve2,reject)=>{childProcess.execFile("git",args,{encoding:"utf-8",...opts.cwd?{cwd:opts.cwd}:{}},(err,stdout)=>{if(err){reject(err);return}resolve2(String(stdout??"").trim())})})}__name(runGit,"runGit");var isGitHubRepositoryAsync=__name(async(opts={})=>{try{const remotes=await runGit(["remote","-v"],opts);return remotes.split("\n").some(line=>{const remoteUrl=line.trim().split(/\s+/)[1];return remoteUrl?isGitHubRemoteUrl(remoteUrl):false})}catch(_error){debugLogger2.debug(`Failed to get git remote:`,_error);return false}},"isGitHubRepositoryAsync");function isGitHubRemoteUrl(remoteUrl){if(remoteUrl.startsWith("git@github.com:")){return true}if(remoteUrl.startsWith("git@")){return false}try{return new URL(remoteUrl).hostname==="github.com"}catch{return false}}__name(isGitHubRemoteUrl,"isGitHubRemoteUrl");var getGitRepoRootAsync=__name(async(opts={})=>{const gitRepoRoot=await runGit(["rev-parse","--show-toplevel"],opts);if(!gitRepoRoot){throw new Error(`Git repo returned empty value`)}return gitRepoRoot},"getGitRepoRootAsync");var getLatestGitHubRelease=__name(async proxy=>{try{const controller=new AbortController;const endpoint=`https://api.github.com/repos/QwenLM/qwen-code-action/releases/latest`;const dispatcher=proxy?new(await loadUndici()).ProxyAgent(proxy):void 0;const response=await fetch(endpoint,{method:"GET",headers:{Accept:"application/vnd.github+json","Content-Type":"application/json","X-GitHub-Api-Version":"2022-11-28"},dispatcher,signal:AbortSignal.any([AbortSignal.timeout(3e4),controller.signal])});if(!response.ok){throw new Error(`Invalid response code: ${response.status} - ${response.statusText}`)}const releaseTag=(await response.json()).tag_name;if(!releaseTag){throw new Error(`Response did not include tag_name field`)}return releaseTag}catch(_error){debugLogger2.debug(`Failed to determine latest qwen-code-action release:`,_error);throw new Error(`Unable to determine the latest qwen-code-action release on GitHub.`)}},"getLatestGitHubRelease");async function getGitHubRepoInfoAsync(opts={}){return parseGitHubRepoInfo(await runGit(["remote","get-url","origin"],opts))}__name(getGitHubRepoInfoAsync,"getGitHubRepoInfoAsync");function parseGitHubRepoInfo(remoteUrl){let urlToParse=remoteUrl;if(remoteUrl.startsWith("git@github.com:")){urlToParse=remoteUrl.replace("git@github.com:","")}else if(remoteUrl.startsWith("git@")){throw new Error(`Owner & repo could not be extracted from remote URL: ${remoteUrl}`)}let parsedUrl;try{parsedUrl=new URL(urlToParse,"https://github.com")}catch{throw new Error(`Owner & repo could not be extracted from remote URL: ${remoteUrl}`)}if(parsedUrl.hostname!=="github.com"){throw new Error(`Owner & repo could not be extracted from remote URL: ${remoteUrl}`)}const parts=parsedUrl.pathname.split("/").filter(part=>part!=="");if(parts.length!==2||!parts[0]||!parts[1]){throw new Error(`Owner & repo could not be extracted from remote URL: ${remoteUrl}`)}return{owner:parts[0],repo:parts[1].replace(/\.git$/,"")}}__name(parseGitHubRepoInfo,"parseGitHubRepoInfo");var debugLogger3=createDebugLogger("SETUP_GITHUB");var GITHUB_WORKFLOW_PATHS=["qwen-dispatch/qwen-dispatch.yml","qwen-assistant/qwen-invoke.yml","issue-triage/qwen-triage.yml","issue-triage/qwen-scheduled-triage.yml","pr-review/qwen-review.yml"];var GITIGNORE_ENTRIES=[".qwen/","gha-creds-*.json"];var MAX_WORKFLOW_DOWNLOAD_BYTES=5*1024*1024;var SetupGithubError=class extends Error{static{__name(this,"SetupGithubError")}code;status;partial;partialResult;constructor(code,message,status,partialResult){super(message);this.name="SetupGithubError";this.code=code;this.status=status;this.partial=partialResult!==void 0;this.partialResult=partialResult}};function isWorkspaceGenerationClosed(error){return Boolean(error&&typeof error==="object"&&"code"in error&&error.code==="workspace_generation_closed")}__name(isWorkspaceGenerationClosed,"isWorkspaceGenerationClosed");var nodeFileOps={assertCanWrite(){},async ensureWorkflowDirectory(gitRepoRoot){await fsp.mkdir(path.join(gitRepoRoot,".github","workflows"),{recursive:true})},async writeTextFile(gitRepoRoot,relativePath,content){const target=path.join(gitRepoRoot,relativePath);await fsp.writeFile(target,content,{mode:420});return{sizeBytes:Buffer.byteLength(content,"utf8")}},async readTextFile(gitRepoRoot,relativePath){try{return await fsp.readFile(path.join(gitRepoRoot,relativePath),"utf8")}catch(error){if(error.code==="ENOENT"){return void 0}throw error}}};async function setupGithub(options={}){const cwd=options.cwd??process.cwd();const fileOps=options.fileOps??nodeFileOps;if(!await isGitHubRepositoryAsync({cwd})){throw new SetupGithubError("github_repository_not_found","Unable to determine the GitHub repository. /setup-github must be run from a git repository.",400)}let gitRepoRoot;try{gitRepoRoot=await getGitRepoRootAsync({cwd})}catch(error){debugLogger3.debug("Failed to get git repo root:",error);throw new SetupGithubError("github_repository_not_found","Unable to determine the GitHub repository. /setup-github must be run from a git repository.",400)}if(options.workspaceRoot){const[gitRootReal,workspaceReal]=await Promise.all([realpathOrResolve(gitRepoRoot),realpathOrResolve(options.workspaceRoot)]);if(gitRootReal!==workspaceReal){throw new SetupGithubError("github_git_root_mismatch","The Git repository root must match the daemon workspace root.",400)}}fileOps.assertCanWrite?.();let releaseTag;try{releaseTag=await getLatestGitHubRelease(options.proxy)}catch(error){writeStderrLine(`qwen setup-github: failed to determine latest qwen-code-action release: ${error instanceof Error?error.message:String(error)}`);debugLogger3.debug("Failed to determine latest qwen-code-action release:",error);throw new SetupGithubError("github_release_lookup_failed","Unable to determine the latest qwen-code-action release on GitHub.",502)}const readmeUrl=`https://github.com/QwenLM/qwen-code-action/blob/${releaseTag}/README.md#quick-start`;const secretsUrl=await resolveSecretsUrl(cwd);const downloads=await downloadWorkflows({releaseTag,proxy:options.proxy,abortSignal:options.abortSignal,fetchImpl:options.fetchImpl??fetch});const result={kind:"github_setup",workspaceCwd:options.workspaceRoot??gitRepoRoot,gitRepoRoot,releaseTag,readmeUrl,...secretsUrl?{secretsUrl}:{},workflows:[],gitignore:{path:".gitignore",status:"skipped"},warnings:[]};result.gitignore=await updateGitignore(gitRepoRoot,fileOps);if(result.gitignore.status==="failed"){result.warnings.push("Failed to update .gitignore.")}try{await fileOps.ensureWorkflowDirectory(gitRepoRoot);for(const workflow of downloads){const relativePath=path.posix.join(".github","workflows",path.posix.basename(workflow.sourcePath));try{const write=await fileOps.writeTextFile(gitRepoRoot,relativePath,workflow.content);result.workflows.push({sourcePath:workflow.sourcePath,path:relativePath,status:"written",sizeBytes:write.sizeBytes})}catch(error){if(isWorkspaceGenerationClosed(error))throw error;result.partial=true;result.workflows.push({sourcePath:workflow.sourcePath,path:relativePath,status:"failed",error:error instanceof Error?error.message:String(error)});throw new SetupGithubError("github_workflow_write_failed",`Unable to write ${relativePath}.`,500,result)}}}catch(error){if(isWorkspaceGenerationClosed(error))throw error;if(error instanceof SetupGithubError)throw error;throw new SetupGithubError("github_workflow_write_failed","Unable to create .github/workflows.",500,result)}return result}__name(setupGithub,"setupGithub");async function updateGitignore(gitRepoRoot,fileOps=nodeFileOps){try{const existingContent=await fileOps.readTextFile(gitRepoRoot,".gitignore");if(existingContent===void 0){const content=GITIGNORE_ENTRIES.join("\n")+"\n";await fileOps.writeTextFile(gitRepoRoot,".gitignore",content);return{path:".gitignore",status:"created",added:[...GITIGNORE_ENTRIES]}}const missingEntries=GITIGNORE_ENTRIES.filter(entry=>!existingContent.split(/\r?\n/).some(line=>line.split("#")[0].trim()===entry));if(missingEntries.length===0){return{path:".gitignore",status:"unchanged"}}const nextContent=existingContent+"\n"+missingEntries.join("\n")+"\n";await fileOps.writeTextFile(gitRepoRoot,".gitignore",nextContent);return{path:".gitignore",status:"updated",added:missingEntries}}catch(error){if(isWorkspaceGenerationClosed(error))throw error;debugLogger3.debug("Failed to update .gitignore:",error);return{path:".gitignore",status:"failed",error:error instanceof Error?error.message:String(error)}}}__name(updateGitignore,"updateGitignore");async function downloadWorkflows(options){const internalAbort=new AbortController;try{const dispatcher=options.proxy?new(await loadUndici()).ProxyAgent(options.proxy):void 0;return await Promise.all(GITHUB_WORKFLOW_PATHS.map(async workflow=>{const endpoint=`https://raw.githubusercontent.com/QwenLM/qwen-code-action/refs/tags/${options.releaseTag}/examples/workflows/${workflow}`;const response=await options.fetchImpl(endpoint,{method:"GET",dispatcher,signal:AbortSignal.any([AbortSignal.timeout(3e4),internalAbort.signal,...options.abortSignal?[options.abortSignal]:[]])});if(!response.ok){throw new Error(`Invalid response code downloading ${endpoint}: ${response.status} - ${response.statusText}`)}return{sourcePath:workflow,content:await readResponseTextWithLimit(response,workflow)}}))}catch(error){internalAbort.abort();const message=error instanceof Error?error.message:String(error);debugLogger3.debug("Failed to download qwen-code-action workflows:",error);throw new SetupGithubError("github_workflow_download_failed",`Unable to download qwen-code-action workflows from GitHub. ${message}`,502)}}__name(downloadWorkflows,"downloadWorkflows");async function readResponseTextWithLimit(response,sourcePath){const contentLength=response.headers.get("content-length");if(contentLength!==null){const parsedLength=Number(contentLength);if(Number.isFinite(parsedLength)&&parsedLength>MAX_WORKFLOW_DOWNLOAD_BYTES){throw new Error(`${sourcePath} exceeds download limit of ${MAX_WORKFLOW_DOWNLOAD_BYTES} bytes`)}}if(!response.body)return"";const reader=response.body.getReader();const chunks=[];let totalBytes=0;try{while(true){const{done,value}=await reader.read();if(done)break;if(!value)continue;totalBytes+=value.byteLength;if(totalBytes>MAX_WORKFLOW_DOWNLOAD_BYTES){await reader.cancel().catch(()=>{});throw new Error(`${sourcePath} exceeds download limit of ${MAX_WORKFLOW_DOWNLOAD_BYTES} bytes`)}chunks.push(value)}}finally{reader.releaseLock()}const body=new Uint8Array(totalBytes);let offset=0;for(const chunk of chunks){body.set(chunk,offset);offset+=chunk.byteLength}return new TextDecoder().decode(body)}__name(readResponseTextWithLimit,"readResponseTextWithLimit");async function resolveSecretsUrl(cwd){try{const repoInfo=await getGitHubRepoInfoAsync({cwd});return`https://github.com/${repoInfo.owner}/${repoInfo.repo}/settings/secrets/actions`}catch{return void 0}}__name(resolveSecretsUrl,"resolveSecretsUrl");async function realpathOrResolve(input){try{return await fsp.realpath(input)}catch{return path.resolve(input)}}__name(realpathOrResolve,"realpathOrResolve");init_esbuild_shims();import{randomUUID}from"node:crypto";init_esbuild_shims();function getToolResultCallId(record){return getExplicitToolResultCallId(record)??record.uuid}__name(getToolResultCallId,"getToolResultCallId");function getExplicitToolResultCallId(record){const resultCallId=record.toolCallResult?.callId;if(typeof resultCallId==="string"&&resultCallId.length>0){return resultCallId}return extractFunctionResponseId(record)}__name(getExplicitToolResultCallId,"getExplicitToolResultCallId");function extractFunctionResponseId(record){if(!record.message?.parts){return void 0}for(const part of record.message.parts){const id="functionResponse"in part?part.functionResponse?.id:void 0;if(typeof id==="string"&&id.length>0){return id}}return void 0}__name(extractFunctionResponseId,"extractFunctionResponseId");function extractToolNameFromRecord(record){if(!record.message?.parts){return void 0}for(const part of record.message.parts){if("functionResponse"in part&&part.functionResponse?.name){return part.functionResponse.name}}return void 0}__name(extractToolNameFromRecord,"extractToolNameFromRecord");function normalizeFunctionCallArgs(args){if(args&&typeof args==="object"){return args}if(typeof args==="string"){try{const parsed=JSON.parse(args);if(parsed&&typeof parsed==="object"){return parsed}}catch{}}return void 0}__name(normalizeFunctionCallArgs,"normalizeFunctionCallArgs");function buildToolCallArgsIndex(records){const byId=new Map;const byName=new Map;for(const record of records){if(record.type!=="assistant"||!record.message?.parts)continue;for(const part of record.message.parts){if(!("functionCall"in part)||!part.functionCall?.name)continue;const normalizedArgs=normalizeFunctionCallArgs(part.functionCall.args);if(!normalizedArgs)continue;const toolName=part.functionCall.name;const callId=typeof part.functionCall.id==="string"?part.functionCall.id:null;if(callId){byId.set(callId,normalizedArgs)}const queue=byName.get(toolName)??[];queue.push(normalizedArgs);byName.set(toolName,queue)}}return{byId,byName}}__name(buildToolCallArgsIndex,"buildToolCallArgsIndex");function calculateFileStats(records){const argsIndex=buildToolCallArgsIndex(records);const byNameCursor=new Map;const stats={filesWritten:0,linesAdded:0,linesRemoved:0,writtenFilePaths:new Set};for(const record of records){if(record.type!=="tool_result"||isInternalCodeModeToolResult(record)||!record.toolCallResult)continue;const toolName=extractToolNameFromRecord(record);const callId=getExplicitToolResultCallId(record);const argsFromId=callId&&argsIndex.byId.has(callId)?argsIndex.byId.get(callId):void 0;let args=argsFromId;if(!args&&toolName){const queue=argsIndex.byName.get(toolName);if(queue&&queue.length>0){const cursor=byNameCursor.get(toolName)??0;args=queue[cursor];byNameCursor.set(toolName,cursor+1)}}const{resultDisplay}=record.toolCallResult;if(resultDisplay&&typeof resultDisplay==="object"&&"fileName"in resultDisplay){const display=resultDisplay;const hasOriginalContent="originalContent"in display;const hasNewContent="newContent"in display;let filePath;if(typeof display.fileName==="string"){filePath=args?.["file_path"]||display.fileName}else{filePath="unknown"}if(hasOriginalContent||hasNewContent){stats.filesWritten++;stats.writtenFilePaths.add(filePath);if(display.diffStat){stats.linesAdded+=display.diffStat.model_added_lines??0;stats.linesRemoved+=display.diffStat.model_removed_lines??0}else if(!display.truncatedForSession){const oldText=String(display.originalContent??"");const newText=String(display.newContent??"");const oldLines=oldText.split("\n").filter(line=>line.length>0).length;const newLines=newText.split("\n").filter(line=>line.length>0).length;stats.linesAdded+=newLines;stats.linesRemoved+=oldLines}}}}return stats}__name(calculateFileStats,"calculateFileStats");function extractTaskToolTokens(record){if(record.type!=="tool_result"||!record.toolCallResult?.resultDisplay){return 0}const{resultDisplay}=record.toolCallResult;if(typeof resultDisplay==="object"&&"type"in resultDisplay&&resultDisplay.type==="task_execution"&&"executionSummary"in resultDisplay){const summary=resultDisplay.executionSummary;if(typeof summary.totalTokens==="number"){return summary.totalTokens}return(summary.inputTokens??0)+(summary.outputTokens??0)+(summary.thoughtTokens??0)+(summary.cachedTokens??0)}return 0}__name(extractTaskToolTokens,"extractTaskToolTokens");function calculateTokenStats(records){let totalTokens=0;let lastValidRecord=null;for(const record of records){if(record.type==="assistant"){if(record.usageMetadata){totalTokens+=record.usageMetadata.totalTokenCount??0}if(record.usageMetadata?.totalTokenCount!==void 0&&record.contextWindowSize!==void 0){lastValidRecord={totalTokenCount:record.usageMetadata.totalTokenCount,contextWindowSize:record.contextWindowSize}}}const taskTokens=extractTaskToolTokens(record);if(taskTokens>0){totalTokens+=taskTokens}}if(lastValidRecord){const percent=lastValidRecord.totalTokenCount/lastValidRecord.contextWindowSize*100;return{totalTokens,contextUsagePercent:Math.round(percent*10)/10,contextWindowSize:lastValidRecord.contextWindowSize}}const lastAssistantRecord=[...records].reverse().find(r=>r.type==="assistant"&&r.contextWindowSize!==void 0);return{totalTokens,contextWindowSize:lastAssistantRecord?.contextWindowSize}}__name(calculateTokenStats,"calculateTokenStats");function createExportSessionConfig(config){const supportedConfig={...config,getToolRegistry:__name(()=>{const registry=config.getToolRegistry?.();return{getTool:__name(toolName=>registry?.getTool?.(toolName)??null,"getTool")}},"getToolRegistry")};return new Proxy(supportedConfig,{get(target,prop,receiver){if(prop in target){return Reflect.get(target,prop,receiver)}if(typeof prop==="symbol"){return void 0}throw new Error(`Export session replay config does not implement ${prop}`)}})}__name(createExportSessionConfig,"createExportSessionConfig");async function collectSessionMetadata(conversation,config){const{sessionId,startTime,messages}=conversation;const firstRecord=messages[0];const cwd=firstRecord?.cwd??"";const gitBranch=firstRecord?.gitBranch;let gitRepo;if(cwd){const{getGitRepoName}=await import("./deferred-core-runtime-FLOFQJPU.js");gitRepo=getGitRepoName(cwd)}let model;for(const record of messages){if(record.type==="assistant"&&record.model){model=record.model;break}}const channel=config.getChannel?.();const promptCount=messages.filter(m=>m.type==="user").length;const fileStats=calculateFileStats(messages);const tokenStats=calculateTokenStats(messages);return{sessionId,startTime,exportTime:new Date().toISOString(),cwd,gitRepo,gitBranch,model,channel,promptCount,contextUsagePercent:tokenStats.contextUsagePercent,contextWindowSize:tokenStats.contextWindowSize,totalTokens:tokenStats.totalTokens,filesWritten:fileStats.writtenFilePaths.size,linesAdded:fileStats.linesAdded,linesRemoved:fileStats.linesRemoved,uniqueFiles:Array.from(fileStats.writtenFilePaths)}}__name(collectSessionMetadata,"collectSessionMetadata");function indexGoalStateRecords(records){const positions=new Map;const goalStates=[];records.forEach((record,index)=>{positions.set(record.uuid,index);if(record.type!=="system"||record.subtype!=="goal_state")return;const payload=parseGoalStateRecordPayloadV2(record.systemPayload);if(!payload)return;goalStates.push({index,uuid:record.uuid,timestamp:record.timestamp,payload})});return{positions,goalStates}}__name(indexGoalStateRecords,"indexGoalStateRecords");function describeGoalState(payload){const goal=payload.snapshot.goal;if(!goal)return`Goal ${payload.cause}`;const reason=goal.lastReason?`: ${goal.lastReason}`:"";return`Goal ${payload.cause} (${goal.status}, turn ${goal.turnCount})${reason}`}__name(describeGoalState,"describeGoalState");var ExportSessionContext=class{static{__name(this,"ExportSessionContext")}sessionId;config;messages=[];currentMessage=null;activeRecordId=null;activeRecordTimestamp=null;toolCallMap=new Map;recordPositions;pendingGoalStates;constructor(sessionId,config,records){this.sessionId=sessionId;this.config=createExportSessionConfig(config);const{positions,goalStates}=indexGoalStateRecords(records);this.recordPositions=positions;this.pendingGoalStates=goalStates}async sendUpdate(update){switch(update.sessionUpdate){case"user_message_chunk":this.handleMessageChunk("user",update.content,"user",void 0,agentAuthorOf(update._meta));break;case"agent_message_chunk":{const usageMeta=update._meta;const usageMetadata=usageMeta?.usage?{promptTokenCount:usageMeta.usage.inputTokens,candidatesTokenCount:usageMeta.usage.outputTokens,totalTokenCount:usageMeta.usage.totalTokens,thoughtsTokenCount:usageMeta.usage.thoughtTokens,cachedContentTokenCount:usageMeta.usage.cachedReadTokens}:void 0;this.handleMessageChunk("assistant",update.content,"assistant",usageMetadata,agentAuthorOf(update._meta));break}case"agent_thought_chunk":this.handleMessageChunk("assistant",update.content,"thinking");break;case"tool_call":this.flushCurrentMessage();this.handleToolCallStart(update);break;case"tool_call_update":this.handleToolCallUpdate(update);break;case"plan":this.flushCurrentMessage();this.handlePlanUpdate(update);break;default:break}}setActiveRecordId(recordId,timestamp){const position=recordId===null?void 0:this.recordPositions.get(recordId);if(position!==void 0)this.emitGoalStatesBefore(position);this.activeRecordId=recordId;this.activeRecordTimestamp=timestamp??null}emitGoalStatesBefore(position){while(this.pendingGoalStates.length>0&&this.pendingGoalStates[0].index<position){const{uuid,timestamp,payload}=this.pendingGoalStates.shift();this.flushCurrentMessage(this.currentMessage?.sourceUuid===uuid);this.messages.push({uuid,sessionId:this.sessionId,timestamp,type:"system",message:{role:"system",parts:[{text:describeGoalState(payload)}]},goalState:payload})}}getMessageTimestamp(){return this.activeRecordTimestamp??new Date().toISOString()}getMessageUuid(){return this.activeRecordId??randomUUID()}handleMessageChunk(role,content,messageRole=role,usageMetadata,author){if(content.type!=="text"||!content.text)return;const sameMessage=this.currentMessage!==null&&this.currentMessage.type===role&&this.currentMessage.role===messageRole&&this.currentMessage.author?.name===author?.name&&(!author||this.currentMessage.sourceUuid===(this.activeRecordId??void 0));if(this.currentMessage&&!sameMessage){this.flushCurrentMessage()}if(this.currentMessage&&sameMessage){this.currentMessage.parts.push({text:content.text});if(this.activeRecordTimestamp){this.currentMessage.sourceTimestamp=this.activeRecordTimestamp}if(usageMetadata&&role==="assistant"){this.currentMessage.usageMetadata=usageMetadata}}else{this.currentMessage={type:role,role:messageRole,parts:[{text:content.text}],sourceUuid:this.activeRecordId??void 0,sourceTimestamp:this.activeRecordTimestamp??void 0,...usageMetadata&&role==="assistant"?{usageMetadata}:{},...author?{author}:{}}}}handleToolCallStart(update){const toolCall={toolCallId:update.toolCallId,kind:update.kind||"other",title:typeof update.title==="string"?update.title:update.title||"",status:update.status||"pending",rawInput:update.rawInput,...isShellResultDisplay(update.rawOutput)?{rawOutput:update.rawOutput}:{},locations:update.locations,timestamp:Date.now()};this.toolCallMap.set(update.toolCallId,toolCall);const uuid=this.getMessageUuid();this.messages.push({uuid,sessionId:this.sessionId,timestamp:this.getMessageTimestamp(),type:"tool_call",toolCall})}handleToolCallUpdate(update){const toolCall=this.toolCallMap.get(update.toolCallId);if(toolCall){if(update.status)toolCall.status=update.status;if(update.content)toolCall.content=update.content;if(isShellResultDisplay(update.rawOutput))toolCall.rawOutput=update.rawOutput;if(update.title)toolCall.title=typeof update.title==="string"?update.title:""}}handlePlanUpdate(update){const uuid=this.getMessageUuid();const timestamp=this.getMessageTimestamp();const todoText=update.entries.map(entry=>{const checkbox=entry.status==="completed"?"[x]":entry.status==="in_progress"?"[-]":"[ ]";return`- ${checkbox} ${entry.content}`}).join("\n");const todoContent=[{type:"content",content:{type:"text",text:todoText}}];this.messages.push({uuid,sessionId:this.sessionId,timestamp,type:"tool_call",toolCall:{toolCallId:uuid,kind:"todowrite",title:"TodoList",status:"completed",content:todoContent,timestamp:Date.parse(timestamp)}})}flushCurrentMessage(freshUuid=false){if(!this.currentMessage)return;const uuid=freshUuid?randomUUID():this.currentMessage.sourceUuid??this.getMessageUuid();const timestamp=this.currentMessage.sourceTimestamp??this.getMessageTimestamp();const exportMessage={uuid,sessionId:this.sessionId,timestamp,type:this.currentMessage.type,message:{role:this.currentMessage.role,parts:this.currentMessage.parts}};if(this.currentMessage.author){exportMessage.author=this.currentMessage.author}if(this.currentMessage.type==="assistant"&&this.currentMessage.usageMetadata){exportMessage.usageMetadata=this.currentMessage.usageMetadata}this.messages.push(exportMessage);this.currentMessage=null}flushMessages(){this.emitGoalStatesBefore(Number.POSITIVE_INFINITY);this.flushCurrentMessage()}getMessages(){return this.messages}};function agentAuthorOf(meta){if(!meta||typeof meta!=="object")return void 0;const parsed=parseQwenAgentMessageMeta(meta[QWEN_AGENT_MESSAGE_META_KEY]);const name=parsed?.author?.name.trim();return name?{name}:void 0}__name(agentAuthorOf,"agentAuthorOf");async function collectSessionData(conversation,config){const exportContext=new ExportSessionContext(conversation.sessionId,config,conversation.messages);const replayer=new HistoryReplayer(exportContext);await replayer.replay(conversation.messages);exportContext.flushMessages();const messages=exportContext.getMessages();const metadata=await collectSessionMetadata(conversation,config);return{sessionId:conversation.sessionId,startTime:conversation.startTime,messages,metadata}}__name(collectSessionData,"collectSessionData");init_esbuild_shims();init_esbuild_shims();function buildTruncatedDiffPreviewText2(display){const fileName=typeof display["fileName"]==="string"?display["fileName"]:"the edited file";const fileDiffLength=typeof display["fileDiffLength"]==="number"?` Original fileDiff length: ${display["fileDiffLength"]} chars.`:"";if(display["fileDiffTruncated"]===true){return`Full diff omitted from saved session history for ${fileName}.${fileDiffLength}`}return`Saved session preview only for ${fileName}; full original and new file contents are unavailable.`}__name(buildTruncatedDiffPreviewText2,"buildTruncatedDiffPreviewText");function normalizeSessionData(sessionData,originalRecords,config){const normalized=[...sessionData.messages];const toolCallIndexById=new Map;normalized.forEach((message,index)=>{if(message.type==="tool_call"&&message.toolCall?.toolCallId){toolCallIndexById.set(message.toolCall.toolCallId,index)}});const assistantMessageIndexByUuid=new Map;normalized.forEach((message,index)=>{if(message.type==="assistant"&&(message.message?.role!=="thinking"||!assistantMessageIndexByUuid.has(message.uuid))){assistantMessageIndexByUuid.set(message.uuid,index)}});for(const record of originalRecords){if(record.type!=="tool_result"||isInternalCodeModeToolResult(record))continue;const toolCallMessage=buildToolCallMessageFromResult(record,config);if(!toolCallMessage?.toolCall)continue;const existingIndex=toolCallIndexById.get(toolCallMessage.toolCall.toolCallId);if(existingIndex===void 0){toolCallIndexById.set(toolCallMessage.toolCall.toolCallId,normalized.length);normalized.push(toolCallMessage);continue}const existingMessage=normalized[existingIndex];if(existingMessage.type!=="tool_call"||!existingMessage.toolCall){continue}mergeToolCallData(existingMessage.toolCall,toolCallMessage.toolCall)}for(const record of originalRecords){if(record.type!=="assistant")continue;if(!record.usageMetadata)continue;const existingIndex=assistantMessageIndexByUuid.get(record.uuid);if(existingIndex!==void 0){if(!normalized[existingIndex].usageMetadata){normalized[existingIndex].usageMetadata=record.usageMetadata}}}return{...sessionData,messages:normalized}}__name(normalizeSessionData,"normalizeSessionData");function mergeToolCallData(existing,incoming){if(!existing.content||existing.content.length===0){existing.content=incoming.content}if(existing.status==="pending"||existing.status==="in_progress"){existing.status=incoming.status}if(incoming.rawOutput!==void 0){existing.rawOutput=incoming.rawOutput}if(!existing.rawInput&&incoming.rawInput){existing.rawInput=incoming.rawInput}if(!existing.kind||existing.kind==="other"){existing.kind=incoming.kind}if((!existing.title||existing.title==="")&&incoming.title){existing.title=incoming.title}if((!existing.locations||existing.locations.length===0)&&incoming.locations&&incoming.locations.length>0){existing.locations=incoming.locations}}__name(mergeToolCallData,"mergeToolCallData");function buildToolCallMessageFromResult(record,config){const toolCallResult=record.toolCallResult;const toolName=extractToolNameFromRecord2(record);if(toolName===ToolNames.TODO_WRITE){return null}const toolCallId2=getToolResultCallId(record);const functionCallArgs=extractFunctionCallArgs(record);const{kind,title,locations}=resolveToolMetadata(config,toolName,functionCallArgs??toolCallResult?.args);const rawInput=normalizeRawInput(functionCallArgs??toolCallResult?.args);const resultContent=extractDiffContent2(toolCallResult?.resultDisplay)??transformPartsToToolCallContent(record.message?.parts??[]);const content=isVisionBridgeNoticeDisplay(toolCallResult?.resultDisplay)?[{type:"content",content:{type:"text",text:sanitizeTerminalText(formatVisionBridgeNoticeDisplay(toolCallResult.resultDisplay))}},...resultContent]:resultContent;return{uuid:record.uuid,parentUuid:record.parentUuid,sessionId:record.sessionId,timestamp:record.timestamp,type:"tool_call",toolCall:{toolCallId:toolCallId2,kind,title,status:toolCallResult?.error?"failed":"completed",rawInput,...isShellResultDisplay(toolCallResult?.resultDisplay)?{rawOutput:toolCallResult.resultDisplay}:{},content,locations,timestamp:Date.parse(record.timestamp)}}}__name(buildToolCallMessageFromResult,"buildToolCallMessageFromResult");function extractToolNameFromRecord2(record){if(!record.message?.parts){return""}for(const part of record.message.parts){if("functionResponse"in part&&part.functionResponse?.name){return part.functionResponse.name}}return""}__name(extractToolNameFromRecord2,"extractToolNameFromRecord");function extractFunctionCallArgs(record){if(!record.message?.parts){return void 0}for(const part of record.message.parts){if("functionCall"in part&&part.functionCall?.args){return part.functionCall.args}}return void 0}__name(extractFunctionCallArgs,"extractFunctionCallArgs");function resolveToolMetadata(config,toolName,args){const toolRegistry=config.getToolRegistry?.();const tool=toolName?toolRegistry?.getTool?.(toolName):void 0;let title=tool?.displayName??toolName??"tool_call";let locations;const kind=mapToolKind(tool?.kind,toolName);if(tool?.build&&args){try{const invocation=tool.build(args);title=`${title}: ${invocation.getDescription()}`;locations=invocation.toolLocations().map(loc=>({path:loc.path,line:loc.line??null}))}catch{}}return{kind,title,locations}}__name(resolveToolMetadata,"resolveToolMetadata");function mapToolKind(kind,toolName){if(toolName&&(toolName===ToolNames.EXIT_PLAN_MODE||toolName===ToolNames.ENTER_PLAN_MODE)){return"switch_mode"}if(toolName&&toolName===ToolNames.TODO_WRITE){return"todowrite"}const allowedKinds=new Set(["read","edit","delete","move","search","execute","think","fetch","other"]);if(kind&&allowedKinds.has(kind)){return kind}return"other"}__name(mapToolKind,"mapToolKind");function extractDiffContent2(resultDisplay){if(!resultDisplay||typeof resultDisplay!=="object"){return null}const display=resultDisplay;if("fileName"in display&&"newContent"in display){if(display["truncatedForSession"]===true){return[{type:"content",content:{type:"text",text:buildTruncatedDiffPreviewText2(display)}}]}return[{type:"diff",path:typeof display["filePath"]==="string"?display["filePath"]:display["fileName"],oldText:display["originalContent"]??"",newText:display["newContent"]}]}return null}__name(extractDiffContent2,"extractDiffContent");function normalizeRawInput(value){if(typeof value==="string")return value;if(typeof value==="object"&&value!==null)return value;return void 0}__name(normalizeRawInput,"normalizeRawInput");function transformPartsToToolCallContent(parts){const content=[];for(const part of parts){if("text"in part&&part.text){content.push({type:"content",content:{type:"text",text:part.text}});continue}if("functionResponse"in part&&part.functionResponse){const response=part.functionResponse.response;const outputField=response?.["output"];const errorField=response?.["error"];const responseText=typeof outputField==="string"?outputField:typeof errorField==="string"?errorField:JSON.stringify(response);content.push({type:"content",content:{type:"text",text:responseText}})}}return content}__name(transformPartsToToolCallContent,"transformPartsToToolCallContent");init_esbuild_shims();function toMarkdown(sessionData){const lines=[];const metadata=sessionData.metadata;lines.push("# Chat Session Export\n");lines.push(`- **Session ID**: \`${sanitizeText(sessionData.sessionId)}\``);lines.push(`- **Start Time**: ${sanitizeText(sessionData.startTime)}`);lines.push(`- **Exported**: ${sanitizeText(metadata?.exportTime??new Date().toISOString())}`);lines.push("");if(metadata?.cwd){lines.push(`- **Working Directory**: \`${sanitizeText(metadata.cwd)}\``)}if(metadata?.gitRepo){lines.push(`- **Git Repository**: ${sanitizeText(metadata.gitRepo)}`)}if(metadata?.gitBranch){lines.push(`- **Git Branch**: \`${sanitizeText(metadata.gitBranch)}\``)}lines.push("");if(metadata?.model){lines.push(`- **Model**: ${sanitizeText(metadata.model)}`)}if(metadata?.channel){lines.push(`- **Channel**: ${sanitizeText(metadata.channel)}`)}if(metadata?.promptCount!==void 0){lines.push(`- **Prompt Count**: ${metadata.promptCount}`)}lines.push("");if(metadata?.totalTokens!==void 0){lines.push(`- **Total Tokens**: ${metadata.totalTokens}`)}if(metadata?.contextWindowSize!==void 0){lines.push(`- **Context Window Size**: ${metadata.contextWindowSize}`)}if(metadata?.contextUsagePercent!==void 0){lines.push(`- **Context Usage**: ${metadata.contextUsagePercent}%`)}lines.push("");if(metadata?.filesWritten!==void 0){lines.push(`- **Files Written**: ${metadata.filesWritten}`)}if(metadata?.linesAdded!==void 0){lines.push(`- **Lines Added**: ${metadata.linesAdded}`)}if(metadata?.linesRemoved!==void 0){lines.push(`- **Lines Removed**: ${metadata.linesRemoved}`)}if(metadata?.uniqueFiles&&metadata.uniqueFiles.length>0){lines.push("");lines.push("<details>");lines.push(`<summary><strong>Unique Files Referenced (${metadata.uniqueFiles.length})</strong></summary>`);lines.push("");for(const file of metadata.uniqueFiles){lines.push(`- \`${sanitizeText(file)}\``)}lines.push("</details>")}lines.push("\n---\n");for(const message of sessionData.messages){if(message.type==="user"){lines.push("## User\n");lines.push(formatAuthoredContent(message))}else if(message.type==="assistant"){lines.push("## Assistant\n");lines.push(formatAuthoredContent(message))}else if(message.type==="tool_call"){lines.push(formatToolCall(message))}else if(message.type==="system"){lines.push("### System\n");const text=formatMessageContent(message);lines.push(`> ${text.replace(/\n/g,"\n> ")}`)}lines.push("\n")}return lines.join("\n")}__name(toMarkdown,"toMarkdown");function formatAuthoredContent(message){const content=formatMessageContent(message);const name=message.author?.name;if(!name)return content;const safeName=sanitizeText(name).replace(/[*_`[\]\\]/g,"\\$&");return`**${safeName}**:
5
5
 
6
6
  ${content}`}__name(formatAuthoredContent,"formatAuthoredContent");function formatMessageContent(message){const text=extractTextFromMessage(message);const processedText=text.replace(/--- Content from referenced files ---\n([\s\S]*?)\n--- End of content ---/g,(match,content)=>`
7
7
  > **Referenced Files:**
@@ -52,7 +52,7 @@ ${fence}`}__name(createCodeBlock,"createCodeBlock");function sanitizeText(value)
52
52
  id="transcript-stylesheet"
53
53
  integrity="sha384-ATDxX0VdZHTTXuq6B8kePu6QFztx3Lj3fUTFwJPRIlanEdp4KaxuWK0wtY2RTOr4"
54
54
  crossorigin="anonymous"
55
- href="https://unpkg.com/@qwen-code/qwen-code@0.26.2-preview.0/export-transcript-document.css"
55
+ href="https://unpkg.com/@qwen-code/qwen-code@0.26.2-preview.1/export-transcript-document.css"
56
56
  />
57
57
  </head>
58
58
  <body>
@@ -106,13 +106,13 @@ ${fence}`}__name(createCodeBlock,"createCodeBlock");function sanitizeText(value)
106
106
  <script
107
107
  nonce="__EXPORT_NONCE__"
108
108
  id="transcript-renderer"
109
- integrity="sha384-1NpBCZ2KBa1a5JElE1q11S47ZKTY97Qf9YRTICQmdNa6h+51IW9yLHjtMQNugJ6C"
109
+ integrity="sha384-TKSd7QUhFz1Yhh2aHwRcVoTKXoqo5TG7rW1Ni71pa/IBHHJRmvnSYkSpufsiLXvK"
110
110
  crossorigin="anonymous"
111
- src="https://unpkg.com/@qwen-code/qwen-code@0.26.2-preview.0/export-transcript-document.js"
111
+ src="https://unpkg.com/@qwen-code/qwen-code@0.26.2-preview.1/export-transcript-document.js"
112
112
  ></script>
113
113
  </body>
114
114
  </html>
115
- `;var EXPORT_TRANSCRIPT_RENDERER_VERSION="0.26.2-preview.0+72c0ea868ac20835";var EXPORT_TRANSCRIPT_RENDERER_LIMITS=Object.freeze({maxBlocks:1e3,maxEnvelopeBytes:33554432});init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();function parseBackgroundNotificationTurn2(value){if(!value||typeof value!=="object"||Array.isArray(value))return void 0;const record=value;const{turnId,taskId,kind,startedAt}=record;if(typeof turnId!=="string"||!turnId||turnId.length>256||typeof taskId!=="string"||!taskId||taskId.length>256||kind!=="agent"&&kind!=="monitor"&&kind!=="shell"&&kind!=="workflow"&&kind!=="peer"||typeof startedAt!=="number"||!Number.isFinite(startedAt)||startedAt<0)return void 0;for(const key of["toolUseId","sourceTurnId","label"]){if(record[key]!==void 0&&(typeof record[key]!=="string"||record[key].length>4096))return void 0}return{turnId,taskId,kind,startedAt,...record["toolUseId"]!==void 0?{toolUseId:record["toolUseId"]}:{},...record["sourceTurnId"]!==void 0?{sourceTurnId:record["sourceTurnId"]}:{},...record["label"]!==void 0?{label:record["label"]}:{}}}__name(parseBackgroundNotificationTurn2,"parseBackgroundNotificationTurn");var LOAD_REPLAY_MAX_BYTES=32*1024*1024;var MAX_TRUSTED_MODEL_PROMPT_CHARS=64*1024;var DAEMON_INPUT_ANNOTATIONS_META_KEY2="inputAnnotations";var MISSING_TRANSCRIPT_TOOL_RESULT_MESSAGE2="Tool result missing from saved history; the previous run likely ended before this tool completed.";var MAX_RESULT_PREVIEW_TEXT_LENGTH2=1e5;var TRANSCRIPT_GOAL_STATUS_KINDS2=new Set(["set","achieved","cleared","failed","aborted","paused","checking"]);function isObjectRecord2(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}__name(isObjectRecord2,"isObjectRecord");function replaceTextPartsForDisplay2(parts,displayText){const projected=[];let replacedText=false;for(const part of parts??[]){if(isObjectRecord2(part)&&typeof part["text"]==="string"){if(!replacedText&&displayText.length>0){projected.push({text:displayText})}replacedText=true}else{projected.push(part)}}if(!replacedText&&displayText.length>0){projected.push({text:displayText})}return projected}__name(replaceTextPartsForDisplay2,"replaceTextPartsForDisplay");function toTranscriptEpochMs2(timestamp){if(typeof timestamp==="number"){return Number.isFinite(timestamp)?timestamp:void 0}if(typeof timestamp!=="string")return void 0;const epochMs=new Date(timestamp).getTime();return Number.isFinite(epochMs)?epochMs:void 0}__name(toTranscriptEpochMs2,"toTranscriptEpochMs");function buildUpdateMeta2(options){const timestamp=toTranscriptEpochMs2(options.timestamp);const sourceRecordIds=dedupeStrings2(options.sourceRecordIds??[]);const qwenTranscript={...sourceRecordIds.length>0?{sourceRecordIds}:{},...options.planToolCallId?{planToolCallId:options.planToolCallId}:{},...options.resultPreviewText?{resultPreviewText:options.resultPreviewText}:{},...options.segmentId?{segmentId:options.segmentId}:{}};const meta={...options.extra??{},...timestamp!==void 0?{timestamp}:{},...Object.keys(qwenTranscript).length>0?{qwenTranscript}:{}};return Object.keys(meta).length>0?meta:void 0}__name(buildUpdateMeta2,"buildUpdateMeta");function createTranscriptMessageUpdate2(options){const meta=buildUpdateMeta2(options);return{sessionUpdate:options.role==="user"?"user_message_chunk":options.thought?"agent_thought_chunk":"agent_message_chunk",content:{type:"text",text:options.text},...meta?{_meta:meta}:{}}}__name(createTranscriptMessageUpdate2,"createTranscriptMessageUpdate");var AGENT_TERMINAL_STATUSES2=new Set(["completed","failed","cancelled","offline"]);function parseAgentAuthor2(value){if(!isObjectRecord2(value)||typeof value["agentId"]!=="string"||typeof value["name"]!=="string"){return void 0}const program=value["program"];return{agentId:value["agentId"],name:value["name"],...typeof value["color"]==="string"?{color:value["color"]}:{},...program==="qwen"||program==="claude"||program==="codex"?{program}:{},...typeof value["runtimeId"]==="string"?{runtimeId:value["runtimeId"]}:{},...typeof value["squadName"]==="string"&&value["squadName"]?{squadName:value["squadName"]}:{},...typeof value["memberSquadName"]==="string"&&value["memberSquadName"]?{memberSquadName:value["memberSquadName"]}:{}}}__name(parseAgentAuthor2,"parseAgentAuthor");function parseAgentSteps2(value){if(!Array.isArray(value))return void 0;const steps=value.flatMap(step=>isObjectRecord2(step)&&typeof step["id"]==="string"&&typeof step["title"]==="string"&&(step["status"]==="running"||step["status"]==="completed"||step["status"]==="failed")?[{id:step["id"],title:step["title"],status:step["status"]}]:[]);return steps.length>0?steps:void 0}__name(parseAgentSteps2,"parseAgentSteps");function createAgentRecordTranscriptUpdate2(input){const payload=isObjectRecord2(input.payload)?input.payload:void 0;if(!payload||typeof payload["displayText"]!=="string")return void 0;const displayText=payload["displayText"];const author=parseAgentAuthor2(payload["author"]);if(input.subtype==="agent_message"){const runId=typeof payload["runId"]==="string"&&payload["runId"].length>0?payload["runId"]:void 0;const status=typeof payload["status"]==="string"&&AGENT_TERMINAL_STATUSES2.has(payload["status"])?payload["status"]:void 0;const error=typeof payload["error"]==="string"&&payload["error"].length>0?payload["error"]:void 0;const steps=parseAgentSteps2(payload["steps"]);const totalTokens=typeof payload["totalTokens"]==="number"&&Number.isFinite(payload["totalTokens"])?payload["totalTokens"]:void 0;const squadOutcome=payload["squadOutcome"]==="no_action"?"no_action":void 0;const text=displayText.length>0?displayText:status&&status!=="completed"?error??`Agent run ${status}.`:squadOutcome?"No action needed.":"";if(text.length===0)return void 0;const agentMeta={kind:"agent_message",...author?{author}:{},...runId?{runId}:{},...status?{status}:{},...error?{error}:{},...steps?{steps}:{},...totalTokens!==void 0?{totalTokens}:{},...squadOutcome?{squadOutcome}:{}};return createTranscriptMessageUpdate2({role:"assistant",text,timestamp:input.timestamp,sourceRecordIds:[input.recordId],segmentId:runId?`agent:${runId}`:`agent-record:${input.recordId}`,extra:{source:"agent_message",qwenAgentMessage:agentMeta,qwenDiscreteMessage:true}})}if(displayText.length===0)return void 0;const mentionedAgentIds=Array.isArray(payload["mentionedAgentIds"])?payload["mentionedAgentIds"].filter(id=>typeof id==="string"):[];const mentionedSquadIds=Array.isArray(payload["mentionedSquadIds"])?payload["mentionedSquadIds"].filter(id=>typeof id==="string"):[];const mentionError=typeof payload["error"]==="string"&&payload["error"].length>0?payload["error"]:void 0;const mentionMeta={kind:"agent_mention",mentionedAgentIds,...mentionedSquadIds.length>0?{mentionedSquadIds}:{},...mentionError?{error:mentionError}:{},...author?{author}:{}};return createTranscriptMessageUpdate2({role:"user",text:displayText,timestamp:input.timestamp,sourceRecordIds:[input.recordId],segmentId:`mention:${input.recordId}`,extra:{source:"agent_mention",qwenAgentMessage:mentionMeta,qwenDiscreteMessage:true}})}__name(createAgentRecordTranscriptUpdate2,"createAgentRecordTranscriptUpdate");function createTranscriptImageUpdate2(options){const meta=buildUpdateMeta2(options);return{sessionUpdate:"user_message_chunk",content:{type:"image",data:options.data,mimeType:options.mimeType},...meta?{_meta:meta}:{}}}__name(createTranscriptImageUpdate2,"createTranscriptImageUpdate");function createTranscriptAttachmentReferenceUpdate2(reference,options){if(reference["type"]!=="image"&&reference["type"]!=="resource"||typeof reference["attachmentId"]!=="string"||typeof reference["mimeType"]!=="string"||typeof reference["size"]!=="number"){return void 0}const meta=buildUpdateMeta2(options);return{sessionUpdate:"user_message_chunk",content:{type:reference["type"],attachmentId:reference["attachmentId"],mimeType:reference["mimeType"],size:reference["size"]},...meta?{_meta:meta}:{}}}__name(createTranscriptAttachmentReferenceUpdate2,"createTranscriptAttachmentReferenceUpdate");function createTranscriptUsageUpdate2(usageMetadata,options={}){const usage={inputTokens:finiteNumber2(usageMetadata.promptTokenCount)??0,outputTokens:finiteNumber2(usageMetadata.candidatesTokenCount)??0,totalTokens:finiteNumber2(usageMetadata.totalTokenCount)??0,...finiteNumber2(usageMetadata.thoughtsTokenCount)!==void 0?{thoughtTokens:finiteNumber2(usageMetadata.thoughtsTokenCount)}:{},...finiteNumber2(usageMetadata.cachedContentTokenCount)!==void 0?{cachedReadTokens:finiteNumber2(usageMetadata.cachedContentTokenCount)}:{}};const meta=buildUpdateMeta2({...options,extra:{usage,...options.extra??{}}});return{sessionUpdate:"agent_message_chunk",content:{type:"text",text:options.text??""},_meta:meta}}__name(createTranscriptUsageUpdate2,"createTranscriptUsageUpdate");function createTranscriptTimingUpdate2(timing,options={}){const meta=buildUpdateMeta2({...options,extra:{timing,...options.extra??{}}});return{sessionUpdate:"agent_message_chunk",content:{type:"text",text:""},_meta:meta}}__name(createTranscriptTimingUpdate2,"createTranscriptTimingUpdate");function parseToolLifecycle2(value){if(!isObjectRecord2(value)||value["v"]!==1||value["kind"]!=="tool")return void 0;const strings={};for(const key of["executionId","sessionId","callId","toolName"]){const entry=value[key];if(typeof entry!=="string"||!entry.trim())return void 0;strings[key]=entry}const subagentId=value["subagentId"];if(subagentId!==void 0&&(typeof subagentId!=="string"||!subagentId.trim()))return void 0;const shared={v:1,kind:"tool",executionId:strings["executionId"],sessionId:strings["sessionId"],callId:strings["callId"],toolName:strings["toolName"],...typeof subagentId==="string"?{subagentId}:{}};const startedAt=finiteNumber2(value["startedAt"]);if(value["phase"]==="started"){if(value["executionStatus"]!=="running"||startedAt===void 0||startedAt<0||value["endedAt"]!==void 0||value["outcome"]!==void 0||value["executionDurationMs"]!==void 0)return void 0;return{...shared,phase:"started",executionStatus:"running",startedAt}}if(value["phase"]!=="ended")return void 0;const endedAt=finiteNumber2(value["endedAt"]);const outcome=value["outcome"];if(endedAt===void 0||endedAt<0||outcome!=="success"&&outcome!=="error"&&outcome!=="cancelled")return void 0;const executionStatus=value["executionStatus"];if(executionStatus==="not_started"){if(value["startedAt"]!==void 0||value["executionDurationMs"]!==void 0)return void 0;return{...shared,phase:"ended",executionStatus,endedAt,outcome}}const executionDurationMs=finiteNumber2(value["executionDurationMs"]);if(executionStatus!=="success"&&executionStatus!=="error"&&executionStatus!=="cancelled"||startedAt===void 0||startedAt<0||endedAt<startedAt||executionDurationMs===void 0||executionDurationMs<0)return void 0;return{...shared,phase:"ended",executionStatus,startedAt,endedAt,executionDurationMs,outcome}}__name(parseToolLifecycle2,"parseToolLifecycle");function createTranscriptToolLifecycleUpdate2(toolLifecycle,options={}){return{sessionUpdate:"tool_call_update",toolCallId:toolLifecycle.callId,_meta:buildUpdateMeta2({...options,extra:{...options.extra??{},toolLifecycle}})}}__name(createTranscriptToolLifecycleUpdate2,"createTranscriptToolLifecycleUpdate");function parseExecutionLifecycle2(value){if(!isObjectRecord2(value)||value["v"]!==1||value["kind"]!=="request"){return void 0}const strings={};for(const key of["executionId","sessionId","promptId","model"]){const entry=value[key];if(typeof entry!=="string"||!entry.trim())return void 0;strings[key]=entry}const startedAt=finiteNumber2(value["startedAt"]);if(startedAt===void 0||startedAt<0)return void 0;const subagentId=value["subagentId"];if(subagentId!==void 0&&(typeof subagentId!=="string"||!subagentId.trim())){return void 0}const shared={v:1,kind:"request",executionId:strings["executionId"],sessionId:strings["sessionId"],promptId:strings["promptId"],model:strings["model"],startedAt,...typeof subagentId==="string"?{subagentId}:{}};if(value["phase"]==="started")return{...shared,phase:"started"};if(value["phase"]!=="ended")return void 0;const endedAt=finiteNumber2(value["endedAt"]);const durationMs=finiteNumber2(value["durationMs"]);const outcome=value["outcome"];if(endedAt===void 0||endedAt<startedAt||durationMs===void 0||durationMs<0||outcome!=="success"&&outcome!=="error"&&outcome!=="cancelled"&&outcome!=="interrupted"){return void 0}if(value["reason"]!==void 0&&(value["reason"]!=="consumer_closed"||outcome!=="interrupted"))return void 0;return{...shared,phase:"ended",endedAt,durationMs,outcome,...value["reason"]==="consumer_closed"?{reason:"consumer_closed"}:{}}}__name(parseExecutionLifecycle2,"parseExecutionLifecycle");function createTranscriptExecutionLifecycleUpdate2(executionLifecycle,options={}){return{sessionUpdate:"agent_message_chunk",content:{type:"text",text:""},_meta:buildUpdateMeta2({...options,extra:{...options.extra??{},executionLifecycle}})}}__name(createTranscriptExecutionLifecycleUpdate2,"createTranscriptExecutionLifecycleUpdate");function nonEmptyString2(value){return typeof value==="string"&&value.length>0?value:void 0}__name(nonEmptyString2,"nonEmptyString");function isSubagentPromptId2(promptId){if(promptId===void 0)return false;const parts=promptId.split("#");if(parts.length!==3)return false;const[,agentId,round]=parts;return Boolean(agentId)&&/^\d+$/.test(round??"")}__name(isSubagentPromptId2,"isSubagentPromptId");function parseToolTimingStatus2(value){return value==="success"||value==="error"||value==="cancelled"?value:void 0}__name(parseToolTimingStatus2,"parseToolTimingStatus");function parseTelemetryTiming2(payload){const uiEvent=isObjectRecord2(payload)?isObjectRecord2(payload["uiEvent"])?payload["uiEvent"]:void 0:void 0;if(!uiEvent)return void 0;const eventName=uiEvent["event.name"];if(eventName!==EVENT_API_RESPONSE&&eventName!==EVENT_API_ERROR&&eventName!==EVENT_TOOL_CALL){return void 0}const durationMs=finiteNumber2(uiEvent["duration_ms"]);if(durationMs===void 0||durationMs<0)return void 0;const shared={durationMs,...nonEmptyString2(uiEvent["response_id"])!==void 0?{responseId:nonEmptyString2(uiEvent["response_id"])}:{},...nonEmptyString2(uiEvent["prompt_id"])!==void 0?{promptId:nonEmptyString2(uiEvent["prompt_id"])}:{},...nonEmptyString2(uiEvent["subagent_id"])!==void 0?{subagentId:nonEmptyString2(uiEvent["subagent_id"])}:{}};if(eventName===EVENT_TOOL_CALL){const callId=nonEmptyString2(uiEvent["call_id"]);if(callId===void 0)return void 0;const toolName=nonEmptyString2(uiEvent["function_name"]);const toolStatus=parseToolTimingStatus2(uiEvent["status"]);const startedAt=finiteNumber2(uiEvent["started_at_ms"]??uiEvent["started_at"]);if(durationMs===0&&toolStatus!=="success"&&(startedAt===void 0||startedAt<0))return void 0;return{kind:"tool",...shared,...startedAt!==void 0&&startedAt>=0?{startedAt}:{},callId,...toolName!==void 0?{toolName}:{},...toolStatus!==void 0?{toolStatus}:{}}}const ttftMs=finiteNumber2(uiEvent["ttft_ms"]);const model=nonEmptyString2(uiEvent["model"]);const endMs=toTranscriptEpochMs2(typeof uiEvent["event.timestamp"]==="string"?uiEvent["event.timestamp"]:void 0);return{kind:"request",...shared,...nonEmptyString2(uiEvent["execution_id"])!==void 0?{executionId:nonEmptyString2(uiEvent["execution_id"])}:{},...endMs!==void 0?{startedAt:endMs-durationMs}:{},status:eventName===EVENT_API_RESPONSE?"ok":"error",...ttftMs!==void 0&&ttftMs>=0&&ttftMs<=durationMs?{ttftMs}:{},...model!==void 0?{model}:{}}}__name(parseTelemetryTiming2,"parseTelemetryTiming");function createTranscriptToolCallStartUpdate2(options){const provenance=resolveToolProvenance2(options.toolName);return{sessionUpdate:options.asUpdate?"tool_call_update":"tool_call",toolCallId:options.callId,status:options.status??"pending",title:options.metadata.title,content:[],locations:[...options.metadata.locations],kind:options.metadata.kind,rawInput:options.args??{},_meta:buildUpdateMeta2({...options,extra:{toolName:options.toolName,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{},...options.extra??{}}})}}__name(createTranscriptToolCallStartUpdate2,"createTranscriptToolCallStartUpdate");function createTranscriptToolCallResultUpdate2(options){const provenance=resolveToolProvenance2(options.toolName);const content=buildToolResultContent2(options);const update={sessionUpdate:"tool_call_update",toolCallId:options.callId,status:options.success?"completed":"failed",content,_meta:buildUpdateMeta2({...options,resultPreviewText:getToolContentText2(options.contentPrefix),extra:{toolName:options.toolName,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{},...options.artifacts&&options.artifacts.length>0?{artifacts:options.artifacts}:{},...options.extra??{}}})};const rawOutput=getReplayRawOutput2(options.resultDisplay);if(rawOutput!==void 0)update["rawOutput"]=rawOutput;return update}__name(createTranscriptToolCallResultUpdate2,"createTranscriptToolCallResultUpdate");function getToolContentText2(content){let text="";for(const entry of content??[]){if(entry.type!=="content"||entry.content.type!=="text")continue;const next=entry.content.text;if(text.length+(text?1:0)+next.length>MAX_RESULT_PREVIEW_TEXT_LENGTH2){return void 0}text+=`${text?"\n":""}${next}`}return text||void 0}__name(getToolContentText2,"getToolContentText");function getReplayRawOutput2(resultDisplay){if(!isTruncatedSessionDiffDisplay2(resultDisplay))return resultDisplay;if(resultDisplay["fileDiffTruncated"]===true||typeof resultDisplay["fileDiff"]!=="string"){return void 0}return{fileName:resultDisplay["fileName"],fileDiff:resultDisplay["fileDiff"]}}__name(getReplayRawOutput2,"getReplayRawOutput");function createTranscriptPlanUpdate2(todos,cumulativeUsage,options={}){const meta=buildUpdateMeta2({...options,extra:{...cumulativeUsage?{stats:{...cumulativeUsage}}:{},...options.todoPlanId?{qwenTodoPlan:{id:options.todoPlanId}}:{},...options.extra??{}}});return{sessionUpdate:"plan",entries:todos.map(todo=>({content:todo.content,priority:"medium",status:todo.status,...todo.id||todo.blockedBy?{_meta:{qwenTodo:{...todo.id?{id:todo.id}:{},...todo.blockedBy?{blockedBy:[...todo.blockedBy]}:{}}}}:{}})),...meta?{_meta:meta}:{}}}__name(createTranscriptPlanUpdate2,"createTranscriptPlanUpdate");function extractTranscriptTodoPlan2(resultDisplay,args){const fromDisplay=extractTodoPlanFromDisplay2(resultDisplay);if(fromDisplay)return fromDisplay;if(resultDisplay!==null&&resultDisplay!==void 0)return null;return args&&Array.isArray(args["todos"])?{todos:normalizeTodos2(args["todos"])}:null}__name(extractTranscriptTodoPlan2,"extractTranscriptTodoPlan");function createTranscriptReplayMachine2(options={}){return new DefaultTranscriptReplayMachine2(options)}__name(createTranscriptReplayMachine2,"createTranscriptReplayMachine");var DefaultTranscriptReplayMachine2=class{static{__name(this,"DefaultTranscriptReplayMachine")}options;pendingToolCalls=new Map;usedToolCallIds=new Set;gapByChild=new Map;usage;finalized=false;goalState;goalCause;constructor(options){this.options=options;const initialState=parseInitialState2(options.initialState,options.onDiagnostic);this.usage={...initialState.cumulativeUsage};this.goalState=initialState.goalState;this.goalCause=initialState.goalCause;for(const pending of initialState.pendingToolCalls){this.pendingToolCalls.set(pending.callId,pending);this.usedToolCallIds.add(pending.callId)}for(const gap of options.gaps??[]){if(!this.gapByChild.has(gap.childUuid)){this.gapByChild.set(gap.childUuid,gap)}}}*project(record){if(this.finalized){throw new Error("Cannot project records after transcript replay finalize.")}let ordinal=0;let activeSegmentLane;let activeSegmentId;const backgroundTurn=parseBackgroundNotificationTurn2(record.subtype==="background_task_completed"?void 0:record["backgroundTurn"]);const emit=__name(update=>{if(backgroundTurn)update={...update,_meta:{...update._meta,backgroundTurn}};const emissionOrdinal=ordinal++;const lane=transcriptSegmentLane2(update);if(lane&&(lane!==activeSegmentLane||!activeSegmentId)){activeSegmentLane=lane;activeSegmentId=`${record.uuid}:${emissionOrdinal}`}else if(!lane&&isTranscriptSegmentBoundary2(update)){activeSegmentLane=void 0;activeSegmentId=void 0}const projectedUpdate=lane&&activeSegmentId&&!hasExplicitTranscriptSegmentId2(update)?withTranscriptSegmentId2(update,activeSegmentId):update;if(isTranscriptDiscreteMessage2(update)){activeSegmentLane=void 0;activeSegmentId=void 0}return{sourceRecordId:record.uuid,...record.timestamp?{sourceTimestamp:record.timestamp}:{},emissionOrdinal,update:projectedUpdate}},"emit");const meta={timestamp:record.timestamp,sourceRecordIds:[record.uuid],...record.subtype==="realtime_message"?{extra:{source:"realtime_voice",qwenDiscreteMessage:true}}:{}};const gap=this.gapByChild.get(record.uuid);if(gap){yield emit(createTranscriptMessageUpdate2({role:"assistant",text:this.formatGap(gap),...meta,extra:{qwenDiscreteMessage:true}}))}switch(record.type){case"user":yield*this.projectUserRecord(record,emit,meta);break;case"assistant":yield*this.projectAssistantRecord(record,emit,meta);break;case"tool_result":if(!isInternalCodeModeToolResult(record)){yield*this.projectToolResult(record,emit,meta)}break;case"system":yield*this.projectSystemRecord(record,emit,meta);break;default:this.report("unknown_record_or_part","Skipped an unknown transcript record type.",record.uuid)}}*finalize(){if(this.finalized)return;this.finalized=true;const skip=this.options.skipFinalizeCallIds;let ordinal=0;for(const pending of[...this.pendingToolCalls.values()]){if(skip&&(skip.has(pending.callId)||pending.rawCallId!==void 0&&skip.has(pending.rawCallId)))continue;this.pendingToolCalls.delete(pending.callId);this.report("missing_tool_result","A transcript tool call has no persisted result.",pending.sourceRecordId);yield{sourceRecordId:pending.sourceRecordId,...pending.sourceTimestamp?{sourceTimestamp:pending.sourceTimestamp}:{},emissionOrdinal:ordinal++,update:createTranscriptToolCallResultUpdate2({toolName:pending.toolName,callId:pending.callId,success:false,errorMessage:MISSING_TRANSCRIPT_TOOL_RESULT_MESSAGE2,timestamp:pending.sourceTimestamp,sourceRecordIds:[pending.sourceRecordId]})}}}snapshot(){return{v:1,pendingToolCalls:[...this.pendingToolCalls.values()].map(pending=>({...pending})),cumulativeUsage:{...this.usage},...this.goalState?{goalState:this.goalState}:{},...this.goalCause?{goalCause:this.goalCause}:{}}}*projectUserRecord(record,emit,meta){const payload=isObjectRecord2(record.systemPayload)?record.systemPayload:void 0;const savedInputAnnotations=payload?.[DAEMON_INPUT_ANNOTATIONS_META_KEY2];const savedInputAnnotationList=Array.isArray(savedInputAnnotations)?savedInputAnnotations:[];const replayedInputAnnotations=savedInputAnnotationList.filter(isObjectRecord2);const userMeta={...meta,extra:{...meta.extra,...typeof record.daemonPromptId==="string"&&record.daemonPromptId.trim().length>0?{promptId:record.daemonPromptId}:{},...replayedInputAnnotations.length>0?{[DAEMON_INPUT_ANNOTATIONS_META_KEY2]:replayedInputAnnotations}:{}}};if(record.subtype==="agent_message"||record.subtype==="agent_mention"){const update=createAgentRecordTranscriptUpdate2({recordId:record.uuid,subtype:record.subtype,payload:record.systemPayload,timestamp:record.timestamp});if(update)yield emit(update);return}const replayMeta=record.subtype==="mid_turn_user_message"?{...userMeta,extra:{...userMeta.extra,source:"mid_turn_message_injected",qwenDiscreteMessage:true}}:userMeta;if(record.subtype==="goal_runtime"||record.subtype==="notification"||record.subtype==="cron"||record.subtype==="mid_turn_user_message"){const displayText=payload&&typeof payload["displayText"]==="string"?stripGeneratedAttachmentTokens(payload["displayText"],payload):void 0;if(record.subtype==="mid_turn_user_message"&&displayText===""){const media=[...this.projectUserAttachmentReferences(payload,emit,replayMeta)];if(media.length>0){yield*media;return}}if(displayText){const isNotification=record.subtype==="notification";const backgroundTask=payload&&isObjectRecord2(payload["backgroundTask"])?payload["backgroundTask"]:void 0;yield emit(createTranscriptMessageUpdate2({role:"user",text:displayText,...replayMeta,...isNotification?{extra:{source:"background_notification",qwenDiscreteMessage:true,...backgroundTask?{backgroundTask}:{}}}:record.subtype==="cron"?{extra:{source:"cron"}}:record.subtype==="goal_runtime"?{extra:{source:"goal_runtime"}}:{}}));yield*this.projectUserAttachmentReferences(payload,emit,replayMeta);return}if(record.subtype!=="mid_turn_user_message")return}const projection=projectUserTranscriptForDisplay(record);if(projection.displayText!==void 0){const displayText=stripGeneratedAttachmentTokens(projection.displayText,payload);yield*this.projectMessageParts(record,"user",emit,replayMeta,void 0,replaceTextPartsForDisplay2(record.message?.parts,displayText));yield*this.projectUserAttachmentReferences(payload,emit,replayMeta);return}yield*this.projectMessageParts(record,"user",emit,replayMeta,void 0,projection.parts);yield*this.projectUserAttachmentReferences(payload,emit,replayMeta)}*projectUserAttachmentReferences(payload,emit,meta){const references=payload?.["attachmentReferences"];for(const reference of Array.isArray(references)?references:[]){if(!isObjectRecord2(reference))continue;const update=createTranscriptAttachmentReferenceUpdate2(reference,meta);if(update)yield emit(update)}const resourceLinks=payload?.["resourceLinks"];for(const link of Array.isArray(resourceLinks)?resourceLinks:[]){if(!isObjectRecord2(link)||link["type"]!=="resource_link"||typeof link["uri"]!=="string"||link["uri"].length===0||typeof link["name"]!=="string"){continue}const updateMeta=buildUpdateMeta2(meta);yield emit({sessionUpdate:"user_message_chunk",content:structuredClone(link),...updateMeta?{_meta:updateMeta}:{}})}}*projectAssistantRecord(record,emit,meta){const usageMetadata=isObjectRecord2(record.usageMetadata)?record.usageMetadata:void 0;let usageEmitted=false;const takeUsageUpdate=__name(()=>{if(!usageMetadata||usageEmitted)return void 0;usageEmitted=true;this.addUsage(usageMetadata);return createTranscriptUsageUpdate2(usageMetadata,meta)},"takeUsageUpdate");yield*this.projectMessageParts(record,"assistant",emit,meta,takeUsageUpdate);const trailingUsage=takeUsageUpdate();if(trailingUsage)yield emit(trailingUsage)}*projectMessageParts(record,role,emit,meta,beforeToolCall,partsOverride){const parts=partsOverride??record.message?.parts;if(!parts)return;for(let partIndex=0;partIndex<parts.length;partIndex+=1){const part=parts[partIndex];if(!isObjectRecord2(part)){this.report("malformed_part","Skipped a malformed transcript message part.",record.uuid,`message.parts[${partIndex}]`);continue}let recognized=false;if(typeof part["text"]==="string"&&part["text"].length>0){recognized=true;yield emit(createTranscriptMessageUpdate2({role,text:part["text"],thought:role==="assistant"&&part["thought"]===true,...meta}))}const inlineData=isObjectRecord2(part["inlineData"])?part["inlineData"]:void 0;if(inlineData){recognized=true;const data=inlineData["data"];const mimeType=inlineData["mimeType"];if(role==="user"&&typeof data==="string"&&typeof mimeType==="string"&&mimeType.startsWith("image/")){yield emit(createTranscriptImageUpdate2({data,mimeType,...meta}))}else{this.report("malformed_part","Skipped an unsupported or malformed inline transcript part.",record.uuid,`message.parts[${partIndex}].inlineData`)}}const functionCall=isObjectRecord2(part["functionCall"])?part["functionCall"]:void 0;if(functionCall){recognized=true;const toolName=typeof functionCall["name"]==="string"?functionCall["name"]:"";const args=isObjectRecord2(functionCall["args"])?functionCall["args"]:{};if(!toolName){this.report("malformed_part","Skipped a tool call without a tool name.",record.uuid,`message.parts[${partIndex}].functionCall`);continue}const preToolUpdate=beforeToolCall?.();if(preToolUpdate)yield emit(preToolUpdate);if(toolName==="todo_write")continue;const explicitId=typeof functionCall["id"]==="string"&&functionCall["id"].length>0?functionCall["id"]:void 0;const callId=this.allocateToolCallId(explicitId??`qwen-replay-tool:${record.uuid}:${partIndex}`);const update=createTranscriptToolCallStartUpdate2({toolName,callId,args,status:"in_progress",metadata:this.resolveToolMetadata(toolName,args,record.uuid),...meta});yield emit(update);if(role==="assistant"){this.pendingToolCalls.set(callId,{callId,toolName,...toolName==="tool_call"&&typeof args["name"]==="string"&&args["name"].trim()?{resolvedToolName:args["name"].trim()}:{},sourceRecordId:record.uuid,...record.timestamp?{sourceTimestamp:record.timestamp}:{},...explicitId!==void 0&&explicitId!==callId?{rawCallId:explicitId}:{}})}}if(!recognized&&!("functionResponse"in part)){this.report("unknown_record_or_part","Skipped an unknown transcript message part.",record.uuid,`message.parts[${partIndex}]`)}}}*projectToolResult(record,emit,meta){const result=isObjectRecord2(record.toolCallResult)?record.toolCallResult:void 0;const toolName=extractToolName2(record);if(!toolName){this.report("malformed_part","A transcript tool result has no tool name.",record.uuid,"message.parts")}const explicitCallId=extractToolResultCallId2(record,result);const callId=explicitCallId?this.allocateToolCallId(explicitCallId,true):this.correlateResultCallId(toolName,record.uuid);this.pendingToolCalls.delete(callId);const resultDisplay=result?.["resultDisplay"];if(toolName==="todo_write"){const plan=extractTranscriptTodoPlan2(resultDisplay);if(plan){yield emit(createTranscriptPlanUpdate2(plan.todos,this.usage,{...meta,planToolCallId:callId,todoPlanId:plan.planId,...plan.sessionWorkflow?{extra:{...meta.extra,qwenSessionWorkflow:true}}:{}}))}return}yield emit(createTranscriptToolCallResultUpdate2({toolName,callId,success:result?.["status"]===void 0?!result?.["error"]:result["status"]==="success"&&!result["error"],errorMessage:extractErrorMessage2(result?.["error"]),message:record.message?.parts,resultDisplay,artifacts:Array.isArray(result?.["artifacts"])?result["artifacts"]:void 0,contentPrefix:this.buildToolResultContentPrefix(resultDisplay,record.uuid),...meta}));if(isTaskExecutionDisplay2(resultDisplay)){const usage=usageFromTaskExecution2(resultDisplay);if(Object.keys(usage).length>0){this.addUsage(usage);yield emit(createTranscriptUsageUpdate2(usage,{...meta,extra:{...meta.extra,parentToolCallId:callId}}))}}}*projectSystemRecord(record,emit,meta){if(record.subtype==="ui_telemetry"){if(!this.options.includeTiming)return;const payload2=record.systemPayload;const uiEvent=isObjectRecord2(payload2)?payload2["uiEvent"]:void 0;if(isObjectRecord2(uiEvent)&&uiEvent["event.name"]==="request_lifecycle"){const lifecycle=parseExecutionLifecycle2(uiEvent);if(lifecycle)yield emit(createTranscriptExecutionLifecycleUpdate2(lifecycle,meta));return}if(isObjectRecord2(uiEvent)&&uiEvent["event.name"]==="tool_lifecycle"){const lifecycle=parseToolLifecycle2(uiEvent);if(lifecycle){let callId=lifecycle.callId;if(!lifecycle.subagentId){const candidates=[...this.pendingToolCalls.values()].filter(pending2=>(pending2.rawCallId??pending2.callId)===lifecycle.callId&&(pending2.toolName===lifecycle.toolName||pending2.resolvedToolName===lifecycle.toolName));const pending=candidates.find(item=>item.toolLifecycleExecutionId===lifecycle.executionId)??candidates.find(item=>item.toolLifecycleExecutionId===void 0);if(pending){callId=pending.callId;this.pendingToolCalls.set(callId,{...pending,toolLifecycleExecutionId:lifecycle.executionId})}}yield emit({...createTranscriptToolLifecycleUpdate2(lifecycle,meta),toolCallId:callId})}return}const timing=parseTelemetryTiming2(record.systemPayload);if(!timing)return;yield emit(createTranscriptTimingUpdate2(this.resolveTimingCallId(timing),meta));return}if(record.subtype==="turn_result"){const payload2=isObjectRecord2(record.systemPayload)?record.systemPayload:void 0;const cancelledAt=finiteNumber2(payload2?.["cancelledAt"]);const startedAt=finiteNumber2(payload2?.["startedAt"]);const promptId=payload2?.["promptId"];if(payload2?.["state"]!=="cancelled"||cancelledAt===void 0||typeof promptId!=="string"||!promptId||payload2["startedAt"]!==void 0&&startedAt===void 0)return;const elapsedMs=Math.max(0,cancelledAt-(startedAt??cancelledAt));if(!Number.isFinite(elapsedMs))return;yield emit(createTranscriptMessageUpdate2({role:"assistant",text:"",...meta,extra:{qwenDiscreteMessage:true,promptCancelled:{promptId,cancelledAt,elapsedMs}}}));return}if(record.subtype==="background_task_completed"){const payload2=isObjectRecord2(record.systemPayload)?record.systemPayload:void 0;if(!payload2||typeof payload2["displayText"]!=="string")return;yield emit(createTranscriptMessageUpdate2({role:"assistant",text:payload2["displayText"],...meta,extra:{source:"background_task_completed",qwenDiscreteMessage:true,...isObjectRecord2(payload2["backgroundTask"])?{backgroundTask:payload2["backgroundTask"]}:{}}}));return}if(record.subtype==="agent_session_ready"){const payload2=isObjectRecord2(record.systemPayload)?record.systemPayload:void 0;if(typeof payload2?.["callId"]!=="string"||payload2["callId"].length===0||typeof payload2["subagentSessionReady"]!=="boolean"){this.report("malformed_agent_session_ready","Skipped a malformed subagent session readiness record.",record.uuid,"systemPayload");return}const callId=payload2["callId"];if(!this.pendingToolCalls.has(callId)){this.report("orphan_agent_session_ready","Skipped subagent readiness without a matching pending tool call.",record.uuid,"systemPayload.callId");return}yield emit({sessionUpdate:"tool_call_update",toolCallId:callId,_meta:buildUpdateMeta2({...meta,extra:{subagentSessionReady:payload2["subagentSessionReady"]}})});return}if(record.subtype==="goal_state"){const payload2=parseGoalStateRecordPayloadV2(record.systemPayload);if(!payload2){this.report("malformed_goal_state","Skipped a malformed Goal state transcript record.",record.uuid,"systemPayload");return}const bookkeepingOnly=isGoalCheckpointBookkeepingRecord({cause:payload2.cause,previousCause:this.goalCause,previous:this.goalState,next:payload2.snapshot});const goalStatus=projectGoalCard(payload2,this.goalState?.goal??null);const goalControlCommand=projectGoalControlCommand2(payload2.cause,payload2.snapshot);this.goalState=payload2.snapshot;this.goalCause=payload2.cause;if(bookkeepingOnly)return;if(goalControlCommand){yield emit(createTranscriptMessageUpdate2({role:"user",text:goalControlCommand,...meta,extra:{source:"goal_control","qwen.session.recordId":record.uuid}}))}yield emit(createTranscriptMessageUpdate2({role:"assistant",text:"",...meta,extra:{goalState:payload2.snapshot,goalStatus,"qwen.session.recordId":record.uuid}}));return}if(record.subtype!=="slash_command")return;const payload=isObjectRecord2(record.systemPayload)?record.systemPayload:void 0;if(payload?.["phase"]!=="result")return;const items=Array.isArray(payload["outputHistoryItems"])?payload["outputHistoryItems"]:[];for(const item of items){const goalStatus=parseTranscriptGoalStatus2(item);if(goalStatus){if(goalStatus.condition.length===0){this.report("malformed_part","Skipped replay of a goal card whose condition is empty.",record.uuid,"systemPayload.outputHistoryItems.goalStatus.condition")}else if(goalStatus.kind!=="checking"){yield emit(createTranscriptMessageUpdate2({role:"assistant",text:"",...meta,extra:{goalStatus}}))}continue}if(!isObjectRecord2(item)||typeof item["text"]!=="string")continue;const contextCompression=isObjectRecord2(item["contextCompression"])?item["contextCompression"]:void 0;const contextCompressionNotice=isObjectRecord2(item["contextCompressionNotice"])?item["contextCompressionNotice"]:void 0;yield emit(createTranscriptMessageUpdate2({role:"assistant",text:item["text"].replace(/\n/g," \n"),...meta,extra:{source:"slash_command",...contextCompression?{contextCompression}:{},...contextCompressionNotice?{contextCompressionNotice}:{},...Array.isArray(item["sessionArtifacts"])?{sessionArtifacts:item["sessionArtifacts"]}:{}}}))}}addUsage(metadata){this.usage.promptTokens+=finiteNumber2(metadata["promptTokenCount"])??0;this.usage.candidateTokens+=finiteNumber2(metadata["candidatesTokenCount"])??0;this.usage.cachedTokens+=finiteNumber2(metadata["cachedContentTokenCount"])??0}correlateResultCallId(toolName,recordId){const candidates=[...this.pendingToolCalls.values()].filter(pending=>pending.toolName===toolName);if(candidates.length===1)return candidates[0].callId;this.report("ambiguous_tool_call_correlation","A tool result could not be matched to exactly one pending tool call.",recordId);return this.allocateToolCallId(`qwen-replay-tool:${recordId}:result`)}allocateToolCallId(candidate,reuse=false){if(reuse&&this.pendingToolCalls.has(candidate)){this.usedToolCallIds.add(candidate);return candidate}if(!this.usedToolCallIds.has(candidate)){this.usedToolCallIds.add(candidate);return candidate}let occurrence=2;while(this.usedToolCallIds.has(`${candidate}:${occurrence}`)){occurrence+=1}const id=`${candidate}:${occurrence}`;this.usedToolCallIds.add(id);return id}resolveTimingCallId(timing){if(timing.kind!=="tool"||timing.callId===void 0)return timing;if(isSubagentPromptId2(timing.promptId))return timing;for(const pending of this.pendingToolCalls.values()){const recordedId=pending.rawCallId??pending.callId;if(recordedId!==timing.callId||pending.timingMatched)continue;if(timing.toolName!==void 0&&pending.toolName!==timing.toolName&&pending.resolvedToolName!==timing.toolName)continue;this.pendingToolCalls.set(pending.callId,{...pending,timingMatched:true});return{...timing,callId:pending.callId}}return timing}resolveToolMetadata(toolName,args,recordId){try{return this.options.presentation?.resolveToolMetadata(toolName,args)??fallbackToolMetadata2(toolName,args)}catch{this.report("presentation_fallback","Tool presentation metadata fell back to deterministic defaults.",recordId,void 0,false);return fallbackToolMetadata2(toolName,args)}}formatGap(gap){try{return this.options.presentation?.formatHistoryGap(gap)??"Some earlier messages are unavailable because the saved history is incomplete."}catch{this.report("presentation_fallback","History gap presentation fell back to deterministic defaults.",gap.childUuid,void 0,false);return"Some earlier messages are unavailable because the saved history is incomplete."}}buildToolResultContentPrefix(resultDisplay,recordId){try{return this.options.presentation?.buildToolResultContentPrefix?.(resultDisplay)??defaultToolResultContentPrefix2(resultDisplay)}catch{this.report("presentation_fallback","Tool result content presentation fell back to deterministic defaults.",recordId,void 0,false);return defaultToolResultContentPrefix2(resultDisplay)}}report(code,message,recordId,path2,affectsCompleteness=true){this.options.onDiagnostic?.({code,severity:affectsCompleteness?"warning":"info",message,affectsCompleteness,...recordId?{recordId}:{},...path2?{path:path2}:{}})}};function withTranscriptSegmentId2(update,segmentId){const record=update;const meta=isObjectRecord2(record["_meta"])?record["_meta"]:void 0;const transcript=meta&&isObjectRecord2(meta["qwenTranscript"])?meta["qwenTranscript"]:void 0;return{...record,_meta:{...meta??{},qwenTranscript:{...transcript??{},segmentId}}}}__name(withTranscriptSegmentId2,"withTranscriptSegmentId");function hasExplicitTranscriptSegmentId2(update){const meta=update["_meta"];const transcript=isObjectRecord2(meta)?meta["qwenTranscript"]:void 0;return isObjectRecord2(transcript)&&typeof transcript["segmentId"]==="string"&&transcript["segmentId"].length>0}__name(hasExplicitTranscriptSegmentId2,"hasExplicitTranscriptSegmentId");function transcriptSegmentLane2(update){const record=update;const kind=record["sessionUpdate"];const meta=isObjectRecord2(record["_meta"])?record["_meta"]:void 0;const parentToolCallId=typeof meta?.["parentToolCallId"]==="string"?meta["parentToolCallId"]:"root";if(kind==="user_message_chunk"||kind==="agent_message_chunk"||kind==="agent_thought_chunk"){const content=isObjectRecord2(record["content"])?record["content"]:void 0;const contentType=typeof content?.["type"]==="string"?content["type"]:void 0;if(!contentType)return void 0;if(contentType==="text"&&(typeof content?.["text"]!=="string"||content["text"].length===0)){return void 0}return`${String(kind)}:${contentType}:${parentToolCallId}`}if(kind==="shell_output"||kind==="tool_output"){const source=typeof meta?.["source"]==="string"?meta["source"]:"";const stream=typeof record["stream"]==="string"?record["stream"]:"";return`${String(kind)}:${source}:${stream}`}return void 0}__name(transcriptSegmentLane2,"transcriptSegmentLane");function isTranscriptSegmentBoundary2(update){const record=update;const kind=record["sessionUpdate"];return typeof kind==="string"&&kind!=="agent_message_chunk"&&kind!=="agent_thought_chunk"&&kind!=="user_message_chunk"}__name(isTranscriptSegmentBoundary2,"isTranscriptSegmentBoundary");function isTranscriptDiscreteMessage2(update){const record=update;const meta=isObjectRecord2(record["_meta"])?record["_meta"]:void 0;return meta?.["qwenDiscreteMessage"]===true}__name(isTranscriptDiscreteMessage2,"isTranscriptDiscreteMessage");function projectGoalControlCommand2(cause,snapshot){switch(cause){case"create":case"replace":return snapshot.goal?`/goal ${snapshot.goal.objective}`:void 0;case"edit":return snapshot.goal?`/goal edit ${snapshot.goal.objective}`:void 0;case"pause":return snapshot.goal?.lastReason===void 0||snapshot.goal.lastReason===GOAL_PAUSE_REASON_COMMAND?`/goal ${cause}`:void 0;case"resume":case"clear":return`/goal ${cause}`;case"turn_finished":case"checkpoint":case"verifier_accept":case"verifier_reject":case"complete":case"blocked":case"usage_limited":case"migrated":return void 0;default:return assertNever2(cause)}}__name(projectGoalControlCommand2,"projectGoalControlCommand");function assertNever2(value){throw new Error(`Unsupported Goal state cause: ${String(value)}`)}__name(assertNever2,"assertNever");function parseTranscriptGoalStatus2(value){if(!isObjectRecord2(value)||value["type"]!=="goal_status"){return void 0}const kind=value["kind"];const condition=value["condition"];if(typeof kind!=="string"||!TRANSCRIPT_GOAL_STATUS_KINDS2.has(kind)||typeof condition!=="string"){return void 0}const iterations=finiteNumber2(value["iterations"]);const setAt=finiteNumber2(value["setAt"]);const durationMs=finiteNumber2(value["durationMs"]);const lastReason=typeof value["lastReason"]==="string"?value["lastReason"]:void 0;return{kind,condition,...iterations!==void 0?{iterations}:{},...setAt!==void 0?{setAt}:{},...durationMs!==void 0?{durationMs}:{},...lastReason!==void 0?{lastReason}:{}}}__name(parseTranscriptGoalStatus2,"parseTranscriptGoalStatus");function defaultToolResultContentPrefix2(resultDisplay){if(!isObjectRecord2(resultDisplay)||resultDisplay["type"]!=="vision_bridge_notice"||typeof resultDisplay["summary"]!=="string"||typeof resultDisplay["notice"]!=="string"){return[]}return[{type:"content",content:{type:"text",text:`${resultDisplay["summary"]}
115
+ `;var EXPORT_TRANSCRIPT_RENDERER_VERSION="0.26.2-preview.1+72c0ea868ac20835";var EXPORT_TRANSCRIPT_RENDERER_LIMITS=Object.freeze({maxBlocks:1e3,maxEnvelopeBytes:33554432});init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();function parseBackgroundNotificationTurn2(value){if(!value||typeof value!=="object"||Array.isArray(value))return void 0;const record=value;const{turnId,taskId,kind,startedAt}=record;if(typeof turnId!=="string"||!turnId||turnId.length>256||typeof taskId!=="string"||!taskId||taskId.length>256||kind!=="agent"&&kind!=="monitor"&&kind!=="shell"&&kind!=="workflow"&&kind!=="peer"||typeof startedAt!=="number"||!Number.isFinite(startedAt)||startedAt<0)return void 0;for(const key of["toolUseId","sourceTurnId","label"]){if(record[key]!==void 0&&(typeof record[key]!=="string"||record[key].length>4096))return void 0}return{turnId,taskId,kind,startedAt,...record["toolUseId"]!==void 0?{toolUseId:record["toolUseId"]}:{},...record["sourceTurnId"]!==void 0?{sourceTurnId:record["sourceTurnId"]}:{},...record["label"]!==void 0?{label:record["label"]}:{}}}__name(parseBackgroundNotificationTurn2,"parseBackgroundNotificationTurn");var LOAD_REPLAY_MAX_BYTES=32*1024*1024;var MAX_TRUSTED_MODEL_PROMPT_CHARS=64*1024;var DAEMON_INPUT_ANNOTATIONS_META_KEY2="inputAnnotations";var MISSING_TRANSCRIPT_TOOL_RESULT_MESSAGE2="Tool result missing from saved history; the previous run likely ended before this tool completed.";var MAX_RESULT_PREVIEW_TEXT_LENGTH2=1e5;var TRANSCRIPT_GOAL_STATUS_KINDS2=new Set(["set","achieved","cleared","failed","aborted","paused","checking"]);function isObjectRecord2(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}__name(isObjectRecord2,"isObjectRecord");function replaceTextPartsForDisplay2(parts,displayText){const projected=[];let replacedText=false;for(const part of parts??[]){if(isObjectRecord2(part)&&typeof part["text"]==="string"){if(!replacedText&&displayText.length>0){projected.push({text:displayText})}replacedText=true}else{projected.push(part)}}if(!replacedText&&displayText.length>0){projected.push({text:displayText})}return projected}__name(replaceTextPartsForDisplay2,"replaceTextPartsForDisplay");function toTranscriptEpochMs2(timestamp){if(typeof timestamp==="number"){return Number.isFinite(timestamp)?timestamp:void 0}if(typeof timestamp!=="string")return void 0;const epochMs=new Date(timestamp).getTime();return Number.isFinite(epochMs)?epochMs:void 0}__name(toTranscriptEpochMs2,"toTranscriptEpochMs");function buildUpdateMeta2(options){const timestamp=toTranscriptEpochMs2(options.timestamp);const sourceRecordIds=dedupeStrings2(options.sourceRecordIds??[]);const qwenTranscript={...sourceRecordIds.length>0?{sourceRecordIds}:{},...options.planToolCallId?{planToolCallId:options.planToolCallId}:{},...options.resultPreviewText?{resultPreviewText:options.resultPreviewText}:{},...options.segmentId?{segmentId:options.segmentId}:{}};const meta={...options.extra??{},...timestamp!==void 0?{timestamp}:{},...Object.keys(qwenTranscript).length>0?{qwenTranscript}:{}};return Object.keys(meta).length>0?meta:void 0}__name(buildUpdateMeta2,"buildUpdateMeta");function createTranscriptMessageUpdate2(options){const meta=buildUpdateMeta2(options);return{sessionUpdate:options.role==="user"?"user_message_chunk":options.thought?"agent_thought_chunk":"agent_message_chunk",content:{type:"text",text:options.text},...meta?{_meta:meta}:{}}}__name(createTranscriptMessageUpdate2,"createTranscriptMessageUpdate");var AGENT_TERMINAL_STATUSES2=new Set(["completed","failed","cancelled","offline"]);function parseAgentAuthor2(value){if(!isObjectRecord2(value)||typeof value["agentId"]!=="string"||typeof value["name"]!=="string"){return void 0}const program=value["program"];return{agentId:value["agentId"],name:value["name"],...typeof value["color"]==="string"?{color:value["color"]}:{},...program==="qwen"||program==="claude"||program==="codex"?{program}:{},...typeof value["runtimeId"]==="string"?{runtimeId:value["runtimeId"]}:{},...typeof value["squadName"]==="string"&&value["squadName"]?{squadName:value["squadName"]}:{},...typeof value["memberSquadName"]==="string"&&value["memberSquadName"]?{memberSquadName:value["memberSquadName"]}:{}}}__name(parseAgentAuthor2,"parseAgentAuthor");function parseAgentSteps2(value){if(!Array.isArray(value))return void 0;const steps=value.flatMap(step=>isObjectRecord2(step)&&typeof step["id"]==="string"&&typeof step["title"]==="string"&&(step["status"]==="running"||step["status"]==="completed"||step["status"]==="failed")?[{id:step["id"],title:step["title"],status:step["status"]}]:[]);return steps.length>0?steps:void 0}__name(parseAgentSteps2,"parseAgentSteps");function createAgentRecordTranscriptUpdate2(input){const payload=isObjectRecord2(input.payload)?input.payload:void 0;if(!payload||typeof payload["displayText"]!=="string")return void 0;const displayText=payload["displayText"];const author=parseAgentAuthor2(payload["author"]);if(input.subtype==="agent_message"){const runId=typeof payload["runId"]==="string"&&payload["runId"].length>0?payload["runId"]:void 0;const status=typeof payload["status"]==="string"&&AGENT_TERMINAL_STATUSES2.has(payload["status"])?payload["status"]:void 0;const error=typeof payload["error"]==="string"&&payload["error"].length>0?payload["error"]:void 0;const steps=parseAgentSteps2(payload["steps"]);const totalTokens=typeof payload["totalTokens"]==="number"&&Number.isFinite(payload["totalTokens"])?payload["totalTokens"]:void 0;const squadOutcome=payload["squadOutcome"]==="no_action"?"no_action":void 0;const text=displayText.length>0?displayText:status&&status!=="completed"?error??`Agent run ${status}.`:squadOutcome?"No action needed.":"";if(text.length===0)return void 0;const agentMeta={kind:"agent_message",...author?{author}:{},...runId?{runId}:{},...status?{status}:{},...error?{error}:{},...steps?{steps}:{},...totalTokens!==void 0?{totalTokens}:{},...squadOutcome?{squadOutcome}:{}};return createTranscriptMessageUpdate2({role:"assistant",text,timestamp:input.timestamp,sourceRecordIds:[input.recordId],segmentId:runId?`agent:${runId}`:`agent-record:${input.recordId}`,extra:{source:"agent_message",qwenAgentMessage:agentMeta,qwenDiscreteMessage:true}})}if(displayText.length===0)return void 0;const mentionedAgentIds=Array.isArray(payload["mentionedAgentIds"])?payload["mentionedAgentIds"].filter(id=>typeof id==="string"):[];const mentionedSquadIds=Array.isArray(payload["mentionedSquadIds"])?payload["mentionedSquadIds"].filter(id=>typeof id==="string"):[];const mentionError=typeof payload["error"]==="string"&&payload["error"].length>0?payload["error"]:void 0;const mentionMeta={kind:"agent_mention",mentionedAgentIds,...mentionedSquadIds.length>0?{mentionedSquadIds}:{},...mentionError?{error:mentionError}:{},...author?{author}:{}};return createTranscriptMessageUpdate2({role:"user",text:displayText,timestamp:input.timestamp,sourceRecordIds:[input.recordId],segmentId:`mention:${input.recordId}`,extra:{source:"agent_mention",qwenAgentMessage:mentionMeta,qwenDiscreteMessage:true}})}__name(createAgentRecordTranscriptUpdate2,"createAgentRecordTranscriptUpdate");function createTranscriptImageUpdate2(options){const meta=buildUpdateMeta2(options);return{sessionUpdate:"user_message_chunk",content:{type:"image",data:options.data,mimeType:options.mimeType},...meta?{_meta:meta}:{}}}__name(createTranscriptImageUpdate2,"createTranscriptImageUpdate");function createTranscriptAttachmentReferenceUpdate2(reference,options){if(reference["type"]!=="image"&&reference["type"]!=="resource"||typeof reference["attachmentId"]!=="string"||typeof reference["mimeType"]!=="string"||typeof reference["size"]!=="number"){return void 0}const meta=buildUpdateMeta2(options);return{sessionUpdate:"user_message_chunk",content:{type:reference["type"],attachmentId:reference["attachmentId"],mimeType:reference["mimeType"],size:reference["size"]},...meta?{_meta:meta}:{}}}__name(createTranscriptAttachmentReferenceUpdate2,"createTranscriptAttachmentReferenceUpdate");function createTranscriptUsageUpdate2(usageMetadata,options={}){const usage={inputTokens:finiteNumber2(usageMetadata.promptTokenCount)??0,outputTokens:finiteNumber2(usageMetadata.candidatesTokenCount)??0,totalTokens:finiteNumber2(usageMetadata.totalTokenCount)??0,...finiteNumber2(usageMetadata.thoughtsTokenCount)!==void 0?{thoughtTokens:finiteNumber2(usageMetadata.thoughtsTokenCount)}:{},...finiteNumber2(usageMetadata.cachedContentTokenCount)!==void 0?{cachedReadTokens:finiteNumber2(usageMetadata.cachedContentTokenCount)}:{}};const meta=buildUpdateMeta2({...options,extra:{usage,...options.extra??{}}});return{sessionUpdate:"agent_message_chunk",content:{type:"text",text:options.text??""},_meta:meta}}__name(createTranscriptUsageUpdate2,"createTranscriptUsageUpdate");function createTranscriptTimingUpdate2(timing,options={}){const meta=buildUpdateMeta2({...options,extra:{timing,...options.extra??{}}});return{sessionUpdate:"agent_message_chunk",content:{type:"text",text:""},_meta:meta}}__name(createTranscriptTimingUpdate2,"createTranscriptTimingUpdate");function parseToolLifecycle2(value){if(!isObjectRecord2(value)||value["v"]!==1||value["kind"]!=="tool")return void 0;const strings={};for(const key of["executionId","sessionId","callId","toolName"]){const entry=value[key];if(typeof entry!=="string"||!entry.trim())return void 0;strings[key]=entry}const subagentId=value["subagentId"];if(subagentId!==void 0&&(typeof subagentId!=="string"||!subagentId.trim()))return void 0;const shared={v:1,kind:"tool",executionId:strings["executionId"],sessionId:strings["sessionId"],callId:strings["callId"],toolName:strings["toolName"],...typeof subagentId==="string"?{subagentId}:{}};const startedAt=finiteNumber2(value["startedAt"]);if(value["phase"]==="started"){if(value["executionStatus"]!=="running"||startedAt===void 0||startedAt<0||value["endedAt"]!==void 0||value["outcome"]!==void 0||value["executionDurationMs"]!==void 0)return void 0;return{...shared,phase:"started",executionStatus:"running",startedAt}}if(value["phase"]!=="ended")return void 0;const endedAt=finiteNumber2(value["endedAt"]);const outcome=value["outcome"];if(endedAt===void 0||endedAt<0||outcome!=="success"&&outcome!=="error"&&outcome!=="cancelled")return void 0;const executionStatus=value["executionStatus"];if(executionStatus==="not_started"){if(value["startedAt"]!==void 0||value["executionDurationMs"]!==void 0)return void 0;return{...shared,phase:"ended",executionStatus,endedAt,outcome}}const executionDurationMs=finiteNumber2(value["executionDurationMs"]);if(executionStatus!=="success"&&executionStatus!=="error"&&executionStatus!=="cancelled"||startedAt===void 0||startedAt<0||endedAt<startedAt||executionDurationMs===void 0||executionDurationMs<0)return void 0;return{...shared,phase:"ended",executionStatus,startedAt,endedAt,executionDurationMs,outcome}}__name(parseToolLifecycle2,"parseToolLifecycle");function createTranscriptToolLifecycleUpdate2(toolLifecycle,options={}){return{sessionUpdate:"tool_call_update",toolCallId:toolLifecycle.callId,_meta:buildUpdateMeta2({...options,extra:{...options.extra??{},toolLifecycle}})}}__name(createTranscriptToolLifecycleUpdate2,"createTranscriptToolLifecycleUpdate");function parseExecutionLifecycle2(value){if(!isObjectRecord2(value)||value["v"]!==1||value["kind"]!=="request"){return void 0}const strings={};for(const key of["executionId","sessionId","promptId","model"]){const entry=value[key];if(typeof entry!=="string"||!entry.trim())return void 0;strings[key]=entry}const startedAt=finiteNumber2(value["startedAt"]);if(startedAt===void 0||startedAt<0)return void 0;const subagentId=value["subagentId"];if(subagentId!==void 0&&(typeof subagentId!=="string"||!subagentId.trim())){return void 0}const shared={v:1,kind:"request",executionId:strings["executionId"],sessionId:strings["sessionId"],promptId:strings["promptId"],model:strings["model"],startedAt,...typeof subagentId==="string"?{subagentId}:{}};if(value["phase"]==="started")return{...shared,phase:"started"};if(value["phase"]!=="ended")return void 0;const endedAt=finiteNumber2(value["endedAt"]);const durationMs=finiteNumber2(value["durationMs"]);const outcome=value["outcome"];if(endedAt===void 0||endedAt<startedAt||durationMs===void 0||durationMs<0||outcome!=="success"&&outcome!=="error"&&outcome!=="cancelled"&&outcome!=="interrupted"){return void 0}if(value["reason"]!==void 0&&(value["reason"]!=="consumer_closed"||outcome!=="interrupted"))return void 0;return{...shared,phase:"ended",endedAt,durationMs,outcome,...value["reason"]==="consumer_closed"?{reason:"consumer_closed"}:{}}}__name(parseExecutionLifecycle2,"parseExecutionLifecycle");function createTranscriptExecutionLifecycleUpdate2(executionLifecycle,options={}){return{sessionUpdate:"agent_message_chunk",content:{type:"text",text:""},_meta:buildUpdateMeta2({...options,extra:{...options.extra??{},executionLifecycle}})}}__name(createTranscriptExecutionLifecycleUpdate2,"createTranscriptExecutionLifecycleUpdate");function nonEmptyString2(value){return typeof value==="string"&&value.length>0?value:void 0}__name(nonEmptyString2,"nonEmptyString");function isSubagentPromptId2(promptId){if(promptId===void 0)return false;const parts=promptId.split("#");if(parts.length!==3)return false;const[,agentId,round]=parts;return Boolean(agentId)&&/^\d+$/.test(round??"")}__name(isSubagentPromptId2,"isSubagentPromptId");function parseToolTimingStatus2(value){return value==="success"||value==="error"||value==="cancelled"?value:void 0}__name(parseToolTimingStatus2,"parseToolTimingStatus");function parseTelemetryTiming2(payload){const uiEvent=isObjectRecord2(payload)?isObjectRecord2(payload["uiEvent"])?payload["uiEvent"]:void 0:void 0;if(!uiEvent)return void 0;const eventName=uiEvent["event.name"];if(eventName!==EVENT_API_RESPONSE&&eventName!==EVENT_API_ERROR&&eventName!==EVENT_TOOL_CALL){return void 0}const durationMs=finiteNumber2(uiEvent["duration_ms"]);if(durationMs===void 0||durationMs<0)return void 0;const shared={durationMs,...nonEmptyString2(uiEvent["response_id"])!==void 0?{responseId:nonEmptyString2(uiEvent["response_id"])}:{},...nonEmptyString2(uiEvent["prompt_id"])!==void 0?{promptId:nonEmptyString2(uiEvent["prompt_id"])}:{},...nonEmptyString2(uiEvent["subagent_id"])!==void 0?{subagentId:nonEmptyString2(uiEvent["subagent_id"])}:{}};if(eventName===EVENT_TOOL_CALL){const callId=nonEmptyString2(uiEvent["call_id"]);if(callId===void 0)return void 0;const toolName=nonEmptyString2(uiEvent["function_name"]);const toolStatus=parseToolTimingStatus2(uiEvent["status"]);const startedAt=finiteNumber2(uiEvent["started_at_ms"]??uiEvent["started_at"]);if(durationMs===0&&toolStatus!=="success"&&(startedAt===void 0||startedAt<0))return void 0;return{kind:"tool",...shared,...startedAt!==void 0&&startedAt>=0?{startedAt}:{},callId,...toolName!==void 0?{toolName}:{},...toolStatus!==void 0?{toolStatus}:{}}}const ttftMs=finiteNumber2(uiEvent["ttft_ms"]);const model=nonEmptyString2(uiEvent["model"]);const endMs=toTranscriptEpochMs2(typeof uiEvent["event.timestamp"]==="string"?uiEvent["event.timestamp"]:void 0);return{kind:"request",...shared,...nonEmptyString2(uiEvent["execution_id"])!==void 0?{executionId:nonEmptyString2(uiEvent["execution_id"])}:{},...endMs!==void 0?{startedAt:endMs-durationMs}:{},status:eventName===EVENT_API_RESPONSE?"ok":"error",...ttftMs!==void 0&&ttftMs>=0&&ttftMs<=durationMs?{ttftMs}:{},...model!==void 0?{model}:{}}}__name(parseTelemetryTiming2,"parseTelemetryTiming");function createTranscriptToolCallStartUpdate2(options){const provenance=resolveToolProvenance2(options.toolName);return{sessionUpdate:options.asUpdate?"tool_call_update":"tool_call",toolCallId:options.callId,status:options.status??"pending",title:options.metadata.title,content:[],locations:[...options.metadata.locations],kind:options.metadata.kind,rawInput:options.args??{},_meta:buildUpdateMeta2({...options,extra:{toolName:options.toolName,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{},...options.extra??{}}})}}__name(createTranscriptToolCallStartUpdate2,"createTranscriptToolCallStartUpdate");function createTranscriptToolCallResultUpdate2(options){const provenance=resolveToolProvenance2(options.toolName);const content=buildToolResultContent2(options);const update={sessionUpdate:"tool_call_update",toolCallId:options.callId,status:options.success?"completed":"failed",content,_meta:buildUpdateMeta2({...options,resultPreviewText:getToolContentText2(options.contentPrefix),extra:{toolName:options.toolName,provenance:provenance.provenance,...provenance.serverId?{serverId:provenance.serverId}:{},...options.artifacts&&options.artifacts.length>0?{artifacts:options.artifacts}:{},...options.extra??{}}})};const rawOutput=getReplayRawOutput2(options.resultDisplay);if(rawOutput!==void 0)update["rawOutput"]=rawOutput;return update}__name(createTranscriptToolCallResultUpdate2,"createTranscriptToolCallResultUpdate");function getToolContentText2(content){let text="";for(const entry of content??[]){if(entry.type!=="content"||entry.content.type!=="text")continue;const next=entry.content.text;if(text.length+(text?1:0)+next.length>MAX_RESULT_PREVIEW_TEXT_LENGTH2){return void 0}text+=`${text?"\n":""}${next}`}return text||void 0}__name(getToolContentText2,"getToolContentText");function getReplayRawOutput2(resultDisplay){if(!isTruncatedSessionDiffDisplay2(resultDisplay))return resultDisplay;if(resultDisplay["fileDiffTruncated"]===true||typeof resultDisplay["fileDiff"]!=="string"){return void 0}return{fileName:resultDisplay["fileName"],fileDiff:resultDisplay["fileDiff"]}}__name(getReplayRawOutput2,"getReplayRawOutput");function createTranscriptPlanUpdate2(todos,cumulativeUsage,options={}){const meta=buildUpdateMeta2({...options,extra:{...cumulativeUsage?{stats:{...cumulativeUsage}}:{},...options.todoPlanId?{qwenTodoPlan:{id:options.todoPlanId}}:{},...options.extra??{}}});return{sessionUpdate:"plan",entries:todos.map(todo=>({content:todo.content,priority:"medium",status:todo.status,...todo.id||todo.blockedBy?{_meta:{qwenTodo:{...todo.id?{id:todo.id}:{},...todo.blockedBy?{blockedBy:[...todo.blockedBy]}:{}}}}:{}})),...meta?{_meta:meta}:{}}}__name(createTranscriptPlanUpdate2,"createTranscriptPlanUpdate");function extractTranscriptTodoPlan2(resultDisplay,args){const fromDisplay=extractTodoPlanFromDisplay2(resultDisplay);if(fromDisplay)return fromDisplay;if(resultDisplay!==null&&resultDisplay!==void 0)return null;return args&&Array.isArray(args["todos"])?{todos:normalizeTodos2(args["todos"])}:null}__name(extractTranscriptTodoPlan2,"extractTranscriptTodoPlan");function createTranscriptReplayMachine2(options={}){return new DefaultTranscriptReplayMachine2(options)}__name(createTranscriptReplayMachine2,"createTranscriptReplayMachine");var DefaultTranscriptReplayMachine2=class{static{__name(this,"DefaultTranscriptReplayMachine")}options;pendingToolCalls=new Map;usedToolCallIds=new Set;gapByChild=new Map;usage;finalized=false;goalState;goalCause;constructor(options){this.options=options;const initialState=parseInitialState2(options.initialState,options.onDiagnostic);this.usage={...initialState.cumulativeUsage};this.goalState=initialState.goalState;this.goalCause=initialState.goalCause;for(const pending of initialState.pendingToolCalls){this.pendingToolCalls.set(pending.callId,pending);this.usedToolCallIds.add(pending.callId)}for(const gap of options.gaps??[]){if(!this.gapByChild.has(gap.childUuid)){this.gapByChild.set(gap.childUuid,gap)}}}*project(record){if(this.finalized){throw new Error("Cannot project records after transcript replay finalize.")}let ordinal=0;let activeSegmentLane;let activeSegmentId;const backgroundTurn=parseBackgroundNotificationTurn2(record.subtype==="background_task_completed"?void 0:record["backgroundTurn"]);const emit=__name(update=>{if(backgroundTurn)update={...update,_meta:{...update._meta,backgroundTurn}};const emissionOrdinal=ordinal++;const lane=transcriptSegmentLane2(update);if(lane&&(lane!==activeSegmentLane||!activeSegmentId)){activeSegmentLane=lane;activeSegmentId=`${record.uuid}:${emissionOrdinal}`}else if(!lane&&isTranscriptSegmentBoundary2(update)){activeSegmentLane=void 0;activeSegmentId=void 0}const projectedUpdate=lane&&activeSegmentId&&!hasExplicitTranscriptSegmentId2(update)?withTranscriptSegmentId2(update,activeSegmentId):update;if(isTranscriptDiscreteMessage2(update)){activeSegmentLane=void 0;activeSegmentId=void 0}return{sourceRecordId:record.uuid,...record.timestamp?{sourceTimestamp:record.timestamp}:{},emissionOrdinal,update:projectedUpdate}},"emit");const meta={timestamp:record.timestamp,sourceRecordIds:[record.uuid],...record.subtype==="realtime_message"?{extra:{source:"realtime_voice",qwenDiscreteMessage:true}}:{}};const gap=this.gapByChild.get(record.uuid);if(gap){yield emit(createTranscriptMessageUpdate2({role:"assistant",text:this.formatGap(gap),...meta,extra:{qwenDiscreteMessage:true}}))}switch(record.type){case"user":yield*this.projectUserRecord(record,emit,meta);break;case"assistant":yield*this.projectAssistantRecord(record,emit,meta);break;case"tool_result":if(!isInternalCodeModeToolResult(record)){yield*this.projectToolResult(record,emit,meta)}break;case"system":yield*this.projectSystemRecord(record,emit,meta);break;default:this.report("unknown_record_or_part","Skipped an unknown transcript record type.",record.uuid)}}*finalize(){if(this.finalized)return;this.finalized=true;const skip=this.options.skipFinalizeCallIds;let ordinal=0;for(const pending of[...this.pendingToolCalls.values()]){if(skip&&(skip.has(pending.callId)||pending.rawCallId!==void 0&&skip.has(pending.rawCallId)))continue;this.pendingToolCalls.delete(pending.callId);this.report("missing_tool_result","A transcript tool call has no persisted result.",pending.sourceRecordId);yield{sourceRecordId:pending.sourceRecordId,...pending.sourceTimestamp?{sourceTimestamp:pending.sourceTimestamp}:{},emissionOrdinal:ordinal++,update:createTranscriptToolCallResultUpdate2({toolName:pending.toolName,callId:pending.callId,success:false,errorMessage:MISSING_TRANSCRIPT_TOOL_RESULT_MESSAGE2,timestamp:pending.sourceTimestamp,sourceRecordIds:[pending.sourceRecordId]})}}}snapshot(){return{v:1,pendingToolCalls:[...this.pendingToolCalls.values()].map(pending=>({...pending})),cumulativeUsage:{...this.usage},...this.goalState?{goalState:this.goalState}:{},...this.goalCause?{goalCause:this.goalCause}:{}}}*projectUserRecord(record,emit,meta){const payload=isObjectRecord2(record.systemPayload)?record.systemPayload:void 0;const savedInputAnnotations=payload?.[DAEMON_INPUT_ANNOTATIONS_META_KEY2];const savedInputAnnotationList=Array.isArray(savedInputAnnotations)?savedInputAnnotations:[];const replayedInputAnnotations=savedInputAnnotationList.filter(isObjectRecord2);const userMeta={...meta,extra:{...meta.extra,...typeof record.daemonPromptId==="string"&&record.daemonPromptId.trim().length>0?{promptId:record.daemonPromptId}:{},...replayedInputAnnotations.length>0?{[DAEMON_INPUT_ANNOTATIONS_META_KEY2]:replayedInputAnnotations}:{}}};if(record.subtype==="agent_message"||record.subtype==="agent_mention"){const update=createAgentRecordTranscriptUpdate2({recordId:record.uuid,subtype:record.subtype,payload:record.systemPayload,timestamp:record.timestamp});if(update)yield emit(update);return}const replayMeta=record.subtype==="mid_turn_user_message"?{...userMeta,extra:{...userMeta.extra,source:"mid_turn_message_injected",qwenDiscreteMessage:true}}:userMeta;if(record.subtype==="goal_runtime"||record.subtype==="notification"||record.subtype==="cron"||record.subtype==="mid_turn_user_message"){const displayText=payload&&typeof payload["displayText"]==="string"?stripGeneratedAttachmentTokens(payload["displayText"],payload):void 0;if(record.subtype==="mid_turn_user_message"&&displayText===""){const media=[...this.projectUserAttachmentReferences(payload,emit,replayMeta)];if(media.length>0){yield*media;return}}if(displayText){const isNotification=record.subtype==="notification";const backgroundTask=payload&&isObjectRecord2(payload["backgroundTask"])?payload["backgroundTask"]:void 0;yield emit(createTranscriptMessageUpdate2({role:"user",text:displayText,...replayMeta,...isNotification?{extra:{source:"background_notification",qwenDiscreteMessage:true,...backgroundTask?{backgroundTask}:{}}}:record.subtype==="cron"?{extra:{source:"cron"}}:record.subtype==="goal_runtime"?{extra:{source:"goal_runtime"}}:{}}));yield*this.projectUserAttachmentReferences(payload,emit,replayMeta);return}if(record.subtype!=="mid_turn_user_message")return}const projection=projectUserTranscriptForDisplay(record);if(projection.displayText!==void 0){const displayText=stripGeneratedAttachmentTokens(projection.displayText,payload);yield*this.projectMessageParts(record,"user",emit,replayMeta,void 0,replaceTextPartsForDisplay2(record.message?.parts,displayText));yield*this.projectUserAttachmentReferences(payload,emit,replayMeta);return}yield*this.projectMessageParts(record,"user",emit,replayMeta,void 0,projection.parts);yield*this.projectUserAttachmentReferences(payload,emit,replayMeta)}*projectUserAttachmentReferences(payload,emit,meta){const references=payload?.["attachmentReferences"];for(const reference of Array.isArray(references)?references:[]){if(!isObjectRecord2(reference))continue;const update=createTranscriptAttachmentReferenceUpdate2(reference,meta);if(update)yield emit(update)}const resourceLinks=payload?.["resourceLinks"];for(const link of Array.isArray(resourceLinks)?resourceLinks:[]){if(!isObjectRecord2(link)||link["type"]!=="resource_link"||typeof link["uri"]!=="string"||link["uri"].length===0||typeof link["name"]!=="string"){continue}const updateMeta=buildUpdateMeta2(meta);yield emit({sessionUpdate:"user_message_chunk",content:structuredClone(link),...updateMeta?{_meta:updateMeta}:{}})}}*projectAssistantRecord(record,emit,meta){const usageMetadata=isObjectRecord2(record.usageMetadata)?record.usageMetadata:void 0;let usageEmitted=false;const takeUsageUpdate=__name(()=>{if(!usageMetadata||usageEmitted)return void 0;usageEmitted=true;this.addUsage(usageMetadata);return createTranscriptUsageUpdate2(usageMetadata,meta)},"takeUsageUpdate");yield*this.projectMessageParts(record,"assistant",emit,meta,takeUsageUpdate);const trailingUsage=takeUsageUpdate();if(trailingUsage)yield emit(trailingUsage)}*projectMessageParts(record,role,emit,meta,beforeToolCall,partsOverride){const parts=partsOverride??record.message?.parts;if(!parts)return;for(let partIndex=0;partIndex<parts.length;partIndex+=1){const part=parts[partIndex];if(!isObjectRecord2(part)){this.report("malformed_part","Skipped a malformed transcript message part.",record.uuid,`message.parts[${partIndex}]`);continue}let recognized=false;if(typeof part["text"]==="string"&&part["text"].length>0){recognized=true;yield emit(createTranscriptMessageUpdate2({role,text:part["text"],thought:role==="assistant"&&part["thought"]===true,...meta}))}const inlineData=isObjectRecord2(part["inlineData"])?part["inlineData"]:void 0;if(inlineData){recognized=true;const data=inlineData["data"];const mimeType=inlineData["mimeType"];if(role==="user"&&typeof data==="string"&&typeof mimeType==="string"&&mimeType.startsWith("image/")){yield emit(createTranscriptImageUpdate2({data,mimeType,...meta}))}else{this.report("malformed_part","Skipped an unsupported or malformed inline transcript part.",record.uuid,`message.parts[${partIndex}].inlineData`)}}const functionCall=isObjectRecord2(part["functionCall"])?part["functionCall"]:void 0;if(functionCall){recognized=true;const toolName=typeof functionCall["name"]==="string"?functionCall["name"]:"";const args=isObjectRecord2(functionCall["args"])?functionCall["args"]:{};if(!toolName){this.report("malformed_part","Skipped a tool call without a tool name.",record.uuid,`message.parts[${partIndex}].functionCall`);continue}const preToolUpdate=beforeToolCall?.();if(preToolUpdate)yield emit(preToolUpdate);if(toolName==="todo_write")continue;const explicitId=typeof functionCall["id"]==="string"&&functionCall["id"].length>0?functionCall["id"]:void 0;const callId=this.allocateToolCallId(explicitId??`qwen-replay-tool:${record.uuid}:${partIndex}`);const update=createTranscriptToolCallStartUpdate2({toolName,callId,args,status:"in_progress",metadata:this.resolveToolMetadata(toolName,args,record.uuid),...meta});yield emit(update);if(role==="assistant"){this.pendingToolCalls.set(callId,{callId,toolName,...toolName==="tool_call"&&typeof args["name"]==="string"&&args["name"].trim()?{resolvedToolName:args["name"].trim()}:{},sourceRecordId:record.uuid,...record.timestamp?{sourceTimestamp:record.timestamp}:{},...explicitId!==void 0&&explicitId!==callId?{rawCallId:explicitId}:{}})}}if(!recognized&&!("functionResponse"in part)){this.report("unknown_record_or_part","Skipped an unknown transcript message part.",record.uuid,`message.parts[${partIndex}]`)}}}*projectToolResult(record,emit,meta){const result=isObjectRecord2(record.toolCallResult)?record.toolCallResult:void 0;const toolName=extractToolName2(record);if(!toolName){this.report("malformed_part","A transcript tool result has no tool name.",record.uuid,"message.parts")}const explicitCallId=extractToolResultCallId2(record,result);const callId=explicitCallId?this.allocateToolCallId(explicitCallId,true):this.correlateResultCallId(toolName,record.uuid);this.pendingToolCalls.delete(callId);const resultDisplay=result?.["resultDisplay"];if(toolName==="todo_write"){const plan=extractTranscriptTodoPlan2(resultDisplay);if(plan){yield emit(createTranscriptPlanUpdate2(plan.todos,this.usage,{...meta,planToolCallId:callId,todoPlanId:plan.planId,...plan.sessionWorkflow?{extra:{...meta.extra,qwenSessionWorkflow:true}}:{}}))}return}yield emit(createTranscriptToolCallResultUpdate2({toolName,callId,success:result?.["status"]===void 0?!result?.["error"]:result["status"]==="success"&&!result["error"],errorMessage:extractErrorMessage2(result?.["error"]),message:record.message?.parts,resultDisplay,artifacts:Array.isArray(result?.["artifacts"])?result["artifacts"]:void 0,contentPrefix:this.buildToolResultContentPrefix(resultDisplay,record.uuid),...meta}));if(isTaskExecutionDisplay2(resultDisplay)){const usage=usageFromTaskExecution2(resultDisplay);if(Object.keys(usage).length>0){this.addUsage(usage);yield emit(createTranscriptUsageUpdate2(usage,{...meta,extra:{...meta.extra,parentToolCallId:callId}}))}}}*projectSystemRecord(record,emit,meta){if(record.subtype==="ui_telemetry"){if(!this.options.includeTiming)return;const payload2=record.systemPayload;const uiEvent=isObjectRecord2(payload2)?payload2["uiEvent"]:void 0;if(isObjectRecord2(uiEvent)&&uiEvent["event.name"]==="request_lifecycle"){const lifecycle=parseExecutionLifecycle2(uiEvent);if(lifecycle)yield emit(createTranscriptExecutionLifecycleUpdate2(lifecycle,meta));return}if(isObjectRecord2(uiEvent)&&uiEvent["event.name"]==="tool_lifecycle"){const lifecycle=parseToolLifecycle2(uiEvent);if(lifecycle){let callId=lifecycle.callId;if(!lifecycle.subagentId){const candidates=[...this.pendingToolCalls.values()].filter(pending2=>(pending2.rawCallId??pending2.callId)===lifecycle.callId&&(pending2.toolName===lifecycle.toolName||pending2.resolvedToolName===lifecycle.toolName));const pending=candidates.find(item=>item.toolLifecycleExecutionId===lifecycle.executionId)??candidates.find(item=>item.toolLifecycleExecutionId===void 0);if(pending){callId=pending.callId;this.pendingToolCalls.set(callId,{...pending,toolLifecycleExecutionId:lifecycle.executionId})}}yield emit({...createTranscriptToolLifecycleUpdate2(lifecycle,meta),toolCallId:callId})}return}const timing=parseTelemetryTiming2(record.systemPayload);if(!timing)return;yield emit(createTranscriptTimingUpdate2(this.resolveTimingCallId(timing),meta));return}if(record.subtype==="turn_result"){const payload2=isObjectRecord2(record.systemPayload)?record.systemPayload:void 0;const cancelledAt=finiteNumber2(payload2?.["cancelledAt"]);const startedAt=finiteNumber2(payload2?.["startedAt"]);const promptId=payload2?.["promptId"];if(payload2?.["state"]!=="cancelled"||cancelledAt===void 0||typeof promptId!=="string"||!promptId||payload2["startedAt"]!==void 0&&startedAt===void 0)return;const elapsedMs=Math.max(0,cancelledAt-(startedAt??cancelledAt));if(!Number.isFinite(elapsedMs))return;yield emit(createTranscriptMessageUpdate2({role:"assistant",text:"",...meta,extra:{qwenDiscreteMessage:true,promptCancelled:{promptId,cancelledAt,elapsedMs}}}));return}if(record.subtype==="background_task_completed"){const payload2=isObjectRecord2(record.systemPayload)?record.systemPayload:void 0;if(!payload2||typeof payload2["displayText"]!=="string")return;yield emit(createTranscriptMessageUpdate2({role:"assistant",text:payload2["displayText"],...meta,extra:{source:"background_task_completed",qwenDiscreteMessage:true,...isObjectRecord2(payload2["backgroundTask"])?{backgroundTask:payload2["backgroundTask"]}:{}}}));return}if(record.subtype==="agent_session_ready"){const payload2=isObjectRecord2(record.systemPayload)?record.systemPayload:void 0;if(typeof payload2?.["callId"]!=="string"||payload2["callId"].length===0||typeof payload2["subagentSessionReady"]!=="boolean"){this.report("malformed_agent_session_ready","Skipped a malformed subagent session readiness record.",record.uuid,"systemPayload");return}const callId=payload2["callId"];if(!this.pendingToolCalls.has(callId)){this.report("orphan_agent_session_ready","Skipped subagent readiness without a matching pending tool call.",record.uuid,"systemPayload.callId");return}yield emit({sessionUpdate:"tool_call_update",toolCallId:callId,_meta:buildUpdateMeta2({...meta,extra:{subagentSessionReady:payload2["subagentSessionReady"]}})});return}if(record.subtype==="goal_state"){const payload2=parseGoalStateRecordPayloadV2(record.systemPayload);if(!payload2){this.report("malformed_goal_state","Skipped a malformed Goal state transcript record.",record.uuid,"systemPayload");return}const bookkeepingOnly=isGoalCheckpointBookkeepingRecord({cause:payload2.cause,previousCause:this.goalCause,previous:this.goalState,next:payload2.snapshot});const goalStatus=projectGoalCard(payload2,this.goalState?.goal??null);const goalControlCommand=projectGoalControlCommand2(payload2.cause,payload2.snapshot);this.goalState=payload2.snapshot;this.goalCause=payload2.cause;if(bookkeepingOnly)return;if(goalControlCommand){yield emit(createTranscriptMessageUpdate2({role:"user",text:goalControlCommand,...meta,extra:{source:"goal_control","qwen.session.recordId":record.uuid}}))}yield emit(createTranscriptMessageUpdate2({role:"assistant",text:"",...meta,extra:{goalState:payload2.snapshot,goalStatus,"qwen.session.recordId":record.uuid}}));return}if(record.subtype!=="slash_command")return;const payload=isObjectRecord2(record.systemPayload)?record.systemPayload:void 0;if(payload?.["phase"]!=="result")return;const items=Array.isArray(payload["outputHistoryItems"])?payload["outputHistoryItems"]:[];for(const item of items){const goalStatus=parseTranscriptGoalStatus2(item);if(goalStatus){if(goalStatus.condition.length===0){this.report("malformed_part","Skipped replay of a goal card whose condition is empty.",record.uuid,"systemPayload.outputHistoryItems.goalStatus.condition")}else if(goalStatus.kind!=="checking"){yield emit(createTranscriptMessageUpdate2({role:"assistant",text:"",...meta,extra:{goalStatus}}))}continue}if(!isObjectRecord2(item)||typeof item["text"]!=="string")continue;const contextCompression=isObjectRecord2(item["contextCompression"])?item["contextCompression"]:void 0;const contextCompressionNotice=isObjectRecord2(item["contextCompressionNotice"])?item["contextCompressionNotice"]:void 0;yield emit(createTranscriptMessageUpdate2({role:"assistant",text:item["text"].replace(/\n/g," \n"),...meta,extra:{source:"slash_command",...contextCompression?{contextCompression}:{},...contextCompressionNotice?{contextCompressionNotice}:{},...Array.isArray(item["sessionArtifacts"])?{sessionArtifacts:item["sessionArtifacts"]}:{}}}))}}addUsage(metadata){this.usage.promptTokens+=finiteNumber2(metadata["promptTokenCount"])??0;this.usage.candidateTokens+=finiteNumber2(metadata["candidatesTokenCount"])??0;this.usage.cachedTokens+=finiteNumber2(metadata["cachedContentTokenCount"])??0}correlateResultCallId(toolName,recordId){const candidates=[...this.pendingToolCalls.values()].filter(pending=>pending.toolName===toolName);if(candidates.length===1)return candidates[0].callId;this.report("ambiguous_tool_call_correlation","A tool result could not be matched to exactly one pending tool call.",recordId);return this.allocateToolCallId(`qwen-replay-tool:${recordId}:result`)}allocateToolCallId(candidate,reuse=false){if(reuse&&this.pendingToolCalls.has(candidate)){this.usedToolCallIds.add(candidate);return candidate}if(!this.usedToolCallIds.has(candidate)){this.usedToolCallIds.add(candidate);return candidate}let occurrence=2;while(this.usedToolCallIds.has(`${candidate}:${occurrence}`)){occurrence+=1}const id=`${candidate}:${occurrence}`;this.usedToolCallIds.add(id);return id}resolveTimingCallId(timing){if(timing.kind!=="tool"||timing.callId===void 0)return timing;if(isSubagentPromptId2(timing.promptId))return timing;for(const pending of this.pendingToolCalls.values()){const recordedId=pending.rawCallId??pending.callId;if(recordedId!==timing.callId||pending.timingMatched)continue;if(timing.toolName!==void 0&&pending.toolName!==timing.toolName&&pending.resolvedToolName!==timing.toolName)continue;this.pendingToolCalls.set(pending.callId,{...pending,timingMatched:true});return{...timing,callId:pending.callId}}return timing}resolveToolMetadata(toolName,args,recordId){try{return this.options.presentation?.resolveToolMetadata(toolName,args)??fallbackToolMetadata2(toolName,args)}catch{this.report("presentation_fallback","Tool presentation metadata fell back to deterministic defaults.",recordId,void 0,false);return fallbackToolMetadata2(toolName,args)}}formatGap(gap){try{return this.options.presentation?.formatHistoryGap(gap)??"Some earlier messages are unavailable because the saved history is incomplete."}catch{this.report("presentation_fallback","History gap presentation fell back to deterministic defaults.",gap.childUuid,void 0,false);return"Some earlier messages are unavailable because the saved history is incomplete."}}buildToolResultContentPrefix(resultDisplay,recordId){try{return this.options.presentation?.buildToolResultContentPrefix?.(resultDisplay)??defaultToolResultContentPrefix2(resultDisplay)}catch{this.report("presentation_fallback","Tool result content presentation fell back to deterministic defaults.",recordId,void 0,false);return defaultToolResultContentPrefix2(resultDisplay)}}report(code,message,recordId,path2,affectsCompleteness=true){this.options.onDiagnostic?.({code,severity:affectsCompleteness?"warning":"info",message,affectsCompleteness,...recordId?{recordId}:{},...path2?{path:path2}:{}})}};function withTranscriptSegmentId2(update,segmentId){const record=update;const meta=isObjectRecord2(record["_meta"])?record["_meta"]:void 0;const transcript=meta&&isObjectRecord2(meta["qwenTranscript"])?meta["qwenTranscript"]:void 0;return{...record,_meta:{...meta??{},qwenTranscript:{...transcript??{},segmentId}}}}__name(withTranscriptSegmentId2,"withTranscriptSegmentId");function hasExplicitTranscriptSegmentId2(update){const meta=update["_meta"];const transcript=isObjectRecord2(meta)?meta["qwenTranscript"]:void 0;return isObjectRecord2(transcript)&&typeof transcript["segmentId"]==="string"&&transcript["segmentId"].length>0}__name(hasExplicitTranscriptSegmentId2,"hasExplicitTranscriptSegmentId");function transcriptSegmentLane2(update){const record=update;const kind=record["sessionUpdate"];const meta=isObjectRecord2(record["_meta"])?record["_meta"]:void 0;const parentToolCallId=typeof meta?.["parentToolCallId"]==="string"?meta["parentToolCallId"]:"root";if(kind==="user_message_chunk"||kind==="agent_message_chunk"||kind==="agent_thought_chunk"){const content=isObjectRecord2(record["content"])?record["content"]:void 0;const contentType=typeof content?.["type"]==="string"?content["type"]:void 0;if(!contentType)return void 0;if(contentType==="text"&&(typeof content?.["text"]!=="string"||content["text"].length===0)){return void 0}return`${String(kind)}:${contentType}:${parentToolCallId}`}if(kind==="shell_output"||kind==="tool_output"){const source=typeof meta?.["source"]==="string"?meta["source"]:"";const stream=typeof record["stream"]==="string"?record["stream"]:"";return`${String(kind)}:${source}:${stream}`}return void 0}__name(transcriptSegmentLane2,"transcriptSegmentLane");function isTranscriptSegmentBoundary2(update){const record=update;const kind=record["sessionUpdate"];return typeof kind==="string"&&kind!=="agent_message_chunk"&&kind!=="agent_thought_chunk"&&kind!=="user_message_chunk"}__name(isTranscriptSegmentBoundary2,"isTranscriptSegmentBoundary");function isTranscriptDiscreteMessage2(update){const record=update;const meta=isObjectRecord2(record["_meta"])?record["_meta"]:void 0;return meta?.["qwenDiscreteMessage"]===true}__name(isTranscriptDiscreteMessage2,"isTranscriptDiscreteMessage");function projectGoalControlCommand2(cause,snapshot){switch(cause){case"create":case"replace":return snapshot.goal?`/goal ${snapshot.goal.objective}`:void 0;case"edit":return snapshot.goal?`/goal edit ${snapshot.goal.objective}`:void 0;case"pause":return snapshot.goal?.lastReason===void 0||snapshot.goal.lastReason===GOAL_PAUSE_REASON_COMMAND?`/goal ${cause}`:void 0;case"resume":case"clear":return`/goal ${cause}`;case"turn_finished":case"checkpoint":case"verifier_accept":case"verifier_reject":case"complete":case"blocked":case"usage_limited":case"migrated":return void 0;default:return assertNever2(cause)}}__name(projectGoalControlCommand2,"projectGoalControlCommand");function assertNever2(value){throw new Error(`Unsupported Goal state cause: ${String(value)}`)}__name(assertNever2,"assertNever");function parseTranscriptGoalStatus2(value){if(!isObjectRecord2(value)||value["type"]!=="goal_status"){return void 0}const kind=value["kind"];const condition=value["condition"];if(typeof kind!=="string"||!TRANSCRIPT_GOAL_STATUS_KINDS2.has(kind)||typeof condition!=="string"){return void 0}const iterations=finiteNumber2(value["iterations"]);const setAt=finiteNumber2(value["setAt"]);const durationMs=finiteNumber2(value["durationMs"]);const lastReason=typeof value["lastReason"]==="string"?value["lastReason"]:void 0;return{kind,condition,...iterations!==void 0?{iterations}:{},...setAt!==void 0?{setAt}:{},...durationMs!==void 0?{durationMs}:{},...lastReason!==void 0?{lastReason}:{}}}__name(parseTranscriptGoalStatus2,"parseTranscriptGoalStatus");function defaultToolResultContentPrefix2(resultDisplay){if(!isObjectRecord2(resultDisplay)||resultDisplay["type"]!=="vision_bridge_notice"||typeof resultDisplay["summary"]!=="string"||typeof resultDisplay["notice"]!=="string"){return[]}return[{type:"content",content:{type:"text",text:`${resultDisplay["summary"]}
116
116
  ${resultDisplay["notice"]}`}}]}__name(defaultToolResultContentPrefix2,"defaultToolResultContentPrefix");function parseInitialState2(value,onDiagnostic){const empty={v:1,pendingToolCalls:[],cumulativeUsage:emptyUsage2()};if(value===void 0)return empty;if(!isObjectRecord2(value)){throw new TypeError("Invalid transcript replay state.")}if("v"in value&&value["v"]!==1){throw new TypeError("Unsupported transcript replay state version.")}const rawPending=Array.isArray(value["pendingToolCalls"])?value["pendingToolCalls"]:[];const pendingToolCalls=rawPending.flatMap(pending=>{if(!isObjectRecord2(pending)||typeof pending["callId"]!=="string"||typeof pending["toolName"]!=="string"||typeof pending["sourceRecordId"]!=="string"){onDiagnostic?.({code:"invalid_replay_state",severity:"warning",message:"Dropped a malformed pending tool call from replay state.",affectsCompleteness:true});return[]}return[{callId:pending["callId"],toolName:pending["toolName"],...typeof pending["resolvedToolName"]==="string"?{resolvedToolName:pending["resolvedToolName"]}:{},sourceRecordId:pending["sourceRecordId"],...typeof pending["sourceTimestamp"]==="string"?{sourceTimestamp:pending["sourceTimestamp"]}:{},...typeof pending["rawCallId"]==="string"?{rawCallId:pending["rawCallId"]}:{},...typeof pending["toolLifecycleExecutionId"]==="string"&&pending["toolLifecycleExecutionId"].length>0?{toolLifecycleExecutionId:pending["toolLifecycleExecutionId"]}:{},...pending["timingMatched"]===true?{timingMatched:true}:{}}]});const rawUsage=value.cumulativeUsage;const usage=isObjectRecord2(rawUsage)?rawUsage:{};const validUsage=finiteNumber2(usage["promptTokens"])!==void 0&&finiteNumber2(usage["cachedTokens"])!==void 0&&finiteNumber2(usage["candidateTokens"])!==void 0&&finiteNumber2(usage["apiTimeMs"])!==void 0;if(!validUsage){onDiagnostic?.({code:"invalid_replay_state",severity:"warning",message:"Reset invalid cumulative usage in transcript replay state.",affectsCompleteness:true})}const rawGoalState=value["goalState"];const goalState=rawGoalState===void 0?void 0:parseGoalSnapshotV2(rawGoalState);if(rawGoalState!==void 0&&!goalState){onDiagnostic?.({code:"invalid_replay_state",severity:"warning",message:"Dropped a malformed Goal state from replay state.",affectsCompleteness:true})}const rawGoalCause=value["goalCause"];const goalCause=rawGoalCause===void 0?void 0:parseGoalStateCause(rawGoalCause);if(rawGoalCause!==void 0&&!goalCause){onDiagnostic?.({code:"invalid_replay_state",severity:"warning",message:"Dropped a malformed Goal cause from replay state.",affectsCompleteness:true})}return{v:1,pendingToolCalls,cumulativeUsage:validUsage?{promptTokens:usage["promptTokens"],cachedTokens:usage["cachedTokens"],candidateTokens:usage["candidateTokens"],apiTimeMs:usage["apiTimeMs"]}:emptyUsage2(),...goalState?{goalState}:{},...goalCause?{goalCause}:{}}}__name(parseInitialState2,"parseInitialState");function emptyUsage2(){return{promptTokens:0,cachedTokens:0,candidateTokens:0,apiTimeMs:0}}__name(emptyUsage2,"emptyUsage");function fallbackToolMetadata2(toolName,args){const description=typeof args["description"]==="string"?args["description"].trim():"";return{title:description?`${toolName}: ${description}`:toolName,locations:[],kind:"other"}}__name(fallbackToolMetadata2,"fallbackToolMetadata");function resolveToolProvenance2(toolName){if(toolName.startsWith("mcp__")){const parts=toolName.split("__");if(parts.length>=3&&parts[1]){return{provenance:"mcp",serverId:parts[1]}}}return{provenance:"builtin"}}__name(resolveToolProvenance2,"resolveToolProvenance");function buildToolResultContent2(options){const prefix=[...options.contentPrefix??[]];const diff=extractDiffContent3(options.resultDisplay);if(diff)return[...prefix,diff];if(options.errorMessage){return[...prefix,{type:"content",content:{type:"text",text:options.errorMessage}}]}const content=[...prefix];for(const part of options.message??[]){if(!isObjectRecord2(part))continue;if(typeof part["text"]==="string"&&part["text"]){content.push({type:"content",content:{type:"text",text:part["text"]}})}const response=isObjectRecord2(part["functionResponse"])?part["functionResponse"]:void 0;const payload=response&&isObjectRecord2(response["response"])?response["response"]:void 0;if(!payload)continue;try{const output=payload["output"];const error=payload["error"];const text=typeof output==="string"?output:typeof error==="string"?error:JSON.stringify(payload);content.push({type:"content",content:{type:"text",text}})}catch{}}return content}__name(buildToolResultContent2,"buildToolResultContent");function extractDiffContent3(resultDisplay){if(!isObjectRecord2(resultDisplay))return null;if(!("fileName"in resultDisplay)||!("newContent"in resultDisplay)){return null}if(isTruncatedSessionDiffDisplay2(resultDisplay)){return{type:"content",content:{type:"text",text:buildTruncatedDiffPreviewText3(resultDisplay)}}}return{type:"diff",path:typeof resultDisplay["filePath"]==="string"?resultDisplay["filePath"]:typeof resultDisplay["fileName"]==="string"?resultDisplay["fileName"]:"",oldText:typeof resultDisplay["originalContent"]==="string"?resultDisplay["originalContent"]:"",newText:typeof resultDisplay["newContent"]==="string"?resultDisplay["newContent"]:""}}__name(extractDiffContent3,"extractDiffContent");function isTruncatedSessionDiffDisplay2(value){return isObjectRecord2(value)&&value["truncatedForSession"]===true&&"fileName"in value&&"newContent"in value}__name(isTruncatedSessionDiffDisplay2,"isTruncatedSessionDiffDisplay");function buildTruncatedDiffPreviewText3(display){const fileName=typeof display["fileName"]==="string"?display["fileName"]:"the edited file";const fileDiffLength=typeof display["fileDiffLength"]==="number"?` Original fileDiff length: ${display["fileDiffLength"]} chars.`:"";return display["fileDiffTruncated"]===true?`Full diff omitted from saved session history for ${fileName}.${fileDiffLength}`:`Saved session preview only for ${fileName}; full original and new file contents are unavailable.`}__name(buildTruncatedDiffPreviewText3,"buildTruncatedDiffPreviewText");function extractToolName2(record){for(const part of record.message?.parts??[]){if(!isObjectRecord2(part)||!isObjectRecord2(part["functionResponse"])){continue}const name=part["functionResponse"]["name"];if(typeof name==="string")return name}return""}__name(extractToolName2,"extractToolName");function extractToolResultCallId2(record,result){if(typeof result?.["callId"]==="string"&&result["callId"].length>0){return result["callId"]}for(const part of record.message?.parts??[]){if(!isObjectRecord2(part)||!isObjectRecord2(part["functionResponse"])){continue}const id=part["functionResponse"]["id"];if(typeof id==="string"&&id.length>0)return id}return void 0}__name(extractToolResultCallId2,"extractToolResultCallId");function extractTodoPlanFromDisplay2(value){if(isObjectRecord2(value)&&value["type"]==="todo_list"){return Array.isArray(value["todos"])?{...typeof value["planId"]==="string"?{planId:value["planId"]}:{},...value["sessionWorkflow"]===true?{sessionWorkflow:true}:{},todos:normalizeTodos2(value["todos"])}:null}if(typeof value!=="string")return null;try{const parsed=JSON.parse(value);return isObjectRecord2(parsed)&&parsed["type"]==="todo_list"&&Array.isArray(parsed["todos"])?{...typeof parsed["planId"]==="string"?{planId:parsed["planId"]}:{},...parsed["sessionWorkflow"]===true?{sessionWorkflow:true}:{},todos:normalizeTodos2(parsed["todos"])}:null}catch{return null}}__name(extractTodoPlanFromDisplay2,"extractTodoPlanFromDisplay");function normalizeTodos2(values){return values.flatMap(value=>{if(!isObjectRecord2(value)||typeof value["content"]!=="string")return[];const status=value["status"];if(status!=="pending"&&status!=="in_progress"&&status!=="completed"){return[]}return[{...typeof value["id"]==="string"?{id:value["id"]}:{},content:value["content"],status,...Array.isArray(value["blockedBy"])&&value["blockedBy"].every(dependency=>typeof dependency==="string")?{blockedBy:value["blockedBy"]}:{}}]})}__name(normalizeTodos2,"normalizeTodos");function isTaskExecutionDisplay2(value){return isObjectRecord2(value)&&value["type"]==="task_execution"}__name(isTaskExecutionDisplay2,"isTaskExecutionDisplay");function usageFromTaskExecution2(display){const summary=isObjectRecord2(display["executionSummary"])?display["executionSummary"]:void 0;if(!summary)return{};return{...finiteNumber2(summary["inputTokens"])!==void 0?{promptTokenCount:summary["inputTokens"]}:{},...finiteNumber2(summary["outputTokens"])!==void 0?{candidatesTokenCount:summary["outputTokens"]}:{},...finiteNumber2(summary["thoughtTokens"])!==void 0?{thoughtsTokenCount:summary["thoughtTokens"]}:{},...finiteNumber2(summary["cachedTokens"])!==void 0?{cachedContentTokenCount:summary["cachedTokens"]}:{},...finiteNumber2(summary["totalTokens"])!==void 0?{totalTokenCount:summary["totalTokens"]}:{}}}__name(usageFromTaskExecution2,"usageFromTaskExecution");function finiteNumber2(value){return typeof value==="number"&&Number.isFinite(value)?value:void 0}__name(finiteNumber2,"finiteNumber");function extractErrorMessage2(value){if(value instanceof Error)return value.message;if(!isObjectRecord2(value))return void 0;return typeof value["message"]==="string"?value["message"]:void 0}__name(extractErrorMessage2,"extractErrorMessage");function dedupeStrings2(values){return[...new Set(values.filter(value=>value.length>0))]}__name(dedupeStrings2,"dedupeStrings");var TranscriptProjectionInputError=class extends TypeError{constructor(code,message){super(message);this.code=code;this.name="TranscriptProjectionInputError"}static{__name(this,"TranscriptProjectionInputError")}};function projectChatRecordsToDaemonTranscript(records,options={}){if(!Array.isArray(records)){throw new TranscriptProjectionInputError("invalid_records","Transcript records must be an array.")}if(options.maxBlocks!==void 0&&(!Number.isSafeInteger(options.maxBlocks)||options.maxBlocks<=0)){throw new TranscriptProjectionInputError("invalid_max_blocks","maxBlocks must be a positive safe integer.")}let prepared;try{prepared=prepareTranscriptRecords(records,{...options.leafUuid!==void 0?{leafUuid:options.leafUuid}:{}})}catch(error){if(error instanceof TranscriptRecordPreparationError){throw new TranscriptProjectionInputError(error.code,error.message)}throw error}const diagnostics=[...prepared.diagnostics];const diagnosticKeys=new Set(diagnostics.map(item=>diagnosticKey(item)));const addDiagnostic=__name(diagnostic=>{const key=diagnosticKey(diagnostic);if(diagnosticKeys.has(key))return;diagnosticKeys.add(key);diagnostics.push(diagnostic)},"addDiagnostic");const maxBlocks=options.maxBlocks??Number.MAX_SAFE_INTEGER;let truncated=false;let state=createDaemonTranscriptState({maxBlocks,maxRetainedBytes:Number.POSITIVE_INFINITY,now:0,onTruncation:__name(detail=>{truncated=true;addDiagnostic({code:detail.kind==="blocks"?"transcript_blocks_truncated":"transcript_text_truncated",severity:"warning",message:detail.kind==="blocks"?"Older transcript blocks were removed by maxBlocks.":"A transcript text block exceeded the safe character limit.",affectsCompleteness:true,...detail.sourceRecordIds?.[0]?{recordId:detail.sourceRecordIds[0]}:{},...detail.blockId?{path:`blocks.${detail.blockId}`}:{}})},"onTruncation")});const machine=createTranscriptReplayMachine2({gaps:prepared.gaps,onDiagnostic:addDiagnostic});const consume=__name(emissions=>{for(const emission of emissions){const event={v:1,type:"session_update",data:{update:emission.update}};const uiEvents=normalizeDaemonEvent(event);state=reduceDaemonTranscriptEvents(state,uiEvents,{maxBlocks,now:0})}},"consume");for(const record of prepared.records)consume(machine.project(record));consume(machine.finalize());state=finalizeOfflineDaemonTranscriptState(state);const complete=!truncated&&!diagnostics.some(diagnostic=>diagnostic.affectsCompleteness);return{blocks:state.blocks,diagnostics,complete,truncated}}__name(projectChatRecordsToDaemonTranscript,"projectChatRecordsToDaemonTranscript");function diagnosticKey(diagnostic){return JSON.stringify([diagnostic.code,diagnostic.recordIndex,diagnostic.recordId,diagnostic.path])}__name(diagnosticKey,"diagnosticKey");var export_transcript_document_v1_schema_default={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://qwen-code.invalid/export-transcript-document-v1.schema.json",type:"object",additionalProperties:false,required:["schemaVersion","rendererVersion","blocks","diagnostics","metadata"],properties:{schemaVersion:{const:1},rendererVersion:{type:"string",minLength:1,maxLength:128,pattern:"^([0-9a-f]{64}|(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(-[0-9A-Za-z]+(?:[.-][0-9A-Za-z]+)*)?(\\+[0-9A-Za-z]+(?:[.-][0-9A-Za-z]+)*)?)$"},blocks:{type:"array",maxItems:1e3,items:{$ref:"#/$defs/block"}},diagnostics:{type:"array",maxItems:1e3,items:{type:"object",additionalProperties:false,required:["code","severity","count"],properties:{code:{type:"string",minLength:1,maxLength:128},severity:{enum:["info","warning","error"]},count:{type:"integer",minimum:0,maximum:9007199254740991}}}},metadata:{$ref:"#/$defs/metadata"}},$defs:{author:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string",minLength:1,maxLength:128}}},block:{oneOf:[{$ref:"#/$defs/userBlock"},{$ref:"#/$defs/assistantBlock"},{$ref:"#/$defs/thoughtBlock"},{$ref:"#/$defs/toolBlock"},{$ref:"#/$defs/shellBlock"},{$ref:"#/$defs/userShellBlock"},{$ref:"#/$defs/permissionBlock"},{$ref:"#/$defs/statusBlock"},{$ref:"#/$defs/errorBlock"},{$ref:"#/$defs/promptCancelledBlock"}]},userBlock:{type:"object",additionalProperties:false,required:["id","kind","clientReceivedAt","createdAt","updatedAt","text"],properties:{id:{type:"string",minLength:1,maxLength:200},kind:{const:"user"},clientReceivedAt:{const:0},createdAt:{const:0},updatedAt:{const:0},text:{type:"string",maxLength:409600},author:{$ref:"#/$defs/author"},streaming:{const:false},collapsed:{type:"boolean"},parentToolCallId:{type:"string",minLength:1,maxLength:200},images:{type:"array",maxItems:1e3,items:{$ref:"#/$defs/rasterImage"}}}},assistantBlock:{type:"object",additionalProperties:false,required:["id","kind","clientReceivedAt","createdAt","updatedAt","text"],properties:{id:{type:"string",minLength:1,maxLength:200},kind:{const:"assistant"},clientReceivedAt:{const:0},createdAt:{const:0},updatedAt:{const:0},text:{type:"string",maxLength:409600},author:{$ref:"#/$defs/author"},streaming:{const:false},collapsed:{type:"boolean"},parentToolCallId:{type:"string",minLength:1,maxLength:200},images:{type:"array",maxItems:1e3,items:{$ref:"#/$defs/rasterImage"}},usage:{$ref:"#/$defs/usage"}}},thoughtBlock:{type:"object",additionalProperties:false,required:["id","kind","clientReceivedAt","createdAt","updatedAt","text"],properties:{id:{type:"string",minLength:1,maxLength:200},kind:{const:"thought"},clientReceivedAt:{const:0},createdAt:{const:0},updatedAt:{const:0},text:{type:"string",maxLength:409600},streaming:{const:false},collapsed:{type:"boolean"},parentToolCallId:{type:"string",minLength:1,maxLength:200},images:{type:"array",maxItems:1e3,items:{$ref:"#/$defs/rasterImage"}}}},toolBlock:{type:"object",additionalProperties:false,allOf:[{if:{properties:{status:{enum:["completed","failed"]}},required:["status"]},then:{required:["resultPreview"]}}],required:["id","kind","clientReceivedAt","createdAt","updatedAt","toolCallId","title","status","preview"],properties:{id:{type:"string",minLength:1,maxLength:200},kind:{const:"tool"},clientReceivedAt:{const:0},createdAt:{const:0},updatedAt:{const:0},toolCallId:{type:"string",minLength:1,maxLength:200},title:{type:"string",maxLength:409600},status:{enum:["completed","failed","cancelled","canceled"]},background:{type:"boolean"},toolName:{type:"string",minLength:1,maxLength:200},toolKind:{type:"string",minLength:1,maxLength:200},preview:{$ref:"#/$defs/toolPreview"},resultPreview:{$ref:"#/$defs/toolResultPreview"},parentToolCallId:{type:"string",minLength:1,maxLength:200},parentBlockId:{type:"string",minLength:1,maxLength:200},subagentType:{type:"string",minLength:1,maxLength:200}}},shellBlock:{type:"object",additionalProperties:false,required:["id","kind","clientReceivedAt","createdAt","updatedAt","text"],properties:{id:{type:"string",minLength:1,maxLength:200},kind:{const:"shell"},clientReceivedAt:{const:0},createdAt:{const:0},updatedAt:{const:0},text:{type:"string",maxLength:409600},stream:{enum:["stdout","stderr"]}}},userShellBlock:{type:"object",additionalProperties:false,required:["id","kind","clientReceivedAt","createdAt","updatedAt","text","command"],properties:{id:{type:"string",minLength:1,maxLength:200},kind:{const:"user_shell"},clientReceivedAt:{const:0},createdAt:{const:0},updatedAt:{const:0},text:{type:"string",maxLength:409600},command:{type:"string",maxLength:409600},cwd:{type:"string",maxLength:400},stream:{enum:["stdout","stderr"]}}},permissionBlock:{type:"object",additionalProperties:false,required:["id","kind","clientReceivedAt","createdAt","updatedAt","requestId","title","options","preview"],properties:{id:{type:"string",minLength:1,maxLength:200},kind:{const:"permission"},clientReceivedAt:{const:0},createdAt:{const:0},updatedAt:{const:0},requestId:{type:"string",minLength:1,maxLength:200},title:{type:"string",maxLength:409600},options:{type:"array",maxItems:1e3,items:{$ref:"#/$defs/permissionOption"}},preview:{$ref:"#/$defs/toolPreview"},toolCallId:{type:"string",minLength:1,maxLength:200},toolName:{type:"string",minLength:1,maxLength:200},toolKind:{type:"string",minLength:1,maxLength:200},resolved:{enum:["approved","rejected","cancelled","expired","resolved"]}}},statusBlock:{type:"object",additionalProperties:false,required:["id","kind","clientReceivedAt","createdAt","updatedAt","text"],properties:{id:{type:"string",minLength:1,maxLength:200},kind:{const:"status"},clientReceivedAt:{const:0},createdAt:{const:0},updatedAt:{const:0},text:{type:"string",maxLength:409600},code:{type:"string",minLength:1,maxLength:128},errorKind:{enum:["missing_binary","blocked_egress","auth_env_error","init_timeout","restore_timeout","protocol_error","missing_file","parse_error","budget_exhausted","mcp_budget_would_exceed","mcp_server_spawn_failed","invalid_config","prompt_deadline_exceeded","writer_idle_timeout","model_stream_interrupted","loop_detected"]},source:{type:"string",minLength:1,maxLength:128}}},errorBlock:{type:"object",additionalProperties:false,required:["id","kind","clientReceivedAt","createdAt","updatedAt","text"],properties:{id:{type:"string",minLength:1,maxLength:200},kind:{const:"error"},clientReceivedAt:{const:0},createdAt:{const:0},updatedAt:{const:0},text:{type:"string",maxLength:409600},code:{type:"string",minLength:1,maxLength:128},errorKind:{enum:["missing_binary","blocked_egress","auth_env_error","init_timeout","restore_timeout","protocol_error","missing_file","parse_error","budget_exhausted","mcp_budget_would_exceed","mcp_server_spawn_failed","invalid_config","prompt_deadline_exceeded","writer_idle_timeout","model_stream_interrupted","loop_detected"]},source:{type:"string",minLength:1,maxLength:128}}},promptCancelledBlock:{type:"object",additionalProperties:false,required:["id","kind","clientReceivedAt","createdAt","updatedAt"],properties:{id:{type:"string",minLength:1,maxLength:200},kind:{const:"prompt_cancelled"},clientReceivedAt:{const:0},createdAt:{const:0},updatedAt:{const:0},reason:{type:"string",maxLength:409600}}},rasterImage:{type:"object",additionalProperties:false,required:["data","mimeType"],properties:{data:{type:"string",maxLength:11184812,pattern:"^[A-Za-z0-9+/]*={0,2}$"},mimeType:{enum:["image/png","image/jpeg","image/gif","image/webp"]}}},usage:{type:"object",additionalProperties:false,required:["inputTokens","outputTokens"],properties:{inputTokens:{type:"integer",minimum:0,maximum:9007199254740991},outputTokens:{type:"integer",minimum:0,maximum:9007199254740991},cachedTokens:{type:"integer",minimum:0,maximum:9007199254740991}}},permissionOption:{type:"object",additionalProperties:false,required:["optionId","label","raw"],properties:{optionId:{type:"string",minLength:1,maxLength:200},label:{type:"string",maxLength:409600},description:{type:"string",maxLength:409600},raw:{const:null}}},questionOption:{type:"object",additionalProperties:false,required:["label","raw"],properties:{label:{type:"string",maxLength:409600},description:{type:"string",maxLength:409600},raw:{const:null}}},question:{type:"object",additionalProperties:false,required:["question","options","raw"],properties:{header:{type:"string",minLength:1,maxLength:200},question:{type:"string",maxLength:409600},options:{type:"array",maxItems:1e3,items:{$ref:"#/$defs/questionOption"}},raw:{const:null}}},todoEntry:{type:"object",additionalProperties:false,required:["id","content","status"],properties:{id:{type:"string",minLength:1,maxLength:128},content:{type:"string",maxLength:409600},status:{enum:["pending","in_progress","completed"]},priority:{enum:["high","medium","low"]},blockedBy:{type:"array",maxItems:1e3,items:{type:"string",minLength:1,maxLength:128}}}},todoPreview:{type:"object",additionalProperties:false,required:["kind","entries"],properties:{kind:{const:"todo_list"},entries:{type:"array",maxItems:1e3,items:{$ref:"#/$defs/todoEntry"}},truncated:{type:"boolean"},planId:{type:"string",minLength:1,maxLength:128},revision:{type:"integer",minimum:0,maximum:9007199254740991}}},toolPreview:{oneOf:[{type:"object",additionalProperties:false,required:["kind","questions"],properties:{kind:{const:"ask_user_question"},questions:{type:"array",maxItems:1e3,items:{$ref:"#/$defs/question"}}}},{type:"object",additionalProperties:false,required:["kind","command"],properties:{kind:{const:"command"},command:{type:"string",maxLength:409600},cwd:{type:"string",maxLength:400}}},{type:"object",additionalProperties:false,required:["kind","path"],properties:{kind:{const:"file_diff"},path:{type:"string",maxLength:400},oldText:{type:"string",maxLength:409600},newText:{type:"string",maxLength:409600},patch:{type:"string",maxLength:409600}}},{type:"object",additionalProperties:false,required:["kind","path"],properties:{kind:{const:"file_read"},path:{type:"string",maxLength:400},range:{type:"array",minItems:2,maxItems:2,items:{type:"integer",minimum:0,maximum:9007199254740991}}}},{type:"object",additionalProperties:false,required:["kind","url"],properties:{kind:{const:"web_fetch"},url:{type:"string",maxLength:409600},method:{type:"string",minLength:1,maxLength:16}}},{type:"object",additionalProperties:false,required:["kind","serverId","toolName"],properties:{kind:{const:"mcp_invocation"},serverId:{type:"string",maxLength:128},toolName:{type:"string",maxLength:128},argsSummary:{type:"string",maxLength:409600}}},{type:"object",additionalProperties:false,required:["kind","code"],properties:{kind:{const:"code_block"},language:{type:"string",minLength:1,maxLength:64},code:{type:"string",maxLength:409600},origin:{type:"string",minLength:1,maxLength:400}}},{type:"object",additionalProperties:false,required:["kind","query"],properties:{kind:{const:"search"},query:{type:"string",maxLength:409600},resultCount:{type:"integer",minimum:0,maximum:9007199254740991},top:{type:"array",maxItems:1e3,items:{type:"string",maxLength:409600}}}},{type:"object",additionalProperties:false,required:["kind","columns","rows"],properties:{kind:{const:"tabular"},columns:{type:"array",maxItems:1e3,items:{type:"string",maxLength:409600}},rows:{type:"array",maxItems:1e3,items:{type:"array",maxItems:1e3,items:{type:"string",maxLength:409600}}},totalRows:{type:"integer",minimum:0,maximum:9007199254740991}}},{type:"object",additionalProperties:false,required:["kind","prompt"],properties:{kind:{const:"image_generation"},prompt:{type:"string",maxLength:409600},thumbnailUrl:{type:"string",maxLength:11184835,pattern:"^data:image/(png|jpeg|gif|webp);base64,[A-Za-z0-9+/]*={0,2}$"},model:{type:"string",minLength:1,maxLength:128}}},{type:"object",additionalProperties:false,required:["kind","agentName","task"],properties:{kind:{const:"subagent_delegation"},agentName:{type:"string",maxLength:128},task:{type:"string",maxLength:409600},parentDelegationId:{type:"string",minLength:1,maxLength:128}}},{type:"object",additionalProperties:false,required:["kind","rows"],properties:{kind:{const:"key_value"},rows:{type:"array",maxItems:1e3,items:{type:"object",additionalProperties:false,required:["label","value"],properties:{label:{type:"string",maxLength:409600},value:{type:"string",maxLength:409600}}}}}},{$ref:"#/$defs/todoPreview"},{type:"object",additionalProperties:false,required:["kind"],properties:{kind:{const:"generic"},summary:{type:"string",maxLength:409600}}}]},toolResultPreview:{oneOf:[{$ref:"#/$defs/todoPreview"},{type:"object",additionalProperties:false,required:["kind","text","answers"],properties:{kind:{const:"question_answers"},text:{type:"string",maxLength:409600},answers:{type:"array",maxItems:1e3,items:{type:"object",additionalProperties:false,required:["question","answer"],properties:{question:{type:"string",maxLength:409600},answer:{type:"string",maxLength:409600}}}}}},{type:"object",additionalProperties:false,required:["kind","text"],properties:{kind:{const:"text"},text:{type:"string",maxLength:409600}}},{type:"object",additionalProperties:false,required:["kind","summary"],properties:{kind:{const:"generic"},summary:{type:"string",minLength:1,maxLength:409600,pattern:"\\S"}}}]},metadata:{type:"object",additionalProperties:false,allOf:[{if:{properties:{complete:{const:true}},required:["complete"]},then:{properties:{truncated:{const:false}}}}],required:["exportedAt","complete","truncated"],properties:{title:{type:"string",minLength:1,maxLength:200},startedAt:{type:"string",format:"date-time",maxLength:32},exportedAt:{type:"string",format:"date-time",maxLength:32},complete:{type:"boolean"},truncated:{type:"boolean"},projectName:{type:"string",minLength:1,maxLength:400},repository:{type:"string",minLength:1,maxLength:200},gitBranch:{type:"string",minLength:1,maxLength:200},model:{type:"string",minLength:1,maxLength:200},channel:{type:"string",minLength:1,maxLength:100},promptCount:{type:"integer",minimum:0,maximum:9007199254740991},contextUsagePercent:{type:"integer",minimum:0,maximum:100},contextWindowSize:{type:"integer",minimum:0,maximum:9007199254740991},totalTokens:{type:"integer",minimum:0,maximum:9007199254740991},filesWritten:{type:"integer",minimum:0,maximum:9007199254740991},linesAdded:{type:"integer",minimum:0,maximum:9007199254740991},linesRemoved:{type:"integer",minimum:0,maximum:9007199254740991}}}}};init_esbuild_shims();function escapeJsonForHtmlScriptData(json){return json.replace(/<\/script/gi,"<\\/script").replace(/&/g,"\\u0026").replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}__name(escapeJsonForHtmlScriptData,"escapeJsonForHtmlScriptData");init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();function mathFromMarkdown(){return{enter:{mathFlow:enterMathFlow,mathFlowFenceMeta:enterMathFlowMeta,mathText:enterMathText},exit:{mathFlow:exitMathFlow,mathFlowFence:exitMathFlowFence,mathFlowFenceMeta:exitMathFlowMeta,mathFlowValue:exitMathData,mathText:exitMathText,mathTextData:exitMathData}};function enterMathFlow(token){const code={type:"element",tagName:"code",properties:{className:["language-math","math-display"]},children:[]};this.enter({type:"math",meta:null,value:"",data:{hName:"pre",hChildren:[code]}},token)}__name(enterMathFlow,"enterMathFlow");function enterMathFlowMeta(){this.buffer()}__name(enterMathFlowMeta,"enterMathFlowMeta");function exitMathFlowMeta(){const data=this.resume();const node=this.stack[this.stack.length-1];ok(node.type==="math");node.meta=data}__name(exitMathFlowMeta,"exitMathFlowMeta");function exitMathFlowFence(){if(this.data.mathFlowInside)return;this.buffer();this.data.mathFlowInside=true}__name(exitMathFlowFence,"exitMathFlowFence");function exitMathFlow(token){const data=this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,"");const node=this.stack[this.stack.length-1];ok(node.type==="math");this.exit(token);node.value=data;const code=node.data.hChildren[0];ok(code.type==="element");ok(code.tagName==="code");code.children.push({type:"text",value:data});this.data.mathFlowInside=void 0}__name(exitMathFlow,"exitMathFlow");function enterMathText(token){this.enter({type:"inlineMath",value:"",data:{hName:"code",hProperties:{className:["language-math","math-inline"]},hChildren:[]}},token);this.buffer()}__name(enterMathText,"enterMathText");function exitMathText(token){const data=this.resume();const node=this.stack[this.stack.length-1];ok(node.type==="inlineMath");this.exit(token);node.value=data;const children=node.data.hChildren;children.push({type:"text",value:data})}__name(exitMathText,"exitMathText");function exitMathData(token){this.config.enter.data.call(this,token);this.config.exit.data.call(this,token)}__name(exitMathData,"exitMathData")}__name(mathFromMarkdown,"mathFromMarkdown");function mathToMarkdown(options){let single=(options||{}).singleDollarTextMath;if(single===null||single===void 0){single=true}inlineMath.peek=inlineMathPeek;return{unsafe:[{character:"\r",inConstruct:"mathFlowMeta"},{character:"\n",inConstruct:"mathFlowMeta"},{character:"$",after:single?void 0:"\\$",inConstruct:"phrasing"},{character:"$",inConstruct:"mathFlowMeta"},{atBreak:true,character:"$",after:"\\$"}],handlers:{math:math2,inlineMath}};function math2(node,_,state,info){const raw=node.value||"";const tracker=state.createTracker(info);const sequence="$".repeat(Math.max(longestStreak(raw,"$")+1,2));const exit=state.enter("mathFlow");let value=tracker.move(sequence);if(node.meta){const subexit=state.enter("mathFlowMeta");value+=tracker.move(state.safe(node.meta,{after:"\n",before:value,encode:["$"],...tracker.current()}));subexit()}value+=tracker.move("\n");if(raw){value+=tracker.move(raw+"\n")}value+=tracker.move(sequence);exit();return value}__name(math2,"math");function inlineMath(node,_,state){let value=node.value||"";let size=1;if(!single)size++;while(new RegExp("(^|[^$])"+"\\$".repeat(size)+"([^$]|$)").test(value)){size++}const sequence="$".repeat(size);if(/[^ \r\n]/.test(value)&&(/^[ \r\n]/.test(value)&&/[ \r\n]$/.test(value)||/^\$|\$$/.test(value))){value=" "+value+" "}let index=-1;while(++index<state.unsafe.length){const pattern=state.unsafe[index];if(!pattern.atBreak)continue;const expression=state.compilePattern(pattern);let match;while(match=expression.exec(value)){let position=match.index;if(value.codePointAt(position)===10&&value.codePointAt(position-1)===13){position--}value=value.slice(0,position)+" "+value.slice(match.index+1)}}return sequence+value+sequence}__name(inlineMath,"inlineMath");function inlineMathPeek(){return"$"}__name(inlineMathPeek,"inlineMathPeek")}__name(mathToMarkdown,"mathToMarkdown");init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();var mathFlow={tokenize:tokenizeMathFenced,concrete:true,name:"mathFlow"};var nonLazyContinuation={tokenize:tokenizeNonLazyContinuation,partial:true};function tokenizeMathFenced(effects,ok2,nok){const self=this;const tail=self.events[self.events.length-1];const initialSize=tail&&tail[1].type==="linePrefix"?tail[2].sliceSerialize(tail[1],true).length:0;let sizeOpen=0;return start;function start(code){effects.enter("mathFlow");effects.enter("mathFlowFence");effects.enter("mathFlowFenceSequence");return sequenceOpen(code)}__name(start,"start");function sequenceOpen(code){if(code===36){effects.consume(code);sizeOpen++;return sequenceOpen}if(sizeOpen<2){return nok(code)}effects.exit("mathFlowFenceSequence");return factorySpace(effects,metaBefore,"whitespace")(code)}__name(sequenceOpen,"sequenceOpen");function metaBefore(code){if(code===null||markdownLineEnding(code)){return metaAfter(code)}effects.enter("mathFlowFenceMeta");effects.enter("chunkString",{contentType:"string"});return meta(code)}__name(metaBefore,"metaBefore");function meta(code){if(code===null||markdownLineEnding(code)){effects.exit("chunkString");effects.exit("mathFlowFenceMeta");return metaAfter(code)}if(code===36){return nok(code)}effects.consume(code);return meta}__name(meta,"meta");function metaAfter(code){effects.exit("mathFlowFence");if(self.interrupt){return ok2(code)}return effects.attempt(nonLazyContinuation,beforeNonLazyContinuation,after)(code)}__name(metaAfter,"metaAfter");function beforeNonLazyContinuation(code){return effects.attempt({tokenize:tokenizeClosingFence,partial:true},after,contentStart)(code)}__name(beforeNonLazyContinuation,"beforeNonLazyContinuation");function contentStart(code){return(initialSize?factorySpace(effects,beforeContentChunk,"linePrefix",initialSize+1):beforeContentChunk)(code)}__name(contentStart,"contentStart");function beforeContentChunk(code){if(code===null){return after(code)}if(markdownLineEnding(code)){return effects.attempt(nonLazyContinuation,beforeNonLazyContinuation,after)(code)}effects.enter("mathFlowValue");return contentChunk(code)}__name(beforeContentChunk,"beforeContentChunk");function contentChunk(code){if(code===null||markdownLineEnding(code)){effects.exit("mathFlowValue");return beforeContentChunk(code)}effects.consume(code);return contentChunk}__name(contentChunk,"contentChunk");function after(code){effects.exit("mathFlow");return ok2(code)}__name(after,"after");function tokenizeClosingFence(effects2,ok3,nok2){let size=0;return factorySpace(effects2,beforeSequenceClose,"linePrefix",self.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function beforeSequenceClose(code){effects2.enter("mathFlowFence");effects2.enter("mathFlowFenceSequence");return sequenceClose(code)}__name(beforeSequenceClose,"beforeSequenceClose");function sequenceClose(code){if(code===36){size++;effects2.consume(code);return sequenceClose}if(size<sizeOpen){return nok2(code)}effects2.exit("mathFlowFenceSequence");return factorySpace(effects2,afterSequenceClose,"whitespace")(code)}__name(sequenceClose,"sequenceClose");function afterSequenceClose(code){if(code===null||markdownLineEnding(code)){effects2.exit("mathFlowFence");return ok3(code)}return nok2(code)}__name(afterSequenceClose,"afterSequenceClose")}__name(tokenizeClosingFence,"tokenizeClosingFence")}__name(tokenizeMathFenced,"tokenizeMathFenced");function tokenizeNonLazyContinuation(effects,ok2,nok){const self=this;return start;function start(code){if(code===null){return ok2(code)}effects.enter("lineEnding");effects.consume(code);effects.exit("lineEnding");return lineStart}__name(start,"start");function lineStart(code){return self.parser.lazy[self.now().line]?nok(code):ok2(code)}__name(lineStart,"lineStart")}__name(tokenizeNonLazyContinuation,"tokenizeNonLazyContinuation");init_esbuild_shims();function mathText(options){const options_=options||{};let single=options_.singleDollarTextMath;if(single===null||single===void 0){single=true}return{tokenize:tokenizeMathText,resolve:resolveMathText,previous,name:"mathText"};function tokenizeMathText(effects,ok2,nok){const self=this;let sizeOpen=0;let size;let token;return start;function start(code){effects.enter("mathText");effects.enter("mathTextSequence");return sequenceOpen(code)}__name(start,"start");function sequenceOpen(code){if(code===36){effects.consume(code);sizeOpen++;return sequenceOpen}if(sizeOpen<2&&!single){return nok(code)}effects.exit("mathTextSequence");return between(code)}__name(sequenceOpen,"sequenceOpen");function between(code){if(code===null){return nok(code)}if(code===36){token=effects.enter("mathTextSequence");size=0;return sequenceClose(code)}if(code===32){effects.enter("space");effects.consume(code);effects.exit("space");return between}if(markdownLineEnding(code)){effects.enter("lineEnding");effects.consume(code);effects.exit("lineEnding");return between}effects.enter("mathTextData");return data(code)}__name(between,"between");function data(code){if(code===null||code===32||code===36||markdownLineEnding(code)){effects.exit("mathTextData");return between(code)}effects.consume(code);return data}__name(data,"data");function sequenceClose(code){if(code===36){effects.consume(code);size++;return sequenceClose}if(size===sizeOpen){effects.exit("mathTextSequence");effects.exit("mathText");return ok2(code)}token.type="mathTextData";return data(code)}__name(sequenceClose,"sequenceClose")}__name(tokenizeMathText,"tokenizeMathText")}__name(mathText,"mathText");function resolveMathText(events){let tailExitIndex=events.length-4;let headEnterIndex=3;let index;let enter;if((events[headEnterIndex][1].type==="lineEnding"||events[headEnterIndex][1].type==="space")&&(events[tailExitIndex][1].type==="lineEnding"||events[tailExitIndex][1].type==="space")){index=headEnterIndex;while(++index<tailExitIndex){if(events[index][1].type==="mathTextData"){events[tailExitIndex][1].type="mathTextPadding";events[headEnterIndex][1].type="mathTextPadding";headEnterIndex+=2;tailExitIndex-=2;break}}}index=headEnterIndex-1;tailExitIndex++;while(++index<=tailExitIndex){if(enter===void 0){if(index!==tailExitIndex&&events[index][1].type!=="lineEnding"){enter=index}}else if(index===tailExitIndex||events[index][1].type==="lineEnding"){events[enter][1].type="mathTextData";if(index!==enter+2){events[enter][1].end=events[index-1][1].end;events.splice(enter+2,index-enter-2);tailExitIndex-=index-enter-2;index=enter+2}enter=void 0}}return events}__name(resolveMathText,"resolveMathText");function previous(code){return code!==36||this.events[this.events.length-1][1].type==="characterEscape"}__name(previous,"previous");function math(options){return{flow:{[36]:mathFlow},text:{[36]:mathText(options)}}}__name(math,"math");var emptyOptions={};function remarkMath(options){const self=this;const settings=options||emptyOptions;const data=self.data();const micromarkExtensions=data.micromarkExtensions||(data.micromarkExtensions=[]);const fromMarkdownExtensions=data.fromMarkdownExtensions||(data.fromMarkdownExtensions=[]);const toMarkdownExtensions=data.toMarkdownExtensions||(data.toMarkdownExtensions=[]);micromarkExtensions.push(math(settings));fromMarkdownExtensions.push(mathFromMarkdown());toMarkdownExtensions.push(mathToMarkdown(settings))}__name(remarkMath,"remarkMath");var MARKDOWN_COMPLEXITY_FALLBACK="[markdown omitted: complexity limit exceeded]";var MAX_MARKDOWN_SOURCE_CHARACTERS=400*1024;var MAX_MARKDOWN_INLINE_DELIMITERS=2048;var MAX_MARKDOWN_BRACKET_DEPTH=512;var MAX_MARKDOWN_BLOCKQUOTE_DEPTH=512;var MAX_MARKDOWN_AST_NODES=2e4;var MAX_MARKDOWN_AST_DEPTH=512;var MAX_MARKDOWN_LEADING_INDENT=2*MAX_MARKDOWN_AST_DEPTH;var markdownParser=unified().use(remarkParse).use(remarkGfm).use(remarkMath);function mayContainNavigableMarkdown(value){return value.includes("]")||value.includes("@")||/www\.|(?:https?|mailto|javascript|data):/i.test(value)||value.includes("<")&&value.includes(">")}__name(mayContainNavigableMarkdown,"mayContainNavigableMarkdown");function mayContainFencedCode(value){return value.includes("```")||value.includes("~~~")}__name(mayContainFencedCode,"mayContainFencedCode");function parseMarkdown(value){if(!isMarkdownSourceWithinBudget(value))return void 0;try{const root=markdownParser.parse(value);return isMarkdownTreeWithinBudget(root)?root:void 0}catch{return void 0}}__name(parseMarkdown,"parseMarkdown");function isMarkdownSourceWithinBudget(value){if(value.length>MAX_MARKDOWN_SOURCE_CHARACTERS)return false;const source=value.replace(/\r\n?/g,"\n");let inlineDelimiters=0;let bracketDepth=0;let fence;let htmlBlockDepth;const blockquoteMarkerPattern=/ {0,3}>[ \t]?/y;for(const line of source.split("\n")){const blockquoteOffsets=[0];let contentOffset=0;let blockquoteDepth=0;while(!fence||blockquoteDepth<fence.blockquoteDepth){blockquoteMarkerPattern.lastIndex=contentOffset;const blockquoteMarker=blockquoteMarkerPattern.exec(line);if(!blockquoteMarker)break;contentOffset=blockquoteMarkerPattern.lastIndex;blockquoteDepth+=1;blockquoteOffsets.push(contentOffset);if(!fence&&blockquoteDepth>MAX_MARKDOWN_BLOCKQUOTE_DEPTH){return false}}const contentLine=line.slice(contentOffset);if(fence&&blockquoteDepth<fence.blockquoteDepth)fence=void 0;const fenceText=(fence?line.slice(blockquoteOffsets[fence.blockquoteDepth]):contentLine).replace(/^ {0,3}/,"");const fenceRun=/^(`+|~+)/.exec(fenceText)?.[1];if(fence){if(fenceRun?.[0]===fence.character&&fenceRun.length>=fence.length&&fenceText.slice(fenceRun.length).trim()===""){fence=void 0}continue}if(htmlBlockDepth!==void 0&&(blockquoteDepth<htmlBlockDepth||line.slice(blockquoteOffsets[htmlBlockDepth]).trim()==="")){htmlBlockDepth=void 0}if(htmlBlockDepth===void 0&&startsConservativeHtmlBlock(contentLine)){htmlBlockDepth=blockquoteDepth}if(htmlBlockDepth===void 0&&fenceRun&&fenceRun.length>=3){const character=fenceRun[0];const info=fenceText.slice(fenceRun.length);if(character!=="`"||!info.includes("`")){fence={character,length:fenceRun.length,blockquoteDepth};continue}}let leadingIndent=0;for(const character of contentLine){if(character===" ")leadingIndent+=1;else if(character===" ")leadingIndent+=4;else break;if(leadingIndent>MAX_MARKDOWN_LEADING_INDENT)return false}let escaped=false;for(const character of contentLine){if(escaped){escaped=false;continue}if(character==="\\"){escaped=true;continue}if(character==="["){bracketDepth+=1;if(bracketDepth>MAX_MARKDOWN_BRACKET_DEPTH)return false}else if(character==="]"){bracketDepth=Math.max(0,bracketDepth-1)}else if(character==="*"||character==="_"||character==="~"||character==="$"){inlineDelimiters+=1;if(inlineDelimiters>MAX_MARKDOWN_INLINE_DELIMITERS){return false}}}}return true}__name(isMarkdownSourceWithinBudget,"isMarkdownSourceWithinBudget");function startsConservativeHtmlBlock(line){return/^ {0,3}<(?:\/?[A-Za-z][A-Za-z0-9-]*(?:\s|\/?>|$)|!--|\?|!\[CDATA\[|![A-Z])/.test(line)}__name(startsConservativeHtmlBlock,"startsConservativeHtmlBlock");function walkMarkdown(node,visit){const stack=[node];while(stack.length>0){const current=stack.pop();if(!current||visit(current)===false)continue;const children=current.children??[];for(let index=children.length-1;index>=0;index-=1){stack.push(children[index])}}}__name(walkMarkdown,"walkMarkdown");function isMarkdownTreeWithinBudget(root){const stack=[{node:root,depth:0}];let nodes=0;while(stack.length>0){const current=stack.pop();if(!current)continue;nodes+=1;if(nodes>MAX_MARKDOWN_AST_NODES||current.depth>MAX_MARKDOWN_AST_DEPTH){return false}for(const child of current.node.children??[]){stack.push({node:child,depth:current.depth+1})}}return true}__name(isMarkdownTreeWithinBudget,"isMarkdownTreeWithinBudget");function rangeOf(node){const start=node.position?.start.offset;const end=node.position?.end.offset;return typeof start==="number"&&typeof end==="number"?{start,end}:void 0}__name(rangeOf,"rangeOf");function applyReplacements(value,replacements){let result=value;let previousStart=Number.POSITIVE_INFINITY;for(const replacement of replacements.sort((left,right)=>right.start-left.start)){if(replacement.end>previousStart)continue;result=result.slice(0,replacement.start)+replacement.value+result.slice(replacement.end);previousStart=replacement.start}return result}__name(applyReplacements,"applyReplacements");function normalizedIdentifier(node){return node.identifier?.trim().toLowerCase()}__name(normalizedIdentifier,"normalizedIdentifier");function markdownText(node){if(node.type==="text"||node.type==="inlineCode"){return node.value??""}if(node.type==="image")return node.alt??"";return(node.children??[]).map(markdownText).join("")}__name(markdownText,"markdownText");function escapeLabel(value){return value.replace(/([\\[\]])/g,"\\$1")}__name(escapeLabel,"escapeLabel");function safeLinkReplacement(original,node,safe){if(!safe){return original.trimStart().startsWith("[")?escapeLabel(markdownText(node)):"[link omitted]"}if(!original.trimStart().startsWith("["))return safe;return`[${escapeLabel(markdownText(node))}](${markdownDestination(safe)})`}__name(safeLinkReplacement,"safeLinkReplacement");function markdownDestination(value){return`<${value.replaceAll("<","%3C").replaceAll(">","%3E")}>`}__name(markdownDestination,"markdownDestination");function sanitizeMarkdownDocument(value,policy){if(!mayContainNavigableMarkdown(value))return value;const root=parseMarkdown(value);if(!root){policy.onComplexityLimit?.();return MARKDOWN_COMPLEXITY_FALLBACK}const definitions=new Map;const imageDefinitionIds=new Set;const linkDefinitionIds=new Set;walkMarkdown(root,node=>{if(node.type==="definition"){const identifier=normalizedIdentifier(node);if(identifier&&!definitions.has(identifier)){definitions.set(identifier,node)}}else if(node.type==="imageReference"){const identifier=normalizedIdentifier(node);if(identifier)imageDefinitionIds.add(identifier)}else if(node.type==="linkReference"){const identifier=normalizedIdentifier(node);if(identifier)linkDefinitionIds.add(identifier)}});const replacements=[];walkMarkdown(root,node=>{const range=rangeOf(node);if(!range)return;if(node.type==="code"||node.type==="inlineCode")return false;if(node.type==="image"){replacements.push({...range,value:policy.replaceImage(node.alt??"",node.url)});return false}if(node.type==="imageReference"){const definition=definitions.get(normalizedIdentifier(node)??"");replacements.push({...range,value:policy.replaceImage(node.alt??"",definition?.url)});return false}if(node.type==="html"&&/<img\b/i.test(node.value??"")){replacements.push({...range,value:policy.replaceImage("",void 0)});return false}if(node.type==="definition"){const identifier=normalizedIdentifier(node);if(identifier&&imageDefinitionIds.has(identifier)&&!linkDefinitionIds.has(identifier)){replacements.push({...range,value:""});return false}const source=node.url??"";const safe=policy.normalizeUrl(source);if(safe===source)return false;policy.onUrlChange(safe?"url_sanitized":"url_rejected");replacements.push({...range,value:safe&&identifier?`[${escapeLabel(identifier)}]: ${markdownDestination(safe)}`:""});return false}if(node.type==="link"){const source=node.url??"";const safe=policy.normalizeUrl(source);if(safe===source)return;policy.onUrlChange(safe?"url_sanitized":"url_rejected");replacements.push({...range,value:safeLinkReplacement(value.slice(range.start,range.end),node,safe)});return false}return void 0});return applyReplacements(value,replacements)}__name(sanitizeMarkdownDocument,"sanitizeMarkdownDocument");function richLanguage(node){if(node.type!=="code"||!node.lang)return void 0;const language=node.lang.trim().toLowerCase();return["text","plain","plaintext"].includes(language)?void 0:language}__name(richLanguage,"richLanguage");function demoteFence(value,node,language){const range=rangeOf(node);if(!range)return void 0;const relativeLineEnd=value.slice(range.start,range.end).search(/[\r\n]/);const end=relativeLineEnd===-1?range.end:range.start+relativeLineEnd;const opening=value.slice(range.start,end);const match=/^(`{3,}|~{3,})[ \t]*(\S+)(.*)$/.exec(opening);if(!match)return void 0;return{start:range.start,end,value:`${match[1]}text${match[3]} [source fallback: ${language.slice(0,32)}]`}}__name(demoteFence,"demoteFence");function transformRichMarkdownTasks(value,keepTask,onComplexityLimit){if(!mayContainFencedCode(value))return value;const replacements=[];const root=parseMarkdown(value);if(!root){onComplexityLimit?.();return MARKDOWN_COMPLEXITY_FALLBACK}walkMarkdown(root,node=>{const language=richLanguage(node);if(!language||keepTask(language))return;const replacement=demoteFence(value,node,language);if(replacement)replacements.push(replacement)});return applyReplacements(value,replacements)}__name(transformRichMarkdownTasks,"transformRichMarkdownTasks");function countRichMarkdownTasks(value){if(!mayContainFencedCode(value))return 0;let count=0;const root=parseMarkdown(value);if(!root)return 0;walkMarkdown(root,node=>{if(richLanguage(node))count+=1});return count}__name(countRichMarkdownTasks,"countRichMarkdownTasks");var EXPORT_TRANSCRIPT_LIMITS_V1=Object.freeze({maxBlocks:1e3,maxTextBytes:400*1024,maxVisibleTextBytes:8*1024*1024,maxRasterBytes:8*1024*1024,maxTotalRasterBytes:16*1024*1024,maxEnvelopeBytes:32*1024*1024,maxObjectDepth:16,maxObjectProperties:1e3,maxArrayLength:1e3,maxRichRenderTasks:100});var ExportTranscriptDocumentError=class extends Error{constructor(code){super(`Cannot create export transcript document: ${code}.`);this.code=code;this.name="ExportTranscriptDocumentError"}static{__name(this,"ExportTranscriptDocumentError")}};function createExportTranscriptDocumentV1(records,sessionData,options){if(!isSafeRendererVersion(options.rendererVersion)){throw new ExportTranscriptDocumentError("invalid_renderer_version")}if(!isIsoDate(options.exportedAt)){throw new ExportTranscriptDocumentError("invalid_exported_at")}const diagnostics=new DiagnosticCounter;const policy=applyRecordExportPolicy(records,diagnostics);const projection=projectChatRecordsToDaemonTranscript(policy.records,{maxBlocks:EXPORT_TRANSCRIPT_LIMITS_V1.maxBlocks});for(const item of projection.diagnostics){diagnostics.add(item.code,item.severity,1,item.affectsCompleteness)}const budget=new ExportBudget(diagnostics);const ids=new OpaqueDocumentIds;const visibleBlocks=projection.blocks.filter(block=>{const sourceRecordIds=block.sourceRecordIds??[];return sourceRecordIds.length===0||sourceRecordIds.some(recordId=>policy.visibleRecordIds.has(recordId))});const blocks=[];for(const block of visibleBlocks){const checkpoint=budget.checkpoint();const safe=sanitizeBlock(block,budget,ids,diagnostics);if(budget.cumulativeTextBudgetExceeded){budget.restore(checkpoint);break}if(safe)blocks.push(safe)}const initialTruncated=projection.truncated||budget.truncated;const metadataPresentation=createMetadataPresentation(sessionData,options,diagnostics,budget);const truncated=initialTruncated||budget.truncated;const degraded=!policy.complete||!projection.complete||budget.truncated||diagnostics.hasErrors||diagnostics.hasCompletenessLoss;const metadata={...metadataPresentation,complete:!degraded,truncated};let document={schemaVersion:1,rendererVersion:options.rendererVersion,blocks,diagnostics:diagnostics.toArray(),metadata};document=fitDocumentToEnvelope(document,diagnostics);assertExportTranscriptDocumentV1(document);return document}__name(createExportTranscriptDocumentV1,"createExportTranscriptDocumentV1");function fitDocumentToEnvelope(document,diagnostics){if(serializedEnvelopeBytes(document)<=EXPORT_TRANSCRIPT_LIMITS_V1.maxEnvelopeBytes){return document}diagnostics.add("envelope_budget_exceeded","warning",1,true);const buildCandidate=__name(blockCount=>({...document,blocks:document.blocks.slice(0,blockCount),diagnostics:diagnostics.toArray(),metadata:{...document.metadata,complete:false,truncated:true}}),"buildCandidate");let low=0;let high=document.blocks.length;while(low<high){const middle=Math.ceil((low+high)/2);if(serializedEnvelopeBytes(buildCandidate(middle))<=EXPORT_TRANSCRIPT_LIMITS_V1.maxEnvelopeBytes){low=middle}else{high=middle-1}}const fitted=buildCandidate(low);if(serializedEnvelopeBytes(fitted)>EXPORT_TRANSCRIPT_LIMITS_V1.maxEnvelopeBytes){throw new ExportTranscriptDocumentError("envelope_budget_exceeded")}return fitted}__name(fitDocumentToEnvelope,"fitDocumentToEnvelope");function assertExportTranscriptDocumentV1(value){assertDepthAndArrayBudgets(value);const bytes=serializedEnvelopeBytes(value);if(bytes>EXPORT_TRANSCRIPT_LIMITS_V1.maxEnvelopeBytes){throw new ExportTranscriptDocumentError("envelope_budget_exceeded")}const schemaError=SchemaValidator.validateStrict(export_transcript_document_v1_schema_default,value);if(schemaError){throw new ExportTranscriptDocumentError("schema_validation_failed")}if(!isRecord(value)){throw new ExportTranscriptDocumentError("schema_validation_failed")}assertSemanticSafety(value);assertDocumentConsistency(value);assertNoForbiddenFields(value);assertResourceBudgets(value)}__name(assertExportTranscriptDocumentV1,"assertExportTranscriptDocumentV1");function applyRecordExportPolicy(records,diagnostics){const projectionRecords=[];const visibleRecordIds=new Set;let complete=true;for(const record of records){if(!isRecord(record)){diagnostics.add("record_invalid","error");complete=false;continue}const type=record["type"];const subtype=record["subtype"];const acceptedSystemSubtype=type==="system"&&typeof subtype==="string"&&VISIBLE_SYSTEM_RECORD_SUBTYPES.has(subtype);const internalCodeModeToolResult=isInternalCodeModeToolResult(record);const visible=type==="user"||type==="assistant"||type==="tool_result"&&!internalCodeModeToolResult||acceptedSystemSubtype;if(visible||type==="system"||internalCodeModeToolResult){projectionRecords.push(record);const uuid=record["uuid"];if((visible||internalCodeModeToolResult)&&typeof uuid==="string"){visibleRecordIds.add(uuid)}if(type==="system"&&!acceptedSystemSubtype){diagnostics.add("record_internal_excluded","info")}continue}diagnostics.add("record_unknown_excluded","error");complete=false}return{records:projectionRecords,visibleRecordIds,complete}}__name(applyRecordExportPolicy,"applyRecordExportPolicy");var VISIBLE_SYSTEM_RECORD_SUBTYPES=new Set(["slash_command","notification","cron","mid_turn_user_message","realtime_message","goal_state","goal_runtime","agent_mention","agent_message"]);function sanitizeBlock(block,budget,ids,diagnostics){const common={id:ids.get("block",block.id),kind:block.kind,clientReceivedAt:0,createdAt:0,updatedAt:0};switch(block.kind){case"user":case"assistant":case"thought":{const text=budget.text(block.text);const images=block.images?budget.array(block.images).flatMap(image=>{const safe=budget.image(image);return safe?[safe]:[]}):void 0;if(block.files&&block.files.length>0){diagnostics.add("file_attachment_excluded","warning",block.files.length,true);budget.markContentLoss()}const authorName=block.kind==="thought"||block.parentToolCallId?void 0:parseQwenAgentMessageMeta(block.meta?.[QWEN_AGENT_MESSAGE_META_KEY])?.author?.name.trim();return{...common,kind:block.kind,text,streaming:false,...authorName?{author:{name:budget.label(authorName,128)}}:{},...block.collapsed?{collapsed:true}:{},...block.parentToolCallId?{parentToolCallId:ids.get("tool-call",block.parentToolCallId)}:{},...images&&images.length>0?{images}:{},...block.kind==="assistant"&&block.usage?{usage:{inputTokens:safeCount(block.usage.inputTokens),outputTokens:safeCount(block.usage.outputTokens),...block.usage.cachedTokens!==void 0?{cachedTokens:safeCount(block.usage.cachedTokens)}:{}}}:{}}}case"tool":{const status=terminalToolStatus(block.status,diagnostics,budget);const toolName=budget.optionalLabel(block.toolName,128);const toolKind=budget.optionalLabel(block.toolKind,128);const subagentType=budget.optionalLabel(block.subagentType,128);let resultPreview=block.resultPreview?sanitizeResultPreview(block.resultPreview,budget,diagnostics,ids):void 0;if(!resultPreview&&block.preview.kind==="file_diff"&&status==="completed"){resultPreview={kind:"text",text:budget.plainText("File change applied")}}if(!resultPreview&&(status==="completed"||status==="failed")){diagnostics.add("tool_result_presentation_missing","error");budget.markContentLoss();resultPreview={kind:"text",text:budget.plainText("[tool result omitted from export]")}}return{...common,kind:"tool",toolCallId:ids.get("tool-call",block.toolCallId),title:budget.plainText(block.title),status,...block.background?{background:true}:{},preview:sanitizeToolPreview(block.preview,budget,diagnostics,ids),...resultPreview?{resultPreview}:{},...toolName?{toolName}:{},...toolKind?{toolKind}:{},...block.parentToolCallId?{parentToolCallId:ids.get("tool-call",block.parentToolCallId)}:{},...block.parentBlockId?{parentBlockId:ids.get("block",block.parentBlockId)}:{},...subagentType?{subagentType}:{}}}case"shell":return{...common,kind:"shell",text:budget.plainText(block.text),...block.stream?{stream:block.stream}:{}};case"user_shell":return{...common,kind:"user_shell",text:budget.plainText(block.text),command:budget.plainText(sanitizeEmbeddedUrls(block.command,diagnostics,()=>budget.markContentLoss())),...block.cwd?{cwd:budget.label(safePath(block.cwd),400,false)}:{},...block.stream?{stream:block.stream}:{}};case"permission":{const toolName=budget.optionalLabel(block.toolName,128);const toolKind=budget.optionalLabel(block.toolKind,128);const resolution=block.resolved?classifyPermissionResolutionForExport(block.resolved,block.options):void 0;if(resolution?.lossy){diagnostics.add("permission_resolution_sanitized","warning",1,true);budget.markContentLoss()}return{...common,kind:"permission",requestId:ids.get("permission",block.requestId),title:budget.plainText(block.title),options:budget.array(block.options).map(option=>({optionId:ids.get("permission-option",option.optionId),label:budget.plainText(option.label),...option.description?{description:budget.plainText(option.description)}:{},raw:null})),preview:sanitizeToolPreview(block.preview,budget,diagnostics,ids),...block.toolCallId?{toolCallId:ids.get("tool-call",block.toolCallId)}:{},...toolName?{toolName}:{},...toolKind?{toolKind}:{},...resolution?{resolved:resolution.value}:{}}}case"status":case"error":{const code=budget.optionalLabel(block.code,128);const errorKind=safeExportErrorKind(block.errorKind);const source=budget.optionalLabel(block.source,128);return{...common,kind:block.kind,text:budget.text(block.text),...code?{code}:{},...errorKind?{errorKind}:{},...source?{source}:{}}}case"prompt_cancelled":return{...common,kind:"prompt_cancelled",...block.reason?{reason:budget.plainText(block.reason)}:{}};case"debug":diagnostics.add("debug_block_excluded","info");return void 0;default:return assertNever3(block)}}__name(sanitizeBlock,"sanitizeBlock");function sanitizeToolPreview(preview,budget,diagnostics,ids){switch(preview.kind){case"ask_user_question":return{kind:preview.kind,questions:budget.array(preview.questions).map(question=>{const header=budget.optionalLabel(question.header,200);return{...header?{header}:{},question:budget.plainText(question.question),options:budget.array(question.options).map(option=>({label:budget.plainText(option.label),...option.description?{description:budget.plainText(option.description)}:{},raw:null})),raw:null}})};case"command":return{kind:preview.kind,command:budget.plainText(sanitizeEmbeddedUrls(preview.command,diagnostics,()=>budget.markContentLoss())),...preview.cwd?{cwd:budget.label(safePath(preview.cwd),400,false)}:{}};case"file_diff":return{kind:preview.kind,path:budget.label(safePath(preview.path),400,false),...preview.oldText!==void 0?{oldText:budget.plainText(preview.oldText)}:{},...preview.newText!==void 0?{newText:budget.plainText(preview.newText)}:{},...preview.patch!==void 0?{patch:budget.plainText(preview.patch)}:{}};case"file_read":{const range=preview.range?[safeCount(preview.range[0]),safeCount(preview.range[1])]:void 0;return{kind:preview.kind,path:budget.label(safePath(preview.path),400,false),...range?{range}:{}}}case"web_fetch":{const method=budget.optionalLabel(preview.method,16);return{kind:preview.kind,url:budget.plainText(safeDisplayUrl(preview.url,diagnostics,()=>budget.markContentLoss())),...method?{method}:{}}}case"mcp_invocation":return{kind:preview.kind,serverId:budget.label(preview.serverId,128),toolName:budget.label(preview.toolName,128),...preview.argsSummary?{argsSummary:budget.plainText(preview.argsSummary)}:{}};case"code_block":{const language=budget.optionalLabel(preview.language,64);const origin=preview.origin?budget.optionalLabel(safePath(preview.origin),400,false):void 0;return{kind:preview.kind,code:budget.plainText(preview.code),...language?{language}:{},...origin?{origin}:{}}}case"search":return{kind:preview.kind,query:budget.plainText(preview.query),...preview.resultCount!==void 0?{resultCount:safeCount(preview.resultCount)}:{},...preview.top?{top:budget.array(preview.top).map(item=>budget.plainText(item))}:{}};case"tabular":return{kind:preview.kind,columns:budget.array(preview.columns).map(item=>budget.plainText(item)),rows:budget.array(preview.rows).map(row=>budget.array(row).map(item=>budget.plainText(item))),...preview.totalRows!==void 0?{totalRows:safeCount(preview.totalRows)}:{}};case"image_generation":{const model=budget.optionalLabel(preview.model,128);const thumbnailUrl=preview.thumbnailUrl!==void 0?budget.dataImageUrl(preview.thumbnailUrl):void 0;return{kind:preview.kind,prompt:budget.plainText(preview.prompt),...thumbnailUrl?{thumbnailUrl}:{},...model?{model}:{}}}case"subagent_delegation":return{kind:preview.kind,agentName:budget.label(preview.agentName,128),task:budget.plainText(preview.task),...preview.parentDelegationId?{parentDelegationId:ids.get("tool-call",preview.parentDelegationId)}:{}};case"key_value":return{kind:preview.kind,rows:budget.array(preview.rows).map(row=>({label:budget.plainText(row.label),value:budget.plainText(row.value)}))};case"todo_list":return sanitizeTodoPreview(preview,budget,ids);case"generic":return{kind:preview.kind,...preview.summary?{summary:budget.plainText(preview.summary)}:{}};default:return assertNever3(preview)}}__name(sanitizeToolPreview,"sanitizeToolPreview");function sanitizeResultPreview(preview,budget,_diagnostics,ids){if(preview.kind==="todo_list"){return sanitizeTodoPreview(preview,budget,ids)}if(preview.kind==="shell_result"){return{kind:"text",text:budget.text(preview.result.text)}}if(preview.kind==="text"){return{kind:"text",text:budget.text(preview.text)}}if(preview.kind==="question_answers"){return{kind:"question_answers",text:budget.plainText(preview.text),answers:budget.array(preview.answers).map(({question,answer})=>({question:budget.plainText(question),answer:budget.plainText(answer)}))}}if(!preview.summary?.trim())return void 0;const summary=budget.text(preview.summary);return summary.trim()?{kind:"generic",summary}:{kind:"text",text:summary}}__name(sanitizeResultPreview,"sanitizeResultPreview");function sanitizeTodoPreview(preview,budget,ids){if(preview.truncated)budget.markTruncated("todo_preview_truncated");return{kind:"todo_list",entries:budget.array(preview.entries).map(entry=>({id:ids.get("todo",entry.id),content:budget.plainText(entry.content),status:entry.status,...entry.priority?{priority:entry.priority}:{},...entry.blockedBy?{blockedBy:budget.array(entry.blockedBy).map(item=>ids.get("todo",item))}:{}})),...preview.truncated?{truncated:true}:{},...preview.planId?{planId:ids.get("plan",preview.planId)}:{},...preview.revision!==void 0?{revision:safeCount(preview.revision)}:{}}}__name(sanitizeTodoPreview,"sanitizeTodoPreview");function terminalToolStatus(status,diagnostics,budget){if(status==="completed"||status==="failed"||status==="cancelled"||status==="canceled"){return status}diagnostics.add("tool_status_frozen","warning",1,true);budget.markContentLoss();return"cancelled"}__name(terminalToolStatus,"terminalToolStatus");function createMetadataPresentation(sessionData,options,diagnostics,budget){const metadata=sessionData.metadata;const title=safeMetadataLabel(options.title,200,"title",diagnostics,budget);const gitBranch=safeMetadataLabel(metadata?.gitBranch,200,"git_branch",diagnostics,budget);const model=safeMetadataLabel(metadata?.model,200,"model",diagnostics,budget);const channel=safeMetadataLabel(metadata?.channel,100,"channel",diagnostics,budget);const projectName=metadata?.cwd?safeMetadataLabel(safePath(metadata.cwd),400,"project_name",diagnostics,budget,false):void 0;const repository=metadata?.gitRepo?safeRepository(metadata.gitRepo,diagnostics,budget):void 0;return{...title?{title}:{},...isIsoDate(sessionData.startTime)?{startedAt:sessionData.startTime}:{},exportedAt:options.exportedAt,...projectName?{projectName}:{},...repository?{repository}:{},...gitBranch?{gitBranch}:{},...model?{model}:{},...channel?{channel}:{},...metadata?{promptCount:safeCount(metadata.promptCount)}:{},...metadata?.contextUsagePercent!==void 0?{contextUsagePercent:Math.min(100,safeCount(metadata.contextUsagePercent))}:{},...metadata?.contextWindowSize!==void 0?{contextWindowSize:safeCount(metadata.contextWindowSize)}:{},...metadata?.totalTokens!==void 0?{totalTokens:safeCount(metadata.totalTokens)}:{},...metadata?.filesWritten!==void 0?{filesWritten:safeCount(metadata.filesWritten)}:{},...metadata?.linesAdded!==void 0?{linesAdded:safeCount(metadata.linesAdded)}:{},...metadata?.linesRemoved!==void 0?{linesRemoved:safeCount(metadata.linesRemoved)}:{}}}__name(createMetadataPresentation,"createMetadataPresentation");var REQUIRED_TEXT_FALLBACK_RESERVE_BYTES=64*1024;var ExportBudget=class{constructor(diagnostics){this.diagnostics=diagnostics}static{__name(this,"ExportBudget")}visibleTextBytes=0;totalRasterBytes=0;richRenderTasks=0;truncated=false;cumulativeTextBudgetExceeded=false;checkpoint(){return{visibleTextBytes:this.visibleTextBytes,totalRasterBytes:this.totalRasterBytes,richRenderTasks:this.richRenderTasks}}restore(checkpoint){this.visibleTextBytes=checkpoint.visibleTextBytes;this.totalRasterBytes=checkpoint.totalRasterBytes;this.richRenderTasks=checkpoint.richRenderTasks}array(value){if(value.length>EXPORT_TRANSCRIPT_LIMITS_V1.maxArrayLength){this.truncated=true;this.diagnostics.add("array_budget_exceeded","warning")}return value.slice(0,EXPORT_TRANSCRIPT_LIMITS_V1.maxArrayLength)}markTruncated(code){this.truncated=true;this.diagnostics.add(code,"warning")}markContentLoss(){this.truncated=true}homeSafeText(value){const redaction=redactHomePaths(value);for(const code of redaction.omissions)this.markTruncated(code);const redacted=redaction.text;if(!containsUnredactedHomePath(redacted,true))return redacted;this.markTruncated("home_path_omitted");return"[home path omitted]"}label(value,maxLength,redact=true){const initiallySafe=safeLabel(value,maxLength);const redacted=redact?this.homeSafeText(initiallySafe):initiallySafe;const safe=safeLabel(redacted,maxLength);if(initiallySafe!==value||safe!==redacted){this.markTruncated("label_sanitized")}return this.applyTextBudgetWithFallback(safe,safeLabel("[content omitted]",maxLength))}optionalLabel(value,maxLength,redact=true){if(value===void 0||value==="")return void 0;return this.label(value,maxLength,redact)}plainText(value){return this.applyTextBudget(this.homeSafeText(value))}text(value){value=this.homeSafeText(value);const onComplexityLimit=__name(()=>{this.truncated=true;this.diagnostics.add("markdown_complexity_exceeded","warning",1,true)},"onComplexityLimit");const replaceImage=__name((alt,source)=>{const safeAlt=safeLabel(alt,200).replace(/([\\[\]])/g,"\\$1");const parsed=source?parseApprovedImageDataUrl(source):void 0;if(parsed&&this.image(parsed)){return`![${safeAlt}](${formatApprovedImageDataUrl(parsed)})`}this.truncated=true;this.diagnostics.add("markdown_image_rejected","warning");return`[image omitted${safeAlt?`: ${safeAlt}`:""}]`},"replaceImage");const resourceSafeValue=sanitizeMarkdownDocument(value,{normalizeUrl:normalizeNavigableUrl,replaceImage,onUrlChange:__name(code=>{this.truncated=true;this.diagnostics.add(code,"warning",1,true)},"onUrlChange"),onComplexityLimit});const richTaskSafeValue=transformRichMarkdownTasks(resourceSafeValue,()=>{this.richRenderTasks+=1;if(this.richRenderTasks<=EXPORT_TRANSCRIPT_LIMITS_V1.maxRichRenderTasks){return true}this.diagnostics.add("rich_render_budget_exceeded","warning");return false},onComplexityLimit);return this.applyTextBudget(richTaskSafeValue)}applyTextBudget(value){return this.applyTextBudgetWithFallback(value,"[content omitted: export text budget exceeded]")}applyTextBudgetWithFallback(value,fallback){const bytes=utf8Bytes(value);const normalTextLimit=EXPORT_TRANSCRIPT_LIMITS_V1.maxVisibleTextBytes-REQUIRED_TEXT_FALLBACK_RESERVE_BYTES;const perItemExceeded=bytes>EXPORT_TRANSCRIPT_LIMITS_V1.maxTextBytes;const cumulativeExceeded=this.visibleTextBytes+bytes>normalTextLimit;if(perItemExceeded||cumulativeExceeded){this.truncated=true;if(cumulativeExceeded)this.cumulativeTextBudgetExceeded=true;this.diagnostics.add("text_budget_exceeded","warning");const fallbackBytes=utf8Bytes(fallback);if(this.visibleTextBytes+fallbackBytes<=EXPORT_TRANSCRIPT_LIMITS_V1.maxVisibleTextBytes){this.visibleTextBytes+=fallbackBytes;return fallback}return""}this.visibleTextBytes+=bytes;return value}image(image){if(!SAFE_RASTER_MIME_TYPES.has(image.mimeType)){this.truncated=true;this.diagnostics.add("image_type_rejected","warning");return void 0}const bytes=decodedBase64Bytes(image.data);if(bytes===void 0||bytes>EXPORT_TRANSCRIPT_LIMITS_V1.maxRasterBytes||this.totalRasterBytes+bytes>EXPORT_TRANSCRIPT_LIMITS_V1.maxTotalRasterBytes||!hasRasterSignature(image.data,image.mimeType)){this.truncated=true;this.diagnostics.add("image_budget_or_animation_rejected","warning");return void 0}this.totalRasterBytes+=bytes;return{data:image.data,mimeType:image.mimeType}}dataImageUrl(value){const image=parseApprovedImageDataUrl(value);if(!image){this.truncated=true;this.diagnostics.add("image_type_rejected","warning");return void 0}return this.image(image)?formatApprovedImageDataUrl(image):void 0}};var SAFE_RASTER_MIME_TYPES=new Set(["image/png","image/jpeg","image/gif","image/webp"]);function parseApprovedImageDataUrl(value){const match=/^data:(image\/(?:png|jpeg|gif|webp));base64,([A-Za-z0-9+/]*={0,2})$/i.exec(value);if(!match?.[1]||match[2]===void 0)return void 0;return{mimeType:match[1].toLowerCase(),data:match[2]}}__name(parseApprovedImageDataUrl,"parseApprovedImageDataUrl");function formatApprovedImageDataUrl(image){return`data:${image.mimeType};base64,${image.data}`}__name(formatApprovedImageDataUrl,"formatApprovedImageDataUrl");var DiagnosticCounter=class{static{__name(this,"DiagnosticCounter")}entries=new Map;completenessLost=false;add(code,severity,count=1,affectsCompleteness=false){if(affectsCompleteness)this.completenessLost=true;const current=this.entries.get(code);if(current){current.count+=Math.max(1,count);if(severityRank(severity)>severityRank(current.severity)){current.severity=severity}return}this.entries.set(code,{severity,count:Math.max(1,count)})}get hasErrors(){return[...this.entries.values()].some(item=>item.severity==="error")}get hasCompletenessLoss(){return this.completenessLost}toArray(){return[...this.entries.entries()].sort(([a],[b])=>a.localeCompare(b)).map(([code,item])=>({code,...item}))}};var OpaqueDocumentIds=class{static{__name(this,"OpaqueDocumentIds")}ids=new Map;nextOrdinal=0;get(kind,nativeId){const key=`${kind}\0${nativeId}`;let id=this.ids.get(key);if(!id){id=`${kind}-${this.nextOrdinal}`;this.nextOrdinal+=1;this.ids.set(key,id)}return id}};var APPROVED_PERMISSION_TOKENS=new Set(["accept","accepted","allow","allow_always","allow_once","allowed","approve","approved","confirm","confirmed","proceed","proceed_always_project","proceed_always_user","proceed_once","proceed_once_and_switch_to_default","succeeded","success"]);var REJECTED_PERMISSION_TOKENS=new Set(["deny","denied","reject","reject_always","reject_once","rejected"]);var CANCELLED_PERMISSION_TOKENS=new Set(["cancel","canceled","cancelled"]);var EXPIRED_PERMISSION_TOKENS=new Set(["expired","session_closed","timed_out","timeout"]);function classifyPermissionResolutionForExport(resolved,options){const separator=resolved.indexOf(":");const primary=(separator===-1?resolved:resolved.slice(0,separator)).trim().toLowerCase();let token=primary;if(primary==="selected"&&separator!==-1){const optionId=resolved.slice(separator+1).trim();const option=options.find(candidate=>candidate.optionId===optionId);if(!option)return{value:"resolved",lossy:true};const raw=isRecord(option.raw)?option.raw:void 0;token=(typeof raw?.["kind"]==="string"?raw["kind"].trim().toLowerCase():"")||option.optionId.trim().toLowerCase()}if(APPROVED_PERMISSION_TOKENS.has(token)){return{value:"approved",lossy:false}}if(REJECTED_PERMISSION_TOKENS.has(token)){return{value:"rejected",lossy:false}}if(CANCELLED_PERMISSION_TOKENS.has(token)){return{value:"cancelled",lossy:false}}if(EXPIRED_PERMISSION_TOKENS.has(token)){return{value:"expired",lossy:false}}if(token==="resolved")return{value:"resolved",lossy:false};return{value:"resolved",lossy:true}}__name(classifyPermissionResolutionForExport,"classifyPermissionResolutionForExport");var SAFE_EXPORT_ERROR_KINDS=new Set(DAEMON_ERROR_KINDS);function safeExportErrorKind(value){return value&&SAFE_EXPORT_ERROR_KINDS.has(value)?value:void 0}__name(safeExportErrorKind,"safeExportErrorKind");var SAFE_IDENTIFIER_LENGTHS=new Map([["id",200],["toolCallId",200],["requestId",200],["optionId",200],["parentToolCallId",200],["parentBlockId",200],["subagentType",200],["source",128],["planId",128],["parentDelegationId",128],["method",16],["language",64]]);var SAFE_PRESENTATION_IDENTIFIER_LENGTHS=new Map([["toolName",200],["toolKind",200],["serverId",128],["agentName",128],["header",200],["model",200]]);function assertSemanticSafety(value){const metadata=value["metadata"];const diagnostics=value["diagnostics"];if(diagnostics.some(diagnostic=>!isSafeLabel(diagnostic.code,128))){throw new ExportTranscriptDocumentError("invalid_diagnostic")}for(const[key,maxLength]of[["title",200],["gitBranch",200],["model",200],["channel",100]]){const field=metadata[key];if(field!==void 0&&!isSafeLabel(field,maxLength)){throw new ExportTranscriptDocumentError("invalid_metadata")}}if(!isIsoDate(metadata.exportedAt)){throw new ExportTranscriptDocumentError("invalid_metadata")}if(metadata.startedAt!==void 0&&!isIsoDate(metadata.startedAt)){throw new ExportTranscriptDocumentError("invalid_metadata")}if(metadata.projectName!==void 0&&!isSafeExportPath(metadata.projectName)){throw new ExportTranscriptDocumentError("invalid_metadata")}if(metadata.repository!==void 0&&!isSafeRepository(metadata.repository)){throw new ExportTranscriptDocumentError("invalid_metadata")}const visit=__name((entry,key)=>{if(typeof entry==="string"){const maxLength=key?SAFE_IDENTIFIER_LENGTHS.get(key):void 0;if(maxLength!==void 0&&!isSafeLabel(entry,maxLength)){throw new ExportTranscriptDocumentError("invalid_block")}const presentationMaxLength=key?SAFE_PRESENTATION_IDENTIFIER_LENGTHS.get(key):void 0;if(presentationMaxLength!==void 0&&!isSafePresentationLabel(entry,presentationMaxLength)){throw new ExportTranscriptDocumentError("invalid_block")}if(key!==void 0&&["path","cwd","origin"].includes(key)&&!isSafeExportPath(entry)){throw new ExportTranscriptDocumentError("invalid_block")}if(key==="url"&&!isSafeDisplayUrl(entry)){throw new ExportTranscriptDocumentError("invalid_block")}return}if(Array.isArray(entry)){if(key==="blockedBy"&&!entry.every(item=>isSafeLabel(item,128))){throw new ExportTranscriptDocumentError("invalid_block")}for(const item of entry)visit(item,key);return}if(!isRecord(entry))return;if(key==="author"&&!(isSafeLabel(entry["name"],128)&&isSafePresentationLabel(entry["name"],128))){throw new ExportTranscriptDocumentError("invalid_block")}if((entry["kind"]==="status"||entry["kind"]==="error")&&entry["code"]!==void 0&&!isSafeLabel(entry["code"],128)){throw new ExportTranscriptDocumentError("invalid_block")}for(const[childKey,child]of Object.entries(entry)){visit(child,childKey)}},"visit");visit(value["blocks"])}__name(assertSemanticSafety,"assertSemanticSafety");function assertDocumentConsistency(value){const metadata=value["metadata"];const diagnostics=value["diagnostics"];const blocks=value["blocks"];const blockIds=new Set(blocks.map(block=>block.id));if(blockIds.size!==blocks.length){throw new ExportTranscriptDocumentError("duplicate_block_id")}for(const block of blocks){if(block.kind==="tool"&&block.parentBlockId!==void 0&&!blockIds.has(block.parentBlockId)){throw new ExportTranscriptDocumentError("invalid_block_reference")}}if(metadata.complete&&metadata.truncated){throw new ExportTranscriptDocumentError("invalid_metadata_state")}const hasError=diagnostics.some(diagnostic=>diagnostic.severity==="error");const hasCompletenessDiagnostic=diagnostics.some(diagnostic=>diagnostic.severity==="error"||diagnostic.severity==="warning"&&diagnostic.code!=="rich_render_budget_exceeded");const hasTruncationDiagnostic=diagnostics.some(diagnostic=>TRUNCATION_DIAGNOSTIC_CODES.has(diagnostic.code));const hasExplicitContentLoss=blocks.some(block=>{if(block.kind==="tool"&&(block.status==="completed"||block.status==="failed")&&block.resultPreview===void 0){return true}if(block.kind==="tool"){return block.preview.kind==="todo_list"&&block.preview.truncated===true||block.resultPreview?.kind==="todo_list"&&block.resultPreview.truncated===true}if(block.kind==="permission"){return block.preview.kind==="todo_list"&&block.preview.truncated===true}return false});if((hasError||hasCompletenessDiagnostic||hasExplicitContentLoss)&&metadata.complete){throw new ExportTranscriptDocumentError("invalid_metadata_state")}if((hasExplicitContentLoss||hasTruncationDiagnostic)&&!metadata.truncated){throw new ExportTranscriptDocumentError("invalid_metadata_state")}}__name(assertDocumentConsistency,"assertDocumentConsistency");var TRUNCATION_DIAGNOSTIC_CODES=new Set(["envelope_budget_exceeded","array_budget_exceeded","todo_preview_truncated","markdown_image_rejected","markdown_complexity_exceeded","text_budget_exceeded","image_type_rejected","image_budget_or_animation_rejected","tool_status_frozen","url_sanitized","url_rejected","repository_url_rejected","repository_rejected","title_rejected","git_branch_rejected","model_rejected","channel_rejected","project_name_rejected","permission_resolution_sanitized","tool_result_presentation_missing","file_attachment_excluded","home_path_omitted","encoded_content_omitted","url_home_path_omitted","label_sanitized"]);function assertNoForbiddenFields(value){const forbidden=new Set(["rawInput","rawOutput","toolCall","details","locations","meta","sessionId","sourceRecordIds","eventId","serverTimestamp","promptId","branchRecordId","debugReason"]);const visit=__name((entry,key)=>{if(typeof entry==="string"){const safePathField=key!==void 0&&["path","cwd","origin","projectName","repository"].includes(key);if(key!=="data"&&key!=="thumbnailUrl"&&containsUnredactedHomePath(entry,!safePathField)){throw new ExportTranscriptDocumentError("home_path_forbidden")}return}if(Array.isArray(entry)){for(const item of entry)visit(item,key);return}if(!isRecord(entry))return;for(const[key2,item]of Object.entries(entry)){if(forbidden.has(key2)){throw new ExportTranscriptDocumentError("forbidden_field")}visit(item,key2)}},"visit");visit(value)}__name(assertNoForbiddenFields,"assertNoForbiddenFields");function assertDepthAndArrayBudgets(value,depth=0,ancestors=new WeakSet){if(depth>EXPORT_TRANSCRIPT_LIMITS_V1.maxObjectDepth){throw new ExportTranscriptDocumentError("object_depth_exceeded")}if(Array.isArray(value)){if(ancestors.has(value)){throw new ExportTranscriptDocumentError("cyclic_envelope")}if(value.length>EXPORT_TRANSCRIPT_LIMITS_V1.maxArrayLength){throw new ExportTranscriptDocumentError("array_budget_exceeded")}ancestors.add(value);for(const item of value){assertDepthAndArrayBudgets(item,depth+1,ancestors)}ancestors.delete(value);return}if(!isRecord(value))return;if(ancestors.has(value)){throw new ExportTranscriptDocumentError("cyclic_envelope")}const entries=Object.values(value);if(entries.length>EXPORT_TRANSCRIPT_LIMITS_V1.maxObjectProperties){throw new ExportTranscriptDocumentError("object_property_budget_exceeded")}ancestors.add(value);for(const item of entries){assertDepthAndArrayBudgets(item,depth+1,ancestors)}ancestors.delete(value)}__name(assertDepthAndArrayBudgets,"assertDepthAndArrayBudgets");function serializedEnvelopeBytes(value){try{const serialized=JSON.stringify(value);if(serialized===void 0){throw new ExportTranscriptDocumentError("invalid_envelope")}return utf8Bytes(escapeJsonForHtmlScriptData(serialized))}catch(error){if(error instanceof ExportTranscriptDocumentError)throw error;throw new ExportTranscriptDocumentError("invalid_envelope")}}__name(serializedEnvelopeBytes,"serializedEnvelopeBytes");function assertResourceBudgets(value){let visibleTextBytes=0;let totalRasterBytes=0;let richRenderTasks=0;const visit=__name((entry,key,parent,path2=[])=>{if(typeof entry==="string"){if(key==="data")return;if(key==="thumbnailUrl"){const image=parseApprovedImageDataUrl(entry);const bytes2=image?decodedBase64Bytes(image.data):void 0;const canonical=image?formatApprovedImageDataUrl(image):void 0;if(bytes2===void 0||bytes2>EXPORT_TRANSCRIPT_LIMITS_V1.maxRasterBytes||entry!==canonical||!image||!hasRasterSignature(image.data,image.mimeType)){throw new ExportTranscriptDocumentError("invalid_thumbnail_image")}totalRasterBytes+=bytes2;return}const bytes=utf8Bytes(entry);if(bytes>EXPORT_TRANSCRIPT_LIMITS_V1.maxTextBytes){throw new ExportTranscriptDocumentError("text_budget_exceeded")}const markdownText2=isMarkdownExportText(key,parent,path2);if(key&&VISIBLE_EXPORT_TEXT_FIELDS.has(key)){visibleTextBytes+=bytes}if(markdownText2){richRenderTasks+=countRichMarkdownTasks(entry);const sanitized=sanitizeMarkdownDocument(entry,{normalizeUrl:normalizeNavigableUrl,onUrlChange:__name(()=>{throw new ExportTranscriptDocumentError("invalid_markdown_url")},"onUrlChange"),onComplexityLimit:__name(()=>{throw new ExportTranscriptDocumentError("markdown_complexity_exceeded")},"onComplexityLimit"),replaceImage:__name((alt,source)=>{const image=source?parseApprovedImageDataUrl(source):void 0;const imageBytes=image?decodedBase64Bytes(image.data):void 0;if(!image||imageBytes===void 0||imageBytes>EXPORT_TRANSCRIPT_LIMITS_V1.maxRasterBytes||!hasRasterSignature(image.data,image.mimeType)){throw new ExportTranscriptDocumentError("invalid_markdown_image")}totalRasterBytes+=imageBytes;const safeAlt=safeLabel(alt,200).replace(/([\\[\]])/g,"\\$1");return`![${safeAlt}](${formatApprovedImageDataUrl(image)})`},"replaceImage")});if(sanitized!==entry){throw new ExportTranscriptDocumentError("invalid_markdown_image")}}return}if(Array.isArray(entry)){for(const item of entry)visit(item,key,parent,path2);return}if(!isRecord(entry))return;if(typeof entry["data"]==="string"&&typeof entry["mimeType"]==="string"){const bytes=decodedBase64Bytes(entry["data"]);if(bytes===void 0||bytes>EXPORT_TRANSCRIPT_LIMITS_V1.maxRasterBytes||!SAFE_RASTER_MIME_TYPES.has(entry["mimeType"])||!hasRasterSignature(entry["data"],entry["mimeType"])){throw new ExportTranscriptDocumentError("raster_budget_exceeded")}totalRasterBytes+=bytes}for(const[childKey,item]of Object.entries(entry)){visit(item,childKey,entry,[...path2,childKey])}},"visit");visit(value);if(visibleTextBytes>EXPORT_TRANSCRIPT_LIMITS_V1.maxVisibleTextBytes){throw new ExportTranscriptDocumentError("visible_text_budget_exceeded")}if(totalRasterBytes>EXPORT_TRANSCRIPT_LIMITS_V1.maxTotalRasterBytes){throw new ExportTranscriptDocumentError("total_raster_budget_exceeded")}if(richRenderTasks>EXPORT_TRANSCRIPT_LIMITS_V1.maxRichRenderTasks){throw new ExportTranscriptDocumentError("rich_render_budget_exceeded")}}__name(assertResourceBudgets,"assertResourceBudgets");function isMarkdownExportText(key,parent,path2){if(path2.at(-2)==="resultPreview"){return parent?.["kind"]!=="question_answers"&&(key==="text"||key==="summary")}return key==="text"&&["user","assistant","thought","status","error"].includes(String(parent?.["kind"]))}__name(isMarkdownExportText,"isMarkdownExportText");function normalizeNavigableUrl(value){if(value.startsWith("#"))return value;const urlInput=value.trim().replace(/[\t\r\n]/g,"");if(/^https?:/i.test(urlInput)&&!/^https?:\/\/[^/?#\\]/i.test(urlInput)){return void 0}if(value.startsWith("/")&&!value.startsWith("//")){if(value.includes("\\"))return void 0;const queryIndex=value.search(/[?#]/);return queryIndex===-1?value:value.slice(0,queryIndex)}try{const url=new URL(value);if(url.protocol!=="http:"&&url.protocol!=="https:"&&url.protocol!=="mailto:"){return void 0}if(url.username===""&&url.password===""&&url.search===""&&url.hash===""){return value}url.username="";url.password="";url.search="";url.hash="";return url.toString()}catch{return void 0}}__name(normalizeNavigableUrl,"normalizeNavigableUrl");var VISIBLE_EXPORT_TEXT_FIELDS=new Set(["text","title","label","description","command","cwd","question","answer","path","oldText","newText","patch","url","argsSummary","code","origin","query","top","columns","rows","prompt","task","value","content","summary","reason","projectName","repository","gitBranch","model","channel"]);function safeDisplayUrl(raw,diagnostics,onContentLoss){try{const safe=normalizeNavigableUrl(raw);if(!safe)throw new Error;const url=new URL(safe);if(url.protocol!=="http:"&&url.protocol!=="https:"){throw new Error}if(utf8Bytes(safe)>EXPORT_TRANSCRIPT_LIMITS_V1.maxTextBytes){throw new Error}if(safe!==raw){diagnostics.add("url_sanitized","warning",1,true);onContentLoss?.()}return safe}catch{diagnostics.add("url_rejected","warning",1,true);onContentLoss?.();return"[link omitted]"}}__name(safeDisplayUrl,"safeDisplayUrl");function sanitizeEmbeddedUrls(raw,diagnostics,onContentLoss){return raw.replace(/https?:\/\/[^\s"'<>\\]+/gi,match=>{const safe=normalizeNavigableUrl(match);if(!safe){diagnostics.add("url_rejected","warning",1,true);onContentLoss?.();return"[link omitted]"}if(safe!==match){diagnostics.add("url_sanitized","warning",1,true);onContentLoss?.()}return safe})}__name(sanitizeEmbeddedUrls,"sanitizeEmbeddedUrls");function safeRepository(raw,diagnostics,budget){if(/^https?:/i.test(raw)){const safe2=safeDisplayUrl(raw,diagnostics,()=>budget.markContentLoss());if(safe2.length<=200)return budget.plainText(safe2);diagnostics.add("repository_url_rejected","warning",1,true);budget.markContentLoss();return budget.plainText("[link omitted]")}const safe=safePath(raw).replace(/\.git$/i,"");if(isSafeLabel(safe,200))return budget.label(safe,200,false);diagnostics.add("repository_rejected","warning",1,true);budget.markContentLoss();return budget.plainText("[link omitted]")}__name(safeRepository,"safeRepository");function safeMetadataLabel(value,maxLength,field,diagnostics,budget,redact=true){if(value===void 0||value==="")return void 0;if(isSafeLabel(value,maxLength)){return budget.label(value,maxLength,redact)}diagnostics.add(`${field}_rejected`,"warning",1,true);budget.markContentLoss();return void 0}__name(safeMetadataLabel,"safeMetadataLabel");function isSafeDisplayUrl(value){if(value==="[link omitted]"||value==="[content omitted: export text budget exceeded]"){return true}if(typeof value!=="string")return false;try{const url=new URL(value);return(url.protocol==="http:"||url.protocol==="https:")&&normalizeNavigableUrl(value)===value}catch{return false}}__name(isSafeDisplayUrl,"isSafeDisplayUrl");function isSafeRepository(value){return typeof value==="string"&&!/^https?:/i.test(value)&&isSafeLabel(value,200)&&!/[\\/]/.test(value)||isSafeDisplayUrl(value)}__name(isSafeRepository,"isSafeRepository");function safePath(value){const normalized=value.replaceAll("\\","/").replace(/^file:\/\/[^/]+\//i,"/").replace(/^file:\/\/\//i,"/").replace(/^file:\//i,"/").replace(/\/+$/,"");const components=[];for(const component of normalized.split("/").filter(Boolean)){if(component===".")continue;if(component===".."){if(components.length>0&&!(components.length===1&&/^[A-Za-z]:$/.test(components[0]))){components.pop()}continue}components.push(component)}const homeIndex=components.findIndex(component=>/^(?:Users|home)$/i.test(component));if(homeIndex!==-1&&components[homeIndex+1]!==void 0){const homeBasename=components.at(-1);if(components.length===homeIndex+2)return"[home]";return homeBasename&&homeBasename!=="."&&homeBasename!==".."?homeBasename:"[path]"}const basename=components.at(-1);return basename&&!/^[A-Za-z]:$/.test(basename)?basename:"[path]"}__name(safePath,"safePath");function isSafeExportPath(value){return isSafePresentationLabel(value,400)&&!/[\\/]/.test(String(value))&&!/^[A-Za-z]:$/.test(String(value))}__name(isSafeExportPath,"isSafeExportPath");var EXPORT_URL_PATTERN=/\b(?:https?:\/\/[^\s<>"\x60]+|data:image\/[A-Za-z0-9.+-]+;base64,[A-Za-z0-9+/=]+)/gi;var HOME_USERNAME_SEGMENT_SOURCE=String.raw`(?:[^/\\\t\r\n<>]+(?=[/\\])|[^/\\\s<>]+)`;var FILE_HOME_PATH_SOURCE=String.raw`file:\/+(?:[^/\s]+\/)?(?:[A-Za-z]:\/)?(?:\.\/|\/)*(?:home|Users)\/(?:\.\/|\/)*${HOME_USERNAME_SEGMENT_SOURCE}`;var LOCAL_HOME_PATH_SOURCE=String.raw`(?:[A-Za-z]:)?[\\/](?:\.[\\/]|[\\/])*(?:home|Users)[\\/](?:\.[\\/]|[\\/])*${HOME_USERNAME_SEGMENT_SOURCE}`;var BARE_HOME_ROOT_SOURCE=String.raw`(?:[A-Za-z]:)?[\\/](?:\.[\\/]|[\\/])*(?:home|Users)[\\/](?=$|\s|[<>"'\x60,;:|()](?=\s|$))`;var RELATIVE_HOME_PATH_SOURCE=String.raw`(^|[\r\n])(?:home|Users)[\\/](?:\.[\\/]|[\\/])*${HOME_USERNAME_SEGMENT_SOURCE}`;var RELATIVE_HOME_ROOT_SOURCE=String.raw`(^|[\r\n])(?:home|Users)[\\/](?=$|\s|[<>"'\x60,;:|()](?=\s|$))`;var FILE_HOME_PATH_PATTERN=new RegExp(FILE_HOME_PATH_SOURCE,"gi");var LOCAL_HOME_PATH_PATTERN=new RegExp(LOCAL_HOME_PATH_SOURCE,"gi");var BARE_HOME_ROOT_PATTERN=new RegExp(BARE_HOME_ROOT_SOURCE,"gi");var RELATIVE_HOME_PATH_PATTERN=new RegExp(RELATIVE_HOME_PATH_SOURCE,"gim");var RELATIVE_HOME_ROOT_PATTERN=new RegExp(RELATIVE_HOME_ROOT_SOURCE,"gim");var ENCODED_CONTENT_OMITTED="[encoded content omitted]";var URL_HOME_PATH_OMITTED="[link omitted]";function redactHomePaths(value){return redactHomePathStructures(value)}__name(redactHomePaths,"redactHomePaths");function redactHomePathStructures(value){const urlPattern=EXPORT_URL_PATTERN;let result="";let cursor=0;const omissions=[];const append=__name(redaction=>{result+=redaction.text;omissions.push(...redaction.omissions)},"append");for(const match of value.matchAll(urlPattern)){append(redactNonHttpHomePathStructures(value.slice(cursor,match.index)));if(match[0].toLowerCase().startsWith("data:image/")&&containsNonHttpHomePath(match[0],true)){append(redactNonHttpHomePathStructures(match[0]))}else if(shouldOmitHttpUrlToken(match[0])){result+=URL_HOME_PATH_OMITTED;omissions.push("url_home_path_omitted")}else{result+=match[0]}cursor=match.index+match[0].length}append(redactNonHttpHomePathStructures(value.slice(cursor)));return{text:result,omissions}}__name(redactHomePathStructures,"redactHomePathStructures");function shouldOmitHttpUrlToken(value){const authority=/^https?:\/\/([^/?#]*)/i.exec(value)?.[1];if(authority===void 0)return false;const decoded=decodePercentText(value);const decodedAuthority=decodePercentText(authority);if(decoded===void 0||decodedAuthority===void 0||containsRawHomePath(decodedAuthority)){return true}return hasAmbiguousUrlHomePath(decoded)||(authority===""||normalizeNavigableUrl(value)===void 0||/[(),;|'\\]/.test(authority))&&containsNonHttpHomePath(value,true)}__name(shouldOmitHttpUrlToken,"shouldOmitHttpUrlToken");function hasAmbiguousUrlHomePath(value){let afterDelimiter=false;let parenthesisDepth=0;for(let index=0;index<value.length;index+=1){const character=value[index];if("?#&,;|'\\".includes(character))afterDelimiter=true;if(character==="(")parenthesisDepth+=1;if(character===")"){if(parenthesisDepth>0)parenthesisDepth-=1;else afterDelimiter=true}if(!afterDelimiter||character!=="/"&&character!=="\\"){continue}const component=value.slice(index+1,index+6).toLowerCase();const length=component.startsWith("users")?5:component.startsWith("home")?4:0;const separator=value[index+length+1];const firstUsernameCharacter=value[index+length+2];if(length>0&&(separator==="/"||separator==="\\")&&firstUsernameCharacter!==void 0&&firstUsernameCharacter!=="/"&&firstUsernameCharacter!=="\\"&&!/\s/.test(firstUsernameCharacter)){return true}}return false}__name(hasAmbiguousUrlHomePath,"hasAmbiguousUrlHomePath");function redactNonHttpHomePathStructures(value){const rawRedacted=redactRawHomePathStructures(value);const decoded=decodePercentText(rawRedacted);if(decoded===void 0){return{text:ENCODED_CONTENT_OMITTED,omissions:["encoded_content_omitted"]}}const encodedRedacted=containsRawHomePath(decoded)?redactRawHomePathStructures(decoded).replace(/(?:\[home\]){2,}/g,"[home]"):rawRedacted;return{text:encodedRedacted.replace(/file:\/+(?:[^/\s]+\/)?(?:[A-Za-z]:\/)?\[home\]/gi,"file://[home]"),omissions:[]}}__name(redactNonHttpHomePathStructures,"redactNonHttpHomePathStructures");function redactRawHomePathStructures(value){return value.replace(FILE_HOME_PATH_PATTERN,"file://[home]").replace(BARE_HOME_ROOT_PATTERN,"[home]").replace(LOCAL_HOME_PATH_PATTERN,"[home]").replace(RELATIVE_HOME_ROOT_PATTERN,"$1[home]").replace(RELATIVE_HOME_PATH_PATTERN,"$1[home]")}__name(redactRawHomePathStructures,"redactRawHomePathStructures");function containsUnredactedHomePath(value,checkPercentEncoding){const urlPattern=EXPORT_URL_PATTERN;let cursor=0;for(const match of value.matchAll(urlPattern)){if(shouldOmitHttpUrlToken(match[0]))return true;if(match[0].toLowerCase().startsWith("data:image/")&&containsNonHttpHomePath(match[0],checkPercentEncoding)){return true}if(containsNonHttpHomePath(value.slice(cursor,match.index),checkPercentEncoding)){return true}cursor=match.index+match[0].length}return containsNonHttpHomePath(value.slice(cursor),checkPercentEncoding)}__name(containsUnredactedHomePath,"containsUnredactedHomePath");function containsNonHttpHomePath(value,checkPercentEncoding){if(containsRawHomePath(value))return true;if(!checkPercentEncoding)return false;const decoded=decodePercentText(value);return decoded===void 0||containsRawHomePath(decoded)}__name(containsNonHttpHomePath,"containsNonHttpHomePath");function decodePercentText(value){let decoded=value;for(let pass=0;pass<3;pass+=1){const next=decodePrintablePercentEscapes(decoded);if(next===decoded)return decoded;decoded=next}return decodePrintablePercentEscapes(decoded)===decoded?decoded:void 0}__name(decodePercentText,"decodePercentText");function decodePrintablePercentEscapes(value){return value.replace(/%([0-9A-Fa-f]{2})/g,(escape,hex)=>{const code=Number.parseInt(hex,16);return code>=32&&code<=126?String.fromCharCode(code):escape})}__name(decodePrintablePercentEscapes,"decodePrintablePercentEscapes");function containsRawHomePath(value){return redactRawHomePathStructures(value)!==value}__name(containsRawHomePath,"containsRawHomePath");function safeLabel(value,maxLength){if(typeof value!=="string")return"[invalid]";let safe="";for(const character of value){if(isControlCharacter(character))continue;if(safe.length+character.length>maxLength)break;safe+=character}return safe}__name(safeLabel,"safeLabel");function isSafeLabel(value,maxLength){return typeof value==="string"&&value.length>0&&value.length<=maxLength&&![...value].some(isControlCharacter)}__name(isSafeLabel,"isSafeLabel");function isSafePresentationLabel(value,maxLength){return typeof value==="string"&&value.length<=maxLength&&![...value].some(isControlCharacter)}__name(isSafePresentationLabel,"isSafePresentationLabel");function isControlCharacter(value){const code=value.charCodeAt(0);return code<=31||code===127}__name(isControlCharacter,"isControlCharacter");function assertNever3(value){void value;throw new ExportTranscriptDocumentError("unsupported_value")}__name(assertNever3,"assertNever");function safeCount(value){return typeof value==="number"&&Number.isFinite(value)?Math.max(0,Math.min(Number.MAX_SAFE_INTEGER,Math.trunc(value))):0}__name(safeCount,"safeCount");function isIsoDate(value){if(typeof value!=="string")return false;const time=Date.parse(value);return Number.isFinite(time)&&new Date(time).toISOString()===value}__name(isIsoDate,"isIsoDate");function isSafeRendererVersion(value){return isSafeLabel(value,128)&&!String(value).includes("latest")&&!/[~^*><=]/.test(String(value))}__name(isSafeRendererVersion,"isSafeRendererVersion");function isRecord(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}__name(isRecord,"isRecord");function utf8Bytes(value){return new TextEncoder().encode(value).byteLength}__name(utf8Bytes,"utf8Bytes");function decodedBase64Bytes(value){if(!/^[A-Za-z0-9+/]*={0,2}$/.test(value)||value.length%4!==0){return void 0}const padding=value.endsWith("==")?2:value.endsWith("=")?1:0;return value.length/4*3-padding}__name(decodedBase64Bytes,"decodedBase64Bytes");function hasRasterSignature(data,mimeType){if(mimeType==="image/gif")return!isAnimatedGif(data);const header=atob(data.slice(0,16));switch(mimeType){case"image/png":return header.startsWith("\x89PNG\r\n\n");case"image/jpeg":return header.startsWith("\xFF\xD8\xFF");case"image/webp":return header.startsWith("RIFF")&&header.slice(8,12)==="WEBP";default:return false}}__name(hasRasterSignature,"hasRasterSignature");function isAnimatedGif(value){try{const binary=atob(value);if(binary.length<13||binary.slice(0,6)!=="GIF87a"&&binary.slice(0,6)!=="GIF89a"){return true}const logicalScreenPacked=binary.charCodeAt(10);let offset=13;if((logicalScreenPacked&128)!==0){offset+=3*2**((logicalScreenPacked&7)+1)}let frames=0;while(offset<binary.length){const marker=binary.charCodeAt(offset);offset+=1;if(marker===59)return frames!==1;if(marker===33){if(offset>=binary.length)return true;offset+=1;const nextOffset2=skipGifSubBlocks(binary,offset);if(nextOffset2===void 0)return true;offset=nextOffset2;continue}if(marker!==44||offset+9>binary.length)return true;frames+=1;if(frames>1)return true;const imagePacked=binary.charCodeAt(offset+8);offset+=9;if((imagePacked&128)!==0){offset+=3*2**((imagePacked&7)+1)}if(offset>=binary.length)return true;offset+=1;const nextOffset=skipGifSubBlocks(binary,offset);if(nextOffset===void 0)return true;offset=nextOffset}return true}catch{return true}}__name(isAnimatedGif,"isAnimatedGif");function skipGifSubBlocks(binary,startOffset){let offset=startOffset;while(offset<binary.length){const size=binary.charCodeAt(offset);offset+=1;if(size===0)return offset;if(offset+size>binary.length)return void 0;offset+=size}return void 0}__name(skipGifSubBlocks,"skipGifSubBlocks");function severityRank(value){return value==="error"?2:value==="warning"?1:0}__name(severityRank,"severityRank");function injectDocumentIntoHtmlTemplate(template,document){return injectJsonScript(template,"transcript-document",document)}__name(injectDocumentIntoHtmlTemplate,"injectDocumentIntoHtmlTemplate");function renderExportTranscriptDocumentToHtml(document){assertExportTranscriptDocumentV1(document);if(document.rendererVersion!==EXPORT_TRANSCRIPT_RENDERER_VERSION){throw new Error("Export transcript renderer version mismatch.")}if(EXPORT_TRANSCRIPT_RENDERER_LIMITS.maxBlocks!==EXPORT_TRANSCRIPT_LIMITS_V1.maxBlocks||EXPORT_TRANSCRIPT_RENDERER_LIMITS.maxEnvelopeBytes!==EXPORT_TRANSCRIPT_LIMITS_V1.maxEnvelopeBytes){throw new Error("Export transcript renderer limits mismatch.")}const nonce=randomBytes(16).toString("base64url");const template=injectDocumentNonce(DOCUMENT_HTML_TEMPLATE,nonce);return injectDocumentIntoHtmlTemplate(template,document)}__name(renderExportTranscriptDocumentToHtml,"renderExportTranscriptDocumentToHtml");function injectDocumentNonce(template,nonce){if(!template.includes("__EXPORT_NONCE__")){throw new Error("Export HTML template is missing its CSP nonce slot.")}return template.replaceAll("__EXPORT_NONCE__",nonce)}__name(injectDocumentNonce,"injectDocumentNonce");function injectJsonScript(template,elementId,data){const jsonData=JSON.stringify(data);const escapedJsonData=escapeJsonForHtmlScriptData(jsonData);const idAttribute=`id="${elementId}"`;const idIndex=template.indexOf(idAttribute);if(idIndex===-1){throw new Error(`Export HTML template is missing ${elementId}.`)}const openTagEnd=template.indexOf(">",idIndex);if(openTagEnd===-1){throw new Error(`Export HTML template has an invalid ${elementId} tag.`)}const closeTagStart=template.indexOf("</script>",openTagEnd);if(closeTagStart===-1){throw new Error(`Export HTML template has an unclosed ${elementId} tag.`)}return`${template.slice(0,openTagEnd+1)}${escapedJsonData}${template.slice(closeTagStart)}`}__name(injectJsonScript,"injectJsonScript");function toHtml(sessionData,originalRecords){const document=createExportTranscriptDocumentV1(originalRecords,sessionData,{rendererVersion:EXPORT_TRANSCRIPT_RENDERER_VERSION,exportedAt:sessionData.metadata?.exportTime??new Date().toISOString()});return renderExportTranscriptDocumentToHtml(document)}__name(toHtml,"toHtml");init_esbuild_shims();function toJson(sessionData){return JSON.stringify(sessionData,null,2)}__name(toJson,"toJson");init_esbuild_shims();function toJsonl(sessionData){const lines=[];const sourceMetadata=sessionData.metadata;const metadata={type:"session_metadata",sessionId:sessionData.sessionId,startTime:sessionData.startTime};if(sourceMetadata?.exportTime){metadata["exportTime"]=sourceMetadata.exportTime}if(sourceMetadata?.cwd){metadata["cwd"]=sourceMetadata.cwd}if(sourceMetadata?.gitRepo){metadata["gitRepo"]=sourceMetadata.gitRepo}if(sourceMetadata?.gitBranch){metadata["gitBranch"]=sourceMetadata.gitBranch}if(sourceMetadata?.model){metadata["model"]=sourceMetadata.model}if(sourceMetadata?.channel){metadata["channel"]=sourceMetadata.channel}if(sourceMetadata?.promptCount!==void 0){metadata["promptCount"]=sourceMetadata.promptCount}if(sourceMetadata?.contextUsagePercent!==void 0){metadata["contextUsagePercent"]=sourceMetadata.contextUsagePercent}if(sourceMetadata?.contextWindowSize!==void 0){metadata["contextWindowSize"]=sourceMetadata.contextWindowSize}if(sourceMetadata?.totalTokens!==void 0){metadata["totalTokens"]=sourceMetadata.totalTokens}if(sourceMetadata?.filesWritten!==void 0){metadata["filesWritten"]=sourceMetadata.filesWritten}if(sourceMetadata?.linesAdded!==void 0){metadata["linesAdded"]=sourceMetadata.linesAdded}if(sourceMetadata?.linesRemoved!==void 0){metadata["linesRemoved"]=sourceMetadata.linesRemoved}if(sourceMetadata?.uniqueFiles&&sourceMetadata.uniqueFiles.length>0){metadata["uniqueFiles"]=sourceMetadata.uniqueFiles}lines.push(JSON.stringify(metadata));for(const message of sessionData.messages){lines.push(JSON.stringify(message))}return lines.join("\n")}__name(toJsonl,"toJsonl");init_esbuild_shims();function generateExportFilename(extension){const timestamp=new Date().toISOString().replace(/[:.]/g,"-");return`qwen-code-export-${timestamp}.${extension}`}__name(generateExportFilename,"generateExportFilename");init_esbuild_shims();init_esbuild_shims();function extractInjections(prompt,trigger,contextName){const injections=[];let index=0;while(index<prompt.length){const startIndex=prompt.indexOf(trigger,index);if(startIndex===-1){break}let currentIndex=startIndex+trigger.length;let braceCount=1;let foundEnd=false;while(currentIndex<prompt.length){const char=prompt[currentIndex];if(char==="{"){braceCount++}else if(char==="}"){braceCount--;if(braceCount===0){const injectionContent=prompt.substring(startIndex+trigger.length,currentIndex);const endIndex=currentIndex+1;injections.push({content:injectionContent.trim(),startIndex,endIndex});index=endIndex;foundEnd=true;break}}currentIndex++}if(!foundEnd){const contextInfo=contextName?` in command '${contextName}'`:"";throw new Error(`Invalid syntax${contextInfo}: Unclosed injection starting at index ${startIndex} ('${trigger}'). Ensure braces are balanced. Paths or commands with unbalanced braces are not supported directly.`)}}return injections}__name(extractInjections,"extractInjections");export{GITHUB_WORKFLOW_PATHS,SetupGithubError,setupGithub,createTranscriptMessageUpdate,createAgentRecordTranscriptUpdate,createTranscriptUsageUpdate,createTranscriptExecutionLifecycleUpdate,BaseEmitter,PlanEmitter,hasFullSessionContext,observeAcpToolResultProjection,observeAcpToolResultWire,observeHeadlessToolResultProjection,observeHeadlessToolResultWire,observeHeadlessJsonToolResultWire,ToolCallEmitter,HistoryReplayer,collectSessionData,normalizeSessionData,toMarkdown,INSIGHT_JS,INSIGHT_CSS,toHtml,toJson,toJsonl,generateExportFilename,extractInjections};
117
117
  /**
118
118
  * @license