gerege-cli 0.26.5 → 0.26.6

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 (237) hide show
  1. package/README.md +8 -8
  2. package/chunks/{MaxSizedBox-VMVLMS4X.js → MaxSizedBox-QCIXIS4P.js} +1 -1
  3. package/chunks/{StandaloneSessionPicker-UNORCVYY.js → StandaloneSessionPicker-BAFAIRT7.js} +1 -1
  4. package/chunks/{acp-subagent-executor-623ZUTJT.js → acp-subagent-executor-TPVXURLW.js} +1 -1
  5. package/chunks/{acpAgent-MTTDTK2C.js → acpAgent-67UN66PB.js} +3 -3
  6. package/chunks/{advisor-ANUGICJ5.js → advisor-SAXMI4QZ.js} +1 -1
  7. package/chunks/{agent-GNCQDICJ.js → agent-KV7BXY6C.js} +1 -1
  8. package/chunks/{agent-headless-OPUXAXQM.js → agent-headless-FQX3JGG6.js} +1 -1
  9. package/chunks/{agent-host-client-K6GRPTFD.js → agent-host-client-L5EHC4AC.js} +1 -1
  10. package/chunks/{agent-host-connections-MF3YBZU2.js → agent-host-connections-EDBMCVQF.js} +1 -1
  11. package/chunks/{anthropicContentGenerator-OK4PFE5Y.js → anthropicContentGenerator-V7TX2NXP.js} +1 -1
  12. package/chunks/{autofix-pr-MABTGEHZ.js → autofix-pr-WP34NYHL.js} +1 -1
  13. package/chunks/{batch-V2NJT3M5.js → batch-XFVQ4BLM.js} +1 -1
  14. package/chunks/{bridge-BJQ627CX.js → bridge-AE7AFEXB.js} +1 -1
  15. package/chunks/{channel-settings-store-4JMCI4UR.js → channel-settings-store-X63P5OVT.js} +1 -1
  16. package/chunks/{chunk-ZN57TOVA.js → chunk-2DU2WMTL.js} +1 -1
  17. package/chunks/{chunk-Z5XENA4A.js → chunk-2JGTWRZJ.js} +8 -7
  18. package/chunks/{chunk-MTW3A3KT.js → chunk-2LWJGXTW.js} +1 -1
  19. package/chunks/{chunk-OCBJCZC2.js → chunk-2N3NBTYJ.js} +1 -1
  20. package/chunks/{chunk-WI4UMN3Q.js → chunk-2TAJ5STJ.js} +1 -1
  21. package/chunks/{chunk-EIILQ6KT.js → chunk-32XHDDIA.js} +1 -1
  22. package/chunks/{chunk-FNXO5KWB.js → chunk-34HC2AXI.js} +2 -2
  23. package/chunks/{chunk-2X3UF2CF.js → chunk-3W32X2DH.js} +1 -1
  24. package/chunks/{chunk-CKZRJP4F.js → chunk-4ME3BUJK.js} +1 -1
  25. package/chunks/{chunk-NVSKOSFG.js → chunk-4NDJKNN6.js} +1 -1
  26. package/chunks/{chunk-BRPJ5EHA.js → chunk-5EXL4TKQ.js} +1 -1
  27. package/chunks/{chunk-3XBJYUWP.js → chunk-65ME4BOH.js} +1 -1
  28. package/chunks/{chunk-TQTIEK2W.js → chunk-7453BHJO.js} +1 -1
  29. package/chunks/{chunk-HSYBIGMS.js → chunk-76FSYQTG.js} +1 -1
  30. package/chunks/{chunk-FNB3DPQZ.js → chunk-7RNOS7R4.js} +1 -1
  31. package/chunks/{chunk-H57IX45A.js → chunk-AEKEZRIU.js} +1 -1
  32. package/chunks/{chunk-CXGGC4NO.js → chunk-AEZYXPFS.js} +1 -1
  33. package/chunks/{chunk-NGOIJH7K.js → chunk-AFO5ER23.js} +1 -1
  34. package/chunks/{chunk-UY2ET2AL.js → chunk-AYVCT5FF.js} +1 -1
  35. package/chunks/{chunk-QOYRDEXR.js → chunk-B37YY4XU.js} +1 -1
  36. package/chunks/{chunk-IDUGQMTP.js → chunk-BAUMVH4Q.js} +1 -1
  37. package/chunks/{chunk-CAPG7UVH.js → chunk-BCI62WSL.js} +1 -1
  38. package/chunks/{chunk-USJFJZ23.js → chunk-BGELKSQ4.js} +1 -1
  39. package/chunks/{chunk-6X73W4TL.js → chunk-BHIDG6VZ.js} +1 -1
  40. package/chunks/{chunk-26ISBUM7.js → chunk-BPFFRPWE.js} +6 -6
  41. package/chunks/{chunk-YGHM5CDT.js → chunk-BQZF3UKI.js} +1 -1
  42. package/chunks/{chunk-3NQESE5K.js → chunk-CBE6ZIHU.js} +1 -1
  43. package/chunks/{chunk-DEMXCA3K.js → chunk-CF6SZJNP.js} +1 -1
  44. package/chunks/{chunk-2VCDJ6UF.js → chunk-CGDFZEER.js} +1 -1
  45. package/chunks/{chunk-3WQPUP5U.js → chunk-CUP2TNJK.js} +1 -1
  46. package/chunks/{chunk-2IGE2K5V.js → chunk-DA6LOBSB.js} +1 -1
  47. package/chunks/{chunk-HFV6CQWE.js → chunk-EFIRES46.js} +1 -1
  48. package/chunks/{chunk-E5YRAQXM.js → chunk-EKRUF347.js} +1 -1
  49. package/chunks/{chunk-KN27BFXM.js → chunk-ELDZ4MNL.js} +1 -1
  50. package/chunks/{chunk-ADTFKUH2.js → chunk-ET5M5WFN.js} +1 -1
  51. package/chunks/{chunk-IBYFSHBB.js → chunk-EXIFPXMB.js} +1 -1
  52. package/chunks/{chunk-IA4K4PGK.js → chunk-EYPLBTMI.js} +1 -1
  53. package/chunks/{chunk-DTTC4ZKY.js → chunk-FEP6W4NJ.js} +1 -1
  54. package/chunks/{chunk-FHBGTZ4K.js → chunk-FKL3V5BO.js} +1 -1
  55. package/chunks/{chunk-Q5E5SOY2.js → chunk-FKZ46GKL.js} +1 -1
  56. package/chunks/{chunk-OPYGNTZP.js → chunk-FYBJGRX7.js} +1 -1
  57. package/chunks/{chunk-FPZPCZFS.js → chunk-G6DALGGS.js} +1 -1
  58. package/chunks/{chunk-3Y6LSWEW.js → chunk-GBSRWT7J.js} +1 -1
  59. package/chunks/{chunk-SMYBY353.js → chunk-GHIFIXNX.js} +1 -1
  60. package/chunks/{chunk-DE53B2R7.js → chunk-GRAECADD.js} +1 -1
  61. package/chunks/{chunk-UJYOILZR.js → chunk-GSPGIGO5.js} +3 -3
  62. package/chunks/{chunk-5UZT4SXG.js → chunk-H3IR3GIE.js} +1 -1
  63. package/chunks/{chunk-ADZI3OFT.js → chunk-HOG66S6K.js} +1 -1
  64. package/chunks/{chunk-WB34KMOT.js → chunk-HTAUIJB4.js} +1 -1
  65. package/chunks/{chunk-MPAR4JBP.js → chunk-I6PUY2T3.js} +1 -1
  66. package/chunks/{chunk-5ZQWQ3RK.js → chunk-IZ5MWA6E.js} +1 -1
  67. package/chunks/{chunk-7IERHQ63.js → chunk-JEDL4IKF.js} +1 -1
  68. package/chunks/{chunk-RVJJFDF3.js → chunk-JH3V5SPA.js} +1 -1
  69. package/chunks/{chunk-SELRSZFK.js → chunk-JRTOPEM3.js} +1 -1
  70. package/chunks/{chunk-SQQORHMS.js → chunk-JWNKPINR.js} +1 -1
  71. package/chunks/{chunk-55RVKT4O.js → chunk-KJGRCIVY.js} +1 -1
  72. package/chunks/{chunk-GSOBASYW.js → chunk-KZNYALFU.js} +1 -1
  73. package/chunks/{chunk-FDUXQAGW.js → chunk-LBLLWAKK.js} +1 -1
  74. package/chunks/{chunk-ZSVSRF4C.js → chunk-LT3J74BZ.js} +1 -1
  75. package/chunks/{chunk-AMTFJVDD.js → chunk-LTE4N6L3.js} +1 -1
  76. package/chunks/{chunk-F26LTWDZ.js → chunk-M6KB5RVD.js} +1 -1
  77. package/chunks/{chunk-2PY7R7GG.js → chunk-MGATL4OA.js} +1 -1
  78. package/chunks/{chunk-KGJ47CI5.js → chunk-MPVQDYPH.js} +1 -1
  79. package/chunks/{chunk-BBOJUFMW.js → chunk-MTDBCIDA.js} +1 -1
  80. package/chunks/{chunk-ZYTG6R7S.js → chunk-MYV7GY3H.js} +1 -1
  81. package/chunks/{chunk-4GC5HJZO.js → chunk-N7PWZBXV.js} +1 -1
  82. package/chunks/{chunk-2NOMOJWE.js → chunk-NA4ZF2FE.js} +2 -2
  83. package/chunks/{chunk-7MTBINFX.js → chunk-NEKPQLFY.js} +2 -2
  84. package/chunks/{chunk-ABJGFEES.js → chunk-NO7VTKRL.js} +1 -1
  85. package/chunks/{chunk-OHXQYU6S.js → chunk-NONBHCXP.js} +1 -1
  86. package/chunks/{chunk-ZOBX6C7E.js → chunk-NVOI6UDQ.js} +1 -1
  87. package/chunks/{chunk-YLAI26PX.js → chunk-OJ4K62S2.js} +1 -1
  88. package/chunks/{chunk-CCOUFBOY.js → chunk-OK7LBM5G.js} +1 -1
  89. package/chunks/{chunk-POA4NX4N.js → chunk-OOJ2AQT3.js} +1 -1
  90. package/chunks/{chunk-5WLKN3GD.js → chunk-OU7CEG7Q.js} +1 -1
  91. package/chunks/{chunk-4TYTJQWR.js → chunk-P3JEEDQZ.js} +1 -1
  92. package/chunks/{chunk-AQWHCRKY.js → chunk-P62S5JGM.js} +1 -1
  93. package/chunks/{chunk-B6D3KTUK.js → chunk-QDCUR3JB.js} +1 -1
  94. package/chunks/{chunk-XFLLE2J3.js → chunk-RSLTOIG5.js} +2 -2
  95. package/chunks/{chunk-ISGF3BVD.js → chunk-RXN7DUMP.js} +2 -2
  96. package/chunks/{chunk-PN62SUYK.js → chunk-SKGJ26HQ.js} +1 -1
  97. package/chunks/{chunk-62NLMVVT.js → chunk-SP6CQ3MO.js} +1 -1
  98. package/chunks/{chunk-4EQWJTJR.js → chunk-T2YTHAJW.js} +1 -1
  99. package/chunks/{chunk-NO26JN24.js → chunk-T53VMDXH.js} +1 -1
  100. package/chunks/{chunk-X4BFEDWU.js → chunk-T5DKF33F.js} +1 -1
  101. package/chunks/{chunk-KKBOCRPF.js → chunk-TB4AUC2L.js} +1 -1
  102. package/chunks/{chunk-Q6QS5JTK.js → chunk-U3Q72OGV.js} +1 -1
  103. package/chunks/{chunk-FLJLUMQF.js → chunk-UKLXKJKL.js} +1 -1
  104. package/chunks/{chunk-IH2PFVWO.js → chunk-VD2GSW64.js} +1 -1
  105. package/chunks/{chunk-VDRE7U3P.js → chunk-VRKYBH5G.js} +5 -5
  106. package/chunks/{chunk-MOPJNP5I.js → chunk-W2RQIZ6B.js} +1 -1
  107. package/chunks/{chunk-2LLPGSUK.js → chunk-W5Z4BWWA.js} +1 -1
  108. package/chunks/{chunk-CNFA5UUM.js → chunk-W66WWTOP.js} +1 -1
  109. package/chunks/{chunk-C56YJIEI.js → chunk-WGFX3EL3.js} +1 -1
  110. package/chunks/{chunk-6NI33TVK.js → chunk-X2TY7VTY.js} +1 -1
  111. package/chunks/{chunk-FIM7MM25.js → chunk-XISR37DQ.js} +1 -1
  112. package/chunks/{chunk-KDYUZBZC.js → chunk-YH2XRWRF.js} +1 -1
  113. package/chunks/{chunk-UBXLQ6TP.js → chunk-ZENMAISJ.js} +1 -1
  114. package/chunks/{codex-subagent-executor-EK3A2WBH.js → codex-subagent-executor-OLMGVPVS.js} +1 -1
  115. package/chunks/{config-utils-DLOK7OLM.js → config-utils-OWY5G5Y2.js} +1 -1
  116. package/chunks/{contextCommand-AVCUCHQC.js → contextCommand-IXFUZH65.js} +1 -1
  117. package/chunks/{core-runtime-QSS4ZTG6.js → core-runtime-O4LC4NY3.js} +1 -1
  118. package/chunks/{create-sub-session-PNF7QDKC.js → create-sub-session-6F7C3TMT.js} +1 -1
  119. package/chunks/{cron-create-C6JOFIU4.js → cron-create-2422NBSJ.js} +1 -1
  120. package/chunks/{daemon-git-worktree-guard-5XZAZ7D2.js → daemon-git-worktree-guard-EWPQA6NO.js} +1 -1
  121. package/chunks/{daemon-status-provider-MRNELSNJ.js → daemon-status-provider-FAHOXNFW.js} +1 -1
  122. package/chunks/{daemon-trust-policy-26CMW3WY.js → daemon-trust-policy-L3DM6AI5.js} +1 -1
  123. package/chunks/{daemon-trust-policy-monitor-3DWO6NQY.js → daemon-trust-policy-monitor-HNPY5KJ4.js} +1 -1
  124. package/chunks/{deferred-core-runtime-DEC3N46T.js → deferred-core-runtime-JF42NQJK.js} +1 -1
  125. package/chunks/{edit-3HMQPCHN.js → edit-E5LEI2LL.js} +1 -1
  126. package/chunks/{enterPlanMode-QHJF4JXZ.js → enterPlanMode-3COTUV5V.js} +1 -1
  127. package/chunks/{environment-NGIBJWOT.js → environment-XBBIB3VA.js} +1 -1
  128. package/chunks/{errors-MSTGCVGJ.js → errors-LNMQ7TUK.js} +1 -1
  129. package/chunks/{execution-tool-VR4TGOI4.js → execution-tool-QDDKJD2K.js} +1 -1
  130. package/chunks/{execution-worker-EJH7HIE2.js → execution-worker-TXGZRZXE.js} +1 -1
  131. package/chunks/{exitPlanMode-P25OHQJ6.js → exitPlanMode-Z7QEMWPE.js} +1 -1
  132. package/chunks/{fast-path-II433ZDP.js → fast-path-M6K2RACY.js} +1 -1
  133. package/chunks/{glob-4Q6DCT3F.js → glob-N2QT4U7U.js} +1 -1
  134. package/chunks/{goal-tools-FFMAJW6V.js → goal-tools-CUSQD3DG.js} +1 -1
  135. package/chunks/{handleAutoUpdate-QNM26NZK.js → handleAutoUpdate-QF2YQHF6.js} +1 -1
  136. package/chunks/{i18n-L5URVOBB.js → i18n-AGOA6MUI.js} +1 -1
  137. package/chunks/{initializer-NQ2NECYP.js → initializer-FRKYDUSX.js} +1 -1
  138. package/chunks/{installationInfo-BCTXASUM.js → installationInfo-OKA4WXAS.js} +1 -1
  139. package/chunks/{interactive-mod-session-PPTBI37E.js → interactive-mod-session-MWYN5IFK.js} +1 -1
  140. package/chunks/{list-7TE5TUZJ.js → list-DE7VUIR2.js} +1 -1
  141. package/chunks/{llm-BWWKUBBZ.js → llm-N3JGJHYC.js} +4 -4
  142. package/chunks/{llm-content-generator-QOTGPBYC.js → llm-content-generator-VMUBA7OJ.js} +1 -1
  143. package/chunks/{loadedSettingsAdapter-THAGI5M2.js → loadedSettingsAdapter-5C36OZ7N.js} +1 -1
  144. package/chunks/{local-7BTAGV4J.js → local-BE624O3A.js} +1 -1
  145. package/chunks/{local-execution-environment-S3OR4KSC.js → local-execution-environment-OPGM7Y6L.js} +1 -1
  146. package/chunks/{loggingContentGenerator-AXJ5E5RS.js → loggingContentGenerator-2MHAI6JR.js} +1 -1
  147. package/chunks/{loop-wakeup-AJTLMLRX.js → loop-wakeup-BDLATBXH.js} +1 -1
  148. package/chunks/{manage-memory-JHTUVMDJ.js → manage-memory-BBCEIIWB.js} +1 -1
  149. package/chunks/{managed-execution-engine-U6GNJ4U4.js → managed-execution-engine-SRFALTCX.js} +1 -1
  150. package/chunks/{managed-local-serve-P4ZXVRBU.js → managed-local-serve-ICNAS3E6.js} +1 -1
  151. package/chunks/{managed-npm-update-UDUILNR5.js → managed-npm-update-CTL6LH5Z.js} +1 -1
  152. package/chunks/{managed-runtime-attestation-worker-P34ZBNRG.js → managed-runtime-attestation-worker-ZRDWKXCI.js} +1 -1
  153. package/chunks/{managed-runtime-bootstrap-CLMYNPH5.js → managed-runtime-bootstrap-6NTGZXQL.js} +1 -1
  154. package/chunks/{managed-runtime-session-worker-7H7AZJBV.js → managed-runtime-session-worker-RKQBBFR6.js} +1 -1
  155. package/chunks/{managed-runtime-ssh-worker-5KEMC7FD.js → managed-runtime-ssh-worker-FCGV6FSW.js} +1 -1
  156. package/chunks/{managed-session-authority-CFUZ45HT.js → managed-session-authority-C7IW6TJX.js} +1 -1
  157. package/chunks/{mcp-YMG4RVMC.js → mcp-VC4CJPE5.js} +1 -1
  158. package/chunks/{memory-7STURUXK.js → memory-S6OJA3ZD.js} +1 -1
  159. package/chunks/mn-JMS6SWTO.js +8 -0
  160. package/chunks/{model-call-collection-WBWTO3EG.js → model-call-collection-MJZWRQSU.js} +1 -1
  161. package/chunks/{model-configuration-6KCZZSZD.js → model-configuration-SKU6L3QI.js} +1 -1
  162. package/chunks/{modelConfigUtils-Z2EKFSPN.js → modelConfigUtils-TJCB6NXT.js} +1 -1
  163. package/chunks/{monitor-U5E33JO6.js → monitor-M3PNLCYP.js} +1 -1
  164. package/chunks/{nonInteractiveCli-BVCL5I5R.js → nonInteractiveCli-MR7JLAWU.js} +1 -1
  165. package/chunks/{nonInteractiveToolExecutor-B4EUOMYF.js → nonInteractiveToolExecutor-YKA6JMTY.js} +1 -1
  166. package/chunks/{notebook-edit-MXKD5J2C.js → notebook-edit-ENTFB5D7.js} +1 -1
  167. package/chunks/{omni-I5YECZBW.js → omni-6YBX4R6K.js} +1 -1
  168. package/chunks/{openaiContentGenerator-Q5SINFJJ.js → openaiContentGenerator-XRXX33FY.js} +1 -1
  169. package/chunks/{openaiResponsesContentGenerator-R3XCZLZY.js → openaiResponsesContentGenerator-L6ONEHMR.js} +1 -1
  170. package/chunks/{pidfile-UOGUNUTK.js → pidfile-XR4JF2Z6.js} +1 -1
  171. package/chunks/{processUtils-QGQGZHBA.js → processUtils-GQYNJRBJ.js} +1 -1
  172. package/chunks/{prompt-terminal-ledger-L57JMVSR.js → prompt-terminal-ledger-7BM7YDLG.js} +1 -1
  173. package/chunks/{qwenContentGenerator-UKZ237LC.js → qwenContentGenerator-QSA32XEL.js} +1 -1
  174. package/chunks/{reactive-degrade-3OM3HWVA.js → reactive-degrade-TFNBAAPZ.js} +1 -1
  175. package/chunks/{read-file-63ZLWMOW.js → read-file-VD7OFO2E.js} +1 -1
  176. package/chunks/{resumeHistoryUtils-R5YQS4YQ.js → resumeHistoryUtils-2B4KPI7G.js} +1 -1
  177. package/chunks/{review-AT6OWVDO.js → review-C365WGCW.js} +1 -1
  178. package/chunks/{ripGrep-7KBZGTPV.js → ripGrep-D7WPMBXR.js} +1 -1
  179. package/chunks/{run-qwen-serve-CLBG7W6F.js → run-qwen-serve-NZWQHWQA.js} +1 -1
  180. package/chunks/{runtime-R3QIGB7U.js → runtime-J6SPBSCS.js} +1 -1
  181. package/chunks/{sandboxConfig-PM3ZRQYV.js → sandboxConfig-QS2XBPZG.js} +1 -1
  182. package/chunks/{scheduled-tasks-PUMNN5XV.js → scheduled-tasks-YNNIOOPM.js} +1 -1
  183. package/chunks/{scheduler-KTPM226B.js → scheduler-KCMSPHON.js} +1 -1
  184. package/chunks/{search-memory-7I5MGDNV.js → search-memory-EUBJ7IAV.js} +1 -1
  185. package/chunks/{send-message-J526AEBI.js → send-message-CWWZUPSK.js} +1 -1
  186. package/chunks/{serve-KLTMPK4W.js → serve-4CB4BWJ5.js} +1 -1
  187. package/chunks/{server-VLRNY6KG.js → server-JNANUIGC.js} +3 -3
  188. package/chunks/{session-2EB57NXY.js → session-3LQLXPUA.js} +1 -1
  189. package/chunks/{session-attachments-root-I7TESMWL.js → session-attachments-root-BWIVWFHJ.js} +1 -1
  190. package/chunks/{session-execution-engine-selector-5FAMSPSO.js → session-execution-engine-selector-5OLRX57L.js} +1 -1
  191. package/chunks/{session-pr-refresh-JCPVQPNJ.js → session-pr-refresh-RLF3EXS3.js} +1 -1
  192. package/chunks/{sessionService-YRW2IFPR.js → sessionService-U7ACD2HP.js} +1 -1
  193. package/chunks/{settings-KO2Q47JP.js → settings-FTGWYTUH.js} +1 -1
  194. package/chunks/{shell-OLZVNTQZ.js → shell-E4RENYQC.js} +1 -1
  195. package/chunks/{skill-XW2AQS7M.js → skill-OLNPHRWB.js} +1 -1
  196. package/chunks/{skill-settings-TKAVQ4XP.js → skill-settings-R2BV2GEK.js} +1 -1
  197. package/chunks/{spawnChannel-MBGCTK2J.js → spawnChannel-LOPAR5T2.js} +1 -1
  198. package/chunks/{standalone-update-A3YLLIAN.js → standalone-update-IGDX2RGN.js} +1 -1
  199. package/chunks/{start-opentui-ui-G5ROAR4V.js → start-opentui-ui-33QLBNRC.js} +1 -1
  200. package/chunks/{startInteractiveUI-PZQR4U53.js → startInteractiveUI-RQKHD7MM.js} +1 -1
  201. package/chunks/{team-create-S5ZY2UMF.js → team-create-HAVKHNU5.js} +1 -1
  202. package/chunks/{team-plan-approval-KX6RXEST.js → team-plan-approval-7MCQX67C.js} +1 -1
  203. package/chunks/{terminal-image-renderer-SCJREXE6.js → terminal-image-renderer-XT5JVEO6.js} +1 -1
  204. package/chunks/{theme-manager-DZSM4EBR.js → theme-manager-DR5EYGLT.js} +1 -1
  205. package/chunks/{tool-call-UK56SWCT.js → tool-call-LZHZ5RVH.js} +1 -1
  206. package/chunks/{tool-result-media-JLLSLGFL.js → tool-result-media-XCXCF4YC.js} +1 -1
  207. package/chunks/{tool-search-OWPFLVV5.js → tool-search-K6S3ON7M.js} +1 -1
  208. package/chunks/{total-session-admission-NQU4ACKH.js → total-session-admission-LGSS2VWS.js} +1 -1
  209. package/chunks/{trustedFolders-N7GXFYSF.js → trustedFolders-IIR2UZRL.js} +1 -1
  210. package/chunks/{update-relaunch-5SPXXHM2.js → update-relaunch-WVIFX5CN.js} +1 -1
  211. package/chunks/{updateCheck-VXUIX2XG.js → updateCheck-CMEWLLZJ.js} +1 -1
  212. package/chunks/{upload-config-OWLL4SRQ.js → upload-config-TCCFCNCD.js} +1 -1
  213. package/chunks/{useAutoAcceptIndicator-OUYRR56F.js → useAutoAcceptIndicator-5RTTH3OW.js} +1 -1
  214. package/chunks/{validateNonInterActiveAuth-PSVJO5HK.js → validateNonInterActiveAuth-AO336KDX.js} +1 -1
  215. package/chunks/{version-C26S7UAW.js → version-JYWKKMNP.js} +1 -1
  216. package/chunks/{web-fetch-AYOYV7R4.js → web-fetch-HWTAWXFM.js} +1 -1
  217. package/chunks/{web-search-DAREKD3Z.js → web-search-HAI5LW3G.js} +1 -1
  218. package/chunks/{workflow-WBGPKVO6.js → workflow-BZ2YFGF6.js} +1 -1
  219. package/chunks/{workflow-ancestor-trust-GEEB53TB.js → workflow-ancestor-trust-26TFXFPO.js} +1 -1
  220. package/chunks/{workspace-agents-IMAQME4W.js → workspace-agents-DLI4JQJZ.js} +1 -1
  221. package/chunks/{workspace-providers-status-VALHVEU2.js → workspace-providers-status-64C7DJZU.js} +1 -1
  222. package/chunks/{workspace-recovery-worker-AIAVRDGU.js → workspace-recovery-worker-IFRT3KKP.js} +1 -1
  223. package/chunks/{workspace-registration-store-FXEGZG3L.js → workspace-registration-store-MYKJM2SK.js} +1 -1
  224. package/chunks/{workspace-registry-GYFFHWCD.js → workspace-registry-GZJRONAY.js} +1 -1
  225. package/chunks/{workspace-runtime-coordinator-VZ462TLU.js → workspace-runtime-coordinator-44KW6HSN.js} +1 -1
  226. package/chunks/{workspace-service-5DIZM4IZ.js → workspace-service-YHTSZYYD.js} +1 -1
  227. package/chunks/{workspace-skills-status-DOOBVL5N.js → workspace-skills-status-NEB62X24.js} +1 -1
  228. package/chunks/{workspace-trust-reconciler-LOICVUVW.js → workspace-trust-reconciler-HZLOOZWM.js} +1 -1
  229. package/chunks/{write-file-EJNMAHQD.js → write-file-HD5LHXGL.js} +1 -1
  230. package/chunks/{zoom-image-S3OARMYP.js → zoom-image-W4BMRC5T.js} +1 -1
  231. package/cli.js +2 -2
  232. package/execution-worker.js +1 -1
  233. package/export-transcript-document.js +1 -1
  234. package/gerege.mjs +53 -15
  235. package/locales/mn.js +2702 -3774
  236. package/package.json +3 -3
  237. package/chunks/mn-YH2OTBWJ.js +0 -8
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{GIT_COMMIT_INFO}from"./chunk-5ZQWQ3RK.js";import{formatAuxModelSelectorForDisplay}from"./chunk-L42NTHIT.js";import{getCliVersion}from"./chunk-3Y6LSWEW.js";import{IdeClient}from"./chunk-Z5XENA4A.js";import{formatMemoryUsage}from"./chunk-NTRFETZB.js";import{createDebugLogger}from"./chunk-JAUJI56S.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name}from"./chunk-KBWJGX7I.js";init_esbuild_shims();init_esbuild_shims();function formatExecutionSandbox(config){const policy=config?.getShellExecutionSandbox?.();if(!policy)return void 0;const effective=policy.effectiveBackend??"unresolved";const enforcement=policy.enforcement?` (${policy.enforcement}${policy.landlockAbi?`, ABI ${policy.landlockAbi}`:""})`:"";return`tools / ${policy.requestedBackend??"auto"} \u2192 ${effective}${enforcement} / ${policy.filesystem} / command network: ${policy.network}`}__name(formatExecutionSandbox,"formatExecutionSandbox");import process from"node:process";import os from"node:os";import{execFile}from"node:child_process";var debugLogger=createDebugLogger("STATUS");var VERSION_PROBE_TIMEOUT_MS=5e3;function probeVersion(binary){return new Promise(resolve=>{execFile(binary,["--version"],{timeout:VERSION_PROBE_TIMEOUT_MS,encoding:"utf-8"},(err,stdout)=>{if(err){resolve("unknown");return}resolve(typeof stdout==="string"?stdout.trim():"unknown")})})}__name(probeVersion,"probeVersion");async function getNpmVersion(){return probeVersion("npm")}__name(getNpmVersion,"getNpmVersion");async function getGitVersion(){return probeVersion("git")}__name(getGitVersion,"getGitVersion");async function getIdeClientName(context){if(!context.services.config?.getIdeMode()){return""}try{const ideClient=await IdeClient.getInstance();return ideClient?.getDetectedIdeDisplayName()??""}catch{return""}}__name(getIdeClientName,"getIdeClientName");function getSandboxEnv(stripPrefix=false){const sandbox=process.env["SANDBOX"];if(!sandbox||sandbox==="sandbox-exec"){if(sandbox==="sandbox-exec"){const profile=process.env["SEATBELT_PROFILE"]||"unknown";return`sandbox-exec (${profile})`}return"no sandbox"}if(stripPrefix){return sandbox.replace(/^qwen-(?:code-)?/,"")}return sandbox}__name(getSandboxEnv,"getSandboxEnv");async function getSystemInfo(context){const osPlatform=process.platform;const osArch=process.arch;const osRelease=os.release();const nodeVersion=process.version;const executionSandbox=formatExecutionSandbox(context.services.config);const npmVersion=executionSandbox?"not probed (tool execution sandbox active)":await getNpmVersion();const sandboxEnv=executionSandbox??getSandboxEnv();const modelVersion=context.services.config?.getModel()||"Unknown";const cliVersion=await getCliVersion();const selectedAuthType=context.services.config?.getAuthType()||"";const ideClient=await getIdeClientName(context);const sessionId=context.services.config?.getSessionId()||"unknown";const proxy=context.services.config?.getProxy();return{cliVersion,osPlatform,osArch,osRelease,nodeVersion,npmVersion,sandboxEnv,modelVersion,selectedAuthType,ideClient,sessionId,proxy}}__name(getSystemInfo,"getSystemInfo");async function getExtendedSystemInfo(context){const baseInfo=await getSystemInfo(context);const memoryUsage=formatMemoryUsage(process.memoryUsage().rss);const sandboxEnv=formatExecutionSandbox(context.services.config)??getSandboxEnv(true);const contentGeneratorConfig=baseInfo.selectedAuthType==="openai"||baseInfo.selectedAuthType==="openai-responses"||baseInfo.selectedAuthType==="anthropic"?context.services.config?.getContentGeneratorConfig():void 0;const baseUrl=contentGeneratorConfig?.baseUrl;const apiKeyEnvKey=contentGeneratorConfig?.apiKeyEnvKey;const gitCommit=GIT_COMMIT_INFO&&!["N/A"].includes(GIT_COMMIT_INFO)?GIT_COMMIT_INFO:void 0;const fastModelSetting=context.services.settings?.merged?.fastModel||void 0;const fastModel=fastModelSetting?formatAuxModelSelectorForDisplay(fastModelSetting):void 0;const lspStatus=getLspStatus(context);return{...baseInfo,sandboxEnv,memoryUsage,baseUrl,apiKeyEnvKey,gitCommit,fastModel,lspStatus}}__name(getExtendedSystemInfo,"getExtendedSystemInfo");function getLspStatus(context){try{const snapshot=context.services.config?.getLspStatusSnapshot?.();if(!snapshot){return void 0}if(context.services.config?.getDebugMode?.()){debugLogger.debug("LSP status snapshot for /status:",snapshot)}return formatLspStatusSnapshot(snapshot)}catch(error){if(context.services.config?.getDebugMode?.()){debugLogger.debug("Unable to read LSP status snapshot for /status:",error)}return void 0}}__name(getLspStatus,"getLspStatus");function formatLspStatusSnapshot(snapshot){if(!snapshot.enabled){return"disabled"}if(snapshot.initializationError){return`enabled, initialization failed: ${snapshot.initializationError}`}if(snapshot.statusUnavailable){return"enabled, status unavailable"}if(snapshot.configuredServers===0){return"enabled, no servers configured"}const details=[snapshot.failedServers>0?`${snapshot.failedServers} failed`:"",snapshot.inProgressServers>0?`${snapshot.inProgressServers} starting`:"",snapshot.notStartedServers>0?`${snapshot.notStartedServers} not started`:""].filter(Boolean);const detailText=details.length>0?` (${details.join(", ")})`:"";return`enabled, ${snapshot.readyServers}/${snapshot.configuredServers} ready${detailText}`}__name(formatLspStatusSnapshot,"formatLspStatusSnapshot");export{formatExecutionSandbox,getNpmVersion,getGitVersion,getExtendedSystemInfo};
3
+ import{GIT_COMMIT_INFO}from"./chunk-IZ5MWA6E.js";import{formatAuxModelSelectorForDisplay}from"./chunk-L42NTHIT.js";import{getCliVersion}from"./chunk-GBSRWT7J.js";import{IdeClient}from"./chunk-2JGTWRZJ.js";import{formatMemoryUsage}from"./chunk-NTRFETZB.js";import{createDebugLogger}from"./chunk-JAUJI56S.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name}from"./chunk-KBWJGX7I.js";init_esbuild_shims();init_esbuild_shims();function formatExecutionSandbox(config){const policy=config?.getShellExecutionSandbox?.();if(!policy)return void 0;const effective=policy.effectiveBackend??"unresolved";const enforcement=policy.enforcement?` (${policy.enforcement}${policy.landlockAbi?`, ABI ${policy.landlockAbi}`:""})`:"";return`tools / ${policy.requestedBackend??"auto"} \u2192 ${effective}${enforcement} / ${policy.filesystem} / command network: ${policy.network}`}__name(formatExecutionSandbox,"formatExecutionSandbox");import process from"node:process";import os from"node:os";import{execFile}from"node:child_process";var debugLogger=createDebugLogger("STATUS");var VERSION_PROBE_TIMEOUT_MS=5e3;function probeVersion(binary){return new Promise(resolve=>{execFile(binary,["--version"],{timeout:VERSION_PROBE_TIMEOUT_MS,encoding:"utf-8"},(err,stdout)=>{if(err){resolve("unknown");return}resolve(typeof stdout==="string"?stdout.trim():"unknown")})})}__name(probeVersion,"probeVersion");async function getNpmVersion(){return probeVersion("npm")}__name(getNpmVersion,"getNpmVersion");async function getGitVersion(){return probeVersion("git")}__name(getGitVersion,"getGitVersion");async function getIdeClientName(context){if(!context.services.config?.getIdeMode()){return""}try{const ideClient=await IdeClient.getInstance();return ideClient?.getDetectedIdeDisplayName()??""}catch{return""}}__name(getIdeClientName,"getIdeClientName");function getSandboxEnv(stripPrefix=false){const sandbox=process.env["SANDBOX"];if(!sandbox||sandbox==="sandbox-exec"){if(sandbox==="sandbox-exec"){const profile=process.env["SEATBELT_PROFILE"]||"unknown";return`sandbox-exec (${profile})`}return"no sandbox"}if(stripPrefix){return sandbox.replace(/^qwen-(?:code-)?/,"")}return sandbox}__name(getSandboxEnv,"getSandboxEnv");async function getSystemInfo(context){const osPlatform=process.platform;const osArch=process.arch;const osRelease=os.release();const nodeVersion=process.version;const executionSandbox=formatExecutionSandbox(context.services.config);const npmVersion=executionSandbox?"not probed (tool execution sandbox active)":await getNpmVersion();const sandboxEnv=executionSandbox??getSandboxEnv();const modelVersion=context.services.config?.getModel()||"Unknown";const cliVersion=await getCliVersion();const selectedAuthType=context.services.config?.getAuthType()||"";const ideClient=await getIdeClientName(context);const sessionId=context.services.config?.getSessionId()||"unknown";const proxy=context.services.config?.getProxy();return{cliVersion,osPlatform,osArch,osRelease,nodeVersion,npmVersion,sandboxEnv,modelVersion,selectedAuthType,ideClient,sessionId,proxy}}__name(getSystemInfo,"getSystemInfo");async function getExtendedSystemInfo(context){const baseInfo=await getSystemInfo(context);const memoryUsage=formatMemoryUsage(process.memoryUsage().rss);const sandboxEnv=formatExecutionSandbox(context.services.config)??getSandboxEnv(true);const contentGeneratorConfig=baseInfo.selectedAuthType==="openai"||baseInfo.selectedAuthType==="openai-responses"||baseInfo.selectedAuthType==="anthropic"?context.services.config?.getContentGeneratorConfig():void 0;const baseUrl=contentGeneratorConfig?.baseUrl;const apiKeyEnvKey=contentGeneratorConfig?.apiKeyEnvKey;const gitCommit=GIT_COMMIT_INFO&&!["N/A"].includes(GIT_COMMIT_INFO)?GIT_COMMIT_INFO:void 0;const fastModelSetting=context.services.settings?.merged?.fastModel||void 0;const fastModel=fastModelSetting?formatAuxModelSelectorForDisplay(fastModelSetting):void 0;const lspStatus=getLspStatus(context);return{...baseInfo,sandboxEnv,memoryUsage,baseUrl,apiKeyEnvKey,gitCommit,fastModel,lspStatus}}__name(getExtendedSystemInfo,"getExtendedSystemInfo");function getLspStatus(context){try{const snapshot=context.services.config?.getLspStatusSnapshot?.();if(!snapshot){return void 0}if(context.services.config?.getDebugMode?.()){debugLogger.debug("LSP status snapshot for /status:",snapshot)}return formatLspStatusSnapshot(snapshot)}catch(error){if(context.services.config?.getDebugMode?.()){debugLogger.debug("Unable to read LSP status snapshot for /status:",error)}return void 0}}__name(getLspStatus,"getLspStatus");function formatLspStatusSnapshot(snapshot){if(!snapshot.enabled){return"disabled"}if(snapshot.initializationError){return`enabled, initialization failed: ${snapshot.initializationError}`}if(snapshot.statusUnavailable){return"enabled, status unavailable"}if(snapshot.configuredServers===0){return"enabled, no servers configured"}const details=[snapshot.failedServers>0?`${snapshot.failedServers} failed`:"",snapshot.inProgressServers>0?`${snapshot.inProgressServers} starting`:"",snapshot.notStartedServers>0?`${snapshot.notStartedServers} not started`:""].filter(Boolean);const detailText=details.length>0?` (${details.join(", ")})`:"";return`enabled, ${snapshot.readyServers}/${snapshot.configuredServers} ready${detailText}`}__name(formatLspStatusSnapshot,"formatLspStatusSnapshot");export{formatExecutionSandbox,getNpmVersion,getGitVersion,getExtendedSystemInfo};
4
4
  /**
5
5
  * @license
6
6
  * Copyright 2026 Qwen Team
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{MAX_WORKSPACE_PATH_LENGTH,canonicalizeWorkspace}from"./chunk-L5UULTGF.js";import{getGlobalQwenDirLite}from"./chunk-PTHIQ7ZN.js";import{isWithinRoot}from"./chunk-IDXJIDME.js";import{isUnverifiableIdentityError,openNoFollow}from"./chunk-QXQGUM3Y.js";import{require_proper_lockfile}from"./chunk-YIW3H46P.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name,__toESM}from"./chunk-KBWJGX7I.js";init_esbuild_shims();var import_proper_lockfile=__toESM(require_proper_lockfile(),1);import{createHash}from"node:crypto";import*as fs from"node:fs/promises";import*as os from"node:os";import*as path from"node:path";init_esbuild_shims();var MAX_REGISTERED_WORKSPACES=256;var MAX_CONFIGURED_REGISTERED_WORKSPACES=256;var QWEN_SERVE_MAX_WORKSPACES_ENV="QWEN_SERVE_MAX_WORKSPACES";function resolveMaxRegisteredWorkspaces(configured,env){const raw=env[QWEN_SERVE_MAX_WORKSPACES_ENV];const value=configured??(raw===void 0?MAX_REGISTERED_WORKSPACES:/^\d+$/.test(raw.trim())?Number(raw.trim()):Number.NaN);if(!Number.isSafeInteger(value)||value<1||value>MAX_CONFIGURED_REGISTERED_WORKSPACES){const source=configured===void 0?`${QWEN_SERVE_MAX_WORKSPACES_ENV}=${JSON.stringify(raw)}`:`maxRegisteredWorkspaces option ${String(configured)}`;throw new TypeError(`Invalid ${source}: must be an integer from 1 to ${MAX_CONFIGURED_REGISTERED_WORKSPACES}.`)}return value}__name(resolveMaxRegisteredWorkspaces,"resolveMaxRegisteredWorkspaces");var DuplicateWorkspaceInputError=class extends Error{static{__name(this,"DuplicateWorkspaceInputError")}constructor(workspace){super(`Duplicate --workspace value resolves to ${JSON.stringify(workspace)}. Pass distinct --workspace values.`);this.name="DuplicateWorkspaceInputError"}};var NestedWorkspaceInputError=class extends Error{static{__name(this,"NestedWorkspaceInputError")}constructor(parent,child){super(`Nested --workspace values are not supported yet: ${JSON.stringify(child)} is inside ${JSON.stringify(parent)}. Pass non-nested --workspace values.`);this.name="NestedWorkspaceInputError"}};var MissingWorkspaceInputError=class extends Error{static{__name(this,"MissingWorkspaceInputError")}constructor(){super("--workspace requires a value.");this.name="MissingWorkspaceInputError"}};function normalizeWorkspaceInputs(workspace){if(Array.isArray(workspace)){if(workspace.length===0){throw new MissingWorkspaceInputError}return workspace.map(value=>String(value))}if(workspace===void 0)return[process.cwd()];return[String(workspace)]}__name(normalizeWorkspaceInputs,"normalizeWorkspaceInputs");function isNestedWorkspace(parent,child){return parent!==child&&isWithinRoot(child,parent)}__name(isNestedWorkspace,"isNestedWorkspace");function rejectDuplicateOrNestedWorkspaceInputs(workspaces){if(workspaces.length<=1)return;let canonicalWorkspaces;try{canonicalWorkspaces=workspaces.map(workspace=>canonicalizeWorkspace(workspace))}catch{return}const seen=new Set;for(const workspace of canonicalWorkspaces){if(seen.has(workspace)){throw new DuplicateWorkspaceInputError(workspace)}seen.add(workspace)}for(let i=0;i<canonicalWorkspaces.length;i++){for(let j=i+1;j<canonicalWorkspaces.length;j++){const first=canonicalWorkspaces[i];const second=canonicalWorkspaces[j];if(isNestedWorkspace(first,second)){throw new NestedWorkspaceInputError(first,second)}if(isNestedWorkspace(second,first)){throw new NestedWorkspaceInputError(second,first)}}}}__name(rejectDuplicateOrNestedWorkspaceInputs,"rejectDuplicateOrNestedWorkspaceInputs");function resolveWorkspaceInputs(workspace){const workspaces=normalizeWorkspaceInputs(workspace);rejectDuplicateOrNestedWorkspaceInputs(workspaces);return workspaces}__name(resolveWorkspaceInputs,"resolveWorkspaceInputs");var SCHEMA_VERSION=1;var MAX_SECONDARY_WORKSPACES=MAX_CONFIGURED_REGISTERED_WORKSPACES-1;var MAX_STORE_BYTES=8*1024*1024;var MAX_WORKSPACE_DISPLAY_NAME_LENGTH=256;var LOCK_OPTIONS={realpath:false,stale:1e4,update:2e3,retries:{retries:120,minTimeout:10,maxTimeout:100,factor:1.2,randomize:true}};var WorkspaceDisplayNameValidationError=class extends Error{static{__name(this,"WorkspaceDisplayNameValidationError")}constructor(message){super(message);this.name="WorkspaceDisplayNameValidationError"}};function containsDisplayNameControlCharacter(value){for(const character of value){const codePoint=character.codePointAt(0);if(codePoint<=31||codePoint===127)return true}return false}__name(containsDisplayNameControlCharacter,"containsDisplayNameControlCharacter");function normalizeWorkspaceDisplayName(value){if(typeof value!=="string"){throw new WorkspaceDisplayNameValidationError("Workspace display name must be a string")}const trimmed=value.trim();if(trimmed.length>MAX_WORKSPACE_DISPLAY_NAME_LENGTH){throw new WorkspaceDisplayNameValidationError(`Workspace display name exceeds ${MAX_WORKSPACE_DISPLAY_NAME_LENGTH} characters`)}if(containsDisplayNameControlCharacter(trimmed)){throw new WorkspaceDisplayNameValidationError("Workspace display name contains control characters")}return trimmed.length===0?void 0:trimmed}__name(normalizeWorkspaceDisplayName,"normalizeWorkspaceDisplayName");var WorkspaceRegistrationStoreError=class extends Error{static{__name(this,"WorkspaceRegistrationStoreError")}constructor(message){super(message);this.name="WorkspaceRegistrationStoreError"}};var WorkspaceRegistrationStoreLimitError=class extends WorkspaceRegistrationStoreError{static{__name(this,"WorkspaceRegistrationStoreLimitError")}};var WorkspaceRegistrationStoreTooLargeError=class extends WorkspaceRegistrationStoreError{static{__name(this,"WorkspaceRegistrationStoreTooLargeError")}};var WorkspaceRegistrationStoreCommittedError=class extends WorkspaceRegistrationStoreError{static{__name(this,"WorkspaceRegistrationStoreCommittedError")}};function normalizedScopePath(primaryWorkspace){return os.platform()==="win32"?primaryWorkspace.toLowerCase():primaryWorkspace}__name(normalizedScopePath,"normalizedScopePath");function workspaceRegistrationScopeHash(primaryWorkspace){return createHash("sha256").update(normalizedScopePath(primaryWorkspace)).digest("hex")}__name(workspaceRegistrationScopeHash,"workspaceRegistrationScopeHash");function workspaceRegistrationId(workspace){return createHash("sha256").update(workspace).digest("hex").slice(0,16)}__name(workspaceRegistrationId,"workspaceRegistrationId");function getWorkspaceRegistrationStorePath(primaryWorkspace,qwenHome=getGlobalQwenDirLite()){return path.join(qwenHome,"daemon","workspaces",`${workspaceRegistrationScopeHash(primaryWorkspace)}.json`)}__name(getWorkspaceRegistrationStorePath,"getWorkspaceRegistrationStorePath");function emptySnapshot(primaryWorkspace){return{schemaVersion:SCHEMA_VERSION,primaryWorkspace,workspaces:[]}}__name(emptySnapshot,"emptySnapshot");function validateWorkspacePath(value,label){if(typeof value!=="string"||!path.isAbsolute(value)){throw new WorkspaceRegistrationStoreError(`${label} must be an absolute path`)}if(value.includes("\0")||value.length>MAX_WORKSPACE_PATH_LENGTH){throw new WorkspaceRegistrationStoreError(`${label} is invalid`)}return value}__name(validateWorkspacePath,"validateWorkspacePath");function validateStoredDisplayName(value,label){let displayName;try{displayName=normalizeWorkspaceDisplayName(value)}catch(err){throw new WorkspaceRegistrationStoreError(`${label} is invalid: ${err instanceof Error?err.message:String(err)}`)}if(displayName===void 0){throw new WorkspaceRegistrationStoreError(`${label} must not be empty`)}return displayName}__name(validateStoredDisplayName,"validateStoredDisplayName");function setSnapshotDisplayName(snapshot,registrationId,displayName){if(displayName===void 0){if(!snapshot.displayNames||!Object.hasOwn(snapshot.displayNames,registrationId)){return false}delete snapshot.displayNames[registrationId];if(Object.keys(snapshot.displayNames).length===0){delete snapshot.displayNames}return true}if(snapshot.displayNames?.[registrationId]===displayName)return false;snapshot.displayNames??={};snapshot.displayNames[registrationId]=displayName;return true}__name(setSnapshotDisplayName,"setSnapshotDisplayName");function parseSnapshot(raw,primaryWorkspace){let value;try{value=JSON.parse(raw)}catch{throw new WorkspaceRegistrationStoreError("Workspace registration store contains malformed JSON")}if(typeof value!=="object"||value===null||Array.isArray(value)){throw new WorkspaceRegistrationStoreError("Workspace registration store root must be an object")}const record=value;if(record["schemaVersion"]!==SCHEMA_VERSION){throw new WorkspaceRegistrationStoreError(`Unsupported workspace registration schema ${String(record["schemaVersion"])}`)}const storedPrimary=validateWorkspacePath(record["primaryWorkspace"],"primaryWorkspace");if(normalizedScopePath(storedPrimary)!==normalizedScopePath(primaryWorkspace)){throw new WorkspaceRegistrationStoreError("Workspace registration store primary does not match this daemon")}if(!Array.isArray(record["workspaces"])){throw new WorkspaceRegistrationStoreError("Workspace registration store workspaces must be an array")}if(record["workspaces"].length>MAX_SECONDARY_WORKSPACES){throw new WorkspaceRegistrationStoreError(`Workspace registration store exceeds ${MAX_SECONDARY_WORKSPACES} entries`)}const seen=new Set;const workspaces=record["workspaces"].map((entry,index)=>{const workspace=validateWorkspacePath(entry,`workspaces[${index}]`);const normalizedWorkspace=normalizedScopePath(workspace);if(normalizedWorkspace===normalizedScopePath(primaryWorkspace)){throw new WorkspaceRegistrationStoreError("Primary workspace cannot be stored as a secondary registration")}if(seen.has(normalizedWorkspace)){throw new WorkspaceRegistrationStoreError("Workspace registration store contains duplicate paths")}seen.add(normalizedWorkspace);return workspace});const rawDisplayNames=record["displayNames"];let displayNames;if(rawDisplayNames!==void 0){if(typeof rawDisplayNames!=="object"||rawDisplayNames===null||Array.isArray(rawDisplayNames)){throw new WorkspaceRegistrationStoreError("Workspace registration store displayNames must be an object")}const registrationIds=new Set(workspaces.map(workspaceRegistrationId));for(const[registrationId,value2]of Object.entries(rawDisplayNames)){if(!registrationIds.has(registrationId)){throw new WorkspaceRegistrationStoreError(`Workspace registration store displayNames contains unknown registration id ${JSON.stringify(registrationId)}`)}displayNames??={};displayNames[registrationId]=validateStoredDisplayName(value2,`displayNames[${JSON.stringify(registrationId)}]`)}}return{schemaVersion:SCHEMA_VERSION,primaryWorkspace,workspaces,...displayNames?{displayNames}:{}}}__name(parseSnapshot,"parseSnapshot");var updateChains=new Map;async function withInProcessLock(filePath,work){const previous=updateChains.get(filePath)??Promise.resolve();const next=previous.then(work,work);const settled=next.catch(()=>void 0).finally(()=>{if(updateChains.get(filePath)===settled)updateChains.delete(filePath)});updateChains.set(filePath,settled);return next}__name(withInProcessLock,"withInProcessLock");function compromisedLockError(){return new WorkspaceRegistrationStoreError("Workspace registration store lock was compromised")}__name(compromisedLockError,"compromisedLockError");async function acquireFileLock(filePath){await fs.mkdir(path.dirname(filePath),{recursive:true,mode:448});let compromised=false;const release=await import_proper_lockfile.default.lock(filePath,{...LOCK_OPTIONS,onCompromised:__name(()=>{compromised=true},"onCompromised")});return{assertOwned:__name(()=>{if(compromised)throw compromisedLockError()},"assertOwned"),release:__name(async()=>{try{await release()}catch(err){if(!compromised)throw err}if(compromised)throw compromisedLockError()},"release")}}__name(acquireFileLock,"acquireFileLock");var WorkspaceRegistrationStore=class{constructor(primaryWorkspace,qwenHome){this.primaryWorkspace=primaryWorkspace;validateWorkspacePath(primaryWorkspace,"primaryWorkspace");this.filePath=getWorkspaceRegistrationStorePath(primaryWorkspace,qwenHome)}static{__name(this,"WorkspaceRegistrationStore")}filePath;async read(){try{const entry=await fs.lstat(this.filePath);if(entry.isSymbolicLink()||!entry.isFile()){throw new WorkspaceRegistrationStoreError("Workspace registration store must be a regular file")}}catch(err){if(err.code==="ENOENT"){return emptySnapshot(this.primaryWorkspace)}throw err}let file;try{file=await openNoFollow(this.filePath)}catch(err){if(err.code==="ENOENT"){return emptySnapshot(this.primaryWorkspace)}if(isUnverifiableIdentityError(err)){throw new WorkspaceRegistrationStoreError("Workspace registration store identity could not be verified")}if(err.code==="ELOOP"){throw new WorkspaceRegistrationStoreError("Workspace registration store must be a regular file")}throw err}try{const stat=await file.stat();if(!stat.isFile()){throw new WorkspaceRegistrationStoreError("Workspace registration store must be a regular file")}if(stat.size>MAX_STORE_BYTES){throw new WorkspaceRegistrationStoreTooLargeError(`Workspace registration store exceeds ${MAX_STORE_BYTES} bytes`)}let buffer=Buffer.alloc(Math.max(1,Math.min(stat.size+1,MAX_STORE_BYTES+1)));let totalBytesRead=0;for(;;){if(totalBytesRead===buffer.length){if(totalBytesRead>MAX_STORE_BYTES)break;const grown=Buffer.alloc(Math.min(MAX_STORE_BYTES+1,Math.max(buffer.length*2,totalBytesRead+1)));buffer.copy(grown,0,0,totalBytesRead);buffer=grown}const{bytesRead}=await file.read(buffer,totalBytesRead,buffer.length-totalBytesRead,totalBytesRead);if(bytesRead===0)break;totalBytesRead+=bytesRead}if(totalBytesRead>MAX_STORE_BYTES){throw new WorkspaceRegistrationStoreTooLargeError(`Workspace registration store exceeds ${MAX_STORE_BYTES} bytes`)}return parseSnapshot(buffer.toString("utf8",0,totalBytesRead),this.primaryWorkspace)}finally{await file.close()}}async add(workspace,displayName,maxRegisteredWorkspaces=MAX_REGISTERED_WORKSPACES){const maxSecondaries=resolveMaxRegisteredWorkspaces(maxRegisteredWorkspaces,{})-1;validateWorkspacePath(workspace,"workspace");const normalizedDisplayName=displayName===void 0?void 0:normalizeWorkspaceDisplayName(displayName);if(normalizedScopePath(workspace)===normalizedScopePath(this.primaryWorkspace)){throw new WorkspaceRegistrationStoreError("Primary workspace cannot be stored as a secondary registration")}return this.update(snapshot=>{const normalizedWorkspace=normalizedScopePath(workspace);if(snapshot.workspaces.some(stored=>normalizedScopePath(stored)===normalizedWorkspace)){return false}if(snapshot.workspaces.length>=maxSecondaries){throw new WorkspaceRegistrationStoreLimitError(`Workspace registration store limit of ${maxSecondaries} reached`)}snapshot.workspaces.push(workspace);if(normalizedDisplayName!==void 0){snapshot.displayNames??={};snapshot.displayNames[workspaceRegistrationId(workspace)]=normalizedDisplayName}return true})}async removeById(id){return await this.removeByIds([id])>0}async setDisplayNameByIds(ids,displayName){const normalizedDisplayName=displayName===void 0?void 0:normalizeWorkspaceDisplayName(displayName);const requested=new Set(ids);if(requested.size===0)return 0;let matched=0;await this.update(snapshot=>{let changed=false;for(const workspace of snapshot.workspaces){const registrationId=workspaceRegistrationId(workspace);if(!requested.has(registrationId))continue;matched++;changed=setSnapshotDisplayName(snapshot,registrationId,normalizedDisplayName)||changed}return changed});return matched}async removeByIds(ids){const requested=new Set(ids);if(requested.size===0)return 0;let removed=0;await this.update(snapshot=>{const removedIds=new Set;const retained=snapshot.workspaces.filter(workspace=>{const registrationId=workspaceRegistrationId(workspace);if(!requested.has(registrationId))return true;removed++;removedIds.add(registrationId);return false});if(removed===0)return false;snapshot.workspaces.splice(0,snapshot.workspaces.length,...retained);for(const registrationId of removedIds){setSnapshotDisplayName(snapshot,registrationId,void 0)}return true});return removed}async update(mutate){const{atomicWriteFile}=await import("./deferred-core-runtime-DEC3N46T.js");return withInProcessLock(this.filePath,async()=>{const lock=await acquireFileLock(this.filePath);let committed=false;let changed=false;let workError;try{const snapshot=await this.read();lock.assertOwned();changed=mutate(snapshot);if(changed){const serialized=`${JSON.stringify(snapshot,null,2)}
3
+ import{MAX_WORKSPACE_PATH_LENGTH,canonicalizeWorkspace}from"./chunk-L5UULTGF.js";import{getGlobalQwenDirLite}from"./chunk-PTHIQ7ZN.js";import{isWithinRoot}from"./chunk-IDXJIDME.js";import{isUnverifiableIdentityError,openNoFollow}from"./chunk-QXQGUM3Y.js";import{require_proper_lockfile}from"./chunk-YIW3H46P.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name,__toESM}from"./chunk-KBWJGX7I.js";init_esbuild_shims();var import_proper_lockfile=__toESM(require_proper_lockfile(),1);import{createHash}from"node:crypto";import*as fs from"node:fs/promises";import*as os from"node:os";import*as path from"node:path";init_esbuild_shims();var MAX_REGISTERED_WORKSPACES=256;var MAX_CONFIGURED_REGISTERED_WORKSPACES=256;var QWEN_SERVE_MAX_WORKSPACES_ENV="QWEN_SERVE_MAX_WORKSPACES";function resolveMaxRegisteredWorkspaces(configured,env){const raw=env[QWEN_SERVE_MAX_WORKSPACES_ENV];const value=configured??(raw===void 0?MAX_REGISTERED_WORKSPACES:/^\d+$/.test(raw.trim())?Number(raw.trim()):Number.NaN);if(!Number.isSafeInteger(value)||value<1||value>MAX_CONFIGURED_REGISTERED_WORKSPACES){const source=configured===void 0?`${QWEN_SERVE_MAX_WORKSPACES_ENV}=${JSON.stringify(raw)}`:`maxRegisteredWorkspaces option ${String(configured)}`;throw new TypeError(`Invalid ${source}: must be an integer from 1 to ${MAX_CONFIGURED_REGISTERED_WORKSPACES}.`)}return value}__name(resolveMaxRegisteredWorkspaces,"resolveMaxRegisteredWorkspaces");var DuplicateWorkspaceInputError=class extends Error{static{__name(this,"DuplicateWorkspaceInputError")}constructor(workspace){super(`Duplicate --workspace value resolves to ${JSON.stringify(workspace)}. Pass distinct --workspace values.`);this.name="DuplicateWorkspaceInputError"}};var NestedWorkspaceInputError=class extends Error{static{__name(this,"NestedWorkspaceInputError")}constructor(parent,child){super(`Nested --workspace values are not supported yet: ${JSON.stringify(child)} is inside ${JSON.stringify(parent)}. Pass non-nested --workspace values.`);this.name="NestedWorkspaceInputError"}};var MissingWorkspaceInputError=class extends Error{static{__name(this,"MissingWorkspaceInputError")}constructor(){super("--workspace requires a value.");this.name="MissingWorkspaceInputError"}};function normalizeWorkspaceInputs(workspace){if(Array.isArray(workspace)){if(workspace.length===0){throw new MissingWorkspaceInputError}return workspace.map(value=>String(value))}if(workspace===void 0)return[process.cwd()];return[String(workspace)]}__name(normalizeWorkspaceInputs,"normalizeWorkspaceInputs");function isNestedWorkspace(parent,child){return parent!==child&&isWithinRoot(child,parent)}__name(isNestedWorkspace,"isNestedWorkspace");function rejectDuplicateOrNestedWorkspaceInputs(workspaces){if(workspaces.length<=1)return;let canonicalWorkspaces;try{canonicalWorkspaces=workspaces.map(workspace=>canonicalizeWorkspace(workspace))}catch{return}const seen=new Set;for(const workspace of canonicalWorkspaces){if(seen.has(workspace)){throw new DuplicateWorkspaceInputError(workspace)}seen.add(workspace)}for(let i=0;i<canonicalWorkspaces.length;i++){for(let j=i+1;j<canonicalWorkspaces.length;j++){const first=canonicalWorkspaces[i];const second=canonicalWorkspaces[j];if(isNestedWorkspace(first,second)){throw new NestedWorkspaceInputError(first,second)}if(isNestedWorkspace(second,first)){throw new NestedWorkspaceInputError(second,first)}}}}__name(rejectDuplicateOrNestedWorkspaceInputs,"rejectDuplicateOrNestedWorkspaceInputs");function resolveWorkspaceInputs(workspace){const workspaces=normalizeWorkspaceInputs(workspace);rejectDuplicateOrNestedWorkspaceInputs(workspaces);return workspaces}__name(resolveWorkspaceInputs,"resolveWorkspaceInputs");var SCHEMA_VERSION=1;var MAX_SECONDARY_WORKSPACES=MAX_CONFIGURED_REGISTERED_WORKSPACES-1;var MAX_STORE_BYTES=8*1024*1024;var MAX_WORKSPACE_DISPLAY_NAME_LENGTH=256;var LOCK_OPTIONS={realpath:false,stale:1e4,update:2e3,retries:{retries:120,minTimeout:10,maxTimeout:100,factor:1.2,randomize:true}};var WorkspaceDisplayNameValidationError=class extends Error{static{__name(this,"WorkspaceDisplayNameValidationError")}constructor(message){super(message);this.name="WorkspaceDisplayNameValidationError"}};function containsDisplayNameControlCharacter(value){for(const character of value){const codePoint=character.codePointAt(0);if(codePoint<=31||codePoint===127)return true}return false}__name(containsDisplayNameControlCharacter,"containsDisplayNameControlCharacter");function normalizeWorkspaceDisplayName(value){if(typeof value!=="string"){throw new WorkspaceDisplayNameValidationError("Workspace display name must be a string")}const trimmed=value.trim();if(trimmed.length>MAX_WORKSPACE_DISPLAY_NAME_LENGTH){throw new WorkspaceDisplayNameValidationError(`Workspace display name exceeds ${MAX_WORKSPACE_DISPLAY_NAME_LENGTH} characters`)}if(containsDisplayNameControlCharacter(trimmed)){throw new WorkspaceDisplayNameValidationError("Workspace display name contains control characters")}return trimmed.length===0?void 0:trimmed}__name(normalizeWorkspaceDisplayName,"normalizeWorkspaceDisplayName");var WorkspaceRegistrationStoreError=class extends Error{static{__name(this,"WorkspaceRegistrationStoreError")}constructor(message){super(message);this.name="WorkspaceRegistrationStoreError"}};var WorkspaceRegistrationStoreLimitError=class extends WorkspaceRegistrationStoreError{static{__name(this,"WorkspaceRegistrationStoreLimitError")}};var WorkspaceRegistrationStoreTooLargeError=class extends WorkspaceRegistrationStoreError{static{__name(this,"WorkspaceRegistrationStoreTooLargeError")}};var WorkspaceRegistrationStoreCommittedError=class extends WorkspaceRegistrationStoreError{static{__name(this,"WorkspaceRegistrationStoreCommittedError")}};function normalizedScopePath(primaryWorkspace){return os.platform()==="win32"?primaryWorkspace.toLowerCase():primaryWorkspace}__name(normalizedScopePath,"normalizedScopePath");function workspaceRegistrationScopeHash(primaryWorkspace){return createHash("sha256").update(normalizedScopePath(primaryWorkspace)).digest("hex")}__name(workspaceRegistrationScopeHash,"workspaceRegistrationScopeHash");function workspaceRegistrationId(workspace){return createHash("sha256").update(workspace).digest("hex").slice(0,16)}__name(workspaceRegistrationId,"workspaceRegistrationId");function getWorkspaceRegistrationStorePath(primaryWorkspace,qwenHome=getGlobalQwenDirLite()){return path.join(qwenHome,"daemon","workspaces",`${workspaceRegistrationScopeHash(primaryWorkspace)}.json`)}__name(getWorkspaceRegistrationStorePath,"getWorkspaceRegistrationStorePath");function emptySnapshot(primaryWorkspace){return{schemaVersion:SCHEMA_VERSION,primaryWorkspace,workspaces:[]}}__name(emptySnapshot,"emptySnapshot");function validateWorkspacePath(value,label){if(typeof value!=="string"||!path.isAbsolute(value)){throw new WorkspaceRegistrationStoreError(`${label} must be an absolute path`)}if(value.includes("\0")||value.length>MAX_WORKSPACE_PATH_LENGTH){throw new WorkspaceRegistrationStoreError(`${label} is invalid`)}return value}__name(validateWorkspacePath,"validateWorkspacePath");function validateStoredDisplayName(value,label){let displayName;try{displayName=normalizeWorkspaceDisplayName(value)}catch(err){throw new WorkspaceRegistrationStoreError(`${label} is invalid: ${err instanceof Error?err.message:String(err)}`)}if(displayName===void 0){throw new WorkspaceRegistrationStoreError(`${label} must not be empty`)}return displayName}__name(validateStoredDisplayName,"validateStoredDisplayName");function setSnapshotDisplayName(snapshot,registrationId,displayName){if(displayName===void 0){if(!snapshot.displayNames||!Object.hasOwn(snapshot.displayNames,registrationId)){return false}delete snapshot.displayNames[registrationId];if(Object.keys(snapshot.displayNames).length===0){delete snapshot.displayNames}return true}if(snapshot.displayNames?.[registrationId]===displayName)return false;snapshot.displayNames??={};snapshot.displayNames[registrationId]=displayName;return true}__name(setSnapshotDisplayName,"setSnapshotDisplayName");function parseSnapshot(raw,primaryWorkspace){let value;try{value=JSON.parse(raw)}catch{throw new WorkspaceRegistrationStoreError("Workspace registration store contains malformed JSON")}if(typeof value!=="object"||value===null||Array.isArray(value)){throw new WorkspaceRegistrationStoreError("Workspace registration store root must be an object")}const record=value;if(record["schemaVersion"]!==SCHEMA_VERSION){throw new WorkspaceRegistrationStoreError(`Unsupported workspace registration schema ${String(record["schemaVersion"])}`)}const storedPrimary=validateWorkspacePath(record["primaryWorkspace"],"primaryWorkspace");if(normalizedScopePath(storedPrimary)!==normalizedScopePath(primaryWorkspace)){throw new WorkspaceRegistrationStoreError("Workspace registration store primary does not match this daemon")}if(!Array.isArray(record["workspaces"])){throw new WorkspaceRegistrationStoreError("Workspace registration store workspaces must be an array")}if(record["workspaces"].length>MAX_SECONDARY_WORKSPACES){throw new WorkspaceRegistrationStoreError(`Workspace registration store exceeds ${MAX_SECONDARY_WORKSPACES} entries`)}const seen=new Set;const workspaces=record["workspaces"].map((entry,index)=>{const workspace=validateWorkspacePath(entry,`workspaces[${index}]`);const normalizedWorkspace=normalizedScopePath(workspace);if(normalizedWorkspace===normalizedScopePath(primaryWorkspace)){throw new WorkspaceRegistrationStoreError("Primary workspace cannot be stored as a secondary registration")}if(seen.has(normalizedWorkspace)){throw new WorkspaceRegistrationStoreError("Workspace registration store contains duplicate paths")}seen.add(normalizedWorkspace);return workspace});const rawDisplayNames=record["displayNames"];let displayNames;if(rawDisplayNames!==void 0){if(typeof rawDisplayNames!=="object"||rawDisplayNames===null||Array.isArray(rawDisplayNames)){throw new WorkspaceRegistrationStoreError("Workspace registration store displayNames must be an object")}const registrationIds=new Set(workspaces.map(workspaceRegistrationId));for(const[registrationId,value2]of Object.entries(rawDisplayNames)){if(!registrationIds.has(registrationId)){throw new WorkspaceRegistrationStoreError(`Workspace registration store displayNames contains unknown registration id ${JSON.stringify(registrationId)}`)}displayNames??={};displayNames[registrationId]=validateStoredDisplayName(value2,`displayNames[${JSON.stringify(registrationId)}]`)}}return{schemaVersion:SCHEMA_VERSION,primaryWorkspace,workspaces,...displayNames?{displayNames}:{}}}__name(parseSnapshot,"parseSnapshot");var updateChains=new Map;async function withInProcessLock(filePath,work){const previous=updateChains.get(filePath)??Promise.resolve();const next=previous.then(work,work);const settled=next.catch(()=>void 0).finally(()=>{if(updateChains.get(filePath)===settled)updateChains.delete(filePath)});updateChains.set(filePath,settled);return next}__name(withInProcessLock,"withInProcessLock");function compromisedLockError(){return new WorkspaceRegistrationStoreError("Workspace registration store lock was compromised")}__name(compromisedLockError,"compromisedLockError");async function acquireFileLock(filePath){await fs.mkdir(path.dirname(filePath),{recursive:true,mode:448});let compromised=false;const release=await import_proper_lockfile.default.lock(filePath,{...LOCK_OPTIONS,onCompromised:__name(()=>{compromised=true},"onCompromised")});return{assertOwned:__name(()=>{if(compromised)throw compromisedLockError()},"assertOwned"),release:__name(async()=>{try{await release()}catch(err){if(!compromised)throw err}if(compromised)throw compromisedLockError()},"release")}}__name(acquireFileLock,"acquireFileLock");var WorkspaceRegistrationStore=class{constructor(primaryWorkspace,qwenHome){this.primaryWorkspace=primaryWorkspace;validateWorkspacePath(primaryWorkspace,"primaryWorkspace");this.filePath=getWorkspaceRegistrationStorePath(primaryWorkspace,qwenHome)}static{__name(this,"WorkspaceRegistrationStore")}filePath;async read(){try{const entry=await fs.lstat(this.filePath);if(entry.isSymbolicLink()||!entry.isFile()){throw new WorkspaceRegistrationStoreError("Workspace registration store must be a regular file")}}catch(err){if(err.code==="ENOENT"){return emptySnapshot(this.primaryWorkspace)}throw err}let file;try{file=await openNoFollow(this.filePath)}catch(err){if(err.code==="ENOENT"){return emptySnapshot(this.primaryWorkspace)}if(isUnverifiableIdentityError(err)){throw new WorkspaceRegistrationStoreError("Workspace registration store identity could not be verified")}if(err.code==="ELOOP"){throw new WorkspaceRegistrationStoreError("Workspace registration store must be a regular file")}throw err}try{const stat=await file.stat();if(!stat.isFile()){throw new WorkspaceRegistrationStoreError("Workspace registration store must be a regular file")}if(stat.size>MAX_STORE_BYTES){throw new WorkspaceRegistrationStoreTooLargeError(`Workspace registration store exceeds ${MAX_STORE_BYTES} bytes`)}let buffer=Buffer.alloc(Math.max(1,Math.min(stat.size+1,MAX_STORE_BYTES+1)));let totalBytesRead=0;for(;;){if(totalBytesRead===buffer.length){if(totalBytesRead>MAX_STORE_BYTES)break;const grown=Buffer.alloc(Math.min(MAX_STORE_BYTES+1,Math.max(buffer.length*2,totalBytesRead+1)));buffer.copy(grown,0,0,totalBytesRead);buffer=grown}const{bytesRead}=await file.read(buffer,totalBytesRead,buffer.length-totalBytesRead,totalBytesRead);if(bytesRead===0)break;totalBytesRead+=bytesRead}if(totalBytesRead>MAX_STORE_BYTES){throw new WorkspaceRegistrationStoreTooLargeError(`Workspace registration store exceeds ${MAX_STORE_BYTES} bytes`)}return parseSnapshot(buffer.toString("utf8",0,totalBytesRead),this.primaryWorkspace)}finally{await file.close()}}async add(workspace,displayName,maxRegisteredWorkspaces=MAX_REGISTERED_WORKSPACES){const maxSecondaries=resolveMaxRegisteredWorkspaces(maxRegisteredWorkspaces,{})-1;validateWorkspacePath(workspace,"workspace");const normalizedDisplayName=displayName===void 0?void 0:normalizeWorkspaceDisplayName(displayName);if(normalizedScopePath(workspace)===normalizedScopePath(this.primaryWorkspace)){throw new WorkspaceRegistrationStoreError("Primary workspace cannot be stored as a secondary registration")}return this.update(snapshot=>{const normalizedWorkspace=normalizedScopePath(workspace);if(snapshot.workspaces.some(stored=>normalizedScopePath(stored)===normalizedWorkspace)){return false}if(snapshot.workspaces.length>=maxSecondaries){throw new WorkspaceRegistrationStoreLimitError(`Workspace registration store limit of ${maxSecondaries} reached`)}snapshot.workspaces.push(workspace);if(normalizedDisplayName!==void 0){snapshot.displayNames??={};snapshot.displayNames[workspaceRegistrationId(workspace)]=normalizedDisplayName}return true})}async removeById(id){return await this.removeByIds([id])>0}async setDisplayNameByIds(ids,displayName){const normalizedDisplayName=displayName===void 0?void 0:normalizeWorkspaceDisplayName(displayName);const requested=new Set(ids);if(requested.size===0)return 0;let matched=0;await this.update(snapshot=>{let changed=false;for(const workspace of snapshot.workspaces){const registrationId=workspaceRegistrationId(workspace);if(!requested.has(registrationId))continue;matched++;changed=setSnapshotDisplayName(snapshot,registrationId,normalizedDisplayName)||changed}return changed});return matched}async removeByIds(ids){const requested=new Set(ids);if(requested.size===0)return 0;let removed=0;await this.update(snapshot=>{const removedIds=new Set;const retained=snapshot.workspaces.filter(workspace=>{const registrationId=workspaceRegistrationId(workspace);if(!requested.has(registrationId))return true;removed++;removedIds.add(registrationId);return false});if(removed===0)return false;snapshot.workspaces.splice(0,snapshot.workspaces.length,...retained);for(const registrationId of removedIds){setSnapshotDisplayName(snapshot,registrationId,void 0)}return true});return removed}async update(mutate){const{atomicWriteFile}=await import("./deferred-core-runtime-JF42NQJK.js");return withInProcessLock(this.filePath,async()=>{const lock=await acquireFileLock(this.filePath);let committed=false;let changed=false;let workError;try{const snapshot=await this.read();lock.assertOwned();changed=mutate(snapshot);if(changed){const serialized=`${JSON.stringify(snapshot,null,2)}
4
4
  `;if(Buffer.byteLength(serialized,"utf8")>MAX_STORE_BYTES){throw new WorkspaceRegistrationStoreTooLargeError(`Workspace registration store exceeds ${MAX_STORE_BYTES} bytes`)}lock.assertOwned();await atomicWriteFile(this.filePath,serialized,{mode:384,forceMode:true,noFollow:true});committed=true}}catch(err){workError=err}let releaseError;try{await lock.release()}catch(err){releaseError=committed?new WorkspaceRegistrationStoreCommittedError(`Workspace registration update committed but lock release failed: ${err instanceof Error?err.message:String(err)}`):err}if(workError instanceof Error&&releaseError!==void 0&&workError.cause===void 0){workError.cause=releaseError}if(workError!==void 0)throw workError;if(releaseError!==void 0)throw releaseError;return changed})}};export{MAX_REGISTERED_WORKSPACES,resolveMaxRegisteredWorkspaces,resolveWorkspaceInputs,MAX_WORKSPACE_DISPLAY_NAME_LENGTH,WorkspaceDisplayNameValidationError,normalizeWorkspaceDisplayName,WorkspaceRegistrationStoreError,WorkspaceRegistrationStoreLimitError,WorkspaceRegistrationStoreTooLargeError,WorkspaceRegistrationStoreCommittedError,workspaceRegistrationScopeHash,workspaceRegistrationId,getWorkspaceRegistrationStorePath,WorkspaceRegistrationStore};
5
5
  /**
6
6
  * @license
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{functionResponsePartsToString}from"./chunk-UJYOILZR.js";import{observeHeadlessToolResultProjection,observeHeadlessToolResultWire}from"./chunk-26ISBUM7.js";import{projectJsonStringToByteBudget}from"./chunk-WQUA4G2X.js";import{createNotStartedToolErrorResponse,parseAndFormatApiError,toolResultBoundaryArtifact}from"./chunk-Z5XENA4A.js";import{shellResultText}from"./chunk-T7CHK6C2.js";import{formatVisionBridgeNoticeDisplay,isVisionBridgeNoticeDisplay}from"./chunk-ZWPSBU7K.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name}from"./chunk-KBWJGX7I.js";init_esbuild_shims();import{randomUUID as randomUUID2}from"node:crypto";init_esbuild_shims();import{randomUUID}from"node:crypto";init_esbuild_shims();var HEADLESS_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET=65536;var HEADLESS_TOOL_RESULT_TEXT_TRUNCATION_MARKER="\n[... truncated for Headless transport ...]\n";function projectHeadlessToolResultContent(value){return projectJsonStringToByteBudget(value,HEADLESS_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET,HEADLESS_TOOL_RESULT_TEXT_TRUNCATION_MARKER)}__name(projectHeadlessToolResultContent,"projectHeadlessToolResultContent");var BaseJsonOutputAdapter=class{static{__name(this,"BaseJsonOutputAdapter")}config;mainAgentMessageState;subagentMessageStates=new Map;lastAssistantMessage=null;permissionDenials=[];constructor(config){this.config=config;this.mainAgentMessageState=this.createMessageState()}createMessageState(){return{messageId:null,blocks:[],openBlocks:new Set,usage:this.createUsage(),messageStarted:false,finalized:false,currentBlockType:null}}getMessageState(parentToolUseId){if(parentToolUseId===null){return this.mainAgentMessageState}let state=this.subagentMessageStates.get(parentToolUseId);if(!state){state=this.createMessageState();this.subagentMessageStates.set(parentToolUseId,state)}return state}createUsage(metadata){const usage={input_tokens:0,output_tokens:0};if(!metadata){return usage}if(typeof metadata.promptTokenCount==="number"){usage.input_tokens=metadata.promptTokenCount}if(typeof metadata.candidatesTokenCount==="number"){usage.output_tokens=metadata.candidatesTokenCount}if(typeof metadata.cachedContentTokenCount==="number"){usage.cache_read_input_tokens=metadata.cachedContentTokenCount}if(typeof metadata.totalTokenCount==="number"){usage.total_tokens=metadata.totalTokenCount}return usage}buildMessage(parentToolUseId){const state=this.getMessageState(parentToolUseId);if(!state.messageId){throw new Error("Message not started")}if(state.blocks.length>0){const blockTypes=new Set(state.blocks.map(block=>block.type));if(blockTypes.size>1){throw new Error(`Assistant message must contain only one type of ContentBlock, found: ${Array.from(blockTypes).join(", ")}`)}}const stopReason=state.blocks.length>0&&state.blocks.every(block=>block.type==="tool_use")?"tool_use":null;return{type:"assistant",uuid:state.messageId,session_id:this.config.getSessionId(),parent_tool_use_id:parentToolUseId,message:{id:state.messageId,type:"message",role:"assistant",model:this.config.getModel(),content:state.blocks,stop_reason:stopReason,usage:state.usage}}}finalizePendingBlocks(state,parentToolUseId){const actualParentToolUseId=parentToolUseId??null;const lastBlock=state.blocks[state.blocks.length-1];if(!lastBlock){return}const index=state.blocks.length-1;if(!state.openBlocks.has(index)){return}if(lastBlock.type==="text"||lastBlock.type==="thinking"){this.onBlockClosed(state,index,actualParentToolUseId);this.closeBlock(state,index)}}openBlock(state,index,_block){state.openBlocks.add(index)}closeBlock(state,index){if(!state.openBlocks.has(index)){return}state.openBlocks.delete(index)}ensureBlockTypeConsistency(state,targetType,parentToolUseId){if(state.currentBlockType===targetType){return}if(state.currentBlockType===null){state.currentBlockType=targetType;return}this.finalizeAssistantMessageInternal(state,parentToolUseId);this.startAssistantMessageInternal(state);state.currentBlockType=targetType}startAssistantMessageInternal(state){state.messageId=randomUUID();state.blocks=[];state.openBlocks=new Set;state.usage=this.createUsage();state.messageStarted=false;state.finalized=false;state.currentBlockType=null}finalizeAssistantMessageInternal(state,parentToolUseId){if(state.finalized){return this.buildMessage(parentToolUseId)}state.finalized=true;this.finalizePendingBlocks(state,parentToolUseId);const orderedOpenBlocks=Array.from(state.openBlocks).sort((a,b)=>a-b);for(const index of orderedOpenBlocks){this.onBlockClosed(state,index,parentToolUseId);this.closeBlock(state,index)}const message=this.buildMessage(parentToolUseId);if(state.messageStarted){this.emitMessageImpl(message)}return message}emitControlMessageImpl(_message){}onTextBlockCreated(_state,_index,_block,_parentToolUseId){}onTextAppended(_state,_index,_fragment,_parentToolUseId){}onThinkingBlockCreated(_state,_index,_block,_parentToolUseId){}onThinkingAppended(_state,_index,_fragment,_parentToolUseId){}onToolUseBlockCreated(_state,_index,_block,_parentToolUseId){}onToolUseInputSet(_state,_index,_input,_parentToolUseId){}onBlockClosed(_state,_index,_parentToolUseId){}onEnsureMessageStarted(_state,_parentToolUseId){}getSessionId(){return this.config.getSessionId()}getModel(){return this.config.getModel()}startAssistantMessage(){this.startAssistantMessageInternal(this.mainAgentMessageState)}restartAttempt(preserveText,discardedToolCalls){if(preserveText){const discardedIds=new Set(discardedToolCalls.map(request=>request.callId));if(discardedIds.size>0){const state=this.mainAgentMessageState;const retainedBlocks=[];const retainedOpenBlocks=new Set;for(const[index,block]of state.blocks.entries()){if(block.type==="tool_use"&&discardedIds.has(block.id)){continue}const retainedIndex=retainedBlocks.length;retainedBlocks.push(block);if(state.openBlocks.has(index)){retainedOpenBlocks.add(retainedIndex)}}state.blocks=retainedBlocks;state.openBlocks=retainedOpenBlocks;state.currentBlockType=retainedBlocks.at(-1)?.type??null;state.messageStarted=retainedBlocks.length>0}return}this.startAssistantMessageInternal(this.mainAgentMessageState)}emitDiscardedAttemptToolResults(discardedToolCalls){const message="Skipped because the provider attempt was retried before execution.";for(const request of discardedToolCalls){this.emitToolResult(request,createNotStartedToolErrorResponse(request,message))}}processEvent(event){const state=this.mainAgentMessageState;if(state.finalized){return}switch(event.type){case"content":this.appendText(state,event.value,null);break;case"citation":if(typeof event.value==="string"){this.appendText(state,`
3
+ import{functionResponsePartsToString}from"./chunk-GSPGIGO5.js";import{observeHeadlessToolResultProjection,observeHeadlessToolResultWire}from"./chunk-BPFFRPWE.js";import{projectJsonStringToByteBudget}from"./chunk-WQUA4G2X.js";import{createNotStartedToolErrorResponse,parseAndFormatApiError,toolResultBoundaryArtifact}from"./chunk-2JGTWRZJ.js";import{shellResultText}from"./chunk-T7CHK6C2.js";import{formatVisionBridgeNoticeDisplay,isVisionBridgeNoticeDisplay}from"./chunk-ZWPSBU7K.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name}from"./chunk-KBWJGX7I.js";init_esbuild_shims();import{randomUUID as randomUUID2}from"node:crypto";init_esbuild_shims();import{randomUUID}from"node:crypto";init_esbuild_shims();var HEADLESS_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET=65536;var HEADLESS_TOOL_RESULT_TEXT_TRUNCATION_MARKER="\n[... truncated for Headless transport ...]\n";function projectHeadlessToolResultContent(value){return projectJsonStringToByteBudget(value,HEADLESS_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET,HEADLESS_TOOL_RESULT_TEXT_TRUNCATION_MARKER)}__name(projectHeadlessToolResultContent,"projectHeadlessToolResultContent");var BaseJsonOutputAdapter=class{static{__name(this,"BaseJsonOutputAdapter")}config;mainAgentMessageState;subagentMessageStates=new Map;lastAssistantMessage=null;permissionDenials=[];constructor(config){this.config=config;this.mainAgentMessageState=this.createMessageState()}createMessageState(){return{messageId:null,blocks:[],openBlocks:new Set,usage:this.createUsage(),messageStarted:false,finalized:false,currentBlockType:null}}getMessageState(parentToolUseId){if(parentToolUseId===null){return this.mainAgentMessageState}let state=this.subagentMessageStates.get(parentToolUseId);if(!state){state=this.createMessageState();this.subagentMessageStates.set(parentToolUseId,state)}return state}createUsage(metadata){const usage={input_tokens:0,output_tokens:0};if(!metadata){return usage}if(typeof metadata.promptTokenCount==="number"){usage.input_tokens=metadata.promptTokenCount}if(typeof metadata.candidatesTokenCount==="number"){usage.output_tokens=metadata.candidatesTokenCount}if(typeof metadata.cachedContentTokenCount==="number"){usage.cache_read_input_tokens=metadata.cachedContentTokenCount}if(typeof metadata.totalTokenCount==="number"){usage.total_tokens=metadata.totalTokenCount}return usage}buildMessage(parentToolUseId){const state=this.getMessageState(parentToolUseId);if(!state.messageId){throw new Error("Message not started")}if(state.blocks.length>0){const blockTypes=new Set(state.blocks.map(block=>block.type));if(blockTypes.size>1){throw new Error(`Assistant message must contain only one type of ContentBlock, found: ${Array.from(blockTypes).join(", ")}`)}}const stopReason=state.blocks.length>0&&state.blocks.every(block=>block.type==="tool_use")?"tool_use":null;return{type:"assistant",uuid:state.messageId,session_id:this.config.getSessionId(),parent_tool_use_id:parentToolUseId,message:{id:state.messageId,type:"message",role:"assistant",model:this.config.getModel(),content:state.blocks,stop_reason:stopReason,usage:state.usage}}}finalizePendingBlocks(state,parentToolUseId){const actualParentToolUseId=parentToolUseId??null;const lastBlock=state.blocks[state.blocks.length-1];if(!lastBlock){return}const index=state.blocks.length-1;if(!state.openBlocks.has(index)){return}if(lastBlock.type==="text"||lastBlock.type==="thinking"){this.onBlockClosed(state,index,actualParentToolUseId);this.closeBlock(state,index)}}openBlock(state,index,_block){state.openBlocks.add(index)}closeBlock(state,index){if(!state.openBlocks.has(index)){return}state.openBlocks.delete(index)}ensureBlockTypeConsistency(state,targetType,parentToolUseId){if(state.currentBlockType===targetType){return}if(state.currentBlockType===null){state.currentBlockType=targetType;return}this.finalizeAssistantMessageInternal(state,parentToolUseId);this.startAssistantMessageInternal(state);state.currentBlockType=targetType}startAssistantMessageInternal(state){state.messageId=randomUUID();state.blocks=[];state.openBlocks=new Set;state.usage=this.createUsage();state.messageStarted=false;state.finalized=false;state.currentBlockType=null}finalizeAssistantMessageInternal(state,parentToolUseId){if(state.finalized){return this.buildMessage(parentToolUseId)}state.finalized=true;this.finalizePendingBlocks(state,parentToolUseId);const orderedOpenBlocks=Array.from(state.openBlocks).sort((a,b)=>a-b);for(const index of orderedOpenBlocks){this.onBlockClosed(state,index,parentToolUseId);this.closeBlock(state,index)}const message=this.buildMessage(parentToolUseId);if(state.messageStarted){this.emitMessageImpl(message)}return message}emitControlMessageImpl(_message){}onTextBlockCreated(_state,_index,_block,_parentToolUseId){}onTextAppended(_state,_index,_fragment,_parentToolUseId){}onThinkingBlockCreated(_state,_index,_block,_parentToolUseId){}onThinkingAppended(_state,_index,_fragment,_parentToolUseId){}onToolUseBlockCreated(_state,_index,_block,_parentToolUseId){}onToolUseInputSet(_state,_index,_input,_parentToolUseId){}onBlockClosed(_state,_index,_parentToolUseId){}onEnsureMessageStarted(_state,_parentToolUseId){}getSessionId(){return this.config.getSessionId()}getModel(){return this.config.getModel()}startAssistantMessage(){this.startAssistantMessageInternal(this.mainAgentMessageState)}restartAttempt(preserveText,discardedToolCalls){if(preserveText){const discardedIds=new Set(discardedToolCalls.map(request=>request.callId));if(discardedIds.size>0){const state=this.mainAgentMessageState;const retainedBlocks=[];const retainedOpenBlocks=new Set;for(const[index,block]of state.blocks.entries()){if(block.type==="tool_use"&&discardedIds.has(block.id)){continue}const retainedIndex=retainedBlocks.length;retainedBlocks.push(block);if(state.openBlocks.has(index)){retainedOpenBlocks.add(retainedIndex)}}state.blocks=retainedBlocks;state.openBlocks=retainedOpenBlocks;state.currentBlockType=retainedBlocks.at(-1)?.type??null;state.messageStarted=retainedBlocks.length>0}return}this.startAssistantMessageInternal(this.mainAgentMessageState)}emitDiscardedAttemptToolResults(discardedToolCalls){const message="Skipped because the provider attempt was retried before execution.";for(const request of discardedToolCalls){this.emitToolResult(request,createNotStartedToolErrorResponse(request,message))}}processEvent(event){const state=this.mainAgentMessageState;if(state.finalized){return}switch(event.type){case"content":this.appendText(state,event.value,null);break;case"citation":if(typeof event.value==="string"){this.appendText(state,`
4
4
  ${event.value}`,null)}break;case"thought":this.appendThinking(state,event.value.subject,event.value.description,null);break;case"tool_call_request":this.appendToolUse(state,event.value,null);break;case"finished":if(event.value?.usageMetadata){state.usage=this.createUsage(event.value.usageMetadata)}this.finalizePendingBlocks(state,null);break;case"error":{const errorText=parseAndFormatApiError(event.value.error,this.config.getContentGeneratorConfig()?.authType);this.appendText(state,errorText,null);break}case"model_fallback":this.emitSystemMessage("model_fallback",{fromModel:event.fromModel,toModel:event.toModel,statusCode:event.statusCode,fallbackIndex:event.fallbackIndex});break;default:break}}startSubagentAssistantMessage(parentToolUseId){const state=this.getMessageState(parentToolUseId);this.startAssistantMessageInternal(state)}finalizeSubagentAssistantMessage(parentToolUseId){const state=this.getMessageState(parentToolUseId);return this.finalizeAssistantMessageInternal(state,parentToolUseId)}emitSubagentErrorResult(errorMessage,numTurns,parentToolUseId){const state=this.getMessageState(parentToolUseId);if(state.messageStarted&&!state.finalized){this.finalizeSubagentAssistantMessage(parentToolUseId)}const errorResult=this.buildSubagentErrorResult(errorMessage,numTurns);this.emitMessageImpl(errorResult)}processSubagentToolCall(toolCall,parentToolUseId){const state=this.getMessageState(parentToolUseId);const hasText=state.blocks.some(b=>b.type==="text")||state.currentBlockType==="text"&&state.blocks.length>0;if(hasText){this.finalizeSubagentAssistantMessage(parentToolUseId);this.startSubagentAssistantMessage(parentToolUseId)}if(!state.messageId||!state.messageStarted){this.startAssistantMessageInternal(state)}this.ensureBlockTypeConsistency(state,"tool_use",parentToolUseId);this.ensureMessageStarted(state,parentToolUseId);this.finalizePendingBlocks(state,parentToolUseId);const{index}=this.createSubagentToolUseBlock(state,toolCall,parentToolUseId);this.processSubagentToolUseBlock(state,index,toolCall,parentToolUseId);this.finalizeSubagentAssistantMessage(parentToolUseId);this.startSubagentAssistantMessage(parentToolUseId)}processSubagentToolUseBlock(state,index,toolCall,parentToolUseId){const startBlock={type:"tool_use",id:toolCall.callId,name:toolCall.name,input:{}};this.onToolUseBlockCreated(state,index,startBlock,parentToolUseId);this.onToolUseInputSet(state,index,toolCall.args??{},parentToolUseId);this.onBlockClosed(state,index,parentToolUseId);this.closeBlock(state,index)}updateLastAssistantMessage(message){this.lastAssistantMessage=message}appendText(state,fragment,parentToolUseId){if(fragment.length===0){return}this.ensureBlockTypeConsistency(state,"text",parentToolUseId);this.ensureMessageStarted(state,parentToolUseId);let current=state.blocks[state.blocks.length-1];const isNewBlock=!current||current.type!=="text";if(isNewBlock){current={type:"text",text:""};const index2=state.blocks.length;state.blocks.push(current);this.openBlock(state,index2,current);this.onTextBlockCreated(state,index2,current,parentToolUseId)}current.text+=fragment;const index=state.blocks.length-1;this.onTextAppended(state,index,fragment,parentToolUseId)}appendThinking(state,subject,description,parentToolUseId){const actualParentToolUseId=parentToolUseId??null;const parts=[];if(subject&&subject.length>0){parts.push(subject)}if(description&&description.length>0){parts.push(description)}const fragment=parts.join(": ");if(!fragment){return}this.ensureBlockTypeConsistency(state,"thinking",actualParentToolUseId);this.ensureMessageStarted(state,actualParentToolUseId);let current=state.blocks[state.blocks.length-1];const isNewBlock=!current||current.type!=="thinking";if(isNewBlock){current={type:"thinking",thinking:"",signature:subject};const index2=state.blocks.length;state.blocks.push(current);this.openBlock(state,index2,current);this.onThinkingBlockCreated(state,index2,current,actualParentToolUseId)}current.thinking=`${current.thinking??""}${fragment}`;const index=state.blocks.length-1;this.onThinkingAppended(state,index,fragment,actualParentToolUseId)}appendToolUse(state,request,parentToolUseId){this.ensureBlockTypeConsistency(state,"tool_use",parentToolUseId);this.ensureMessageStarted(state,parentToolUseId);this.finalizePendingBlocks(state,parentToolUseId);const index=state.blocks.length;const block={type:"tool_use",id:request.callId,name:request.name,input:request.args};state.blocks.push(block);this.openBlock(state,index,block);const startBlock={type:"tool_use",id:request.callId,name:request.name,input:{}};this.onToolUseBlockCreated(state,index,startBlock,parentToolUseId);this.onToolUseInputSet(state,index,request.args??{},parentToolUseId);this.onBlockClosed(state,index,parentToolUseId);this.closeBlock(state,index)}ensureMessageStarted(state,parentToolUseId){if(state.messageStarted){return}state.messageStarted=true;this.onEnsureMessageStarted(state,parentToolUseId)}createSubagentToolUseBlock(state,toolCall,_parentToolUseId){const index=state.blocks.length;const block={type:"tool_use",id:toolCall.callId,name:toolCall.name,input:toolCall.args||{}};state.blocks.push(block);this.openBlock(state,index,block);return{block,index}}emitUserMessage(parts,parentToolUseId){const content=partsToContentBlock(parts);const message={type:"user",uuid:randomUUID(),session_id:this.getSessionId(),parent_tool_use_id:parentToolUseId??null,message:{role:"user",content}};this.emitMessageImpl(message)}checkResponsePartsForError(responseParts){return checkResponsePartsForError(responseParts)}emitToolResult(request,response,parentToolUseId=null){const responsePartsError=this.checkResponsePartsForError(response.responseParts);const hasError=Boolean(response.error)||Boolean(responsePartsError);if(response.error&&response.errorType==="execution_denied"){const denial={tool_name:request.name,tool_use_id:request.callId,tool_input:request.args};this.permissionDenials.push(denial)}const block={type:"tool_result",tool_use_id:request.callId,is_error:hasError};const content=toolResultContent(response);let projectedContent;if(content!==void 0){projectedContent=projectHeadlessToolResultContent(content);block.content=projectedContent}const message={type:"user",uuid:randomUUID(),session_id:this.getSessionId(),parent_tool_use_id:parentToolUseId,message:{role:"user",content:[block]}};if(content!==void 0&&projectedContent!==void 0){observeHeadlessToolResultProjection(message,content,projectedContent,request.callId,response.boundaryArtifact??toolResultBoundaryArtifact(response.persistedOutputFiles,response.artifacts))}this.emitMessageImpl(message)}emitSystemMessage(subtype,data){const systemMessage={type:"system",subtype,uuid:randomUUID(),session_id:this.getSessionId(),parent_tool_use_id:null,data};this.emitMessageImpl(systemMessage)}emitPermissionRequest(requestId,toolName,toolUseId,input,blockedPath=null,permissionSuggestions=null){const message={type:"control_request",request_id:requestId,request:{subtype:"can_use_tool",tool_name:toolName,tool_use_id:toolUseId,input,permission_suggestions:permissionSuggestions,blocked_path:blockedPath}};this.emitControlMessageImpl(message)}emitControlResponse(requestId,allowed){const message={type:"control_response",response:{subtype:"success",request_id:requestId,response:{allowed}}};this.emitControlMessageImpl(message)}emitControlError(requestId,errorMessage){const message={type:"control_response",response:{subtype:"error",request_id:requestId,error:errorMessage}};this.emitControlMessageImpl(message)}emitToolProgress(_request,_progress){}buildResultMessage(options,lastAssistantMessage){const usage=options.usage??createExtendedUsage();const resultText=options.summary??(lastAssistantMessage?extractTextFromBlocks(lastAssistantMessage.message.content):"");const baseUuid=randomUUID();const baseSessionId=this.getSessionId();if(options.isError){const errorMessage=options.errorMessage??"Unknown error";return{type:"result",subtype:options.subtype??"error_during_execution",uuid:baseUuid,session_id:baseSessionId,is_error:true,duration_ms:options.durationMs,duration_api_ms:options.apiDurationMs,num_turns:options.numTurns,usage,permission_denials:[...this.permissionDenials],error:{message:errorMessage}}}else{const hasStructured="structuredResult"in options;const normalizedStructured=hasStructured?options.structuredResult??null:void 0;const finalResult=hasStructured?JSON.stringify(normalizedStructured):resultText;const success={type:"result",subtype:options.subtype??"success",uuid:baseUuid,session_id:baseSessionId,is_error:false,duration_ms:options.durationMs,duration_api_ms:options.apiDurationMs,num_turns:options.numTurns,result:finalResult,usage,permission_denials:[...this.permissionDenials]};if(options.stats){success.stats=options.stats}if(hasStructured){success.structured_result=normalizedStructured}return success}}buildSubagentErrorResult(errorMessage,numTurns){const usage={input_tokens:0,output_tokens:0};return{type:"result",subtype:"error_during_execution",uuid:randomUUID(),session_id:this.getSessionId(),is_error:true,duration_ms:0,duration_api_ms:0,num_turns:numTurns,usage,permission_denials:[],error:{message:errorMessage}}}};function partsToContentBlock(parts){const blocks=[];let currentTextBlock=null;for(const part of parts){let textContent=null;if("text"in part&&typeof part.text==="string"){textContent=part.text}else if("functionResponse"in part&&part.functionResponse){const output=part.functionResponse.response?.["output"]??part.functionResponse.response?.["content"]??"";textContent=typeof output==="string"?output:JSON.stringify(output)}else{textContent=JSON.stringify(part)}if(textContent!==null&&textContent.length>0){if(currentTextBlock===null){currentTextBlock={type:"text",text:textContent};blocks.push(currentTextBlock)}else{currentTextBlock.text+=textContent}}}return blocks}__name(partsToContentBlock,"partsToContentBlock");function checkResponsePartsForError(responseParts){if(!responseParts||responseParts.length===0){return void 0}for(const part of responseParts){if("functionResponse"in part&&part.functionResponse?.response&&typeof part.functionResponse.response==="object"&&"error"in part.functionResponse.response&&part.functionResponse.response["error"]){const error=part.functionResponse.response["error"];return typeof error==="string"?error:String(error)}}return void 0}__name(checkResponsePartsForError,"checkResponsePartsForError");function mcpAppFallbackText(display){if(!display||typeof display!=="object"||!("type"in display)||display.type!=="mcp_app"||!("fallbackText"in display)||typeof display.fallbackText!=="string"){return void 0}const text=display.fallbackText.trim();return text.length>0?display.fallbackText:void 0}__name(mcpAppFallbackText,"mcpAppFallbackText");function toolResultContent(response){if(response.visionBridgeNotice){const content=toolResultContent({...response,visionBridgeNotice:void 0});return content?`${response.visionBridgeNotice}
5
5
  ${content}`:response.visionBridgeNotice}if(isVisionBridgeNoticeDisplay(response.resultDisplay)){const notice=formatVisionBridgeNoticeDisplay(response.resultDisplay);if(response.error){return`${notice}
6
6
  ${response.error.message}`}const responsePartsError2=checkResponsePartsForError(response.responseParts);if(responsePartsError2){return`${notice}
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{useKeypress}from"./chunk-PHDKSEIU.js";import{require_react}from"./chunk-5QKDV4CD.js";import{t}from"./chunk-ABJGFEES.js";import{APPROVAL_MODES}from"./chunk-JZK2WGXA.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name,__toESM}from"./chunk-KBWJGX7I.js";init_esbuild_shims();var import_react=__toESM(require_react(),1);var AUTO_MODE_FIRST_TIME_MESSAGE_KEY="auto_mode.entry_notice";var AUTO_MODE_FIRST_TIME_MESSAGE_FALLBACK="Auto mode enabled.\n An LLM classifier evaluates each tool call \u2014 safe actions auto-approve,\n risky ones are blocked. Exit: Shift+Tab or /approval-mode default.";var getAutoModeFirstTimeMessage=__name(()=>{const message=t(AUTO_MODE_FIRST_TIME_MESSAGE_KEY);return message===AUTO_MODE_FIRST_TIME_MESSAGE_KEY?AUTO_MODE_FIRST_TIME_MESSAGE_FALLBACK:message},"getAutoModeFirstTimeMessage");function useAutoAcceptIndicator({config,settings,addItem,onApprovalModeChange,shouldBlockTab,disabled}){const currentConfigValue=config.getApprovalMode();const[showAutoAcceptIndicator,setShowAutoAcceptIndicator]=(0,import_react.useState)(currentConfigValue);(0,import_react.useEffect)(()=>{setShowAutoAcceptIndicator(currentConfigValue)},[currentConfigValue]);(0,import_react.useEffect)(()=>{if(currentConfigValue==="auto"){emitAutoModeEntryNotices({config,settings,addItem})}},[]);useKeypress(key=>{const isShiftTab=key.shift&&key.name==="tab"&&!key.ctrl;const isWindowsTab=process.platform==="win32"&&key.name==="tab"&&!key.ctrl&&!key.meta;if(isShiftTab||isWindowsTab){if(isWindowsTab&&shouldBlockTab?.()){return}const currentMode=config.getApprovalMode();const currentIndex=APPROVAL_MODES.indexOf(currentMode);const nextIndex=currentIndex===-1?0:(currentIndex+1)%APPROVAL_MODES.length;const nextApprovalMode=APPROVAL_MODES[nextIndex];try{config.setApprovalMode(nextApprovalMode);setShowAutoAcceptIndicator(nextApprovalMode);if(nextApprovalMode==="auto"&&currentMode!=="auto"){emitAutoModeEntryNotices({config,settings,addItem})}onApprovalModeChange?.(nextApprovalMode)}catch(e){addItem?.({type:"info",text:e.message},Date.now())}}},{isActive:!disabled});return showAutoAcceptIndicator}__name(useAutoAcceptIndicator,"useAutoAcceptIndicator");function emitAutoModeEntryNotices(opts){const{config,settings,addItem}=opts;if(!addItem)return;const now=Date.now();const acknowledged=settings?.merged.ui?.autoModeAcknowledged===true;if(!acknowledged){addItem({type:"info",text:getAutoModeFirstTimeMessage()},now);if(settings){try{settings.setValue("User","ui.autoModeAcknowledged",true)}catch{}}}const pm=config.getPermissionManager?.();const stripped=pm?.getStrippedDangerousRules?.();if(stripped&&(stripped.persistent.length>0||stripped.session.length>0)){const lines=["\u2139 Auto mode temporarily disabled these allow rules"," (they would bypass the classifier):",...stripped.persistent.map(r=>` - ${r.raw} (from user settings)`),...stripped.session.map(r=>` - ${r.raw} (session)`)," These will be restored when leaving auto mode."];addItem({type:"info",text:lines.join("\n")},now+1)}}__name(emitAutoModeEntryNotices,"emitAutoModeEntryNotices");export{useAutoAcceptIndicator,emitAutoModeEntryNotices};
3
+ import{useKeypress}from"./chunk-PHDKSEIU.js";import{require_react}from"./chunk-5QKDV4CD.js";import{t}from"./chunk-NO7VTKRL.js";import{APPROVAL_MODES}from"./chunk-JZK2WGXA.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name,__toESM}from"./chunk-KBWJGX7I.js";init_esbuild_shims();var import_react=__toESM(require_react(),1);var AUTO_MODE_FIRST_TIME_MESSAGE_KEY="auto_mode.entry_notice";var AUTO_MODE_FIRST_TIME_MESSAGE_FALLBACK="Auto mode enabled.\n An LLM classifier evaluates each tool call \u2014 safe actions auto-approve,\n risky ones are blocked. Exit: Shift+Tab or /approval-mode default.";var getAutoModeFirstTimeMessage=__name(()=>{const message=t(AUTO_MODE_FIRST_TIME_MESSAGE_KEY);return message===AUTO_MODE_FIRST_TIME_MESSAGE_KEY?AUTO_MODE_FIRST_TIME_MESSAGE_FALLBACK:message},"getAutoModeFirstTimeMessage");function useAutoAcceptIndicator({config,settings,addItem,onApprovalModeChange,shouldBlockTab,disabled}){const currentConfigValue=config.getApprovalMode();const[showAutoAcceptIndicator,setShowAutoAcceptIndicator]=(0,import_react.useState)(currentConfigValue);(0,import_react.useEffect)(()=>{setShowAutoAcceptIndicator(currentConfigValue)},[currentConfigValue]);(0,import_react.useEffect)(()=>{if(currentConfigValue==="auto"){emitAutoModeEntryNotices({config,settings,addItem})}},[]);useKeypress(key=>{const isShiftTab=key.shift&&key.name==="tab"&&!key.ctrl;const isWindowsTab=process.platform==="win32"&&key.name==="tab"&&!key.ctrl&&!key.meta;if(isShiftTab||isWindowsTab){if(isWindowsTab&&shouldBlockTab?.()){return}const currentMode=config.getApprovalMode();const currentIndex=APPROVAL_MODES.indexOf(currentMode);const nextIndex=currentIndex===-1?0:(currentIndex+1)%APPROVAL_MODES.length;const nextApprovalMode=APPROVAL_MODES[nextIndex];try{config.setApprovalMode(nextApprovalMode);setShowAutoAcceptIndicator(nextApprovalMode);if(nextApprovalMode==="auto"&&currentMode!=="auto"){emitAutoModeEntryNotices({config,settings,addItem})}onApprovalModeChange?.(nextApprovalMode)}catch(e){addItem?.({type:"info",text:e.message},Date.now())}}},{isActive:!disabled});return showAutoAcceptIndicator}__name(useAutoAcceptIndicator,"useAutoAcceptIndicator");function emitAutoModeEntryNotices(opts){const{config,settings,addItem}=opts;if(!addItem)return;const now=Date.now();const acknowledged=settings?.merged.ui?.autoModeAcknowledged===true;if(!acknowledged){addItem({type:"info",text:getAutoModeFirstTimeMessage()},now);if(settings){try{settings.setValue("User","ui.autoModeAcknowledged",true)}catch{}}}const pm=config.getPermissionManager?.();const stripped=pm?.getStrippedDangerousRules?.();if(stripped&&(stripped.persistent.length>0||stripped.session.length>0)){const lines=["\u2139 Auto mode temporarily disabled these allow rules"," (they would bypass the classifier):",...stripped.persistent.map(r=>` - ${r.raw} (from user settings)`),...stripped.session.map(r=>` - ${r.raw} (session)`)," These will be restored when leaving auto mode."];addItem({type:"info",text:lines.join("\n")},now+1)}}__name(emitAutoModeEntryNotices,"emitAutoModeEntryNotices");export{useAutoAcceptIndicator,emitAutoModeEntryNotices};
4
4
  /**
5
5
  * @license
6
6
  * Copyright 2025 Google LLC
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{getUserSettingsPath,v1ToV2Migration}from"./chunk-WI4UMN3Q.js";import{require_strip_json_comments}from"./chunk-DOLUT3XC.js";import{getSystemDefaultsPath,getSystemSettingsPath}from"./chunk-PTHIQ7ZN.js";import{LoadedTrustedFolders,TrustLevel,getExplicitTrustLevel,getTrustedFoldersPath,isWorkflowAncestorDirectorySafe,parseJsoncObject}from"./chunk-BBOJUFMW.js";import{arePathsEquivalent}from"./chunk-IDXJIDME.js";import{ideContextStore}from"./chunk-Z5XENA4A.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name,__toESM}from"./chunk-KBWJGX7I.js";init_esbuild_shims();import{createHash}from"node:crypto";import*as fs from"node:fs/promises";var import_strip_json_comments=__toESM(require_strip_json_comments(),1);var MAX_TRUSTED_FOLDERS_BYTES=1024*1024;var MAX_SETTINGS_BYTES=4*1024*1024;function evaluateDaemonWorkflowAncestorTrust(snapshot,query){const denied=__name(()=>query.ancestorDirs.map(()=>false),"denied");if(snapshot.settingsError)return denied();if(!snapshot.folderTrustEnabled){return query.ancestorDirs.map(isWorkflowAncestorDirectorySafe)}if(snapshot.trustedFoldersError||snapshot.ideTrust===false&&(arePathsEquivalent(query.workspaceCwd,query.ideScopeCwd)||arePathsEquivalent(query.canonicalTargetDir,query.ideScopeCwd))){return denied()}const folders=new LoadedTrustedFolders({path:getTrustedFoldersPath(),config:{...snapshot.trustedFolders}},[]);if(folders.isPathTrusted(query.canonicalTargetDir)!==true){return denied()}return query.ancestorDirs.map(directory=>folders.isPathTrusted(directory)===true)}__name(evaluateDaemonWorkflowAncestorTrust,"evaluateDaemonWorkflowAncestorTrust");function policyError(code,filePath,error){return{code,path:filePath,message:error instanceof Error?error.message:String(error)}}__name(policyError,"policyError");async function readJsonObject(filePath,maxBytes,requireRegularFile,retryMissing=false,allowTrailingComma=false){const delays=[0,50,200];let result={};for(const delay of delays){if(delay>0){await new Promise(resolve=>setTimeout(resolve,delay))}result=await readJsonObjectOnce(filePath,maxBytes,requireRegularFile,allowTrailingComma);if(!result.error&&(!result.missing||!retryMissing))return result}return result}__name(readJsonObject,"readJsonObject");async function readJsonObjectOnce(filePath,maxBytes,requireRegularFile,allowTrailingComma){let stat2;try{stat2=await fs.lstat(filePath)}catch(error){if(error instanceof Error&&"code"in error&&error.code==="ENOENT"){return{value:{},missing:true}}return{error:policyError("trust_policy_unreadable",filePath,error)}}if(!requireRegularFile&&stat2.isSymbolicLink()){try{stat2=await fs.stat(filePath)}catch(error){return{error:policyError("trust_policy_unreadable",filePath,error)}}}if(requireRegularFile&&stat2.isSymbolicLink()||!stat2.isFile()){return{error:policyError("trust_policy_invalid",filePath,new Error("Trust policy input must be a regular file."))}}if(stat2.size>maxBytes){return{error:policyError("trust_policy_invalid",filePath,new Error(`Trust policy input exceeds ${maxBytes} bytes.`))}}try{const raw=await fs.readFile(filePath,"utf8");const parsed=allowTrailingComma?parseJsoncObject(raw):JSON.parse((0,import_strip_json_comments.default)(raw));if(typeof parsed!=="object"||parsed===null||Array.isArray(parsed)){throw new Error("Trust policy input must contain a JSON object.")}return{value:parsed}}catch(error){if(error instanceof Error&&"code"in error&&error.code==="ENOENT"){return{value:{},missing:true}}return{error:policyError("trust_policy_invalid",filePath,error)}}}__name(readJsonObjectOnce,"readJsonObjectOnce");function migrateFolderTrustSettings(value,scope){if(!value||!v1ToV2Migration.shouldMigrate(value))return value;return v1ToV2Migration.migrate(value,scope).settings}__name(migrateFolderTrustSettings,"migrateFolderTrustSettings");function folderTrustSetting(value,filePath){if(!value||!("security"in value))return{};const security=value?.["security"];if(typeof security!=="object"||security===null||Array.isArray(security)){return{error:policyError("trust_policy_invalid",filePath,new Error("`security` must be an object."))}}if(!("folderTrust"in security))return{};const folderTrust=security["folderTrust"];if(typeof folderTrust!=="object"||folderTrust===null||Array.isArray(folderTrust)){return{error:policyError("trust_policy_invalid",filePath,new Error("`security.folderTrust` must be an object."))}}if(!("enabled"in folderTrust))return{};const enabled=folderTrust["enabled"];if(typeof enabled==="boolean")return{value:enabled};return{error:policyError("trust_policy_invalid",filePath,new Error("`security.folderTrust.enabled` must be a boolean."))}}__name(folderTrustSetting,"folderTrustSetting");function parseTrustedFolders(value,filePath){const config={};for(const[rulePath,rawLevel]of Object.entries(value??{})){if(!Object.values(TrustLevel).includes(rawLevel)){return{config:{},error:policyError("trust_policy_invalid",filePath,new Error(`Invalid trust level for ${JSON.stringify(rulePath)}.`))}}config[rulePath]=rawLevel}return{config}}__name(parseTrustedFolders,"parseTrustedFolders");function semanticRevision(input){const sortedRules=Object.entries(input.trustedFolders).sort(([a],[b])=>a.localeCompare(b));return createHash("sha256").update(JSON.stringify({folderTrustEnabled:input.folderTrustEnabled,ideTrust:input.ideTrust??null,trustedFolders:sortedRules,settingsError:input.settingsError?.code??null,trustedFoldersError:input.trustedFoldersError?.code??null})).digest("hex")}__name(semanticRevision,"semanticRevision");async function readDaemonTrustPolicySnapshot(){const[user,system,systemDefaults]=await Promise.all([readJsonObject(getUserSettingsPath(),MAX_SETTINGS_BYTES,false),readJsonObject(getSystemSettingsPath(),MAX_SETTINGS_BYTES,false),readJsonObject(getSystemDefaultsPath(),MAX_SETTINGS_BYTES,false)]);const systemFolderTrust=folderTrustSetting(migrateFolderTrustSettings(system.value,"System"),getSystemSettingsPath());const userFolderTrust=folderTrustSetting(migrateFolderTrustSettings(user.value,"User"),getUserSettingsPath());const defaultsFolderTrust=folderTrustSetting(migrateFolderTrustSettings(systemDefaults.value,"SystemDefaults"),getSystemDefaultsPath());const settingsError=system.error??systemFolderTrust.error??user.error??userFolderTrust.error??systemDefaults.error??defaultsFolderTrust.error;const folderTrustEnabled=systemFolderTrust.value??userFolderTrust.value??defaultsFolderTrust.value??false;const trustedFoldersFile=await readJsonObject(getTrustedFoldersPath(),MAX_TRUSTED_FOLDERS_BYTES,true,folderTrustEnabled,true);const parsedTrustedFolders=parseTrustedFolders(trustedFoldersFile.value,getTrustedFoldersPath());const trustedFoldersError=trustedFoldersFile.error??parsedTrustedFolders.error;const ideTrust=ideContextStore.get()?.workspaceState?.isTrusted;const revision=semanticRevision({folderTrustEnabled,ideTrust,trustedFolders:parsedTrustedFolders.config,...settingsError?{settingsError}:{},...trustedFoldersError?{trustedFoldersError}:{}});return{revision,folderTrustEnabled,ideTrust,trustedFolders:Object.freeze({...parsedTrustedFolders.config}),...settingsError?{settingsError}:{},...trustedFoldersError?{trustedFoldersError}:{}}}__name(readDaemonTrustPolicySnapshot,"readDaemonTrustPolicySnapshot");function explicitTrustLevel(snapshot,workspaceCwd){return getExplicitTrustLevel(snapshot.trustedFolders,workspaceCwd)}__name(explicitTrustLevel,"explicitTrustLevel");function evaluateDaemonWorkspaceTrust(snapshot,workspaceCwd,processCwd=process.cwd()){if(snapshot.settingsError){return{state:"error",targetTrusted:false,source:"none",explicitTrustLevel:null,error:snapshot.settingsError}}if(!snapshot.folderTrustEnabled){return{state:"trusted",targetTrusted:true,source:"disabled",explicitTrustLevel:null}}if(snapshot.ideTrust!==void 0&&arePathsEquivalent(workspaceCwd,processCwd)){return{state:snapshot.ideTrust?"trusted":"untrusted",targetTrusted:snapshot.ideTrust,source:"ide",explicitTrustLevel:null}}if(snapshot.trustedFoldersError){return{state:"error",targetTrusted:false,source:"none",explicitTrustLevel:null,error:snapshot.trustedFoldersError}}const folders=new LoadedTrustedFolders({path:getTrustedFoldersPath(),config:{...snapshot.trustedFolders}},[]);const trusted=folders.isPathTrusted(workspaceCwd);return{state:trusted===true?"trusted":trusted===false?"untrusted":"unknown",targetTrusted:trusted===true,source:trusted===void 0?"none":"file",explicitTrustLevel:explicitTrustLevel(snapshot,workspaceCwd)}}__name(evaluateDaemonWorkspaceTrust,"evaluateDaemonWorkspaceTrust");export{evaluateDaemonWorkflowAncestorTrust,readDaemonTrustPolicySnapshot,evaluateDaemonWorkspaceTrust};
3
+ import{getUserSettingsPath,v1ToV2Migration}from"./chunk-2TAJ5STJ.js";import{require_strip_json_comments}from"./chunk-DOLUT3XC.js";import{getSystemDefaultsPath,getSystemSettingsPath}from"./chunk-PTHIQ7ZN.js";import{LoadedTrustedFolders,TrustLevel,getExplicitTrustLevel,getTrustedFoldersPath,isWorkflowAncestorDirectorySafe,parseJsoncObject}from"./chunk-MTDBCIDA.js";import{arePathsEquivalent}from"./chunk-IDXJIDME.js";import{ideContextStore}from"./chunk-2JGTWRZJ.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name,__toESM}from"./chunk-KBWJGX7I.js";init_esbuild_shims();import{createHash}from"node:crypto";import*as fs from"node:fs/promises";var import_strip_json_comments=__toESM(require_strip_json_comments(),1);var MAX_TRUSTED_FOLDERS_BYTES=1024*1024;var MAX_SETTINGS_BYTES=4*1024*1024;function evaluateDaemonWorkflowAncestorTrust(snapshot,query){const denied=__name(()=>query.ancestorDirs.map(()=>false),"denied");if(snapshot.settingsError)return denied();if(!snapshot.folderTrustEnabled){return query.ancestorDirs.map(isWorkflowAncestorDirectorySafe)}if(snapshot.trustedFoldersError||snapshot.ideTrust===false&&(arePathsEquivalent(query.workspaceCwd,query.ideScopeCwd)||arePathsEquivalent(query.canonicalTargetDir,query.ideScopeCwd))){return denied()}const folders=new LoadedTrustedFolders({path:getTrustedFoldersPath(),config:{...snapshot.trustedFolders}},[]);if(folders.isPathTrusted(query.canonicalTargetDir)!==true){return denied()}return query.ancestorDirs.map(directory=>folders.isPathTrusted(directory)===true)}__name(evaluateDaemonWorkflowAncestorTrust,"evaluateDaemonWorkflowAncestorTrust");function policyError(code,filePath,error){return{code,path:filePath,message:error instanceof Error?error.message:String(error)}}__name(policyError,"policyError");async function readJsonObject(filePath,maxBytes,requireRegularFile,retryMissing=false,allowTrailingComma=false){const delays=[0,50,200];let result={};for(const delay of delays){if(delay>0){await new Promise(resolve=>setTimeout(resolve,delay))}result=await readJsonObjectOnce(filePath,maxBytes,requireRegularFile,allowTrailingComma);if(!result.error&&(!result.missing||!retryMissing))return result}return result}__name(readJsonObject,"readJsonObject");async function readJsonObjectOnce(filePath,maxBytes,requireRegularFile,allowTrailingComma){let stat2;try{stat2=await fs.lstat(filePath)}catch(error){if(error instanceof Error&&"code"in error&&error.code==="ENOENT"){return{value:{},missing:true}}return{error:policyError("trust_policy_unreadable",filePath,error)}}if(!requireRegularFile&&stat2.isSymbolicLink()){try{stat2=await fs.stat(filePath)}catch(error){return{error:policyError("trust_policy_unreadable",filePath,error)}}}if(requireRegularFile&&stat2.isSymbolicLink()||!stat2.isFile()){return{error:policyError("trust_policy_invalid",filePath,new Error("Trust policy input must be a regular file."))}}if(stat2.size>maxBytes){return{error:policyError("trust_policy_invalid",filePath,new Error(`Trust policy input exceeds ${maxBytes} bytes.`))}}try{const raw=await fs.readFile(filePath,"utf8");const parsed=allowTrailingComma?parseJsoncObject(raw):JSON.parse((0,import_strip_json_comments.default)(raw));if(typeof parsed!=="object"||parsed===null||Array.isArray(parsed)){throw new Error("Trust policy input must contain a JSON object.")}return{value:parsed}}catch(error){if(error instanceof Error&&"code"in error&&error.code==="ENOENT"){return{value:{},missing:true}}return{error:policyError("trust_policy_invalid",filePath,error)}}}__name(readJsonObjectOnce,"readJsonObjectOnce");function migrateFolderTrustSettings(value,scope){if(!value||!v1ToV2Migration.shouldMigrate(value))return value;return v1ToV2Migration.migrate(value,scope).settings}__name(migrateFolderTrustSettings,"migrateFolderTrustSettings");function folderTrustSetting(value,filePath){if(!value||!("security"in value))return{};const security=value?.["security"];if(typeof security!=="object"||security===null||Array.isArray(security)){return{error:policyError("trust_policy_invalid",filePath,new Error("`security` must be an object."))}}if(!("folderTrust"in security))return{};const folderTrust=security["folderTrust"];if(typeof folderTrust!=="object"||folderTrust===null||Array.isArray(folderTrust)){return{error:policyError("trust_policy_invalid",filePath,new Error("`security.folderTrust` must be an object."))}}if(!("enabled"in folderTrust))return{};const enabled=folderTrust["enabled"];if(typeof enabled==="boolean")return{value:enabled};return{error:policyError("trust_policy_invalid",filePath,new Error("`security.folderTrust.enabled` must be a boolean."))}}__name(folderTrustSetting,"folderTrustSetting");function parseTrustedFolders(value,filePath){const config={};for(const[rulePath,rawLevel]of Object.entries(value??{})){if(!Object.values(TrustLevel).includes(rawLevel)){return{config:{},error:policyError("trust_policy_invalid",filePath,new Error(`Invalid trust level for ${JSON.stringify(rulePath)}.`))}}config[rulePath]=rawLevel}return{config}}__name(parseTrustedFolders,"parseTrustedFolders");function semanticRevision(input){const sortedRules=Object.entries(input.trustedFolders).sort(([a],[b])=>a.localeCompare(b));return createHash("sha256").update(JSON.stringify({folderTrustEnabled:input.folderTrustEnabled,ideTrust:input.ideTrust??null,trustedFolders:sortedRules,settingsError:input.settingsError?.code??null,trustedFoldersError:input.trustedFoldersError?.code??null})).digest("hex")}__name(semanticRevision,"semanticRevision");async function readDaemonTrustPolicySnapshot(){const[user,system,systemDefaults]=await Promise.all([readJsonObject(getUserSettingsPath(),MAX_SETTINGS_BYTES,false),readJsonObject(getSystemSettingsPath(),MAX_SETTINGS_BYTES,false),readJsonObject(getSystemDefaultsPath(),MAX_SETTINGS_BYTES,false)]);const systemFolderTrust=folderTrustSetting(migrateFolderTrustSettings(system.value,"System"),getSystemSettingsPath());const userFolderTrust=folderTrustSetting(migrateFolderTrustSettings(user.value,"User"),getUserSettingsPath());const defaultsFolderTrust=folderTrustSetting(migrateFolderTrustSettings(systemDefaults.value,"SystemDefaults"),getSystemDefaultsPath());const settingsError=system.error??systemFolderTrust.error??user.error??userFolderTrust.error??systemDefaults.error??defaultsFolderTrust.error;const folderTrustEnabled=systemFolderTrust.value??userFolderTrust.value??defaultsFolderTrust.value??false;const trustedFoldersFile=await readJsonObject(getTrustedFoldersPath(),MAX_TRUSTED_FOLDERS_BYTES,true,folderTrustEnabled,true);const parsedTrustedFolders=parseTrustedFolders(trustedFoldersFile.value,getTrustedFoldersPath());const trustedFoldersError=trustedFoldersFile.error??parsedTrustedFolders.error;const ideTrust=ideContextStore.get()?.workspaceState?.isTrusted;const revision=semanticRevision({folderTrustEnabled,ideTrust,trustedFolders:parsedTrustedFolders.config,...settingsError?{settingsError}:{},...trustedFoldersError?{trustedFoldersError}:{}});return{revision,folderTrustEnabled,ideTrust,trustedFolders:Object.freeze({...parsedTrustedFolders.config}),...settingsError?{settingsError}:{},...trustedFoldersError?{trustedFoldersError}:{}}}__name(readDaemonTrustPolicySnapshot,"readDaemonTrustPolicySnapshot");function explicitTrustLevel(snapshot,workspaceCwd){return getExplicitTrustLevel(snapshot.trustedFolders,workspaceCwd)}__name(explicitTrustLevel,"explicitTrustLevel");function evaluateDaemonWorkspaceTrust(snapshot,workspaceCwd,processCwd=process.cwd()){if(snapshot.settingsError){return{state:"error",targetTrusted:false,source:"none",explicitTrustLevel:null,error:snapshot.settingsError}}if(!snapshot.folderTrustEnabled){return{state:"trusted",targetTrusted:true,source:"disabled",explicitTrustLevel:null}}if(snapshot.ideTrust!==void 0&&arePathsEquivalent(workspaceCwd,processCwd)){return{state:snapshot.ideTrust?"trusted":"untrusted",targetTrusted:snapshot.ideTrust,source:"ide",explicitTrustLevel:null}}if(snapshot.trustedFoldersError){return{state:"error",targetTrusted:false,source:"none",explicitTrustLevel:null,error:snapshot.trustedFoldersError}}const folders=new LoadedTrustedFolders({path:getTrustedFoldersPath(),config:{...snapshot.trustedFolders}},[]);const trusted=folders.isPathTrusted(workspaceCwd);return{state:trusted===true?"trusted":trusted===false?"untrusted":"unknown",targetTrusted:trusted===true,source:trusted===void 0?"none":"file",explicitTrustLevel:explicitTrustLevel(snapshot,workspaceCwd)}}__name(evaluateDaemonWorkspaceTrust,"evaluateDaemonWorkspaceTrust");export{evaluateDaemonWorkflowAncestorTrust,readDaemonTrustPolicySnapshot,evaluateDaemonWorkspaceTrust};
4
4
  /**
5
5
  * @license
6
6
  * Copyright 2026 Qwen Team
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{HistoryReplayer,observeAcpToolResultProjection}from"./chunk-26ISBUM7.js";import{JSON_STRING_DELIMITER_BYTES,jsonStringJsonByteLength,jsonStringPayloadByteLength,truncateJsonStringPayload}from"./chunk-WQUA4G2X.js";import{isA2uiToolMeta}from"./chunk-CAPG7UVH.js";import{redactLogCredentials}from"./chunk-CFTFKWPW.js";import{getResponseText,lastHistoryContentFromRecords,restorableAskUserQuestionCallIds}from"./chunk-Z5XENA4A.js";import{isShellResultDisplay,mapShellResultText}from"./chunk-T7CHK6C2.js";import{parseGoalSnapshotV2,parseGoalStateCause}from"./chunk-HW6AWS7W.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name}from"./chunk-KBWJGX7I.js";init_esbuild_shims();var MAX_REMEMBER_ERROR_DETAILS_CHARS=1e3;var MAX_REMEMBER_ERROR_CAUSE_DEPTH=50;var REMEMBER_ERROR_FORMAT_RE=new RegExp("[\\p{Cf}]|\\p{Variation_Selector}","gu");var REMEMBER_ERROR_SPACE_SEPARATOR_RE=/[\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000]/gu;var REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE=new RegExp("[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector}","gu");var REMEMBER_ERROR_AUTH_SCHEME_INVISIBLE_RE=new RegExp("\\b(Bearer|QQBot)(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+(?=[A-Za-z0-9._~+/=-])","giu");var REMEMBER_ERROR_AUTH_TOKEN_WITH_SEPARATORS_RE=new RegExp("\\b(Bearer|QQBot)(?:\\s|[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+((?:[A-Za-z0-9._~+/=-]+(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+)*[A-Za-z0-9._~+/=-]+)","giu");var REMEMBER_ERROR_BARE_TOKEN_WITH_SEPARATORS_RE=new RegExp("\\b(?:sk-|ghp_|gho_|ghs_|ghu_|github_pat_|glpat-|xox[b]-|xox[p]-)(?:[A-Za-z0-9_-]+(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+)*[A-Za-z0-9_-]+","gu");var REMEMBER_ERROR_AWS_KEY_WITH_SEPARATORS_RE=new RegExp("\\b(?:AKIA|ASIA)(?:[A-Z0-9]+(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+)*[A-Z0-9]+","gu");var REMEMBER_ERROR_SECRET_ASSIGNMENT_WITH_SEPARATORS_RE=new RegExp("((?:api[_-]?key|token|secret|password|pwd)[_-]?[=:]\\s*)((?:\\S+(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+)*\\S+)","giu");var REMEMBER_ERROR_ENV_SECRET_ASSIGNMENT_WITH_SEPARATORS_RE=new RegExp("([A-Z][A-Z0-9]{0,50}(?:_[A-Z0-9]{1,50}){0,10}_(?:KEY|TOKEN|SECRET|PASSWORD)\\s*[=:]\\s*)((?:\\S+(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+)*\\S+)","gu");var REMEMBER_ERROR_URL_CREDENTIALS_WITH_SEPARATORS_RE=new RegExp("(\\b[a-z][a-z0-9+.-]{0,31}:\\/\\/)([^/@\\s]*(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+[^/@\\s]*)@","giu");var REMEMBER_ERROR_CONTROL_RE=/[\x00-\x1f\x7f-\x9f]/g;var DETAIL_SUPPRESSED_REMEMBER_ERROR_CODES=new Set(["managed_memory_unavailable"]);function createWorkspaceMemoryExtractionErrorLogger(logger){return(target,err)=>{logger.warn(`Failed to extract workspace memory error ${target}:`,{extractionError:err instanceof Error?err.message:String(err)})}}__name(createWorkspaceMemoryExtractionErrorLogger,"createWorkspaceMemoryExtractionErrorLogger");function reportRememberErrorExtractionFailure(onExtractionError,target,err){try{onExtractionError?.(target,err)}catch{}}__name(reportRememberErrorExtractionFailure,"reportRememberErrorExtractionFailure");function errorCodeFromRecord(record){if(typeof record["code"]==="string")return record["code"];const data=record["data"];if(data&&typeof data==="object"){const dataRecord=data;if(typeof dataRecord["errorKind"]==="string"){return dataRecord["errorKind"]}if(typeof dataRecord["code"]==="string")return dataRecord["code"]}return void 0}__name(errorCodeFromRecord,"errorCodeFromRecord");function rawRememberErrorCode(err,seen,depth){if(depth>MAX_REMEMBER_ERROR_CAUSE_DEPTH)return void 0;if(!err||typeof err!=="object")return void 0;if(seen.has(err))return void 0;seen.add(err);const record=err;const direct=errorCodeFromRecord(record);if(direct)return direct;const cause=record["cause"];if(cause!=null){return rawRememberErrorCode(cause,seen,depth+1)}return void 0}__name(rawRememberErrorCode,"rawRememberErrorCode");function extractRememberErrorCode(err,fallback="remember_failed"){return rawRememberErrorCode(err,new WeakSet,0)??fallback}__name(extractRememberErrorCode,"extractRememberErrorCode");function workspaceMemoryFailureCode(err,fallback="remember_failed",onExtractionError){try{return extractRememberErrorCode(err,fallback)}catch(extractionErr){reportRememberErrorExtractionFailure(onExtractionError,"code",extractionErr);return fallback}}__name(workspaceMemoryFailureCode,"workspaceMemoryFailureCode");function detailFromRecord(record,seen,depth){const data=record["data"];if(data&&typeof data==="object"){const dataRecord=data;const details=dataRecord["details"];if(typeof details==="string"&&details.length>0)return details;const message2=dataRecord["message"];if(typeof message2==="string"&&message2.length>0)return message2}const message=record["message"];if(typeof message==="string"&&message.length>0)return message;if(typeof data==="string"&&data.length>0)return data;const cause=record["cause"];if(cause!=null){return rawRememberErrorDetails(cause,seen,depth+1)}return void 0}__name(detailFromRecord,"detailFromRecord");function rawRememberErrorDetails(err,seen,depth){if(depth>MAX_REMEMBER_ERROR_CAUSE_DEPTH)return void 0;if(typeof err==="string"&&err.length>0)return err;if(!err||typeof err!=="object")return void 0;if(seen.has(err))return void 0;seen.add(err);return detailFromRecord(err,seen,depth)}__name(rawRememberErrorDetails,"rawRememberErrorDetails");function replaceControlChars(details){return details.replace(REMEMBER_ERROR_AUTH_SCHEME_INVISIBLE_RE,"$1 ").replace(REMEMBER_ERROR_FORMAT_RE,"").replace(REMEMBER_ERROR_SPACE_SEPARATOR_RE," ").replace(REMEMBER_ERROR_CONTROL_RE," ")}__name(replaceControlChars,"replaceControlChars");function replaceStackControlChars(stack){return stack.replace(REMEMBER_ERROR_AUTH_SCHEME_INVISIBLE_RE,"$1 ").replace(REMEMBER_ERROR_FORMAT_RE,"").replace(REMEMBER_ERROR_SPACE_SEPARATOR_RE," ").replace(REMEMBER_ERROR_CONTROL_RE,char=>char==="\n"||char==="\r"||char===" "?char:" ")}__name(replaceStackControlChars,"replaceStackControlChars");function collapseCredentialSeparators(text){return text.replace(REMEMBER_ERROR_URL_CREDENTIALS_WITH_SEPARATORS_RE,(_match,scheme,userinfo)=>`${scheme}${userinfo.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE,"")}@`).replace(REMEMBER_ERROR_AUTH_TOKEN_WITH_SEPARATORS_RE,(_match,scheme,token)=>`${scheme} ${token.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE,"")}`).replace(REMEMBER_ERROR_BARE_TOKEN_WITH_SEPARATORS_RE,token=>token.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE,"")).replace(REMEMBER_ERROR_AWS_KEY_WITH_SEPARATORS_RE,token=>token.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE,"")).replace(REMEMBER_ERROR_SECRET_ASSIGNMENT_WITH_SEPARATORS_RE,(_match,prefix,value)=>`${prefix}${value.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE,"")}`).replace(REMEMBER_ERROR_ENV_SECRET_ASSIGNMENT_WITH_SEPARATORS_RE,(_match,prefix,value)=>`${prefix}${value.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE,"")}`)}__name(collapseCredentialSeparators,"collapseCredentialSeparators");function collapseCredentialSeparatorsByStackLine(stack){return stack.split(/(\r\n|\n|\r)/).map(part=>part==="\r\n"||part==="\n"||part==="\r"?part:collapseCredentialSeparators(part)).join("")}__name(collapseCredentialSeparatorsByStackLine,"collapseCredentialSeparatorsByStackLine");function isHighSurrogate(codeUnit){return codeUnit>=55296&&codeUnit<=56319}__name(isHighSurrogate,"isHighSurrogate");function isLowSurrogate(codeUnit){return codeUnit>=56320&&codeUnit<=57343}__name(isLowSurrogate,"isLowSurrogate");function truncateBeforeDanglingSurrogate(details,cutPoint){const beforeCut=details.charCodeAt(cutPoint-1);const atCut=details.charCodeAt(cutPoint);if(isHighSurrogate(beforeCut)&&isLowSurrogate(atCut)){return cutPoint-1}return cutPoint}__name(truncateBeforeDanglingSurrogate,"truncateBeforeDanglingSurrogate");function capRememberErrorText(redacted){if(redacted.length<=MAX_REMEMBER_ERROR_DETAILS_CHARS)return redacted;const truncationSuffix="... [truncated]";const cutPoint=truncateBeforeDanglingSurrogate(redacted,MAX_REMEMBER_ERROR_DETAILS_CHARS-truncationSuffix.length);return`${redacted.slice(0,cutPoint)}${truncationSuffix}`}__name(capRememberErrorText,"capRememberErrorText");function redactAndCapRememberErrorText(normalized){const redacted=redactLogCredentials(normalized).trim();if(!redacted)return void 0;return capRememberErrorText(redacted)}__name(redactAndCapRememberErrorText,"redactAndCapRememberErrorText");function sanitizeRememberErrorDetails(details){return redactAndCapRememberErrorText(replaceControlChars(collapseCredentialSeparators(details)))}__name(sanitizeRememberErrorDetails,"sanitizeRememberErrorDetails");function sanitizeRememberErrorStack(stack){return redactAndCapRememberErrorText(replaceStackControlChars(collapseCredentialSeparatorsByStackLine(stack)))}__name(sanitizeRememberErrorStack,"sanitizeRememberErrorStack");function extractRememberErrorDetails(err){const raw=rawRememberErrorDetails(err,new WeakSet,0);if(!raw)return void 0;return sanitizeRememberErrorDetails(raw)}__name(extractRememberErrorDetails,"extractRememberErrorDetails");function extractRememberErrorStack(err){if(!(err instanceof Error)||!err.stack)return void 0;return sanitizeRememberErrorStack(err.stack)}__name(extractRememberErrorStack,"extractRememberErrorStack");function shouldSuppressRememberErrorDetails(code){return DETAIL_SUPPRESSED_REMEMBER_ERROR_CODES.has(code)}__name(shouldSuppressRememberErrorDetails,"shouldSuppressRememberErrorDetails");function workspaceMemoryFailureDiagnostics(err,onExtractionError){let details;let stack;try{details=extractRememberErrorDetails(err)}catch(extractionErr){reportRememberErrorExtractionFailure(onExtractionError,"details",extractionErr);details=void 0}try{stack=extractRememberErrorStack(err)}catch(extractionErr){reportRememberErrorExtractionFailure(onExtractionError,"stack",extractionErr);stack=void 0}return{...details?{details}:{},debugDetails:details??"<details unavailable>",...stack?{stack}:{}}}__name(workspaceMemoryFailureDiagnostics,"workspaceMemoryFailureDiagnostics");init_esbuild_shims();var MAX_REMEMBER_CONTENT_BYTES=64*1024;init_esbuild_shims();function formatWorkspaceMemoryForgetSummary(removedEntryCount){return removedEntryCount>0?`Forgot ${removedEntryCount} memory entr${removedEntryCount===1?"y":"ies"}.`:"No managed auto-memory entries matched."}__name(formatWorkspaceMemoryForgetSummary,"formatWorkspaceMemoryForgetSummary");function formatWorkspaceMemoryDreamSummary(touchedTopicCount){return touchedTopicCount>0?"Managed auto-memory dream completed.":"No managed auto-memory topics changed."}__name(formatWorkspaceMemoryDreamSummary,"formatWorkspaceMemoryDreamSummary");init_esbuild_shims();var VALID_SERVER_NAME=/^[A-Za-z0-9_-]+$/;var RESERVED_SERVER_NAMES=new Set(["__proto__","constructor","prototype"]);function isValidServerName(name){return typeof name==="string"&&name.length>0&&name.length<=256&&VALID_SERVER_NAME.test(name)&&!RESERVED_SERVER_NAMES.has(name)}__name(isValidServerName,"isValidServerName");init_esbuild_shims();var GENERATION_MAX_PROMPT_BYTES=32*1024;var GENERATION_TIMEOUT_MS=6e4;async function executeGeneration(config,requestId,prompt,signal,emit){const fastModel=config.getFastModel();const mainModel=config.getModel();const client=config.getBaseLlmClient();let modelSource=fastModel?"fast":"main";let resolved;if(fastModel){try{resolved=await client.resolveForModel(fastModel,{failClosed:true})}catch{modelSource="main"}}resolved??=await client.resolveForModel(mainModel,{failClosed:true});const{contentGenerator,model}=resolved;await emit({type:"started",model,modelSource});const stream=await contentGenerator.generateContentStream({model,contents:[{role:"user",parts:[{text:prompt}]}],config:{abortSignal:signal,tools:[],thinkingConfig:{thinkingBudget:0,includeThoughts:false},temperature:.2}},`generation:${requestId}`);let seq=0;let thinkingEmitted=false;let usage;for await(const chunk of stream){if(!thinkingEmitted&&chunk.candidates?.some(candidate=>candidate.content?.parts?.some(part=>part.thought===true))){thinkingEmitted=true;await emit({type:"thinking"})}const text=getResponseText(chunk)??"";if(text){await emit({type:"delta",seq:seq++,text})}if(chunk.usageMetadata)usage=chunk.usageMetadata}return{model,modelSource,...usage?.promptTokenCount!==void 0?{inputTokens:usage.promptTokenCount}:{},...usage?.candidatesTokenCount!==void 0?{outputTokens:usage.candidatesTokenCount}:{}}}__name(executeGeneration,"executeGeneration");init_esbuild_shims();import{Buffer as Buffer2}from"node:buffer";init_esbuild_shims();import{Buffer}from"node:buffer";import{isDeepStrictEqual}from"node:util";var ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET=65536;var ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER="\n[... truncated for ACP transport ...]\n";var EMPTY_CONTENT_ARRAY_JSON_BYTES=Buffer.byteLength("[]","utf8");var EMPTY_TEXT_BLOCK_JSON_BYTES=Buffer.byteLength(JSON.stringify(createTextBlock("")),"utf8");var JSON_ARRAY_SEPARATOR_BYTES=1;var TRUNCATION_MARKER_PAYLOAD_BYTES=jsonStringJsonByteLength(ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER)-JSON_STRING_DELIMITER_BYTES;var MAX_CANONICAL_TEXT_BLOCKS=Math.floor((ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET-EMPTY_CONTENT_ARRAY_JSON_BYTES+JSON_ARRAY_SEPARATOR_BYTES)/(EMPTY_TEXT_BLOCK_JSON_BYTES+JSON_ARRAY_SEPARATOR_BYTES));function createTextBlock(text){return{type:"content",content:{type:"text",text}}}__name(createTextBlock,"createTextBlock");function isObjectRecord(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}__name(isObjectRecord,"isObjectRecord");function hasExactKeys(value,first,second){const keys=Object.keys(value);return keys.length===2&&Object.hasOwn(value,first)&&Object.hasOwn(value,second)}__name(hasExactKeys,"hasExactKeys");function canonicalTextBlocks(value){if(!Array.isArray(value))return void 0;for(const block of value){if(!isObjectRecord(block)||!hasExactKeys(block,"type","content")||block["type"]!=="content"||!isObjectRecord(block["content"])||!hasExactKeys(block["content"],"type","text")||block["content"]["type"]!=="text"||typeof block["content"]["text"]!=="string"){return void 0}}return value}__name(canonicalTextBlocks,"canonicalTextBlocks");function contentSkeletonBytes(blockCount){if(blockCount===0)return EMPTY_CONTENT_ARRAY_JSON_BYTES;return EMPTY_CONTENT_ARRAY_JSON_BYTES+blockCount*EMPTY_TEXT_BLOCK_JSON_BYTES+(blockCount-1)*JSON_ARRAY_SEPARATOR_BYTES}__name(contentSkeletonBytes,"contentSkeletonBytes");function fallbackContent(){return[createTextBlock(ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER)]}__name(fallbackContent,"fallbackContent");function jsonByteLength(value){return Buffer.byteLength(JSON.stringify(value),"utf8")}__name(jsonByteLength,"jsonByteLength");function allocatePayloadBudgets(payloadBytes,availableBytes){const base=payloadBytes.map(bytes=>Math.min(bytes,TRUNCATION_MARKER_PAYLOAD_BYTES));let remaining=availableBytes-base.reduce((sum,bytes)=>sum+bytes,0);if(remaining<0)return void 0;const capacities=payloadBytes.map((bytes,index)=>({index,capacity:bytes-base[index]}));const sorted=capacities.filter(({capacity})=>capacity>0).sort((left,right)=>left.capacity===right.capacity?left.index-right.index:left.capacity-right.capacity);let active=sorted.length;let position=0;let level=0;let remainder=0;while(position<sorted.length&&active>0&&remaining>0){const nextLevel=sorted[position].capacity;const cost=(nextLevel-level)*active;if(cost>remaining){level+=Math.floor(remaining/active);remainder=remaining%active;remaining=0;break}level=nextLevel;remaining-=cost;while(position<sorted.length&&sorted[position].capacity===nextLevel){position++;active--}}const allocations=base.map((bytes,index)=>bytes+Math.min(capacities[index].capacity,level));if(remainder>0){for(const{index,capacity}of capacities){if(remainder===0)break;if(capacity>level){allocations[index]++;remainder--}}}return allocations}__name(allocatePayloadBudgets,"allocatePayloadBudgets");function projectContent(original){if(original.length>MAX_CANONICAL_TEXT_BLOCKS)return fallbackContent();const skeletonBytes=contentSkeletonBytes(original.length);const availablePayloadBytes=ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET-skeletonBytes;let remainingPayloadBytes=availablePayloadBytes;let needsProjection=false;for(const block of original){const payloadBytes2=jsonStringPayloadByteLength(block.content.text,remainingPayloadBytes);if(payloadBytes2>remainingPayloadBytes){needsProjection=true;break}remainingPayloadBytes-=payloadBytes2}if(!needsProjection)return original;const baseScans=original.map(block=>jsonStringPayloadByteLength(block.content.text,TRUNCATION_MARKER_PAYLOAD_BYTES));const basePayloadBytes=baseScans.map(bytes=>Math.min(bytes,TRUNCATION_MARKER_PAYLOAD_BYTES));const baseTotal=basePayloadBytes.reduce((sum,bytes)=>sum+bytes,0);if(baseTotal>availablePayloadBytes)return fallbackContent();const payloadBytes=original.map((block,index)=>{if(baseScans[index]<=TRUNCATION_MARKER_PAYLOAD_BYTES){return baseScans[index]}const maximumAllocation=availablePayloadBytes-baseTotal+basePayloadBytes[index];const bytes=jsonStringPayloadByteLength(block.content.text,maximumAllocation);return bytes<=maximumAllocation?bytes:maximumAllocation+1});const allocations=allocatePayloadBudgets(payloadBytes,availablePayloadBytes);if(!allocations)return fallbackContent();const projected=original.map((block,index)=>{if(payloadBytes[index]<=allocations[index])return block;return createTextBlock(truncateJsonStringPayload(block.content.text,payloadBytes[index],allocations[index],ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER))});return jsonByteLength(projected)<=ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET?projected:fallbackContent()}__name(projectContent,"projectContent");function projectRawOutput(value){const payloadBudget=ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET-JSON_STRING_DELIMITER_BYTES;const payloadBytes=jsonStringPayloadByteLength(value,payloadBudget);if(payloadBytes<=payloadBudget)return value;const projected=truncateJsonStringPayload(value,payloadBytes,payloadBudget,ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER);return jsonByteLength(projected)<=ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET?projected:ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER}__name(projectRawOutput,"projectRawOutput");function a2uiMeta(meta){if(!meta)return void 0;const toolName=typeof meta["toolName"]==="string"?meta["toolName"]:void 0;const serverId=typeof meta["serverId"]==="string"?meta["serverId"]:void 0;return toolName===void 0&&serverId===void 0?void 0:{...toolName===void 0?{}:{toolName},...serverId===void 0?{}:{serverId}}}__name(a2uiMeta,"a2uiMeta");function projectAcpToolResultUpdate(update){const record=update;if(record["sessionUpdate"]!=="tool_call_update")return update;const meta=isObjectRecord(record["_meta"])?record["_meta"]:void 0;if(isA2uiToolMeta(a2uiMeta(meta)))return update;const content=canonicalTextBlocks(record["content"]);const rawOutput=record["rawOutput"];if(content?.length===1&&typeof rawOutput==="string"&&rawOutput===content[0].content.text){const projectedContent2=projectContent(content);if(projectedContent2===content)return update;const projectedText=projectedContent2[0].content.text;return{...record,content:projectedContent2,rawOutput:projectedText}}const projectedContent=content?projectContent(content):void 0;let projectedRawOutput=typeof rawOutput==="string"?projectRawOutput(rawOutput):void 0;if(isShellResultDisplay(rawOutput)){const structured=mapShellResultText(rawOutput,text=>text);projectedRawOutput=isDeepStrictEqual(structured,rawOutput)?rawOutput:structured;if(Buffer.byteLength(JSON.stringify(structured),"utf8")>ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET){const payloadBytes=[];const skeleton=mapShellResultText(structured,text=>{payloadBytes.push(jsonStringPayloadByteLength(text));return""});const budgets=allocatePayloadBudgets(payloadBytes,ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET-Buffer.byteLength(JSON.stringify(skeleton),"utf8"));let index=0;projectedRawOutput=mapShellResultText(structured,text=>truncateJsonStringPayload(text,jsonStringPayloadByteLength(text),budgets[index++],ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER))}}const contentChanged=projectedContent!==void 0&&projectedContent!==content;const rawOutputChanged=projectedRawOutput!==void 0&&projectedRawOutput!==rawOutput;if(!contentChanged&&!rawOutputChanged)return update;return{...record,...contentChanged?{content:projectedContent}:{},...rawOutputChanged?{rawOutput:projectedRawOutput}:{}}}__name(projectAcpToolResultUpdate,"projectAcpToolResultUpdate");var HistoryReplayLimitError=class extends Error{constructor(sessionId,reason,observed,limit){super(`Transcript replay for session ${sessionId} exceeds the ${reason} limit (${observed}, max ${limit})`);this.sessionId=sessionId;this.reason=reason;this.observed=observed;this.limit=limit;this.name="HistoryReplayLimitError"}static{__name(this,"HistoryReplayLimitError")}};function createReplayCumulativeUsage(){return{promptTokens:0,cachedTokens:0,candidateTokens:0,apiTimeMs:0}}__name(createReplayCumulativeUsage,"createReplayCumulativeUsage");function copyCumulativeUsage(target,source){target.promptTokens=source.promptTokens;target.cachedTokens=source.cachedTokens;target.candidateTokens=source.candidateTokens;target.apiTimeMs=source.apiTimeMs}__name(copyCumulativeUsage,"copyCumulativeUsage");function isObjectRecord2(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}__name(isObjectRecord2,"isObjectRecord");function isCumulativeUsage(value){if(!isObjectRecord2(value))return false;return typeof value["promptTokens"]==="number"&&Number.isFinite(value["promptTokens"])&&typeof value["cachedTokens"]==="number"&&Number.isFinite(value["cachedTokens"])&&typeof value["candidateTokens"]==="number"&&Number.isFinite(value["candidateTokens"])&&typeof value["apiTimeMs"]==="number"&&Number.isFinite(value["apiTimeMs"])}__name(isCumulativeUsage,"isCumulativeUsage");function isPendingReplayToolCall(value){if(!isObjectRecord2(value))return false;return typeof value["callId"]==="string"&&typeof value["toolName"]==="string"&&(value["timestamp"]===void 0||typeof value["timestamp"]==="string")&&typeof value["recordId"]==="string"}__name(isPendingReplayToolCall,"isPendingReplayToolCall");function isCurrentPendingReplayToolCall(value){if(!isObjectRecord2(value))return false;return typeof value["callId"]==="string"&&typeof value["toolName"]==="string"&&typeof value["sourceRecordId"]==="string"&&(value["sourceTimestamp"]===void 0||typeof value["sourceTimestamp"]==="string")}__name(isCurrentPendingReplayToolCall,"isCurrentPendingReplayToolCall");function parseTranscriptReplayState(replay,logger){if(!isObjectRecord2(replay)){return{pendingToolCalls:[],cumulativeUsage:createReplayCumulativeUsage()}}if("v"in replay&&replay["v"]!==1){throw new TypeError("Unsupported transcript replay state version.")}const rawPending=replay["pendingToolCalls"];const pendingToolCalls=Array.isArray(rawPending)?rawPending.flatMap(pending=>{if(isPendingReplayToolCall(pending))return[pending];if(isCurrentPendingReplayToolCall(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}:{}}]}return[]}):[];if(logger&&Array.isArray(rawPending)&&pendingToolCalls.length!==rawPending.length){const dropped=rawPending.length-pendingToolCalls.length;logger.warn(`[transcript] replay state dropped ${dropped} of ${rawPending.length} malformed pending tool calls`)}const cumulativeUsage=isCumulativeUsage(replay["cumulativeUsage"])?{...replay["cumulativeUsage"]}:createReplayCumulativeUsage();const rawGoalState=replay["goalState"];const goalState=rawGoalState===void 0?void 0:parseGoalSnapshotV2(rawGoalState);if(logger&&rawGoalState!==void 0&&!goalState){logger.warn("[transcript] replay state dropped a malformed Goal state")}const rawGoalCause=replay["goalCause"];const goalCause=rawGoalCause===void 0?void 0:parseGoalStateCause(rawGoalCause);if(logger&&rawGoalCause!==void 0&&!goalCause){logger.warn("[transcript] replay state dropped a malformed Goal cause")}return{pendingToolCalls,cumulativeUsage,...goalState?{goalState}:{},...goalCause?{goalCause}:{}}}__name(parseTranscriptReplayState,"parseTranscriptReplayState");function blankReplayedMcpAppHtml(update){const record=update;if(record["sessionUpdate"]!=="tool_call_update")return void 0;const rawOutput=record["rawOutput"];if(!isObjectRecord2(rawOutput)||rawOutput["type"]!=="mcp_app"||typeof rawOutput["html"]!=="string"||rawOutput["html"]===""){return void 0}const blanked={...record,rawOutput:{...rawOutput,html:"",fallbackText:rawOutput["fallbackText"]||"MCP App HTML omitted because the restored page exceeds its size limit."}};if(Buffer2.byteLength(JSON.stringify(blanked),"utf8")>=Buffer2.byteLength(JSON.stringify(record),"utf8")){return void 0}return blanked}__name(blankReplayedMcpAppHtml,"blankReplayedMcpAppHtml");function degradeReplayEnvelopeAppHtml(envelope,maxBytes){let pageBytes=Buffer2.byteLength(JSON.stringify(envelope),"utf8");for(let i=0;i<envelope.updates.length&&pageBytes>maxBytes;i++){const update=envelope.updates[i];const blanked=blankReplayedMcpAppHtml(update);if(blanked===void 0)continue;pageBytes+=Buffer2.byteLength(JSON.stringify(blanked),"utf8")-Buffer2.byteLength(JSON.stringify(update),"utf8");envelope.updates[i]=blanked}}__name(degradeReplayEnvelopeAppHtml,"degradeReplayEnvelopeAppHtml");function replayContext(sessionId,updates,cumulativeUsage,config,limits){let activeRecordId=null;let serializedUpdateBytes=2;return{sessionId,sendUpdate:__name(async update=>{const projectedUpdate=projectAcpToolResultUpdate(update);const updateWithRecordId=(()=>{if(activeRecordId===null)return projectedUpdate;const record=projectedUpdate;const meta=isObjectRecord2(record["_meta"])?record["_meta"]:{};return{...record,_meta:{...meta,"qwen.session.recordId":activeRecordId}}})();let deliveredUpdate=liftSessionUpdateTimestamp(updateWithRecordId);observeAcpToolResultProjection(update,projectedUpdate,sessionId,deliveredUpdate);if(limits){const updateCount=updates.length+1;if(updateCount>limits.maxUpdates){throw new HistoryReplayLimitError(sessionId,"updates",updateCount,limits.maxUpdates)}let updateBytes=(updates.length===0?0:1)+Buffer2.byteLength(JSON.stringify(deliveredUpdate),"utf8");if(serializedUpdateBytes+updateBytes>limits.maxBytes){for(let i=0;i<updates.length&&serializedUpdateBytes+updateBytes>limits.maxBytes;i++){const blanked=blankReplayedMcpAppHtml(updates[i]);if(blanked===void 0)continue;serializedUpdateBytes-=Buffer2.byteLength(JSON.stringify(updates[i]),"utf8")-Buffer2.byteLength(JSON.stringify(blanked),"utf8");updates[i]=blanked}if(serializedUpdateBytes+updateBytes>limits.maxBytes){const blanked=blankReplayedMcpAppHtml(deliveredUpdate);if(blanked!==void 0){deliveredUpdate=blanked;updateBytes=(updates.length===0?0:1)+Buffer2.byteLength(JSON.stringify(blanked),"utf8")}}}serializedUpdateBytes+=updateBytes;if(serializedUpdateBytes>limits.maxBytes){throw new HistoryReplayLimitError(sessionId,"bytes",serializedUpdateBytes,limits.maxBytes)}}updates.push(deliveredUpdate)},"sendUpdate"),setActiveRecordId:__name(recordId=>{activeRecordId=recordId},"setActiveRecordId"),cumulativeUsage,...config?{config}:{}}}__name(replayContext,"replayContext");async function collectHistoryReplayUpdates({sessionId,config,records,gaps,cumulativeUsage,logger,replayState,goalBootstrap,limits,suppressRestoreAskUserQuestion,finalizeDangling,branchPointsByAssistantUuid}){const updates=[];let replayError;try{const initial=parseTranscriptReplayState(replayState,logger);let skipFinalizeCallIds;if(suppressRestoreAskUserQuestion!==true&&config?.getRestoreAskUserQuestion?.()===true){const replayClient=config.getLlmClient?.();const lastHistoryContent=replayClient?.isInitialized?.()===true?replayClient.getChat?.()?.peekLastHistoryEntry?.()??lastHistoryContentFromRecords(records):lastHistoryContentFromRecords(records);skipFinalizeCallIds=restorableAskUserQuestionCallIds(lastHistoryContent)}await new HistoryReplayer(replayContext(sessionId,updates,cumulativeUsage,config,limits)).replay(records,gaps,{...initial.goalState?{initialGoalState:initial.goalState}:{},...initial.goalCause?{initialGoalCause:initial.goalCause}:{},...goalBootstrap?{goalBootstrap}:{},...skipFinalizeCallIds?{skipFinalizeCallIds}:{},...finalizeDangling===void 0?{}:{finalizeDangling}})}catch(error){if(error instanceof HistoryReplayLimitError)throw error;replayError=error instanceof Error?error.message:String(error);logger?.warn("[historyReplay] History replay failed for session %s (partial updates: %d):",sessionId,updates.length,error)}if(branchPointsByAssistantUuid){stampBranchPoints(updates,branchPointsByAssistantUuid)}return replayError===void 0?{updates}:{updates,replayError}}__name(collectHistoryReplayUpdates,"collectHistoryReplayUpdates");function liftSessionUpdateTimestamp(update){const record=update;const meta=record["_meta"];const timestamp=isObjectRecord2(meta)?meta["timestamp"]:void 0;return typeof timestamp==="number"||typeof timestamp==="string"?{...record,timestamp}:update}__name(liftSessionUpdateTimestamp,"liftSessionUpdateTimestamp");function readTranscriptSourceRecordIds(update){const value=update;const meta=value["_meta"]&&typeof value["_meta"]==="object"?value["_meta"]:void 0;const transcript=meta?.["qwenTranscript"]&&typeof meta["qwenTranscript"]==="object"?meta["qwenTranscript"]:void 0;const sourceRecordIds=transcript?.["sourceRecordIds"];if(!Array.isArray(sourceRecordIds))return void 0;return sourceRecordIds.filter(id=>typeof id==="string")}__name(readTranscriptSourceRecordIds,"readTranscriptSourceRecordIds");function stampBranchPoints(updates,branchPoints){const lastChunkIndexByRecordId=new Map;updates.forEach((update,index)=>{if(update.sessionUpdate!=="agent_message_chunk")return;const text=update.content?.text;if(typeof text!=="string"||text.length===0)return;for(const recordId of readTranscriptSourceRecordIds(update)??[]){if(Object.hasOwn(branchPoints,recordId)){lastChunkIndexByRecordId.set(recordId,index)}}});const decoratedIndexes=new Set;for(const[recordId,index]of lastChunkIndexByRecordId){if(decoratedIndexes.has(index))continue;decoratedIndexes.add(index);const value=updates[index];const meta=value["_meta"]&&typeof value["_meta"]==="object"?value["_meta"]:void 0;const transcript=meta?.["qwenTranscript"]&&typeof meta["qwenTranscript"]==="object"?meta["qwenTranscript"]:void 0;value["_meta"]={...meta,qwenTranscript:{...transcript,branchRecordId:branchPoints[recordId]}}}}__name(stampBranchPoints,"stampBranchPoints");async function replayTranscriptRecordPage({sessionId,page,config,encodeCursor,logger,finalizeDangling=true}){const state=parseTranscriptReplayState(page.replay,logger);const updates=[];const replayer=new HistoryReplayer(replayContext(sessionId,updates,state.cumulativeUsage,config));let replayState;let replayError;try{const replayPageState=await replayer.replayPage(page.records,{pendingToolCalls:page.direction==="backward"?[]:state.pendingToolCalls,finalizeDangling:finalizeDangling&&(page.direction==="backward"||!page.hasMore),gaps:page.gaps,includeTiming:true,...state.goalState?{goalState:state.goalState}:{},...state.goalCause?{goalCause:state.goalCause}:{}});replayState=replayPageState.replay}catch(error){logger?.warn("[historyReplay] Paged history replay failed for session %s (partial updates: %d):",sessionId,updates.length,error);replayState=replayer.getReplayState();replayError="Replay conversion failed for this page"}if(page.branchPointsByAssistantUuid){stampBranchPoints(updates,page.branchPointsByAssistantUuid)}const nextCursor=page.nextCursorState&&replayError===void 0?encodeCursor({...page.nextCursorState,...page.direction==="backward"?{}:{replay:replayState}}):void 0;return{updates,...nextCursor?{nextCursor}:{},hasMore:replayError===void 0&&page.hasMore,startTime:page.startTime,lastUpdated:page.lastUpdated,...replayError?{partial:true,replayError}:{}}}__name(replayTranscriptRecordPage,"replayTranscriptRecordPage");export{createWorkspaceMemoryExtractionErrorLogger,extractRememberErrorCode,workspaceMemoryFailureCode,shouldSuppressRememberErrorDetails,workspaceMemoryFailureDiagnostics,MAX_REMEMBER_CONTENT_BYTES,formatWorkspaceMemoryForgetSummary,formatWorkspaceMemoryDreamSummary,isValidServerName,GENERATION_MAX_PROMPT_BYTES,GENERATION_TIMEOUT_MS,executeGeneration,projectAcpToolResultUpdate,HistoryReplayLimitError,createReplayCumulativeUsage,copyCumulativeUsage,degradeReplayEnvelopeAppHtml,collectHistoryReplayUpdates,replayTranscriptRecordPage};
3
+ import{HistoryReplayer,observeAcpToolResultProjection}from"./chunk-BPFFRPWE.js";import{JSON_STRING_DELIMITER_BYTES,jsonStringJsonByteLength,jsonStringPayloadByteLength,truncateJsonStringPayload}from"./chunk-WQUA4G2X.js";import{isA2uiToolMeta}from"./chunk-BCI62WSL.js";import{redactLogCredentials}from"./chunk-CFTFKWPW.js";import{getResponseText,lastHistoryContentFromRecords,restorableAskUserQuestionCallIds}from"./chunk-2JGTWRZJ.js";import{isShellResultDisplay,mapShellResultText}from"./chunk-T7CHK6C2.js";import{parseGoalSnapshotV2,parseGoalStateCause}from"./chunk-HW6AWS7W.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name}from"./chunk-KBWJGX7I.js";init_esbuild_shims();var MAX_REMEMBER_ERROR_DETAILS_CHARS=1e3;var MAX_REMEMBER_ERROR_CAUSE_DEPTH=50;var REMEMBER_ERROR_FORMAT_RE=new RegExp("[\\p{Cf}]|\\p{Variation_Selector}","gu");var REMEMBER_ERROR_SPACE_SEPARATOR_RE=/[\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000]/gu;var REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE=new RegExp("[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector}","gu");var REMEMBER_ERROR_AUTH_SCHEME_INVISIBLE_RE=new RegExp("\\b(Bearer|QQBot)(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+(?=[A-Za-z0-9._~+/=-])","giu");var REMEMBER_ERROR_AUTH_TOKEN_WITH_SEPARATORS_RE=new RegExp("\\b(Bearer|QQBot)(?:\\s|[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+((?:[A-Za-z0-9._~+/=-]+(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+)*[A-Za-z0-9._~+/=-]+)","giu");var REMEMBER_ERROR_BARE_TOKEN_WITH_SEPARATORS_RE=new RegExp("\\b(?:sk-|ghp_|gho_|ghs_|ghu_|github_pat_|glpat-|xox[b]-|xox[p]-)(?:[A-Za-z0-9_-]+(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+)*[A-Za-z0-9_-]+","gu");var REMEMBER_ERROR_AWS_KEY_WITH_SEPARATORS_RE=new RegExp("\\b(?:AKIA|ASIA)(?:[A-Z0-9]+(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+)*[A-Z0-9]+","gu");var REMEMBER_ERROR_SECRET_ASSIGNMENT_WITH_SEPARATORS_RE=new RegExp("((?:api[_-]?key|token|secret|password|pwd)[_-]?[=:]\\s*)((?:\\S+(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+)*\\S+)","giu");var REMEMBER_ERROR_ENV_SECRET_ASSIGNMENT_WITH_SEPARATORS_RE=new RegExp("([A-Z][A-Z0-9]{0,50}(?:_[A-Z0-9]{1,50}){0,10}_(?:KEY|TOKEN|SECRET|PASSWORD)\\s*[=:]\\s*)((?:\\S+(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+)*\\S+)","gu");var REMEMBER_ERROR_URL_CREDENTIALS_WITH_SEPARATORS_RE=new RegExp("(\\b[a-z][a-z0-9+.-]{0,31}:\\/\\/)([^/@\\s]*(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+[^/@\\s]*)@","giu");var REMEMBER_ERROR_CONTROL_RE=/[\x00-\x1f\x7f-\x9f]/g;var DETAIL_SUPPRESSED_REMEMBER_ERROR_CODES=new Set(["managed_memory_unavailable"]);function createWorkspaceMemoryExtractionErrorLogger(logger){return(target,err)=>{logger.warn(`Failed to extract workspace memory error ${target}:`,{extractionError:err instanceof Error?err.message:String(err)})}}__name(createWorkspaceMemoryExtractionErrorLogger,"createWorkspaceMemoryExtractionErrorLogger");function reportRememberErrorExtractionFailure(onExtractionError,target,err){try{onExtractionError?.(target,err)}catch{}}__name(reportRememberErrorExtractionFailure,"reportRememberErrorExtractionFailure");function errorCodeFromRecord(record){if(typeof record["code"]==="string")return record["code"];const data=record["data"];if(data&&typeof data==="object"){const dataRecord=data;if(typeof dataRecord["errorKind"]==="string"){return dataRecord["errorKind"]}if(typeof dataRecord["code"]==="string")return dataRecord["code"]}return void 0}__name(errorCodeFromRecord,"errorCodeFromRecord");function rawRememberErrorCode(err,seen,depth){if(depth>MAX_REMEMBER_ERROR_CAUSE_DEPTH)return void 0;if(!err||typeof err!=="object")return void 0;if(seen.has(err))return void 0;seen.add(err);const record=err;const direct=errorCodeFromRecord(record);if(direct)return direct;const cause=record["cause"];if(cause!=null){return rawRememberErrorCode(cause,seen,depth+1)}return void 0}__name(rawRememberErrorCode,"rawRememberErrorCode");function extractRememberErrorCode(err,fallback="remember_failed"){return rawRememberErrorCode(err,new WeakSet,0)??fallback}__name(extractRememberErrorCode,"extractRememberErrorCode");function workspaceMemoryFailureCode(err,fallback="remember_failed",onExtractionError){try{return extractRememberErrorCode(err,fallback)}catch(extractionErr){reportRememberErrorExtractionFailure(onExtractionError,"code",extractionErr);return fallback}}__name(workspaceMemoryFailureCode,"workspaceMemoryFailureCode");function detailFromRecord(record,seen,depth){const data=record["data"];if(data&&typeof data==="object"){const dataRecord=data;const details=dataRecord["details"];if(typeof details==="string"&&details.length>0)return details;const message2=dataRecord["message"];if(typeof message2==="string"&&message2.length>0)return message2}const message=record["message"];if(typeof message==="string"&&message.length>0)return message;if(typeof data==="string"&&data.length>0)return data;const cause=record["cause"];if(cause!=null){return rawRememberErrorDetails(cause,seen,depth+1)}return void 0}__name(detailFromRecord,"detailFromRecord");function rawRememberErrorDetails(err,seen,depth){if(depth>MAX_REMEMBER_ERROR_CAUSE_DEPTH)return void 0;if(typeof err==="string"&&err.length>0)return err;if(!err||typeof err!=="object")return void 0;if(seen.has(err))return void 0;seen.add(err);return detailFromRecord(err,seen,depth)}__name(rawRememberErrorDetails,"rawRememberErrorDetails");function replaceControlChars(details){return details.replace(REMEMBER_ERROR_AUTH_SCHEME_INVISIBLE_RE,"$1 ").replace(REMEMBER_ERROR_FORMAT_RE,"").replace(REMEMBER_ERROR_SPACE_SEPARATOR_RE," ").replace(REMEMBER_ERROR_CONTROL_RE," ")}__name(replaceControlChars,"replaceControlChars");function replaceStackControlChars(stack){return stack.replace(REMEMBER_ERROR_AUTH_SCHEME_INVISIBLE_RE,"$1 ").replace(REMEMBER_ERROR_FORMAT_RE,"").replace(REMEMBER_ERROR_SPACE_SEPARATOR_RE," ").replace(REMEMBER_ERROR_CONTROL_RE,char=>char==="\n"||char==="\r"||char===" "?char:" ")}__name(replaceStackControlChars,"replaceStackControlChars");function collapseCredentialSeparators(text){return text.replace(REMEMBER_ERROR_URL_CREDENTIALS_WITH_SEPARATORS_RE,(_match,scheme,userinfo)=>`${scheme}${userinfo.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE,"")}@`).replace(REMEMBER_ERROR_AUTH_TOKEN_WITH_SEPARATORS_RE,(_match,scheme,token)=>`${scheme} ${token.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE,"")}`).replace(REMEMBER_ERROR_BARE_TOKEN_WITH_SEPARATORS_RE,token=>token.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE,"")).replace(REMEMBER_ERROR_AWS_KEY_WITH_SEPARATORS_RE,token=>token.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE,"")).replace(REMEMBER_ERROR_SECRET_ASSIGNMENT_WITH_SEPARATORS_RE,(_match,prefix,value)=>`${prefix}${value.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE,"")}`).replace(REMEMBER_ERROR_ENV_SECRET_ASSIGNMENT_WITH_SEPARATORS_RE,(_match,prefix,value)=>`${prefix}${value.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE,"")}`)}__name(collapseCredentialSeparators,"collapseCredentialSeparators");function collapseCredentialSeparatorsByStackLine(stack){return stack.split(/(\r\n|\n|\r)/).map(part=>part==="\r\n"||part==="\n"||part==="\r"?part:collapseCredentialSeparators(part)).join("")}__name(collapseCredentialSeparatorsByStackLine,"collapseCredentialSeparatorsByStackLine");function isHighSurrogate(codeUnit){return codeUnit>=55296&&codeUnit<=56319}__name(isHighSurrogate,"isHighSurrogate");function isLowSurrogate(codeUnit){return codeUnit>=56320&&codeUnit<=57343}__name(isLowSurrogate,"isLowSurrogate");function truncateBeforeDanglingSurrogate(details,cutPoint){const beforeCut=details.charCodeAt(cutPoint-1);const atCut=details.charCodeAt(cutPoint);if(isHighSurrogate(beforeCut)&&isLowSurrogate(atCut)){return cutPoint-1}return cutPoint}__name(truncateBeforeDanglingSurrogate,"truncateBeforeDanglingSurrogate");function capRememberErrorText(redacted){if(redacted.length<=MAX_REMEMBER_ERROR_DETAILS_CHARS)return redacted;const truncationSuffix="... [truncated]";const cutPoint=truncateBeforeDanglingSurrogate(redacted,MAX_REMEMBER_ERROR_DETAILS_CHARS-truncationSuffix.length);return`${redacted.slice(0,cutPoint)}${truncationSuffix}`}__name(capRememberErrorText,"capRememberErrorText");function redactAndCapRememberErrorText(normalized){const redacted=redactLogCredentials(normalized).trim();if(!redacted)return void 0;return capRememberErrorText(redacted)}__name(redactAndCapRememberErrorText,"redactAndCapRememberErrorText");function sanitizeRememberErrorDetails(details){return redactAndCapRememberErrorText(replaceControlChars(collapseCredentialSeparators(details)))}__name(sanitizeRememberErrorDetails,"sanitizeRememberErrorDetails");function sanitizeRememberErrorStack(stack){return redactAndCapRememberErrorText(replaceStackControlChars(collapseCredentialSeparatorsByStackLine(stack)))}__name(sanitizeRememberErrorStack,"sanitizeRememberErrorStack");function extractRememberErrorDetails(err){const raw=rawRememberErrorDetails(err,new WeakSet,0);if(!raw)return void 0;return sanitizeRememberErrorDetails(raw)}__name(extractRememberErrorDetails,"extractRememberErrorDetails");function extractRememberErrorStack(err){if(!(err instanceof Error)||!err.stack)return void 0;return sanitizeRememberErrorStack(err.stack)}__name(extractRememberErrorStack,"extractRememberErrorStack");function shouldSuppressRememberErrorDetails(code){return DETAIL_SUPPRESSED_REMEMBER_ERROR_CODES.has(code)}__name(shouldSuppressRememberErrorDetails,"shouldSuppressRememberErrorDetails");function workspaceMemoryFailureDiagnostics(err,onExtractionError){let details;let stack;try{details=extractRememberErrorDetails(err)}catch(extractionErr){reportRememberErrorExtractionFailure(onExtractionError,"details",extractionErr);details=void 0}try{stack=extractRememberErrorStack(err)}catch(extractionErr){reportRememberErrorExtractionFailure(onExtractionError,"stack",extractionErr);stack=void 0}return{...details?{details}:{},debugDetails:details??"<details unavailable>",...stack?{stack}:{}}}__name(workspaceMemoryFailureDiagnostics,"workspaceMemoryFailureDiagnostics");init_esbuild_shims();var MAX_REMEMBER_CONTENT_BYTES=64*1024;init_esbuild_shims();function formatWorkspaceMemoryForgetSummary(removedEntryCount){return removedEntryCount>0?`Forgot ${removedEntryCount} memory entr${removedEntryCount===1?"y":"ies"}.`:"No managed auto-memory entries matched."}__name(formatWorkspaceMemoryForgetSummary,"formatWorkspaceMemoryForgetSummary");function formatWorkspaceMemoryDreamSummary(touchedTopicCount){return touchedTopicCount>0?"Managed auto-memory dream completed.":"No managed auto-memory topics changed."}__name(formatWorkspaceMemoryDreamSummary,"formatWorkspaceMemoryDreamSummary");init_esbuild_shims();var VALID_SERVER_NAME=/^[A-Za-z0-9_-]+$/;var RESERVED_SERVER_NAMES=new Set(["__proto__","constructor","prototype"]);function isValidServerName(name){return typeof name==="string"&&name.length>0&&name.length<=256&&VALID_SERVER_NAME.test(name)&&!RESERVED_SERVER_NAMES.has(name)}__name(isValidServerName,"isValidServerName");init_esbuild_shims();var GENERATION_MAX_PROMPT_BYTES=32*1024;var GENERATION_TIMEOUT_MS=6e4;async function executeGeneration(config,requestId,prompt,signal,emit){const fastModel=config.getFastModel();const mainModel=config.getModel();const client=config.getBaseLlmClient();let modelSource=fastModel?"fast":"main";let resolved;if(fastModel){try{resolved=await client.resolveForModel(fastModel,{failClosed:true})}catch{modelSource="main"}}resolved??=await client.resolveForModel(mainModel,{failClosed:true});const{contentGenerator,model}=resolved;await emit({type:"started",model,modelSource});const stream=await contentGenerator.generateContentStream({model,contents:[{role:"user",parts:[{text:prompt}]}],config:{abortSignal:signal,tools:[],thinkingConfig:{thinkingBudget:0,includeThoughts:false},temperature:.2}},`generation:${requestId}`);let seq=0;let thinkingEmitted=false;let usage;for await(const chunk of stream){if(!thinkingEmitted&&chunk.candidates?.some(candidate=>candidate.content?.parts?.some(part=>part.thought===true))){thinkingEmitted=true;await emit({type:"thinking"})}const text=getResponseText(chunk)??"";if(text){await emit({type:"delta",seq:seq++,text})}if(chunk.usageMetadata)usage=chunk.usageMetadata}return{model,modelSource,...usage?.promptTokenCount!==void 0?{inputTokens:usage.promptTokenCount}:{},...usage?.candidatesTokenCount!==void 0?{outputTokens:usage.candidatesTokenCount}:{}}}__name(executeGeneration,"executeGeneration");init_esbuild_shims();import{Buffer as Buffer2}from"node:buffer";init_esbuild_shims();import{Buffer}from"node:buffer";import{isDeepStrictEqual}from"node:util";var ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET=65536;var ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER="\n[... truncated for ACP transport ...]\n";var EMPTY_CONTENT_ARRAY_JSON_BYTES=Buffer.byteLength("[]","utf8");var EMPTY_TEXT_BLOCK_JSON_BYTES=Buffer.byteLength(JSON.stringify(createTextBlock("")),"utf8");var JSON_ARRAY_SEPARATOR_BYTES=1;var TRUNCATION_MARKER_PAYLOAD_BYTES=jsonStringJsonByteLength(ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER)-JSON_STRING_DELIMITER_BYTES;var MAX_CANONICAL_TEXT_BLOCKS=Math.floor((ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET-EMPTY_CONTENT_ARRAY_JSON_BYTES+JSON_ARRAY_SEPARATOR_BYTES)/(EMPTY_TEXT_BLOCK_JSON_BYTES+JSON_ARRAY_SEPARATOR_BYTES));function createTextBlock(text){return{type:"content",content:{type:"text",text}}}__name(createTextBlock,"createTextBlock");function isObjectRecord(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}__name(isObjectRecord,"isObjectRecord");function hasExactKeys(value,first,second){const keys=Object.keys(value);return keys.length===2&&Object.hasOwn(value,first)&&Object.hasOwn(value,second)}__name(hasExactKeys,"hasExactKeys");function canonicalTextBlocks(value){if(!Array.isArray(value))return void 0;for(const block of value){if(!isObjectRecord(block)||!hasExactKeys(block,"type","content")||block["type"]!=="content"||!isObjectRecord(block["content"])||!hasExactKeys(block["content"],"type","text")||block["content"]["type"]!=="text"||typeof block["content"]["text"]!=="string"){return void 0}}return value}__name(canonicalTextBlocks,"canonicalTextBlocks");function contentSkeletonBytes(blockCount){if(blockCount===0)return EMPTY_CONTENT_ARRAY_JSON_BYTES;return EMPTY_CONTENT_ARRAY_JSON_BYTES+blockCount*EMPTY_TEXT_BLOCK_JSON_BYTES+(blockCount-1)*JSON_ARRAY_SEPARATOR_BYTES}__name(contentSkeletonBytes,"contentSkeletonBytes");function fallbackContent(){return[createTextBlock(ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER)]}__name(fallbackContent,"fallbackContent");function jsonByteLength(value){return Buffer.byteLength(JSON.stringify(value),"utf8")}__name(jsonByteLength,"jsonByteLength");function allocatePayloadBudgets(payloadBytes,availableBytes){const base=payloadBytes.map(bytes=>Math.min(bytes,TRUNCATION_MARKER_PAYLOAD_BYTES));let remaining=availableBytes-base.reduce((sum,bytes)=>sum+bytes,0);if(remaining<0)return void 0;const capacities=payloadBytes.map((bytes,index)=>({index,capacity:bytes-base[index]}));const sorted=capacities.filter(({capacity})=>capacity>0).sort((left,right)=>left.capacity===right.capacity?left.index-right.index:left.capacity-right.capacity);let active=sorted.length;let position=0;let level=0;let remainder=0;while(position<sorted.length&&active>0&&remaining>0){const nextLevel=sorted[position].capacity;const cost=(nextLevel-level)*active;if(cost>remaining){level+=Math.floor(remaining/active);remainder=remaining%active;remaining=0;break}level=nextLevel;remaining-=cost;while(position<sorted.length&&sorted[position].capacity===nextLevel){position++;active--}}const allocations=base.map((bytes,index)=>bytes+Math.min(capacities[index].capacity,level));if(remainder>0){for(const{index,capacity}of capacities){if(remainder===0)break;if(capacity>level){allocations[index]++;remainder--}}}return allocations}__name(allocatePayloadBudgets,"allocatePayloadBudgets");function projectContent(original){if(original.length>MAX_CANONICAL_TEXT_BLOCKS)return fallbackContent();const skeletonBytes=contentSkeletonBytes(original.length);const availablePayloadBytes=ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET-skeletonBytes;let remainingPayloadBytes=availablePayloadBytes;let needsProjection=false;for(const block of original){const payloadBytes2=jsonStringPayloadByteLength(block.content.text,remainingPayloadBytes);if(payloadBytes2>remainingPayloadBytes){needsProjection=true;break}remainingPayloadBytes-=payloadBytes2}if(!needsProjection)return original;const baseScans=original.map(block=>jsonStringPayloadByteLength(block.content.text,TRUNCATION_MARKER_PAYLOAD_BYTES));const basePayloadBytes=baseScans.map(bytes=>Math.min(bytes,TRUNCATION_MARKER_PAYLOAD_BYTES));const baseTotal=basePayloadBytes.reduce((sum,bytes)=>sum+bytes,0);if(baseTotal>availablePayloadBytes)return fallbackContent();const payloadBytes=original.map((block,index)=>{if(baseScans[index]<=TRUNCATION_MARKER_PAYLOAD_BYTES){return baseScans[index]}const maximumAllocation=availablePayloadBytes-baseTotal+basePayloadBytes[index];const bytes=jsonStringPayloadByteLength(block.content.text,maximumAllocation);return bytes<=maximumAllocation?bytes:maximumAllocation+1});const allocations=allocatePayloadBudgets(payloadBytes,availablePayloadBytes);if(!allocations)return fallbackContent();const projected=original.map((block,index)=>{if(payloadBytes[index]<=allocations[index])return block;return createTextBlock(truncateJsonStringPayload(block.content.text,payloadBytes[index],allocations[index],ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER))});return jsonByteLength(projected)<=ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET?projected:fallbackContent()}__name(projectContent,"projectContent");function projectRawOutput(value){const payloadBudget=ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET-JSON_STRING_DELIMITER_BYTES;const payloadBytes=jsonStringPayloadByteLength(value,payloadBudget);if(payloadBytes<=payloadBudget)return value;const projected=truncateJsonStringPayload(value,payloadBytes,payloadBudget,ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER);return jsonByteLength(projected)<=ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET?projected:ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER}__name(projectRawOutput,"projectRawOutput");function a2uiMeta(meta){if(!meta)return void 0;const toolName=typeof meta["toolName"]==="string"?meta["toolName"]:void 0;const serverId=typeof meta["serverId"]==="string"?meta["serverId"]:void 0;return toolName===void 0&&serverId===void 0?void 0:{...toolName===void 0?{}:{toolName},...serverId===void 0?{}:{serverId}}}__name(a2uiMeta,"a2uiMeta");function projectAcpToolResultUpdate(update){const record=update;if(record["sessionUpdate"]!=="tool_call_update")return update;const meta=isObjectRecord(record["_meta"])?record["_meta"]:void 0;if(isA2uiToolMeta(a2uiMeta(meta)))return update;const content=canonicalTextBlocks(record["content"]);const rawOutput=record["rawOutput"];if(content?.length===1&&typeof rawOutput==="string"&&rawOutput===content[0].content.text){const projectedContent2=projectContent(content);if(projectedContent2===content)return update;const projectedText=projectedContent2[0].content.text;return{...record,content:projectedContent2,rawOutput:projectedText}}const projectedContent=content?projectContent(content):void 0;let projectedRawOutput=typeof rawOutput==="string"?projectRawOutput(rawOutput):void 0;if(isShellResultDisplay(rawOutput)){const structured=mapShellResultText(rawOutput,text=>text);projectedRawOutput=isDeepStrictEqual(structured,rawOutput)?rawOutput:structured;if(Buffer.byteLength(JSON.stringify(structured),"utf8")>ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET){const payloadBytes=[];const skeleton=mapShellResultText(structured,text=>{payloadBytes.push(jsonStringPayloadByteLength(text));return""});const budgets=allocatePayloadBudgets(payloadBytes,ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET-Buffer.byteLength(JSON.stringify(skeleton),"utf8"));let index=0;projectedRawOutput=mapShellResultText(structured,text=>truncateJsonStringPayload(text,jsonStringPayloadByteLength(text),budgets[index++],ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER))}}const contentChanged=projectedContent!==void 0&&projectedContent!==content;const rawOutputChanged=projectedRawOutput!==void 0&&projectedRawOutput!==rawOutput;if(!contentChanged&&!rawOutputChanged)return update;return{...record,...contentChanged?{content:projectedContent}:{},...rawOutputChanged?{rawOutput:projectedRawOutput}:{}}}__name(projectAcpToolResultUpdate,"projectAcpToolResultUpdate");var HistoryReplayLimitError=class extends Error{constructor(sessionId,reason,observed,limit){super(`Transcript replay for session ${sessionId} exceeds the ${reason} limit (${observed}, max ${limit})`);this.sessionId=sessionId;this.reason=reason;this.observed=observed;this.limit=limit;this.name="HistoryReplayLimitError"}static{__name(this,"HistoryReplayLimitError")}};function createReplayCumulativeUsage(){return{promptTokens:0,cachedTokens:0,candidateTokens:0,apiTimeMs:0}}__name(createReplayCumulativeUsage,"createReplayCumulativeUsage");function copyCumulativeUsage(target,source){target.promptTokens=source.promptTokens;target.cachedTokens=source.cachedTokens;target.candidateTokens=source.candidateTokens;target.apiTimeMs=source.apiTimeMs}__name(copyCumulativeUsage,"copyCumulativeUsage");function isObjectRecord2(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}__name(isObjectRecord2,"isObjectRecord");function isCumulativeUsage(value){if(!isObjectRecord2(value))return false;return typeof value["promptTokens"]==="number"&&Number.isFinite(value["promptTokens"])&&typeof value["cachedTokens"]==="number"&&Number.isFinite(value["cachedTokens"])&&typeof value["candidateTokens"]==="number"&&Number.isFinite(value["candidateTokens"])&&typeof value["apiTimeMs"]==="number"&&Number.isFinite(value["apiTimeMs"])}__name(isCumulativeUsage,"isCumulativeUsage");function isPendingReplayToolCall(value){if(!isObjectRecord2(value))return false;return typeof value["callId"]==="string"&&typeof value["toolName"]==="string"&&(value["timestamp"]===void 0||typeof value["timestamp"]==="string")&&typeof value["recordId"]==="string"}__name(isPendingReplayToolCall,"isPendingReplayToolCall");function isCurrentPendingReplayToolCall(value){if(!isObjectRecord2(value))return false;return typeof value["callId"]==="string"&&typeof value["toolName"]==="string"&&typeof value["sourceRecordId"]==="string"&&(value["sourceTimestamp"]===void 0||typeof value["sourceTimestamp"]==="string")}__name(isCurrentPendingReplayToolCall,"isCurrentPendingReplayToolCall");function parseTranscriptReplayState(replay,logger){if(!isObjectRecord2(replay)){return{pendingToolCalls:[],cumulativeUsage:createReplayCumulativeUsage()}}if("v"in replay&&replay["v"]!==1){throw new TypeError("Unsupported transcript replay state version.")}const rawPending=replay["pendingToolCalls"];const pendingToolCalls=Array.isArray(rawPending)?rawPending.flatMap(pending=>{if(isPendingReplayToolCall(pending))return[pending];if(isCurrentPendingReplayToolCall(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}:{}}]}return[]}):[];if(logger&&Array.isArray(rawPending)&&pendingToolCalls.length!==rawPending.length){const dropped=rawPending.length-pendingToolCalls.length;logger.warn(`[transcript] replay state dropped ${dropped} of ${rawPending.length} malformed pending tool calls`)}const cumulativeUsage=isCumulativeUsage(replay["cumulativeUsage"])?{...replay["cumulativeUsage"]}:createReplayCumulativeUsage();const rawGoalState=replay["goalState"];const goalState=rawGoalState===void 0?void 0:parseGoalSnapshotV2(rawGoalState);if(logger&&rawGoalState!==void 0&&!goalState){logger.warn("[transcript] replay state dropped a malformed Goal state")}const rawGoalCause=replay["goalCause"];const goalCause=rawGoalCause===void 0?void 0:parseGoalStateCause(rawGoalCause);if(logger&&rawGoalCause!==void 0&&!goalCause){logger.warn("[transcript] replay state dropped a malformed Goal cause")}return{pendingToolCalls,cumulativeUsage,...goalState?{goalState}:{},...goalCause?{goalCause}:{}}}__name(parseTranscriptReplayState,"parseTranscriptReplayState");function blankReplayedMcpAppHtml(update){const record=update;if(record["sessionUpdate"]!=="tool_call_update")return void 0;const rawOutput=record["rawOutput"];if(!isObjectRecord2(rawOutput)||rawOutput["type"]!=="mcp_app"||typeof rawOutput["html"]!=="string"||rawOutput["html"]===""){return void 0}const blanked={...record,rawOutput:{...rawOutput,html:"",fallbackText:rawOutput["fallbackText"]||"MCP App HTML omitted because the restored page exceeds its size limit."}};if(Buffer2.byteLength(JSON.stringify(blanked),"utf8")>=Buffer2.byteLength(JSON.stringify(record),"utf8")){return void 0}return blanked}__name(blankReplayedMcpAppHtml,"blankReplayedMcpAppHtml");function degradeReplayEnvelopeAppHtml(envelope,maxBytes){let pageBytes=Buffer2.byteLength(JSON.stringify(envelope),"utf8");for(let i=0;i<envelope.updates.length&&pageBytes>maxBytes;i++){const update=envelope.updates[i];const blanked=blankReplayedMcpAppHtml(update);if(blanked===void 0)continue;pageBytes+=Buffer2.byteLength(JSON.stringify(blanked),"utf8")-Buffer2.byteLength(JSON.stringify(update),"utf8");envelope.updates[i]=blanked}}__name(degradeReplayEnvelopeAppHtml,"degradeReplayEnvelopeAppHtml");function replayContext(sessionId,updates,cumulativeUsage,config,limits){let activeRecordId=null;let serializedUpdateBytes=2;return{sessionId,sendUpdate:__name(async update=>{const projectedUpdate=projectAcpToolResultUpdate(update);const updateWithRecordId=(()=>{if(activeRecordId===null)return projectedUpdate;const record=projectedUpdate;const meta=isObjectRecord2(record["_meta"])?record["_meta"]:{};return{...record,_meta:{...meta,"qwen.session.recordId":activeRecordId}}})();let deliveredUpdate=liftSessionUpdateTimestamp(updateWithRecordId);observeAcpToolResultProjection(update,projectedUpdate,sessionId,deliveredUpdate);if(limits){const updateCount=updates.length+1;if(updateCount>limits.maxUpdates){throw new HistoryReplayLimitError(sessionId,"updates",updateCount,limits.maxUpdates)}let updateBytes=(updates.length===0?0:1)+Buffer2.byteLength(JSON.stringify(deliveredUpdate),"utf8");if(serializedUpdateBytes+updateBytes>limits.maxBytes){for(let i=0;i<updates.length&&serializedUpdateBytes+updateBytes>limits.maxBytes;i++){const blanked=blankReplayedMcpAppHtml(updates[i]);if(blanked===void 0)continue;serializedUpdateBytes-=Buffer2.byteLength(JSON.stringify(updates[i]),"utf8")-Buffer2.byteLength(JSON.stringify(blanked),"utf8");updates[i]=blanked}if(serializedUpdateBytes+updateBytes>limits.maxBytes){const blanked=blankReplayedMcpAppHtml(deliveredUpdate);if(blanked!==void 0){deliveredUpdate=blanked;updateBytes=(updates.length===0?0:1)+Buffer2.byteLength(JSON.stringify(blanked),"utf8")}}}serializedUpdateBytes+=updateBytes;if(serializedUpdateBytes>limits.maxBytes){throw new HistoryReplayLimitError(sessionId,"bytes",serializedUpdateBytes,limits.maxBytes)}}updates.push(deliveredUpdate)},"sendUpdate"),setActiveRecordId:__name(recordId=>{activeRecordId=recordId},"setActiveRecordId"),cumulativeUsage,...config?{config}:{}}}__name(replayContext,"replayContext");async function collectHistoryReplayUpdates({sessionId,config,records,gaps,cumulativeUsage,logger,replayState,goalBootstrap,limits,suppressRestoreAskUserQuestion,finalizeDangling,branchPointsByAssistantUuid}){const updates=[];let replayError;try{const initial=parseTranscriptReplayState(replayState,logger);let skipFinalizeCallIds;if(suppressRestoreAskUserQuestion!==true&&config?.getRestoreAskUserQuestion?.()===true){const replayClient=config.getLlmClient?.();const lastHistoryContent=replayClient?.isInitialized?.()===true?replayClient.getChat?.()?.peekLastHistoryEntry?.()??lastHistoryContentFromRecords(records):lastHistoryContentFromRecords(records);skipFinalizeCallIds=restorableAskUserQuestionCallIds(lastHistoryContent)}await new HistoryReplayer(replayContext(sessionId,updates,cumulativeUsage,config,limits)).replay(records,gaps,{...initial.goalState?{initialGoalState:initial.goalState}:{},...initial.goalCause?{initialGoalCause:initial.goalCause}:{},...goalBootstrap?{goalBootstrap}:{},...skipFinalizeCallIds?{skipFinalizeCallIds}:{},...finalizeDangling===void 0?{}:{finalizeDangling}})}catch(error){if(error instanceof HistoryReplayLimitError)throw error;replayError=error instanceof Error?error.message:String(error);logger?.warn("[historyReplay] History replay failed for session %s (partial updates: %d):",sessionId,updates.length,error)}if(branchPointsByAssistantUuid){stampBranchPoints(updates,branchPointsByAssistantUuid)}return replayError===void 0?{updates}:{updates,replayError}}__name(collectHistoryReplayUpdates,"collectHistoryReplayUpdates");function liftSessionUpdateTimestamp(update){const record=update;const meta=record["_meta"];const timestamp=isObjectRecord2(meta)?meta["timestamp"]:void 0;return typeof timestamp==="number"||typeof timestamp==="string"?{...record,timestamp}:update}__name(liftSessionUpdateTimestamp,"liftSessionUpdateTimestamp");function readTranscriptSourceRecordIds(update){const value=update;const meta=value["_meta"]&&typeof value["_meta"]==="object"?value["_meta"]:void 0;const transcript=meta?.["qwenTranscript"]&&typeof meta["qwenTranscript"]==="object"?meta["qwenTranscript"]:void 0;const sourceRecordIds=transcript?.["sourceRecordIds"];if(!Array.isArray(sourceRecordIds))return void 0;return sourceRecordIds.filter(id=>typeof id==="string")}__name(readTranscriptSourceRecordIds,"readTranscriptSourceRecordIds");function stampBranchPoints(updates,branchPoints){const lastChunkIndexByRecordId=new Map;updates.forEach((update,index)=>{if(update.sessionUpdate!=="agent_message_chunk")return;const text=update.content?.text;if(typeof text!=="string"||text.length===0)return;for(const recordId of readTranscriptSourceRecordIds(update)??[]){if(Object.hasOwn(branchPoints,recordId)){lastChunkIndexByRecordId.set(recordId,index)}}});const decoratedIndexes=new Set;for(const[recordId,index]of lastChunkIndexByRecordId){if(decoratedIndexes.has(index))continue;decoratedIndexes.add(index);const value=updates[index];const meta=value["_meta"]&&typeof value["_meta"]==="object"?value["_meta"]:void 0;const transcript=meta?.["qwenTranscript"]&&typeof meta["qwenTranscript"]==="object"?meta["qwenTranscript"]:void 0;value["_meta"]={...meta,qwenTranscript:{...transcript,branchRecordId:branchPoints[recordId]}}}}__name(stampBranchPoints,"stampBranchPoints");async function replayTranscriptRecordPage({sessionId,page,config,encodeCursor,logger,finalizeDangling=true}){const state=parseTranscriptReplayState(page.replay,logger);const updates=[];const replayer=new HistoryReplayer(replayContext(sessionId,updates,state.cumulativeUsage,config));let replayState;let replayError;try{const replayPageState=await replayer.replayPage(page.records,{pendingToolCalls:page.direction==="backward"?[]:state.pendingToolCalls,finalizeDangling:finalizeDangling&&(page.direction==="backward"||!page.hasMore),gaps:page.gaps,includeTiming:true,...state.goalState?{goalState:state.goalState}:{},...state.goalCause?{goalCause:state.goalCause}:{}});replayState=replayPageState.replay}catch(error){logger?.warn("[historyReplay] Paged history replay failed for session %s (partial updates: %d):",sessionId,updates.length,error);replayState=replayer.getReplayState();replayError="Replay conversion failed for this page"}if(page.branchPointsByAssistantUuid){stampBranchPoints(updates,page.branchPointsByAssistantUuid)}const nextCursor=page.nextCursorState&&replayError===void 0?encodeCursor({...page.nextCursorState,...page.direction==="backward"?{}:{replay:replayState}}):void 0;return{updates,...nextCursor?{nextCursor}:{},hasMore:replayError===void 0&&page.hasMore,startTime:page.startTime,lastUpdated:page.lastUpdated,...replayError?{partial:true,replayError}:{}}}__name(replayTranscriptRecordPage,"replayTranscriptRecordPage");export{createWorkspaceMemoryExtractionErrorLogger,extractRememberErrorCode,workspaceMemoryFailureCode,shouldSuppressRememberErrorDetails,workspaceMemoryFailureDiagnostics,MAX_REMEMBER_CONTENT_BYTES,formatWorkspaceMemoryForgetSummary,formatWorkspaceMemoryDreamSummary,isValidServerName,GENERATION_MAX_PROMPT_BYTES,GENERATION_TIMEOUT_MS,executeGeneration,projectAcpToolResultUpdate,HistoryReplayLimitError,createReplayCumulativeUsage,copyCumulativeUsage,degradeReplayEnvelopeAppHtml,collectHistoryReplayUpdates,replayTranscriptRecordPage};
4
4
  /**
5
5
  * @license
6
6
  * Copyright 2026 Qwen Team
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{JsonFormatter}from"./chunk-5WLKN3GD.js";import{parseAndFormatApiError}from"./chunk-Z5XENA4A.js";import{runExitCleanup}from"./chunk-UY2ET2AL.js";import{writeStderrLine}from"./chunk-M4ECEHLX.js";import{stripAnsiAndControl}from"./chunk-DBRQGEEI.js";import{createDebugLogger}from"./chunk-JAUJI56S.js";import{FatalBudgetExceededError,FatalCancellationError,FatalTurnLimitedError}from"./chunk-XYB7GC5U.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name}from"./chunk-KBWJGX7I.js";init_esbuild_shims();var debugLogger=createDebugLogger("CLI_ERRORS");var AlreadyReportedError=class extends Error{static{__name(this,"AlreadyReportedError")}exitCode;constructor(message,exitCode=1){super(message);this.name="AlreadyReportedError";this.exitCode=exitCode}};function getErrorMessage(error){if(error instanceof Error){return error.message}if(error!==null&&typeof error==="object"&&"message"in error&&typeof error.message==="string"){return error.message}if(error!==null&&typeof error==="object"){try{const stringified=JSON.stringify(error);return stringified??String(error)}catch{return String(error)}}return String(error)}__name(getErrorMessage,"getErrorMessage");function extractErrorCode(error){const errorWithCode=error;if(typeof errorWithCode.exitCode==="number"){return errorWithCode.exitCode}if(errorWithCode.code!==void 0){return errorWithCode.code}if(errorWithCode.status!==void 0){return errorWithCode.status}return 1}__name(extractErrorCode,"extractErrorCode");function getNumericExitCode(errorCode){return typeof errorCode==="number"?errorCode:1}__name(getNumericExitCode,"getNumericExitCode");var exiting=false;async function exitAfterCleanup(code){if(exiting)return new Promise(()=>{});exiting=true;await runExitCleanup();return process.exit(code)}__name(exitAfterCleanup,"exitAfterCleanup");function _resetExitLatchForTest(){exiting=false}__name(_resetExitLatchForTest,"_resetExitLatchForTest");async function handleError(error,config,customErrorCode){if(error instanceof AlreadyReportedError){if(config.getOutputFormat()==="json"){const formatter=new JsonFormatter;const errorCode=customErrorCode??error.exitCode;const formattedError=formatter.formatError(error,errorCode);writeStderrLine(formattedError);return exitAfterCleanup(getNumericExitCode(errorCode))}await runExitCleanup();throw error}const errorMessage=parseAndFormatApiError(error,config.getContentGeneratorConfig()?.authType);if(config.getOutputFormat()==="json"){const formatter=new JsonFormatter;const errorCode=customErrorCode??extractErrorCode(error);const formattedError=formatter.formatError(error instanceof Error?error:new Error(getErrorMessage(error)),errorCode);writeStderrLine(formattedError);return exitAfterCleanup(getNumericExitCode(errorCode))}else{writeStderrLine(errorMessage);await runExitCleanup();throw error}}__name(handleError,"handleError");var TOOL_NAME_ECHO_LIMIT=64;var DENIAL_REASON_ECHO_LIMIT=500;function sanitizeForStderr(text,limit){const clean=stripAnsiAndControl(text.replace(/\s+/g," ")).replace(new RegExp("\\p{Cf}","gu"),"").trim();return clean.length>limit?`${clean.slice(0,limit)}\u2026`:clean}__name(sanitizeForStderr,"sanitizeForStderr");function handleToolError(toolName,toolError,config,errorCode,resultDisplay,options={}){const isExecutionDenied=errorCode==="execution_denied";const isNonInteractive=!config.isInteractive();const isTextMode=config.getOutputFormat()==="text";if(isExecutionDenied&&isNonInteractive&&isTextMode){const displayName=sanitizeForStderr(toolName,TOOL_NAME_ECHO_LIMIT);if(options.approvalRequired){process.stderr.write(`Warning: Tool "${displayName}" requires user approval but cannot execute in non-interactive mode.
3
+ import{JsonFormatter}from"./chunk-OU7CEG7Q.js";import{parseAndFormatApiError}from"./chunk-2JGTWRZJ.js";import{runExitCleanup}from"./chunk-AYVCT5FF.js";import{writeStderrLine}from"./chunk-M4ECEHLX.js";import{stripAnsiAndControl}from"./chunk-DBRQGEEI.js";import{createDebugLogger}from"./chunk-JAUJI56S.js";import{FatalBudgetExceededError,FatalCancellationError,FatalTurnLimitedError}from"./chunk-XYB7GC5U.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name}from"./chunk-KBWJGX7I.js";init_esbuild_shims();var debugLogger=createDebugLogger("CLI_ERRORS");var AlreadyReportedError=class extends Error{static{__name(this,"AlreadyReportedError")}exitCode;constructor(message,exitCode=1){super(message);this.name="AlreadyReportedError";this.exitCode=exitCode}};function getErrorMessage(error){if(error instanceof Error){return error.message}if(error!==null&&typeof error==="object"&&"message"in error&&typeof error.message==="string"){return error.message}if(error!==null&&typeof error==="object"){try{const stringified=JSON.stringify(error);return stringified??String(error)}catch{return String(error)}}return String(error)}__name(getErrorMessage,"getErrorMessage");function extractErrorCode(error){const errorWithCode=error;if(typeof errorWithCode.exitCode==="number"){return errorWithCode.exitCode}if(errorWithCode.code!==void 0){return errorWithCode.code}if(errorWithCode.status!==void 0){return errorWithCode.status}return 1}__name(extractErrorCode,"extractErrorCode");function getNumericExitCode(errorCode){return typeof errorCode==="number"?errorCode:1}__name(getNumericExitCode,"getNumericExitCode");var exiting=false;async function exitAfterCleanup(code){if(exiting)return new Promise(()=>{});exiting=true;await runExitCleanup();return process.exit(code)}__name(exitAfterCleanup,"exitAfterCleanup");function _resetExitLatchForTest(){exiting=false}__name(_resetExitLatchForTest,"_resetExitLatchForTest");async function handleError(error,config,customErrorCode){if(error instanceof AlreadyReportedError){if(config.getOutputFormat()==="json"){const formatter=new JsonFormatter;const errorCode=customErrorCode??error.exitCode;const formattedError=formatter.formatError(error,errorCode);writeStderrLine(formattedError);return exitAfterCleanup(getNumericExitCode(errorCode))}await runExitCleanup();throw error}const errorMessage=parseAndFormatApiError(error,config.getContentGeneratorConfig()?.authType);if(config.getOutputFormat()==="json"){const formatter=new JsonFormatter;const errorCode=customErrorCode??extractErrorCode(error);const formattedError=formatter.formatError(error instanceof Error?error:new Error(getErrorMessage(error)),errorCode);writeStderrLine(formattedError);return exitAfterCleanup(getNumericExitCode(errorCode))}else{writeStderrLine(errorMessage);await runExitCleanup();throw error}}__name(handleError,"handleError");var TOOL_NAME_ECHO_LIMIT=64;var DENIAL_REASON_ECHO_LIMIT=500;function sanitizeForStderr(text,limit){const clean=stripAnsiAndControl(text.replace(/\s+/g," ")).replace(new RegExp("\\p{Cf}","gu"),"").trim();return clean.length>limit?`${clean.slice(0,limit)}\u2026`:clean}__name(sanitizeForStderr,"sanitizeForStderr");function handleToolError(toolName,toolError,config,errorCode,resultDisplay,options={}){const isExecutionDenied=errorCode==="execution_denied";const isNonInteractive=!config.isInteractive();const isTextMode=config.getOutputFormat()==="text";if(isExecutionDenied&&isNonInteractive&&isTextMode){const displayName=sanitizeForStderr(toolName,TOOL_NAME_ECHO_LIMIT);if(options.approvalRequired){process.stderr.write(`Warning: Tool "${displayName}" requires user approval but cannot execute in non-interactive mode.
4
4
  To enable automatic tool execution, use the -y flag (YOLO mode):
5
5
  Example: qwen -p 'your prompt' -y
6
6
 
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{assertExternalAgentSpawnPlatformSupported,isExpectedExternalAgentCleanupExit,isUnprovenExternalAgentTreeExit}from"./chunk-MPAR4JBP.js";import{ProcessRegistry}from"./chunk-ESSOEHTE.js";import"./chunk-BC4C6F32.js";import"./chunk-2QYDBHYZ.js";import"./chunk-LUDNUVSA.js";import"./chunk-VTZZXEWA.js";import"./chunk-L5UULTGF.js";import"./chunk-CFTFKWPW.js";import"./chunk-NIEO2TBE.js";import"./chunk-WSOEJTOC.js";import"./chunk-5WLKN3GD.js";import"./chunk-QS2ZMQIS.js";import"./chunk-S7IKHQ6I.js";import"./chunk-PAD5GPDY.js";import"./chunk-MD3ZEOBX.js";import"./chunk-SSYS5YN5.js";import"./chunk-X5QSFJVS.js";import"./chunk-OMDTFGTX.js";import"./chunk-EIILQ6KT.js";import"./chunk-46VUDNCL.js";import"./chunk-MKH3EH7O.js";import"./chunk-Q5E5SOY2.js";import"./chunk-62NLMVVT.js";import"./chunk-HW6SU6MX.js";import"./chunk-ZHHFNZ5J.js";import"./chunk-AKWYMQKU.js";import"./chunk-MZUOREFD.js";import"./chunk-DEMXCA3K.js";import"./chunk-7XZVMIY5.js";import"./chunk-2VCDJ6UF.js";import"./chunk-ZZJXFLVM.js";import"./chunk-RKDS7A4H.js";import"./chunk-GSOBASYW.js";import"./chunk-IV3HAIUN.js";import"./chunk-XFMPZINJ.js";import"./chunk-DECUAM3U.js";import"./chunk-QX7W2HY7.js";import"./chunk-HN5UYLPU.js";import"./chunk-PGRN3GZY.js";import"./chunk-HTW7PYHK.js";import"./chunk-AMGUAA4G.js";import"./chunk-YFTVFH2A.js";import"./chunk-ZBHL2CXR.js";import"./chunk-NIOS3B3V.js";import{AgentEventEmitter,renderSubagentSystemPrompt}from"./chunk-Z5XENA4A.js";import"./chunk-R2EHHA2C.js";import"./chunk-YK7NDQKM.js";import"./chunk-ZLZF2ZDD.js";import"./chunk-OMSVOFTC.js";import"./chunk-PHIPLV2I.js";import"./chunk-ZOTKZI2P.js";import"./chunk-A6G5TAIF.js";import"./chunk-YVBHCSZD.js";import"./chunk-FIXDX63I.js";import"./chunk-T7CHK6C2.js";import"./chunk-PT7NZBDY.js";import"./chunk-TWP72VRH.js";import"./chunk-UYEWRLGD.js";import"./chunk-QVPT37XZ.js";import"./chunk-YVD4O5ZB.js";import"./chunk-T6W33SET.js";import"./chunk-WK2IBT6D.js";import"./chunk-QZV4PFQK.js";import"./chunk-ILECDNJX.js";import"./chunk-QXQGUM3Y.js";import"./chunk-UQ7IROJH.js";import"./chunk-SZCBUCNH.js";import"./chunk-BEKROCWN.js";import"./chunk-5SUFJTQQ.js";import"./chunk-BYU42MLK.js";import"./chunk-JWQXU3SR.js";import"./chunk-5LZ2DPLH.js";import"./chunk-XQJOZDV7.js";import"./chunk-CV2UAEZA.js";import"./chunk-FUBDS3AV.js";import"./chunk-HW6AWS7W.js";import"./chunk-KLC3OD2M.js";import"./chunk-Q5IZXKUJ.js";import"./chunk-G5PYYZMM.js";import"./chunk-BG67XABA.js";import"./chunk-OBOU4ZZM.js";import"./chunk-D7XCQWP2.js";import"./chunk-AE5OMKRY.js";import"./chunk-OBV7RNHV.js";import"./chunk-7CQMWEMY.js";import"./chunk-GOZYWU4B.js";import"./chunk-OUC3WICA.js";import"./chunk-JZK2WGXA.js";import"./chunk-MPHSE7M4.js";import"./chunk-S2ZKZXHX.js";import"./chunk-7UK4WJWS.js";import"./chunk-4GP3PH7Z.js";import"./chunk-4QQKOW5M.js";import"./chunk-OV3EBH6J.js";import"./chunk-EBMCWXGZ.js";import"./chunk-XZTE4YTN.js";import"./chunk-LSASUDF2.js";import"./chunk-2V5EKGDK.js";import"./chunk-MOKVM4PT.js";import"./chunk-YIW3H46P.js";import"./chunk-EOMRLUNZ.js";import"./chunk-4ZRCV3JY.js";import"./chunk-TL6MLBXR.js";import"./chunk-NMY3PYNO.js";import"./chunk-YGLM5XPP.js";import"./chunk-WGNF7FPC.js";import"./chunk-4NPYOXJO.js";import"./chunk-MWGB5RCF.js";import"./chunk-SCD5TUBG.js";import"./chunk-NTRFETZB.js";import"./chunk-TL3SF2GA.js";import{sanitizeChildEnv}from"./chunk-LMJPU2JM.js";import"./chunk-VFB6Q74I.js";import"./chunk-4JNHUZ7M.js";import"./chunk-SW54YEPK.js";import"./chunk-ZCRL73DT.js";import"./chunk-A6LT3FIJ.js";import"./chunk-S6RXVOY6.js";import"./chunk-YZFNBUKG.js";import"./chunk-AGEDDL7Z.js";import"./chunk-2NJJHZ52.js";import"./chunk-BN4FIQ77.js";import"./chunk-X64RXJQQ.js";import"./chunk-HETUGUHE.js";import"./chunk-ET2Z7ZGF.js";import"./chunk-XFPYXD2P.js";import"./chunk-3YWXKSOI.js";import"./chunk-5CWTKFI4.js";import"./chunk-C4MVD5OI.js";import"./chunk-Z2W7S4O4.js";import"./chunk-476F6QIM.js";import"./chunk-4R67LXKL.js";import"./chunk-FQRF6B65.js";import"./chunk-ZWPSBU7K.js";import"./chunk-UQFTXKEB.js";import"./chunk-HDGTWJ24.js";import"./chunk-W5NWIGKO.js";import"./chunk-KVA6DHHF.js";import"./chunk-PWOQASXT.js";import"./chunk-K7JCVESI.js";import"./chunk-Y6HHV4LC.js";import"./chunk-RP57XAJ2.js";import"./chunk-Z6AR5XE5.js";import"./chunk-7DOOXUDG.js";import"./chunk-77V43YOE.js";import"./chunk-7U7CWMP7.js";import"./chunk-EFTJIDS3.js";import"./chunk-4DIWAQ5G.js";import"./chunk-Q6UAOTP3.js";import"./chunk-NGOIJH7K.js";import"./chunk-GOR7FFVE.js";import"./chunk-4ZBZL23U.js";import"./chunk-BMHYEQTI.js";import"./chunk-ZZZAYAJW.js";import"./chunk-XMANRGPK.js";import"./chunk-3XVPZY7X.js";import"./chunk-KQX4H2D3.js";import"./chunk-URNNJMIC.js";import"./chunk-GU22I6TY.js";import"./chunk-YEYW7PPR.js";import"./chunk-DBRQGEEI.js";import"./chunk-B3ZFUGTC.js";import"./chunk-IRINPFG7.js";import"./chunk-6GTPLW7K.js";import"./chunk-NGVRCUYD.js";import"./chunk-5DTFN37U.js";import"./chunk-2YUBAWQ6.js";import"./chunk-O5EKX7LG.js";import"./chunk-TM6ZCBR7.js";import"./chunk-SVAPAMMG.js";import"./chunk-3KUHQGOS.js";import"./chunk-I6S7NGX3.js";import"./chunk-SBZFGYYS.js";import{createDebugLogger}from"./chunk-JAUJI56S.js";import"./chunk-I4H7NUVP.js";import"./chunk-EPODBRBP.js";import"./chunk-OKN3Z5C5.js";import"./chunk-XYB7GC5U.js";import"./chunk-2UOMCYQG.js";import"./chunk-I7L2TX4M.js";import"./chunk-MK3OONRA.js";import"./chunk-COGTQ5KZ.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name}from"./chunk-KBWJGX7I.js";init_esbuild_shims();import{spawn}from"node:child_process";import{createInterface}from"node:readline";var debugLogger=createDebugLogger("EXTERNAL_AGENT");var CodexInterruption=class extends Error{constructor(mode){super(mode==="TIMEOUT"?"Codex task exceeded its time limit.":"Codex task cancelled.");this.mode=mode}static{__name(this,"CodexInterruption")}};function object(value){if(!value||typeof value!=="object"||Array.isArray(value)){throw new Error("Codex returned an invalid protocol object.")}return value}__name(object,"object");function id(value){if(typeof value!=="string"||!value){throw new Error("Codex returned an invalid thread or turn ID.")}return value}__name(id,"id");async function runCodex(params,prompt,sandbox,signal){if(signal.aborted)throw new CodexInterruption("CANCELLED");const env=sanitizeChildEnv(process.env);delete env["CODEX_THREAD_ID"];delete env["CLAUDECODE"];delete env["NODE_OPTIONS"];const child=spawn(params.spec.command,params.spec.args??["app-server","--stdio"],{cwd:params.runtimeContext.getTargetDir(),env,stdio:"pipe",detached:process.platform!=="win32",windowsHide:true});const tracked=new ProcessRegistry().reserve().attach(child,{ownsProcessTree:true});child.stderr.resume();const lines=createInterface({input:child.stdout,crlfDelay:Infinity});const pending=new Map;let sequence=0;let threadId;let turnId;let finalAnswer;let unphasedAnswer;let terminal=false;let exitDrainTimer;let fail;const failure=new Promise((_resolve,reject)=>{fail=reject});let complete;const completed=new Promise(resolve=>{complete=resolve});const write=__name(frame=>{child.stdin.write(`${JSON.stringify(frame)}
3
+ import{assertExternalAgentSpawnPlatformSupported,isExpectedExternalAgentCleanupExit,isUnprovenExternalAgentTreeExit}from"./chunk-I6PUY2T3.js";import{ProcessRegistry}from"./chunk-ESSOEHTE.js";import"./chunk-BC4C6F32.js";import"./chunk-2QYDBHYZ.js";import"./chunk-LUDNUVSA.js";import"./chunk-VTZZXEWA.js";import"./chunk-L5UULTGF.js";import"./chunk-CFTFKWPW.js";import"./chunk-NIEO2TBE.js";import"./chunk-WSOEJTOC.js";import"./chunk-OU7CEG7Q.js";import"./chunk-QS2ZMQIS.js";import"./chunk-S7IKHQ6I.js";import"./chunk-PAD5GPDY.js";import"./chunk-MD3ZEOBX.js";import"./chunk-SSYS5YN5.js";import"./chunk-X5QSFJVS.js";import"./chunk-OMDTFGTX.js";import"./chunk-32XHDDIA.js";import"./chunk-46VUDNCL.js";import"./chunk-MKH3EH7O.js";import"./chunk-FKZ46GKL.js";import"./chunk-SP6CQ3MO.js";import"./chunk-HW6SU6MX.js";import"./chunk-ZHHFNZ5J.js";import"./chunk-AKWYMQKU.js";import"./chunk-MZUOREFD.js";import"./chunk-CF6SZJNP.js";import"./chunk-7XZVMIY5.js";import"./chunk-CGDFZEER.js";import"./chunk-ZZJXFLVM.js";import"./chunk-RKDS7A4H.js";import"./chunk-KZNYALFU.js";import"./chunk-IV3HAIUN.js";import"./chunk-XFMPZINJ.js";import"./chunk-DECUAM3U.js";import"./chunk-QX7W2HY7.js";import"./chunk-HN5UYLPU.js";import"./chunk-PGRN3GZY.js";import"./chunk-HTW7PYHK.js";import"./chunk-AMGUAA4G.js";import"./chunk-YFTVFH2A.js";import"./chunk-ZBHL2CXR.js";import"./chunk-NIOS3B3V.js";import{AgentEventEmitter,renderSubagentSystemPrompt}from"./chunk-2JGTWRZJ.js";import"./chunk-R2EHHA2C.js";import"./chunk-YK7NDQKM.js";import"./chunk-ZLZF2ZDD.js";import"./chunk-OMSVOFTC.js";import"./chunk-PHIPLV2I.js";import"./chunk-ZOTKZI2P.js";import"./chunk-A6G5TAIF.js";import"./chunk-YVBHCSZD.js";import"./chunk-FIXDX63I.js";import"./chunk-T7CHK6C2.js";import"./chunk-PT7NZBDY.js";import"./chunk-TWP72VRH.js";import"./chunk-UYEWRLGD.js";import"./chunk-QVPT37XZ.js";import"./chunk-YVD4O5ZB.js";import"./chunk-T6W33SET.js";import"./chunk-WK2IBT6D.js";import"./chunk-QZV4PFQK.js";import"./chunk-ILECDNJX.js";import"./chunk-QXQGUM3Y.js";import"./chunk-UQ7IROJH.js";import"./chunk-SZCBUCNH.js";import"./chunk-BEKROCWN.js";import"./chunk-5SUFJTQQ.js";import"./chunk-BYU42MLK.js";import"./chunk-JWQXU3SR.js";import"./chunk-5LZ2DPLH.js";import"./chunk-XQJOZDV7.js";import"./chunk-CV2UAEZA.js";import"./chunk-FUBDS3AV.js";import"./chunk-HW6AWS7W.js";import"./chunk-KLC3OD2M.js";import"./chunk-Q5IZXKUJ.js";import"./chunk-G5PYYZMM.js";import"./chunk-BG67XABA.js";import"./chunk-OBOU4ZZM.js";import"./chunk-D7XCQWP2.js";import"./chunk-AE5OMKRY.js";import"./chunk-OBV7RNHV.js";import"./chunk-7CQMWEMY.js";import"./chunk-GOZYWU4B.js";import"./chunk-OUC3WICA.js";import"./chunk-JZK2WGXA.js";import"./chunk-MPHSE7M4.js";import"./chunk-S2ZKZXHX.js";import"./chunk-7UK4WJWS.js";import"./chunk-4GP3PH7Z.js";import"./chunk-4QQKOW5M.js";import"./chunk-OV3EBH6J.js";import"./chunk-EBMCWXGZ.js";import"./chunk-XZTE4YTN.js";import"./chunk-LSASUDF2.js";import"./chunk-2V5EKGDK.js";import"./chunk-MOKVM4PT.js";import"./chunk-YIW3H46P.js";import"./chunk-EOMRLUNZ.js";import"./chunk-4ZRCV3JY.js";import"./chunk-TL6MLBXR.js";import"./chunk-NMY3PYNO.js";import"./chunk-YGLM5XPP.js";import"./chunk-WGNF7FPC.js";import"./chunk-4NPYOXJO.js";import"./chunk-MWGB5RCF.js";import"./chunk-SCD5TUBG.js";import"./chunk-NTRFETZB.js";import"./chunk-TL3SF2GA.js";import{sanitizeChildEnv}from"./chunk-LMJPU2JM.js";import"./chunk-VFB6Q74I.js";import"./chunk-4JNHUZ7M.js";import"./chunk-SW54YEPK.js";import"./chunk-ZCRL73DT.js";import"./chunk-A6LT3FIJ.js";import"./chunk-S6RXVOY6.js";import"./chunk-YZFNBUKG.js";import"./chunk-AGEDDL7Z.js";import"./chunk-2NJJHZ52.js";import"./chunk-BN4FIQ77.js";import"./chunk-X64RXJQQ.js";import"./chunk-HETUGUHE.js";import"./chunk-ET2Z7ZGF.js";import"./chunk-XFPYXD2P.js";import"./chunk-3YWXKSOI.js";import"./chunk-5CWTKFI4.js";import"./chunk-C4MVD5OI.js";import"./chunk-Z2W7S4O4.js";import"./chunk-476F6QIM.js";import"./chunk-4R67LXKL.js";import"./chunk-FQRF6B65.js";import"./chunk-ZWPSBU7K.js";import"./chunk-UQFTXKEB.js";import"./chunk-HDGTWJ24.js";import"./chunk-W5NWIGKO.js";import"./chunk-KVA6DHHF.js";import"./chunk-PWOQASXT.js";import"./chunk-K7JCVESI.js";import"./chunk-Y6HHV4LC.js";import"./chunk-RP57XAJ2.js";import"./chunk-Z6AR5XE5.js";import"./chunk-7DOOXUDG.js";import"./chunk-77V43YOE.js";import"./chunk-7U7CWMP7.js";import"./chunk-EFTJIDS3.js";import"./chunk-4DIWAQ5G.js";import"./chunk-Q6UAOTP3.js";import"./chunk-AFO5ER23.js";import"./chunk-GOR7FFVE.js";import"./chunk-4ZBZL23U.js";import"./chunk-BMHYEQTI.js";import"./chunk-ZZZAYAJW.js";import"./chunk-XMANRGPK.js";import"./chunk-3XVPZY7X.js";import"./chunk-KQX4H2D3.js";import"./chunk-URNNJMIC.js";import"./chunk-GU22I6TY.js";import"./chunk-YEYW7PPR.js";import"./chunk-DBRQGEEI.js";import"./chunk-B3ZFUGTC.js";import"./chunk-IRINPFG7.js";import"./chunk-6GTPLW7K.js";import"./chunk-NGVRCUYD.js";import"./chunk-5DTFN37U.js";import"./chunk-2YUBAWQ6.js";import"./chunk-O5EKX7LG.js";import"./chunk-TM6ZCBR7.js";import"./chunk-SVAPAMMG.js";import"./chunk-3KUHQGOS.js";import"./chunk-I6S7NGX3.js";import"./chunk-SBZFGYYS.js";import{createDebugLogger}from"./chunk-JAUJI56S.js";import"./chunk-I4H7NUVP.js";import"./chunk-EPODBRBP.js";import"./chunk-OKN3Z5C5.js";import"./chunk-XYB7GC5U.js";import"./chunk-2UOMCYQG.js";import"./chunk-I7L2TX4M.js";import"./chunk-MK3OONRA.js";import"./chunk-COGTQ5KZ.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name}from"./chunk-KBWJGX7I.js";init_esbuild_shims();import{spawn}from"node:child_process";import{createInterface}from"node:readline";var debugLogger=createDebugLogger("EXTERNAL_AGENT");var CodexInterruption=class extends Error{constructor(mode){super(mode==="TIMEOUT"?"Codex task exceeded its time limit.":"Codex task cancelled.");this.mode=mode}static{__name(this,"CodexInterruption")}};function object(value){if(!value||typeof value!=="object"||Array.isArray(value)){throw new Error("Codex returned an invalid protocol object.")}return value}__name(object,"object");function id(value){if(typeof value!=="string"||!value){throw new Error("Codex returned an invalid thread or turn ID.")}return value}__name(id,"id");async function runCodex(params,prompt,sandbox,signal){if(signal.aborted)throw new CodexInterruption("CANCELLED");const env=sanitizeChildEnv(process.env);delete env["CODEX_THREAD_ID"];delete env["CLAUDECODE"];delete env["NODE_OPTIONS"];const child=spawn(params.spec.command,params.spec.args??["app-server","--stdio"],{cwd:params.runtimeContext.getTargetDir(),env,stdio:"pipe",detached:process.platform!=="win32",windowsHide:true});const tracked=new ProcessRegistry().reserve().attach(child,{ownsProcessTree:true});child.stderr.resume();const lines=createInterface({input:child.stdout,crlfDelay:Infinity});const pending=new Map;let sequence=0;let threadId;let turnId;let finalAnswer;let unphasedAnswer;let terminal=false;let exitDrainTimer;let fail;const failure=new Promise((_resolve,reject)=>{fail=reject});let complete;const completed=new Promise(resolve=>{complete=resolve});const write=__name(frame=>{child.stdin.write(`${JSON.stringify(frame)}
4
4
  `)},"write");const request=__name((method,parameters)=>{const requestId=++sequence;return new Promise((resolve,reject)=>{pending.set(requestId,{resolve,reject});write({id:requestId,method,params:parameters})})},"request");const abort=__name(()=>{if(threadId&&turnId){void request("turn/interrupt",{threadId,turnId}).catch(()=>{})}fail(new CodexInterruption("CANCELLED"))},"abort");signal.addEventListener("abort",abort,{once:true});child.once("error",error=>{fail(new Error(error.code==="ENOENT"?`Cannot start ${params.spec.command}. Install Codex and make it available on PATH.`:`Cannot start Codex: ${error.code??"process error"}`))});const onExit=__name((code,exitSignal)=>{exitDrainTimer=setTimeout(()=>fail(new Error(`Codex exited before completion (${exitSignal??code}).`)),1e4)},"onExit");child.once("exit",onExit);child.stdin.on("error",()=>fail(new Error("Codex input stream closed.")));child.stdout.on("error",()=>fail(new Error("Codex output stream failed.")));const associateTurn=__name(value=>{const observed=id(value);if(turnId&&observed!==turnId)throw new Error("Codex returned another turn.");turnId=observed},"associateTurn");lines.on("line",line=>{if(terminal&&pending.size===0)return;try{let frame;try{frame=object(JSON.parse(line))}catch(error){if(terminal)return;throw error}if(typeof frame["method"]!=="string"){const reply=pending.get(frame["id"]);if(!reply)return;pending.delete(frame["id"]);if(frame["error"])reply.reject(new Error("Codex rejected an app-server request."));else reply.resolve(object(frame["result"]));return}if(terminal)return;const method=frame["method"];const parameters=object(frame["params"]??{});if(frame["id"]!==void 0){let result;switch(method){case"item/commandExecution/requestApproval":case"item/fileChange/requestApproval":{const available=parameters["availableDecisions"];const decision=Array.isArray(available)?available.includes("decline")?"decline":available.includes("cancel")?"cancel":void 0:"decline";if(!decision)throw new Error("Codex offered no unattended rejection.");result={decision};break}case"item/permissions/requestApproval":result={permissions:{},scope:"turn"};break;case"item/tool/requestUserInput":result={answers:{}};break;case"mcpServer/elicitation/request":result={action:"decline",content:null,_meta:null};break;default:write({id:frame["id"],error:{code:-32601,message:"Unsupported unattended request."}});throw new Error(`Codex requested unsupported interaction: ${method}`)}write({id:frame["id"],result});return}if(!threadId||parameters["threadId"]!==threadId)return;if(method==="turn/started"||method==="turn/completed"){const turn=object(parameters["turn"]);associateTurn(turn["id"]);if(method==="turn/completed"){terminal=true;complete(turn)}}else if(method==="item/completed"){associateTurn(parameters["turnId"]);const item=object(parameters["item"]);if(item["type"]!=="agentMessage")return;if(typeof item["text"]!=="string")throw new Error("Codex returned an invalid message.");if(item["phase"]==="final_answer")finalAnswer=item["text"];else if(item["phase"]==null)unphasedAnswer=item["text"]}}catch(error){fail(error instanceof Error?error:new Error("Invalid Codex protocol frame."))}});lines.on("close",()=>{if(!terminal||pending.size>0)fail(new Error("Codex protocol closed before completion."))});const initTimer=setTimeout(()=>fail(new Error("Codex initialization timed out.")),1e4);const minutes=params.runConfig.max_time_minutes;const executionTimer=minutes===void 0?void 0:setTimeout(()=>fail(new CodexInterruption("TIMEOUT")),minutes*6e4);const run=__name(async()=>{await request("initialize",{clientInfo:{name:"qwen-code",version:"1.0.0"},capabilities:{experimentalApi:false}});write({method:"initialized"});const started=await request("thread/start",{cwd:params.runtimeContext.getTargetDir(),ephemeral:true,approvalPolicy:"never",sandbox});const thread=object(started["thread"]);threadId=id(thread["id"]);if(thread["ephemeral"]!==true)throw new Error("Codex did not create an ephemeral thread.");clearTimeout(initTimer);const startedTurn=await request("turn/start",{threadId,input:[{type:"text",text:prompt,text_elements:[]}]});associateTurn(object(startedTurn["turn"])["id"]);const turn=await completed;if(turn["status"]!=="completed")throw new Error(`Codex turn ended with status ${String(turn["status"])}.`);const answer=finalAnswer??unphasedAnswer;if(!answer?.trim())throw new Error("Codex completed without a final answer.");return answer},"run");let completedAnswer;let interruption;try{completedAnswer=await Promise.race([run(),failure]);return completedAnswer}catch(error){if(error instanceof CodexInterruption)interruption=error;throw error}finally{clearTimeout(initTimer);clearTimeout(executionTimer);clearTimeout(exitDrainTimer);child.removeListener("exit",onExit);signal.removeEventListener("abort",abort);lines.close();for(const reply of pending.values())reply.reject(new Error("Codex connection closed."));pending.clear();await tracked.terminate().catch(error=>{const detail=error instanceof Error?error.message:String(error);if(isUnprovenExternalAgentTreeExit(error)){const diagnostic=`Codex process tree not proven gone after cleanup: ${detail}`;debugLogger.warn(diagnostic);if(params.eventEmitter?.rawListeners("error").length){params.eventEmitter.emit("error",{subagentId:params.subagentId??params.name,error:diagnostic,timestamp:Date.now()})}}else if(!isExpectedExternalAgentCleanupExit(error)){if(interruption){interruption.message+=`
5
5
 
6
6
  Codex cleanup failed: ${detail}`;throw interruption}throw new Error(`Codex cleanup failed: ${detail}`+(completedAnswer===void 0?"":`
@@ -1,3 +1,3 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{effectiveSessionScope,multiSessionCompatibilityError,parseChannelConfig,parseChannelWebhookConfig,parseChannelWebhookConfigLenient,parseMessageRoutingConfig,parseSessionRotationConfig,resolveEnvVars}from"./chunk-MMQY4FJL.js";import"./chunk-NY56CL2X.js";import"./chunk-TL6RUTMP.js";import{findCliEntryPath}from"./chunk-W7V6J2VV.js";import"./chunk-QN7NYEE3.js";import"./chunk-WSOEJTOC.js";import"./chunk-5WLKN3GD.js";import"./chunk-QS2ZMQIS.js";import"./chunk-S7IKHQ6I.js";import"./chunk-PAD5GPDY.js";import"./chunk-MD3ZEOBX.js";import"./chunk-SSYS5YN5.js";import"./chunk-X5QSFJVS.js";import"./chunk-OMDTFGTX.js";import"./chunk-EIILQ6KT.js";import"./chunk-46VUDNCL.js";import"./chunk-MKH3EH7O.js";import"./chunk-Q5E5SOY2.js";import"./chunk-62NLMVVT.js";import"./chunk-HW6SU6MX.js";import"./chunk-ZHHFNZ5J.js";import"./chunk-AKWYMQKU.js";import"./chunk-MZUOREFD.js";import"./chunk-DEMXCA3K.js";import"./chunk-7XZVMIY5.js";import"./chunk-2VCDJ6UF.js";import"./chunk-ZZJXFLVM.js";import"./chunk-RKDS7A4H.js";import"./chunk-GSOBASYW.js";import"./chunk-IV3HAIUN.js";import"./chunk-XFMPZINJ.js";import"./chunk-DECUAM3U.js";import"./chunk-QX7W2HY7.js";import"./chunk-HN5UYLPU.js";import"./chunk-PGRN3GZY.js";import"./chunk-HTW7PYHK.js";import"./chunk-AMGUAA4G.js";import"./chunk-YFTVFH2A.js";import"./chunk-ZBHL2CXR.js";import"./chunk-NIOS3B3V.js";import"./chunk-Z5XENA4A.js";import"./chunk-R2EHHA2C.js";import"./chunk-YK7NDQKM.js";import"./chunk-ZLZF2ZDD.js";import"./chunk-OMSVOFTC.js";import"./chunk-PHIPLV2I.js";import"./chunk-ZOTKZI2P.js";import"./chunk-A6G5TAIF.js";import"./chunk-YVBHCSZD.js";import"./chunk-FIXDX63I.js";import"./chunk-T7CHK6C2.js";import"./chunk-PT7NZBDY.js";import"./chunk-TWP72VRH.js";import"./chunk-UYEWRLGD.js";import"./chunk-QVPT37XZ.js";import"./chunk-YVD4O5ZB.js";import"./chunk-T6W33SET.js";import"./chunk-WK2IBT6D.js";import"./chunk-QZV4PFQK.js";import"./chunk-ILECDNJX.js";import"./chunk-QXQGUM3Y.js";import"./chunk-UQ7IROJH.js";import"./chunk-SZCBUCNH.js";import"./chunk-BEKROCWN.js";import"./chunk-5SUFJTQQ.js";import"./chunk-BYU42MLK.js";import"./chunk-JWQXU3SR.js";import"./chunk-5LZ2DPLH.js";import"./chunk-XQJOZDV7.js";import"./chunk-CV2UAEZA.js";import"./chunk-FUBDS3AV.js";import"./chunk-HW6AWS7W.js";import"./chunk-KLC3OD2M.js";import"./chunk-Q5IZXKUJ.js";import"./chunk-G5PYYZMM.js";import"./chunk-BG67XABA.js";import"./chunk-OBOU4ZZM.js";import"./chunk-D7XCQWP2.js";import"./chunk-AE5OMKRY.js";import"./chunk-OBV7RNHV.js";import"./chunk-7CQMWEMY.js";import"./chunk-GOZYWU4B.js";import"./chunk-OUC3WICA.js";import"./chunk-JZK2WGXA.js";import"./chunk-MPHSE7M4.js";import"./chunk-S2ZKZXHX.js";import"./chunk-7UK4WJWS.js";import"./chunk-4GP3PH7Z.js";import"./chunk-4QQKOW5M.js";import"./chunk-OV3EBH6J.js";import"./chunk-EBMCWXGZ.js";import"./chunk-XZTE4YTN.js";import"./chunk-LSASUDF2.js";import"./chunk-2V5EKGDK.js";import"./chunk-MOKVM4PT.js";import"./chunk-YIW3H46P.js";import"./chunk-EOMRLUNZ.js";import"./chunk-4ZRCV3JY.js";import"./chunk-TL6MLBXR.js";import"./chunk-NMY3PYNO.js";import"./chunk-YGLM5XPP.js";import"./chunk-WGNF7FPC.js";import"./chunk-4NPYOXJO.js";import"./chunk-MWGB5RCF.js";import"./chunk-SCD5TUBG.js";import"./chunk-NTRFETZB.js";import"./chunk-TL3SF2GA.js";import"./chunk-LMJPU2JM.js";import"./chunk-VFB6Q74I.js";import"./chunk-4JNHUZ7M.js";import"./chunk-SW54YEPK.js";import"./chunk-ZCRL73DT.js";import"./chunk-A6LT3FIJ.js";import"./chunk-S6RXVOY6.js";import"./chunk-YZFNBUKG.js";import"./chunk-AGEDDL7Z.js";import"./chunk-2NJJHZ52.js";import"./chunk-BN4FIQ77.js";import"./chunk-X64RXJQQ.js";import"./chunk-HETUGUHE.js";import"./chunk-ET2Z7ZGF.js";import"./chunk-XFPYXD2P.js";import"./chunk-3YWXKSOI.js";import"./chunk-5CWTKFI4.js";import"./chunk-C4MVD5OI.js";import"./chunk-Z2W7S4O4.js";import"./chunk-476F6QIM.js";import"./chunk-4R67LXKL.js";import"./chunk-FQRF6B65.js";import"./chunk-ZWPSBU7K.js";import"./chunk-UQFTXKEB.js";import"./chunk-HDGTWJ24.js";import"./chunk-W5NWIGKO.js";import"./chunk-KVA6DHHF.js";import"./chunk-PWOQASXT.js";import"./chunk-K7JCVESI.js";import"./chunk-Y6HHV4LC.js";import"./chunk-RP57XAJ2.js";import"./chunk-Z6AR5XE5.js";import"./chunk-7DOOXUDG.js";import"./chunk-77V43YOE.js";import"./chunk-7U7CWMP7.js";import"./chunk-EFTJIDS3.js";import"./chunk-4DIWAQ5G.js";import"./chunk-Q6UAOTP3.js";import"./chunk-NGOIJH7K.js";import"./chunk-GOR7FFVE.js";import"./chunk-4ZBZL23U.js";import"./chunk-BMHYEQTI.js";import"./chunk-ZZZAYAJW.js";import"./chunk-XMANRGPK.js";import"./chunk-3XVPZY7X.js";import"./chunk-KQX4H2D3.js";import"./chunk-URNNJMIC.js";import"./chunk-GU22I6TY.js";import"./chunk-YEYW7PPR.js";import"./chunk-DBRQGEEI.js";import"./chunk-B3ZFUGTC.js";import"./chunk-IRINPFG7.js";import"./chunk-6GTPLW7K.js";import"./chunk-NGVRCUYD.js";import"./chunk-5DTFN37U.js";import"./chunk-2YUBAWQ6.js";import"./chunk-O5EKX7LG.js";import"./chunk-TM6ZCBR7.js";import"./chunk-SVAPAMMG.js";import"./chunk-3KUHQGOS.js";import"./chunk-I6S7NGX3.js";import"./chunk-SBZFGYYS.js";import"./chunk-JAUJI56S.js";import"./chunk-I4H7NUVP.js";import"./chunk-EPODBRBP.js";import"./chunk-OKN3Z5C5.js";import"./chunk-XYB7GC5U.js";import"./chunk-2UOMCYQG.js";import"./chunk-I7L2TX4M.js";import"./chunk-MK3OONRA.js";import"./chunk-COGTQ5KZ.js";import"./chunk-VKDAXTCZ.js";import"./chunk-KBWJGX7I.js";export{effectiveSessionScope,findCliEntryPath,multiSessionCompatibilityError,parseChannelConfig,parseChannelWebhookConfig,parseChannelWebhookConfigLenient,parseMessageRoutingConfig,parseSessionRotationConfig,resolveEnvVars};
3
+ import{effectiveSessionScope,multiSessionCompatibilityError,parseChannelConfig,parseChannelWebhookConfig,parseChannelWebhookConfigLenient,parseMessageRoutingConfig,parseSessionRotationConfig,resolveEnvVars}from"./chunk-MMQY4FJL.js";import"./chunk-NY56CL2X.js";import"./chunk-TL6RUTMP.js";import{findCliEntryPath}from"./chunk-W7V6J2VV.js";import"./chunk-QN7NYEE3.js";import"./chunk-WSOEJTOC.js";import"./chunk-OU7CEG7Q.js";import"./chunk-QS2ZMQIS.js";import"./chunk-S7IKHQ6I.js";import"./chunk-PAD5GPDY.js";import"./chunk-MD3ZEOBX.js";import"./chunk-SSYS5YN5.js";import"./chunk-X5QSFJVS.js";import"./chunk-OMDTFGTX.js";import"./chunk-32XHDDIA.js";import"./chunk-46VUDNCL.js";import"./chunk-MKH3EH7O.js";import"./chunk-FKZ46GKL.js";import"./chunk-SP6CQ3MO.js";import"./chunk-HW6SU6MX.js";import"./chunk-ZHHFNZ5J.js";import"./chunk-AKWYMQKU.js";import"./chunk-MZUOREFD.js";import"./chunk-CF6SZJNP.js";import"./chunk-7XZVMIY5.js";import"./chunk-CGDFZEER.js";import"./chunk-ZZJXFLVM.js";import"./chunk-RKDS7A4H.js";import"./chunk-KZNYALFU.js";import"./chunk-IV3HAIUN.js";import"./chunk-XFMPZINJ.js";import"./chunk-DECUAM3U.js";import"./chunk-QX7W2HY7.js";import"./chunk-HN5UYLPU.js";import"./chunk-PGRN3GZY.js";import"./chunk-HTW7PYHK.js";import"./chunk-AMGUAA4G.js";import"./chunk-YFTVFH2A.js";import"./chunk-ZBHL2CXR.js";import"./chunk-NIOS3B3V.js";import"./chunk-2JGTWRZJ.js";import"./chunk-R2EHHA2C.js";import"./chunk-YK7NDQKM.js";import"./chunk-ZLZF2ZDD.js";import"./chunk-OMSVOFTC.js";import"./chunk-PHIPLV2I.js";import"./chunk-ZOTKZI2P.js";import"./chunk-A6G5TAIF.js";import"./chunk-YVBHCSZD.js";import"./chunk-FIXDX63I.js";import"./chunk-T7CHK6C2.js";import"./chunk-PT7NZBDY.js";import"./chunk-TWP72VRH.js";import"./chunk-UYEWRLGD.js";import"./chunk-QVPT37XZ.js";import"./chunk-YVD4O5ZB.js";import"./chunk-T6W33SET.js";import"./chunk-WK2IBT6D.js";import"./chunk-QZV4PFQK.js";import"./chunk-ILECDNJX.js";import"./chunk-QXQGUM3Y.js";import"./chunk-UQ7IROJH.js";import"./chunk-SZCBUCNH.js";import"./chunk-BEKROCWN.js";import"./chunk-5SUFJTQQ.js";import"./chunk-BYU42MLK.js";import"./chunk-JWQXU3SR.js";import"./chunk-5LZ2DPLH.js";import"./chunk-XQJOZDV7.js";import"./chunk-CV2UAEZA.js";import"./chunk-FUBDS3AV.js";import"./chunk-HW6AWS7W.js";import"./chunk-KLC3OD2M.js";import"./chunk-Q5IZXKUJ.js";import"./chunk-G5PYYZMM.js";import"./chunk-BG67XABA.js";import"./chunk-OBOU4ZZM.js";import"./chunk-D7XCQWP2.js";import"./chunk-AE5OMKRY.js";import"./chunk-OBV7RNHV.js";import"./chunk-7CQMWEMY.js";import"./chunk-GOZYWU4B.js";import"./chunk-OUC3WICA.js";import"./chunk-JZK2WGXA.js";import"./chunk-MPHSE7M4.js";import"./chunk-S2ZKZXHX.js";import"./chunk-7UK4WJWS.js";import"./chunk-4GP3PH7Z.js";import"./chunk-4QQKOW5M.js";import"./chunk-OV3EBH6J.js";import"./chunk-EBMCWXGZ.js";import"./chunk-XZTE4YTN.js";import"./chunk-LSASUDF2.js";import"./chunk-2V5EKGDK.js";import"./chunk-MOKVM4PT.js";import"./chunk-YIW3H46P.js";import"./chunk-EOMRLUNZ.js";import"./chunk-4ZRCV3JY.js";import"./chunk-TL6MLBXR.js";import"./chunk-NMY3PYNO.js";import"./chunk-YGLM5XPP.js";import"./chunk-WGNF7FPC.js";import"./chunk-4NPYOXJO.js";import"./chunk-MWGB5RCF.js";import"./chunk-SCD5TUBG.js";import"./chunk-NTRFETZB.js";import"./chunk-TL3SF2GA.js";import"./chunk-LMJPU2JM.js";import"./chunk-VFB6Q74I.js";import"./chunk-4JNHUZ7M.js";import"./chunk-SW54YEPK.js";import"./chunk-ZCRL73DT.js";import"./chunk-A6LT3FIJ.js";import"./chunk-S6RXVOY6.js";import"./chunk-YZFNBUKG.js";import"./chunk-AGEDDL7Z.js";import"./chunk-2NJJHZ52.js";import"./chunk-BN4FIQ77.js";import"./chunk-X64RXJQQ.js";import"./chunk-HETUGUHE.js";import"./chunk-ET2Z7ZGF.js";import"./chunk-XFPYXD2P.js";import"./chunk-3YWXKSOI.js";import"./chunk-5CWTKFI4.js";import"./chunk-C4MVD5OI.js";import"./chunk-Z2W7S4O4.js";import"./chunk-476F6QIM.js";import"./chunk-4R67LXKL.js";import"./chunk-FQRF6B65.js";import"./chunk-ZWPSBU7K.js";import"./chunk-UQFTXKEB.js";import"./chunk-HDGTWJ24.js";import"./chunk-W5NWIGKO.js";import"./chunk-KVA6DHHF.js";import"./chunk-PWOQASXT.js";import"./chunk-K7JCVESI.js";import"./chunk-Y6HHV4LC.js";import"./chunk-RP57XAJ2.js";import"./chunk-Z6AR5XE5.js";import"./chunk-7DOOXUDG.js";import"./chunk-77V43YOE.js";import"./chunk-7U7CWMP7.js";import"./chunk-EFTJIDS3.js";import"./chunk-4DIWAQ5G.js";import"./chunk-Q6UAOTP3.js";import"./chunk-AFO5ER23.js";import"./chunk-GOR7FFVE.js";import"./chunk-4ZBZL23U.js";import"./chunk-BMHYEQTI.js";import"./chunk-ZZZAYAJW.js";import"./chunk-XMANRGPK.js";import"./chunk-3XVPZY7X.js";import"./chunk-KQX4H2D3.js";import"./chunk-URNNJMIC.js";import"./chunk-GU22I6TY.js";import"./chunk-YEYW7PPR.js";import"./chunk-DBRQGEEI.js";import"./chunk-B3ZFUGTC.js";import"./chunk-IRINPFG7.js";import"./chunk-6GTPLW7K.js";import"./chunk-NGVRCUYD.js";import"./chunk-5DTFN37U.js";import"./chunk-2YUBAWQ6.js";import"./chunk-O5EKX7LG.js";import"./chunk-TM6ZCBR7.js";import"./chunk-SVAPAMMG.js";import"./chunk-3KUHQGOS.js";import"./chunk-I6S7NGX3.js";import"./chunk-SBZFGYYS.js";import"./chunk-JAUJI56S.js";import"./chunk-I4H7NUVP.js";import"./chunk-EPODBRBP.js";import"./chunk-OKN3Z5C5.js";import"./chunk-XYB7GC5U.js";import"./chunk-2UOMCYQG.js";import"./chunk-I7L2TX4M.js";import"./chunk-MK3OONRA.js";import"./chunk-COGTQ5KZ.js";import"./chunk-VKDAXTCZ.js";import"./chunk-KBWJGX7I.js";export{effectiveSessionScope,findCliEntryPath,multiSessionCompatibilityError,parseChannelConfig,parseChannelWebhookConfig,parseChannelWebhookConfigLenient,parseMessageRoutingConfig,parseSessionRotationConfig,resolveEnvVars};