gerege-cli 0.26.6 → 0.26.8

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 (247) hide show
  1. package/bundled/gerege-video/SKILL.md +22 -0
  2. package/bundled/gerege-video/scripts/video.js +137 -0
  3. package/chunks/{MaxSizedBox-QCIXIS4P.js → MaxSizedBox-LUINLOQW.js} +1 -1
  4. package/chunks/{StandaloneSessionPicker-BAFAIRT7.js → StandaloneSessionPicker-B7N4QO5D.js} +1 -1
  5. package/chunks/{acp-subagent-executor-TPVXURLW.js → acp-subagent-executor-J6H6FKUT.js} +1 -1
  6. package/chunks/{acpAgent-67UN66PB.js → acpAgent-XG6SM2VU.js} +3 -3
  7. package/chunks/{advisor-SAXMI4QZ.js → advisor-SZVPQNPA.js} +1 -1
  8. package/chunks/{agent-KV7BXY6C.js → agent-N7QF7BJS.js} +1 -1
  9. package/chunks/{agent-headless-FQX3JGG6.js → agent-headless-GLP5GUEX.js} +1 -1
  10. package/chunks/{agent-host-client-L5EHC4AC.js → agent-host-client-H4VOB3M6.js} +1 -1
  11. package/chunks/{agent-host-connections-EDBMCVQF.js → agent-host-connections-E4C3OC4M.js} +1 -1
  12. package/chunks/{anthropicContentGenerator-V7TX2NXP.js → anthropicContentGenerator-5VTWQLT5.js} +1 -1
  13. package/chunks/{autofix-pr-WP34NYHL.js → autofix-pr-HDYQDJS4.js} +1 -1
  14. package/chunks/{batch-XFVQ4BLM.js → batch-3CRVN5VJ.js} +1 -1
  15. package/chunks/{bridge-AE7AFEXB.js → bridge-NZ6WVBLQ.js} +1 -1
  16. package/chunks/{channel-settings-store-X63P5OVT.js → channel-settings-store-Z7I2JI6M.js} +1 -1
  17. package/chunks/{chunk-BCI62WSL.js → chunk-236DHGNH.js} +1 -1
  18. package/chunks/{chunk-JRTOPEM3.js → chunk-2M3ND5WN.js} +1 -1
  19. package/chunks/{chunk-LBLLWAKK.js → chunk-36A6EXHB.js} +1 -1
  20. package/chunks/{chunk-H3IR3GIE.js → chunk-3ANIQTDT.js} +1 -1
  21. package/chunks/{chunk-GSPGIGO5.js → chunk-3QTR2HAE.js} +3 -3
  22. package/chunks/{chunk-32XHDDIA.js → chunk-3TTHYXT3.js} +1 -1
  23. package/chunks/{chunk-MTDBCIDA.js → chunk-4CE4GMDL.js} +1 -1
  24. package/chunks/{chunk-T2YTHAJW.js → chunk-4FVT657Y.js} +1 -1
  25. package/chunks/{chunk-CGDFZEER.js → chunk-4HSISRRA.js} +1 -1
  26. package/chunks/{chunk-7453BHJO.js → chunk-4SZUJ5RT.js} +1 -1
  27. package/chunks/{chunk-B37YY4XU.js → chunk-57D2OB3I.js} +1 -1
  28. package/chunks/{chunk-WGFX3EL3.js → chunk-5FGBLIXB.js} +1 -1
  29. package/chunks/{chunk-I6PUY2T3.js → chunk-5HX2QGVR.js} +1 -1
  30. package/chunks/{chunk-BPFFRPWE.js → chunk-5ZNXAWOG.js} +6 -6
  31. package/chunks/{chunk-BHIDG6VZ.js → chunk-6CKX56LJ.js} +1 -1
  32. package/chunks/{chunk-GRAECADD.js → chunk-6NIQFWXP.js} +1 -1
  33. package/chunks/{chunk-ELDZ4MNL.js → chunk-6PC6MZHL.js} +1 -1
  34. package/chunks/{chunk-FEP6W4NJ.js → chunk-6VQKGKMJ.js} +1 -1
  35. package/chunks/{chunk-GBSRWT7J.js → chunk-6ZEMLEK2.js} +1 -1
  36. package/chunks/{chunk-4NDJKNN6.js → chunk-72VY2PJA.js} +1 -1
  37. package/chunks/{chunk-BAUMVH4Q.js → chunk-75I3NYBD.js} +1 -1
  38. package/chunks/{chunk-YH2XRWRF.js → chunk-76L7ZDEK.js} +1 -1
  39. package/chunks/{chunk-2JGTWRZJ.js → chunk-7XQ5D34E.js} +6 -6
  40. package/chunks/{chunk-DA6LOBSB.js → chunk-AYX75VXG.js} +1 -1
  41. package/chunks/{chunk-G6DALGGS.js → chunk-BBDFEMCF.js} +1 -1
  42. package/chunks/{chunk-VD2GSW64.js → chunk-BOTX7S66.js} +1 -1
  43. package/chunks/{chunk-M6KB5RVD.js → chunk-CY2QKKZA.js} +1 -1
  44. package/chunks/{chunk-HTAUIJB4.js → chunk-D5JWQUID.js} +1 -1
  45. package/chunks/{chunk-P3JEEDQZ.js → chunk-DMIPB7RZ.js} +1 -1
  46. package/chunks/{chunk-CF6SZJNP.js → chunk-DSKA3P2C.js} +1 -1
  47. package/chunks/{chunk-LTE4N6L3.js → chunk-DVC65H4X.js} +1 -1
  48. package/chunks/{chunk-W5Z4BWWA.js → chunk-DVJSDCMX.js} +1 -1
  49. package/chunks/{chunk-65ME4BOH.js → chunk-E6CPFQX2.js} +1 -1
  50. package/chunks/{chunk-JEDL4IKF.js → chunk-EIFBGEXJ.js} +1 -1
  51. package/chunks/{chunk-AYVCT5FF.js → chunk-EQOHDAYU.js} +1 -1
  52. package/chunks/{chunk-2TAJ5STJ.js → chunk-EZPM4DLR.js} +1 -1
  53. package/chunks/{chunk-JWNKPINR.js → chunk-F6U6T7QD.js} +1 -1
  54. package/chunks/{chunk-ET5M5WFN.js → chunk-FCGFBUHS.js} +1 -1
  55. package/chunks/{chunk-OU7CEG7Q.js → chunk-G2LTZU67.js} +1 -1
  56. package/chunks/{chunk-2N3NBTYJ.js → chunk-GMJSEK4V.js} +1 -1
  57. package/chunks/{chunk-NA4ZF2FE.js → chunk-HJMUBVXZ.js} +2 -2
  58. package/chunks/{chunk-AFO5ER23.js → chunk-HQZTAA2U.js} +1 -1
  59. package/chunks/{chunk-OK7LBM5G.js → chunk-I63TIQOI.js} +1 -1
  60. package/chunks/{chunk-OJ4K62S2.js → chunk-I65LBJN7.js} +1 -1
  61. package/chunks/{chunk-GHIFIXNX.js → chunk-IBDOC27R.js} +1 -1
  62. package/chunks/{chunk-2LWJGXTW.js → chunk-IKF2HWEV.js} +1 -1
  63. package/chunks/{chunk-AEZYXPFS.js → chunk-K6NS2HXT.js} +1 -1
  64. package/chunks/{chunk-T5DKF33F.js → chunk-KTRNYPQP.js} +1 -1
  65. package/chunks/{chunk-SKGJ26HQ.js → chunk-L3ANU5JZ.js} +1 -1
  66. package/chunks/{chunk-U3Q72OGV.js → chunk-LKPMADUO.js} +1 -1
  67. package/chunks/{chunk-MYV7GY3H.js → chunk-M56Y2B6N.js} +1 -1
  68. package/chunks/{chunk-34HC2AXI.js → chunk-N5KRBAK5.js} +2 -2
  69. package/chunks/{chunk-EXIFPXMB.js → chunk-NA2WJPOU.js} +1 -1
  70. package/chunks/{chunk-7RNOS7R4.js → chunk-NGOWLXYK.js} +1 -1
  71. package/chunks/{chunk-IZ5MWA6E.js → chunk-NL7P73ZP.js} +1 -1
  72. package/chunks/{chunk-FYBJGRX7.js → chunk-NS3QR7D3.js} +1 -1
  73. package/chunks/{chunk-XISR37DQ.js → chunk-O5JCCBMQ.js} +1 -1
  74. package/chunks/{chunk-FKL3V5BO.js → chunk-OOKFFZHF.js} +1 -1
  75. package/chunks/{chunk-VRKYBH5G.js → chunk-OTYPLLMT.js} +5 -5
  76. package/chunks/{chunk-W66WWTOP.js → chunk-P7NHWX27.js} +1 -1
  77. package/chunks/{chunk-AEKEZRIU.js → chunk-PC5QZUKR.js} +1 -1
  78. package/chunks/{chunk-NEKPQLFY.js → chunk-PS7MQL57.js} +2 -2
  79. package/chunks/{chunk-TB4AUC2L.js → chunk-PXWHOFAA.js} +1 -1
  80. package/chunks/{chunk-OOJ2AQT3.js → chunk-Q65LVCDR.js} +1 -1
  81. package/chunks/{chunk-EFIRES46.js → chunk-QDUDLELH.js} +1 -1
  82. package/chunks/{chunk-KZNYALFU.js → chunk-QF22ILPV.js} +1 -1
  83. package/chunks/{chunk-MGATL4OA.js → chunk-QW7MAG2E.js} +1 -1
  84. package/chunks/{chunk-KJGRCIVY.js → chunk-RXK6XD6F.js} +1 -1
  85. package/chunks/{chunk-W2RQIZ6B.js → chunk-SVDFCWS7.js} +1 -1
  86. package/chunks/{chunk-P62S5JGM.js → chunk-TKP3GAUI.js} +1 -1
  87. package/chunks/{chunk-BQZF3UKI.js → chunk-TUS74LFI.js} +1 -1
  88. package/chunks/{chunk-JH3V5SPA.js → chunk-U7YGHPSL.js} +1 -1
  89. package/chunks/{chunk-NONBHCXP.js → chunk-UB37RBSK.js} +1 -1
  90. package/chunks/{chunk-T53VMDXH.js → chunk-UK5SIRH4.js} +1 -1
  91. package/chunks/{chunk-3W32X2DH.js → chunk-UTTSBCFR.js} +1 -1
  92. package/chunks/{chunk-RSLTOIG5.js → chunk-UYV4ZVXY.js} +2 -2
  93. package/chunks/{chunk-FKZ46GKL.js → chunk-VC3JJL7E.js} +1 -1
  94. package/chunks/{chunk-SP6CQ3MO.js → chunk-VKWVIWLK.js} +1 -1
  95. package/chunks/{chunk-N7PWZBXV.js → chunk-VUI6STKU.js} +1 -1
  96. package/chunks/{chunk-5EXL4TKQ.js → chunk-W3YXE55M.js} +1 -1
  97. package/chunks/{chunk-NVOI6UDQ.js → chunk-WAIPC47V.js} +1 -1
  98. package/chunks/{chunk-QDCUR3JB.js → chunk-WMJ6UHDP.js} +1 -1
  99. package/chunks/{chunk-CBE6ZIHU.js → chunk-WZU2ECUD.js} +1 -1
  100. package/chunks/{chunk-ZENMAISJ.js → chunk-XAGIZY2Y.js} +1 -1
  101. package/chunks/{chunk-RXN7DUMP.js → chunk-XGZYVULJ.js} +2 -2
  102. package/chunks/{chunk-HOG66S6K.js → chunk-XJIHDVPX.js} +1 -1
  103. package/chunks/{chunk-UKLXKJKL.js → chunk-XVDIHFRH.js} +1 -1
  104. package/chunks/{chunk-76FSYQTG.js → chunk-YMEW4TTT.js} +1 -1
  105. package/chunks/{chunk-EYPLBTMI.js → chunk-Z32URWBG.js} +1 -1
  106. package/chunks/{chunk-CUP2TNJK.js → chunk-Z6HRXHJP.js} +1 -1
  107. package/chunks/{chunk-MPVQDYPH.js → chunk-ZO4F6ZWR.js} +1 -1
  108. package/chunks/{codex-subagent-executor-OLMGVPVS.js → codex-subagent-executor-DDKYNU42.js} +1 -1
  109. package/chunks/{config-utils-OWY5G5Y2.js → config-utils-S7Z2ZZ2E.js} +1 -1
  110. package/chunks/{contextCommand-IXFUZH65.js → contextCommand-7F4PGV2A.js} +1 -1
  111. package/chunks/{core-runtime-O4LC4NY3.js → core-runtime-LBH3U7ZF.js} +1 -1
  112. package/chunks/{create-sub-session-6F7C3TMT.js → create-sub-session-56DS2T6L.js} +1 -1
  113. package/chunks/{cron-create-2422NBSJ.js → cron-create-PBP3C46Q.js} +1 -1
  114. package/chunks/{daemon-git-worktree-guard-EWPQA6NO.js → daemon-git-worktree-guard-WJS6FBDA.js} +1 -1
  115. package/chunks/{daemon-status-provider-FAHOXNFW.js → daemon-status-provider-UPPAEHJ6.js} +1 -1
  116. package/chunks/{daemon-trust-policy-L3DM6AI5.js → daemon-trust-policy-4Z5HSNUX.js} +1 -1
  117. package/chunks/{daemon-trust-policy-monitor-HNPY5KJ4.js → daemon-trust-policy-monitor-WFWDOYX3.js} +1 -1
  118. package/chunks/{deferred-core-runtime-JF42NQJK.js → deferred-core-runtime-MJYNEA4N.js} +1 -1
  119. package/chunks/{edit-E5LEI2LL.js → edit-U7TGKKK3.js} +1 -1
  120. package/chunks/{enterPlanMode-3COTUV5V.js → enterPlanMode-27HC5AXN.js} +1 -1
  121. package/chunks/{environment-XBBIB3VA.js → environment-PHWY6C4P.js} +1 -1
  122. package/chunks/{errors-LNMQ7TUK.js → errors-F2EYYFI3.js} +1 -1
  123. package/chunks/{execution-tool-QDDKJD2K.js → execution-tool-O4KJ5SMM.js} +1 -1
  124. package/chunks/{execution-worker-TXGZRZXE.js → execution-worker-AMFXZ7JD.js} +1 -1
  125. package/chunks/{exitPlanMode-Z7QEMWPE.js → exitPlanMode-LDYL43PB.js} +1 -1
  126. package/chunks/{fast-path-M6K2RACY.js → fast-path-HTODEVOR.js} +1 -1
  127. package/chunks/{glob-N2QT4U7U.js → glob-NKQJJZND.js} +1 -1
  128. package/chunks/{goal-tools-CUSQD3DG.js → goal-tools-47I455VV.js} +1 -1
  129. package/chunks/{handleAutoUpdate-QF2YQHF6.js → handleAutoUpdate-MJKTDJUO.js} +1 -1
  130. package/chunks/{i18n-AGOA6MUI.js → i18n-TCOB4TC5.js} +1 -1
  131. package/chunks/{initializer-FRKYDUSX.js → initializer-NLYOGZZS.js} +1 -1
  132. package/chunks/{installationInfo-OKA4WXAS.js → installationInfo-TF2RSJOG.js} +1 -1
  133. package/chunks/{interactive-mod-session-MWYN5IFK.js → interactive-mod-session-5F7R3KSA.js} +1 -1
  134. package/chunks/{list-DE7VUIR2.js → list-U2AEVLFP.js} +1 -1
  135. package/chunks/{llm-N3JGJHYC.js → llm-EV2QTQBU.js} +4 -4
  136. package/chunks/{llm-content-generator-VMUBA7OJ.js → llm-content-generator-ZXUSPPG2.js} +1 -1
  137. package/chunks/{loadedSettingsAdapter-5C36OZ7N.js → loadedSettingsAdapter-TLRI22X7.js} +1 -1
  138. package/chunks/{local-BE624O3A.js → local-ZTSBSKWV.js} +1 -1
  139. package/chunks/{local-execution-environment-OPGM7Y6L.js → local-execution-environment-F263PSIM.js} +1 -1
  140. package/chunks/{loggingContentGenerator-2MHAI6JR.js → loggingContentGenerator-2XHSIJQD.js} +1 -1
  141. package/chunks/{loop-wakeup-BDLATBXH.js → loop-wakeup-5ET3JHUT.js} +1 -1
  142. package/chunks/{manage-memory-BBCEIIWB.js → manage-memory-MJEQ47H2.js} +1 -1
  143. package/chunks/{managed-execution-engine-SRFALTCX.js → managed-execution-engine-ODPR5OEH.js} +1 -1
  144. package/chunks/{managed-local-serve-ICNAS3E6.js → managed-local-serve-S5R4Z5OL.js} +1 -1
  145. package/chunks/managed-npm-update-BUI5APGY.js +8 -0
  146. package/chunks/{managed-runtime-attestation-worker-ZRDWKXCI.js → managed-runtime-attestation-worker-BQP4E7LQ.js} +1 -1
  147. package/chunks/{managed-runtime-bootstrap-6NTGZXQL.js → managed-runtime-bootstrap-SRBDFSKK.js} +1 -1
  148. package/chunks/{managed-runtime-session-worker-RKQBBFR6.js → managed-runtime-session-worker-UI23BTYJ.js} +1 -1
  149. package/chunks/{managed-runtime-ssh-worker-FCGV6FSW.js → managed-runtime-ssh-worker-HU4CIJRK.js} +1 -1
  150. package/chunks/{managed-session-authority-C7IW6TJX.js → managed-session-authority-XSSTLAEY.js} +1 -1
  151. package/chunks/{mcp-VC4CJPE5.js → mcp-WLHDOKP7.js} +1 -1
  152. package/chunks/{memory-S6OJA3ZD.js → memory-OUUHPSDD.js} +1 -1
  153. package/chunks/{model-call-collection-MJZWRQSU.js → model-call-collection-4A2EB76B.js} +1 -1
  154. package/chunks/{model-configuration-SKU6L3QI.js → model-configuration-4CGUFKEP.js} +1 -1
  155. package/chunks/{modelConfigUtils-TJCB6NXT.js → modelConfigUtils-HUEERWBA.js} +1 -1
  156. package/chunks/{monitor-M3PNLCYP.js → monitor-FXL5UNMP.js} +1 -1
  157. package/chunks/{nonInteractiveCli-MR7JLAWU.js → nonInteractiveCli-W7M2O43W.js} +1 -1
  158. package/chunks/{nonInteractiveToolExecutor-YKA6JMTY.js → nonInteractiveToolExecutor-EMLI363Q.js} +1 -1
  159. package/chunks/{notebook-edit-ENTFB5D7.js → notebook-edit-R5RSLSSH.js} +1 -1
  160. package/chunks/{omni-6YBX4R6K.js → omni-DNZGITTE.js} +1 -1
  161. package/chunks/{openaiContentGenerator-XRXX33FY.js → openaiContentGenerator-PKOPYMHR.js} +1 -1
  162. package/chunks/{openaiResponsesContentGenerator-L6ONEHMR.js → openaiResponsesContentGenerator-MHH2MF3V.js} +1 -1
  163. package/chunks/{pidfile-XR4JF2Z6.js → pidfile-5ZNJWMKG.js} +1 -1
  164. package/chunks/{processUtils-GQYNJRBJ.js → processUtils-JIHQDASW.js} +1 -1
  165. package/chunks/{prompt-terminal-ledger-7BM7YDLG.js → prompt-terminal-ledger-L3LZ5SLR.js} +1 -1
  166. package/chunks/{qwenContentGenerator-QSA32XEL.js → qwenContentGenerator-QCZL7HJJ.js} +1 -1
  167. package/chunks/{reactive-degrade-TFNBAAPZ.js → reactive-degrade-YUXOUQG4.js} +1 -1
  168. package/chunks/{read-file-VD7OFO2E.js → read-file-FBNU3AVX.js} +1 -1
  169. package/chunks/{resumeHistoryUtils-2B4KPI7G.js → resumeHistoryUtils-5FPRTI4A.js} +1 -1
  170. package/chunks/{review-C365WGCW.js → review-NLFYSNM3.js} +1 -1
  171. package/chunks/{ripGrep-D7WPMBXR.js → ripGrep-JUAPC5LD.js} +1 -1
  172. package/chunks/{run-qwen-serve-NZWQHWQA.js → run-qwen-serve-JP64UQ3Y.js} +1 -1
  173. package/chunks/{runtime-J6SPBSCS.js → runtime-D2QUYM6U.js} +1 -1
  174. package/chunks/{sandboxConfig-QS2XBPZG.js → sandboxConfig-7VZJQV6H.js} +1 -1
  175. package/chunks/{scheduled-tasks-YNNIOOPM.js → scheduled-tasks-PC6EH75E.js} +1 -1
  176. package/chunks/{scheduler-KCMSPHON.js → scheduler-RUV2FNDR.js} +1 -1
  177. package/chunks/{search-memory-EUBJ7IAV.js → search-memory-YJTJ7BRU.js} +1 -1
  178. package/chunks/{send-message-CWWZUPSK.js → send-message-EEEFFTHX.js} +1 -1
  179. package/chunks/{serve-4CB4BWJ5.js → serve-KMIZDYON.js} +1 -1
  180. package/chunks/{server-JNANUIGC.js → server-DUPK3V7B.js} +3 -3
  181. package/chunks/{session-3LQLXPUA.js → session-CW5YMFMP.js} +1 -1
  182. package/chunks/{session-attachments-root-BWIVWFHJ.js → session-attachments-root-5H5GFHLI.js} +1 -1
  183. package/chunks/{session-execution-engine-selector-5OLRX57L.js → session-execution-engine-selector-MVXM2HZW.js} +1 -1
  184. package/chunks/{session-pr-refresh-RLF3EXS3.js → session-pr-refresh-4UPONX4L.js} +1 -1
  185. package/chunks/{sessionService-U7ACD2HP.js → sessionService-GGCYISSL.js} +1 -1
  186. package/chunks/{settings-FTGWYTUH.js → settings-AASJCESS.js} +1 -1
  187. package/chunks/{shell-E4RENYQC.js → shell-V4WWLW3Q.js} +1 -1
  188. package/chunks/{skill-OLNPHRWB.js → skill-NDEBB7VX.js} +1 -1
  189. package/chunks/{skill-settings-R2BV2GEK.js → skill-settings-YAI3GYU5.js} +1 -1
  190. package/chunks/{spawnChannel-LOPAR5T2.js → spawnChannel-6JKVJAXZ.js} +1 -1
  191. package/chunks/{standalone-update-IGDX2RGN.js → standalone-update-NJP5OCKJ.js} +1 -1
  192. package/chunks/{start-opentui-ui-33QLBNRC.js → start-opentui-ui-M4B4SXRM.js} +1 -1
  193. package/chunks/{startInteractiveUI-RQKHD7MM.js → startInteractiveUI-O4JUDEAU.js} +1 -1
  194. package/chunks/{team-create-HAVKHNU5.js → team-create-NLJ7QBLD.js} +1 -1
  195. package/chunks/{team-plan-approval-7MCQX67C.js → team-plan-approval-XKYPVWNG.js} +1 -1
  196. package/chunks/{terminal-image-renderer-XT5JVEO6.js → terminal-image-renderer-47TD747D.js} +1 -1
  197. package/chunks/{theme-manager-DR5EYGLT.js → theme-manager-AANEBPLJ.js} +1 -1
  198. package/chunks/{tool-call-LZHZ5RVH.js → tool-call-ETH3LS7Y.js} +1 -1
  199. package/chunks/{tool-result-media-XCXCF4YC.js → tool-result-media-EFOEPAF2.js} +1 -1
  200. package/chunks/{tool-search-K6S3ON7M.js → tool-search-J3CF5PRN.js} +1 -1
  201. package/chunks/{total-session-admission-LGSS2VWS.js → total-session-admission-3DC52PLQ.js} +1 -1
  202. package/chunks/{trustedFolders-IIR2UZRL.js → trustedFolders-4KPWZZKB.js} +1 -1
  203. package/chunks/{update-relaunch-WVIFX5CN.js → update-relaunch-A67BS7QS.js} +1 -1
  204. package/chunks/{updateCheck-CMEWLLZJ.js → updateCheck-X623JRSY.js} +1 -1
  205. package/chunks/{upload-config-TCCFCNCD.js → upload-config-X2CR3F26.js} +1 -1
  206. package/chunks/{useAutoAcceptIndicator-5RTTH3OW.js → useAutoAcceptIndicator-INIOQGJH.js} +1 -1
  207. package/chunks/{validateNonInterActiveAuth-AO336KDX.js → validateNonInterActiveAuth-XJ2U5CLB.js} +1 -1
  208. package/chunks/{version-JYWKKMNP.js → version-MFHRMM7W.js} +1 -1
  209. package/chunks/{web-fetch-HWTAWXFM.js → web-fetch-3GEJ62DH.js} +1 -1
  210. package/chunks/{web-search-HAI5LW3G.js → web-search-WJZO3Q3A.js} +1 -1
  211. package/chunks/{workflow-BZ2YFGF6.js → workflow-ML7ITCMH.js} +1 -1
  212. package/chunks/{workflow-ancestor-trust-26TFXFPO.js → workflow-ancestor-trust-M3VFMS73.js} +1 -1
  213. package/chunks/{workspace-agents-DLI4JQJZ.js → workspace-agents-YFZMV7EF.js} +1 -1
  214. package/chunks/{workspace-providers-status-64C7DJZU.js → workspace-providers-status-3COKLBCI.js} +1 -1
  215. package/chunks/{workspace-recovery-worker-IFRT3KKP.js → workspace-recovery-worker-QURA3WFZ.js} +1 -1
  216. package/chunks/{workspace-registration-store-MYKJM2SK.js → workspace-registration-store-F3AGIOBW.js} +1 -1
  217. package/chunks/{workspace-registry-GZJRONAY.js → workspace-registry-QUBL3RW6.js} +1 -1
  218. package/chunks/{workspace-runtime-coordinator-44KW6HSN.js → workspace-runtime-coordinator-22TSDHXX.js} +1 -1
  219. package/chunks/{workspace-service-YHTSZYYD.js → workspace-service-UUENTHNO.js} +1 -1
  220. package/chunks/{workspace-skills-status-NEB62X24.js → workspace-skills-status-NNQQBBCJ.js} +1 -1
  221. package/chunks/{workspace-trust-reconciler-HZLOOZWM.js → workspace-trust-reconciler-3CMMNCGG.js} +1 -1
  222. package/chunks/{write-file-HD5LHXGL.js → write-file-DEAFIK4C.js} +1 -1
  223. package/chunks/{zoom-image-W4BMRC5T.js → zoom-image-YYO22PQG.js} +1 -1
  224. package/cli-entry.js +2 -3
  225. package/cli.js +2 -2
  226. package/execution-worker.js +1 -1
  227. package/export-transcript-document.js +1 -1
  228. package/gerege.mjs +11 -0
  229. package/package.json +2 -12
  230. package/chunks/managed-npm-update-CTL6LH5Z.js +0 -8
  231. package/opentui-assets/@opentui/core/assets/javascript/highlights.scm +0 -205
  232. package/opentui-assets/@opentui/core/assets/javascript/tree-sitter-javascript.wasm +0 -0
  233. package/opentui-assets/@opentui/core/assets/markdown/highlights.scm +0 -150
  234. package/opentui-assets/@opentui/core/assets/markdown/injections.scm +0 -27
  235. package/opentui-assets/@opentui/core/assets/markdown/tree-sitter-markdown.wasm +0 -0
  236. package/opentui-assets/@opentui/core/assets/markdown_inline/highlights.scm +0 -115
  237. package/opentui-assets/@opentui/core/assets/markdown_inline/tree-sitter-markdown_inline.wasm +0 -0
  238. package/opentui-assets/@opentui/core/assets/typescript/highlights.scm +0 -604
  239. package/opentui-assets/@opentui/core/assets/typescript/tree-sitter-typescript.wasm +0 -0
  240. package/opentui-assets/@opentui/core/assets/zig/highlights.scm +0 -284
  241. package/opentui-assets/@opentui/core/assets/zig/tree-sitter-zig.wasm +0 -0
  242. package/opentui-assets/@opentui/core/parser.worker.js +0 -4566
  243. package/opentui-assets/@opentui/core-darwin-arm64/libopentui.dylib +0 -0
  244. package/opentui-assets/@opentui/core-darwin-x64/libopentui.dylib +0 -0
  245. package/opentui-assets/@opentui/core-linux-arm64/libopentui.so +0 -0
  246. package/opentui-assets/@opentui/core-linux-x64/libopentui.so +0 -0
  247. package/opentui-assets/web-tree-sitter/tree-sitter.wasm +0 -0
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{TurnInterruptedError,runNonInteractive}from"./chunk-MGATL4OA.js";import"./chunk-NVOI6UDQ.js";import"./chunk-CBE6ZIHU.js";import"./chunk-HIO3M52C.js";import{buildPermissionSuggestions}from"./chunk-2Z36XVH7.js";import{settleChatRecording,subscribeToHeadlessChatRecordingFailures}from"./chunk-BGELKSQ4.js";import{StreamJsonOutputAdapter}from"./chunk-WGFX3EL3.js";import"./chunk-NEKPQLFY.js";import{getAvailableCommands}from"./chunk-GSPGIGO5.js";import"./chunk-254YDSL2.js";import{ModSession}from"./chunk-H3IR3GIE.js";import"./chunk-3W32X2DH.js";import"./chunk-ET5M5WFN.js";import"./chunk-HR4TFOG6.js";import"./chunk-EVBKKQ7Y.js";import"./chunk-HKA2IEQ6.js";import"./chunk-4TZUKLPC.js";import"./chunk-W3YCOEIP.js";import"./chunk-BQZF3UKI.js";import"./chunk-OOJ2AQT3.js";import"./chunk-TD6VSPYX.js";import"./chunk-BPFFRPWE.js";import"./chunk-WQUA4G2X.js";import"./chunk-2DU2WMTL.js";import"./chunk-VRKYBH5G.js";import"./chunk-VURTGFJP.js";import"./chunk-64CA3W6G.js";import"./chunk-S34YI2NO.js";import"./chunk-76FSYQTG.js";import"./chunk-XXUK6YLA.js";import"./chunk-OX4QMNUW.js";import"./chunk-HOG66S6K.js";import"./chunk-SZBGWRES.js";import"./chunk-R4VUFIDQ.js";import"./chunk-T53VMDXH.js";import"./chunk-XIFNBULA.js";import"./chunk-34HC2AXI.js";import"./chunk-Z57KDB5F.js";import"./chunk-6BSQDDUG.js";import"./chunk-R7TNFTT4.js";import"./chunk-DHYCGKLG.js";import"./chunk-EKRUF347.js";import"./chunk-G2SXDY2E.js";import"./chunk-P3JEEDQZ.js";import"./chunk-XKSB7VTV.js";import"./chunk-VDUNIK4I.js";import"./chunk-YZUKMJW7.js";import"./chunk-26MNTKT2.js";import"./chunk-2HLVSWM6.js";import"./chunk-W5Z4BWWA.js";import"./chunk-IZ5MWA6E.js";import"./chunk-4XF4ZGJG.js";import"./chunk-L42NTHIT.js";import"./chunk-AVCBF5WL.js";import"./chunk-LGFF5PJA.js";import"./chunk-BWQ5AIEA.js";import"./chunk-WDR5XP3Y.js";import"./chunk-WBDNGVHU.js";import"./chunk-2QYDBHYZ.js";import"./chunk-LUDNUVSA.js";import"./chunk-BZAH4DTS.js";import"./chunk-SKGJ26HQ.js";import"./chunk-3SHHYK7S.js";import"./chunk-BYVINSWZ.js";import"./chunk-L5UULTGF.js";import"./chunk-AVJJ62OC.js";import"./chunk-VNV7VKZL.js";import"./chunk-KOJ7WZ63.js";import"./chunk-O6ZQAVRG.js";import"./chunk-3KZHPZVZ.js";import"./chunk-CFTFKWPW.js";import"./chunk-NIEO2TBE.js";import"./chunk-SPYNWVDZ.js";import"./chunk-E4UMXDOZ.js";import"./chunk-MMQY4FJL.js";import"./chunk-NY56CL2X.js";import"./chunk-TL6RUTMP.js";import"./chunk-W7V6J2VV.js";import"./chunk-B6ZRS462.js";import"./chunk-3SWMGBN3.js";import"./chunk-AZ3CKMCT.js";import"./chunk-TDDRZUJO.js";import"./chunk-Q6U4ODPJ.js";import"./chunk-LTE4N6L3.js";import"./chunk-GT4TCQ3R.js";import"./chunk-BAUMVH4Q.js";import"./chunk-AEZYXPFS.js";import"./chunk-D2NY7HVY.js";import"./chunk-ZENMAISJ.js";import"./chunk-M6KB5RVD.js";import"./chunk-QO46QMCC.js";import"./chunk-WWRXBAW4.js";import"./chunk-A27RJEWD.js";import"./chunk-QN7NYEE3.js";import"./chunk-WSOEJTOC.js";import"./chunk-P62S5JGM.js";import"./chunk-ELDZ4MNL.js";import{createMinimalSettings}from"./chunk-2TAJ5STJ.js";import"./chunk-UWCF7JIF.js";import"./chunk-NONBHCXP.js";import"./chunk-LMUSSYJH.js";import"./chunk-NO7VTKRL.js";import"./chunk-U7HZUZKP.js";import"./chunk-MPVQDYPH.js";import"./chunk-PKK2D2W4.js";import"./chunk-N3AQAZ7D.js";import"./chunk-E5T4R2PM.js";import"./chunk-DOLUT3XC.js";import"./chunk-PTHIQ7ZN.js";import"./chunk-MTDBCIDA.js";import"./chunk-EIPLDYEY.js";import"./chunk-IDXJIDME.js";import{buildSessionRecoveryPlanFromApiHistory,loadUsageDashboard}from"./chunk-OU7CEG7Q.js";import"./chunk-QS2ZMQIS.js";import"./chunk-S7IKHQ6I.js";import"./chunk-SEQAVABL.js";import"./chunk-IEWZIDC6.js";import"./chunk-GBSRWT7J.js";import"./chunk-O4EDHV64.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{MCPServerConfig,TURN_INTERRUPTION_HISTORY_TAIL_COUNT,computeInitialTurnFromHistory,getLastApiPromptCancellation}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{APPROVAL_MODES}from"./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{applyReasoningEffort,normalizeReasoningEffort}from"./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-GRAECADD.js";import{finalizeStartupProfile,profileCheckpoint}from"./chunk-H4XFFVZ2.js";import"./chunk-X7QN6R6K.js";import"./chunk-EO57EBMH.js";import"./chunk-AYVCT5FF.js";import"./chunk-M4ECEHLX.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{ToolNames}from"./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();init_esbuild_shims();import{createInterface}from"node:readline/promises";import process2 from"node:process";var StreamJsonParseError=class extends Error{static{__name(this,"StreamJsonParseError")}};var StreamJsonInputReader=class{static{__name(this,"StreamJsonInputReader")}input;constructor(input=process2.stdin){this.input=input}async*read(){const rl=createInterface({input:this.input,crlfDelay:Number.POSITIVE_INFINITY,terminal:false});try{for await(const rawLine of rl){const line=rawLine.trim();if(!line){continue}yield this.parse(line)}}finally{rl.close()}}parse(line){try{const parsed=JSON.parse(line);if(!parsed||typeof parsed!=="object"){throw new StreamJsonParseError("Parsed value is not an object")}if(!("type"in parsed)||typeof parsed.type!=="string"){throw new StreamJsonParseError('Missing required "type" field')}return parsed}catch(error){if(error instanceof StreamJsonParseError){throw error}const reason=error instanceof Error?error.message:String(error);throw new StreamJsonParseError(`Failed to parse stream-json line: ${reason}`)}}};init_esbuild_shims();var ControlContext=class{static{__name(this,"ControlContext")}config;streamJson;sessionId;abortSignal;getActiveTurnAbortSignal;debugMode;settings;permissionMode;sdkCanUseToolTimeoutMs;sdkMcpServers;mcpClients;inputClosed;waitForInitialization;onInterrupt;onContinueLastTurn;constructor(options){this.config=options.config;this.streamJson=options.streamJson;this.sessionId=options.sessionId;this.abortSignal=options.abortSignal;this.getActiveTurnAbortSignal=options.getActiveTurnAbortSignal;this.debugMode=options.config.getDebugMode();this.settings=options.settings;this.permissionMode=options.permissionMode||"default";this.sdkMcpServers=new Set;this.mcpClients=new Map;this.inputClosed=false;this.waitForInitialization=options.waitForInitialization;this.onInterrupt=options.onInterrupt;this.onContinueLastTurn=options.onContinueLastTurn}};init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();import{randomUUID}from"node:crypto";var DEFAULT_REQUEST_TIMEOUT_MS=3e4;var BaseController=class{static{__name(this,"BaseController")}context;registry;controllerName;debugLogger;constructor(context,registry,controllerName){this.context=context;this.registry=registry;this.controllerName=controllerName;this.debugLogger=createDebugLogger()}getTurnRequestAbortSignal(){const activeTurnSignal=this.context.getActiveTurnAbortSignal?.();return activeTurnSignal?AbortSignal.any([this.context.abortSignal,activeTurnSignal]):this.context.abortSignal}async handleRequest(payload,requestId){const requestAbortController=new AbortController;const timeoutId=setTimeout(()=>{requestAbortController.abort();this.registry.deregisterIncomingRequest(requestId);this.debugLogger.warn(`[${this.controllerName}] Request timeout: ${requestId}`)},DEFAULT_REQUEST_TIMEOUT_MS);this.registry.registerIncomingRequest(requestId,this.controllerName,requestAbortController,timeoutId);try{const response=await this.handleRequestPayload(payload,requestAbortController.signal);this.registry.deregisterIncomingRequest(requestId);return response}catch(error){this.registry.deregisterIncomingRequest(requestId);throw error}}async sendControlRequest(payload,timeoutMs=DEFAULT_REQUEST_TIMEOUT_MS,signal){if(this.context.inputClosed){throw new Error("Input closed")}if(signal?.aborted){throw new Error("Request aborted")}const requestId=randomUUID();return new Promise((resolve,reject)=>{const abortHandler=__name(()=>{this.registry.deregisterOutgoingRequest(requestId);reject(new Error("Request aborted"));this.debugLogger.warn(`[${this.controllerName}] Outgoing request aborted: ${requestId}`)},"abortHandler");if(signal){signal.addEventListener("abort",abortHandler,{once:true})}const timeoutId=setTimeout(()=>{if(signal){signal.removeEventListener("abort",abortHandler)}this.registry.deregisterOutgoingRequest(requestId);reject(new Error("Control request timeout"));this.debugLogger.warn(`[${this.controllerName}] Outgoing request timeout: ${requestId}`)},timeoutMs);const wrappedResolve=__name(response=>{if(signal){signal.removeEventListener("abort",abortHandler)}resolve(response)},"wrappedResolve");const wrappedReject=__name(error=>{if(signal){signal.removeEventListener("abort",abortHandler)}reject(error)},"wrappedReject");this.registry.registerOutgoingRequest(requestId,this.controllerName,wrappedResolve,wrappedReject,timeoutId);const request={type:"control_request",request_id:requestId,request:payload};try{this.context.streamJson.send(request)}catch(error){if(signal){signal.removeEventListener("abort",abortHandler)}this.registry.deregisterOutgoingRequest(requestId);reject(error)}})}cleanup(){}};var debugLogger=createDebugLogger("SYSTEM_CONTROLLER");var MAX_CAN_USE_TOOL_TIMEOUT_MS=6e5;var SystemController=class extends BaseController{static{__name(this,"SystemController")}async handleRequestPayload(payload,signal){if(signal.aborted){throw new Error("Request aborted")}switch(payload.subtype){case"initialize":return this.handleInitialize(payload,signal);case"interrupt":return this.handleInterrupt();case"continue_last_turn":return this.handleContinueLastTurn();case"set_model":return this.handleSetModel(payload,signal);case"get_workflow_mode":case"set_workflow_mode":{const sessionId=this.context.config.getSessionId();await this.context.waitForInitialization?.();if(signal.aborted||this.context.config.getSessionId()!==sessionId){throw new Error("Session changed or request aborted")}if(!this.context.config.isWorkflowModeSupported()){throw new Error("Session Workflow mode is unsupported")}if(payload.subtype==="set_workflow_mode"){const committed=await this.context.config.setWorkflowMode(payload.enabled);if(signal.aborted||this.context.config.getSessionId()!==sessionId){throw new Error("Session changed or request aborted")}return{...committed}}return{...this.context.config.getWorkflowMode()}}case"set_effort":return this.handleSetEffort(payload,signal);case"supported_commands":return this.handleSupportedCommands(signal);case"get_context_usage":return this.handleGetContextUsage(payload,signal);case"get_available_models":return this.handleGetAvailableModels(signal);case"get_usage_info":return this.handleGetUsageInfo(payload,signal);default:throw new Error(`Unsupported request subtype in SystemController`)}}async handleGetContextUsage(payload,signal){if(signal.aborted){throw new Error("Request aborted")}try{const mod=await import("./contextCommand-IXFUZH65.js");if(signal.aborted){throw new Error("Request aborted")}if(typeof mod.collectContextData!=="function"){throw new Error("collectContextData is not available")}const showDetails=payload.show_details??false;const contextUsageItem=await mod.collectContextData(this.context.config,showDetails);if(signal.aborted){throw new Error("Request aborted")}const{type:_type,...contextData}=contextUsageItem;return{subtype:"get_context_usage",...contextData}}catch(error){const errorMessage=error instanceof Error?error.message:"Failed to get context usage";debugLogger.error("[SystemController] Failed to get context usage:",error);throw new Error(errorMessage)}}async handleInitialize(payload,signal){if(signal.aborted){throw new Error("Request aborted")}this.context.config.setSdkMode(true);if(payload.workflowMode!==void 0){this.context.config.stageInitialWorkflowMode(payload.workflowMode)}let effortStatus;const canUseToolTimeout=payload.timeout?.canUseTool;if(typeof canUseToolTimeout==="number"&&Number.isFinite(canUseToolTimeout)&&canUseToolTimeout>0&&canUseToolTimeout<=MAX_CAN_USE_TOOL_TIMEOUT_MS){this.context.sdkCanUseToolTimeoutMs=canUseToolTimeout}if(payload.effort){const normalized=normalizeReasoningEffort(payload.effort);if(normalized){try{const effortMatches=applyReasoningEffort(this.context.config,normalized);const override=this.context.config.getReasoningEffortOverride?.()??null;const applied=effortMatches&&override===null;const reason=applied?void 0:[...effortMatches?[]:["thinking may be disabled"],...override?[`${override.source}.${override.field} takes precedence`]:[]].join("; ");effortStatus={effort:normalized,applied,override,reason};if(!applied){debugLogger.warn(`[SystemController] Effort '${normalized}' was not applied (${reason})`)}else{debugLogger.info(`[SystemController] Set reasoning effort to: ${normalized}`)}}catch(error){debugLogger.error("[SystemController] Failed to set reasoning effort:",error)}}else{throw new Error("Invalid effort value. Supported: low, medium, high, xhigh, max")}}if(payload.sdkMcpServers&&typeof payload.sdkMcpServers==="object"&&payload.sdkMcpServers!==null){const sdkServers={};for(const[key,wireConfig]of Object.entries(payload.sdkMcpServers)){const name=typeof wireConfig?.name==="string"&&wireConfig.name.trim().length?wireConfig.name:key;this.context.sdkMcpServers.add(name);sdkServers[name]=new MCPServerConfig(void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,true,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"sdk")}const sdkServerCount=Object.keys(sdkServers).length;if(sdkServerCount>0){try{this.context.config.addMcpServers(sdkServers);debugLogger.debug(`[SystemController] Added ${sdkServerCount} SDK MCP servers to config`)}catch(error){debugLogger.error("[SystemController] Failed to add SDK MCP servers:",error)}}}if(payload.mcpServers&&typeof payload.mcpServers==="object"&&payload.mcpServers!==null){const externalServers={};for(const[name,serverConfig]of Object.entries(payload.mcpServers)){const normalized=this.normalizeMcpServerConfig(name,serverConfig);if(normalized){externalServers[name]=normalized}}const externalCount=Object.keys(externalServers).length;if(externalCount>0){try{this.context.config.addMcpServers(externalServers);debugLogger.debug(`[SystemController] Added ${externalCount} external MCP servers to config`)}catch(error){debugLogger.error("[SystemController] Failed to add external MCP servers:",error)}}}if(payload.agents&&Array.isArray(payload.agents)){try{this.context.config.setSessionSubagents(payload.agents);debugLogger.debug(`[SystemController] Added ${payload.agents.length} session subagents to config`)}catch(error){debugLogger.error("[SystemController] Failed to add session subagents:",error)}}const capabilities=this.buildControlCapabilities();debugLogger.debug(`[SystemController] Initialized with ${this.context.sdkMcpServers.size} SDK MCP servers`);return{subtype:"initialize",session_id:this.context.config.getSessionId(),capabilities,...effortStatus?{effort_status:effortStatus}:{}}}buildControlCapabilities(){const capabilities={can_handle_can_use_tool:true,can_handle_hook_callback:false,can_set_permission_mode:typeof this.context.config.setApprovalMode==="function",can_set_model:typeof this.context.config.setModel==="function",can_set_effort:typeof this.context.config.setReasoningEffort==="function",...this.context.config.isWorkflowModeSupported?.()?{can_set_workflow_mode:true,can_get_workflow_mode:true}:{},can_get_context_usage:true,can_get_available_models:typeof this.context.config.getAvailableModels==="function",can_get_usage_info:true,can_handle_mcp_message:true};return capabilities}normalizeMcpServerConfig(serverName,config){if(!config||typeof config!=="object"){debugLogger.warn(`[SystemController] Ignoring invalid MCP server config for '${serverName}'`);return null}const authProvider=this.normalizeAuthProviderType(config.authProviderType);const oauthConfig=this.normalizeOAuthConfig(config.oauth);return new MCPServerConfig(config.command,config.args,config.env,config.cwd,config.url,config.httpUrl,config.headers,config.tcp,config.timeout,config.trust,config.description,config.includeTools,config.excludeTools,config.extensionName,oauthConfig,authProvider,config.targetAudience,config.targetServiceAccount,void 0,void 0,void 0,void 0,void 0,config.versionNegotiation,config.appResourceMaxBytes,config.appResourceTimeoutMs)}normalizeAuthProviderType(value){if(!value){return void 0}switch(value){case"dynamic_discovery":case"google_credentials":case"service_account_impersonation":return value;default:debugLogger.warn(`[SystemController] Unsupported authProviderType '${value}', skipping`);return void 0}}normalizeOAuthConfig(oauth){if(!oauth){return void 0}return{enabled:oauth.enabled,clientId:oauth.clientId,clientSecret:oauth.clientSecret,authorizationUrl:oauth.authorizationUrl,tokenUrl:oauth.tokenUrl,scopes:oauth.scopes,audiences:oauth.audiences,redirectUri:oauth.redirectUri,tokenParamName:oauth.tokenParamName,registrationUrl:oauth.registrationUrl}}async handleInterrupt(){if(this.context.onInterrupt){this.context.onInterrupt()}if(this.context.abortSignal&&!this.context.abortSignal.aborted){debugLogger.debug("[SystemController] Interrupt signal triggered")}debugLogger.debug("[SystemController] Interrupt handled");return{subtype:"interrupt"}}async handleContinueLastTurn(){if(!this.context.onContinueLastTurn){throw new Error("continue_last_turn callback (onContinueLastTurn) was not registered on ControlContext \u2014 check session wiring")}const result=await this.context.onContinueLastTurn();debugLogger.debug("[SystemController] continue_last_turn handled:",result);return{subtype:"continue_last_turn",...result}}async handleSetModel(payload,signal){if(signal.aborted){throw new Error("Request aborted")}const model=payload.model;if(typeof model!=="string"||model.trim()===""){throw new Error("Invalid model specified for set_model request")}try{await this.context.config.setModel(model);debugLogger.info(`[SystemController] Model switched to: ${model}`);return{subtype:"set_model",model}}catch(error){const errorMessage=error instanceof Error?error.message:"Failed to set model";debugLogger.error(`[SystemController] Failed to set model ${model}:`,error);throw new Error(errorMessage)}}async handleSetEffort(payload,signal){if(signal.aborted){throw new Error("Request aborted")}const effort=payload.effort;if(typeof effort!=="string"||effort.trim()===""){throw new Error("Invalid effort specified for set_effort request")}const normalized=normalizeReasoningEffort(effort);if(!normalized){throw new Error("Invalid effort value. Supported: low, medium, high, xhigh, max")}try{const effortMatches=applyReasoningEffort(this.context.config,normalized);const override=this.context.config.getReasoningEffortOverride?.()??null;const applied=effortMatches&&override===null;debugLogger.info(`[SystemController] Reasoning effort set to: ${normalized} (applied: ${applied})`);return{subtype:"set_effort",effort:normalized,applied,override}}catch(error){const errorMessage=error instanceof Error?error.message:"Failed to set effort";debugLogger.error(`[SystemController] Failed to set effort ${effort}:`,error);throw new Error(errorMessage)}}async handleGetAvailableModels(signal){if(signal.aborted){throw new Error("Request aborted")}try{const models=this.context.config.getAvailableModels().filter(model=>!model.imageOnly).map(({id,label,capabilities,contextWindowSize})=>({id,label,capabilities,contextWindowSize}));return{subtype:"get_available_models",models}}catch(error){const errorMessage=error instanceof Error?error.message:"Failed to get available models";debugLogger.error("[SystemController] Failed to get available models:",error);throw new Error(errorMessage)}}async handleGetUsageInfo(payload,signal){if(signal.aborted){throw new Error("Request aborted")}try{const range=payload.range;const dashboard=await loadUsageDashboard(range?{range}:void 0);return{...dashboard,subtype:"get_usage_info"}}catch(error){const errorMessage=error instanceof Error?error.message:"Failed to get usage info";debugLogger.error("[SystemController] Failed to get usage info:",error);throw new Error(errorMessage)}}async handleSupportedCommands(signal){if(signal.aborted){throw new Error("Request aborted")}const slashCommands=await this.loadSlashCommandNames(signal);return{subtype:"supported_commands",commands:slashCommands}}async loadSlashCommandNames(signal){if(signal.aborted){return[]}try{const commands=await getAvailableCommands(this.context.config,signal,"non_interactive",this.context.settings);if(signal.aborted){return[]}return commands.map(cmd=>cmd.name).sort()}catch(error){if(signal.aborted){return[]}debugLogger.error("[SystemController] Failed to load slash commands:",error);return[]}}};init_esbuild_shims();var DEFAULT_CAN_USE_TOOL_TIMEOUT_MS=6e4;var PermissionController=class extends BaseController{static{__name(this,"PermissionController")}pendingOutgoingRequests=new Set;async handleRequestPayload(payload,signal){if(signal.aborted){throw new Error("Request aborted")}switch(payload.subtype){case"can_use_tool":return this.handleCanUseTool(payload,signal);case"set_permission_mode":return this.handleSetPermissionMode(payload,signal);default:throw new Error(`Unsupported request subtype in PermissionController`)}}async handleCanUseTool(payload,signal){if(signal.aborted){throw new Error("Request aborted")}const toolName=payload.tool_name;if(!toolName||typeof toolName!=="string"||toolName.trim().length===0){return{subtype:"can_use_tool",behavior:"deny",message:"Missing or invalid tool_name in can_use_tool request"}}let behavior="allow";let message;try{const permissionResult=this.checkPermissionMode();if(!permissionResult.allowed){behavior="deny";message=permissionResult.message}if(behavior==="allow"){const registryResult=this.checkToolRegistry(toolName);if(!registryResult.allowed){behavior="deny";message=registryResult.message}}}catch(error){behavior="deny";message=error instanceof Error?`Failed to evaluate tool permission: ${error.message}`:"Failed to evaluate tool permission"}const response={subtype:"can_use_tool",behavior};if(message){response["message"]=message}return response}checkPermissionMode(){const mode=this.context.permissionMode;if(mode==="default"){return{allowed:false,message:"Tool execution requires manual approval. Update permission mode or approve via host."}}const validModes=APPROVAL_MODES;if(validModes.includes(mode)){return{allowed:true}}return{allowed:false,message:`Invalid permission mode: ${mode}. Valid values are: ${validModes.join(", ")}`}}checkToolRegistry(toolName){try{const config=this.context.config;const registryProvider=config;if(typeof registryProvider.getToolRegistry==="function"){const registry=registryProvider.getToolRegistry();if(registry&&typeof registry.getTool==="function"&&!registry.getTool(toolName)){return{allowed:false,message:`Tool "${toolName}" is not registered.`}}}return{allowed:true}}catch(error){return{allowed:false,message:`Failed to check tool registry: ${error instanceof Error?error.message:"Unknown error"}`}}}async handleSetPermissionMode(payload,signal){if(signal.aborted){throw new Error("Request aborted")}const mode=payload.mode;const validModes=APPROVAL_MODES;if(!validModes.includes(mode)){throw new Error(`Invalid permission mode: ${mode}. Valid values are: ${validModes.join(", ")}`)}this.context.config.setApprovalMode(mode);this.context.permissionMode=mode;this.debugLogger.info(`[PermissionController] Permission mode updated to: ${mode}`);return{status:"updated",mode}}buildPermissionSuggestions(confirmationDetails){return buildPermissionSuggestions(confirmationDetails)}getToolCallUpdateCallback(){const turnSignal=this.getTurnRequestAbortSignal();return toolCalls=>{for(const call of toolCalls){if(call&&typeof call==="object"&&call.status==="awaiting_approval"){const awaiting=call;if(typeof awaiting.confirmationDetails?.onConfirm==="function"&&!this.pendingOutgoingRequests.has(awaiting.request.callId)){this.pendingOutgoingRequests.add(awaiting.request.callId);void this.handleOutgoingPermissionRequest(awaiting,turnSignal)}}}}}buildAllowConfirmationPayload(toolName,updatedInput){if(!updatedInput||typeof updatedInput!=="object"||Array.isArray(updatedInput)){return void 0}const updatedInputObj=updatedInput;const answers=toolName===ToolNames.ASK_USER_QUESTION?updatedInputObj["answers"]:void 0;return{updatedInput:updatedInputObj,...answers&&typeof answers==="object"&&!Array.isArray(answers)?{answers}:{}}}async handleTeammateApproval(event){try{if(this.context.abortSignal.aborted){await event.respond("cancel",{cancelMessage:`The host approval request for "${event.toolName}" was aborted.`});return}const inputFormat=this.context.config.getInputFormat?.();if(inputFormat!=="stream-json"){await event.respond("cancel",{cancelMessage:this.getInteractionUnavailableMessage(event.toolName)});return}const callId=`teammate-${event.teammateName}-${event.timestamp}`;const response=await this.sendControlRequest({subtype:"can_use_tool",tool_name:event.toolName,tool_use_id:callId,input:event.toolInput,permission_suggestions:buildPermissionSuggestions(event.confirmationDetails),blocked_path:null},void 0,this.context.abortSignal);if(response.subtype!=="success"){await event.respond("cancel",{cancelMessage:this.getInteractionUnavailableMessage(event.toolName)});return}const payload=response.response||{};const behavior=String(payload["behavior"]||"").toLowerCase();if(behavior==="allow"){const respondPayload=this.buildAllowConfirmationPayload(event.toolName,payload["updatedInput"]);await event.respond("proceed_once",respondPayload)}else{const cancelMessage=typeof payload["message"]==="string"?payload["message"]:void 0;await event.respond("cancel",cancelMessage?{cancelMessage}:void 0)}}catch(error){this.debugLogger.error("[PermissionController] Teammate approval failed:",error);try{const errorMessage=error instanceof Error?error.message:String(error);await event.respond("cancel",{cancelMessage:`The host approval request for "${event.toolName}" failed: ${errorMessage}`})}catch(cancelError){this.debugLogger.error("[PermissionController] Teammate approval cancel failed:",cancelError)}}}async handleWorkflowApproval(runId,approval,rawArgs,approvalSignal){const registry=this.context.config.getWorkflowRunRegistry();if(approvalSignal.aborted){await registry.resolvePendingApproval(runId,approval.approvalId,"cancel");return}const inputFormat=this.context.config.getInputFormat?.();if(inputFormat!=="stream-json"){await registry.resolvePendingApproval(runId,approval.approvalId,"cancel");return}const signal=AbortSignal.any([this.context.abortSignal,approvalSignal]);try{const response=await this.sendControlRequest({subtype:"can_use_tool",tool_name:approval.name,tool_use_id:approval.approvalId,input:rawArgs,permission_suggestions:buildPermissionSuggestions(approval.confirmationDetails),blocked_path:null},this.context.sdkCanUseToolTimeoutMs??DEFAULT_CAN_USE_TOOL_TIMEOUT_MS,signal);const payload=response.response||{};const allowed=response.subtype==="success"&&String(payload["behavior"]||"").toLowerCase()==="allow";const confirmationPayload=allowed?this.buildAllowConfirmationPayload(approval.name,payload["updatedInput"]):typeof payload["message"]==="string"?{cancelMessage:payload["message"]}:void 0;await registry.resolvePendingApproval(runId,approval.approvalId,allowed?"proceed_once":"cancel",confirmationPayload)}catch(error){this.debugLogger.error("[PermissionController] Workflow approval failed:",error);await registry.resolvePendingApproval(runId,approval.approvalId,"cancel")}}async handleOutgoingPermissionRequest(toolCall,signal){const requiresUserInteraction=toolCall.invocation?.requiresUserInteraction?.()===true;const interactionUnavailableMessage=this.getInteractionUnavailableMessage(toolCall.request.name);try{if(signal.aborted){await toolCall.confirmationDetails.onConfirm("cancel");return}const inputFormat=this.context.config.getInputFormat?.();const isStreamJsonMode=inputFormat==="stream-json";if(!isStreamJsonMode){if(requiresUserInteraction){await toolCall.confirmationDetails.onConfirm("cancel",{cancelMessage:interactionUnavailableMessage});return}const modeCheck=this.checkPermissionMode();const outcome=modeCheck.allowed?"proceed_once":"cancel";await toolCall.confirmationDetails.onConfirm(outcome);return}const permissionSuggestions=this.buildPermissionSuggestions(toolCall.confirmationDetails);const response=await this.sendControlRequest({subtype:"can_use_tool",tool_name:toolCall.request.name,tool_use_id:toolCall.request.callId,input:toolCall.request.args,permission_suggestions:permissionSuggestions,blocked_path:null},this.context.sdkCanUseToolTimeoutMs??DEFAULT_CAN_USE_TOOL_TIMEOUT_MS,signal);if(response.subtype!=="success"){await toolCall.confirmationDetails.onConfirm("cancel",requiresUserInteraction?{cancelMessage:interactionUnavailableMessage}:void 0);return}const payload=response.response||{};const behavior=String(payload["behavior"]||"").toLowerCase();if(behavior==="allow"){if(requiresUserInteraction&&toolCall.request.name===ToolNames.EXIT_PLAN_MODE&&toolCall.invocation?.canAutoApproveOnAllow?.()!==false){await toolCall.confirmationDetails.onConfirm("proceed_once");return}const confirmationPayload=this.buildAllowConfirmationPayload(toolCall.request.name,payload["updatedInput"]);if(confirmationPayload){toolCall.request.args=confirmationPayload.updatedInput??{};await toolCall.confirmationDetails.onConfirm("proceed_once",confirmationPayload)}else{await toolCall.confirmationDetails.onConfirm("proceed_once")}}else{const cancelMessage=typeof payload["message"]==="string"?payload["message"]:void 0;await toolCall.confirmationDetails.onConfirm("cancel",cancelMessage?{cancelMessage}:void 0)}}catch(error){this.debugLogger.error("[PermissionController] Outgoing permission failed:",error);const errorMessage=error instanceof Error?error.message:String(error);const confirmationType=toolCall.confirmationDetails.type;if(requiresUserInteraction){await toolCall.confirmationDetails.onConfirm("cancel",{cancelMessage:interactionUnavailableMessage})}else if(["edit","exec","mcp"].includes(confirmationType)){const execOrMcpDetails=toolCall.confirmationDetails;await execOrMcpDetails.onConfirm("cancel",{cancelMessage:`Error: ${errorMessage}`})}else{await toolCall.confirmationDetails.onConfirm("cancel",{cancelMessage:`Error: ${errorMessage}`})}}finally{this.pendingOutgoingRequests.delete(toolCall.request.callId)}}getInteractionUnavailableMessage(toolName){return toolName===ToolNames.EXIT_PLAN_MODE?"The host could not present plan-exit approval. Use the host mode selector or /plan exit to leave plan mode.":`The host could not present the required approval for "${toolName}".`}};init_esbuild_shims();var MCP_REQUEST_TIMEOUT=3e4;var SdkMcpController=class extends BaseController{static{__name(this,"SdkMcpController")}async handleRequestPayload(payload,signal){if(signal.aborted){throw new Error("Request aborted")}switch(payload.subtype){case"mcp_server_status":return this.handleMcpStatus();default:throw new Error(`Unsupported request subtype in SdkMcpController`)}}async handleMcpStatus(){const status={};for(const serverName of this.context.sdkMcpServers){status[serverName]="connected"}return{subtype:"mcp_server_status",status}}async sendMcpMessageToSdk(serverName,message){this.debugLogger.debug(`[SdkMcpController] Sending MCP message to SDK server '${serverName}':`,JSON.stringify(message));const signal=this.getTurnRequestAbortSignal();const response=await this.sendControlRequest({subtype:"mcp_message",server_name:serverName,message},MCP_REQUEST_TIMEOUT,signal);const responsePayload=response.response;const mcpResponse=responsePayload?.["mcp_response"];if(!mcpResponse){throw new Error(`Invalid MCP response from SDK for server '${serverName}'`)}this.debugLogger.debug(`[SdkMcpController] Received MCP response from SDK server '${serverName}':`,JSON.stringify(mcpResponse));return mcpResponse}createSendSdkMcpMessage(){return(serverName,message)=>this.sendMcpMessageToSdk(serverName,message)}};var debugLogger2=createDebugLogger("CONTROL_DISPATCHER");var ControlDispatcher=class{static{__name(this,"ControlDispatcher")}context;systemController;permissionController;sdkMcpController;pendingIncomingRequests=new Map;pendingOutgoingRequests=new Map;abortHandler=null;isShutdown=false;constructor(context){this.context=context;this.systemController=new SystemController(context,this,"SystemController");this.permissionController=new PermissionController(context,this,"PermissionController");this.sdkMcpController=new SdkMcpController(context,this,"SdkMcpController");this.abortHandler=()=>{this.shutdown()};this.context.abortSignal.addEventListener("abort",this.abortHandler)}async dispatch(request,propagateError=false){const{request_id,request:payload}=request;try{const controller=this.getControllerForRequest(payload.subtype);const response=await controller.handleRequest(payload,request_id);this.sendSuccessResponse(request_id,response)}catch(error){const errorMessage=error instanceof Error?error.message:String(error);this.sendErrorResponse(request_id,errorMessage);if(propagateError)throw error}}handleControlResponse(response){const responsePayload=response.response;const requestId=responsePayload.request_id;const pending=this.pendingOutgoingRequests.get(requestId);if(!pending){debugLogger2.debug(`[ControlDispatcher] No pending outgoing request for: ${requestId}`);return}this.deregisterOutgoingRequest(requestId);if(responsePayload.subtype==="success"){pending.resolve(responsePayload)}else{const errorMessage=typeof responsePayload.error==="string"?responsePayload.error:responsePayload.error?.message??"Unknown error";pending.reject(new Error(errorMessage))}}async sendControlRequest(payload,timeoutMs){return this.systemController.sendControlRequest(payload,timeoutMs)}handleCancel(requestId){if(requestId){const pending=this.pendingIncomingRequests.get(requestId);if(pending){pending.abortController.abort();this.deregisterIncomingRequest(requestId);this.sendErrorResponse(requestId,"Request cancelled");debugLogger2.debug(`[ControlDispatcher] Cancelled incoming request: ${requestId}`)}}else{const requestIds=Array.from(this.pendingIncomingRequests.keys());for(const id of requestIds){const pending=this.pendingIncomingRequests.get(id);if(pending){pending.abortController.abort();this.deregisterIncomingRequest(id);this.sendErrorResponse(id,"All requests cancelled")}}debugLogger2.debug(`[ControlDispatcher] Cancelled all ${requestIds.length} pending incoming requests`)}}markInputClosed(){if(this.context.inputClosed){return}this.context.inputClosed=true;const requestIds=Array.from(this.pendingOutgoingRequests.keys());if(this.context.debugMode){debugLogger2.debug(`[ControlDispatcher] Input closed, rejecting ${requestIds.length} pending outgoing requests`)}for(const id of requestIds){const pending=this.pendingOutgoingRequests.get(id);if(pending){this.deregisterOutgoingRequest(id);pending.reject(new Error("Input closed"))}}}shutdown(){if(this.isShutdown){return}this.isShutdown=true;debugLogger2.debug("[ControlDispatcher] Shutting down");if(this.abortHandler){this.context.abortSignal.removeEventListener("abort",this.abortHandler);this.abortHandler=null}for(const[_requestId,pending]of this.pendingIncomingRequests.entries()){pending.abortController.abort();clearTimeout(pending.timeoutId)}this.pendingIncomingRequests.clear();for(const[_requestId,pending]of this.pendingOutgoingRequests.entries()){clearTimeout(pending.timeoutId);pending.reject(new Error("Dispatcher shutdown"))}this.pendingOutgoingRequests.clear();this.systemController.cleanup();this.permissionController.cleanup();this.sdkMcpController.cleanup()}registerIncomingRequest(requestId,controller,abortController,timeoutId){this.pendingIncomingRequests.set(requestId,{controller,abortController,timeoutId})}deregisterIncomingRequest(requestId){const pending=this.pendingIncomingRequests.get(requestId);if(pending){clearTimeout(pending.timeoutId);this.pendingIncomingRequests.delete(requestId)}}registerOutgoingRequest(requestId,controller,resolve,reject,timeoutId){this.pendingOutgoingRequests.set(requestId,{controller,resolve,reject,timeoutId})}deregisterOutgoingRequest(requestId){const pending=this.pendingOutgoingRequests.get(requestId);if(pending){clearTimeout(pending.timeoutId);this.pendingOutgoingRequests.delete(requestId)}}getPendingIncomingRequestCount(){return this.pendingIncomingRequests.size}async waitForPendingIncomingRequests(pollIntervalMs=50,timeoutMs=3e4){const startTime=Date.now();while(this.pendingIncomingRequests.size>0){if(Date.now()-startTime>timeoutMs){debugLogger2.warn(`[ControlDispatcher] Timeout waiting for ${this.pendingIncomingRequests.size} pending incoming requests`);break}await new Promise(resolve=>setTimeout(resolve,pollIntervalMs))}if(this.pendingIncomingRequests.size===0){debugLogger2.debug("[ControlDispatcher] All incoming requests completed")}}getControllerForRequest(subtype){switch(subtype){case"initialize":case"interrupt":case"continue_last_turn":case"set_model":case"get_workflow_mode":case"set_workflow_mode":case"set_effort":case"supported_commands":case"get_context_usage":case"get_available_models":case"get_usage_info":return this.systemController;case"can_use_tool":case"set_permission_mode":return this.permissionController;case"mcp_server_status":return this.sdkMcpController;default:throw new Error(`Unknown control request subtype: ${subtype}`)}}sendSuccessResponse(requestId,response){const controlResponse={type:"control_response",response:{subtype:"success",request_id:requestId,response}};this.context.streamJson.send(controlResponse)}sendErrorResponse(requestId,error){const controlResponse={type:"control_response",response:{subtype:"error",request_id:requestId,error}};this.context.streamJson.send(controlResponse)}};init_esbuild_shims();var ControlService=class{static{__name(this,"ControlService")}dispatcher;constructor(context,dispatcher){this.dispatcher=dispatcher}get permission(){const controller=this.dispatcher.permissionController;return{buildPermissionSuggestions:controller.buildPermissionSuggestions.bind(controller),getToolCallUpdateCallback:controller.getToolCallUpdateCallback.bind(controller),handleTeammateApproval:controller.handleTeammateApproval.bind(controller),handleWorkflowApproval:controller.handleWorkflowApproval.bind(controller)}}get system(){const controller=this.dispatcher.systemController;return{getControlCapabilities:__name(()=>controller.buildControlCapabilities(),"getControlCapabilities")}}cleanup(){this.dispatcher.shutdown()}};init_esbuild_shims();function isCLIUserMessage(msg){return msg&&typeof msg==="object"&&msg.type==="user"&&"message"in msg}__name(isCLIUserMessage,"isCLIUserMessage");function isCLIAssistantMessage(msg){return msg&&typeof msg==="object"&&msg.type==="assistant"&&"uuid"in msg&&"message"in msg&&"session_id"in msg&&"parent_tool_use_id"in msg}__name(isCLIAssistantMessage,"isCLIAssistantMessage");function isCLISystemMessage(msg){return msg&&typeof msg==="object"&&msg.type==="system"&&"subtype"in msg&&"uuid"in msg&&"session_id"in msg}__name(isCLISystemMessage,"isCLISystemMessage");function isCLIResultMessage(msg){return msg&&typeof msg==="object"&&msg.type==="result"&&"subtype"in msg&&"duration_ms"in msg&&"is_error"in msg&&"uuid"in msg&&"session_id"in msg}__name(isCLIResultMessage,"isCLIResultMessage");function isCLIPartialAssistantMessage(msg){return msg&&typeof msg==="object"&&msg.type==="stream_event"&&"uuid"in msg&&"session_id"in msg&&"event"in msg&&"parent_tool_use_id"in msg}__name(isCLIPartialAssistantMessage,"isCLIPartialAssistantMessage");function isControlRequest(msg){return msg&&typeof msg==="object"&&msg.type==="control_request"&&"request_id"in msg&&"request"in msg}__name(isControlRequest,"isControlRequest");function isControlResponse(msg){return msg&&typeof msg==="object"&&msg.type==="control_response"&&"response"in msg}__name(isControlResponse,"isControlResponse");function isControlCancel(msg){return msg&&typeof msg==="object"&&msg.type==="control_cancel_request"&&"request_id"in msg}__name(isControlCancel,"isControlCancel");init_esbuild_shims();function isRecord(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}__name(isRecord,"isRecord");function readHumanInputFromSdkMessage(value){if(!isRecord(value)||value["type"]!=="user"||!isRecord(value["origin"])||value["origin"]["kind"]!=="human"||value["parent_tool_use_id"]!=null||!isRecord(value["message"])||value["message"]["role"]!=="user"){return void 0}const content=value["message"]["content"];if(typeof content==="string"){return{text:content}}if(!Array.isArray(content))return void 0;if(content.some(block=>isRecord(block)&&(block["type"]==="tool_result"||block["type"]==="tool_use"))){return void 0}const text=content.flatMap(block=>isRecord(block)&&block["type"]==="text"&&typeof block["text"]==="string"?[block["text"]]:[]).join("\n");return text.length>0?{text}:void 0}__name(readHumanInputFromSdkMessage,"readHumanInputFromSdkMessage");var debugLogger3=createDebugLogger("NON_INTERACTIVE_SESSION");var Session=class{static{__name(this,"Session")}userMessageQueue=[];monitorStartedQueue=[];monitorQueue=[];pendingContinueTurn=false;continueTurnInProgress=false;sessionAbortController;activeTurnAbortController=null;config;sessionId;promptIdCounter=null;inputReader;outputAdapter;modSession;controlContext=null;dispatcher=null;controlService=null;controlSystemEnabled=null;shutdownHandler=null;initialPrompt=null;processingPromise=null;isShuttingDown=false;configInitialized=false;monitorNotificationsRegistered=false;monitorRegistrationsRegistered=false;settings;unsubscribeRecordingFailure;initializationPromise=null;initializationResolve=null;initializationReject=null;constructor(config,initialPrompt,settings=createMinimalSettings()){this.config=config;this.settings=settings;this.sessionId=config.getSessionId();this.sessionAbortController=new AbortController;this.initialPrompt=initialPrompt??null;this.inputReader=new StreamJsonInputReader;this.outputAdapter=new StreamJsonOutputAdapter(config,config.getIncludePartialMessages());this.modSession=ModSession.create(config,settings,this.outputAdapter);this.unsubscribeRecordingFailure=subscribeToHeadlessChatRecordingFailures(config,this.outputAdapter);this.setupSignalHandlers()}ensureInitializationPromise(){if(this.initializationPromise){return}this.initializationPromise=new Promise((resolve,reject)=>{this.initializationResolve=()=>{resolve();this.initializationResolve=null;this.initializationReject=null};this.initializationReject=error=>{reject(error);this.initializationResolve=null;this.initializationReject=null}})}getNextPromptId(){if(this.promptIdCounter===null){const records=this.config.getResumedSessionData?.()?.conversation.messages;this.promptIdCounter=records?computeInitialTurnFromHistory(records,this.sessionId):0}this.promptIdCounter++;return`${this.sessionId}########${this.promptIdCounter}`}async ensureConfigInitialized(options){if(this.configInitialized){return}debugLogger3.debug("[Session] Initializing config");try{const emittedWarnings=new Set(this.config.getWarnings());profileCheckpoint("config_initialize_start");await this.config.initialize(options);profileCheckpoint("config_initialize_end");for(const warning of this.config.getWarnings()){if(emittedWarnings.has(warning))continue;emittedWarnings.add(warning);process.stderr.write(`${warning}
3
+ import{TurnInterruptedError,runNonInteractive}from"./chunk-QW7MAG2E.js";import"./chunk-WAIPC47V.js";import"./chunk-WZU2ECUD.js";import"./chunk-HIO3M52C.js";import{buildPermissionSuggestions}from"./chunk-2Z36XVH7.js";import{settleChatRecording,subscribeToHeadlessChatRecordingFailures}from"./chunk-BGELKSQ4.js";import{StreamJsonOutputAdapter}from"./chunk-5FGBLIXB.js";import"./chunk-PS7MQL57.js";import{getAvailableCommands}from"./chunk-3QTR2HAE.js";import"./chunk-254YDSL2.js";import{ModSession}from"./chunk-3ANIQTDT.js";import"./chunk-UTTSBCFR.js";import"./chunk-FCGFBUHS.js";import"./chunk-HR4TFOG6.js";import"./chunk-EVBKKQ7Y.js";import"./chunk-HKA2IEQ6.js";import"./chunk-4TZUKLPC.js";import"./chunk-W3YCOEIP.js";import"./chunk-TUS74LFI.js";import"./chunk-Q65LVCDR.js";import"./chunk-TD6VSPYX.js";import"./chunk-5ZNXAWOG.js";import"./chunk-WQUA4G2X.js";import"./chunk-2DU2WMTL.js";import"./chunk-OTYPLLMT.js";import"./chunk-VURTGFJP.js";import"./chunk-64CA3W6G.js";import"./chunk-S34YI2NO.js";import"./chunk-YMEW4TTT.js";import"./chunk-XXUK6YLA.js";import"./chunk-OX4QMNUW.js";import"./chunk-XJIHDVPX.js";import"./chunk-SZBGWRES.js";import"./chunk-R4VUFIDQ.js";import"./chunk-UK5SIRH4.js";import"./chunk-XIFNBULA.js";import"./chunk-N5KRBAK5.js";import"./chunk-Z57KDB5F.js";import"./chunk-6BSQDDUG.js";import"./chunk-R7TNFTT4.js";import"./chunk-DHYCGKLG.js";import"./chunk-EKRUF347.js";import"./chunk-G2SXDY2E.js";import"./chunk-DMIPB7RZ.js";import"./chunk-XKSB7VTV.js";import"./chunk-VDUNIK4I.js";import"./chunk-YZUKMJW7.js";import"./chunk-26MNTKT2.js";import"./chunk-2HLVSWM6.js";import"./chunk-DVJSDCMX.js";import"./chunk-NL7P73ZP.js";import"./chunk-4XF4ZGJG.js";import"./chunk-L42NTHIT.js";import"./chunk-AVCBF5WL.js";import"./chunk-LGFF5PJA.js";import"./chunk-BWQ5AIEA.js";import"./chunk-WDR5XP3Y.js";import"./chunk-WBDNGVHU.js";import"./chunk-2QYDBHYZ.js";import"./chunk-LUDNUVSA.js";import"./chunk-BZAH4DTS.js";import"./chunk-L3ANU5JZ.js";import"./chunk-3SHHYK7S.js";import"./chunk-BYVINSWZ.js";import"./chunk-L5UULTGF.js";import"./chunk-AVJJ62OC.js";import"./chunk-VNV7VKZL.js";import"./chunk-KOJ7WZ63.js";import"./chunk-O6ZQAVRG.js";import"./chunk-3KZHPZVZ.js";import"./chunk-CFTFKWPW.js";import"./chunk-NIEO2TBE.js";import"./chunk-SPYNWVDZ.js";import"./chunk-E4UMXDOZ.js";import"./chunk-MMQY4FJL.js";import"./chunk-NY56CL2X.js";import"./chunk-TL6RUTMP.js";import"./chunk-W7V6J2VV.js";import"./chunk-B6ZRS462.js";import"./chunk-3SWMGBN3.js";import"./chunk-AZ3CKMCT.js";import"./chunk-TDDRZUJO.js";import"./chunk-Q6U4ODPJ.js";import"./chunk-DVC65H4X.js";import"./chunk-GT4TCQ3R.js";import"./chunk-75I3NYBD.js";import"./chunk-K6NS2HXT.js";import"./chunk-D2NY7HVY.js";import"./chunk-XAGIZY2Y.js";import"./chunk-CY2QKKZA.js";import"./chunk-QO46QMCC.js";import"./chunk-WWRXBAW4.js";import"./chunk-A27RJEWD.js";import"./chunk-QN7NYEE3.js";import"./chunk-WSOEJTOC.js";import"./chunk-TKP3GAUI.js";import"./chunk-6PC6MZHL.js";import{createMinimalSettings}from"./chunk-EZPM4DLR.js";import"./chunk-UWCF7JIF.js";import"./chunk-UB37RBSK.js";import"./chunk-LMUSSYJH.js";import"./chunk-NO7VTKRL.js";import"./chunk-U7HZUZKP.js";import"./chunk-ZO4F6ZWR.js";import"./chunk-PKK2D2W4.js";import"./chunk-N3AQAZ7D.js";import"./chunk-E5T4R2PM.js";import"./chunk-DOLUT3XC.js";import"./chunk-PTHIQ7ZN.js";import"./chunk-4CE4GMDL.js";import"./chunk-EIPLDYEY.js";import"./chunk-IDXJIDME.js";import{buildSessionRecoveryPlanFromApiHistory,loadUsageDashboard}from"./chunk-G2LTZU67.js";import"./chunk-QS2ZMQIS.js";import"./chunk-S7IKHQ6I.js";import"./chunk-SEQAVABL.js";import"./chunk-IEWZIDC6.js";import"./chunk-6ZEMLEK2.js";import"./chunk-O4EDHV64.js";import"./chunk-PAD5GPDY.js";import"./chunk-MD3ZEOBX.js";import"./chunk-SSYS5YN5.js";import"./chunk-X5QSFJVS.js";import"./chunk-OMDTFGTX.js";import"./chunk-3TTHYXT3.js";import"./chunk-46VUDNCL.js";import"./chunk-MKH3EH7O.js";import"./chunk-VC3JJL7E.js";import"./chunk-VKWVIWLK.js";import"./chunk-HW6SU6MX.js";import"./chunk-ZHHFNZ5J.js";import"./chunk-AKWYMQKU.js";import"./chunk-MZUOREFD.js";import"./chunk-DSKA3P2C.js";import"./chunk-7XZVMIY5.js";import"./chunk-4HSISRRA.js";import"./chunk-ZZJXFLVM.js";import"./chunk-RKDS7A4H.js";import"./chunk-QF22ILPV.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{MCPServerConfig,TURN_INTERRUPTION_HISTORY_TAIL_COUNT,computeInitialTurnFromHistory,getLastApiPromptCancellation}from"./chunk-7XQ5D34E.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{APPROVAL_MODES}from"./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-HQZTAA2U.js";import{applyReasoningEffort,normalizeReasoningEffort}from"./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-6NIQFWXP.js";import{finalizeStartupProfile,profileCheckpoint}from"./chunk-H4XFFVZ2.js";import"./chunk-X7QN6R6K.js";import"./chunk-EO57EBMH.js";import"./chunk-EQOHDAYU.js";import"./chunk-M4ECEHLX.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{ToolNames}from"./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();init_esbuild_shims();import{createInterface}from"node:readline/promises";import process2 from"node:process";var StreamJsonParseError=class extends Error{static{__name(this,"StreamJsonParseError")}};var StreamJsonInputReader=class{static{__name(this,"StreamJsonInputReader")}input;constructor(input=process2.stdin){this.input=input}async*read(){const rl=createInterface({input:this.input,crlfDelay:Number.POSITIVE_INFINITY,terminal:false});try{for await(const rawLine of rl){const line=rawLine.trim();if(!line){continue}yield this.parse(line)}}finally{rl.close()}}parse(line){try{const parsed=JSON.parse(line);if(!parsed||typeof parsed!=="object"){throw new StreamJsonParseError("Parsed value is not an object")}if(!("type"in parsed)||typeof parsed.type!=="string"){throw new StreamJsonParseError('Missing required "type" field')}return parsed}catch(error){if(error instanceof StreamJsonParseError){throw error}const reason=error instanceof Error?error.message:String(error);throw new StreamJsonParseError(`Failed to parse stream-json line: ${reason}`)}}};init_esbuild_shims();var ControlContext=class{static{__name(this,"ControlContext")}config;streamJson;sessionId;abortSignal;getActiveTurnAbortSignal;debugMode;settings;permissionMode;sdkCanUseToolTimeoutMs;sdkMcpServers;mcpClients;inputClosed;waitForInitialization;onInterrupt;onContinueLastTurn;constructor(options){this.config=options.config;this.streamJson=options.streamJson;this.sessionId=options.sessionId;this.abortSignal=options.abortSignal;this.getActiveTurnAbortSignal=options.getActiveTurnAbortSignal;this.debugMode=options.config.getDebugMode();this.settings=options.settings;this.permissionMode=options.permissionMode||"default";this.sdkMcpServers=new Set;this.mcpClients=new Map;this.inputClosed=false;this.waitForInitialization=options.waitForInitialization;this.onInterrupt=options.onInterrupt;this.onContinueLastTurn=options.onContinueLastTurn}};init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();import{randomUUID}from"node:crypto";var DEFAULT_REQUEST_TIMEOUT_MS=3e4;var BaseController=class{static{__name(this,"BaseController")}context;registry;controllerName;debugLogger;constructor(context,registry,controllerName){this.context=context;this.registry=registry;this.controllerName=controllerName;this.debugLogger=createDebugLogger()}getTurnRequestAbortSignal(){const activeTurnSignal=this.context.getActiveTurnAbortSignal?.();return activeTurnSignal?AbortSignal.any([this.context.abortSignal,activeTurnSignal]):this.context.abortSignal}async handleRequest(payload,requestId){const requestAbortController=new AbortController;const timeoutId=setTimeout(()=>{requestAbortController.abort();this.registry.deregisterIncomingRequest(requestId);this.debugLogger.warn(`[${this.controllerName}] Request timeout: ${requestId}`)},DEFAULT_REQUEST_TIMEOUT_MS);this.registry.registerIncomingRequest(requestId,this.controllerName,requestAbortController,timeoutId);try{const response=await this.handleRequestPayload(payload,requestAbortController.signal);this.registry.deregisterIncomingRequest(requestId);return response}catch(error){this.registry.deregisterIncomingRequest(requestId);throw error}}async sendControlRequest(payload,timeoutMs=DEFAULT_REQUEST_TIMEOUT_MS,signal){if(this.context.inputClosed){throw new Error("Input closed")}if(signal?.aborted){throw new Error("Request aborted")}const requestId=randomUUID();return new Promise((resolve,reject)=>{const abortHandler=__name(()=>{this.registry.deregisterOutgoingRequest(requestId);reject(new Error("Request aborted"));this.debugLogger.warn(`[${this.controllerName}] Outgoing request aborted: ${requestId}`)},"abortHandler");if(signal){signal.addEventListener("abort",abortHandler,{once:true})}const timeoutId=setTimeout(()=>{if(signal){signal.removeEventListener("abort",abortHandler)}this.registry.deregisterOutgoingRequest(requestId);reject(new Error("Control request timeout"));this.debugLogger.warn(`[${this.controllerName}] Outgoing request timeout: ${requestId}`)},timeoutMs);const wrappedResolve=__name(response=>{if(signal){signal.removeEventListener("abort",abortHandler)}resolve(response)},"wrappedResolve");const wrappedReject=__name(error=>{if(signal){signal.removeEventListener("abort",abortHandler)}reject(error)},"wrappedReject");this.registry.registerOutgoingRequest(requestId,this.controllerName,wrappedResolve,wrappedReject,timeoutId);const request={type:"control_request",request_id:requestId,request:payload};try{this.context.streamJson.send(request)}catch(error){if(signal){signal.removeEventListener("abort",abortHandler)}this.registry.deregisterOutgoingRequest(requestId);reject(error)}})}cleanup(){}};var debugLogger=createDebugLogger("SYSTEM_CONTROLLER");var MAX_CAN_USE_TOOL_TIMEOUT_MS=6e5;var SystemController=class extends BaseController{static{__name(this,"SystemController")}async handleRequestPayload(payload,signal){if(signal.aborted){throw new Error("Request aborted")}switch(payload.subtype){case"initialize":return this.handleInitialize(payload,signal);case"interrupt":return this.handleInterrupt();case"continue_last_turn":return this.handleContinueLastTurn();case"set_model":return this.handleSetModel(payload,signal);case"get_workflow_mode":case"set_workflow_mode":{const sessionId=this.context.config.getSessionId();await this.context.waitForInitialization?.();if(signal.aborted||this.context.config.getSessionId()!==sessionId){throw new Error("Session changed or request aborted")}if(!this.context.config.isWorkflowModeSupported()){throw new Error("Session Workflow mode is unsupported")}if(payload.subtype==="set_workflow_mode"){const committed=await this.context.config.setWorkflowMode(payload.enabled);if(signal.aborted||this.context.config.getSessionId()!==sessionId){throw new Error("Session changed or request aborted")}return{...committed}}return{...this.context.config.getWorkflowMode()}}case"set_effort":return this.handleSetEffort(payload,signal);case"supported_commands":return this.handleSupportedCommands(signal);case"get_context_usage":return this.handleGetContextUsage(payload,signal);case"get_available_models":return this.handleGetAvailableModels(signal);case"get_usage_info":return this.handleGetUsageInfo(payload,signal);default:throw new Error(`Unsupported request subtype in SystemController`)}}async handleGetContextUsage(payload,signal){if(signal.aborted){throw new Error("Request aborted")}try{const mod=await import("./contextCommand-7F4PGV2A.js");if(signal.aborted){throw new Error("Request aborted")}if(typeof mod.collectContextData!=="function"){throw new Error("collectContextData is not available")}const showDetails=payload.show_details??false;const contextUsageItem=await mod.collectContextData(this.context.config,showDetails);if(signal.aborted){throw new Error("Request aborted")}const{type:_type,...contextData}=contextUsageItem;return{subtype:"get_context_usage",...contextData}}catch(error){const errorMessage=error instanceof Error?error.message:"Failed to get context usage";debugLogger.error("[SystemController] Failed to get context usage:",error);throw new Error(errorMessage)}}async handleInitialize(payload,signal){if(signal.aborted){throw new Error("Request aborted")}this.context.config.setSdkMode(true);if(payload.workflowMode!==void 0){this.context.config.stageInitialWorkflowMode(payload.workflowMode)}let effortStatus;const canUseToolTimeout=payload.timeout?.canUseTool;if(typeof canUseToolTimeout==="number"&&Number.isFinite(canUseToolTimeout)&&canUseToolTimeout>0&&canUseToolTimeout<=MAX_CAN_USE_TOOL_TIMEOUT_MS){this.context.sdkCanUseToolTimeoutMs=canUseToolTimeout}if(payload.effort){const normalized=normalizeReasoningEffort(payload.effort);if(normalized){try{const effortMatches=applyReasoningEffort(this.context.config,normalized);const override=this.context.config.getReasoningEffortOverride?.()??null;const applied=effortMatches&&override===null;const reason=applied?void 0:[...effortMatches?[]:["thinking may be disabled"],...override?[`${override.source}.${override.field} takes precedence`]:[]].join("; ");effortStatus={effort:normalized,applied,override,reason};if(!applied){debugLogger.warn(`[SystemController] Effort '${normalized}' was not applied (${reason})`)}else{debugLogger.info(`[SystemController] Set reasoning effort to: ${normalized}`)}}catch(error){debugLogger.error("[SystemController] Failed to set reasoning effort:",error)}}else{throw new Error("Invalid effort value. Supported: low, medium, high, xhigh, max")}}if(payload.sdkMcpServers&&typeof payload.sdkMcpServers==="object"&&payload.sdkMcpServers!==null){const sdkServers={};for(const[key,wireConfig]of Object.entries(payload.sdkMcpServers)){const name=typeof wireConfig?.name==="string"&&wireConfig.name.trim().length?wireConfig.name:key;this.context.sdkMcpServers.add(name);sdkServers[name]=new MCPServerConfig(void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,true,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,"sdk")}const sdkServerCount=Object.keys(sdkServers).length;if(sdkServerCount>0){try{this.context.config.addMcpServers(sdkServers);debugLogger.debug(`[SystemController] Added ${sdkServerCount} SDK MCP servers to config`)}catch(error){debugLogger.error("[SystemController] Failed to add SDK MCP servers:",error)}}}if(payload.mcpServers&&typeof payload.mcpServers==="object"&&payload.mcpServers!==null){const externalServers={};for(const[name,serverConfig]of Object.entries(payload.mcpServers)){const normalized=this.normalizeMcpServerConfig(name,serverConfig);if(normalized){externalServers[name]=normalized}}const externalCount=Object.keys(externalServers).length;if(externalCount>0){try{this.context.config.addMcpServers(externalServers);debugLogger.debug(`[SystemController] Added ${externalCount} external MCP servers to config`)}catch(error){debugLogger.error("[SystemController] Failed to add external MCP servers:",error)}}}if(payload.agents&&Array.isArray(payload.agents)){try{this.context.config.setSessionSubagents(payload.agents);debugLogger.debug(`[SystemController] Added ${payload.agents.length} session subagents to config`)}catch(error){debugLogger.error("[SystemController] Failed to add session subagents:",error)}}const capabilities=this.buildControlCapabilities();debugLogger.debug(`[SystemController] Initialized with ${this.context.sdkMcpServers.size} SDK MCP servers`);return{subtype:"initialize",session_id:this.context.config.getSessionId(),capabilities,...effortStatus?{effort_status:effortStatus}:{}}}buildControlCapabilities(){const capabilities={can_handle_can_use_tool:true,can_handle_hook_callback:false,can_set_permission_mode:typeof this.context.config.setApprovalMode==="function",can_set_model:typeof this.context.config.setModel==="function",can_set_effort:typeof this.context.config.setReasoningEffort==="function",...this.context.config.isWorkflowModeSupported?.()?{can_set_workflow_mode:true,can_get_workflow_mode:true}:{},can_get_context_usage:true,can_get_available_models:typeof this.context.config.getAvailableModels==="function",can_get_usage_info:true,can_handle_mcp_message:true};return capabilities}normalizeMcpServerConfig(serverName,config){if(!config||typeof config!=="object"){debugLogger.warn(`[SystemController] Ignoring invalid MCP server config for '${serverName}'`);return null}const authProvider=this.normalizeAuthProviderType(config.authProviderType);const oauthConfig=this.normalizeOAuthConfig(config.oauth);return new MCPServerConfig(config.command,config.args,config.env,config.cwd,config.url,config.httpUrl,config.headers,config.tcp,config.timeout,config.trust,config.description,config.includeTools,config.excludeTools,config.extensionName,oauthConfig,authProvider,config.targetAudience,config.targetServiceAccount,void 0,void 0,void 0,void 0,void 0,config.versionNegotiation,config.appResourceMaxBytes,config.appResourceTimeoutMs)}normalizeAuthProviderType(value){if(!value){return void 0}switch(value){case"dynamic_discovery":case"google_credentials":case"service_account_impersonation":return value;default:debugLogger.warn(`[SystemController] Unsupported authProviderType '${value}', skipping`);return void 0}}normalizeOAuthConfig(oauth){if(!oauth){return void 0}return{enabled:oauth.enabled,clientId:oauth.clientId,clientSecret:oauth.clientSecret,authorizationUrl:oauth.authorizationUrl,tokenUrl:oauth.tokenUrl,scopes:oauth.scopes,audiences:oauth.audiences,redirectUri:oauth.redirectUri,tokenParamName:oauth.tokenParamName,registrationUrl:oauth.registrationUrl}}async handleInterrupt(){if(this.context.onInterrupt){this.context.onInterrupt()}if(this.context.abortSignal&&!this.context.abortSignal.aborted){debugLogger.debug("[SystemController] Interrupt signal triggered")}debugLogger.debug("[SystemController] Interrupt handled");return{subtype:"interrupt"}}async handleContinueLastTurn(){if(!this.context.onContinueLastTurn){throw new Error("continue_last_turn callback (onContinueLastTurn) was not registered on ControlContext \u2014 check session wiring")}const result=await this.context.onContinueLastTurn();debugLogger.debug("[SystemController] continue_last_turn handled:",result);return{subtype:"continue_last_turn",...result}}async handleSetModel(payload,signal){if(signal.aborted){throw new Error("Request aborted")}const model=payload.model;if(typeof model!=="string"||model.trim()===""){throw new Error("Invalid model specified for set_model request")}try{await this.context.config.setModel(model);debugLogger.info(`[SystemController] Model switched to: ${model}`);return{subtype:"set_model",model}}catch(error){const errorMessage=error instanceof Error?error.message:"Failed to set model";debugLogger.error(`[SystemController] Failed to set model ${model}:`,error);throw new Error(errorMessage)}}async handleSetEffort(payload,signal){if(signal.aborted){throw new Error("Request aborted")}const effort=payload.effort;if(typeof effort!=="string"||effort.trim()===""){throw new Error("Invalid effort specified for set_effort request")}const normalized=normalizeReasoningEffort(effort);if(!normalized){throw new Error("Invalid effort value. Supported: low, medium, high, xhigh, max")}try{const effortMatches=applyReasoningEffort(this.context.config,normalized);const override=this.context.config.getReasoningEffortOverride?.()??null;const applied=effortMatches&&override===null;debugLogger.info(`[SystemController] Reasoning effort set to: ${normalized} (applied: ${applied})`);return{subtype:"set_effort",effort:normalized,applied,override}}catch(error){const errorMessage=error instanceof Error?error.message:"Failed to set effort";debugLogger.error(`[SystemController] Failed to set effort ${effort}:`,error);throw new Error(errorMessage)}}async handleGetAvailableModels(signal){if(signal.aborted){throw new Error("Request aborted")}try{const models=this.context.config.getAvailableModels().filter(model=>!model.imageOnly).map(({id,label,capabilities,contextWindowSize})=>({id,label,capabilities,contextWindowSize}));return{subtype:"get_available_models",models}}catch(error){const errorMessage=error instanceof Error?error.message:"Failed to get available models";debugLogger.error("[SystemController] Failed to get available models:",error);throw new Error(errorMessage)}}async handleGetUsageInfo(payload,signal){if(signal.aborted){throw new Error("Request aborted")}try{const range=payload.range;const dashboard=await loadUsageDashboard(range?{range}:void 0);return{...dashboard,subtype:"get_usage_info"}}catch(error){const errorMessage=error instanceof Error?error.message:"Failed to get usage info";debugLogger.error("[SystemController] Failed to get usage info:",error);throw new Error(errorMessage)}}async handleSupportedCommands(signal){if(signal.aborted){throw new Error("Request aborted")}const slashCommands=await this.loadSlashCommandNames(signal);return{subtype:"supported_commands",commands:slashCommands}}async loadSlashCommandNames(signal){if(signal.aborted){return[]}try{const commands=await getAvailableCommands(this.context.config,signal,"non_interactive",this.context.settings);if(signal.aborted){return[]}return commands.map(cmd=>cmd.name).sort()}catch(error){if(signal.aborted){return[]}debugLogger.error("[SystemController] Failed to load slash commands:",error);return[]}}};init_esbuild_shims();var DEFAULT_CAN_USE_TOOL_TIMEOUT_MS=6e4;var PermissionController=class extends BaseController{static{__name(this,"PermissionController")}pendingOutgoingRequests=new Set;async handleRequestPayload(payload,signal){if(signal.aborted){throw new Error("Request aborted")}switch(payload.subtype){case"can_use_tool":return this.handleCanUseTool(payload,signal);case"set_permission_mode":return this.handleSetPermissionMode(payload,signal);default:throw new Error(`Unsupported request subtype in PermissionController`)}}async handleCanUseTool(payload,signal){if(signal.aborted){throw new Error("Request aborted")}const toolName=payload.tool_name;if(!toolName||typeof toolName!=="string"||toolName.trim().length===0){return{subtype:"can_use_tool",behavior:"deny",message:"Missing or invalid tool_name in can_use_tool request"}}let behavior="allow";let message;try{const permissionResult=this.checkPermissionMode();if(!permissionResult.allowed){behavior="deny";message=permissionResult.message}if(behavior==="allow"){const registryResult=this.checkToolRegistry(toolName);if(!registryResult.allowed){behavior="deny";message=registryResult.message}}}catch(error){behavior="deny";message=error instanceof Error?`Failed to evaluate tool permission: ${error.message}`:"Failed to evaluate tool permission"}const response={subtype:"can_use_tool",behavior};if(message){response["message"]=message}return response}checkPermissionMode(){const mode=this.context.permissionMode;if(mode==="default"){return{allowed:false,message:"Tool execution requires manual approval. Update permission mode or approve via host."}}const validModes=APPROVAL_MODES;if(validModes.includes(mode)){return{allowed:true}}return{allowed:false,message:`Invalid permission mode: ${mode}. Valid values are: ${validModes.join(", ")}`}}checkToolRegistry(toolName){try{const config=this.context.config;const registryProvider=config;if(typeof registryProvider.getToolRegistry==="function"){const registry=registryProvider.getToolRegistry();if(registry&&typeof registry.getTool==="function"&&!registry.getTool(toolName)){return{allowed:false,message:`Tool "${toolName}" is not registered.`}}}return{allowed:true}}catch(error){return{allowed:false,message:`Failed to check tool registry: ${error instanceof Error?error.message:"Unknown error"}`}}}async handleSetPermissionMode(payload,signal){if(signal.aborted){throw new Error("Request aborted")}const mode=payload.mode;const validModes=APPROVAL_MODES;if(!validModes.includes(mode)){throw new Error(`Invalid permission mode: ${mode}. Valid values are: ${validModes.join(", ")}`)}this.context.config.setApprovalMode(mode);this.context.permissionMode=mode;this.debugLogger.info(`[PermissionController] Permission mode updated to: ${mode}`);return{status:"updated",mode}}buildPermissionSuggestions(confirmationDetails){return buildPermissionSuggestions(confirmationDetails)}getToolCallUpdateCallback(){const turnSignal=this.getTurnRequestAbortSignal();return toolCalls=>{for(const call of toolCalls){if(call&&typeof call==="object"&&call.status==="awaiting_approval"){const awaiting=call;if(typeof awaiting.confirmationDetails?.onConfirm==="function"&&!this.pendingOutgoingRequests.has(awaiting.request.callId)){this.pendingOutgoingRequests.add(awaiting.request.callId);void this.handleOutgoingPermissionRequest(awaiting,turnSignal)}}}}}buildAllowConfirmationPayload(toolName,updatedInput){if(!updatedInput||typeof updatedInput!=="object"||Array.isArray(updatedInput)){return void 0}const updatedInputObj=updatedInput;const answers=toolName===ToolNames.ASK_USER_QUESTION?updatedInputObj["answers"]:void 0;return{updatedInput:updatedInputObj,...answers&&typeof answers==="object"&&!Array.isArray(answers)?{answers}:{}}}async handleTeammateApproval(event){try{if(this.context.abortSignal.aborted){await event.respond("cancel",{cancelMessage:`The host approval request for "${event.toolName}" was aborted.`});return}const inputFormat=this.context.config.getInputFormat?.();if(inputFormat!=="stream-json"){await event.respond("cancel",{cancelMessage:this.getInteractionUnavailableMessage(event.toolName)});return}const callId=`teammate-${event.teammateName}-${event.timestamp}`;const response=await this.sendControlRequest({subtype:"can_use_tool",tool_name:event.toolName,tool_use_id:callId,input:event.toolInput,permission_suggestions:buildPermissionSuggestions(event.confirmationDetails),blocked_path:null},void 0,this.context.abortSignal);if(response.subtype!=="success"){await event.respond("cancel",{cancelMessage:this.getInteractionUnavailableMessage(event.toolName)});return}const payload=response.response||{};const behavior=String(payload["behavior"]||"").toLowerCase();if(behavior==="allow"){const respondPayload=this.buildAllowConfirmationPayload(event.toolName,payload["updatedInput"]);await event.respond("proceed_once",respondPayload)}else{const cancelMessage=typeof payload["message"]==="string"?payload["message"]:void 0;await event.respond("cancel",cancelMessage?{cancelMessage}:void 0)}}catch(error){this.debugLogger.error("[PermissionController] Teammate approval failed:",error);try{const errorMessage=error instanceof Error?error.message:String(error);await event.respond("cancel",{cancelMessage:`The host approval request for "${event.toolName}" failed: ${errorMessage}`})}catch(cancelError){this.debugLogger.error("[PermissionController] Teammate approval cancel failed:",cancelError)}}}async handleWorkflowApproval(runId,approval,rawArgs,approvalSignal){const registry=this.context.config.getWorkflowRunRegistry();if(approvalSignal.aborted){await registry.resolvePendingApproval(runId,approval.approvalId,"cancel");return}const inputFormat=this.context.config.getInputFormat?.();if(inputFormat!=="stream-json"){await registry.resolvePendingApproval(runId,approval.approvalId,"cancel");return}const signal=AbortSignal.any([this.context.abortSignal,approvalSignal]);try{const response=await this.sendControlRequest({subtype:"can_use_tool",tool_name:approval.name,tool_use_id:approval.approvalId,input:rawArgs,permission_suggestions:buildPermissionSuggestions(approval.confirmationDetails),blocked_path:null},this.context.sdkCanUseToolTimeoutMs??DEFAULT_CAN_USE_TOOL_TIMEOUT_MS,signal);const payload=response.response||{};const allowed=response.subtype==="success"&&String(payload["behavior"]||"").toLowerCase()==="allow";const confirmationPayload=allowed?this.buildAllowConfirmationPayload(approval.name,payload["updatedInput"]):typeof payload["message"]==="string"?{cancelMessage:payload["message"]}:void 0;await registry.resolvePendingApproval(runId,approval.approvalId,allowed?"proceed_once":"cancel",confirmationPayload)}catch(error){this.debugLogger.error("[PermissionController] Workflow approval failed:",error);await registry.resolvePendingApproval(runId,approval.approvalId,"cancel")}}async handleOutgoingPermissionRequest(toolCall,signal){const requiresUserInteraction=toolCall.invocation?.requiresUserInteraction?.()===true;const interactionUnavailableMessage=this.getInteractionUnavailableMessage(toolCall.request.name);try{if(signal.aborted){await toolCall.confirmationDetails.onConfirm("cancel");return}const inputFormat=this.context.config.getInputFormat?.();const isStreamJsonMode=inputFormat==="stream-json";if(!isStreamJsonMode){if(requiresUserInteraction){await toolCall.confirmationDetails.onConfirm("cancel",{cancelMessage:interactionUnavailableMessage});return}const modeCheck=this.checkPermissionMode();const outcome=modeCheck.allowed?"proceed_once":"cancel";await toolCall.confirmationDetails.onConfirm(outcome);return}const permissionSuggestions=this.buildPermissionSuggestions(toolCall.confirmationDetails);const response=await this.sendControlRequest({subtype:"can_use_tool",tool_name:toolCall.request.name,tool_use_id:toolCall.request.callId,input:toolCall.request.args,permission_suggestions:permissionSuggestions,blocked_path:null},this.context.sdkCanUseToolTimeoutMs??DEFAULT_CAN_USE_TOOL_TIMEOUT_MS,signal);if(response.subtype!=="success"){await toolCall.confirmationDetails.onConfirm("cancel",requiresUserInteraction?{cancelMessage:interactionUnavailableMessage}:void 0);return}const payload=response.response||{};const behavior=String(payload["behavior"]||"").toLowerCase();if(behavior==="allow"){if(requiresUserInteraction&&toolCall.request.name===ToolNames.EXIT_PLAN_MODE&&toolCall.invocation?.canAutoApproveOnAllow?.()!==false){await toolCall.confirmationDetails.onConfirm("proceed_once");return}const confirmationPayload=this.buildAllowConfirmationPayload(toolCall.request.name,payload["updatedInput"]);if(confirmationPayload){toolCall.request.args=confirmationPayload.updatedInput??{};await toolCall.confirmationDetails.onConfirm("proceed_once",confirmationPayload)}else{await toolCall.confirmationDetails.onConfirm("proceed_once")}}else{const cancelMessage=typeof payload["message"]==="string"?payload["message"]:void 0;await toolCall.confirmationDetails.onConfirm("cancel",cancelMessage?{cancelMessage}:void 0)}}catch(error){this.debugLogger.error("[PermissionController] Outgoing permission failed:",error);const errorMessage=error instanceof Error?error.message:String(error);const confirmationType=toolCall.confirmationDetails.type;if(requiresUserInteraction){await toolCall.confirmationDetails.onConfirm("cancel",{cancelMessage:interactionUnavailableMessage})}else if(["edit","exec","mcp"].includes(confirmationType)){const execOrMcpDetails=toolCall.confirmationDetails;await execOrMcpDetails.onConfirm("cancel",{cancelMessage:`Error: ${errorMessage}`})}else{await toolCall.confirmationDetails.onConfirm("cancel",{cancelMessage:`Error: ${errorMessage}`})}}finally{this.pendingOutgoingRequests.delete(toolCall.request.callId)}}getInteractionUnavailableMessage(toolName){return toolName===ToolNames.EXIT_PLAN_MODE?"The host could not present plan-exit approval. Use the host mode selector or /plan exit to leave plan mode.":`The host could not present the required approval for "${toolName}".`}};init_esbuild_shims();var MCP_REQUEST_TIMEOUT=3e4;var SdkMcpController=class extends BaseController{static{__name(this,"SdkMcpController")}async handleRequestPayload(payload,signal){if(signal.aborted){throw new Error("Request aborted")}switch(payload.subtype){case"mcp_server_status":return this.handleMcpStatus();default:throw new Error(`Unsupported request subtype in SdkMcpController`)}}async handleMcpStatus(){const status={};for(const serverName of this.context.sdkMcpServers){status[serverName]="connected"}return{subtype:"mcp_server_status",status}}async sendMcpMessageToSdk(serverName,message){this.debugLogger.debug(`[SdkMcpController] Sending MCP message to SDK server '${serverName}':`,JSON.stringify(message));const signal=this.getTurnRequestAbortSignal();const response=await this.sendControlRequest({subtype:"mcp_message",server_name:serverName,message},MCP_REQUEST_TIMEOUT,signal);const responsePayload=response.response;const mcpResponse=responsePayload?.["mcp_response"];if(!mcpResponse){throw new Error(`Invalid MCP response from SDK for server '${serverName}'`)}this.debugLogger.debug(`[SdkMcpController] Received MCP response from SDK server '${serverName}':`,JSON.stringify(mcpResponse));return mcpResponse}createSendSdkMcpMessage(){return(serverName,message)=>this.sendMcpMessageToSdk(serverName,message)}};var debugLogger2=createDebugLogger("CONTROL_DISPATCHER");var ControlDispatcher=class{static{__name(this,"ControlDispatcher")}context;systemController;permissionController;sdkMcpController;pendingIncomingRequests=new Map;pendingOutgoingRequests=new Map;abortHandler=null;isShutdown=false;constructor(context){this.context=context;this.systemController=new SystemController(context,this,"SystemController");this.permissionController=new PermissionController(context,this,"PermissionController");this.sdkMcpController=new SdkMcpController(context,this,"SdkMcpController");this.abortHandler=()=>{this.shutdown()};this.context.abortSignal.addEventListener("abort",this.abortHandler)}async dispatch(request,propagateError=false){const{request_id,request:payload}=request;try{const controller=this.getControllerForRequest(payload.subtype);const response=await controller.handleRequest(payload,request_id);this.sendSuccessResponse(request_id,response)}catch(error){const errorMessage=error instanceof Error?error.message:String(error);this.sendErrorResponse(request_id,errorMessage);if(propagateError)throw error}}handleControlResponse(response){const responsePayload=response.response;const requestId=responsePayload.request_id;const pending=this.pendingOutgoingRequests.get(requestId);if(!pending){debugLogger2.debug(`[ControlDispatcher] No pending outgoing request for: ${requestId}`);return}this.deregisterOutgoingRequest(requestId);if(responsePayload.subtype==="success"){pending.resolve(responsePayload)}else{const errorMessage=typeof responsePayload.error==="string"?responsePayload.error:responsePayload.error?.message??"Unknown error";pending.reject(new Error(errorMessage))}}async sendControlRequest(payload,timeoutMs){return this.systemController.sendControlRequest(payload,timeoutMs)}handleCancel(requestId){if(requestId){const pending=this.pendingIncomingRequests.get(requestId);if(pending){pending.abortController.abort();this.deregisterIncomingRequest(requestId);this.sendErrorResponse(requestId,"Request cancelled");debugLogger2.debug(`[ControlDispatcher] Cancelled incoming request: ${requestId}`)}}else{const requestIds=Array.from(this.pendingIncomingRequests.keys());for(const id of requestIds){const pending=this.pendingIncomingRequests.get(id);if(pending){pending.abortController.abort();this.deregisterIncomingRequest(id);this.sendErrorResponse(id,"All requests cancelled")}}debugLogger2.debug(`[ControlDispatcher] Cancelled all ${requestIds.length} pending incoming requests`)}}markInputClosed(){if(this.context.inputClosed){return}this.context.inputClosed=true;const requestIds=Array.from(this.pendingOutgoingRequests.keys());if(this.context.debugMode){debugLogger2.debug(`[ControlDispatcher] Input closed, rejecting ${requestIds.length} pending outgoing requests`)}for(const id of requestIds){const pending=this.pendingOutgoingRequests.get(id);if(pending){this.deregisterOutgoingRequest(id);pending.reject(new Error("Input closed"))}}}shutdown(){if(this.isShutdown){return}this.isShutdown=true;debugLogger2.debug("[ControlDispatcher] Shutting down");if(this.abortHandler){this.context.abortSignal.removeEventListener("abort",this.abortHandler);this.abortHandler=null}for(const[_requestId,pending]of this.pendingIncomingRequests.entries()){pending.abortController.abort();clearTimeout(pending.timeoutId)}this.pendingIncomingRequests.clear();for(const[_requestId,pending]of this.pendingOutgoingRequests.entries()){clearTimeout(pending.timeoutId);pending.reject(new Error("Dispatcher shutdown"))}this.pendingOutgoingRequests.clear();this.systemController.cleanup();this.permissionController.cleanup();this.sdkMcpController.cleanup()}registerIncomingRequest(requestId,controller,abortController,timeoutId){this.pendingIncomingRequests.set(requestId,{controller,abortController,timeoutId})}deregisterIncomingRequest(requestId){const pending=this.pendingIncomingRequests.get(requestId);if(pending){clearTimeout(pending.timeoutId);this.pendingIncomingRequests.delete(requestId)}}registerOutgoingRequest(requestId,controller,resolve,reject,timeoutId){this.pendingOutgoingRequests.set(requestId,{controller,resolve,reject,timeoutId})}deregisterOutgoingRequest(requestId){const pending=this.pendingOutgoingRequests.get(requestId);if(pending){clearTimeout(pending.timeoutId);this.pendingOutgoingRequests.delete(requestId)}}getPendingIncomingRequestCount(){return this.pendingIncomingRequests.size}async waitForPendingIncomingRequests(pollIntervalMs=50,timeoutMs=3e4){const startTime=Date.now();while(this.pendingIncomingRequests.size>0){if(Date.now()-startTime>timeoutMs){debugLogger2.warn(`[ControlDispatcher] Timeout waiting for ${this.pendingIncomingRequests.size} pending incoming requests`);break}await new Promise(resolve=>setTimeout(resolve,pollIntervalMs))}if(this.pendingIncomingRequests.size===0){debugLogger2.debug("[ControlDispatcher] All incoming requests completed")}}getControllerForRequest(subtype){switch(subtype){case"initialize":case"interrupt":case"continue_last_turn":case"set_model":case"get_workflow_mode":case"set_workflow_mode":case"set_effort":case"supported_commands":case"get_context_usage":case"get_available_models":case"get_usage_info":return this.systemController;case"can_use_tool":case"set_permission_mode":return this.permissionController;case"mcp_server_status":return this.sdkMcpController;default:throw new Error(`Unknown control request subtype: ${subtype}`)}}sendSuccessResponse(requestId,response){const controlResponse={type:"control_response",response:{subtype:"success",request_id:requestId,response}};this.context.streamJson.send(controlResponse)}sendErrorResponse(requestId,error){const controlResponse={type:"control_response",response:{subtype:"error",request_id:requestId,error}};this.context.streamJson.send(controlResponse)}};init_esbuild_shims();var ControlService=class{static{__name(this,"ControlService")}dispatcher;constructor(context,dispatcher){this.dispatcher=dispatcher}get permission(){const controller=this.dispatcher.permissionController;return{buildPermissionSuggestions:controller.buildPermissionSuggestions.bind(controller),getToolCallUpdateCallback:controller.getToolCallUpdateCallback.bind(controller),handleTeammateApproval:controller.handleTeammateApproval.bind(controller),handleWorkflowApproval:controller.handleWorkflowApproval.bind(controller)}}get system(){const controller=this.dispatcher.systemController;return{getControlCapabilities:__name(()=>controller.buildControlCapabilities(),"getControlCapabilities")}}cleanup(){this.dispatcher.shutdown()}};init_esbuild_shims();function isCLIUserMessage(msg){return msg&&typeof msg==="object"&&msg.type==="user"&&"message"in msg}__name(isCLIUserMessage,"isCLIUserMessage");function isCLIAssistantMessage(msg){return msg&&typeof msg==="object"&&msg.type==="assistant"&&"uuid"in msg&&"message"in msg&&"session_id"in msg&&"parent_tool_use_id"in msg}__name(isCLIAssistantMessage,"isCLIAssistantMessage");function isCLISystemMessage(msg){return msg&&typeof msg==="object"&&msg.type==="system"&&"subtype"in msg&&"uuid"in msg&&"session_id"in msg}__name(isCLISystemMessage,"isCLISystemMessage");function isCLIResultMessage(msg){return msg&&typeof msg==="object"&&msg.type==="result"&&"subtype"in msg&&"duration_ms"in msg&&"is_error"in msg&&"uuid"in msg&&"session_id"in msg}__name(isCLIResultMessage,"isCLIResultMessage");function isCLIPartialAssistantMessage(msg){return msg&&typeof msg==="object"&&msg.type==="stream_event"&&"uuid"in msg&&"session_id"in msg&&"event"in msg&&"parent_tool_use_id"in msg}__name(isCLIPartialAssistantMessage,"isCLIPartialAssistantMessage");function isControlRequest(msg){return msg&&typeof msg==="object"&&msg.type==="control_request"&&"request_id"in msg&&"request"in msg}__name(isControlRequest,"isControlRequest");function isControlResponse(msg){return msg&&typeof msg==="object"&&msg.type==="control_response"&&"response"in msg}__name(isControlResponse,"isControlResponse");function isControlCancel(msg){return msg&&typeof msg==="object"&&msg.type==="control_cancel_request"&&"request_id"in msg}__name(isControlCancel,"isControlCancel");init_esbuild_shims();function isRecord(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}__name(isRecord,"isRecord");function readHumanInputFromSdkMessage(value){if(!isRecord(value)||value["type"]!=="user"||!isRecord(value["origin"])||value["origin"]["kind"]!=="human"||value["parent_tool_use_id"]!=null||!isRecord(value["message"])||value["message"]["role"]!=="user"){return void 0}const content=value["message"]["content"];if(typeof content==="string"){return{text:content}}if(!Array.isArray(content))return void 0;if(content.some(block=>isRecord(block)&&(block["type"]==="tool_result"||block["type"]==="tool_use"))){return void 0}const text=content.flatMap(block=>isRecord(block)&&block["type"]==="text"&&typeof block["text"]==="string"?[block["text"]]:[]).join("\n");return text.length>0?{text}:void 0}__name(readHumanInputFromSdkMessage,"readHumanInputFromSdkMessage");var debugLogger3=createDebugLogger("NON_INTERACTIVE_SESSION");var Session=class{static{__name(this,"Session")}userMessageQueue=[];monitorStartedQueue=[];monitorQueue=[];pendingContinueTurn=false;continueTurnInProgress=false;sessionAbortController;activeTurnAbortController=null;config;sessionId;promptIdCounter=null;inputReader;outputAdapter;modSession;controlContext=null;dispatcher=null;controlService=null;controlSystemEnabled=null;shutdownHandler=null;initialPrompt=null;processingPromise=null;isShuttingDown=false;configInitialized=false;monitorNotificationsRegistered=false;monitorRegistrationsRegistered=false;settings;unsubscribeRecordingFailure;initializationPromise=null;initializationResolve=null;initializationReject=null;constructor(config,initialPrompt,settings=createMinimalSettings()){this.config=config;this.settings=settings;this.sessionId=config.getSessionId();this.sessionAbortController=new AbortController;this.initialPrompt=initialPrompt??null;this.inputReader=new StreamJsonInputReader;this.outputAdapter=new StreamJsonOutputAdapter(config,config.getIncludePartialMessages());this.modSession=ModSession.create(config,settings,this.outputAdapter);this.unsubscribeRecordingFailure=subscribeToHeadlessChatRecordingFailures(config,this.outputAdapter);this.setupSignalHandlers()}ensureInitializationPromise(){if(this.initializationPromise){return}this.initializationPromise=new Promise((resolve,reject)=>{this.initializationResolve=()=>{resolve();this.initializationResolve=null;this.initializationReject=null};this.initializationReject=error=>{reject(error);this.initializationResolve=null;this.initializationReject=null}})}getNextPromptId(){if(this.promptIdCounter===null){const records=this.config.getResumedSessionData?.()?.conversation.messages;this.promptIdCounter=records?computeInitialTurnFromHistory(records,this.sessionId):0}this.promptIdCounter++;return`${this.sessionId}########${this.promptIdCounter}`}async ensureConfigInitialized(options){if(this.configInitialized){return}debugLogger3.debug("[Session] Initializing config");try{const emittedWarnings=new Set(this.config.getWarnings());profileCheckpoint("config_initialize_start");await this.config.initialize(options);profileCheckpoint("config_initialize_end");for(const warning of this.config.getWarnings()){if(emittedWarnings.has(warning))continue;emittedWarnings.add(warning);process.stderr.write(`${warning}
4
4
  `)}await this.config.waitForMcpReady();const failedMcpServers=typeof this.config.getFailedMcpServerNames==="function"?this.config.getFailedMcpServerNames():[];if(failedMcpServers.length>0){process.stderr.write(`Warning: MCP server(s) failed to start: ${failedMcpServers.join(", ")}. Continuing with built-in tools and any servers that did connect.
5
5
  `)}finalizeStartupProfile(this.config.getSessionId());this.configInitialized=true;this.registerMonitorRegistrations();this.registerMonitorNotifications()}catch(error){debugLogger3.error("[Session] Failed to initialize config:",error);throw error}}registerMonitorNotifications(){if(this.monitorNotificationsRegistered){return}const registry=this.config.getMonitorRegistry();registry.setNotificationCallback((displayText,modelText,meta)=>{if(this.isShuttingDown||this.sessionAbortController.signal.aborted){return}if(meta.status==="running"&&typeof registry.get==="function"){const entry=registry.get(meta.monitorId);if(!entry||entry.status!=="running")return}this.enqueueMonitorNotification({displayText,modelText,sdkNotification:{task_id:meta.monitorId,tool_use_id:meta.toolUseId,status:meta.status}})});this.monitorNotificationsRegistered=true}registerMonitorRegistrations(){if(this.monitorRegistrationsRegistered){return}const registry=this.config.getMonitorRegistry();registry.setRegisterCallback(entry=>{if(this.isShuttingDown||this.sessionAbortController.signal.aborted){return}this.enqueueMonitorStarted({task_id:entry.monitorId,tool_use_id:entry.toolUseId,description:entry.description})});this.monitorRegistrationsRegistered=true}completeInitialization(){if(this.initializationResolve){debugLogger3.debug("[Session] Initialization complete");this.initializationResolve();this.initializationResolve=null;this.initializationReject=null}}failInitialization(error){if(this.initializationReject){debugLogger3.error("[Session] Initialization failed:",error);this.initializationReject(error);this.initializationResolve=null;this.initializationReject=null}}async waitForInitialization(){if(!this.initializationPromise){return}await this.initializationPromise}ensureControlSystem(){if(this.controlContext&&this.dispatcher&&this.controlService){return}this.controlContext=new ControlContext({config:this.config,streamJson:this.outputAdapter,sessionId:this.sessionId,abortSignal:this.sessionAbortController.signal,getActiveTurnAbortSignal:__name(()=>this.activeTurnAbortController?.signal,"getActiveTurnAbortSignal"),settings:this.settings,permissionMode:this.config.getApprovalMode(),waitForInitialization:__name(()=>this.waitForInitialization(),"waitForInitialization"),onInterrupt:__name(()=>this.handleInterrupt(),"onInterrupt"),onContinueLastTurn:__name(()=>this.requestContinueLastTurn(),"onContinueLastTurn")});this.dispatcher=new ControlDispatcher(this.controlContext);this.controlService=new ControlService(this.controlContext,this.dispatcher)}getDispatcher(){if(this.controlSystemEnabled!==true){return null}if(!this.dispatcher){this.ensureControlSystem()}return this.dispatcher}handleFirstMessage(message){if(isControlRequest(message)){const request=message;this.controlSystemEnabled=true;this.ensureControlSystem();if(request.request.subtype==="initialize"){void this.initializeSdkMode(request);return}debugLogger3.debug("[Session] Ignoring non-initialize control request during initialization");return}if(isCLIUserMessage(message)){this.controlSystemEnabled=false;void this.initializeDirectMode(message);return}this.controlSystemEnabled=false}async initializeSdkMode(request){this.ensureInitializationPromise();try{await this.dispatcher?.dispatch(request,true);const sendSdkMcpMessage=this.dispatcher?.sdkMcpController.createSendSdkMcpMessage();await this.ensureConfigInitialized({sendSdkMcpMessage});this.completeInitialization()}catch(error){debugLogger3.error("[Session] SDK mode initialization failed:",error);this.failInitialization(error instanceof Error?error:new Error(String(error)))}}async initializeDirectMode(userMessage){this.ensureInitializationPromise();try{this.enqueueUserMessage(userMessage);await this.ensureConfigInitialized();this.completeInitialization()}catch(error){debugLogger3.error("[Session] Direct mode initialization failed:",error);this.failInitialization(error instanceof Error?error:new Error(String(error)))}}handleControlRequestAsync(request){const dispatcher=this.getDispatcher();if(!dispatcher){debugLogger3.warn("[Session] Control system not enabled");return}if(request.request.subtype==="initialize"&&this.initializationResolve!==null){this.outputAdapter.send({type:"control_response",response:{subtype:"error",request_id:request.request_id,error:"Session initialization is in progress. Try again when ready."}});return}void(async()=>{if(request.request.subtype==="initialize"){try{await this.waitForInitialization()}catch(error){const message=error instanceof Error?error.message:String(error);this.outputAdapter.send({type:"control_response",response:{subtype:"error",request_id:request.request_id,error:`Session initialization failed: ${message}`}});return}}await dispatcher.dispatch(request)})().catch(error=>{debugLogger3.error("[Session] Control request dispatch error:",error)})}handleControlResponse(response){const dispatcher=this.getDispatcher();if(!dispatcher){return}dispatcher.handleControlResponse(response)}handleControlCancel(cancelRequest){const dispatcher=this.getDispatcher();if(!dispatcher){return}dispatcher.handleCancel(cancelRequest.request_id)}async processUserMessage(userMessage){const input=extractUserMessageText(userMessage);const humanInput=readHumanInputFromSdkMessage(userMessage);if(!input){debugLogger3.debug("[Session] No text content in user message");return}await this.waitForInitialization();const promptId=this.getNextPromptId();const turnAbortController=this.startTurn();try{await runNonInteractive(this.config,this.settings,input,promptId,{...humanInput?{humanInput}:{},modSession:this.modSession,abortController:turnAbortController,adapter:this.outputAdapter,controlService:this.controlService??void 0,captureMonitorNotifications:false,captureMonitorRegistrations:false,recoverableCancellation:true})}catch(error){debugLogger3.error("[Session] Query execution error:",error)}finally{this.finishTurn(turnAbortController)}}async requestContinueLastTurn(){await this.waitForInitialization();if(this.isShuttingDown||this.sessionAbortController.signal.aborted){debugLogger3.debug("[Session] continue_last_turn rejected: session is shutting down");return{accepted:false,interruption:"none"}}const llmClient=this.config.getLlmClient();if(!llmClient||!llmClient.isInitialized()){debugLogger3.debug("[Session] continue_last_turn rejected: gemini client is not ready");return{accepted:false,interruption:"none"}}const chat=llmClient.getChat();const historyTail=chat.getHistoryForRecovery?.(TURN_INTERRUPTION_HISTORY_TAIL_COUNT)??chat.getHistoryTailShallow?.(TURN_INTERRUPTION_HISTORY_TAIL_COUNT)??chat.getHistoryTail(TURN_INTERRUPTION_HISTORY_TAIL_COUNT);const cancellation=getLastApiPromptCancellation(chat.getHistoryShallow(),await this.config.getChatRecordingService().readActiveTranscriptChain());const recoveryPlan=buildSessionRecoveryPlanFromApiHistory({sessionId:this.sessionId,apiHistory:cancellation?[]:historyTail,completedToolCallIds:chat.getCompletedToolCallIds?.()});debugLogger3.info("[Session] requestContinueLastTurn recovery",{sessionId:this.sessionId,kind:recoveryPlan.kind});if(!recoveryPlan.continuation){debugLogger3.debug("[Session] continue_last_turn rejected: no interrupted turn");return{accepted:false,interruption:"none"}}const interruption=recoveryPlan.kind==="interrupted_prompt"?"interrupted_prompt":"interrupted_turn";if(this.pendingContinueTurn||this.continueTurnInProgress){debugLogger3.debug("[Session] continue_last_turn rejected: continuation already pending",{kind:recoveryPlan.kind});return{accepted:false,interruption}}this.pendingContinueTurn=true;this.ensureProcessingStarted();debugLogger3.info("[Session] continue_last_turn accepted",{sessionId:this.sessionId,kind:recoveryPlan.kind});return{accepted:true,interruption}}async processContinueTurn(){this.continueTurnInProgress=true;let resultAlreadyEmitted=false;let turnAbortController=null;try{await this.waitForInitialization();const promptId=this.getNextPromptId();turnAbortController=this.startTurn();await runNonInteractive(this.config,this.settings,"",promptId,{modSession:this.modSession,abortController:turnAbortController,adapter:this.outputAdapter,controlService:this.controlService??void 0,continueInterrupted:true,captureMonitorNotifications:false,captureMonitorRegistrations:false,recoverableCancellation:true,onResultEmitted:__name(()=>{resultAlreadyEmitted=true},"onResultEmitted")})}catch(error){debugLogger3.error("[Session] Continue turn execution error:",error);const message=error instanceof Error?error.message:String(error);if(resultAlreadyEmitted){this.outputAdapter.emitSystemMessage("continue_turn_failed",{error:message});return}throw new Error(`Continue turn failed: ${message}`,{cause:error})}finally{if(turnAbortController){this.finishTurn(turnAbortController)}this.continueTurnInProgress=false}}async processMonitorNotificationBatch(batch){await this.waitForInitialization();batch=batch.filter(item=>{if(item.sdkNotification.status!=="running"){return true}return this.config.getMonitorRegistry().get(item.sdkNotification.task_id)?.status!=="cancelled"});if(batch.length===0){return}for(const item of batch){this.outputAdapter.emitUserMessage([{text:item.displayText}]);this.outputAdapter.emitSystemMessage("task_notification",item.sdkNotification)}const combinedModelText=batch.map(n=>n.modelText).join("\n\n");const combinedDisplayText=batch.map(n=>n.displayText).join("; ");const promptId=this.getNextPromptId();const turnAbortController=this.startTurn();try{await runNonInteractive(this.config,this.settings,combinedModelText,promptId,{modSession:this.modSession,abortController:turnAbortController,adapter:this.outputAdapter,controlService:this.controlService??void 0,sendMessageType:"notification",notificationDisplayText:combinedDisplayText,captureMonitorNotifications:false,captureMonitorRegistrations:false,recoverableCancellation:true})}finally{this.finishTurn(turnAbortController)}}async processPendingWork(){if(this.isShuttingDown||this.sessionAbortController.signal.aborted){return}while((this.pendingContinueTurn||this.userMessageQueue.length>0||this.monitorStartedQueue.length>0||this.monitorQueue.length>0)&&!this.isShuttingDown&&!this.sessionAbortController.signal.aborted){if(this.pendingContinueTurn){this.pendingContinueTurn=false;try{await this.processContinueTurn()}catch(error){debugLogger3.error("[Session] Error processing continue turn:",error);await this.emitErrorResult(error)}continue}if(this.userMessageQueue.length>0){const userMessage=this.userMessageQueue.shift();try{await this.processUserMessage(userMessage)}catch(error){debugLogger3.error("[Session] Error processing user message:",error);await this.emitErrorResult(error)}continue}const started=this.monitorStartedQueue.shift();if(started){this.outputAdapter.emitSystemMessage("task_started",started);continue}if(this.monitorQueue.length===0){continue}const batch=this.monitorQueue.splice(0);try{await this.processMonitorNotificationBatch(batch)}catch(error){debugLogger3.error("[Session] Error processing monitor notification batch:",error);await this.emitErrorResult(error)}}}enqueueUserMessage(userMessage){this.userMessageQueue.push(userMessage);this.ensureProcessingStarted()}enqueueMonitorStarted(started){this.monitorStartedQueue.push(started);this.ensureProcessingStarted()}enqueueMonitorNotification(notification){this.monitorQueue.push(notification);this.ensureProcessingStarted()}ensureProcessingStarted(){if(this.processingPromise){return}this.processingPromise=this.processPendingWork().finally(()=>{this.processingPromise=null;if((this.pendingContinueTurn||this.userMessageQueue.length>0||this.monitorStartedQueue.length>0||this.monitorQueue.length>0)&&!this.isShuttingDown&&!this.sessionAbortController.signal.aborted){this.ensureProcessingStarted()}})}async emitErrorResult(error,numTurns=0,durationMs=0,apiDurationMs=0){await settleChatRecording(this.config,{finalize:false});const message=error instanceof Error?error.message:String(error);this.outputAdapter.emitResult({isError:true,errorMessage:message,durationMs,apiDurationMs,numTurns,usage:void 0})}handleInterrupt(){debugLogger3.info("[Session] Interrupt requested");this.activeTurnAbortController?.abort(new TurnInterruptedError)}startTurn(){const controller=new AbortController;if(this.sessionAbortController.signal.aborted){controller.abort(this.sessionAbortController.signal.reason)}this.activeTurnAbortController=controller;return controller}finishTurn(controller){if(this.activeTurnAbortController===controller){this.activeTurnAbortController=null}}abortSession(){this.activeTurnAbortController?.abort();this.sessionAbortController.abort()}setupSignalHandlers(){this.shutdownHandler=()=>{debugLogger3.info("[Session] Shutdown signal received");this.isShuttingDown=true;this.abortSession()};process.on("SIGINT",this.shutdownHandler);process.on("SIGTERM",this.shutdownHandler)}async waitForAllPendingWork(){try{await this.waitForInitialization()}catch(error){debugLogger3.error("[Session] Initialization error during shutdown:",error)}if(this.dispatcher){const pendingCount=this.dispatcher.getPendingIncomingRequestCount();if(pendingCount>0){debugLogger3.debug(`[Session] Waiting for ${pendingCount} pending control request handlers`)}await this.dispatcher.waitForPendingIncomingRequests()}while(this.processingPromise){debugLogger3.debug("[Session] Waiting for user message processing");try{await this.processingPromise}catch(error){debugLogger3.error("[Session] Error in user message processing:",error)}}if(this.pendingContinueTurn){this.pendingContinueTurn=false;await this.emitErrorResult(new Error("Continuation abandoned: session shut down before it ran"))}}async shutdown(){debugLogger3.debug("[Session] Shutting down");this.isShuttingDown=true;this.abortSession();this.abortTaskRegistries();this.stopMonitorCallbacks();await this.waitForAllPendingWork();this.abortTaskRegistries();this.finishShutdown()}async drainAndShutdown(){debugLogger3.debug("[Session] Draining pending work before shutdown");this.abortTaskRegistries();this.stopMonitorCallbacks();await this.waitForAllPendingWork();this.abortTaskRegistries();this.finishShutdown()}abortTaskRegistries(){this.config.getMonitorRegistry().abortAll({notify:false});this.config.getBackgroundShellRegistry().abortAll();this.config.getBackgroundTaskRegistry().abortAll()}finishShutdown(){this.abortSession();this.dispatcher?.shutdown();this.cleanupSignalHandlers()}stopMonitorCallbacks(){if(!this.monitorNotificationsRegistered&&!this.monitorRegistrationsRegistered){return}const registry=this.config.getMonitorRegistry();if(this.monitorNotificationsRegistered){registry.setNotificationCallback(void 0);this.monitorNotificationsRegistered=false}if(this.monitorRegistrationsRegistered){registry.setRegisterCallback(void 0);this.monitorRegistrationsRegistered=false}}cleanupSignalHandlers(){if(this.shutdownHandler){process.removeListener("SIGINT",this.shutdownHandler);process.removeListener("SIGTERM",this.shutdownHandler);this.shutdownHandler=null}}async dispose(){await this.modSession?.close();this.unsubscribeRecordingFailure()}async run(){try{debugLogger3.info("[Session] Starting session",this.sessionId);if(this.initialPrompt!==null){this.handleFirstMessage(this.initialPrompt)}try{for await(const message of this.inputReader.read()){if(this.sessionAbortController.signal.aborted){break}if(isControlResponse(message)){this.handleControlResponse(message);continue}if(this.controlSystemEnabled===null){this.handleFirstMessage(message);continue}if(isControlRequest(message)){this.handleControlRequestAsync(message)}else if(isControlCancel(message)){this.handleControlCancel(message)}else if(isCLIUserMessage(message)){this.enqueueUserMessage(message)}else if(!isCLIAssistantMessage(message)&&!isCLISystemMessage(message)&&!isCLIResultMessage(message)&&!isCLIPartialAssistantMessage(message)){debugLogger3.warn("[Session] Unknown message type:",JSON.stringify(message,null,2))}if(this.isShuttingDown){break}}}catch(streamError){debugLogger3.error("[Session] Stream reading error:",streamError);throw streamError}if(this.dispatcher){this.dispatcher.markInputClosed()}await this.drainAndShutdown()}catch(error){debugLogger3.error("[Session] Error:",error);await this.shutdown();throw error}finally{this.cleanupSignalHandlers()}}};function extractUserMessageText(message){const content=message.message.content;if(typeof content==="string"){return content}if(Array.isArray(content)){const parts=content.map(block=>{if(!block||typeof block!=="object"){return""}if("type"in block&&block.type==="text"&&"text"in block){return typeof block.text==="string"?block.text:""}return JSON.stringify(block)}).filter(part=>part.length>0);return parts.length>0?parts.join("\n"):null}return null}__name(extractUserMessageText,"extractUserMessageText");async function runNonInteractiveStreamJson(config,input,settings=createMinimalSettings()){let initialPrompt=void 0;if(input&&input.trim().length>0){const sessionId=config.getSessionId();initialPrompt={type:"user",session_id:sessionId,message:{role:"user",content:input.trim()},parent_tool_use_id:null}}const manager=new Session(config,initialPrompt,settings);try{await manager.run()}finally{await settleChatRecording(config,{finalize:true});await manager.dispose()}}__name(runNonInteractiveStreamJson,"runNonInteractiveStreamJson");export{runNonInteractiveStreamJson};
6
6
  /**
@@ -1,3 +1,3 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{SESSION_ATTACHMENTS_ROOT_ENV,defaultSessionAttachmentsRoot,resolveConfiguredSessionAttachmentsRoot,sessionAttachmentsRoots}from"./chunk-BPL6AT4P.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{SESSION_ATTACHMENTS_ROOT_ENV,defaultSessionAttachmentsRoot,resolveConfiguredSessionAttachmentsRoot,sessionAttachmentsRoots};
3
+ import{SESSION_ATTACHMENTS_ROOT_ENV,defaultSessionAttachmentsRoot,resolveConfiguredSessionAttachmentsRoot,sessionAttachmentsRoots}from"./chunk-BPL6AT4P.js";import"./chunk-G2LTZU67.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-3TTHYXT3.js";import"./chunk-46VUDNCL.js";import"./chunk-MKH3EH7O.js";import"./chunk-VC3JJL7E.js";import"./chunk-VKWVIWLK.js";import"./chunk-HW6SU6MX.js";import"./chunk-ZHHFNZ5J.js";import"./chunk-AKWYMQKU.js";import"./chunk-MZUOREFD.js";import"./chunk-DSKA3P2C.js";import"./chunk-7XZVMIY5.js";import"./chunk-4HSISRRA.js";import"./chunk-ZZJXFLVM.js";import"./chunk-RKDS7A4H.js";import"./chunk-QF22ILPV.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-7XQ5D34E.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-HQZTAA2U.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{SESSION_ATTACHMENTS_ROOT_ENV,defaultSessionAttachmentsRoot,resolveConfiguredSessionAttachmentsRoot,sessionAttachmentsRoots};
@@ -1,3 +1,3 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{createPairedExecutionEngines,createSessionExecutionEngineSelector}from"./chunk-B37YY4XU.js";import"./chunk-VTZZXEWA.js";import"./chunk-L5UULTGF.js";import"./chunk-WSOEJTOC.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-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-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{createPairedExecutionEngines,createSessionExecutionEngineSelector};
3
+ import{createPairedExecutionEngines,createSessionExecutionEngineSelector}from"./chunk-57D2OB3I.js";import"./chunk-VTZZXEWA.js";import"./chunk-L5UULTGF.js";import"./chunk-WSOEJTOC.js";import"./chunk-7XQ5D34E.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-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-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-HQZTAA2U.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{createPairedExecutionEngines,createSessionExecutionEngineSelector};
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{AONE_MAX_MR_VIEW_CALLS_PER_RUN,DaemonDrainingError,defaultAoneMrBackend,invalidateWorkspaceSessionListCache,isAoneDetailUrlForRepo,resolveAoneWorkspaceRepo}from"./chunk-T5DKF33F.js";import"./chunk-7M5JT3ID.js";import"./chunk-U3ZLJQMS.js";import"./chunk-CTMNGGOU.js";import"./chunk-3XCRIK5A.js";import"./chunk-5EXL4TKQ.js";import"./chunk-DHYCGKLG.js";import"./chunk-SVGTUGV2.js";import{createWorkspaceRuntimeSessionService}from"./chunk-JWNKPINR.js";import"./chunk-LGFF5PJA.js";import"./chunk-OGFBP4OQ.js";import"./chunk-ASTRUET5.js";import"./chunk-BCI62WSL.js";import"./chunk-BWQ5AIEA.js";import"./chunk-WDR5XP3Y.js";import"./chunk-IFPLGH5C.js";import"./chunk-WBDNGVHU.js";import"./chunk-BC4C6F32.js";import"./chunk-2QYDBHYZ.js";import"./chunk-LUDNUVSA.js";import"./chunk-VTZZXEWA.js";import"./chunk-L5UULTGF.js";import"./chunk-3KZHPZVZ.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{fetchGitHubPullRequestIssues,fetchGitHubPullRequests,readSessionPrs,updateSessionPrStates}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"./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-M4ECEHLX.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{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name}from"./chunk-KBWJGX7I.js";init_esbuild_shims();import{existsSync}from"node:fs";var DEFAULT_SESSION_PR_REFRESH_INTERVAL_MS=5*60*1e3;var FIRST_RUN_DELAY_MS=6e4;var AONE_SWEEP_VIEW_BUDGET_MS=6e4;function pullRequestKey(url){let parsed;try{parsed=new URL(url)}catch{return void 0}const match=/^\/([^/]+)\/([^/]+)\/pull\/(\d+)(?:\/|\.diff$|\.patch$|$)/.exec(parsed.pathname);if(!match)return void 0;const host=parsed.hostname.replace(/^www\./,"");return{repo:`${host}/${match[1]}/${match[2]}`.toLowerCase(),number:Number(match[3])}}__name(pullRequestKey,"pullRequestKey");function samePullRequest(left,right){const a=pullRequestKey(left);const b=pullRequestKey(right);return a!==void 0&&b!==void 0&&a.repo===b.repo&&a.number===b.number}__name(samePullRequest,"samePullRequest");function resolveSessionPrRefreshIntervalMs(env){const raw=env["QWEN_SESSION_PR_REFRESH_MINUTES"];if(raw===void 0||raw.trim()===""){return DEFAULT_SESSION_PR_REFRESH_INTERVAL_MS}const minutes=Number(raw);if(!Number.isFinite(minutes)||minutes<0){return DEFAULT_SESSION_PR_REFRESH_INTERVAL_MS}if(minutes===0)return void 0;if(minutes<1)return DEFAULT_SESSION_PR_REFRESH_INTERVAL_MS;const ms=minutes*6e4;return ms<=2**31-1?ms:DEFAULT_SESSION_PR_REFRESH_INTERVAL_MS}__name(resolveSessionPrRefreshIntervalMs,"resolveSessionPrRefreshIntervalMs");async function refreshWorkspaceSessionPrStates(runtime,fetchPullRequests=fetchGitHubPullRequests,options={}){const assertGenerationOpen=__name(()=>runtime.generationGuard?.assertOpen(),"assertGenerationOpen");const sessionService=createWorkspaceRuntimeSessionService(runtime);const pendingNumbers=[];let scanned=0;for(const archiveState of["active","archived"]){for(const sessionId of sessionService.listSessionIdsWithPrSidecar(archiveState)){if(!await sessionService.sessionPrSidecarBelongsToCurrentProject(sessionId,archiveState)){continue}const prPath=sessionService.getPrSessionPathForArchiveState(sessionId,archiveState);let prs;try{prs=await readSessionPrs(prPath)}catch{continue}if(!prs)continue;scanned+=1;const pending=prs.filter(p=>p.state!=="merged");const issueEntries=prs.filter(p=>p.state!=="merged"||p.issues===void 0).map(({number,url,state})=>({number,url,merged:state==="merged"}));if(pending.length>0||issueEntries.length>0){const urls=new Map;for(const entry of pending){const known=urls.get(entry.number);if(known)known.push(entry.url);else urls.set(entry.number,[entry.url])}pendingNumbers.push({sessionId,prPath,numbers:pending.map(p=>p.number),urls,issueEntries})}}}if(pendingNumbers.length===0)return{scanned,updated:0};assertGenerationOpen();const numberToFetch=new Map;let convergeMerged=false;let repoKey;const isForeign=__name(url=>repoKey!==void 0&&pullRequestKey(url)?.repo!==repoKey,"isForeign");const aoneRepo=await resolveAoneWorkspaceRepo(runtime.workspaceCwd,runtime.env.effectiveEnv);let aoneConsumed;if(aoneRepo){const refreshable=new Set;for(const target of pendingNumbers){for(const[number,urls]of target.urls){if(refreshable.has(number))continue;if(urls.some(url=>isAoneDetailUrlForRepo(aoneRepo.repoPath,number,url))){refreshable.add(number)}}}const backend=options.aoneBackend??defaultAoneMrBackend;const all=[...new Set(pendingNumbers.flatMap(target=>target.numbers))].filter(number=>refreshable.has(number));const start=all.length===0?0:(options.sweepStart??0)%all.length;const unique=[...all.slice(start),...all.slice(0,start)].slice(0,AONE_MAX_MR_VIEW_CALLS_PER_RUN);const now=options.now??Date.now;const deadline=now()+AONE_SWEEP_VIEW_BUDGET_MS;let consumed=0;for(const number of unique){if(now()>deadline)break;consumed+=1;try{const view=await backend.view(aoneRepo.repoPath,number);numberToFetch.set(view.number,{state:view.state,url:view.url})}catch{}}aoneConsumed=consumed;convergeMerged=true}else{if(pendingNumbers.some(target=>target.numbers.length>0)){const result=await fetchPullRequests(runtime.workspaceCwd,runtime.env.effectiveEnv,{state:"all",limit:500,slim:true});if(result.kind==="ok"){for(const pr of result.pullRequests){numberToFetch.set(pr.number,{state:pr.state==="draft"?"open":pr.state,url:pr.url})}const sample=result.pullRequests[0]?.url;if(sample!==void 0)repoKey=pullRequestKey(sample)?.repo}}const issueNumbers=[...new Set(pendingNumbers.flatMap(target=>target.issueEntries.filter(entry=>!isForeign(entry.url)).map(entry=>entry.number)))];if(issueNumbers.length>0){assertGenerationOpen();const issuesResult=await fetchGitHubPullRequestIssues(runtime.workspaceCwd,runtime.env.effectiveEnv,issueNumbers);if(issuesResult.kind==="ok"){convergeMerged=true;for(const[number,{url,issues}]of issuesResult.pullRequests){numberToFetch.set(number,{...numberToFetch.get(number)??{url},issues})}}else if(issuesResult.kind==="cli_unavailable"||issuesResult.kind==="not_a_repo"||issuesResult.kind==="repo_unresolved"){convergeMerged=true}}}let updated=0;for(const target of pendingNumbers){const states=new Map;for(const number of target.numbers){const fetched=numberToFetch.get(number);if(fetched!==void 0)states.set(number,fetched)}for(const entry of target.issueEntries){const fetched=numberToFetch.get(entry.number);if(fetched!==void 0&&samePullRequest(fetched.url,entry.url)){states.set(entry.number,{...fetched,url:entry.url})}else if(entry.merged&&(convergeMerged||isForeign(entry.url))){states.set(entry.number,{url:entry.url,issues:[]})}}if(states.size===0)continue;const commit=__name(()=>updateSessionPrStates(target.prPath,states,{assertCanCommit:__name(()=>{assertGenerationOpen();if(!existsSync(target.prPath)){throw new Error(`session PR sidecar vanished during refresh: ${target.prPath}`)}},"assertCanCommit")}),"commit");try{updated+=await(options.archiveCoordinator?options.archiveCoordinator.runSharedMany([target.sessionId],commit):commit())}catch(error){if(error instanceof DaemonDrainingError)throw error}}if(updated>0){assertGenerationOpen();invalidateWorkspaceSessionListCache({runtimeBaseDir:runtime.sessionRuntimeBaseDir,workspaceCwd:runtime.workspaceCwd,archiveStates:["active","archived"]});runtime.bridge.markSessionCatalogChanged()}return{scanned,updated,aoneConsumed}}__name(refreshWorkspaceSessionPrStates,"refreshWorkspaceSessionPrStates");function startSessionPrRefreshTimer(deps){const intervalMs=resolveSessionPrRefreshIntervalMs(deps.env??process.env);if(intervalMs===void 0)return void 0;const aoneSweepOffsets=new Map;let running=false;const tick=__name(async()=>{if(running)return;running=true;try{const archiveCoordinator=deps.getArchiveCoordinator?.();const live=deps.workspaceRegistry.listAll();for(const runtime of live){if(!runtime.trusted)continue;const sweepStart=aoneSweepOffsets.get(runtime.workspaceCwd)??0;try{const result=await refreshWorkspaceSessionPrStates(runtime,void 0,{archiveCoordinator,sweepStart,aoneBackend:deps.aoneBackend,now:deps.now});if(result.aoneConsumed!==void 0){aoneSweepOffsets.set(runtime.workspaceCwd,sweepStart+result.aoneConsumed)}}catch(error){if(error instanceof DaemonDrainingError)return}}const liveCwds=new Set(live.map(r=>r.workspaceCwd));for(const cwd of[...aoneSweepOffsets.keys()]){if(!liveCwds.has(cwd))aoneSweepOffsets.delete(cwd)}}finally{running=false}},"tick");const first=setTimeout(()=>void tick(),FIRST_RUN_DELAY_MS);first.unref();const timer=setInterval(()=>void tick(),intervalMs);timer.unref();return{dispose(){clearTimeout(first);clearInterval(timer)}}}__name(startSessionPrRefreshTimer,"startSessionPrRefreshTimer");export{AONE_SWEEP_VIEW_BUDGET_MS,DEFAULT_SESSION_PR_REFRESH_INTERVAL_MS,refreshWorkspaceSessionPrStates,resolveSessionPrRefreshIntervalMs,startSessionPrRefreshTimer};
3
+ import{AONE_MAX_MR_VIEW_CALLS_PER_RUN,DaemonDrainingError,defaultAoneMrBackend,invalidateWorkspaceSessionListCache,isAoneDetailUrlForRepo,resolveAoneWorkspaceRepo}from"./chunk-KTRNYPQP.js";import"./chunk-7M5JT3ID.js";import"./chunk-U3ZLJQMS.js";import"./chunk-CTMNGGOU.js";import"./chunk-3XCRIK5A.js";import"./chunk-W3YXE55M.js";import"./chunk-DHYCGKLG.js";import"./chunk-SVGTUGV2.js";import{createWorkspaceRuntimeSessionService}from"./chunk-F6U6T7QD.js";import"./chunk-LGFF5PJA.js";import"./chunk-OGFBP4OQ.js";import"./chunk-ASTRUET5.js";import"./chunk-236DHGNH.js";import"./chunk-BWQ5AIEA.js";import"./chunk-WDR5XP3Y.js";import"./chunk-IFPLGH5C.js";import"./chunk-WBDNGVHU.js";import"./chunk-BC4C6F32.js";import"./chunk-2QYDBHYZ.js";import"./chunk-LUDNUVSA.js";import"./chunk-VTZZXEWA.js";import"./chunk-L5UULTGF.js";import"./chunk-3KZHPZVZ.js";import"./chunk-CFTFKWPW.js";import"./chunk-NIEO2TBE.js";import"./chunk-WSOEJTOC.js";import"./chunk-G2LTZU67.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-3TTHYXT3.js";import"./chunk-46VUDNCL.js";import"./chunk-MKH3EH7O.js";import"./chunk-VC3JJL7E.js";import"./chunk-VKWVIWLK.js";import"./chunk-HW6SU6MX.js";import"./chunk-ZHHFNZ5J.js";import"./chunk-AKWYMQKU.js";import"./chunk-MZUOREFD.js";import"./chunk-DSKA3P2C.js";import"./chunk-7XZVMIY5.js";import"./chunk-4HSISRRA.js";import"./chunk-ZZJXFLVM.js";import"./chunk-RKDS7A4H.js";import"./chunk-QF22ILPV.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{fetchGitHubPullRequestIssues,fetchGitHubPullRequests,readSessionPrs,updateSessionPrStates}from"./chunk-7XQ5D34E.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-HQZTAA2U.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-M4ECEHLX.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{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name}from"./chunk-KBWJGX7I.js";init_esbuild_shims();import{existsSync}from"node:fs";var DEFAULT_SESSION_PR_REFRESH_INTERVAL_MS=5*60*1e3;var FIRST_RUN_DELAY_MS=6e4;var AONE_SWEEP_VIEW_BUDGET_MS=6e4;function pullRequestKey(url){let parsed;try{parsed=new URL(url)}catch{return void 0}const match=/^\/([^/]+)\/([^/]+)\/pull\/(\d+)(?:\/|\.diff$|\.patch$|$)/.exec(parsed.pathname);if(!match)return void 0;const host=parsed.hostname.replace(/^www\./,"");return{repo:`${host}/${match[1]}/${match[2]}`.toLowerCase(),number:Number(match[3])}}__name(pullRequestKey,"pullRequestKey");function samePullRequest(left,right){const a=pullRequestKey(left);const b=pullRequestKey(right);return a!==void 0&&b!==void 0&&a.repo===b.repo&&a.number===b.number}__name(samePullRequest,"samePullRequest");function resolveSessionPrRefreshIntervalMs(env){const raw=env["QWEN_SESSION_PR_REFRESH_MINUTES"];if(raw===void 0||raw.trim()===""){return DEFAULT_SESSION_PR_REFRESH_INTERVAL_MS}const minutes=Number(raw);if(!Number.isFinite(minutes)||minutes<0){return DEFAULT_SESSION_PR_REFRESH_INTERVAL_MS}if(minutes===0)return void 0;if(minutes<1)return DEFAULT_SESSION_PR_REFRESH_INTERVAL_MS;const ms=minutes*6e4;return ms<=2**31-1?ms:DEFAULT_SESSION_PR_REFRESH_INTERVAL_MS}__name(resolveSessionPrRefreshIntervalMs,"resolveSessionPrRefreshIntervalMs");async function refreshWorkspaceSessionPrStates(runtime,fetchPullRequests=fetchGitHubPullRequests,options={}){const assertGenerationOpen=__name(()=>runtime.generationGuard?.assertOpen(),"assertGenerationOpen");const sessionService=createWorkspaceRuntimeSessionService(runtime);const pendingNumbers=[];let scanned=0;for(const archiveState of["active","archived"]){for(const sessionId of sessionService.listSessionIdsWithPrSidecar(archiveState)){if(!await sessionService.sessionPrSidecarBelongsToCurrentProject(sessionId,archiveState)){continue}const prPath=sessionService.getPrSessionPathForArchiveState(sessionId,archiveState);let prs;try{prs=await readSessionPrs(prPath)}catch{continue}if(!prs)continue;scanned+=1;const pending=prs.filter(p=>p.state!=="merged");const issueEntries=prs.filter(p=>p.state!=="merged"||p.issues===void 0).map(({number,url,state})=>({number,url,merged:state==="merged"}));if(pending.length>0||issueEntries.length>0){const urls=new Map;for(const entry of pending){const known=urls.get(entry.number);if(known)known.push(entry.url);else urls.set(entry.number,[entry.url])}pendingNumbers.push({sessionId,prPath,numbers:pending.map(p=>p.number),urls,issueEntries})}}}if(pendingNumbers.length===0)return{scanned,updated:0};assertGenerationOpen();const numberToFetch=new Map;let convergeMerged=false;let repoKey;const isForeign=__name(url=>repoKey!==void 0&&pullRequestKey(url)?.repo!==repoKey,"isForeign");const aoneRepo=await resolveAoneWorkspaceRepo(runtime.workspaceCwd,runtime.env.effectiveEnv);let aoneConsumed;if(aoneRepo){const refreshable=new Set;for(const target of pendingNumbers){for(const[number,urls]of target.urls){if(refreshable.has(number))continue;if(urls.some(url=>isAoneDetailUrlForRepo(aoneRepo.repoPath,number,url))){refreshable.add(number)}}}const backend=options.aoneBackend??defaultAoneMrBackend;const all=[...new Set(pendingNumbers.flatMap(target=>target.numbers))].filter(number=>refreshable.has(number));const start=all.length===0?0:(options.sweepStart??0)%all.length;const unique=[...all.slice(start),...all.slice(0,start)].slice(0,AONE_MAX_MR_VIEW_CALLS_PER_RUN);const now=options.now??Date.now;const deadline=now()+AONE_SWEEP_VIEW_BUDGET_MS;let consumed=0;for(const number of unique){if(now()>deadline)break;consumed+=1;try{const view=await backend.view(aoneRepo.repoPath,number);numberToFetch.set(view.number,{state:view.state,url:view.url})}catch{}}aoneConsumed=consumed;convergeMerged=true}else{if(pendingNumbers.some(target=>target.numbers.length>0)){const result=await fetchPullRequests(runtime.workspaceCwd,runtime.env.effectiveEnv,{state:"all",limit:500,slim:true});if(result.kind==="ok"){for(const pr of result.pullRequests){numberToFetch.set(pr.number,{state:pr.state==="draft"?"open":pr.state,url:pr.url})}const sample=result.pullRequests[0]?.url;if(sample!==void 0)repoKey=pullRequestKey(sample)?.repo}}const issueNumbers=[...new Set(pendingNumbers.flatMap(target=>target.issueEntries.filter(entry=>!isForeign(entry.url)).map(entry=>entry.number)))];if(issueNumbers.length>0){assertGenerationOpen();const issuesResult=await fetchGitHubPullRequestIssues(runtime.workspaceCwd,runtime.env.effectiveEnv,issueNumbers);if(issuesResult.kind==="ok"){convergeMerged=true;for(const[number,{url,issues}]of issuesResult.pullRequests){numberToFetch.set(number,{...numberToFetch.get(number)??{url},issues})}}else if(issuesResult.kind==="cli_unavailable"||issuesResult.kind==="not_a_repo"||issuesResult.kind==="repo_unresolved"){convergeMerged=true}}}let updated=0;for(const target of pendingNumbers){const states=new Map;for(const number of target.numbers){const fetched=numberToFetch.get(number);if(fetched!==void 0)states.set(number,fetched)}for(const entry of target.issueEntries){const fetched=numberToFetch.get(entry.number);if(fetched!==void 0&&samePullRequest(fetched.url,entry.url)){states.set(entry.number,{...fetched,url:entry.url})}else if(entry.merged&&(convergeMerged||isForeign(entry.url))){states.set(entry.number,{url:entry.url,issues:[]})}}if(states.size===0)continue;const commit=__name(()=>updateSessionPrStates(target.prPath,states,{assertCanCommit:__name(()=>{assertGenerationOpen();if(!existsSync(target.prPath)){throw new Error(`session PR sidecar vanished during refresh: ${target.prPath}`)}},"assertCanCommit")}),"commit");try{updated+=await(options.archiveCoordinator?options.archiveCoordinator.runSharedMany([target.sessionId],commit):commit())}catch(error){if(error instanceof DaemonDrainingError)throw error}}if(updated>0){assertGenerationOpen();invalidateWorkspaceSessionListCache({runtimeBaseDir:runtime.sessionRuntimeBaseDir,workspaceCwd:runtime.workspaceCwd,archiveStates:["active","archived"]});runtime.bridge.markSessionCatalogChanged()}return{scanned,updated,aoneConsumed}}__name(refreshWorkspaceSessionPrStates,"refreshWorkspaceSessionPrStates");function startSessionPrRefreshTimer(deps){const intervalMs=resolveSessionPrRefreshIntervalMs(deps.env??process.env);if(intervalMs===void 0)return void 0;const aoneSweepOffsets=new Map;let running=false;const tick=__name(async()=>{if(running)return;running=true;try{const archiveCoordinator=deps.getArchiveCoordinator?.();const live=deps.workspaceRegistry.listAll();for(const runtime of live){if(!runtime.trusted)continue;const sweepStart=aoneSweepOffsets.get(runtime.workspaceCwd)??0;try{const result=await refreshWorkspaceSessionPrStates(runtime,void 0,{archiveCoordinator,sweepStart,aoneBackend:deps.aoneBackend,now:deps.now});if(result.aoneConsumed!==void 0){aoneSweepOffsets.set(runtime.workspaceCwd,sweepStart+result.aoneConsumed)}}catch(error){if(error instanceof DaemonDrainingError)return}}const liveCwds=new Set(live.map(r=>r.workspaceCwd));for(const cwd of[...aoneSweepOffsets.keys()]){if(!liveCwds.has(cwd))aoneSweepOffsets.delete(cwd)}}finally{running=false}},"tick");const first=setTimeout(()=>void tick(),FIRST_RUN_DELAY_MS);first.unref();const timer=setInterval(()=>void tick(),intervalMs);timer.unref();return{dispose(){clearTimeout(first);clearInterval(timer)}}}__name(startSessionPrRefreshTimer,"startSessionPrRefreshTimer");export{AONE_SWEEP_VIEW_BUDGET_MS,DEFAULT_SESSION_PR_REFRESH_INTERVAL_MS,refreshWorkspaceSessionPrStates,resolveSessionPrRefreshIntervalMs,startSessionPrRefreshTimer};
4
4
  /**
5
5
  * @license
6
6
  * Copyright 2026 Qwen Team
@@ -1,3 +1,3 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{BranchPointInvalidError,SESSION_TITLE_MAX_LENGTH,SessionArtifactLibraryError,SessionForkSourceUnavailableError,SessionIdCaseConflictError,SessionService,SessionStorageEntryError,SessionTranscriptDurabilityError,buildApiHistoryFromConversation,computeUniqueBranchTitle,findApiHistoryPromptIndex,getResumePromptTokenCount,getResumeTokenCounts,normalizeDerivedBranchTitle,replayUiTelemetryFromConversation}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"./chunk-LMJPU2JM.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-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{getApiHistoryPromptId,markApiHistoryPrompt}from"./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{BranchPointInvalidError,SESSION_TITLE_MAX_LENGTH,SessionArtifactLibraryError,SessionForkSourceUnavailableError,SessionIdCaseConflictError,SessionService,SessionStorageEntryError,SessionTranscriptDurabilityError,buildApiHistoryFromConversation,computeUniqueBranchTitle,findApiHistoryPromptIndex,getApiHistoryPromptId,getResumePromptTokenCount,getResumeTokenCounts,markApiHistoryPrompt,normalizeDerivedBranchTitle,replayUiTelemetryFromConversation};
3
+ import{BranchPointInvalidError,SESSION_TITLE_MAX_LENGTH,SessionArtifactLibraryError,SessionForkSourceUnavailableError,SessionIdCaseConflictError,SessionService,SessionStorageEntryError,SessionTranscriptDurabilityError,buildApiHistoryFromConversation,computeUniqueBranchTitle,findApiHistoryPromptIndex,getResumePromptTokenCount,getResumeTokenCounts,normalizeDerivedBranchTitle,replayUiTelemetryFromConversation}from"./chunk-7XQ5D34E.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-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-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-HQZTAA2U.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{getApiHistoryPromptId,markApiHistoryPrompt}from"./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{BranchPointInvalidError,SESSION_TITLE_MAX_LENGTH,SessionArtifactLibraryError,SessionForkSourceUnavailableError,SessionIdCaseConflictError,SessionService,SessionStorageEntryError,SessionTranscriptDurabilityError,buildApiHistoryFromConversation,computeUniqueBranchTitle,findApiHistoryPromptIndex,getApiHistoryPromptId,getResumePromptTokenCount,getResumeTokenCounts,markApiHistoryPrompt,normalizeDerivedBranchTitle,replayUiTelemetryFromConversation};
@@ -1,3 +1,3 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{CORRUPTED_SUFFIX,LoadedSettings,SETTINGS_VERSION,SETTINGS_VERSION_KEY,SettingScope,createMinimalSettings,getOperatorTrustSettings,getSettingsWarnings,getUserSettingsDir,getUserSettingsPath,loadSettings,migrateLegacyPermissions,readSettingsSnapshot,resolveHomeDirectory,saveSettings}from"./chunk-2TAJ5STJ.js";import"./chunk-UWCF7JIF.js";import"./chunk-NONBHCXP.js";import"./chunk-LMUSSYJH.js";import"./chunk-NO7VTKRL.js";import"./chunk-U7HZUZKP.js";import{SETTINGS_DIRECTORY_NAME,getHomeEnvFallbackVars,loadEnvironment,preResolveHomeEnvOverrides,reloadEnvironment,resetEnvironmentTrackingForTesting,resetHomeEnvBootstrapForTesting,setUpCloudShellEnvironment}from"./chunk-MPVQDYPH.js";import"./chunk-PKK2D2W4.js";import{DEFAULT_EXCLUDED_ENV_VARS,ENV_CORRUPTED_PATH,ENV_WAS_RECOVERED}from"./chunk-N3AQAZ7D.js";import"./chunk-E5T4R2PM.js";import"./chunk-DOLUT3XC.js";import{getSystemDefaultsPath,getSystemSettingsPath}from"./chunk-PTHIQ7ZN.js";import"./chunk-MTDBCIDA.js";import"./chunk-EIPLDYEY.js";import"./chunk-IDXJIDME.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-M4ECEHLX.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{CORRUPTED_SUFFIX,DEFAULT_EXCLUDED_ENV_VARS,ENV_CORRUPTED_PATH,ENV_WAS_RECOVERED,LoadedSettings,SETTINGS_DIRECTORY_NAME,SETTINGS_VERSION,SETTINGS_VERSION_KEY,SettingScope,createMinimalSettings,getHomeEnvFallbackVars,getOperatorTrustSettings,getSettingsWarnings,getSystemDefaultsPath,getSystemSettingsPath,getUserSettingsDir,getUserSettingsPath,loadEnvironment,loadSettings,migrateLegacyPermissions,preResolveHomeEnvOverrides,readSettingsSnapshot,reloadEnvironment,resetEnvironmentTrackingForTesting,resetHomeEnvBootstrapForTesting,resolveHomeDirectory,saveSettings,setUpCloudShellEnvironment};
3
+ import{CORRUPTED_SUFFIX,LoadedSettings,SETTINGS_VERSION,SETTINGS_VERSION_KEY,SettingScope,createMinimalSettings,getOperatorTrustSettings,getSettingsWarnings,getUserSettingsDir,getUserSettingsPath,loadSettings,migrateLegacyPermissions,readSettingsSnapshot,resolveHomeDirectory,saveSettings}from"./chunk-EZPM4DLR.js";import"./chunk-UWCF7JIF.js";import"./chunk-UB37RBSK.js";import"./chunk-LMUSSYJH.js";import"./chunk-NO7VTKRL.js";import"./chunk-U7HZUZKP.js";import{SETTINGS_DIRECTORY_NAME,getHomeEnvFallbackVars,loadEnvironment,preResolveHomeEnvOverrides,reloadEnvironment,resetEnvironmentTrackingForTesting,resetHomeEnvBootstrapForTesting,setUpCloudShellEnvironment}from"./chunk-ZO4F6ZWR.js";import"./chunk-PKK2D2W4.js";import{DEFAULT_EXCLUDED_ENV_VARS,ENV_CORRUPTED_PATH,ENV_WAS_RECOVERED}from"./chunk-N3AQAZ7D.js";import"./chunk-E5T4R2PM.js";import"./chunk-DOLUT3XC.js";import{getSystemDefaultsPath,getSystemSettingsPath}from"./chunk-PTHIQ7ZN.js";import"./chunk-4CE4GMDL.js";import"./chunk-EIPLDYEY.js";import"./chunk-IDXJIDME.js";import"./chunk-G2LTZU67.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-3TTHYXT3.js";import"./chunk-46VUDNCL.js";import"./chunk-MKH3EH7O.js";import"./chunk-VC3JJL7E.js";import"./chunk-VKWVIWLK.js";import"./chunk-HW6SU6MX.js";import"./chunk-ZHHFNZ5J.js";import"./chunk-AKWYMQKU.js";import"./chunk-MZUOREFD.js";import"./chunk-DSKA3P2C.js";import"./chunk-7XZVMIY5.js";import"./chunk-4HSISRRA.js";import"./chunk-ZZJXFLVM.js";import"./chunk-RKDS7A4H.js";import"./chunk-QF22ILPV.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-7XQ5D34E.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-HQZTAA2U.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-M4ECEHLX.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{CORRUPTED_SUFFIX,DEFAULT_EXCLUDED_ENV_VARS,ENV_CORRUPTED_PATH,ENV_WAS_RECOVERED,LoadedSettings,SETTINGS_DIRECTORY_NAME,SETTINGS_VERSION,SETTINGS_VERSION_KEY,SettingScope,createMinimalSettings,getHomeEnvFallbackVars,getOperatorTrustSettings,getSettingsWarnings,getSystemDefaultsPath,getSystemSettingsPath,getUserSettingsDir,getUserSettingsPath,loadEnvironment,loadSettings,migrateLegacyPermissions,preResolveHomeEnvOverrides,readSettingsSnapshot,reloadEnvironment,resetEnvironmentTrackingForTesting,resetHomeEnvBootstrapForTesting,resolveHomeDirectory,saveSettings,setUpCloudShellEnvironment};
@@ -1,3 +1,3 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{DEFAULT_SHELL_HEARTBEAT_INTERVAL_MS,OUTPUT_UPDATE_INTERVAL_MS,SHELL_RECORD_ARTIFACT_REMINDER,ShellTool,ShellToolInvocation,buildLongRunningForegroundHint,detectBlockedSleepPattern,parseNumstat}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"./chunk-LMJPU2JM.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-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{DEFAULT_SHELL_HEARTBEAT_INTERVAL_MS,OUTPUT_UPDATE_INTERVAL_MS,SHELL_RECORD_ARTIFACT_REMINDER,ShellTool,ShellToolInvocation,buildLongRunningForegroundHint,detectBlockedSleepPattern,parseNumstat};
3
+ import{DEFAULT_SHELL_HEARTBEAT_INTERVAL_MS,OUTPUT_UPDATE_INTERVAL_MS,SHELL_RECORD_ARTIFACT_REMINDER,ShellTool,ShellToolInvocation,buildLongRunningForegroundHint,detectBlockedSleepPattern,parseNumstat}from"./chunk-7XQ5D34E.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-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-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-HQZTAA2U.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{DEFAULT_SHELL_HEARTBEAT_INTERVAL_MS,OUTPUT_UPDATE_INTERVAL_MS,SHELL_RECORD_ARTIFACT_REMINDER,ShellTool,ShellToolInvocation,buildLongRunningForegroundHint,detectBlockedSleepPattern,parseNumstat};