very-happy-cli 0.2.166 → 0.2.167

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-20VHOXwb.cjs → AcpBackend-D1IKJGz_.cjs} +3 -3
  2. package/dist/{AcpBackend-tRWk7yi7.mjs → AcpBackend-kFZlee5E.mjs} +3 -3
  3. package/dist/{BasePermissionHandler-COKc4pmt.cjs → BasePermissionHandler-DHxYAK5L.cjs} +1 -1
  4. package/dist/{BasePermissionHandler-CDCLIrZJ.mjs → BasePermissionHandler-DS0kRTNI.mjs} +1 -1
  5. package/dist/{BaseReasoningProcessor-BDVKvooR.mjs → BaseReasoningProcessor-BRtCCt7q.mjs} +1 -1
  6. package/dist/{BaseReasoningProcessor-DAGQdkNp.cjs → BaseReasoningProcessor-CsjVdt_H.cjs} +1 -1
  7. package/dist/{agentHome-2IbIjKCa.mjs → agentHome-Ct-VXFeG.mjs} +4 -4
  8. package/dist/{agentHome-KVWj6nCl.cjs → agentHome-DeAWzhSe.cjs} +4 -4
  9. package/dist/{api-DnNL5fLw.cjs → api-BZYLRDM9.cjs} +88 -10
  10. package/dist/{api-Cmz3XS4P.mjs → api-CReZazeT.mjs} +88 -10
  11. package/dist/{apiMachine-DeoQ8QbZ.cjs → apiMachine-BgMxGPsR.cjs} +50 -15
  12. package/dist/{apiMachine-B6ySCFe0.mjs → apiMachine-CWndf1Vn.mjs} +50 -15
  13. package/dist/{attachmentContent-DPWxHgX4.cjs → attachmentContent-HcJqFQW8.cjs} +2 -2
  14. package/dist/{attachmentContent-CTXapi-_.mjs → attachmentContent-j875mwU7.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-BMaBjRAj.mjs → auth-BIHuc7vY.mjs} +10 -10
  18. package/dist/{auth-pzWIFdOD.mjs → auth-CFS9Lfgv.mjs} +5 -5
  19. package/dist/{auth-D4-eQz85.cjs → auth-Myr2Q42x.cjs} +10 -10
  20. package/dist/{auth-ietHtvwu.cjs → auth-VzWpbo5P.cjs} +5 -5
  21. package/dist/{auto-DOWTQDPa.cjs → auto-Bf6Dr7_o.cjs} +14 -14
  22. package/dist/{auto-DL75Dx3I.mjs → auto-Df9-zmuN.mjs} +14 -14
  23. package/dist/{bootstrap-XE8A7Ut2.mjs → bootstrap-BSOxYpaP.mjs} +2 -2
  24. package/dist/{bootstrap-BpXIc2wn.cjs → bootstrap-Dj8WBiR2.cjs} +2 -2
  25. package/dist/{browser-DDFi1T8C.mjs → browser-BCFIHOvo.mjs} +1 -1
  26. package/dist/{browser-CcG8GLRV.cjs → browser-BoCV40yC.cjs} +1 -1
  27. package/dist/{claudeLocal-DXBXwIOG.cjs → claudeLocal-CGsq7Kul.cjs} +5 -5
  28. package/dist/{claudeLocal-DmM5Oyhv.mjs → claudeLocal-D5-eA9SC.mjs} +5 -5
  29. package/dist/{claudeLocalLauncher-Cs4eUC3P.mjs → claudeLocalLauncher-C9Cc438l.mjs} +10 -10
  30. package/dist/{claudeLocalLauncher-C41Y6Kp4.cjs → claudeLocalLauncher-Cf9QeYDT.cjs} +10 -10
  31. package/dist/{claudeSessionFork-Cs0I3eGI.cjs → claudeSessionFork-Byd8zD1U.cjs} +1 -1
  32. package/dist/{claudeSessionFork-BdLnc2Hv.mjs → claudeSessionFork-CMzAva8G.mjs} +1 -1
  33. package/dist/{client-JISJx2f-.cjs → client-BKnKRLSt.cjs} +3 -3
  34. package/dist/{client-GjTnsq6F.mjs → client-C7FYMer0.mjs} +2 -2
  35. package/dist/{client-DJ0kX_8M.cjs → client-D0T5-6Ds.cjs} +2 -2
  36. package/dist/{client-CbK33y_s.mjs → client-Dsfy_SAb.mjs} +3 -3
  37. package/dist/codex/happyMcpStdioBridge.cjs +14 -14
  38. package/dist/codex/happyMcpStdioBridge.mjs +14 -14
  39. package/dist/{codexAppServerClient-CldXEojt.mjs → codexAppServerClient-Dd_4TxHv.mjs} +4 -4
  40. package/dist/{codexAppServerClient-BTjn2ZCZ.cjs → codexAppServerClient-TiW9OBk4.cjs} +4 -4
  41. package/dist/{codexCommand-DjMU-Ijf.mjs → codexCommand-BZSr4MKI.mjs} +137 -56
  42. package/dist/{codexCommand-BpD0N1F7.cjs → codexCommand-Bxryqh90.cjs} +137 -56
  43. package/dist/{config-DjSJKatx.mjs → config-C_Pj7yxV.mjs} +3 -3
  44. package/dist/{config-DuLL0Ppe.cjs → config-DXPash-r.cjs} +3 -3
  45. package/dist/{configuration-B0cb3xA3.cjs → configuration-C3piBtxY.cjs} +1 -1
  46. package/dist/{configuration-D2v3puap.mjs → configuration-WspKd2C2.mjs} +2 -2
  47. package/dist/{connect-B7JWEzyg.cjs → connect-BN-IBElA.cjs} +13 -13
  48. package/dist/{connect-CnNNyM9I.mjs → connect-DGPZs5px.mjs} +13 -13
  49. package/dist/{context-DjfqLWzE.mjs → context-Cr6a3NTg.mjs} +1 -1
  50. package/dist/{context-BFUpYT39.cjs → context-Jrq4-eCZ.cjs} +1 -1
  51. package/dist/{controlClient-CmnHGcyl.cjs → controlClient-BI6Fw3fQ.cjs} +18 -3
  52. package/dist/{controlClient-BMUJfUeF.mjs → controlClient-DTheOlvC.mjs} +18 -4
  53. package/dist/{createSessionMetadata-DU0bCg2m.mjs → createSessionMetadata-BEZ4DIDA.mjs} +57 -5
  54. package/dist/{createSessionMetadata-DbfRBhRu.cjs → createSessionMetadata-zQSz3hgk.cjs} +56 -3
  55. package/dist/defaultPermissionMode-Cif_RHGb.mjs +191 -0
  56. package/dist/defaultPermissionMode-DNKNzk7l.cjs +197 -0
  57. package/dist/{deterministicJson-D-WPUrZb.mjs → deterministicJson-BMMifViN.mjs} +8 -8
  58. package/dist/{deterministicJson-Dp3TVyap.cjs → deterministicJson-C7O2ulKY.cjs} +8 -8
  59. package/dist/{doctor-CkJmdPbi.cjs → doctor-BykBaMTr.cjs} +6 -6
  60. package/dist/{doctor-BlXXyQ1L.mjs → doctor-D1KKyPzB.mjs} +6 -6
  61. package/dist/{downloadTarget-CiQqRIc-.cjs → downloadTarget-CWTb2-EM.cjs} +6 -6
  62. package/dist/{downloadTarget-DjSwMHun.mjs → downloadTarget-Cp48jrIP.mjs} +6 -6
  63. package/dist/{ensureDaemonRunning-CAQag1zE.mjs → ensureDaemonRunning-Ba5fYoxb.mjs} +5 -5
  64. package/dist/{ensureDaemonRunning-C_aIOhgG.cjs → ensureDaemonRunning-CCxX7MoP.cjs} +5 -5
  65. package/dist/{handleResumeCommand-Ci7wacT-.mjs → handleResumeCommand-BTUGlNjB.mjs} +5 -5
  66. package/dist/{handleResumeCommand-6KzBGDnl.cjs → handleResumeCommand-yPdDQHqz.cjs} +5 -5
  67. package/dist/{index-CaFCAlX8.cjs → index-BjhKqDa0.cjs} +3 -3
  68. package/dist/{index-HQsigW_J.mjs → index-C3_83bqS.mjs} +3 -3
  69. package/dist/{index-WGCT6SSV.mjs → index-CE2GgPbr.mjs} +34 -34
  70. package/dist/{index-DQplgo0W.mjs → index-D8m8Ripb.mjs} +4 -4
  71. package/dist/{index-DBmNwMX9.cjs → index-DifM62wX.cjs} +33 -33
  72. package/dist/{index-DEKIgZUo.cjs → index-PNMQPKhz.cjs} +4 -4
  73. package/dist/index.cjs +2 -2
  74. package/dist/index.mjs +2 -2
  75. package/dist/{install-oJUvsFu9.mjs → install-C0-QFn9s.mjs} +3 -3
  76. package/dist/{install-CejEiRGW.cjs → install-CqZVeze8.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-BfximpjX.mjs → lidState-B2ZxdREe.mjs} +1 -1
  82. package/dist/{lidState-D8BmnJV1.cjs → lidState-Bc2K9H9l.cjs} +1 -1
  83. package/dist/{localHappyAgentAuth-Ct1aXwqd.mjs → localHappyAgentAuth-B5XPEMwk.mjs} +1 -1
  84. package/dist/{localHappyAgentAuth-d7B6S_o7.cjs → localHappyAgentAuth-T5GOvRha.cjs} +1 -1
  85. package/dist/{logger-JTcJU-uL.cjs → logger-B_MWPbZz.cjs} +2 -2
  86. package/dist/{logger-BpQcwNnt.mjs → logger-CbBv3q_b.mjs} +2 -2
  87. package/dist/{machineMetadata-BBg_Njw3.cjs → machineMetadata-BafS4JY8.cjs} +4 -3
  88. package/dist/{machineMetadata-CBdxABeI.mjs → machineMetadata-DHg238U4.mjs} +4 -3
  89. package/dist/{main-C16fOGgn.cjs → main-DNrA0qBy.cjs} +45 -45
  90. package/dist/{main-B5b1gA3K.mjs → main-DXAK0n7x.mjs} +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-AvPOhDXy.cjs} +14 -14
  94. package/dist/{mcp-DGNWgVdv.mjs → mcp-BotAjCdD.mjs} +14 -14
  95. package/dist/mirrorProtocol-BdcN6QlN.cjs +1270 -0
  96. package/dist/mirrorProtocol-BwHm8odn.mjs +1247 -0
  97. package/dist/{package-C1XvUQFy.cjs → package-C9ZP9bpX.cjs} +7 -7
  98. package/dist/{package-BqwrPxL0.mjs → package-DU1DxhH9.mjs} +7 -7
  99. package/dist/{peerTools-DPvbcs8V.cjs → peerTools-Dkbu7gag.cjs} +4 -4
  100. package/dist/{peerTools-CeCe-3lk.mjs → peerTools-os2DVjA0.mjs} +4 -4
  101. package/dist/{persistence-2Xp_o6x6.cjs → persistence-BYGl0QYw.cjs} +147 -25
  102. package/dist/{persistence-B9LmhAE2.mjs → persistence-ON0zpHfb.mjs} +123 -12
  103. package/dist/{piRunnerArgs-7FaTyNOq.mjs → piRunnerArgs-CYsnT9sV.mjs} +1 -1
  104. package/dist/{piRunnerArgs-DI29dDNo.cjs → piRunnerArgs-DpbvstUX.cjs} +1 -1
  105. package/dist/{piRuntime-R8XVChxK.cjs → piRuntime-CDnILlCd.cjs} +1 -1
  106. package/dist/{piRuntime-0qEK5AqE.mjs → piRuntime-CmEid-wu.mjs} +1 -1
  107. package/dist/{piTerminal-zcQKc8Sp.mjs → piTerminal-0eNlXSlL.mjs} +16 -16
  108. package/dist/{piTerminal-Ccj0KNPr.cjs → piTerminal-B57TgMON.cjs} +16 -16
  109. package/dist/{rateLimitWindows-C2Jk3Ih7.cjs → rateLimitWindows-CusGIqlq.cjs} +1 -1
  110. package/dist/{rateLimitWindows-Dhfhbtqu.mjs → rateLimitWindows-vZ9Bo7aT.mjs} +1 -1
  111. package/dist/{registerCommonHandlers-DdfGsFbM.mjs → registerCommonHandlers-B0PVff2U.mjs} +2 -2
  112. package/dist/{registerCommonHandlers-Aha_KfM3.cjs → registerCommonHandlers-DVYB3iVn.cjs} +2 -2
  113. package/dist/{registerKillSessionHandler-DboQlGcH.mjs → registerKillSessionHandler-BJMHJHXe.mjs} +14 -9
  114. package/dist/{registerKillSessionHandler-CjitOpUA.cjs → registerKillSessionHandler-BwXGKtg_.cjs} +14 -9
  115. package/dist/{remoteSessionClient-B2DtWuNP.mjs → remoteSessionClient-BzPXSC21.mjs} +5 -5
  116. package/dist/{remoteSessionClient-BwI8rpQw.cjs → remoteSessionClient-PyUAIhwK.cjs} +5 -5
  117. package/dist/{reportProgressTool-DnAD8wOa.mjs → reportProgressTool-BvB13EwC.mjs} +1 -1
  118. package/dist/{reportProgressTool-B-Rcy0s3.cjs → reportProgressTool-D4KB_4cP.cjs} +1 -1
  119. package/dist/{run-Bh66Xs40.cjs → run-BC8jzq_h.cjs} +323 -37
  120. package/dist/{run-DPEwJpQR.mjs → run-O2M8LsWf.mjs} +322 -36
  121. package/dist/{runClaude-C-lJdAKD.cjs → runClaude-C7jPa8VP.cjs} +87 -25
  122. package/dist/{runClaude-DLr_nBzw.mjs → runClaude-DGkr5E7s.mjs} +87 -25
  123. package/dist/{runClaudeDeps-vWWLod7J.cjs → runClaudeDeps-5kzncqME.cjs} +100 -31
  124. package/dist/{runClaudeDeps-C7JV7nXG.mjs → runClaudeDeps-CX_TxS78.mjs} +105 -36
  125. package/dist/{runGemini-o-CUSayc.cjs → runGemini-BfYA4Uqc.cjs} +32 -32
  126. package/dist/{runGemini-tH6sLw-G.mjs → runGemini-CwmGBH3L.mjs} +32 -32
  127. package/dist/{runOpenClaw-C5DZvVhn.mjs → runOpenClaw-BYAPYFyL.mjs} +16 -16
  128. package/dist/{runOpenClaw-D24f35l0.cjs → runOpenClaw-C72jut7v.cjs} +16 -16
  129. package/dist/{sandbox-TJZJ6ngw.cjs → sandbox-Bqkp8IT7.cjs} +4 -4
  130. package/dist/{sandbox-BaL1aslA.mjs → sandbox-DlVnK1Vi.mjs} +4 -4
  131. package/dist/{selfCheck-Dugi0Nk_.cjs → selfCheck-B4lLZplk.cjs} +34 -34
  132. package/dist/selfCheck-DYTGBdIO.mjs +84 -0
  133. package/dist/{send-DDcJ3ayi.mjs → send-B5bWW9Tl.mjs} +8 -8
  134. package/dist/{send-CkWOSYmU.cjs → send-BCwS6n_s.cjs} +8 -8
  135. package/dist/{server-CUjRvQSd.mjs → server-CEJfRQfj.mjs} +4 -4
  136. package/dist/{server-7qFQ8J2u.cjs → server-CFWZehnC.cjs} +6 -6
  137. package/dist/{sessionLock-DqVyHFAQ.mjs → sessionLock-AwOYsKT7.mjs} +12 -4
  138. package/dist/{sessionLock-DfhNICyS.cjs → sessionLock-LBWNjpHf.cjs} +12 -3
  139. package/dist/{sessionModeFile-CIznKD7O.cjs → sessionModeFile-CyPuZRIU.cjs} +1 -1
  140. package/dist/{sessionModeFile-M4OpiyrF.mjs → sessionModeFile-fvFn1JVG.mjs} +1 -1
  141. package/dist/{sessionOps-BnaEaOKs.mjs → sessionOps-DZRH4-hV.mjs} +4 -4
  142. package/dist/{sessionOps-DOyy4gkY.cjs → sessionOps-DzbZI3Eq.cjs} +4 -4
  143. package/dist/{sessionScanner-CcuOn9uU.mjs → sessionScanner-Q_Ei2flB.mjs} +3 -3
  144. package/dist/{sessionScanner-Cu1yKlj4.cjs → sessionScanner-i-cgwFVw.cjs} +3 -3
  145. package/dist/{sessions-C9O91rL1.mjs → sessions-DAmjMAZN.mjs} +9 -9
  146. package/dist/{sessions-BQgk5Kw8.cjs → sessions-DYK5hD4T.cjs} +9 -9
  147. package/dist/{setupOfflineReconnection-Byy8aeKT.mjs → setupOfflineReconnection-BfDBxNdo.mjs} +2 -2
  148. package/dist/{setupOfflineReconnection-DFmQ8s6I.cjs → setupOfflineReconnection-C2LO3hSP.cjs} +2 -2
  149. package/dist/{spawn-EZ2yrtWd.mjs → spawn-BmjG5j5Y.mjs} +13 -13
  150. package/dist/{spawn-BS7LPmSm.cjs → spawn-GK_sXE8h.cjs} +13 -13
  151. package/dist/{spawnHappyCLI-BAa49m0q.mjs → spawnHappyCLI-B2h0P4b5.mjs} +1 -1
  152. package/dist/{spawnHappyCLI-DyaldIe5.cjs → spawnHappyCLI-J4iEhfyZ.cjs} +1 -1
  153. package/dist/{specialCommands-CCWtwIGZ.mjs → specialCommands-DisVxagO.mjs} +3 -3
  154. package/dist/{specialCommands-DouFaJ_0.cjs → specialCommands-DmJMKspE.cjs} +3 -3
  155. package/dist/{startFileWatcher-Dfs4whzr.mjs → startFileWatcher-CeK1k5gt.mjs} +1 -1
  156. package/dist/{startFileWatcher-DQbbypJv.cjs → startFileWatcher-xKo8AoYl.cjs} +1 -1
  157. package/dist/{sync-x_lI_3j_.cjs → sync-Bvc-vh6C.cjs} +1 -1
  158. package/dist/{sync-BLpH13Kb.mjs → sync-CCwYpJMS.mjs} +1 -1
  159. package/dist/{systemPrompt-BanyDihy.mjs → systemPrompt-BNIkP3tR.mjs} +1 -1
  160. package/dist/{systemPrompt-4erwILTB.cjs → systemPrompt-DwOddbuG.cjs} +1 -1
  161. package/dist/{teams-D6BOT3lR.mjs → teams-DRrLBcys.mjs} +6 -6
  162. package/dist/{teams-DzetlGWC.cjs → teams-GHMCRZOw.cjs} +6 -6
  163. package/dist/{time-T0YmeOhS.cjs → time-BXvtjhe9.cjs} +1 -1
  164. package/dist/{time-CfDKj6Bx.mjs → time-PG5Dfwdv.mjs} +1 -1
  165. package/dist/{titleGenerator-CoMxqKfP.cjs → titleGenerator-B07bZA0V.cjs} +2 -2
  166. package/dist/{titleGenerator-ChImQ4q-.mjs → titleGenerator-CIzfpfZW.mjs} +1 -1
  167. package/dist/{todo-CZZebKZg.cjs → todo-B0aeoNu3.cjs} +5 -5
  168. package/dist/{todo-SVtYxGON.mjs → todo-CfL7SBFc.mjs} +5 -5
  169. package/dist/{tools-3X2z3YDe.mjs → tools-D91mq5Ib.mjs} +1 -1
  170. package/dist/{tools-IJ0TAcJs.cjs → tools-DJIANHSh.cjs} +1 -1
  171. package/dist/{uninstall-CypD-kr1.mjs → uninstall-5xz3Xvhf.mjs} +3 -3
  172. package/dist/{uninstall-CqqCWj7w.cjs → uninstall-AtzOfdrj.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,41 +1,41 @@
1
1
  import { io } from 'socket.io-client';
2
- import { l as logger } from './logger-BpQcwNnt.mjs';
3
- import { R as RpcHandlerManager, i as isRateQuotaCode, p as pauseForRateQuota, s as socketConnectGuard, c as connectGuarded, a as answerSocketRequest, e as shouldReconnect, d as describeSocketAckDrop } from './lidState-BfximpjX.mjs';
4
- import { i as isClaudeSessionId, s as stableVersion, a as sanitizeTagList, p as pickMirrorForTerminal, l as liveSnapshotChanged, b as sanitizeLiveSnapshot, c as serializeLiveSnapshot, d as summarizeSpawnSessionForLog, e as parseMirrorSendParams } from './mirrorProtocol-h5WHpdhh.mjs';
5
- import { c as configuration } from './configuration-D2v3puap.mjs';
2
+ import { l as logger } from './logger-CbBv3q_b.mjs';
3
+ import { R as RpcHandlerManager, i as isRateQuotaCode, p as pauseForRateQuota, s as socketConnectGuard, c as connectGuarded, a as answerSocketRequest, e as shouldReconnect, d as describeSocketAckDrop } from './lidState-B2ZxdREe.mjs';
4
+ import { i as isClaudeSessionId, s as stableVersion, a as sanitizeTagList, p as pickMirrorForTerminal, l as liveSnapshotChanged, b as sanitizeLiveSnapshot, c as serializeLiveSnapshot, r as registerWorktreeHandlers, d as configureWorktreeService, e as summarizeSpawnSessionForLog, f as parseMirrorSendParams } from './mirrorProtocol-BwHm8odn.mjs';
5
+ import { c as configuration } from './configuration-WspKd2C2.mjs';
6
6
  import { w as withCurrentCliUpdateState } from './cliUpdate-Y34VGe9Y.mjs';
7
- import { r as registerCommonHandlers } from './registerCommonHandlers-DdfGsFbM.mjs';
7
+ import { r as registerCommonHandlers } from './registerCommonHandlers-B0PVff2U.mjs';
8
8
  import { stat, readdir, lstat, open, readFile, rm, mkdir, chmod, writeFile, rename } from 'node:fs/promises';
9
9
  import { join, isAbsolute, resolve } from 'node:path';
10
10
  import os, { homedir } from 'node:os';
11
11
  import { spawn, execFile, spawnSync } from 'node:child_process';
12
- import { readSettings, readPersistedSessions, readTrackedClaudeSessionIds, readTrackedCodexThreadIds } from './persistence-B9LmhAE2.mjs';
12
+ import { r as readSettings, b as readPersistedSessions, o as readTrackedClaudeSessionIds, p as readTrackedCodexThreadIds } from './persistence-ON0zpHfb.mjs';
13
13
  import { e as encodeBase64, g as encrypt, h as decrypt, d as decodeBase64 } from './authRelay-DSAvg1uv.mjs';
14
14
  import { p as prepareClipboardText, d as prepareClipboardHistoryText } from './limits-DIo7rEBR.mjs';
15
- import { b as backoff, d as delay } from './time-CfDKj6Bx.mjs';
15
+ import { b as backoff, d as delay } from './time-PG5Dfwdv.mjs';
16
16
  import * as pty from 'node-pty';
17
17
  import { a as attachStartupCommand, v as validateTerminalTags, d as deriveAutoTitle, T as TMUX_SESSION_ID_RE, i as isSafeTmuxSessionName, b as isVhSessionName, U as USER_SESSIONS_FORMAT, p as parseUserSessions, L as LIST_SESSIONS_FORMAT, c as parseSessionListLine, e as LIST_FIELD_SEP, s as sendToVhTerminal } from './terminals-Dlg0x3nY.mjs';
18
18
  import { t as tmuxArgs, V as VH_TMUX_SOCKET_ENV, a as scrubTmuxClientEnv } from './tmuxSocket-B8Yx20sT.mjs';
19
- import { locateClaudeConversation, refreshAgentHomes } from './index-DQplgo0W.mjs';
19
+ import { locateClaudeConversation, refreshAgentHomes } from './index-D8m8Ripb.mjs';
20
20
  import { randomBytes } from 'node:crypto';
21
21
  import { readdirSync, unlinkSync, existsSync, mkdirSync, writeFileSync, readFileSync, statSync, chmodSync, renameSync, rmSync, accessSync, constants } from 'node:fs';
22
22
  import axios from 'axios';
23
23
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
24
24
  import { a as isValidTerminalId } from './ids-DU6sLx4C.mjs';
25
25
  import { d as detectCLIAvailability } from './detectCLI-CSGMlV51.mjs';
26
- import { d as detectResumeSupport } from './localHappyAgentAuth-Ct1aXwqd.mjs';
26
+ import { d as detectResumeSupport } from './localHappyAgentAuth-B5XPEMwk.mjs';
27
27
  import { g as getProjectPath, a as getClaudeProjectsRoot } from './path-D2wdaNSk.mjs';
28
28
  import { i as isVeryHappyOneShotPrompt } from './oneShotPrompts-DT4p6RNd.mjs';
29
- import { f as forkSession, F as ForkSourceMissingError, d as discardForkedSession, l as listClaudeRewindPoints, a as forkAndTruncateSession, b as ForkTruncateUuidNotFoundError, c as forkBeforeUserMessage } from './claudeSessionFork-BdLnc2Hv.mjs';
30
- import { C as CodexAppServerClient } from './codexAppServerClient-CldXEojt.mjs';
29
+ import { f as forkSession, F as ForkSourceMissingError, d as discardForkedSession, l as listClaudeRewindPoints, a as forkAndTruncateSession, b as ForkTruncateUuidNotFoundError, c as forkBeforeUserMessage } from './claudeSessionFork-CMzAva8G.mjs';
30
+ import { C as CodexAppServerClient } from './codexAppServerClient-Dd_4TxHv.mjs';
31
31
  import { r as RelayCandidatesResponseSchema, q as RelayAssignmentResponseSchema, R as ReleaseDrainNoticeSchema } from './index-B0HEEYGh.mjs';
32
32
  import { f as forkCodexThread, C as CodexForkRewindPointNotFoundError, l as listCodexRewindPoints, a as forkCodexBeforeUserMessage } from './codexThreadFork-R76RU5H0.mjs';
33
- import { p as planRateLimitWrite, m as mergeRateLimitReports } from './rateLimitWindows-Dhfhbtqu.mjs';
33
+ import { p as planRateLimitWrite, m as mergeRateLimitReports } from './rateLimitWindows-vZ9Bo7aT.mjs';
34
34
  import 'chalk';
35
35
  import 'node:util';
36
36
  import 'os';
37
37
  import 'child_process';
38
- import './package-BqwrPxL0.mjs';
38
+ import './package-DU1DxhH9.mjs';
39
39
  import 'util';
40
40
  import 'fs/promises';
41
41
  import 'crypto';
@@ -49,7 +49,7 @@ import 'url';
49
49
  import 'fs';
50
50
  import 'node:readline';
51
51
  import './contentLogMetadata-BlWI0egu.mjs';
52
- import './manager-BQ4flvQZ.mjs';
52
+ import './manager-BEsI4qt3.mjs';
53
53
  import '@anthropic-ai/sandbox-runtime';
54
54
  import '@paralleldrive/cuid2';
55
55
 
@@ -10441,6 +10441,9 @@ class ApiMachineClient {
10441
10441
  registerCommonHandlers(this.rpcHandlerManager, process.cwd());
10442
10442
  registerFsHandlers(this.rpcHandlerManager);
10443
10443
  registerTodoHandlers(this.rpcHandlerManager);
10444
+ if (typeof configuration.happyHomeDir === "string") {
10445
+ registerWorktreeHandlers(this.rpcHandlerManager, configureWorktreeService({ home: configuration.happyHomeDir, machineId: this.machine.id, log: (msg, err) => logger.debug(msg, err) }));
10446
+ }
10444
10447
  this.wireAutoRestoreReport();
10445
10448
  }
10446
10449
  socket;
@@ -10462,6 +10465,8 @@ class ApiMachineClient {
10462
10465
  cliUpdateState = null;
10463
10466
  cliUpdatePushChain = Promise.resolve();
10464
10467
  claudeAuthState = null;
10468
+ /** B-587: the machine's hibernation threshold, published as a capability. */
10469
+ agentHibernationIdleMs = null;
10465
10470
  rateLimitPushChain = Promise.resolve();
10466
10471
  rateLimitPublisher = new RateLimitPublisher({
10467
10472
  getCurrent: () => this.machine.daemonState?.rateLimits,
@@ -10626,6 +10631,34 @@ class ApiMachineClient {
10626
10631
  this.cliUpdatePushChain = attempt.then(() => void 0);
10627
10632
  return attempt;
10628
10633
  }
10634
+ /**
10635
+ * B-587: `agent-hibernation-set {idleMs}` (0 = off) and the
10636
+ * `daemonState.agentHibernation` capability. Call before connect().
10637
+ */
10638
+ setAgentHibernationHandlers(initialIdleMs, set) {
10639
+ this.agentHibernationIdleMs = initialIdleMs;
10640
+ this.rpcHandlerManager.registerHandler("agent-hibernation-set", async (params) => {
10641
+ const raw = params?.idleMs;
10642
+ if (typeof raw !== "number" || !Number.isFinite(raw) || raw < 0) return { error: "invalid-idle-ms" };
10643
+ const idleMs = await set(raw);
10644
+ this.agentHibernationIdleMs = idleMs;
10645
+ await this.publishAgentHibernation();
10646
+ return { agentHibernation: { idleMs } };
10647
+ });
10648
+ }
10649
+ publishAgentHibernation() {
10650
+ const idleMs = this.agentHibernationIdleMs;
10651
+ if (idleMs === null || !this.socket?.connected) return Promise.resolve();
10652
+ const attempt = this.cliUpdatePushChain.then(() => this.updateDaemonState((current) => ({
10653
+ ...current ?? {},
10654
+ status: current?.status ?? "running",
10655
+ agentHibernation: { idleMs, rpcAvailable: true, detectedAt: Date.now() }
10656
+ }))).catch((error) => {
10657
+ logger.debug("[API MACHINE] Failed to publish agent hibernation:", error);
10658
+ });
10659
+ this.cliUpdatePushChain = attempt.then(() => void 0);
10660
+ return attempt;
10661
+ }
10629
10662
  /** B-276 machine RPCs. Responses always carry `claudeAuth` so the web can refresh in place. */
10630
10663
  setClaudeAuthHandlers(handlers) {
10631
10664
  this.rpcHandlerManager.registerHandler("claude-auth-probe", async () => {
@@ -11345,7 +11378,9 @@ class ApiMachineClient {
11345
11378
  closedTerminals: this.webTerminal.getClosedTerminals(),
11346
11379
  // B-276: re-ship the last preflight so a reconnect never
11347
11380
  // leaves a stale-pid value visible longer than needed.
11348
- ...this.claudeAuthState ? { claudeAuth: this.claudeAuthState } : {}
11381
+ ...this.claudeAuthState ? { claudeAuth: this.claudeAuthState } : {},
11382
+ // B-587 capability + setting (same restamp discipline).
11383
+ ...this.agentHibernationIdleMs !== null ? { agentHibernation: { idleMs: this.agentHibernationIdleMs, rpcAvailable: true, detectedAt: now } } : {}
11349
11384
  };
11350
11385
  });
11351
11386
  this.webTerminal.startListTracking((terminals) => this.pushTerminalList(terminals));
@@ -3,8 +3,8 @@
3
3
  var node_crypto = require('node:crypto');
4
4
  var promises = require('node:fs/promises');
5
5
  var path = require('node:path');
6
- var attachmentLimits = require('./attachmentLimits-BfgKV5iE.cjs');
7
- var configuration = require('./configuration-B0cb3xA3.cjs');
6
+ var attachmentLimits = require('./attachmentLimits-BEYEEBm8.cjs');
7
+ var configuration = require('./configuration-C3piBtxY.cjs');
8
8
 
9
9
  const CLAUDE_ATTACHMENT_KINDS = [
10
10
  "image/jpeg",
@@ -1,8 +1,8 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { writeFile, rename, unlink } from 'node:fs/promises';
3
3
  import { join, basename } from 'node:path';
4
- import { M as MAX_CHAT_ATTACHMENT_SOURCE_BYTES } from './attachmentLimits-C1PCCM79.mjs';
5
- import { e as ensurePrivateDirectory, b as hardenPrivateFile } from './configuration-D2v3puap.mjs';
4
+ import { M as MAX_CHAT_ATTACHMENT_SOURCE_BYTES } from './attachmentLimits-CxG3T18E.mjs';
5
+ import { e as ensurePrivateDirectory, h as hardenPrivateFile } from './configuration-WspKd2C2.mjs';
6
6
 
7
7
  const CLAUDE_ATTACHMENT_KINDS = [
8
8
  "image/jpeg",
@@ -6,6 +6,8 @@ var index = require('./index-C9hI8a10.cjs');
6
6
  z.z.object({
7
7
  teamsVersion: z.z.number().int().positive().optional(),
8
8
  teamLaunchVersion: z.z.number().int().positive().optional(),
9
+ /** B-586: daemon serves the `worktree-*` RPCs. Absent on old daemons. */
10
+ worktreeVersion: z.z.number().int().positive().optional(),
9
11
  host: z.z.string(),
10
12
  platform: z.z.string(),
11
13
  happyCliVersion: z.z.string(),
@@ -244,7 +246,17 @@ z.z.object({
244
246
  */
245
247
  claudeAuth: ClaudeAuthStateSchema.optional(),
246
248
  /** B-555: see RateLimitsStateSchema. Old webs ignore it; old daemons carry it forward unchanged. */
247
- rateLimits: RateLimitsStateSchema.optional()
249
+ rateLimits: RateLimitsStateSchema.optional(),
250
+ /**
251
+ * B-587 capability + setting: this daemon answers `agent-hibernation-set`
252
+ * and hibernates idle UI sessions after `idleMs` (0 = off). Same trust rule
253
+ * as the other capability flags (`detectedAt >= startedAt`).
254
+ */
255
+ agentHibernation: z.z.object({
256
+ idleMs: z.z.number(),
257
+ rpcAvailable: z.z.boolean(),
258
+ detectedAt: z.z.number()
259
+ }).passthrough().optional()
248
260
  });
249
261
  const MessageMetaSchema = z.z.object({
250
262
  sentFrom: z.z.string().optional(),
@@ -4,6 +4,8 @@ import { m as AgentVersionsSchema } from './index-B0HEEYGh.mjs';
4
4
  z.object({
5
5
  teamsVersion: z.number().int().positive().optional(),
6
6
  teamLaunchVersion: z.number().int().positive().optional(),
7
+ /** B-586: daemon serves the `worktree-*` RPCs. Absent on old daemons. */
8
+ worktreeVersion: z.number().int().positive().optional(),
7
9
  host: z.string(),
8
10
  platform: z.string(),
9
11
  happyCliVersion: z.string(),
@@ -242,7 +244,17 @@ z.object({
242
244
  */
243
245
  claudeAuth: ClaudeAuthStateSchema.optional(),
244
246
  /** B-555: see RateLimitsStateSchema. Old webs ignore it; old daemons carry it forward unchanged. */
245
- rateLimits: RateLimitsStateSchema.optional()
247
+ rateLimits: RateLimitsStateSchema.optional(),
248
+ /**
249
+ * B-587 capability + setting: this daemon answers `agent-hibernation-set`
250
+ * and hibernates idle UI sessions after `idleMs` (0 = off). Same trust rule
251
+ * as the other capability flags (`detectedAt >= startedAt`).
252
+ */
253
+ agentHibernation: z.object({
254
+ idleMs: z.number(),
255
+ rpcAvailable: z.boolean(),
256
+ detectedAt: z.number()
257
+ }).passthrough().optional()
246
258
  });
247
259
  const MessageMetaSchema = z.object({
248
260
  sentFrom: z.string().optional(),
@@ -1,24 +1,24 @@
1
1
  import chalk from 'chalk';
2
- import { readCredentials, readSettings, clearCredentials, clearMachineId } from './persistence-B9LmhAE2.mjs';
3
- import { a as authAndSetupMachineIfNeeded } from './auth-pzWIFdOD.mjs';
4
- import { c as configuration } from './configuration-D2v3puap.mjs';
2
+ import { g as readCredentials, r as readSettings, h as clearCredentials, i as clearMachineId } from './persistence-ON0zpHfb.mjs';
3
+ import { a as authAndSetupMachineIfNeeded } from './auth-CFS9Lfgv.mjs';
4
+ import { c as configuration } from './configuration-WspKd2C2.mjs';
5
5
  import { existsSync, rmSync } from 'node:fs';
6
6
  import { createInterface } from 'node:readline';
7
- import { c as checkIfDaemonRunningAndCleanupStaleState, a as stopDaemon } from './controlClient-BMUJfUeF.mjs';
8
- import { l as logger } from './logger-BpQcwNnt.mjs';
7
+ import { a as checkIfDaemonRunningAndCleanupStaleState, b as stopDaemon } from './controlClient-DTheOlvC.mjs';
8
+ import { l as logger } from './logger-CbBv3q_b.mjs';
9
9
  import os from 'node:os';
10
10
  import { c as credentialRelayProblem } from './authRelay-DSAvg1uv.mjs';
11
11
  import 'node:fs/promises';
12
12
  import 'zod';
13
- import 'node:path';
14
- import './package-BqwrPxL0.mjs';
15
13
  import 'node:crypto';
16
14
  import 'tweetnacl';
17
- import 'node:util';
18
15
  import 'axios';
19
- import './time-CfDKj6Bx.mjs';
20
- import './browser-DDFi1T8C.mjs';
16
+ import './time-PG5Dfwdv.mjs';
17
+ import './browser-BCFIHOvo.mjs';
21
18
  import 'open';
19
+ import 'node:path';
20
+ import './package-DU1DxhH9.mjs';
21
+ import 'node:util';
22
22
 
23
23
  function localMachineIdentityStatus(machineId) {
24
24
  if (machineId) {
@@ -1,12 +1,12 @@
1
1
  import { e as encodeBase64, c as credentialRelayProblem, f as encodeBase64Url, d as decodeBase64 } from './authRelay-DSAvg1uv.mjs';
2
- import { c as configuration } from './configuration-D2v3puap.mjs';
2
+ import { c as configuration } from './configuration-WspKd2C2.mjs';
3
3
  import { randomUUID, randomBytes } from 'node:crypto';
4
4
  import tweetnacl from 'tweetnacl';
5
5
  import axios from 'axios';
6
- import { d as delay } from './time-CfDKj6Bx.mjs';
7
- import { readCredentials, readSettingsOutcome, updateSettings, writeCredentialsLegacy, writeCredentialsDataKey } from './persistence-B9LmhAE2.mjs';
8
- import { o as openBrowser } from './browser-DDFi1T8C.mjs';
9
- import { l as logger } from './logger-BpQcwNnt.mjs';
6
+ import { d as delay } from './time-PG5Dfwdv.mjs';
7
+ import { g as readCredentials, m as readSettingsOutcome, u as updateSettings, w as writeCredentialsLegacy, n as writeCredentialsDataKey } from './persistence-ON0zpHfb.mjs';
8
+ import { o as openBrowser } from './browser-BCFIHOvo.mjs';
9
+ import { l as logger } from './logger-CbBv3q_b.mjs';
10
10
 
11
11
  function generateWebAuthUrl(publicKey) {
12
12
  const publicKeyBase64 = encodeBase64(publicKey, "base64url");
@@ -1,26 +1,26 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var persistence = require('./persistence-2Xp_o6x6.cjs');
5
- var auth = require('./auth-ietHtvwu.cjs');
6
- var configuration = require('./configuration-B0cb3xA3.cjs');
4
+ var persistence = require('./persistence-BYGl0QYw.cjs');
5
+ var auth = require('./auth-VzWpbo5P.cjs');
6
+ var configuration = require('./configuration-C3piBtxY.cjs');
7
7
  var node_fs = require('node:fs');
8
8
  var node_readline = require('node:readline');
9
- var controlClient = require('./controlClient-CmnHGcyl.cjs');
10
- var logger = require('./logger-JTcJU-uL.cjs');
9
+ var controlClient = require('./controlClient-BI6Fw3fQ.cjs');
10
+ var logger = require('./logger-B_MWPbZz.cjs');
11
11
  var os = require('node:os');
12
12
  var authRelay = require('./authRelay-BdYkC1Po.cjs');
13
13
  require('node:fs/promises');
14
14
  require('zod');
15
- require('node:path');
16
- require('./package-C1XvUQFy.cjs');
17
15
  require('node:crypto');
18
16
  require('tweetnacl');
19
- require('node:util');
20
17
  require('axios');
21
- require('./time-T0YmeOhS.cjs');
22
- require('./browser-CcG8GLRV.cjs');
18
+ require('./time-BXvtjhe9.cjs');
19
+ require('./browser-BoCV40yC.cjs');
23
20
  require('open');
21
+ require('node:path');
22
+ require('./package-C9ZP9bpX.cjs');
23
+ require('node:util');
24
24
 
25
25
  function localMachineIdentityStatus(machineId) {
26
26
  if (machineId) {
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
3
  var authRelay = require('./authRelay-BdYkC1Po.cjs');
4
- var configuration = require('./configuration-B0cb3xA3.cjs');
4
+ var configuration = require('./configuration-C3piBtxY.cjs');
5
5
  var node_crypto = require('node:crypto');
6
6
  var tweetnacl = require('tweetnacl');
7
7
  var axios = require('axios');
8
- var time = require('./time-T0YmeOhS.cjs');
9
- var persistence = require('./persistence-2Xp_o6x6.cjs');
10
- var browser = require('./browser-CcG8GLRV.cjs');
11
- var logger = require('./logger-JTcJU-uL.cjs');
8
+ var time = require('./time-BXvtjhe9.cjs');
9
+ var persistence = require('./persistence-BYGl0QYw.cjs');
10
+ var browser = require('./browser-BoCV40yC.cjs');
11
+ var logger = require('./logger-B_MWPbZz.cjs');
12
12
 
13
13
  function generateWebAuthUrl(publicKey) {
14
14
  const publicKeyBase64 = authRelay.encodeBase64(publicKey, "base64url");
@@ -5,42 +5,42 @@ var os = require('node:os');
5
5
  var node_fs = require('node:fs');
6
6
  var path = require('node:path');
7
7
  var index = require('./index-C9hI8a10.cjs');
8
- var configuration = require('./configuration-B0cb3xA3.cjs');
9
- var client = require('./client-DJ0kX_8M.cjs');
8
+ var configuration = require('./configuration-C3piBtxY.cjs');
9
+ var client = require('./client-D0T5-6Ds.cjs');
10
10
  var template = require('./template-BaHAmH2K.cjs');
11
11
  var install = require('./install-Cf6AFSWC.cjs');
12
12
  var precheckCompat = require('./precheckCompat-CWOi5c9L.cjs');
13
- var sessionOps = require('./sessionOps-DOyy4gkY.cjs');
14
- var spawn = require('./spawn-BS7LPmSm.cjs');
13
+ var sessionOps = require('./sessionOps-DzbZI3Eq.cjs');
14
+ var spawn = require('./spawn-GK_sXE8h.cjs');
15
15
  var spawnAgents = require('./spawnAgents-vglexX9N.cjs');
16
- var time = require('./time-T0YmeOhS.cjs');
16
+ var time = require('./time-BXvtjhe9.cjs');
17
17
  require('zod');
18
18
  require('@paralleldrive/cuid2');
19
- require('./package-C1XvUQFy.cjs');
19
+ require('./package-C9ZP9bpX.cjs');
20
20
  require('node:fs/promises');
21
- require('./persistence-2Xp_o6x6.cjs');
21
+ require('./persistence-BYGl0QYw.cjs');
22
22
  require('./authRelay-BdYkC1Po.cjs');
23
23
  require('node:crypto');
24
24
  require('tweetnacl');
25
- require('./logger-JTcJU-uL.cjs');
25
+ require('./logger-B_MWPbZz.cjs');
26
26
  require('node:util');
27
27
  require('./resources-JDPugcDq.cjs');
28
28
  require('axios');
29
- require('./controlClient-CmnHGcyl.cjs');
29
+ require('./controlClient-BI6Fw3fQ.cjs');
30
30
  require('socket.io-client');
31
31
  require('./backgroundTaskActivity-CBvUdj39.cjs');
32
32
  require('./path-B7zW-WwE.cjs');
33
- require('./claudeSessionFork-Cs0I3eGI.cjs');
33
+ require('./claudeSessionFork-Byd8zD1U.cjs');
34
34
  require('node:readline');
35
- require('./codexAppServerClient-BTjn2ZCZ.cjs');
35
+ require('./codexAppServerClient-TiW9OBk4.cjs');
36
36
  require('node:child_process');
37
37
  require('cross-spawn');
38
38
  require('./contentLogMetadata-ZSFk_NjQ.cjs');
39
- require('./manager-Cly8xVIR.cjs');
39
+ require('./manager-HrEj442o.cjs');
40
40
  require('@anthropic-ai/sandbox-runtime');
41
- require('./rateLimitWindows-C2Jk3Ih7.cjs');
41
+ require('./rateLimitWindows-CusGIqlq.cjs');
42
42
  require('./codexThreadFork-DNekT4nQ.cjs');
43
- require('./createSessionMetadata-DbfRBhRu.cjs');
43
+ require('./createSessionMetadata-zQSz3hgk.cjs');
44
44
  require('./projectPath-ChLhdOyt.cjs');
45
45
  require('path');
46
46
  require('url');
@@ -3,42 +3,42 @@ import { homedir } from 'node:os';
3
3
  import { readFileSync } from 'node:fs';
4
4
  import { resolve } from 'node:path';
5
5
  import { A as AUTOMATION_NAME_PATTERN, i as isAutomationRunTerminal, a as AUTOMATION_PRECHECK_MAX_TIMEOUT_MS, b as AutomationPrecheckSchema } from './index-B0HEEYGh.mjs';
6
- import { c as configuration } from './configuration-D2v3puap.mjs';
7
- import { a as authenticatedAutomationsClient, b as automationRunIdFromEnv, i as isAutomationsUnavailable, A as AUTOMATIONS_UNAVAILABLE_MESSAGE } from './client-GjTnsq6F.mjs';
6
+ import { c as configuration } from './configuration-WspKd2C2.mjs';
7
+ import { a as authenticatedAutomationsClient, b as automationRunIdFromEnv, i as isAutomationsUnavailable, A as AUTOMATIONS_UNAVAILABLE_MESSAGE } from './client-C7FYMer0.mjs';
8
8
  import { p as parseDuration, t as triggerFromFlags, d as describeTrigger, a as describeAction } from './template-CiOPa2rd.mjs';
9
9
  import { A as AUTOMATION_SKILL, i as installAutomationSkill } from './install-BdvKiOQw.mjs';
10
10
  import { u as updateAutomationChecked, c as createAutomationChecked } from './precheckCompat-DeEbilbr.mjs';
11
- import { s as sessionWebUrl } from './sessionOps-BnaEaOKs.mjs';
12
- import { parseEnvAssignment } from './spawn-EZ2yrtWd.mjs';
11
+ import { s as sessionWebUrl } from './sessionOps-DZRH4-hV.mjs';
12
+ import { parseEnvAssignment } from './spawn-BmjG5j5Y.mjs';
13
13
  import { S as SPAWN_AGENTS, s as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES } from './spawnAgents-HDaE3C0-.mjs';
14
- import { d as delay } from './time-CfDKj6Bx.mjs';
14
+ import { d as delay } from './time-PG5Dfwdv.mjs';
15
15
  import 'zod';
16
16
  import '@paralleldrive/cuid2';
17
- import './package-BqwrPxL0.mjs';
17
+ import './package-DU1DxhH9.mjs';
18
18
  import 'node:fs/promises';
19
- import './persistence-B9LmhAE2.mjs';
19
+ import './persistence-ON0zpHfb.mjs';
20
20
  import './authRelay-DSAvg1uv.mjs';
21
21
  import 'node:crypto';
22
22
  import 'tweetnacl';
23
- import './logger-BpQcwNnt.mjs';
23
+ import './logger-CbBv3q_b.mjs';
24
24
  import 'node:util';
25
25
  import './resources-BdFBQi8r.mjs';
26
26
  import 'axios';
27
- import './controlClient-BMUJfUeF.mjs';
27
+ import './controlClient-DTheOlvC.mjs';
28
28
  import 'socket.io-client';
29
29
  import './backgroundTaskActivity-8PdPxrvy.mjs';
30
30
  import './path-D2wdaNSk.mjs';
31
- import './claudeSessionFork-BdLnc2Hv.mjs';
31
+ import './claudeSessionFork-CMzAva8G.mjs';
32
32
  import 'node:readline';
33
- import './codexAppServerClient-CldXEojt.mjs';
33
+ import './codexAppServerClient-Dd_4TxHv.mjs';
34
34
  import 'node:child_process';
35
35
  import 'cross-spawn';
36
36
  import './contentLogMetadata-BlWI0egu.mjs';
37
- import './manager-BQ4flvQZ.mjs';
37
+ import './manager-BEsI4qt3.mjs';
38
38
  import '@anthropic-ai/sandbox-runtime';
39
- import './rateLimitWindows-Dhfhbtqu.mjs';
39
+ import './rateLimitWindows-vZ9Bo7aT.mjs';
40
40
  import './codexThreadFork-R76RU5H0.mjs';
41
- import './createSessionMetadata-DU0bCg2m.mjs';
41
+ import './createSessionMetadata-BEZ4DIDA.mjs';
42
42
  import './projectPath-BTBIMB57.mjs';
43
43
  import 'path';
44
44
  import 'url';
@@ -1,9 +1,9 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { mkdir, writeFile } from 'node:fs/promises';
3
3
  import { join } from 'node:path';
4
- import { c as configuration } from './configuration-D2v3puap.mjs';
4
+ import { c as configuration } from './configuration-WspKd2C2.mjs';
5
5
  import 'node:os';
6
- import './package-BqwrPxL0.mjs';
6
+ import './package-DU1DxhH9.mjs';
7
7
 
8
8
  const ASSISTANT_CLAUDE_MD = `# very-happy \u8C03\u5EA6\u4E2D\u5FC3\uFF08\u8BED\u97F3\u52A9\u624B\uFF09
9
9
 
@@ -3,9 +3,9 @@
3
3
  var node_fs = require('node:fs');
4
4
  var promises = require('node:fs/promises');
5
5
  var path = require('node:path');
6
- var configuration = require('./configuration-B0cb3xA3.cjs');
6
+ var configuration = require('./configuration-C3piBtxY.cjs');
7
7
  require('node:os');
8
- require('./package-C1XvUQFy.cjs');
8
+ require('./package-C9ZP9bpX.cjs');
9
9
 
10
10
  const ASSISTANT_CLAUDE_MD = `# very-happy \u8C03\u5EA6\u4E2D\u5FC3\uFF08\u8BED\u97F3\u52A9\u624B\uFF09
11
11
 
@@ -1,5 +1,5 @@
1
1
  import open from 'open';
2
- import { l as logger } from './logger-BpQcwNnt.mjs';
2
+ import { l as logger } from './logger-CbBv3q_b.mjs';
3
3
 
4
4
  async function openBrowser(url) {
5
5
  try {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var open = require('open');
4
- var logger = require('./logger-JTcJU-uL.cjs');
4
+ var logger = require('./logger-B_MWPbZz.cjs');
5
5
 
6
6
  async function openBrowser(url) {
7
7
  try {
@@ -4,19 +4,19 @@ var spawn = require('cross-spawn');
4
4
  var node_readline = require('node:readline');
5
5
  var node_fs = require('node:fs');
6
6
  var node_crypto = require('node:crypto');
7
- var logger = require('./logger-JTcJU-uL.cjs');
7
+ var logger = require('./logger-B_MWPbZz.cjs');
8
8
  var smallFastModel = require('./smallFastModel-D_uxGMo3.cjs');
9
9
  var path$1 = require('node:path');
10
10
  var path = require('./path-B7zW-WwE.cjs');
11
- var systemPrompt = require('./systemPrompt-4erwILTB.cjs');
12
- var manager = require('./manager-Cly8xVIR.cjs');
11
+ var systemPrompt = require('./systemPrompt-DwOddbuG.cjs');
12
+ var manager = require('./manager-HrEj442o.cjs');
13
13
  var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
14
14
  var claudeCliPath = require('./claudeCliPath-U4HHmV4r.cjs');
15
15
  require('chalk');
16
16
  require('node:util');
17
- require('./configuration-B0cb3xA3.cjs');
17
+ require('./configuration-C3piBtxY.cjs');
18
18
  require('node:os');
19
- require('./package-C1XvUQFy.cjs');
19
+ require('./package-C9ZP9bpX.cjs');
20
20
  require('node:fs/promises');
21
21
  require('./index-C9hI8a10.cjs');
22
22
  require('zod');
@@ -2,19 +2,19 @@ import { spawn } from 'cross-spawn';
2
2
  import { createInterface } from 'node:readline';
3
3
  import { readdirSync, statSync, mkdirSync, existsSync } from 'node:fs';
4
4
  import { randomUUID } from 'node:crypto';
5
- import { l as logger } from './logger-BpQcwNnt.mjs';
5
+ import { l as logger } from './logger-CbBv3q_b.mjs';
6
6
  import { p as pinSmallFastModel, e as ensureLocalProxyBypass } from './smallFastModel-BLNgMrwR.mjs';
7
7
  import { join } from 'node:path';
8
8
  import { g as getProjectPath } from './path-D2wdaNSk.mjs';
9
- import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-BanyDihy.mjs';
10
- import { i as initializeSandbox, a as wrapCommand } from './manager-BQ4flvQZ.mjs';
9
+ import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-BNIkP3tR.mjs';
10
+ import { i as initializeSandbox, a as wrapCommand } from './manager-BEsI4qt3.mjs';
11
11
  import { c as contentLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
12
12
  import { claudeCliPath } from './claudeCliPath-BqkaH2oR.mjs';
13
13
  import 'chalk';
14
14
  import 'node:util';
15
- import './configuration-D2v3puap.mjs';
15
+ import './configuration-WspKd2C2.mjs';
16
16
  import 'node:os';
17
- import './package-BqwrPxL0.mjs';
17
+ import './package-DU1DxhH9.mjs';
18
18
  import 'node:fs/promises';
19
19
  import './index-B0HEEYGh.mjs';
20
20
  import 'zod';
@@ -1,37 +1,37 @@
1
- import { l as logger } from './logger-BpQcwNnt.mjs';
2
- import { claudeLocal, ExitCodeError } from './claudeLocal-DmM5Oyhv.mjs';
3
- import { c as createSessionScanner, F as Future } from './sessionScanner-CcuOn9uU.mjs';
1
+ import { l as logger } from './logger-CbBv3q_b.mjs';
2
+ import { claudeLocal, ExitCodeError } from './claudeLocal-D5-eA9SC.mjs';
3
+ import { c as createSessionScanner, F as Future } from './sessionScanner-Q_Ei2flB.mjs';
4
4
  import 'chalk';
5
5
  import 'node:util';
6
- import './configuration-D2v3puap.mjs';
6
+ import './configuration-WspKd2C2.mjs';
7
7
  import 'node:fs';
8
8
  import 'node:os';
9
9
  import 'node:path';
10
- import './package-BqwrPxL0.mjs';
10
+ import './package-DU1DxhH9.mjs';
11
11
  import 'node:fs/promises';
12
12
  import 'cross-spawn';
13
13
  import 'node:readline';
14
14
  import 'node:crypto';
15
15
  import './smallFastModel-BLNgMrwR.mjs';
16
16
  import './path-D2wdaNSk.mjs';
17
- import './systemPrompt-BanyDihy.mjs';
17
+ import './systemPrompt-BNIkP3tR.mjs';
18
18
  import './index-B0HEEYGh.mjs';
19
19
  import 'zod';
20
20
  import '@paralleldrive/cuid2';
21
21
  import './trimIdent-BAjmv_TG.mjs';
22
22
  import './agentGuidance-BDYt2Qy2.mjs';
23
- import './manager-BQ4flvQZ.mjs';
23
+ import './manager-BEsI4qt3.mjs';
24
24
  import '@anthropic-ai/sandbox-runtime';
25
25
  import './contentLogMetadata-BlWI0egu.mjs';
26
26
  import './claudeCliPath-BqkaH2oR.mjs';
27
27
  import './projectPath-BTBIMB57.mjs';
28
28
  import 'path';
29
29
  import 'url';
30
- import './sync-BLpH13Kb.mjs';
31
- import './time-CfDKj6Bx.mjs';
30
+ import './sync-CCwYpJMS.mjs';
31
+ import './time-PG5Dfwdv.mjs';
32
32
  import './types-CkqAACXx.mjs';
33
33
  import './transcriptCursor-B7T_gkQ0.mjs';
34
- import './startFileWatcher-Dfs4whzr.mjs';
34
+ import './startFileWatcher-CeK1k5gt.mjs';
35
35
  import 'fs/promises';
36
36
 
37
37
  async function claudeLocalLauncher(session) {