very-happy-cli 0.2.166 → 0.2.168

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 (178) hide show
  1. package/dist/{AcpBackend-tRWk7yi7.mjs → AcpBackend-BoLDLYNT.mjs} +3 -3
  2. package/dist/{AcpBackend-20VHOXwb.cjs → AcpBackend-r83MMm-i.cjs} +3 -3
  3. package/dist/{BasePermissionHandler-COKc4pmt.cjs → BasePermissionHandler-CS0eRtT-.cjs} +1 -1
  4. package/dist/{BasePermissionHandler-CDCLIrZJ.mjs → BasePermissionHandler-DTcVlmKi.mjs} +1 -1
  5. package/dist/{BaseReasoningProcessor-BDVKvooR.mjs → BaseReasoningProcessor-BddnNlXQ.mjs} +1 -1
  6. package/dist/{BaseReasoningProcessor-DAGQdkNp.cjs → BaseReasoningProcessor-RJiBhA8h.cjs} +1 -1
  7. package/dist/{agentHome-2IbIjKCa.mjs → agentHome--LRsdUx6.mjs} +4 -4
  8. package/dist/{agentHome-KVWj6nCl.cjs → agentHome-D-e_j9hK.cjs} +4 -4
  9. package/dist/{api-DnNL5fLw.cjs → api-COSJ3Yb7.cjs} +88 -10
  10. package/dist/{api-Cmz3XS4P.mjs → api-hXLwtgMi.mjs} +88 -10
  11. package/dist/{apiMachine-DeoQ8QbZ.cjs → apiMachine-BTCUUGC6.cjs} +50 -15
  12. package/dist/{apiMachine-B6ySCFe0.mjs → apiMachine-BauSXWNd.mjs} +50 -15
  13. package/dist/{attachmentContent-DPWxHgX4.cjs → attachmentContent-BCK0AxDS.cjs} +2 -2
  14. package/dist/{attachmentContent-CTXapi-_.mjs → attachmentContent-CS0B2N0Q.mjs} +2 -2
  15. package/dist/{attachmentLimits-BfgKV5iE.cjs → attachmentLimits-BEYEEBm8.cjs} +13 -1
  16. package/dist/{attachmentLimits-C1PCCM79.mjs → attachmentLimits-CxG3T18E.mjs} +13 -1
  17. package/dist/{auth-pzWIFdOD.mjs → auth-BFeFguVs.mjs} +5 -5
  18. package/dist/{auth-BMaBjRAj.mjs → auth-BUXH1L2k.mjs} +10 -10
  19. package/dist/{auth-D4-eQz85.cjs → auth-CCj5KlYS.cjs} +10 -10
  20. package/dist/{auth-ietHtvwu.cjs → auth-CfB2XcAW.cjs} +5 -5
  21. package/dist/{auto-DL75Dx3I.mjs → auto-D5BYdAoT.mjs} +14 -14
  22. package/dist/{auto-DOWTQDPa.cjs → auto-ZCHKb4jo.cjs} +14 -14
  23. package/dist/{bootstrap-BpXIc2wn.cjs → bootstrap-DSX64t23.cjs} +2 -2
  24. package/dist/{bootstrap-XE8A7Ut2.mjs → bootstrap-DklT121U.mjs} +2 -2
  25. package/dist/{browser-CcG8GLRV.cjs → browser-CeekQeKt.cjs} +1 -1
  26. package/dist/{browser-DDFi1T8C.mjs → browser-DUf1dth8.mjs} +1 -1
  27. package/dist/{claudeLocal-DmM5Oyhv.mjs → claudeLocal-C8pXtb8q.mjs} +5 -5
  28. package/dist/{claudeLocal-DXBXwIOG.cjs → claudeLocal-hH0YYex3.cjs} +5 -5
  29. package/dist/{claudeLocalLauncher-Cs4eUC3P.mjs → claudeLocalLauncher-AtUe2tM-.mjs} +10 -10
  30. package/dist/{claudeLocalLauncher-C41Y6Kp4.cjs → claudeLocalLauncher-B-ta13pT.cjs} +10 -10
  31. package/dist/{claudeSessionFork-BdLnc2Hv.mjs → claudeSessionFork-BQPBKEHk.mjs} +1 -1
  32. package/dist/{claudeSessionFork-Cs0I3eGI.cjs → claudeSessionFork-Cq9FBfjD.cjs} +1 -1
  33. package/dist/{client-CbK33y_s.mjs → client-Bg6-mQKO.mjs} +3 -3
  34. package/dist/{client-GjTnsq6F.mjs → client-Cbl3ejoq.mjs} +2 -2
  35. package/dist/{client-JISJx2f-.cjs → client-DZpkmS5l.cjs} +3 -3
  36. package/dist/{client-DJ0kX_8M.cjs → client-EnFomCjx.cjs} +2 -2
  37. package/dist/codex/happyMcpStdioBridge.cjs +14 -14
  38. package/dist/codex/happyMcpStdioBridge.mjs +14 -14
  39. package/dist/{codexAppServerClient-BTjn2ZCZ.cjs → codexAppServerClient-pllsN90-.cjs} +4 -4
  40. package/dist/{codexAppServerClient-CldXEojt.mjs → codexAppServerClient-sWuwtddZ.mjs} +4 -4
  41. package/dist/{codexCommand-DjMU-Ijf.mjs → codexCommand-DbTkMlW4.mjs} +137 -56
  42. package/dist/{codexCommand-BpD0N1F7.cjs → codexCommand-_jkx59gI.cjs} +137 -56
  43. package/dist/{config-DuLL0Ppe.cjs → config-BuIIZPZK.cjs} +3 -3
  44. package/dist/{config-DjSJKatx.mjs → config-FCOoREKj.mjs} +3 -3
  45. package/dist/{configuration-D2v3puap.mjs → configuration-BZo1JWNV.mjs} +2 -2
  46. package/dist/{configuration-B0cb3xA3.cjs → configuration-DeuGrnej.cjs} +1 -1
  47. package/dist/{connect-CnNNyM9I.mjs → connect-C2yHh85e.mjs} +13 -13
  48. package/dist/{connect-B7JWEzyg.cjs → connect-CjDdF12U.cjs} +13 -13
  49. package/dist/{context-BFUpYT39.cjs → context-BhvZtm3j.cjs} +1 -1
  50. package/dist/{context-DjfqLWzE.mjs → context-DZIIcfld.mjs} +1 -1
  51. package/dist/{controlClient-BMUJfUeF.mjs → controlClient-CXD-Xdny.mjs} +18 -4
  52. package/dist/{controlClient-CmnHGcyl.cjs → controlClient-IDE3se23.cjs} +18 -3
  53. package/dist/{createSessionMetadata-DbfRBhRu.cjs → createSessionMetadata-BCHFLSLk.cjs} +56 -3
  54. package/dist/{createSessionMetadata-DU0bCg2m.mjs → createSessionMetadata-DoLFya-Q.mjs} +57 -5
  55. package/dist/defaultPermissionMode-BtZtLdQz.cjs +197 -0
  56. package/dist/defaultPermissionMode-Dxfv-5Ud.mjs +191 -0
  57. package/dist/{deterministicJson-Dp3TVyap.cjs → deterministicJson-BqQKrUzw.cjs} +8 -8
  58. package/dist/{deterministicJson-D-WPUrZb.mjs → deterministicJson-CF1fJMaM.mjs} +8 -8
  59. package/dist/{doctor-BlXXyQ1L.mjs → doctor-C98yYhYr.mjs} +6 -6
  60. package/dist/{doctor-CkJmdPbi.cjs → doctor-D61ncaeL.cjs} +6 -6
  61. package/dist/{downloadTarget-DjSwMHun.mjs → downloadTarget-CaISZbNy.mjs} +6 -6
  62. package/dist/{downloadTarget-CiQqRIc-.cjs → downloadTarget-Dist9t2e.cjs} +6 -6
  63. package/dist/{ensureDaemonRunning-C_aIOhgG.cjs → ensureDaemonRunning-BB0hnWY_.cjs} +5 -5
  64. package/dist/{ensureDaemonRunning-CAQag1zE.mjs → ensureDaemonRunning-CNiqOarI.mjs} +5 -5
  65. package/dist/{handleResumeCommand-Ci7wacT-.mjs → handleResumeCommand-BzcANj0i.mjs} +5 -5
  66. package/dist/{handleResumeCommand-6KzBGDnl.cjs → handleResumeCommand-CkzW-T_f.cjs} +5 -5
  67. package/dist/{index-DEKIgZUo.cjs → index-BQU1sS9K.cjs} +4 -4
  68. package/dist/{index-DBmNwMX9.cjs → index-BeeWN9Et.cjs} +33 -33
  69. package/dist/{index-WGCT6SSV.mjs → index-CdmIOFwG.mjs} +34 -34
  70. package/dist/{index-HQsigW_J.mjs → index-D2hg_u5i.mjs} +3 -3
  71. package/dist/{index-DQplgo0W.mjs → index-Dgqk3lfG.mjs} +4 -4
  72. package/dist/{index-CaFCAlX8.cjs → index-DipBfs9w.cjs} +3 -3
  73. package/dist/index.cjs +2 -2
  74. package/dist/index.mjs +2 -2
  75. package/dist/{install-oJUvsFu9.mjs → install-CK1FvmYQ.mjs} +3 -3
  76. package/dist/{install-CejEiRGW.cjs → install-VtuffPLu.cjs} +3 -3
  77. package/dist/lib.cjs +11 -11
  78. package/dist/lib.d.cts +61 -0
  79. package/dist/lib.d.mts +61 -0
  80. package/dist/lib.mjs +11 -11
  81. package/dist/{lidState-D8BmnJV1.cjs → lidState-2IT0tas7.cjs} +1 -1
  82. package/dist/{lidState-BfximpjX.mjs → lidState-CJ3XkJRn.mjs} +1 -1
  83. package/dist/{localHappyAgentAuth-d7B6S_o7.cjs → localHappyAgentAuth-CPMh61Su.cjs} +1 -1
  84. package/dist/{localHappyAgentAuth-Ct1aXwqd.mjs → localHappyAgentAuth-DkLbntlf.mjs} +1 -1
  85. package/dist/{logger-BpQcwNnt.mjs → logger-C6zzu57a.mjs} +2 -2
  86. package/dist/{logger-JTcJU-uL.cjs → logger-Ockf1cjN.cjs} +2 -2
  87. package/dist/{machineMetadata-BBg_Njw3.cjs → machineMetadata-CoMYwSlG.cjs} +4 -3
  88. package/dist/{machineMetadata-CBdxABeI.mjs → machineMetadata-DmTGIZAV.mjs} +4 -3
  89. package/dist/{main-B5b1gA3K.mjs → main-B8TX9xPq.mjs} +45 -45
  90. package/dist/{main-C16fOGgn.cjs → main-CThJ9JQb.cjs} +45 -45
  91. package/dist/{manager-BQ4flvQZ.mjs → manager-BEsI4qt3.mjs} +9 -3
  92. package/dist/{manager-Cly8xVIR.cjs → manager-HrEj442o.cjs} +8 -2
  93. package/dist/{mcp-BnNiBBax.cjs → mcp-Dwku1p2I.cjs} +14 -14
  94. package/dist/{mcp-DGNWgVdv.mjs → mcp-Yw93dOiW.mjs} +14 -14
  95. package/dist/mirrorProtocol-CQ5fAUgq.mjs +1247 -0
  96. package/dist/mirrorProtocol-CdPhEBSh.cjs +1270 -0
  97. package/dist/{package-BqwrPxL0.mjs → package-5xAdq5fu.mjs} +7 -7
  98. package/dist/{package-C1XvUQFy.cjs → package-DfoyJe1O.cjs} +7 -7
  99. package/dist/{peerTools-DPvbcs8V.cjs → peerTools-BEnBvEcU.cjs} +4 -4
  100. package/dist/{peerTools-CeCe-3lk.mjs → peerTools-uDR6MG0-.mjs} +4 -4
  101. package/dist/{persistence-2Xp_o6x6.cjs → persistence-B5oT6oQ9.cjs} +147 -25
  102. package/dist/{persistence-B9LmhAE2.mjs → persistence-B6M_W5iC.mjs} +123 -12
  103. package/dist/{piRunnerArgs-DI29dDNo.cjs → piRunnerArgs-MLN46-nK.cjs} +1 -1
  104. package/dist/{piRunnerArgs-7FaTyNOq.mjs → piRunnerArgs-vNIUWHqo.mjs} +1 -1
  105. package/dist/{piRuntime-R8XVChxK.cjs → piRuntime-DkUg8_5q.cjs} +1 -1
  106. package/dist/{piRuntime-0qEK5AqE.mjs → piRuntime-WMuI7f4q.mjs} +1 -1
  107. package/dist/{piTerminal-zcQKc8Sp.mjs → piTerminal-4NBSZVxd.mjs} +16 -16
  108. package/dist/{piTerminal-Ccj0KNPr.cjs → piTerminal-Bskvs69Z.cjs} +16 -16
  109. package/dist/{rateLimitWindows-C2Jk3Ih7.cjs → rateLimitWindows-C2-Ky86q.cjs} +1 -1
  110. package/dist/{rateLimitWindows-Dhfhbtqu.mjs → rateLimitWindows-CJ1xDAxa.mjs} +1 -1
  111. package/dist/{registerCommonHandlers-DdfGsFbM.mjs → registerCommonHandlers-BLHKlk5Z.mjs} +2 -2
  112. package/dist/{registerCommonHandlers-Aha_KfM3.cjs → registerCommonHandlers-COSTo15G.cjs} +2 -2
  113. package/dist/{registerKillSessionHandler-DboQlGcH.mjs → registerKillSessionHandler-BVQfhSgm.mjs} +14 -9
  114. package/dist/{registerKillSessionHandler-CjitOpUA.cjs → registerKillSessionHandler-DDZISNzu.cjs} +14 -9
  115. package/dist/{remoteSessionClient-BwI8rpQw.cjs → remoteSessionClient-B2pOMZRw.cjs} +5 -5
  116. package/dist/{remoteSessionClient-B2DtWuNP.mjs → remoteSessionClient-Dx0M2MXV.mjs} +5 -5
  117. package/dist/{reportProgressTool-B-Rcy0s3.cjs → reportProgressTool-C5vDEv9Y.cjs} +1 -1
  118. package/dist/{reportProgressTool-DnAD8wOa.mjs → reportProgressTool-CcwFr0ek.mjs} +1 -1
  119. package/dist/{run-Bh66Xs40.cjs → run-BKTv1E-D.cjs} +323 -37
  120. package/dist/{run-DPEwJpQR.mjs → run-BZjIDOGM.mjs} +322 -36
  121. package/dist/{runClaude-DLr_nBzw.mjs → runClaude-DFa77Ffl.mjs} +87 -25
  122. package/dist/{runClaude-C-lJdAKD.cjs → runClaude-DUlFZWiK.cjs} +87 -25
  123. package/dist/{runClaudeDeps-vWWLod7J.cjs → runClaudeDeps--TnER0c3.cjs} +100 -31
  124. package/dist/{runClaudeDeps-C7JV7nXG.mjs → runClaudeDeps-BYohagQU.mjs} +105 -36
  125. package/dist/{runGemini-o-CUSayc.cjs → runGemini-BSBejXek.cjs} +32 -32
  126. package/dist/{runGemini-tH6sLw-G.mjs → runGemini-CUiq1Zei.mjs} +32 -32
  127. package/dist/{runOpenClaw-C5DZvVhn.mjs → runOpenClaw-CgwRP4gR.mjs} +16 -16
  128. package/dist/{runOpenClaw-D24f35l0.cjs → runOpenClaw-DQFEi3E1.cjs} +16 -16
  129. package/dist/{sandbox-BaL1aslA.mjs → sandbox-BTwAN7Yi.mjs} +4 -4
  130. package/dist/{sandbox-TJZJ6ngw.cjs → sandbox-DuLRfMY3.cjs} +4 -4
  131. package/dist/selfCheck-DF26lf1b.mjs +84 -0
  132. package/dist/{selfCheck-Dugi0Nk_.cjs → selfCheck-DuOLndWl.cjs} +34 -34
  133. package/dist/{send-DDcJ3ayi.mjs → send-ComZSvT5.mjs} +8 -8
  134. package/dist/{send-CkWOSYmU.cjs → send-Dl4TJ0Ia.cjs} +8 -8
  135. package/dist/{server-7qFQ8J2u.cjs → server-CWmamKcS.cjs} +6 -6
  136. package/dist/{server-CUjRvQSd.mjs → server-CXFSsyZx.mjs} +4 -4
  137. package/dist/{sessionLock-DfhNICyS.cjs → sessionLock-BFD8cFNP.cjs} +12 -3
  138. package/dist/{sessionLock-DqVyHFAQ.mjs → sessionLock-DCKf-gjd.mjs} +12 -4
  139. package/dist/{sessionModeFile-M4OpiyrF.mjs → sessionModeFile-BYxsFSvc.mjs} +1 -1
  140. package/dist/{sessionModeFile-CIznKD7O.cjs → sessionModeFile-i-MVQRcU.cjs} +1 -1
  141. package/dist/{sessionOps-DOyy4gkY.cjs → sessionOps-BAQ_80Rg.cjs} +4 -4
  142. package/dist/{sessionOps-BnaEaOKs.mjs → sessionOps-CBXsQGV5.mjs} +4 -4
  143. package/dist/{sessionScanner-CcuOn9uU.mjs → sessionScanner-CwPBvQK2.mjs} +3 -3
  144. package/dist/{sessionScanner-Cu1yKlj4.cjs → sessionScanner-Dth3iDCi.cjs} +3 -3
  145. package/dist/{sessions-BQgk5Kw8.cjs → sessions-BULd_RQt.cjs} +9 -9
  146. package/dist/{sessions-C9O91rL1.mjs → sessions-DYAqiUS0.mjs} +9 -9
  147. package/dist/{setupOfflineReconnection-Byy8aeKT.mjs → setupOfflineReconnection-Bo9xb30l.mjs} +2 -2
  148. package/dist/{setupOfflineReconnection-DFmQ8s6I.cjs → setupOfflineReconnection-DI8BQf_g.cjs} +2 -2
  149. package/dist/{spawn-EZ2yrtWd.mjs → spawn-DmXpKIOT.mjs} +13 -13
  150. package/dist/{spawn-BS7LPmSm.cjs → spawn-oikb5mUh.cjs} +13 -13
  151. package/dist/{spawnHappyCLI-BAa49m0q.mjs → spawnHappyCLI-BCnZfffk.mjs} +1 -1
  152. package/dist/{spawnHappyCLI-DyaldIe5.cjs → spawnHappyCLI-Cs177BB4.cjs} +1 -1
  153. package/dist/{specialCommands-DouFaJ_0.cjs → specialCommands-CmrwEh71.cjs} +3 -3
  154. package/dist/{specialCommands-CCWtwIGZ.mjs → specialCommands-xD4uOtdG.mjs} +3 -3
  155. package/dist/{startFileWatcher-Dfs4whzr.mjs → startFileWatcher-De7rN8QW.mjs} +1 -1
  156. package/dist/{startFileWatcher-DQbbypJv.cjs → startFileWatcher-S_Af_QPR.cjs} +1 -1
  157. package/dist/{sync-x_lI_3j_.cjs → sync-BS9_zSQ2.cjs} +1 -1
  158. package/dist/{sync-BLpH13Kb.mjs → sync-CHOB3Org.mjs} +1 -1
  159. package/dist/{systemPrompt-4erwILTB.cjs → systemPrompt-D2ICcIsu.cjs} +1 -1
  160. package/dist/{systemPrompt-BanyDihy.mjs → systemPrompt-DNLUUejs.mjs} +1 -1
  161. package/dist/{teams-DzetlGWC.cjs → teams-BUbESH6L.cjs} +6 -6
  162. package/dist/{teams-D6BOT3lR.mjs → teams-By3oBC7r.mjs} +6 -6
  163. package/dist/{time-CfDKj6Bx.mjs → time-CN0jVVir.mjs} +1 -1
  164. package/dist/{time-T0YmeOhS.cjs → time-uSKpEhew.cjs} +1 -1
  165. package/dist/{titleGenerator-CoMxqKfP.cjs → titleGenerator-CLIXjn9b.cjs} +2 -2
  166. package/dist/{titleGenerator-ChImQ4q-.mjs → titleGenerator-CegRJ47n.mjs} +1 -1
  167. package/dist/{todo-CZZebKZg.cjs → todo-Bg1vurv9.cjs} +5 -5
  168. package/dist/{todo-SVtYxGON.mjs → todo-Bl3abqvy.mjs} +5 -5
  169. package/dist/{tools-3X2z3YDe.mjs → tools-BcLUrC57.mjs} +1 -1
  170. package/dist/{tools-IJ0TAcJs.cjs → tools-DuWKlc0k.cjs} +1 -1
  171. package/dist/{uninstall-CypD-kr1.mjs → uninstall-BlpZlM9U.mjs} +3 -3
  172. package/dist/{uninstall-CqqCWj7w.cjs → uninstall-DWnj2XVT.cjs} +3 -3
  173. package/package.json +7 -7
  174. package/dist/defaultPermissionMode-BnxJPVHT.mjs +0 -4
  175. package/dist/defaultPermissionMode-CxmTXUQR.cjs +0 -7
  176. package/dist/mirrorProtocol-BEGk2--0.cjs +0 -266
  177. package/dist/mirrorProtocol-h5WHpdhh.mjs +0 -248
  178. package/dist/selfCheck-DPi4lqme.mjs +0 -84
@@ -1,98 +1,98 @@
1
1
  'use strict';
2
2
 
3
- var auth = require('./auth-ietHtvwu.cjs');
3
+ var auth = require('./auth-CfB2XcAW.cjs');
4
4
  var index = require('./index-C9hI8a10.cjs');
5
5
  var forkBackfill = require('./forkBackfill-8eLDeS73.cjs');
6
6
  var node_crypto = require('node:crypto');
7
7
  var cuid2 = require('@paralleldrive/cuid2');
8
8
  var agentAttachments = require('./agentAttachments-Dbw8iMCZ.cjs');
9
- var attachmentContent = require('./attachmentContent-DPWxHgX4.cjs');
9
+ var attachmentContent = require('./attachmentContent-BCK0AxDS.cjs');
10
10
  var ink = require('ink');
11
- var sessionLock = require('./sessionLock-DfhNICyS.cjs');
11
+ var sessionLock = require('./sessionLock-BFD8cFNP.cjs');
12
12
  var React = require('react');
13
- var api = require('./api-DnNL5fLw.cjs');
14
- var codexAppServerClient = require('./codexAppServerClient-BTjn2ZCZ.cjs');
15
- var specialCommands = require('./specialCommands-DouFaJ_0.cjs');
16
- var logger = require('./logger-JTcJU-uL.cjs');
17
- var BasePermissionHandler = require('./BasePermissionHandler-COKc4pmt.cjs');
18
- var BaseReasoningProcessor = require('./BaseReasoningProcessor-DAGQdkNp.cjs');
13
+ var api = require('./api-COSJ3Yb7.cjs');
14
+ var codexAppServerClient = require('./codexAppServerClient-pllsN90-.cjs');
15
+ var specialCommands = require('./specialCommands-CmrwEh71.cjs');
16
+ var logger = require('./logger-Ockf1cjN.cjs');
17
+ var BasePermissionHandler = require('./BasePermissionHandler-CS0eRtT-.cjs');
18
+ var BaseReasoningProcessor = require('./BaseReasoningProcessor-RJiBhA8h.cjs');
19
19
  var node_child_process = require('node:child_process');
20
- var persistence = require('./persistence-2Xp_o6x6.cjs');
21
- var machineMetadata = require('./machineMetadata-BBg_Njw3.cjs');
22
- var configuration = require('./configuration-B0cb3xA3.cjs');
23
- var registerKillSessionHandler = require('./registerKillSessionHandler-CjitOpUA.cjs');
20
+ var persistence = require('./persistence-B5oT6oQ9.cjs');
21
+ var machineMetadata = require('./machineMetadata-CoMYwSlG.cjs');
22
+ var configuration = require('./configuration-DeuGrnej.cjs');
23
+ var registerKillSessionHandler = require('./registerKillSessionHandler-DDZISNzu.cjs');
24
24
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
25
25
  var path = require('node:path');
26
- var createSessionMetadata = require('./createSessionMetadata-DbfRBhRu.cjs');
27
- var deterministicJson = require('./deterministicJson-Dp3TVyap.cjs');
26
+ var createSessionMetadata = require('./createSessionMetadata-BCHFLSLk.cjs');
27
+ var deterministicJson = require('./deterministicJson-BqQKrUzw.cjs');
28
28
  var messageBuffer = require('./messageBuffer-fJMH6uY8.cjs');
29
- var controlClient = require('./controlClient-CmnHGcyl.cjs');
29
+ var controlClient = require('./controlClient-IDE3se23.cjs');
30
+ var defaultPermissionMode = require('./defaultPermissionMode-BtZtLdQz.cjs');
30
31
  var authRelay = require('./authRelay-BdYkC1Po.cjs');
31
- var setupOfflineReconnection = require('./setupOfflineReconnection-DFmQ8s6I.cjs');
32
+ var setupOfflineReconnection = require('./setupOfflineReconnection-DI8BQf_g.cjs');
32
33
  var trimIdent = require('./trimIdent-4gvk9Wk6.cjs');
33
34
  var constants = require('./constants-VJ0N6WuG.cjs');
34
- var defaultPermissionMode = require('./defaultPermissionMode-CxmTXUQR.cjs');
35
35
  var editPaths = require('./editPaths-Bqp4OFPw.cjs');
36
- var ensureDaemonRunning = require('./ensureDaemonRunning-C_aIOhgG.cjs');
36
+ var ensureDaemonRunning = require('./ensureDaemonRunning-BB0hnWY_.cjs');
37
37
  require('tweetnacl');
38
38
  require('axios');
39
- require('./time-T0YmeOhS.cjs');
40
- require('./browser-CcG8GLRV.cjs');
39
+ require('./time-uSKpEhew.cjs');
40
+ require('./browser-CeekQeKt.cjs');
41
41
  require('open');
42
42
  require('zod');
43
43
  require('node:fs/promises');
44
- require('./attachmentLimits-BfgKV5iE.cjs');
44
+ require('./attachmentLimits-BEYEEBm8.cjs');
45
45
  require('node:fs');
46
- require('./lidState-D8BmnJV1.cjs');
46
+ require('./lidState-2IT0tas7.cjs');
47
47
  require('os');
48
48
  require('child_process');
49
49
  require('node:events');
50
50
  require('socket.io-client');
51
51
  require('./limits-C-a7gr04.cjs');
52
- require('./registerCommonHandlers-Aha_KfM3.cjs');
52
+ require('./registerCommonHandlers-COSTo15G.cjs');
53
53
  require('util');
54
54
  require('fs/promises');
55
55
  require('crypto');
56
56
  require('path');
57
57
  require('cross-spawn');
58
- require('./sync-x_lI_3j_.cjs');
58
+ require('./sync-BS9_zSQ2.cjs');
59
59
  require('./backgroundTaskActivity-CBvUdj39.cjs');
60
60
  require('./contentLogMetadata-ZSFk_NjQ.cjs');
61
61
  require('chalk');
62
62
  require('node:readline');
63
- require('./manager-Cly8xVIR.cjs');
63
+ require('./manager-HrEj442o.cjs');
64
64
  require('@anthropic-ai/sandbox-runtime');
65
65
  require('node:os');
66
- require('./package-C1XvUQFy.cjs');
67
- require('./rateLimitWindows-C2Jk3Ih7.cjs');
66
+ require('./package-DfoyJe1O.cjs');
67
+ require('./rateLimitWindows-C2-Ky86q.cjs');
68
68
  require('node:util');
69
69
  require('./detectCLI-DR9ZaN6B.cjs');
70
70
  require('fs');
71
- require('./localHappyAgentAuth-d7B6S_o7.cjs');
71
+ require('./localHappyAgentAuth-CPMh61Su.cjs');
72
72
  require('./types-CRS-srZK.cjs');
73
73
  require('url');
74
- require('./client-JISJx2f-.cjs');
75
- require('./context-BFUpYT39.cjs');
76
- require('./sessionOps-DOyy4gkY.cjs');
74
+ require('./client-DZpkmS5l.cjs');
75
+ require('./context-BhvZtm3j.cjs');
76
+ require('./sessionOps-BAQ_80Rg.cjs');
77
77
  require('./resources-JDPugcDq.cjs');
78
- require('./tools-IJ0TAcJs.cjs');
79
- require('./reportProgressTool-B-Rcy0s3.cjs');
80
- require('./client-DJ0kX_8M.cjs');
78
+ require('./tools-DuWKlc0k.cjs');
79
+ require('./reportProgressTool-C5vDEv9Y.cjs');
80
+ require('./client-EnFomCjx.cjs');
81
81
  require('./precheckCompat-CWOi5c9L.cjs');
82
82
  require('./agentGuidance-BtBx2xxE.cjs');
83
- require('./peerTools-DPvbcs8V.cjs');
83
+ require('./peerTools-BEnBvEcU.cjs');
84
84
  require('./ids-B6ZC0HGt.cjs');
85
- require('./remoteSessionClient-BwI8rpQw.cjs');
85
+ require('./remoteSessionClient-B2pOMZRw.cjs');
86
86
  require('@modelcontextprotocol/sdk/server/mcp.js');
87
87
  require('node:http');
88
88
  require('@modelcontextprotocol/sdk/server/streamableHttp.js');
89
- require('./downloadTarget-CiQqRIc-.cjs');
89
+ require('./downloadTarget-Dist9t2e.cjs');
90
90
  require('./terminals-B_bfC9c2.cjs');
91
91
  require('./terminalTitleSuggest-DhvRFX3H.cjs');
92
92
  require('./tmuxSocket-D-Xt6Vn-.cjs');
93
- require('./bootstrap-BpXIc2wn.cjs');
93
+ require('./bootstrap-DSX64t23.cjs');
94
94
  require('./previewPath-B0rBdhy1.cjs');
95
- require('./spawnHappyCLI-DyaldIe5.cjs');
95
+ require('./spawnHappyCLI-Cs177BB4.cjs');
96
96
  require('./doctorReadiness-BCZGcN0a.cjs');
97
97
 
98
98
  function getStartedSubagents(state) {
@@ -931,6 +931,29 @@ const CodexDisplay = ({ messageBuffer, logPath, onExit }) => {
931
931
  ));
932
932
  };
933
933
 
934
+ async function settleCodexSession(session, intent, deactivate, log = () => {
935
+ }) {
936
+ if (intent === "archive") {
937
+ session.updateMetadata((currentMetadata) => ({
938
+ ...currentMetadata,
939
+ lifecycleState: "archived",
940
+ lifecycleStateSince: Date.now(),
941
+ archivedBy: "cli",
942
+ archiveReason: "User terminated"
943
+ }));
944
+ }
945
+ session.sendSessionDeath();
946
+ await session.flush();
947
+ if (intent === "offline") {
948
+ try {
949
+ await deactivate(session.sessionId);
950
+ } catch (error) {
951
+ log("[Codex] deactivate on signal failed", error);
952
+ }
953
+ }
954
+ await session.close();
955
+ }
956
+
934
957
  function resolveCodexExecutionPolicy(permissionMode, sandboxManagedByHappy) {
935
958
  if (sandboxManagedByHappy) {
936
959
  return {
@@ -1295,7 +1318,7 @@ async function runCodex(opts) {
1295
1318
  dangerouslySkipPermissions: initialPermissionMode === "yolo" || initialPermissionMode === "bypassPermissions",
1296
1319
  ...forkedFromSessionId ? { parentSessionId: forkedFromSessionId } : {},
1297
1320
  ...forkedFromMessageId ? { forkedFromMessageId } : {},
1298
- capabilities: [index.PROMPT_QUEUE_CAPABILITY, forkBackfill.FORK_BACKFILL_CAPABILITY]
1321
+ capabilities: [index.PROMPT_QUEUE_CAPABILITY, forkBackfill.FORK_BACKFILL_CAPABILITY, persistence.HIBERNATION_CAPABILITY]
1299
1322
  });
1300
1323
  metadata.attachmentKinds = [...attachmentContent.CLAUDE_ATTACHMENT_KINDS];
1301
1324
  const importCodexThreadId = process.env[IMPORT_CODEX_THREAD_ENV];
@@ -1333,12 +1356,16 @@ async function runCodex(opts) {
1333
1356
  throw new Error(`Failed to reactivate archived session ${response.id}`);
1334
1357
  }
1335
1358
  let reconnectSeeded = false;
1359
+ let wakingFromHibernation = false;
1336
1360
  if (reconnectSessionId && response) {
1337
1361
  const snapshot = await api$1.getSession(response.id, response.encryptionKey, response.encryptionVariant);
1338
1362
  if (snapshot.ok) {
1339
1363
  response = sessionLock.applyServerSnapshot(response, snapshot.session);
1340
1364
  reconnectSeeded = true;
1341
1365
  logger.logger.debug(`[START] Reconnect seeded from server: seq=${snapshot.session.seq} metadataVersion=${snapshot.session.metadataVersion}`);
1366
+ const wake = sessionLock.applyHibernationReplay(response);
1367
+ response = wake.response;
1368
+ wakingFromHibernation = wake.replaying;
1342
1369
  } else {
1343
1370
  response = sessionLock.withoutServerSnapshot(response);
1344
1371
  logger.logger.debug(`[START] Reconnect without server snapshot (${snapshot.reason}); skipping existing messages`);
@@ -1369,7 +1396,7 @@ async function runCodex(opts) {
1369
1396
  if (reconnectSessionId) {
1370
1397
  session.suppressNextArchiveSignal();
1371
1398
  if (!reconnectSeeded) session.skipExistingMessages();
1372
- void session.cancelUndeliveredQueuedInputs();
1399
+ if (!wakingFromHibernation) void session.cancelUndeliveredQueuedInputs();
1373
1400
  session.updateMetadata((meta) => sessionLock.mergeReconnectMetadata(meta, metadata, Date.now()));
1374
1401
  }
1375
1402
  if (response) {
@@ -1533,6 +1560,9 @@ async function runCodex(opts) {
1533
1560
  }
1534
1561
  let abortController = new AbortController();
1535
1562
  let shouldExit = false;
1563
+ const hibernationExit = new defaultPermissionMode.HibernationExitLatch((a, b) => a === "archive" && b !== "archive");
1564
+ let hibernationStamp = null;
1565
+ let hibernationProbe = null;
1536
1566
  async function handleAbort(source) {
1537
1567
  if (abortInProgress) {
1538
1568
  await abortInProgress;
@@ -1575,23 +1605,16 @@ async function runCodex(opts) {
1575
1605
  await abortInProgress;
1576
1606
  abortInProgress = null;
1577
1607
  }
1578
- const handleKillSession = async () => {
1608
+ const handleKillSession = async (intent = "archive") => {
1609
+ if (hibernationExit.intercept(intent)) {
1610
+ logger.logger.debug(`[Codex] ${intent} exit deferred: hibernation in progress`);
1611
+ return;
1612
+ }
1579
1613
  logger.logger.debug("[Codex] Kill session requested - terminating process");
1580
1614
  await handleAbort("kill");
1581
1615
  logger.logger.debug("[Codex] Abort completed, proceeding with termination");
1582
1616
  try {
1583
- if (session) {
1584
- session.updateMetadata((currentMetadata) => ({
1585
- ...currentMetadata,
1586
- lifecycleState: "archived",
1587
- lifecycleStateSince: Date.now(),
1588
- archivedBy: "cli",
1589
- archiveReason: "User terminated"
1590
- }));
1591
- session.sendSessionDeath();
1592
- await session.flush();
1593
- await session.close();
1594
- }
1617
+ if (session) await settleCodexSession(session, intent, (id) => api$1.deactivateSession(id), (m, e) => logger.logger.debug(m, safeCodexErrorMetadata(e)));
1595
1618
  try {
1596
1619
  await client.disconnect();
1597
1620
  } catch (e) {
@@ -1613,7 +1636,7 @@ async function runCodex(opts) {
1613
1636
  }
1614
1637
  });
1615
1638
  session.rpcHandlerManager.registerHandler("abort", () => handleAbort("user"));
1616
- const disposeTermination = registerKillSessionHandler.registerKillSessionHandler(session.rpcHandlerManager, handleKillSession, session, { processSignals: true });
1639
+ const disposeTermination = registerKillSessionHandler.registerKillSessionHandler(session.rpcHandlerManager, () => handleKillSession("archive"), session, { processSignals: true, onSignal: () => handleKillSession("offline") });
1617
1640
  const messageBuffer$1 = new messageBuffer.MessageBuffer();
1618
1641
  const hasTTY = process.stdout.isTTY && process.stdin.isTTY;
1619
1642
  let inkInstance = null;
@@ -1865,6 +1888,54 @@ async function runCodex(opts) {
1865
1888
  }
1866
1889
  }
1867
1890
  let pending = null;
1891
+ if (opts.startedBy === "daemon" && !hasTTY && process.env.HAPPY_SESSION_VARIANT !== "assistant") {
1892
+ let keepAwakeLatch = false;
1893
+ const hibernationSnapshot = () => {
1894
+ const meta = session.getMetadata();
1895
+ return {
1896
+ flavor: "codex",
1897
+ resumable: typeof meta?.codexThreadId === "string" && meta.codexThreadId.length > 0,
1898
+ uiSession: true,
1899
+ ...process.env.HAPPY_SPAWNED_BY ? { spawnedBy: process.env.HAPPY_SPAWNED_BY } : {},
1900
+ ...meta?.tags ? { tags: meta.tags } : {},
1901
+ keepAwake: keepAwakeLatch = persistence.latchKeepAwake(meta?.keepAwake, keepAwakeLatch),
1902
+ ...typeof meta?.keepAwake === "boolean" ? { keepAwakeSetting: meta.keepAwake } : {},
1903
+ thinking: thinking || turnActive,
1904
+ queuedInputs: messageQueue.size() + (session.promptQueueHasPending() ? 1 : 0),
1905
+ waitingForInput: messageQueue.isWaiting(),
1906
+ pendingRequests: Object.keys(session.getAgentState()?.requests ?? {}).length,
1907
+ backgroundTasks: codexActiveSubagents.size,
1908
+ lastActivityAt: session.lastActivityAt,
1909
+ ...shouldExit && !hibernationExit.hibernating ? { exiting: true } : {}
1910
+ };
1911
+ };
1912
+ hibernationProbe = new defaultPermissionMode.HibernationProbe({
1913
+ onKeepAwakeLatched: () => {
1914
+ if (session.getMetadata()?.keepAwake === void 0) session.updateMetadata((m) => m.keepAwake === void 0 ? { ...m, keepAwake: true } : m);
1915
+ },
1916
+ checkMs: persistence.resolveCheckMs(),
1917
+ snapshot: hibernationSnapshot,
1918
+ ask: (report) => controlClient.checkDaemonHibernation({ sessionId: session.sessionId, pid: process.pid, report }),
1919
+ commit: (idleMs) => defaultPermissionMode.commitHibernation({
1920
+ client: session,
1921
+ claimExit: () => !shouldExit && hibernationExit.begin(),
1922
+ exitRequested: () => hibernationExit.exitRequested,
1923
+ markCommitted: () => hibernationExit.commit(),
1924
+ releaseExit: () => {
1925
+ const deferred = hibernationExit.release();
1926
+ if (deferred) void handleKillSession(deferred);
1927
+ },
1928
+ recheck: () => persistence.evaluateWrapperIdle(hibernationSnapshot(), idleMs, Date.now()),
1929
+ idleMs,
1930
+ finish: async (stamp) => {
1931
+ hibernationStamp = stamp;
1932
+ shouldExit = true;
1933
+ abortController.abort();
1934
+ }
1935
+ })
1936
+ });
1937
+ hibernationProbe.start();
1938
+ }
1868
1939
  idleRelease.arm();
1869
1940
  while (!shouldExit) {
1870
1941
  logActiveHandles("loop-top");
@@ -2001,6 +2072,7 @@ async function runCodex(opts) {
2001
2072
  }
2002
2073
  } finally {
2003
2074
  disposeTermination?.();
2075
+ hibernationProbe?.stop();
2004
2076
  session.closePromptQueueDrain();
2005
2077
  logger.logger.debug("[codex]: Final cleanup start");
2006
2078
  logActiveHandles("cleanup-start");
@@ -2049,6 +2121,15 @@ async function runCodex(opts) {
2049
2121
  messageBuffer$1.clear();
2050
2122
  logActiveHandles("cleanup-end");
2051
2123
  logger.logger.debug("[codex]: Final cleanup completed");
2124
+ if (hibernationExit.hibernating && hibernationStamp) {
2125
+ try {
2126
+ await api$1.deactivateSession(session.sessionId);
2127
+ } catch (error) {
2128
+ logger.logger.debug("[codex]: deactivate after hibernation failed", safeCodexErrorMetadata(error));
2129
+ }
2130
+ logger.logger.debug("[codex]: hibernated; exiting");
2131
+ process.exit(0);
2132
+ }
2052
2133
  }
2053
2134
  }
2054
2135
 
@@ -4,15 +4,15 @@ var fs = require('fs');
4
4
  var path = require('path');
5
5
  var os = require('os');
6
6
  var child_process = require('child_process');
7
- var logger = require('./logger-JTcJU-uL.cjs');
7
+ var logger = require('./logger-Ockf1cjN.cjs');
8
8
  var constants = require('./constants-VJ0N6WuG.cjs');
9
9
  require('chalk');
10
10
  require('node:util');
11
- require('./configuration-B0cb3xA3.cjs');
11
+ require('./configuration-DeuGrnej.cjs');
12
12
  require('node:fs');
13
13
  require('node:os');
14
14
  require('node:path');
15
- require('./package-C1XvUQFy.cjs');
15
+ require('./package-DfoyJe1O.cjs');
16
16
  require('node:fs/promises');
17
17
  require('./trimIdent-4gvk9Wk6.cjs');
18
18
 
@@ -2,15 +2,15 @@ import { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
2
2
  import { join } from 'path';
3
3
  import { homedir } from 'os';
4
4
  import { execSync } from 'child_process';
5
- import { l as logger } from './logger-BpQcwNnt.mjs';
5
+ import { l as logger } from './logger-C6zzu57a.mjs';
6
6
  import { D as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './constants-BC4St0xd.mjs';
7
7
  import 'chalk';
8
8
  import 'node:util';
9
- import './configuration-D2v3puap.mjs';
9
+ import './configuration-BZo1JWNV.mjs';
10
10
  import 'node:fs';
11
11
  import 'node:os';
12
12
  import 'node:path';
13
- import './package-BqwrPxL0.mjs';
13
+ import './package-5xAdq5fu.mjs';
14
14
  import 'node:fs/promises';
15
15
  import './trimIdent-BAjmv_TG.mjs';
16
16
 
@@ -1,7 +1,7 @@
1
1
  import { mkdirSync, chmodSync, readdirSync, statSync, appendFileSync, writeFileSync, existsSync, readFileSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
3
  import { join } from 'node:path';
4
- import { p as packageJson } from './package-BqwrPxL0.mjs';
4
+ import { p as packageJson } from './package-5xAdq5fu.mjs';
5
5
  import { mkdir, chmod, writeFile } from 'node:fs/promises';
6
6
 
7
7
  const PRIVATE_DIRECTORY_MODE = 448;
@@ -167,4 +167,4 @@ function readSettingsStringSync(settingsFile, key) {
167
167
  }
168
168
  const configuration = new Configuration();
169
169
 
170
- export { PRIVATE_FILE_MODE as P, writePrivateFile as a, hardenPrivateFile as b, configuration as c, appendPrivateFileSync as d, ensurePrivateDirectory as e, ensurePrivateDirectorySync as f, hardenPrivateFileSync as h, normalizeHttpEndpoint as n, writePrivateFileSync as w };
170
+ export { PRIVATE_FILE_MODE as P, hardenPrivateFileSync as a, writePrivateFile as b, configuration as c, appendPrivateFileSync as d, ensurePrivateDirectory as e, ensurePrivateDirectorySync as f, hardenPrivateFile as h, normalizeHttpEndpoint as n, writePrivateFileSync as w };
@@ -3,7 +3,7 @@
3
3
  var node_fs = require('node:fs');
4
4
  var os = require('node:os');
5
5
  var path = require('node:path');
6
- var _package = require('./package-C1XvUQFy.cjs');
6
+ var _package = require('./package-DfoyJe1O.cjs');
7
7
  var promises = require('node:fs/promises');
8
8
 
9
9
  const PRIVATE_DIRECTORY_MODE = 448;
@@ -1,12 +1,12 @@
1
1
  import chalk from 'chalk';
2
2
  import { homedir } from 'os';
3
3
  import { join } from 'path';
4
- import { readCredentialsForConfiguredRelay } from './persistence-B9LmhAE2.mjs';
5
- import { A as ApiClient } from './api-Cmz3XS4P.mjs';
6
- import { f as ensurePrivateDirectorySync, w as writePrivateFileSync } from './configuration-D2v3puap.mjs';
4
+ import { c as readCredentialsForConfiguredRelay } from './persistence-B6M_W5iC.mjs';
5
+ import { A as ApiClient } from './api-hXLwtgMi.mjs';
6
+ import { f as ensurePrivateDirectorySync, w as writePrivateFileSync } from './configuration-BZo1JWNV.mjs';
7
7
  import { createServer } from 'http';
8
8
  import { randomBytes, createHash } from 'crypto';
9
- import { o as openBrowser } from './browser-DDFi1T8C.mjs';
9
+ import { o as openBrowser } from './browser-DUf1dth8.mjs';
10
10
  import { exec } from 'child_process';
11
11
  import { promisify } from 'util';
12
12
  import 'node:fs/promises';
@@ -15,29 +15,29 @@ import 'zod';
15
15
  import './authRelay-DSAvg1uv.mjs';
16
16
  import 'node:crypto';
17
17
  import 'tweetnacl';
18
- import './logger-BpQcwNnt.mjs';
18
+ import './logger-C6zzu57a.mjs';
19
19
  import 'node:util';
20
20
  import 'node:path';
21
- import 'node:os';
22
- import './package-BqwrPxL0.mjs';
23
21
  import 'axios';
24
- import './lidState-BfximpjX.mjs';
22
+ import './lidState-CJ3XkJRn.mjs';
25
23
  import 'node:events';
26
24
  import 'socket.io-client';
27
- import './attachmentLimits-C1PCCM79.mjs';
25
+ import './attachmentLimits-CxG3T18E.mjs';
28
26
  import './index-B0HEEYGh.mjs';
29
27
  import '@paralleldrive/cuid2';
30
28
  import './limits-DIo7rEBR.mjs';
31
- import './time-CfDKj6Bx.mjs';
32
- import './registerCommonHandlers-DdfGsFbM.mjs';
29
+ import './time-CN0jVVir.mjs';
30
+ import './registerCommonHandlers-BLHKlk5Z.mjs';
33
31
  import 'fs/promises';
34
32
  import 'cross-spawn';
35
33
  import './projectPath-BTBIMB57.mjs';
36
34
  import 'url';
37
- import './sync-BLpH13Kb.mjs';
35
+ import './sync-CHOB3Org.mjs';
38
36
  import './backgroundTaskActivity-8PdPxrvy.mjs';
39
- import './controlClient-BMUJfUeF.mjs';
37
+ import './controlClient-CXD-Xdny.mjs';
40
38
  import './contentLogMetadata-BlWI0egu.mjs';
39
+ import 'node:os';
40
+ import './package-5xAdq5fu.mjs';
41
41
  import 'open';
42
42
 
43
43
  const CLIENT_ID$2 = "app_EMoamEEZ73f0CkXaXp7hrann";
@@ -3,12 +3,12 @@
3
3
  var chalk = require('chalk');
4
4
  var os = require('os');
5
5
  var path = require('path');
6
- var persistence = require('./persistence-2Xp_o6x6.cjs');
7
- var api = require('./api-DnNL5fLw.cjs');
8
- var configuration = require('./configuration-B0cb3xA3.cjs');
6
+ var persistence = require('./persistence-B5oT6oQ9.cjs');
7
+ var api = require('./api-COSJ3Yb7.cjs');
8
+ var configuration = require('./configuration-DeuGrnej.cjs');
9
9
  var http = require('http');
10
10
  var crypto = require('crypto');
11
- var browser = require('./browser-CcG8GLRV.cjs');
11
+ var browser = require('./browser-CeekQeKt.cjs');
12
12
  var child_process = require('child_process');
13
13
  var util = require('util');
14
14
  require('node:fs/promises');
@@ -17,29 +17,29 @@ require('zod');
17
17
  require('./authRelay-BdYkC1Po.cjs');
18
18
  require('node:crypto');
19
19
  require('tweetnacl');
20
- require('./logger-JTcJU-uL.cjs');
20
+ require('./logger-Ockf1cjN.cjs');
21
21
  require('node:util');
22
22
  require('node:path');
23
- require('node:os');
24
- require('./package-C1XvUQFy.cjs');
25
23
  require('axios');
26
- require('./lidState-D8BmnJV1.cjs');
24
+ require('./lidState-2IT0tas7.cjs');
27
25
  require('node:events');
28
26
  require('socket.io-client');
29
- require('./attachmentLimits-BfgKV5iE.cjs');
27
+ require('./attachmentLimits-BEYEEBm8.cjs');
30
28
  require('./index-C9hI8a10.cjs');
31
29
  require('@paralleldrive/cuid2');
32
30
  require('./limits-C-a7gr04.cjs');
33
- require('./time-T0YmeOhS.cjs');
34
- require('./registerCommonHandlers-Aha_KfM3.cjs');
31
+ require('./time-uSKpEhew.cjs');
32
+ require('./registerCommonHandlers-COSTo15G.cjs');
35
33
  require('fs/promises');
36
34
  require('cross-spawn');
37
35
  require('./projectPath-ChLhdOyt.cjs');
38
36
  require('url');
39
- require('./sync-x_lI_3j_.cjs');
37
+ require('./sync-BS9_zSQ2.cjs');
40
38
  require('./backgroundTaskActivity-CBvUdj39.cjs');
41
- require('./controlClient-CmnHGcyl.cjs');
39
+ require('./controlClient-IDE3se23.cjs');
42
40
  require('./contentLogMetadata-ZSFk_NjQ.cjs');
41
+ require('node:os');
42
+ require('./package-DfoyJe1O.cjs');
43
43
  require('open');
44
44
 
45
45
  const CLIENT_ID$2 = "app_EMoamEEZ73f0CkXaXp7hrann";
@@ -5,7 +5,7 @@ var node_fs = require('node:fs');
5
5
  var path = require('node:path');
6
6
  var node_crypto = require('node:crypto');
7
7
  var z = require('zod');
8
- var configuration = require('./configuration-B0cb3xA3.cjs');
8
+ var configuration = require('./configuration-DeuGrnej.cjs');
9
9
 
10
10
  const TeamScopeSchema = z.z.object({
11
11
  serverUrl: z.z.string(),
@@ -3,7 +3,7 @@ import { constants } from 'node:fs';
3
3
  import { isAbsolute, join, dirname } from 'node:path';
4
4
  import { randomUUID } from 'node:crypto';
5
5
  import { z } from 'zod';
6
- import { n as normalizeHttpEndpoint, c as configuration } from './configuration-D2v3puap.mjs';
6
+ import { n as normalizeHttpEndpoint, c as configuration } from './configuration-BZo1JWNV.mjs';
7
7
 
8
8
  const TeamScopeSchema = z.object({
9
9
  serverUrl: z.string(),
@@ -1,6 +1,6 @@
1
- import { l as logger } from './logger-BpQcwNnt.mjs';
2
- import { readDaemonState, clearDaemonState } from './persistence-B9LmhAE2.mjs';
3
- import { c as configuration } from './configuration-D2v3puap.mjs';
1
+ import { l as logger } from './logger-C6zzu57a.mjs';
2
+ import { d as readDaemonState, f as clearDaemonState } from './persistence-B6M_W5iC.mjs';
3
+ import { c as configuration } from './configuration-BZo1JWNV.mjs';
4
4
 
5
5
  function daemonControlHeaders(controlToken) {
6
6
  return {
@@ -263,5 +263,19 @@ async function waitForProcessDeath(pid, timeout) {
263
263
  }
264
264
  throw new Error("Process did not die within timeout");
265
265
  }
266
+ async function checkDaemonHibernation(body) {
267
+ const result = await daemonPost("/session-hibernate-check", body);
268
+ if (result && typeof result === "object" && typeof result.error === "string") {
269
+ return /404|Not Found|No daemon running|not running/.test(result.error) ? "unsupported" : "error";
270
+ }
271
+ if (!result || typeof result.hibernate !== "boolean") return "error";
272
+ return {
273
+ hibernate: result.hibernate,
274
+ ...typeof result.reason === "string" ? { reason: result.reason } : {},
275
+ ...typeof result.idleMs === "number" ? { idleMs: result.idleMs } : {},
276
+ ...typeof result.nextCheckMs === "number" ? { nextCheckMs: result.nextCheckMs } : {},
277
+ ...result.keepAwake === true ? { keepAwake: true } : {}
278
+ };
279
+ }
266
280
 
267
- export { stopDaemon as a, pushFilePreviewViaDaemon as b, checkIfDaemonRunningAndCleanupStaleState as c, setTerminalTitleViaDaemon as d, spawnDaemonSession as e, listDaemonPeers as f, resumeDaemonSession as g, reportSessionEditToDaemon as h, isDaemonRunningCurrentlyInstalledHappyVersion as i, notifyDaemonTurnEvent as j, notifyDaemonBackgroundTasks as k, listDaemonSessions as l, notifyDaemonSessionEvent as m, notifyDaemonSessionStarted as n, notifyDaemonClaudeAuthFailed as o, pushClipboardViaDaemon as p, cleanupDaemonState as q, reportRateLimitsToDaemon as r, stopDaemonSession as s };
281
+ export { checkIfDaemonRunningAndCleanupStaleState as a, stopDaemon as b, checkDaemonHibernation as c, pushFilePreviewViaDaemon as d, setTerminalTitleViaDaemon as e, spawnDaemonSession as f, listDaemonPeers as g, resumeDaemonSession as h, isDaemonRunningCurrentlyInstalledHappyVersion as i, reportSessionEditToDaemon as j, notifyDaemonTurnEvent as k, listDaemonSessions as l, notifyDaemonBackgroundTasks as m, notifyDaemonSessionStarted as n, notifyDaemonSessionEvent as o, pushClipboardViaDaemon as p, notifyDaemonClaudeAuthFailed as q, reportRateLimitsToDaemon as r, stopDaemonSession as s, cleanupDaemonState as t };
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-JTcJU-uL.cjs');
4
- var persistence = require('./persistence-2Xp_o6x6.cjs');
5
- var configuration = require('./configuration-B0cb3xA3.cjs');
3
+ var logger = require('./logger-Ockf1cjN.cjs');
4
+ var persistence = require('./persistence-B5oT6oQ9.cjs');
5
+ var configuration = require('./configuration-DeuGrnej.cjs');
6
6
 
7
7
  function daemonControlHeaders(controlToken) {
8
8
  return {
@@ -265,7 +265,22 @@ async function waitForProcessDeath(pid, timeout) {
265
265
  }
266
266
  throw new Error("Process did not die within timeout");
267
267
  }
268
+ async function checkDaemonHibernation(body) {
269
+ const result = await daemonPost("/session-hibernate-check", body);
270
+ if (result && typeof result === "object" && typeof result.error === "string") {
271
+ return /404|Not Found|No daemon running|not running/.test(result.error) ? "unsupported" : "error";
272
+ }
273
+ if (!result || typeof result.hibernate !== "boolean") return "error";
274
+ return {
275
+ hibernate: result.hibernate,
276
+ ...typeof result.reason === "string" ? { reason: result.reason } : {},
277
+ ...typeof result.idleMs === "number" ? { idleMs: result.idleMs } : {},
278
+ ...typeof result.nextCheckMs === "number" ? { nextCheckMs: result.nextCheckMs } : {},
279
+ ...result.keepAwake === true ? { keepAwake: true } : {}
280
+ };
281
+ }
268
282
 
283
+ exports.checkDaemonHibernation = checkDaemonHibernation;
269
284
  exports.checkIfDaemonRunningAndCleanupStaleState = checkIfDaemonRunningAndCleanupStaleState;
270
285
  exports.cleanupDaemonState = cleanupDaemonState;
271
286
  exports.isDaemonRunningCurrentlyInstalledHappyVersion = isDaemonRunningCurrentlyInstalledHappyVersion;