very-happy-cli 0.2.176 → 0.2.178

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 (188) hide show
  1. package/dist/{AcpBackend-9_ZI1Bv3.cjs → AcpBackend-CDkAQXYf.cjs} +188 -37
  2. package/dist/{AcpBackend-COp6D8gl.mjs → AcpBackend-DCQXHRzT.mjs} +187 -38
  3. package/dist/{AcpSessionManager-DykjzBM4.mjs → AcpSessionManager-BXrQcqwC.mjs} +1 -1
  4. package/dist/{AcpSessionManager-CjdJLofq.cjs → AcpSessionManager-DckmUZza.cjs} +1 -1
  5. package/dist/{BasePermissionHandler-ChMkmsGD.mjs → BasePermissionHandler-BVlrEhIi.mjs} +1 -1
  6. package/dist/{BasePermissionHandler-DPvLN7aR.cjs → BasePermissionHandler-DyLmKKtO.cjs} +1 -1
  7. package/dist/{agentHome-D61ZMLXM.mjs → agentHome-C1xi37as.mjs} +5 -5
  8. package/dist/{agentHome-BKi7tsE9.cjs → agentHome-CEp9RMyK.cjs} +5 -5
  9. package/dist/{api-CbwDDXJt.mjs → api-Dib0dmqC.mjs} +19 -12
  10. package/dist/{api-Buc_ejoA.cjs → api-JANhFdZV.cjs} +18 -11
  11. package/dist/{apiMachine-CS7t3Rg-.mjs → apiMachine-DNTJidYH.mjs} +26 -16
  12. package/dist/{apiMachine--PXoXwKq.cjs → apiMachine-QhK-sKcr.cjs} +25 -15
  13. package/dist/{attachmentContent-BQYc8KpE.mjs → attachmentContent-DkkdpSSJ.mjs} +2 -2
  14. package/dist/{attachmentContent-CFzzTeV9.cjs → attachmentContent-bpQTBJ0y.cjs} +2 -2
  15. package/dist/{attachmentLimits-DtFqqiwR.cjs → attachmentLimits-SqeAHrVC.cjs} +1 -1
  16. package/dist/{attachmentLimits-Di1Z93lN.mjs → attachmentLimits-UyFn8fkQ.mjs} +1 -1
  17. package/dist/{auth-B3xMoveE.mjs → auth-BRjd2esb.mjs} +6 -6
  18. package/dist/{auth-CBkmRIGw.mjs → auth-DNct7VUi.mjs} +9 -9
  19. package/dist/{auth-CpO3ZUMz.cjs → auth-DgIV0Cvt.cjs} +6 -6
  20. package/dist/{auth-LPvsVriN.cjs → auth-omWDtgR8.cjs} +9 -9
  21. package/dist/{authRelay-DSAvg1uv.mjs → authRelay-DhQhkBvX.mjs} +1 -1
  22. package/dist/{authRelay-BdYkC1Po.cjs → authRelay-Dy1qU9td.cjs} +1 -0
  23. package/dist/{auto-Dm3EIKT7.cjs → auto-CI16FZmX.cjs} +17 -16
  24. package/dist/{auto-DHGch_zK.mjs → auto-DKGFOJBo.mjs} +19 -18
  25. package/dist/{backgroundTaskActivity-8PdPxrvy.mjs → backgroundTaskActivity-BVwJBl02.mjs} +1 -1
  26. package/dist/{bootstrap-CxuBAkJU.mjs → bootstrap-BUagGC_-.mjs} +2 -2
  27. package/dist/{bootstrap-BboDz_w2.cjs → bootstrap-DCQ87Aan.cjs} +2 -2
  28. package/dist/{browser-GQZJxD2n.cjs → browser-CSKhc0Bl.cjs} +1 -1
  29. package/dist/{browser-BvARP-YR.mjs → browser-Dj_DYQEh.mjs} +1 -1
  30. package/dist/{claudeLocal-B9EhFmD7.mjs → claudeLocal-CCCvAeMd.mjs} +6 -6
  31. package/dist/{claudeLocal-D-mujSX1.cjs → claudeLocal-CdIVnOZp.cjs} +5 -5
  32. package/dist/{claudeLocalLauncher-Tbrx6TXF.cjs → claudeLocalLauncher-21-xh5gc.cjs} +15 -18
  33. package/dist/{claudeLocalLauncher-Bdl-9aU_.mjs → claudeLocalLauncher-BmrpaRYJ.mjs} +16 -19
  34. package/dist/{claudeSessionFork-D_DKvDKE.mjs → claudeSessionFork-DvxMKAmY.mjs} +1 -1
  35. package/dist/{claudeSessionFork-sOz97qqW.cjs → claudeSessionFork-kYCP1IJB.cjs} +1 -1
  36. package/dist/{client-Cg6ABRe-.mjs → client-BTX9hsbr.mjs} +3 -3
  37. package/dist/{client-D9pEOhn4.cjs → client-C4zKGjiJ.cjs} +2 -2
  38. package/dist/{client-Ryu9fllj.mjs → client-CnlkkrZO.mjs} +2 -2
  39. package/dist/{client-D7sSU04O.cjs → client-Dnza1hgN.cjs} +3 -3
  40. package/dist/codex/happyMcpStdioBridge.cjs +16 -16
  41. package/dist/codex/happyMcpStdioBridge.mjs +17 -17
  42. package/dist/{codexAppServerClient-DsIUkVnX.cjs → codexAppServerClient-CRlBWGn3.cjs} +6 -54
  43. package/dist/{codexAppServerClient-C70pJ-BB.mjs → codexAppServerClient-DvkpQgyv.mjs} +10 -58
  44. package/dist/{codexCommand-DWbA3pJN.mjs → codexCommand-BxjogBzU.mjs} +44 -66
  45. package/dist/{codexCommand-Aycux-B7.cjs → codexCommand-DzxIWXIT.cjs} +44 -66
  46. package/dist/{BaseReasoningProcessor-Dnf16mtJ.cjs → codexTermination-C28FzlLb.cjs} +25 -1
  47. package/dist/{BaseReasoningProcessor-pjvLSTQF.mjs → codexTermination-ySDNMEhd.mjs} +25 -2
  48. package/dist/{config-BcL0bxO5.cjs → config-BFB5uJ4t.cjs} +3 -3
  49. package/dist/{config-Bztmzu8z.mjs → config-DwfEpFr3.mjs} +3 -3
  50. package/dist/{configuration-CpBrilxV.cjs → configuration-4TGMrjul.cjs} +1 -1
  51. package/dist/{configuration-BAwOtWFY.mjs → configuration-DVrb61aY.mjs} +1 -1
  52. package/dist/{connect-BeWQ4MMA.mjs → connect-C7FPY0PI.mjs} +15 -15
  53. package/dist/{connect-BBNCMTi8.cjs → connect-QH2VJGBG.cjs} +14 -14
  54. package/dist/{context-j114QJre.mjs → context-B3XPVJlj.mjs} +1 -1
  55. package/dist/{context-Hk0j2Y9-.cjs → context-JoKu0V54.cjs} +1 -1
  56. package/dist/{controlClient-bs_YqwDl.cjs → controlClient-BTaZlbC6.cjs} +3 -3
  57. package/dist/{controlClient-00KYAjsI.mjs → controlClient-BYKyGyxj.mjs} +4 -4
  58. package/dist/{createSessionMetadata-xlycGog5.mjs → createSessionMetadata-8Fuj2-IV.mjs} +2 -2
  59. package/dist/{createSessionMetadata-D4Sj6H95.cjs → createSessionMetadata-B2NynaWZ.cjs} +2 -2
  60. package/dist/{defaultPermissionMode-B97ox9p1.mjs → defaultPermissionMode-B8kJG9uI.mjs} +2 -2
  61. package/dist/{defaultPermissionMode-CMsiaRzr.cjs → defaultPermissionMode-BEWCqJU-.cjs} +2 -2
  62. package/dist/{deterministicJson-aHxtYLha.cjs → deterministicJson-BjNQsAjO.cjs} +9 -9
  63. package/dist/{deterministicJson-ucyv8j6b.mjs → deterministicJson-C5ZwZ7hu.mjs} +9 -9
  64. package/dist/{doctor-D554c6Bg.mjs → doctor-0BiGwJXk.mjs} +9 -9
  65. package/dist/{doctor-BXkNXcok.cjs → doctor-BshRnjLi.cjs} +8 -8
  66. package/dist/{downloadTarget-CmdlljZW.cjs → downloadTarget-BN5vZt3K.cjs} +6 -6
  67. package/dist/{downloadTarget-2_zMvt2N.mjs → downloadTarget-DJPwAZlu.mjs} +6 -6
  68. package/dist/{ensureDaemonRunning-CY7iC--U.cjs → ensureDaemonRunning-C5QfToCe.cjs} +5 -5
  69. package/dist/{ensureDaemonRunning-DJlziY-m.mjs → ensureDaemonRunning-CSmb_mqt.mjs} +5 -5
  70. package/dist/{handleResumeCommand-lSVnvTNC.cjs → handleResumeCommand-BwnUZmbo.cjs} +6 -6
  71. package/dist/{handleResumeCommand-CNTnXBXA.mjs → handleResumeCommand-CgjpsdDe.mjs} +6 -6
  72. package/dist/{index-MwTVbeGW.cjs → index-BRClDe07.cjs} +3 -3
  73. package/dist/{index-DhARRePz.cjs → index-BYOZ_8WZ.cjs} +5 -5
  74. package/dist/{index-59hR7nVz.mjs → index-BYgfern_.mjs} +3 -3
  75. package/dist/{index-DY3I8j0W.mjs → index-BehVbAsA.mjs} +144 -90
  76. package/dist/{index-CxSLrTPA.mjs → index-Bvldtdny.mjs} +5 -5
  77. package/dist/{index-B6UGRQ7h.mjs → index-CEjJnq05.mjs} +3 -0
  78. package/dist/{index-DMy3OCBe.mjs → index-Clqlu17M.mjs} +2 -2
  79. package/dist/{index-D3kI0hDR.cjs → index-DFPT4HOO.cjs} +3 -0
  80. package/dist/{index-De8L5lFK.cjs → index-_l1Sdmbi.cjs} +2 -1
  81. package/dist/{index-jeD70GGH.cjs → index-piJPsTsm.cjs} +142 -88
  82. package/dist/index.cjs +2 -2
  83. package/dist/index.mjs +2 -2
  84. package/dist/{install-DXUEtGfU.cjs → install-TO4taKW7.cjs} +3 -3
  85. package/dist/{install-DytIJ_Ia.mjs → install-fYWHrPcC.mjs} +3 -3
  86. package/dist/lib.cjs +13 -13
  87. package/dist/lib.d.cts +10 -1
  88. package/dist/lib.d.mts +10 -1
  89. package/dist/lib.mjs +14 -14
  90. package/dist/{lidState-UasMvPzw.cjs → lidState-BeOwj6eW.cjs} +2 -2
  91. package/dist/{lidState-CduPmrM0.mjs → lidState-DNMlIhX0.mjs} +2 -2
  92. package/dist/{localHappyAgentAuth-DL8JjHTV.mjs → localHappyAgentAuth-BezKSFDi.mjs} +2 -2
  93. package/dist/{localHappyAgentAuth-CA02WOny.cjs → localHappyAgentAuth-Br-mgogg.cjs} +2 -2
  94. package/dist/{logger-CihCDWDw.mjs → logger--vAVtXB_.mjs} +2 -2
  95. package/dist/{logger-zoO54Zsy.cjs → logger-DXTWlPzP.cjs} +2 -2
  96. package/dist/{machineMetadata-DEZcQ_CQ.mjs → machineMetadata-B1H9gNbN.mjs} +3 -3
  97. package/dist/{machineMetadata-BAKVtr-k.cjs → machineMetadata-DcUupMje.cjs} +3 -3
  98. package/dist/{main-DyJfNlL_.mjs → main-CshDb5-1.mjs} +45 -45
  99. package/dist/{main-BIvxyX71.cjs → main-DoMFJ2Cl.cjs} +45 -45
  100. package/dist/{manager-2Il8XJVq.mjs → manager-BEsI4qt3.mjs} +1 -1
  101. package/dist/{mcp-yoIdGe6C.mjs → mcp-DKT_lrvQ.mjs} +16 -16
  102. package/dist/{mcp-Dd11vHij.cjs → mcp-pNc1EbQf.cjs} +15 -15
  103. package/dist/{mirrorProtocol-BukXB5s3.mjs → mirrorProtocol-6IFGPpjJ.mjs} +3 -3
  104. package/dist/{mirrorProtocol-D-hF_SE5.cjs → mirrorProtocol-qKflWTX_.cjs} +3 -3
  105. package/dist/{package-ayqGDKSp.mjs → package-B7B03ejW.mjs} +7 -7
  106. package/dist/{package-A7zOGx8B.cjs → package-DY4zTbKS.cjs} +7 -7
  107. package/dist/{peerTools-DDMSViPu.mjs → peerTools-3R9RUARX.mjs} +4 -4
  108. package/dist/{peerTools-dPc9hRC5.cjs → peerTools-iy3_6Yc5.cjs} +4 -4
  109. package/dist/{persistence-Cih2AWml.cjs → persistence-BfX72dne.cjs} +14 -3
  110. package/dist/{persistence-Dy3lmall.mjs → persistence-DTk4sNpd.mjs} +14 -4
  111. package/dist/{piRunnerArgs-D3z3-1VJ.mjs → piRunnerArgs-AT8QJY7x.mjs} +1 -1
  112. package/dist/{piRunnerArgs-BuJgnUI5.cjs → piRunnerArgs-CRQVR9o-.cjs} +1 -1
  113. package/dist/{piRuntime-B-SPcWIr.cjs → piRuntime-BHRT5MKO.cjs} +1 -1
  114. package/dist/{piRuntime-kVGue-_5.mjs → piRuntime-E44qTVQ4.mjs} +1 -1
  115. package/dist/{piTerminal-aEtVdCJ2.mjs → piTerminal-De8nbciM.mjs} +18 -18
  116. package/dist/{piTerminal-DSxK5aAm.cjs → piTerminal-hI4WFdWm.cjs} +17 -17
  117. package/dist/processTree-CMHWlVse.cjs +66 -0
  118. package/dist/processTree-CP5IvQ2Z.mjs +61 -0
  119. package/dist/{rateLimitWindows-82izLQy8.cjs → rateLimitWindows-Czb7_7cK.cjs} +1 -1
  120. package/dist/{rateLimitWindows-E5DRjfE6.mjs → rateLimitWindows-XrJiiBpU.mjs} +1 -1
  121. package/dist/{registerCommonHandlers-CqO075-X.cjs → registerCommonHandlers-C0_fyBQ0.cjs} +2 -2
  122. package/dist/{registerCommonHandlers-Bm7CMqMv.mjs → registerCommonHandlers-CvIedVRf.mjs} +2 -2
  123. package/dist/{registerKillSessionHandler-WQra3T9B.cjs → registerKillSessionHandler-DYl7l4Ts.cjs} +6 -6
  124. package/dist/{registerKillSessionHandler-D02OY4vi.mjs → registerKillSessionHandler-gwJ5lTf0.mjs} +6 -6
  125. package/dist/{remoteSessionClient-f3DYorl8.cjs → remoteSessionClient-BRTIOX5b.cjs} +5 -5
  126. package/dist/{remoteSessionClient-Buh6NejV.mjs → remoteSessionClient-DRb2Jr5s.mjs} +5 -5
  127. package/dist/{reportProgressTool-C2gn_HWD.cjs → reportProgressTool-B9nCzbkL.cjs} +2 -2
  128. package/dist/{reportProgressTool-C5aSoKYX.mjs → reportProgressTool-D5tEoXMW.mjs} +2 -2
  129. package/dist/{run-Drxogp0j.mjs → run-BQ_FGaOL.mjs} +106 -38
  130. package/dist/{run-CDEmq6Zs.cjs → run-CKe_WeLW.cjs} +106 -38
  131. package/dist/{runClaude-yEcZTCt_.cjs → runClaude-MHI5IKM-.cjs} +27 -23
  132. package/dist/{runClaude-BF6U2Js7.mjs → runClaude-zrrNcQC_.mjs} +28 -24
  133. package/dist/{runClaudeDeps-Bl4ndq7N.mjs → runClaudeDeps-CVBCokOS.mjs} +394 -96
  134. package/dist/{runClaudeDeps-CnNNFjlI.cjs → runClaudeDeps-RRw-Nusc.cjs} +388 -90
  135. package/dist/{runGemini-DDVDRNg4.cjs → runGemini-D7Lg9yCr.cjs} +209 -194
  136. package/dist/{runGemini-C3wt7iv7.mjs → runGemini-kipag2ag.mjs} +209 -194
  137. package/dist/{runOpenClaw-CY6YHAvj.mjs → runOpenClaw-C_lRY3Do.mjs} +20 -20
  138. package/dist/{runOpenClaw-BzlVA_9Q.cjs → runOpenClaw-DCcQ0L2N.cjs} +19 -19
  139. package/dist/{sandbox-CX_wLwpq.mjs → sandbox-BSyXFVFp.mjs} +5 -5
  140. package/dist/{sandbox-0UNHR3hP.cjs → sandbox-dMwPTmjm.cjs} +5 -5
  141. package/dist/selfCheck-CF7XGJPb.mjs +84 -0
  142. package/dist/{selfCheck-FNwMFY8p.cjs → selfCheck-DkzDDUsE.cjs} +35 -35
  143. package/dist/{send-CpEGYict.mjs → send-C-k9nsd3.mjs} +10 -10
  144. package/dist/{send-BQkl25g0.cjs → send-dxC0miIA.cjs} +9 -9
  145. package/dist/{server-BodFZ5sW.cjs → server-B-W6P7Qr.cjs} +7 -7
  146. package/dist/{server-DnINX_Lm.mjs → server-DxoTYNlw.mjs} +5 -5
  147. package/dist/{sessionLock-Ddn-fhZ0.mjs → sessionLock-DBdtZGOL.mjs} +3 -3
  148. package/dist/{sessionLock-DOj6mMXn.cjs → sessionLock-DWX6BbiU.cjs} +3 -3
  149. package/dist/{sessionModeFile-DDbonFR_.mjs → sessionModeFile-ByLbXTbg.mjs} +1 -1
  150. package/dist/{sessionModeFile-DVukoSp7.cjs → sessionModeFile-CLLdidiJ.cjs} +1 -1
  151. package/dist/{sessionOps-Nryt1DZt.cjs → sessionOps-BAnr7n8t.cjs} +5 -5
  152. package/dist/{sessionOps-B1vQ25GS.mjs → sessionOps-BVoXe12O.mjs} +6 -6
  153. package/dist/{sessionScanner-DCr3ofhR.mjs → sessionScanner-BtxoeluY.mjs} +34 -4
  154. package/dist/{sessionScanner-D1h-cdte.cjs → sessionScanner-CDOYsEUD.cjs} +34 -3
  155. package/dist/{sessions-DpAN6Ft9.mjs → sessions-C3sZJkzI.mjs} +11 -11
  156. package/dist/{sessions-D2HsTbLf.cjs → sessions-hAitoN-m.cjs} +10 -10
  157. package/dist/{setupOfflineReconnection-B9Tw1Ouj.cjs → setupOfflineReconnection-C2EeYTFH.cjs} +2 -2
  158. package/dist/{setupOfflineReconnection-DQHEp330.mjs → setupOfflineReconnection-_eD4cuUT.mjs} +2 -2
  159. package/dist/{spawn-CvDZ38hi.cjs → spawn-Bc9v7pIf.cjs} +15 -14
  160. package/dist/{spawn-CNjm1yOi.mjs → spawn-qNrB2CD_.mjs} +17 -16
  161. package/dist/{spawnAgents-CCjJifAW.cjs → spawnAgents-BVEaz35W.cjs} +1 -1
  162. package/dist/{spawnAgents-BjtmjBvP.mjs → spawnAgents-Bw6j4tqz.mjs} +1 -1
  163. package/dist/{spawnHappyCLI-C8Vl56wB.mjs → spawnHappyCLI-C2stUioM.mjs} +1 -1
  164. package/dist/{spawnHappyCLI-ahi4j6Mh.cjs → spawnHappyCLI-fzUagkKV.cjs} +1 -1
  165. package/dist/{specialCommands-BpqnGrOP.cjs → specialCommands-BJ-nqY4s.cjs} +3 -3
  166. package/dist/{specialCommands-DfVMGXTl.mjs → specialCommands-C6W-rVyh.mjs} +3 -3
  167. package/dist/{startFileWatcher-Ddn3L0u3.cjs → startFileWatcher-Bqlqjt93.cjs} +1 -1
  168. package/dist/{startFileWatcher-DXJXY4AE.mjs → startFileWatcher-CR09Snmz.mjs} +1 -1
  169. package/dist/{streamRelay-Cx01enfe.cjs → streamRelay-9kBPpbvU.cjs} +1 -1
  170. package/dist/{streamRelay-_qCd873P.mjs → streamRelay-CJoMk_d2.mjs} +1 -1
  171. package/dist/{sync-BKvgkhPs.mjs → sync-DbW07iQS.mjs} +1 -1
  172. package/dist/{sync-BgZuthoS.cjs → sync-Dhmtk66S.cjs} +1 -1
  173. package/dist/{systemPrompt-C6O1cHUg.cjs → systemPrompt-3PYi3EUY.cjs} +2 -2
  174. package/dist/{systemPrompt-DuPem6c9.mjs → systemPrompt-CQcuUmVp.mjs} +2 -2
  175. package/dist/{teams-CffMBBfU.mjs → teams-CwF4Z2fA.mjs} +7 -7
  176. package/dist/{teams-DifEhhmk.cjs → teams-DpxLcUU_.cjs} +7 -7
  177. package/dist/{time-s8CaneqW.cjs → time-A6zR3Iy6.cjs} +1 -1
  178. package/dist/{time-DxCTiteK.mjs → time-BuGWTVP6.mjs} +1 -1
  179. package/dist/{titleGenerator-B5T7QSzu.mjs → titleGenerator-BGEzNWC9.mjs} +1 -1
  180. package/dist/{titleGenerator-CXr7t6cf.cjs → titleGenerator-D26gvNaS.cjs} +2 -2
  181. package/dist/{todo-B41GKMcI.cjs → todo-73g3NCIO.cjs} +7 -7
  182. package/dist/{todo-DNO7s8td.mjs → todo-DrZc76H5.mjs} +7 -7
  183. package/dist/{tools-697R1uqn.mjs → tools-BtsrQnNS.mjs} +1 -1
  184. package/dist/{tools-lotMyxIE.cjs → tools-CxJp4T1T.cjs} +1 -1
  185. package/dist/{uninstall-CYO7EDjO.mjs → uninstall-DOb2mTwV.mjs} +3 -3
  186. package/dist/{uninstall-CRu96len.cjs → uninstall-DWNYvewQ.cjs} +3 -3
  187. package/package.json +7 -7
  188. package/dist/selfCheck-ClVv8NK3.mjs +0 -84
@@ -1,34 +1,35 @@
1
- import { D as DefaultTransport, A as AcpBackend } from './AcpBackend-COp6D8gl.mjs';
2
- export { a as DEFAULT_IDLE_TIMEOUT_MS, b as DEFAULT_TOOL_CALL_TIMEOUT_MS, e as extractErrorDetail, f as formatDuration, c as formatDurationMinutes, h as handleAgentMessageChunk, d as handleAgentThoughtChunk, g as handleLegacyMessageChunk, i as handlePlanUpdate, j as handleThinkingUpdate, k as handleToolCall, l as handleToolCallUpdate, p as parseArgsFromContent } from './AcpBackend-COp6D8gl.mjs';
3
- import { l as logger } from './logger-CihCDWDw.mjs';
4
- import { A as AcpSessionManager } from './AcpSessionManager-DykjzBM4.mjs';
5
- import { o as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY } from './index-DMy3OCBe.mjs';
1
+ import { D as DefaultTransport, A as AcpBackend, i as isAgentExitError, a as acpNoticeMessage } from './AcpBackend-DCQXHRzT.mjs';
2
+ export { b as DEFAULT_IDLE_TIMEOUT_MS, c as DEFAULT_TOOL_CALL_TIMEOUT_MS, e as extractErrorDetail, f as formatDuration, d as formatDurationMinutes, h as handleAgentMessageChunk, g as handleAgentThoughtChunk, j as handleLegacyMessageChunk, k as handlePlanUpdate, l as handleThinkingUpdate, m as handleToolCall, n as handleToolCallUpdate, p as parseArgsFromContent } from './AcpBackend-DCQXHRzT.mjs';
3
+ import { l as logger } from './logger--vAVtXB_.mjs';
4
+ import { A as AcpSessionManager } from './AcpSessionManager-BXrQcqwC.mjs';
5
+ import { o as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY } from './index-Clqlu17M.mjs';
6
6
  import { r as registerAgentAttachmentDownloads } from './agentAttachments-M_B5qEF2.mjs';
7
- import { c as configuration } from './configuration-BAwOtWFY.mjs';
8
- import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-BQYc8KpE.mjs';
9
- import { p as preparePiTeamsRuntime } from './piRuntime-kVGue-_5.mjs';
7
+ import { c as configuration } from './configuration-DVrb61aY.mjs';
8
+ import { a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt, C as CLAUDE_ATTACHMENT_KINDS } from './attachmentContent-DkkdpSSJ.mjs';
9
+ import { p as preparePiTeamsRuntime } from './piRuntime-E44qTVQ4.mjs';
10
10
  import { randomUUID } from 'node:crypto';
11
11
  import { join } from 'node:path';
12
- import { c as connectionState, A as ApiClient } from './api-CbwDDXJt.mjs';
13
- import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-D02OY4vi.mjs';
14
- import { h as hashObject, s as startHappyServer } from './deterministicJson-ucyv8j6b.mjs';
15
- import { r as readSettings } from './persistence-Dy3lmall.mjs';
16
- import { g as getInitialMachineMetadata } from './machineMetadata-DEZcQ_CQ.mjs';
17
- import { c as createSessionMetadata } from './createSessionMetadata-xlycGog5.mjs';
18
- import { s as setupOfflineReconnection } from './setupOfflineReconnection-DQHEp330.mjs';
19
- import { n as notifyDaemonSessionStarted, j as reportSessionEditToDaemon } from './controlClient-00KYAjsI.mjs';
20
- import { e as encodeBase64 } from './authRelay-DSAvg1uv.mjs';
21
- import { S as StreamRelay } from './streamRelay-_qCd873P.mjs';
12
+ import { c as connectionState, A as ApiClient } from './api-Dib0dmqC.mjs';
13
+ import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-gwJ5lTf0.mjs';
14
+ import { h as hashObject, s as startHappyServer } from './deterministicJson-C5ZwZ7hu.mjs';
15
+ import { r as readSettings } from './persistence-DTk4sNpd.mjs';
16
+ import { g as getInitialMachineMetadata } from './machineMetadata-B1H9gNbN.mjs';
17
+ import { c as createSessionMetadata } from './createSessionMetadata-8Fuj2-IV.mjs';
18
+ import { s as setupOfflineReconnection } from './setupOfflineReconnection-_eD4cuUT.mjs';
19
+ import { n as notifyDaemonSessionStarted, j as reportSessionEditToDaemon } from './controlClient-BYKyGyxj.mjs';
20
+ import { e as encodeBase64 } from './authRelay-DhQhkBvX.mjs';
21
+ import { S as StreamRelay } from './streamRelay-CJoMk_d2.mjs';
22
22
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
23
- import { B as BasePermissionHandler } from './BasePermissionHandler-ChMkmsGD.mjs';
24
- import { T as TitleGenerator } from './titleGenerator-B5T7QSzu.mjs';
25
- import { w as writeSessionModeFile, n as normalizeAcpPermissionMode, r as removeSessionModeFile } from './sessionModeFile-DDbonFR_.mjs';
23
+ import { B as BasePermissionHandler } from './BasePermissionHandler-BVlrEhIi.mjs';
24
+ import { T as TitleGenerator } from './titleGenerator-BGEzNWC9.mjs';
25
+ import { w as writeSessionModeFile, n as normalizeAcpPermissionMode, r as removeSessionModeFile } from './sessionModeFile-ByLbXTbg.mjs';
26
26
  import { E as EditReportThrottle, e as extractAcpEditPaths } from './editPaths-BVfS_FFL.mjs';
27
27
  import 'node:child_process';
28
28
  import '@agentclientprotocol/sdk';
29
- import './time-DxCTiteK.mjs';
29
+ import './time-BuGWTVP6.mjs';
30
30
  import './contentLogMetadata-BlWI0egu.mjs';
31
- import './package-ayqGDKSp.mjs';
31
+ import './processTree-CP5IvQ2Z.mjs';
32
+ import './package-B7B03ejW.mjs';
32
33
  import 'chalk';
33
34
  import 'node:util';
34
35
  import 'node:fs';
@@ -36,49 +37,49 @@ import '@paralleldrive/cuid2';
36
37
  import 'zod';
37
38
  import 'node:os';
38
39
  import 'node:fs/promises';
39
- import './attachmentLimits-Di1Z93lN.mjs';
40
+ import './attachmentLimits-UyFn8fkQ.mjs';
40
41
  import './resources-BdFBQi8r.mjs';
41
42
  import 'axios';
42
- import './lidState-CduPmrM0.mjs';
43
+ import './lidState-DNMlIhX0.mjs';
43
44
  import 'os';
44
45
  import 'child_process';
45
46
  import 'node:events';
46
47
  import 'socket.io-client';
47
48
  import './limits-DIo7rEBR.mjs';
48
- import './registerCommonHandlers-Bm7CMqMv.mjs';
49
+ import './registerCommonHandlers-CvIedVRf.mjs';
49
50
  import 'util';
50
51
  import 'fs/promises';
51
52
  import 'crypto';
52
53
  import 'path';
53
54
  import 'cross-spawn';
54
- import './sync-BKvgkhPs.mjs';
55
- import './backgroundTaskActivity-8PdPxrvy.mjs';
55
+ import './sync-DbW07iQS.mjs';
56
+ import './backgroundTaskActivity-BVwJBl02.mjs';
56
57
  import 'tweetnacl';
57
58
  import './types-CkqAACXx.mjs';
58
- import './client-Cg6ABRe-.mjs';
59
- import './context-j114QJre.mjs';
60
- import './sessionOps-B1vQ25GS.mjs';
61
- import './tools-697R1uqn.mjs';
62
- import './reportProgressTool-C5aSoKYX.mjs';
63
- import './client-Ryu9fllj.mjs';
59
+ import './client-BTX9hsbr.mjs';
60
+ import './context-B3XPVJlj.mjs';
61
+ import './sessionOps-BVoXe12O.mjs';
62
+ import './tools-BtsrQnNS.mjs';
63
+ import './reportProgressTool-D5tEoXMW.mjs';
64
+ import './client-CnlkkrZO.mjs';
64
65
  import './precheckCompat-DeEbilbr.mjs';
65
66
  import './agentGuidance-BDYt2Qy2.mjs';
66
67
  import './trimIdent-BAjmv_TG.mjs';
67
- import './peerTools-DDMSViPu.mjs';
68
+ import './peerTools-3R9RUARX.mjs';
68
69
  import './ids-DU6sLx4C.mjs';
69
- import './remoteSessionClient-Buh6NejV.mjs';
70
+ import './remoteSessionClient-DRb2Jr5s.mjs';
70
71
  import '@modelcontextprotocol/sdk/server/mcp.js';
71
72
  import 'node:http';
72
73
  import '@modelcontextprotocol/sdk/server/streamableHttp.js';
73
- import './downloadTarget-2_zMvt2N.mjs';
74
+ import './downloadTarget-DJPwAZlu.mjs';
74
75
  import './terminals-Dlg0x3nY.mjs';
75
76
  import './terminalTitleSuggest-CeKsX_V6.mjs';
76
77
  import './tmuxSocket-B8Yx20sT.mjs';
77
- import './bootstrap-CxuBAkJU.mjs';
78
+ import './bootstrap-BUagGC_-.mjs';
78
79
  import './previewPath-CXN4Vag0.mjs';
79
80
  import './detectCLI-CSGMlV51.mjs';
80
81
  import 'fs';
81
- import './localHappyAgentAuth-DL8JjHTV.mjs';
82
+ import './localHappyAgentAuth-BezKSFDi.mjs';
82
83
  import 'url';
83
84
  import 'node:module';
84
85
  import './oneShotPrompts-DT4p6RNd.mjs';
@@ -97,6 +98,35 @@ function createAcpBackend(options) {
97
98
  return new AcpBackend(backendOptions);
98
99
  }
99
100
 
101
+ const MAX_DETAIL_CHARS = 400;
102
+ function detailOf(error) {
103
+ if (error instanceof Error) return error.message;
104
+ if (error && typeof error === "object") {
105
+ const record = error;
106
+ const data = record.data && typeof record.data === "object" ? record.data : null;
107
+ const details = typeof data?.details === "string" ? data.details : null;
108
+ const message = typeof record.message === "string" ? record.message : null;
109
+ const text = details && message && details !== message ? `${message}: ${details}` : details ?? message;
110
+ if (text) return text;
111
+ try {
112
+ return JSON.stringify(error);
113
+ } catch {
114
+ return String(error);
115
+ }
116
+ }
117
+ return String(error);
118
+ }
119
+ function oneLine(text) {
120
+ const folded = text.replace(/\s+/g, " ").trim();
121
+ return folded.length > MAX_DETAIL_CHARS ? `${folded.slice(0, MAX_DETAIL_CHARS - 1)}\u2026` : folded;
122
+ }
123
+ function describeAcpTurnFailure(agentName, error) {
124
+ if (isAgentExitError(error)) {
125
+ return { message: `Process exited unexpectedly: ${oneLine(error.message)}`, exited: true };
126
+ }
127
+ return { message: `${agentName} error: ${oneLine(detailOf(error))}`, exited: false };
128
+ }
129
+
100
130
  const SUPPORTED_CATEGORIES = /* @__PURE__ */ new Set(["mode", "model", "thought_level"]);
101
131
  function isRecord$1(value) {
102
132
  return !!value && typeof value === "object";
@@ -264,7 +294,6 @@ function mergeAcpSessionConfigIntoMetadata(metadata, snapshot) {
264
294
  return next;
265
295
  }
266
296
 
267
- const TURN_TIMEOUT_MS = 5 * 60 * 1e3;
268
297
  const ACP_EVENT_PREVIEW_CHARS = 240;
269
298
  const ACP_RAW_PREVIEW_CHARS = 2e3;
270
299
  const ACP_COLOR_RESET = "\x1B[0m";
@@ -732,7 +761,7 @@ async function runAcp(opts) {
732
761
  }
733
762
  };
734
763
  const teamsPiEnv = opts.agentName === "pi" ? await preparePiTeamsRuntime() : {};
735
- const backend = new AcpBackend({
764
+ const createBackend = () => new AcpBackend({
736
765
  agentName: opts.agentName,
737
766
  cwd: process.cwd(),
738
767
  command: opts.command,
@@ -751,6 +780,7 @@ async function runAcp(opts) {
751
780
  transportHandler: new DefaultTransport(opts.agentName),
752
781
  verbose
753
782
  });
783
+ let backend = createBackend();
754
784
  let thinking = false;
755
785
  const setThinking = (next) => {
756
786
  if (thinking === next) {
@@ -762,34 +792,15 @@ async function runAcp(opts) {
762
792
  let acpSessionId = null;
763
793
  let shouldExit = false;
764
794
  let abortController = new AbortController();
765
- let pendingTurn = null;
766
795
  let turnCancelled = false;
767
- const clearPendingTurn = (error) => {
768
- if (!pendingTurn) {
769
- return;
770
- }
771
- clearTimeout(pendingTurn.timeout);
772
- const current = pendingTurn;
773
- pendingTurn = null;
774
- if (error) {
775
- current.reject(error);
776
- return;
777
- }
778
- current.resolve();
779
- };
780
- const waitForTurnEnd = () => new Promise((resolve, reject) => {
781
- const timeout = setTimeout(() => {
782
- pendingTurn = null;
783
- reject(new Error(`Timed out waiting for ${opts.agentName} to finish the turn`));
784
- }, TURN_TIMEOUT_MS);
785
- pendingTurn = { resolve, reject, timeout };
786
- });
796
+ let backendStarted = false;
797
+ let backendGone = null;
798
+ let todoDiscoverySent = false;
787
799
  const stopRunnerFromBackendStatus = (status, detail) => {
788
800
  const reason = detail ? `${opts.agentName} backend ${status}: ${detail}` : `${opts.agentName} backend ${status}`;
789
801
  logger.debug(`[${opts.agentName}] ${reason}; stopping ACP runner`);
790
802
  shouldExit = true;
791
803
  messageQueue.close();
792
- clearPendingTurn(new Error(reason));
793
804
  };
794
805
  const sendEnvelopes = (envelopes) => {
795
806
  for (const envelope of envelopes) {
@@ -1055,14 +1066,21 @@ async function runAcp(opts) {
1055
1066
  const suffix = msg.detail ? `: ${msg.detail}` : "";
1056
1067
  const statusLine = `Status: ${msg.status}${suffix}`;
1057
1068
  logAcp("muted", statusLine);
1058
- if (msg.status === "idle") {
1059
- clearPendingTurn();
1060
- }
1061
1069
  if (msg.status === "error" || msg.status === "stopped") {
1062
1070
  if (msg.status === "error") opts.onBackendError?.(msg.detail);
1063
- stopRunnerFromBackendStatus(msg.status, msg.detail);
1071
+ if (!backendStarted) {
1072
+ stopRunnerFromBackendStatus(msg.status, msg.detail);
1073
+ } else if (msg.status === "stopped") {
1074
+ backendGone = new Error(msg.detail ?? `${opts.agentName} process exited`);
1075
+ }
1064
1076
  }
1065
1077
  }
1078
+ if (msg.type === "event" && msg.name === "notice") {
1079
+ const message = acpNoticeMessage(opts.agentName, msg.payload);
1080
+ logAcp("muted", message);
1081
+ session.sendSessionEvent({ type: "message", message });
1082
+ return;
1083
+ }
1066
1084
  const frontendMessage = formatAcpMessageForFrontend(opts.agentName, msg, verbose);
1067
1085
  if (frontendMessage) {
1068
1086
  logAcp(frontendMessage.kind, frontendMessage.text);
@@ -1114,8 +1132,9 @@ async function runAcp(opts) {
1114
1132
  const keepAliveInterval = setInterval(() => {
1115
1133
  session.keepAlive(thinking, "remote");
1116
1134
  }, 2e3);
1135
+ let promptInFlight = false;
1117
1136
  async function handleAbort() {
1118
- turnCancelled = thinking;
1137
+ turnCancelled = thinking && promptInFlight;
1119
1138
  try {
1120
1139
  if (acpSessionId) {
1121
1140
  await backend.cancel(acpSessionId);
@@ -1148,15 +1167,12 @@ async function runAcp(opts) {
1148
1167
  const disposeTermination = registerKillSessionHandler(session.rpcHandlerManager, async () => {
1149
1168
  shouldExit = true;
1150
1169
  messageQueue.close();
1151
- clearPendingTurn(new Error("Session terminated"));
1152
1170
  await handleAbort();
1153
1171
  }, session, { processSignals: true });
1154
- try {
1155
- const started = await backend.startSession();
1156
- acpSessionId = started.sessionId;
1157
- if (opts.model) {
1158
- await switchModelIfRequested(opts.model);
1159
- const applied = isCurrentRequestedModel(opts.model);
1172
+ const afterSessionStarted = async (requestedModel) => {
1173
+ if (requestedModel) {
1174
+ await switchModelIfRequested(requestedModel);
1175
+ const applied = isCurrentRequestedModel(requestedModel);
1160
1176
  if (!applied) session.sendSessionEvent({ type: "message", message: "The saved model is unavailable for this agent; using its current model." });
1161
1177
  }
1162
1178
  session.updateMetadata((current) => ({
@@ -1165,8 +1181,33 @@ async function runAcp(opts) {
1165
1181
  }));
1166
1182
  if (permissionModeIsFileBacked()) {
1167
1183
  fileBackedModeActive = true;
1168
- publishFileBackedPermissionMode(initialPermissionMode);
1184
+ publishFileBackedPermissionMode(fileBackedPermissionMode ?? initialPermissionMode);
1185
+ }
1186
+ };
1187
+ const restartBackend = async () => {
1188
+ const gone = backendGone;
1189
+ backend.offMessage?.(onBackendMessage);
1190
+ acpSessionId = null;
1191
+ try {
1192
+ await backend.dispose();
1193
+ } catch (error) {
1194
+ logger.debug(`[${opts.agentName}] dispose of the dead backend failed:`, error);
1169
1195
  }
1196
+ backend = createBackend();
1197
+ backend.onMessage(onBackendMessage);
1198
+ const started = await backend.startSession();
1199
+ acpSessionId = started.sessionId;
1200
+ backendGone = null;
1201
+ todoDiscoverySent = false;
1202
+ await afterSessionStarted(currentModel ?? opts.model);
1203
+ logger.debug(`[${opts.agentName}] Restarted the agent after it exited: ${gone?.message ?? "unknown"}`);
1204
+ session.sendSessionEvent({ type: "message", message: `${opts.agentName} was restarted after its process exited; it does not remember the earlier conversation (the transcript here is kept).` });
1205
+ };
1206
+ try {
1207
+ const started = await backend.startSession();
1208
+ acpSessionId = started.sessionId;
1209
+ backendStarted = true;
1210
+ await afterSessionStarted(opts.model);
1170
1211
  if (verbose) {
1171
1212
  if (!sawSlashCommands) {
1172
1213
  logAcp("muted", `Outgoing slash commands from ${opts.agentName}: not reported yet`);
@@ -1178,7 +1219,6 @@ async function runAcp(opts) {
1178
1219
  logAcp("muted", `Outgoing models from ${opts.agentName}: not reported yet`);
1179
1220
  }
1180
1221
  }
1181
- let todoDiscoverySent = false;
1182
1222
  while (!shouldExit) {
1183
1223
  const waitSignal = abortController.signal;
1184
1224
  const batch = await messageQueue.waitForMessagesAndGetAsString(waitSignal);
@@ -1191,17 +1231,17 @@ async function runAcp(opts) {
1191
1231
  }
1192
1232
  break;
1193
1233
  }
1194
- if (!acpSessionId) {
1195
- throw new Error("ACP session is not started");
1196
- }
1197
1234
  logAcp("incoming", `Incoming prompt: ${formatUnknownForConsole(batch.message, ACP_EVENT_PREVIEW_CHARS)}`);
1198
1235
  sendEnvelopes(sessionManager.startTurn());
1199
1236
  turnCancelled = false;
1200
1237
  setThinking(true);
1201
- const turnEnded = waitForTurnEnd();
1202
- void turnEnded.catch(() => {
1203
- });
1204
1238
  try {
1239
+ if (backendGone) {
1240
+ await restartBackend();
1241
+ }
1242
+ if (!acpSessionId) {
1243
+ throw new Error("ACP session is not started");
1244
+ }
1205
1245
  if (typeof batch.mode.permissionMode === "string" && batch.mode.permissionMode.length > 0) {
1206
1246
  await switchPermissionModeIfRequested(batch.mode.permissionMode);
1207
1247
  }
@@ -1217,10 +1257,23 @@ ${BUILTIN_TODO_DISCOVERY}`;
1217
1257
  happyHomeDir: configuration.happyHomeDir,
1218
1258
  sessionId: session.sessionId
1219
1259
  }) : [];
1220
- await backend.sendPrompt(acpSessionId, appendStagedAttachmentsToPrompt(prompt, staged), attachments);
1260
+ promptInFlight = true;
1261
+ let outcome;
1262
+ try {
1263
+ outcome = await backend.sendPrompt(acpSessionId, appendStagedAttachmentsToPrompt(prompt, staged), attachments);
1264
+ } finally {
1265
+ promptInFlight = false;
1266
+ }
1221
1267
  todoDiscoverySent = true;
1222
- await turnEnded;
1223
- sendEnvelopes(sessionManager.endTurn(turnCancelled ? "cancelled" : "completed"));
1268
+ const stopReason = outcome && typeof outcome === "object" ? outcome.stopReason : void 0;
1269
+ if (stopReason === "error") {
1270
+ throw new Error("the turn ended with an error reported by the agent");
1271
+ }
1272
+ const cancelled = turnCancelled || stopReason === "cancelled";
1273
+ sendEnvelopes(sessionManager.endTurn(cancelled ? "cancelled" : "completed"));
1274
+ if (!cancelled && stopReason && stopReason !== "end_turn") {
1275
+ session.sendSessionEvent({ type: "message", message: `${opts.agentName} stopped the turn: ${stopReason}` });
1276
+ }
1224
1277
  streamRelay.endTurn();
1225
1278
  setThinking(false);
1226
1279
  session.sendSessionEvent({ type: "ready" });
@@ -1228,14 +1281,16 @@ ${BUILTIN_TODO_DISCOVERY}`;
1228
1281
  logAcp("muted", `Outgoing prompt completion from ${opts.agentName}`);
1229
1282
  }
1230
1283
  } catch (error) {
1231
- session.sendSessionEvent({ type: "message", message: "The agent could not process this message or its attachments. Please check the agent and try again." });
1284
+ const failure = describeAcpTurnFailure(opts.agentName, error);
1285
+ session.sendSessionEvent({ type: "message", message: failure.message });
1232
1286
  sendEnvelopes(sessionManager.endTurn("failed"));
1233
1287
  streamRelay.endTurn();
1234
1288
  setThinking(false);
1235
1289
  session.sendSessionEvent({ type: "ready" });
1236
1290
  logAcp("error", `Prompt error from ${opts.agentName}: ${error instanceof Error ? error.message : String(error)}`);
1237
- clearPendingTurn(error instanceof Error ? error : new Error(String(error)));
1238
- throw error;
1291
+ if (failure.exited && error instanceof Error) {
1292
+ backendGone = error;
1293
+ }
1239
1294
  }
1240
1295
  }
1241
1296
  } finally {
@@ -1245,7 +1300,6 @@ ${BUILTIN_TODO_DISCOVERY}`;
1245
1300
  streamRelay.endTurn();
1246
1301
  streamRelay.dispose();
1247
1302
  reconnectionHandle?.cancel();
1248
- clearPendingTurn(new Error("ACP runner shutting down"));
1249
1303
  try {
1250
1304
  permissionHandler.reset();
1251
1305
  } catch (error) {
@@ -1,17 +1,17 @@
1
1
  import { statSync, readdirSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
- import { l as logger } from './logger-CihCDWDw.mjs';
4
- import { r as readSettings } from './persistence-Dy3lmall.mjs';
3
+ import { l as logger } from './logger--vAVtXB_.mjs';
4
+ import { r as readSettings } from './persistence-DTk4sNpd.mjs';
5
5
  import { d as describeAgentHome, C as CLAUDE_CONFIG_DIR_ENV, a as CODEX_HOME_ENV, f as findClaudeConversation, b as agentHomeCandidates, c as findCodexThread, r as resolveAgentHomes, A as AGENT_HOME_ENV_NAMES, g as agentHomeEnv, p as probeLoginShellEnv } from './loginShellEnv-Dw8M7tkI.mjs';
6
6
  export { h as claudeConversationPath, i as claudeProjectDirName, j as codexRolloutFileMatches, e as expandHomePath } from './loginShellEnv-Dw8M7tkI.mjs';
7
7
  import 'chalk';
8
8
  import 'node:util';
9
- import './configuration-BAwOtWFY.mjs';
9
+ import './configuration-DVrb61aY.mjs';
10
10
  import 'node:path';
11
- import './package-ayqGDKSp.mjs';
11
+ import './package-B7B03ejW.mjs';
12
12
  import 'node:fs/promises';
13
13
  import 'zod';
14
- import './authRelay-DSAvg1uv.mjs';
14
+ import './authRelay-DhQhkBvX.mjs';
15
15
  import 'node:crypto';
16
16
  import 'tweetnacl';
17
17
  import 'node:child_process';
@@ -79,6 +79,9 @@ function query(params) {
79
79
  if (typeof value === "string") env[key] = value;
80
80
  }
81
81
  env.CLAUDE_CODE_ENTRYPOINT = resolveHappyEntrypoint(env.CLAUDE_CODE_ENTRYPOINT);
82
+ if (env.CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS === void 0) {
83
+ env.CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS = "1";
84
+ }
82
85
  pinSmallFastModel(env);
83
86
  if (opts?.mcpServers && Object.keys(opts.mcpServers).length > 0) {
84
87
  ensureLocalProxyBypass(env);
@@ -977,11 +977,11 @@ z$1.object({
977
977
  sid: z$1.string(),
978
978
  items: z$1.array(PromptQueueItemSchema)
979
979
  });
980
- z$1.object({
980
+ const ServerMigrateNoticeSchema = z$1.object({
981
981
  url: z$1.string().url().max(512),
982
982
  webappUrl: z$1.string().url().max(512),
983
983
  handoff: z$1.string().regex(/^vh1\.[A-Za-z0-9_-]{16,2048}\.[A-Za-z0-9_-]{43}$/),
984
984
  issuedAt: z$1.number().int().positive()
985
985
  });
986
986
 
987
- export { AUTOMATION_NAME_PATTERN as A, BUILTIN_TODO_SKILL as B, ContextUsageSchema as C, PROMPT_QUEUE_CAPABILITY as P, ReleaseDrainNoticeSchema as R, STREAM_DELTA_MAX_CHARS as S, AUTOMATION_PRECHECK_MAX_TIMEOUT_MS as a, AutomationPrecheckSchema as b, createEnvelope as c, createBuiltinTodoClient as d, isClaudeOpus55Model as e, supportsClaudeOpus55 as f, getAgentCodeDefaults as g, AutomationNameSchema as h, isAutomationRunTerminal as i, AutomationConcurrencySchema as j, AutomationActionSchema as k, AutomationTriggerSchema as l, AgentVersionsSchema as m, normalizeAgentKey as n, BUILTIN_TODO_DISCOVERY as o, AGENT_VERSION_SOURCES as p, RelayAssignmentResponseSchema as q, CODEX_STEER_CAPABILITY as r, streamKeyOf as s, RelayCandidatesResponseSchema as t, AUTOMATION_SUMMARY_MAX_CHARS as u, AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS as v, AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS as w, AUTOMATION_CLAIM_MAX_RUNS as x, AUTOMATION_DAEMON_CAPABILITY_PRECHECK as y, AUTOMATION_DEFAULT_LEASE_MS as z };
987
+ export { AUTOMATION_NAME_PATTERN as A, BUILTIN_TODO_SKILL as B, ContextUsageSchema as C, AUTOMATION_DEFAULT_LEASE_MS as D, PROMPT_QUEUE_CAPABILITY as P, ReleaseDrainNoticeSchema as R, STREAM_DELTA_MAX_CHARS as S, AUTOMATION_PRECHECK_MAX_TIMEOUT_MS as a, AutomationPrecheckSchema as b, createEnvelope as c, createBuiltinTodoClient as d, isClaudeOpus55Model as e, supportsClaudeOpus55 as f, getAgentCodeDefaults as g, AutomationNameSchema as h, isAutomationRunTerminal as i, AutomationConcurrencySchema as j, AutomationActionSchema as k, AutomationTriggerSchema as l, AgentVersionsSchema as m, normalizeAgentKey as n, BUILTIN_TODO_DISCOVERY as o, AGENT_VERSION_SOURCES as p, RelayAssignmentResponseSchema as q, CODEX_STEER_CAPABILITY as r, streamKeyOf as s, RelayCandidatesResponseSchema as t, ServerMigrateNoticeSchema as u, AUTOMATION_SUMMARY_MAX_CHARS as v, AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS as w, AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS as x, AUTOMATION_CLAIM_MAX_RUNS as y, AUTOMATION_DAEMON_CAPABILITY_PRECHECK as z };
@@ -80,6 +80,9 @@ function query(params) {
80
80
  if (typeof value === "string") env[key] = value;
81
81
  }
82
82
  env.CLAUDE_CODE_ENTRYPOINT = resolveHappyEntrypoint(env.CLAUDE_CODE_ENTRYPOINT);
83
+ if (env.CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS === void 0) {
84
+ env.CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS = "1";
85
+ }
83
86
  smallFastModel.pinSmallFastModel(env);
84
87
  if (opts?.mcpServers && Object.keys(opts.mcpServers).length > 0) {
85
88
  smallFastModel.ensureLocalProxyBypass(env);
@@ -997,7 +997,7 @@ z.z.object({
997
997
  sid: z.z.string(),
998
998
  items: z.z.array(PromptQueueItemSchema)
999
999
  });
1000
- z.z.object({
1000
+ const ServerMigrateNoticeSchema = z.z.object({
1001
1001
  url: z.z.string().url().max(512),
1002
1002
  webappUrl: z.z.string().url().max(512),
1003
1003
  handoff: z.z.string().regex(/^vh1\.[A-Za-z0-9_-]{16,2048}\.[A-Za-z0-9_-]{43}$/),
@@ -1028,6 +1028,7 @@ exports.RelayAssignmentResponseSchema = RelayAssignmentResponseSchema;
1028
1028
  exports.RelayCandidatesResponseSchema = RelayCandidatesResponseSchema;
1029
1029
  exports.ReleaseDrainNoticeSchema = ReleaseDrainNoticeSchema;
1030
1030
  exports.STREAM_DELTA_MAX_CHARS = STREAM_DELTA_MAX_CHARS;
1031
+ exports.ServerMigrateNoticeSchema = ServerMigrateNoticeSchema;
1031
1032
  exports.createBuiltinTodoClient = createBuiltinTodoClient;
1032
1033
  exports.createEnvelope = createEnvelope;
1033
1034
  exports.getAgentCodeDefaults = getAgentCodeDefaults;