very-happy-cli 0.2.178 → 0.2.180

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 (217) hide show
  1. package/dist/{AcpBackend-DCQXHRzT.mjs → AcpBackend-B8Zi30Zh.mjs} +135 -16
  2. package/dist/{AcpBackend-CDkAQXYf.cjs → AcpBackend-DfRDtMcG.cjs} +135 -16
  3. package/dist/{AcpSessionManager-DckmUZza.cjs → AcpSessionManager-CASKOnOj.cjs} +38 -4
  4. package/dist/{AcpSessionManager-BXrQcqwC.mjs → AcpSessionManager-i8Rab0xT.mjs} +38 -4
  5. package/dist/{BasePermissionHandler-BVlrEhIi.mjs → BasePermissionHandler-26fKbRCm.mjs} +5 -2
  6. package/dist/{BasePermissionHandler-DyLmKKtO.cjs → BasePermissionHandler-BlM_tfej.cjs} +5 -2
  7. package/dist/acpSessionResume-B9l54P-X.mjs +67 -0
  8. package/dist/acpSessionResume-CR5pmgVo.cjs +74 -0
  9. package/dist/{agentHome-CEp9RMyK.cjs → agentHome-C7Sb7-Tz.cjs} +4 -4
  10. package/dist/{agentHome-C1xi37as.mjs → agentHome-CmGy0NWv.mjs} +4 -4
  11. package/dist/{api-JANhFdZV.cjs → api-DM7b1OKj.cjs} +38 -262
  12. package/dist/{api-Dib0dmqC.mjs → api-Hov8p7CA.mjs} +32 -256
  13. package/dist/{apiMachine-DNTJidYH.mjs → apiMachine-CwGEhQDT.mjs} +62 -15
  14. package/dist/{apiMachine-QhK-sKcr.cjs → apiMachine-DkGRj-Ai.cjs} +64 -17
  15. package/dist/{attachmentContent-bpQTBJ0y.cjs → attachmentContent-CEm13_gF.cjs} +4 -4
  16. package/dist/{attachmentContent-DkkdpSSJ.mjs → attachmentContent-CIn4iPEk.mjs} +2 -2
  17. package/dist/{auth-BRjd2esb.mjs → auth-BG1DY0gj.mjs} +5 -5
  18. package/dist/{auth-DgIV0Cvt.cjs → auth-CBXnm-Mj.cjs} +5 -5
  19. package/dist/{auth-omWDtgR8.cjs → auth-Dawj7pP5.cjs} +8 -8
  20. package/dist/{auth-DNct7VUi.mjs → auth-rggxMpEE.mjs} +8 -8
  21. package/dist/{auto-DKGFOJBo.mjs → auto-CXXLXGeL.mjs} +19 -18
  22. package/dist/{auto-CI16FZmX.cjs → auto-CbYOfoPS.cjs} +19 -18
  23. package/dist/{backgroundTaskActivity-BVwJBl02.mjs → backgroundTaskActivity-8PdPxrvy.mjs} +1 -1
  24. package/dist/{bootstrap-DCQ87Aan.cjs → bootstrap-DoA7okld.cjs} +2 -2
  25. package/dist/{bootstrap-BUagGC_-.mjs → bootstrap-Dt5I1SOl.mjs} +2 -2
  26. package/dist/{browser-Dj_DYQEh.mjs → browser-DUNetFT4.mjs} +1 -1
  27. package/dist/{browser-CSKhc0Bl.cjs → browser-DZ6qRtfH.cjs} +1 -1
  28. package/dist/{claudeCliPath-U4HHmV4r.cjs → claudeCliPath-GaP3UUz1.cjs} +1 -1
  29. package/dist/{claudeLocal-CdIVnOZp.cjs → claudeLocal--DNyMOSv.cjs} +8 -7
  30. package/dist/{claudeLocal-CCCvAeMd.mjs → claudeLocal-OHWQigCl.mjs} +6 -5
  31. package/dist/{claudeLocalLauncher-BmrpaRYJ.mjs → claudeLocalLauncher-BStvfa7M.mjs} +11 -10
  32. package/dist/{claudeLocalLauncher-21-xh5gc.cjs → claudeLocalLauncher-BhvPbcyH.cjs} +13 -12
  33. package/dist/{claudeSessionFork-kYCP1IJB.cjs → claudeSessionFork-Be16vzGc.cjs} +1 -1
  34. package/dist/{claudeSessionFork-DvxMKAmY.mjs → claudeSessionFork-GAVWhiKG.mjs} +1 -1
  35. package/dist/{client-C4zKGjiJ.cjs → client-BWjaHKtj.cjs} +2 -2
  36. package/dist/client-Ca5Pcgy_.mjs +71 -0
  37. package/dist/{client-CnlkkrZO.mjs → client-CnB7kRCT.mjs} +2 -2
  38. package/dist/{client-BTX9hsbr.mjs → client-D4uPb1uu.mjs} +3 -3
  39. package/dist/client-DJplzPjD.cjs +76 -0
  40. package/dist/{client-Dnza1hgN.cjs → client-D_loZ9IK.cjs} +3 -3
  41. package/dist/codex/happyMcpStdioBridge.cjs +24 -15
  42. package/dist/codex/happyMcpStdioBridge.mjs +25 -16
  43. package/dist/{codexAppServerClient-DvkpQgyv.mjs → codexAppServerClient-CO4G6OS4.mjs} +3 -3
  44. package/dist/{codexAppServerClient-CRlBWGn3.cjs → codexAppServerClient-PE-12AsW.cjs} +3 -3
  45. package/dist/{codexCommand-DzxIWXIT.cjs → codexCommand-BNoD1t1C.cjs} +127 -116
  46. package/dist/{codexCommand-BxjogBzU.mjs → codexCommand-B_xUH79E.mjs} +77 -66
  47. package/dist/{codexTermination-C28FzlLb.cjs → codexTermination-BmBbizFK.cjs} +7 -2
  48. package/dist/{codexTermination-ySDNMEhd.mjs → codexTermination-Dx48ma6e.mjs} +7 -2
  49. package/dist/{config-BFB5uJ4t.cjs → config-CtwEUxUP.cjs} +26 -26
  50. package/dist/{config-DwfEpFr3.mjs → config-DSu0Blos.mjs} +3 -3
  51. package/dist/{configuration-4TGMrjul.cjs → configuration-CYO-kPOS.cjs} +1 -1
  52. package/dist/{configuration-DVrb61aY.mjs → configuration-PxzEJumr.mjs} +1 -1
  53. package/dist/{connect-C7FPY0PI.mjs → connect-BQrg3TB6.mjs} +15 -15
  54. package/dist/{connect-QH2VJGBG.cjs → connect-Dq7wndzR.cjs} +28 -28
  55. package/dist/{context-JoKu0V54.cjs → context-6TP-iz_c.cjs} +1 -1
  56. package/dist/{context-B3XPVJlj.mjs → context-CJGRRGWW.mjs} +1 -1
  57. package/dist/{controlClient-BTaZlbC6.cjs → controlClient-Bqv5v5OM.cjs} +3 -3
  58. package/dist/{controlClient-BYKyGyxj.mjs → controlClient-DoeYovwP.mjs} +4 -4
  59. package/dist/{createSessionMetadata-8Fuj2-IV.mjs → createSessionMetadata-DDIChCx8.mjs} +2 -2
  60. package/dist/{createSessionMetadata-B2NynaWZ.cjs → createSessionMetadata-xz767pcG.cjs} +3 -3
  61. package/dist/{defaultPermissionMode-BEWCqJU-.cjs → defaultPermissionMode-PkZGsQDk.cjs} +2 -2
  62. package/dist/{defaultPermissionMode-B8kJG9uI.mjs → defaultPermissionMode-i5KzdK09.mjs} +2 -2
  63. package/dist/{detectCLI-DR9ZaN6B.cjs → detectCLI-BuYR_Qxe.cjs} +4 -4
  64. package/dist/{deterministicJson-C5ZwZ7hu.mjs → deterministicJson-CTEJDqtS.mjs} +217 -12
  65. package/dist/{deterministicJson-BjNQsAjO.cjs → deterministicJson-xqA6DaOm.cjs} +222 -16
  66. package/dist/{doctor-BshRnjLi.cjs → doctor-BrgSlfXn.cjs} +9 -9
  67. package/dist/{doctor-0BiGwJXk.mjs → doctor-IctjVh9T.mjs} +8 -8
  68. package/dist/{doctorReadiness-BCZGcN0a.cjs → doctorReadiness-Dl6yRQCy.cjs} +1 -1
  69. package/dist/{downloadTarget-BN5vZt3K.cjs → downloadTarget-CEb9che-.cjs} +6 -6
  70. package/dist/{downloadTarget-DJPwAZlu.mjs → downloadTarget-jbOz1egC.mjs} +6 -6
  71. package/dist/{ensureDaemonRunning-C5QfToCe.cjs → ensureDaemonRunning-D-HyjGIX.cjs} +6 -6
  72. package/dist/{ensureDaemonRunning-CSmb_mqt.mjs → ensureDaemonRunning-b1e8LCSM.mjs} +5 -5
  73. package/dist/{handleResumeCommand-BwnUZmbo.cjs → handleResumeCommand-BvWVuRwH.cjs} +23 -7
  74. package/dist/{handleResumeCommand-CgjpsdDe.mjs → handleResumeCommand-DpaZvm2c.mjs} +22 -6
  75. package/dist/{index-piJPsTsm.cjs → index-B2p2Mut7.cjs} +259 -53
  76. package/dist/{index-BehVbAsA.mjs → index-BUNnpGFF.mjs} +256 -50
  77. package/dist/{index-Bvldtdny.mjs → index-Bsvbgh9e.mjs} +4 -4
  78. package/dist/{index-BYOZ_8WZ.cjs → index-C64Ufj4D.cjs} +4 -4
  79. package/dist/{index-Clqlu17M.mjs → index-C6Vn5Eac.mjs} +155 -34
  80. package/dist/index-CMf5VbzG.mjs +18 -0
  81. package/dist/index-DmTlDRSL.cjs +24 -0
  82. package/dist/{index-_l1Sdmbi.cjs → index-Dv0Q48P3.cjs} +156 -33
  83. package/dist/{index-BRClDe07.cjs → index-F2UejqYs.cjs} +3 -3
  84. package/dist/{index-BYgfern_.mjs → index-wCbtF4BK.mjs} +3 -3
  85. package/dist/index.cjs +2 -2
  86. package/dist/index.mjs +2 -2
  87. package/dist/{install-BdvKiOQw.mjs → install-BX3lv3NO.mjs} +1 -1
  88. package/dist/{install-Cf6AFSWC.cjs → install-BXvf2E3o.cjs} +1 -1
  89. package/dist/{install-TO4taKW7.cjs → install-C0ANcEAW.cjs} +7 -7
  90. package/dist/{install-fYWHrPcC.mjs → install-CdzSV7qO.mjs} +3 -3
  91. package/dist/{installPiTools-BKnXjrVu.cjs → installPiTools-CL_axh_6.cjs} +1 -1
  92. package/dist/{installTerminalHooks-BQZbvxsZ.cjs → installTerminalHooks-BETLKAtd.cjs} +3 -3
  93. package/dist/lib.cjs +14 -14
  94. package/dist/lib.d.cts +239 -2
  95. package/dist/lib.d.mts +239 -2
  96. package/dist/lib.mjs +14 -14
  97. package/dist/{lidState-BeOwj6eW.cjs → lidState-DWGnm2H4.cjs} +1 -1
  98. package/dist/{lidState-DNMlIhX0.mjs → lidState-bBrmaQd2.mjs} +1 -1
  99. package/dist/{localHappyAgentAuth-Br-mgogg.cjs → localHappyAgentAuth-DZHQnIW9.cjs} +1 -1
  100. package/dist/{localHappyAgentAuth-BezKSFDi.mjs → localHappyAgentAuth-Dn1jYDpt.mjs} +1 -1
  101. package/dist/{logger--vAVtXB_.mjs → logger-BUngm5Xg.mjs} +2 -2
  102. package/dist/{logger-DXTWlPzP.cjs → logger-CphW5nUE.cjs} +2 -2
  103. package/dist/machineMetadata-BQm9YTcI.cjs +79 -0
  104. package/dist/machineMetadata-BXN_bKU3.mjs +68 -0
  105. package/dist/{main-DoMFJ2Cl.cjs → main-B2UV51nK.cjs} +112 -132
  106. package/dist/{main-CshDb5-1.mjs → main-DGkdYfEq.mjs} +106 -126
  107. package/dist/{mcp-pNc1EbQf.cjs → mcp-BFvAEIRz.cjs} +15 -15
  108. package/dist/{mcp-DKT_lrvQ.mjs → mcp-CbTtbs0f.mjs} +15 -15
  109. package/dist/{mirrorProtocol-6IFGPpjJ.mjs → mirrorProtocol-BR4luBC0.mjs} +148 -7
  110. package/dist/{mirrorProtocol-qKflWTX_.cjs → mirrorProtocol-HKPivs5o.cjs} +150 -4
  111. package/dist/{package-B7B03ejW.mjs → package-7Ld1YMhh.mjs} +8 -7
  112. package/dist/{package-DY4zTbKS.cjs → package-KhLqBDX9.cjs} +8 -7
  113. package/dist/panels-C7IVqpJk.mjs +137 -0
  114. package/dist/panels-Njf6GelF.cjs +142 -0
  115. package/dist/{peerTools-3R9RUARX.mjs → peerTools-BOlDRyhi.mjs} +60 -10
  116. package/dist/{peerTools-iy3_6Yc5.cjs → peerTools-DQNlrcqM.cjs} +60 -9
  117. package/dist/{persistence-BfX72dne.cjs → persistence-9BMYspxG.cjs} +2 -2
  118. package/dist/{persistence-DTk4sNpd.mjs → persistence-BFUOHW5h.mjs} +3 -3
  119. package/dist/{piRunnerArgs-CRQVR9o-.cjs → piRunnerArgs-DGaq6VYM.cjs} +8 -2
  120. package/dist/{piRunnerArgs-AT8QJY7x.mjs → piRunnerArgs-H2pgpA5z.mjs} +7 -1
  121. package/dist/{piRuntime-BHRT5MKO.cjs → piRuntime-CT5xv_3h.cjs} +2 -2
  122. package/dist/{piRuntime-E44qTVQ4.mjs → piRuntime-CdN0JAsa.mjs} +2 -2
  123. package/dist/{piTerminal-hI4WFdWm.cjs → piTerminal-0FBtXTHK.cjs} +18 -18
  124. package/dist/{piTerminal-De8nbciM.mjs → piTerminal-C4m9YXAV.mjs} +18 -18
  125. package/dist/processTreeSnapshot-CuLJDNC-.mjs +101 -0
  126. package/dist/processTreeSnapshot-mDbnuojn.cjs +105 -0
  127. package/dist/projectPath-C3ioB4Bu.cjs +13 -0
  128. package/dist/prompt-BOouDaTM.mjs +99 -0
  129. package/dist/prompt-lgF9IE82.cjs +105 -0
  130. package/dist/{attachmentLimits-UyFn8fkQ.mjs → pushNotifications-DCiBEVeC.mjs} +307 -3
  131. package/dist/{attachmentLimits-SqeAHrVC.cjs → pushNotifications-DI92havG.cjs} +308 -2
  132. package/dist/{index-DFPT4HOO.cjs → query-BETKBrnz.cjs} +25 -5
  133. package/dist/{index-CEjJnq05.mjs → query-ywZbQUzR.mjs} +26 -3
  134. package/dist/{rateLimitWindows-XrJiiBpU.mjs → rateLimitWindows-BkfuUB1a.mjs} +1 -1
  135. package/dist/{rateLimitWindows-Czb7_7cK.cjs → rateLimitWindows-YRIYVdo4.cjs} +1 -1
  136. package/dist/{registerCommonHandlers-C0_fyBQ0.cjs → registerCommonHandlers-C7a_dUWs.cjs} +30 -30
  137. package/dist/{registerCommonHandlers-CvIedVRf.mjs → registerCommonHandlers-CTkCvjxt.mjs} +2 -2
  138. package/dist/{registerKillSessionHandler-DYl7l4Ts.cjs → registerKillSessionHandler-CIsvBrVe.cjs} +6 -6
  139. package/dist/{registerKillSessionHandler-gwJ5lTf0.mjs → registerKillSessionHandler-CaqqRYq6.mjs} +6 -6
  140. package/dist/{remoteSessionClient-BRTIOX5b.cjs → remoteSessionClient-D843fkzL.cjs} +5 -5
  141. package/dist/{remoteSessionClient-DRb2Jr5s.mjs → remoteSessionClient-PP-mOKmw.mjs} +5 -5
  142. package/dist/{reportProgressTool-B9nCzbkL.cjs → reportProgressTool-14AXr959.cjs} +84 -2
  143. package/dist/{reportProgressTool-D5tEoXMW.mjs → reportProgressTool-ZOCNjWHr.mjs} +82 -3
  144. package/dist/{resources-JDPugcDq.cjs → resources-CvIlkzpP.cjs} +30 -0
  145. package/dist/{resources-BdFBQi8r.mjs → resources-y9jfyO-_.mjs} +30 -0
  146. package/dist/{run-CKe_WeLW.cjs → run-CAOCYYfT.cjs} +2806 -110
  147. package/dist/{run-BQ_FGaOL.mjs → run-Dajw2E5j.mjs} +2787 -91
  148. package/dist/{runClaude-zrrNcQC_.mjs → runClaude-C6oxWYbp.mjs} +49 -47
  149. package/dist/{runClaude-MHI5IKM-.cjs → runClaude-CRRKt-tm.cjs} +50 -48
  150. package/dist/{runClaudeDeps-RRw-Nusc.cjs → runClaudeDeps-B1ysqTvx.cjs} +310 -237
  151. package/dist/{runClaudeDeps-CVBCokOS.mjs → runClaudeDeps-BcZ68cX3.mjs} +297 -226
  152. package/dist/{runGemini-kipag2ag.mjs → runGemini-D7yKc4wD.mjs} +61 -55
  153. package/dist/{runGemini-D7Lg9yCr.cjs → runGemini-DtKFXqf-.cjs} +89 -83
  154. package/dist/{runOpenClaw-C_lRY3Do.mjs → runOpenClaw-C8ilyLP9.mjs} +19 -19
  155. package/dist/{runOpenClaw-DCcQ0L2N.cjs → runOpenClaw-Cq29mryb.cjs} +20 -20
  156. package/dist/{sandbox-BSyXFVFp.mjs → sandbox-CbCutma4.mjs} +4 -4
  157. package/dist/{sandbox-dMwPTmjm.cjs → sandbox-gIj-EuF4.cjs} +4 -4
  158. package/dist/{selfCheck-DkzDDUsE.cjs → selfCheck-BTGBVthv.cjs} +39 -38
  159. package/dist/selfCheck-Smt-5Xiq.mjs +85 -0
  160. package/dist/{send-dxC0miIA.cjs → send-CZf5lLw_.cjs} +8 -8
  161. package/dist/{send-C-k9nsd3.mjs → send-YZRMQvMJ.mjs} +9 -9
  162. package/dist/{server-DxoTYNlw.mjs → server-BqwXRzFZ.mjs} +4 -4
  163. package/dist/{server-B-W6P7Qr.cjs → server-CknFq6xG.cjs} +6 -6
  164. package/dist/sessionExitLifecycle-CzkLIgNZ.mjs +142 -0
  165. package/dist/sessionExitLifecycle-DFltxXU8.cjs +148 -0
  166. package/dist/{sessionLock-DWX6BbiU.cjs → sessionLock-DRZUcKHT.cjs} +38 -5
  167. package/dist/{sessionLock-DBdtZGOL.mjs → sessionLock-nBXdJxJm.mjs} +36 -5
  168. package/dist/{sessionOps-BAnr7n8t.cjs → sessionOps-BrGiU9-s.cjs} +10 -5
  169. package/dist/{sessionOps-BVoXe12O.mjs → sessionOps-C58iDeD5.mjs} +11 -6
  170. package/dist/{sessionScanner-BtxoeluY.mjs → sessionScanner-Bm57LEXe.mjs} +3 -3
  171. package/dist/{sessionScanner-CDOYsEUD.cjs → sessionScanner-CaO8bLaG.cjs} +3 -3
  172. package/dist/{sessions-C3sZJkzI.mjs → sessions-BXyBHo8n.mjs} +40 -18
  173. package/dist/{sessions-hAitoN-m.cjs → sessions-uzqPCc37.cjs} +39 -16
  174. package/dist/{setupOfflineReconnection-_eD4cuUT.mjs → setupOfflineReconnection-1Qlek3wl.mjs} +2 -2
  175. package/dist/{setupOfflineReconnection-C2EeYTFH.cjs → setupOfflineReconnection-DvvVX3TB.cjs} +2 -2
  176. package/dist/{spawn-Bc9v7pIf.cjs → spawn-DBkodJEO.cjs} +49 -18
  177. package/dist/{spawn-qNrB2CD_.mjs → spawn-vn93PhYL.mjs} +49 -18
  178. package/dist/spawnAgents-CgPMWexP.mjs +79 -0
  179. package/dist/{spawnAgents-BVEaz35W.cjs → spawnAgents-DLNMlhWJ.cjs} +37 -1
  180. package/dist/{spawnHappyCLI-C2stUioM.mjs → spawnHappyCLI-BjFZc_7V.mjs} +1 -1
  181. package/dist/{spawnHappyCLI-fzUagkKV.cjs → spawnHappyCLI-DnUZv0X2.cjs} +2 -2
  182. package/dist/{specialCommands-BJ-nqY4s.cjs → specialCommands-BRufxlqe.cjs} +3 -3
  183. package/dist/{specialCommands-C6W-rVyh.mjs → specialCommands-D3ND9bdg.mjs} +3 -3
  184. package/dist/{startFileWatcher-Bqlqjt93.cjs → startFileWatcher-D9cYzZOq.cjs} +1 -1
  185. package/dist/{startFileWatcher-CR09Snmz.mjs → startFileWatcher-DXJ7yB5v.mjs} +1 -1
  186. package/dist/startupSessionCreate-kdr3m1uX.cjs +26 -0
  187. package/dist/startupSessionCreate-uZ6BM0ty.mjs +24 -0
  188. package/dist/{streamRelay-CJoMk_d2.mjs → streamRelay-DnMCMMfV.mjs} +1 -1
  189. package/dist/{streamRelay-9kBPpbvU.cjs → streamRelay-Dy6amlzx.cjs} +1 -1
  190. package/dist/{sync-Dhmtk66S.cjs → sync-Bn-idAoy.cjs} +1 -1
  191. package/dist/{sync-DbW07iQS.mjs → sync-BvVhDO40.mjs} +1 -1
  192. package/dist/{systemPrompt-CQcuUmVp.mjs → systemPrompt-CIZcJuJF.mjs} +4 -3
  193. package/dist/{systemPrompt-3PYi3EUY.cjs → systemPrompt-DlyEk35T.cjs} +4 -3
  194. package/dist/{teams-DpxLcUU_.cjs → teams-BLeRpDxv.cjs} +8 -8
  195. package/dist/{teams-CwF4Z2fA.mjs → teams-DLY3B5yi.mjs} +8 -8
  196. package/dist/{time-A6zR3Iy6.cjs → time-Cjv0zxQO.cjs} +1 -1
  197. package/dist/{time-BuGWTVP6.mjs → time-D3ETL7Jb.mjs} +1 -1
  198. package/dist/{titleGenerator-D26gvNaS.cjs → titleGenerator-Cgp5ihFb.cjs} +10 -9
  199. package/dist/{titleGenerator-BGEzNWC9.mjs → titleGenerator-Uzbd4utr.mjs} +9 -8
  200. package/dist/{todo-DrZc76H5.mjs → todo-C9Ga-oEM.mjs} +6 -6
  201. package/dist/{todo-73g3NCIO.cjs → todo-pOMcEECE.cjs} +6 -6
  202. package/dist/{tools-CxJp4T1T.cjs → tools-BL7Byl_x.cjs} +1 -1
  203. package/dist/{tools-BtsrQnNS.mjs → tools-Cho7iIWf.mjs} +1 -1
  204. package/dist/{uninstall-DWNYvewQ.cjs → uninstall-CbayEVoV.cjs} +6 -6
  205. package/dist/{uninstall-DOb2mTwV.mjs → uninstall-CvZHVY9C.mjs} +3 -3
  206. package/dist/webPanels-B2_C2-3g.mjs +49 -0
  207. package/dist/webPanels-FCgFKvVe.cjs +53 -0
  208. package/package.json +8 -7
  209. package/dist/machineMetadata-B1H9gNbN.mjs +0 -39
  210. package/dist/machineMetadata-DcUupMje.cjs +0 -42
  211. package/dist/messageBuffer-BWlGgR3A.mjs +0 -71
  212. package/dist/messageBuffer-fJMH6uY8.cjs +0 -73
  213. package/dist/projectPath-ChLhdOyt.cjs +0 -13
  214. package/dist/selfCheck-CF7XGJPb.mjs +0 -84
  215. package/dist/sessionModeFile-ByLbXTbg.mjs +0 -32
  216. package/dist/sessionModeFile-CLLdidiJ.cjs +0 -36
  217. package/dist/spawnAgents-Bw6j4tqz.mjs +0 -45
@@ -1,97 +1,102 @@
1
- import { a as authAndSetupMachineIfNeeded } from './auth-BRjd2esb.mjs';
2
- import { c as createEnvelope, o as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY, r as CODEX_STEER_CAPABILITY } from './index-Clqlu17M.mjs';
1
+ import { a as authAndSetupMachineIfNeeded } from './auth-BG1DY0gj.mjs';
2
+ import { d as createEnvelope, f as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY, u as CODEX_STEER_CAPABILITY, a as PROJECT_SESSION_CAPABILITY } from './index-C6Vn5Eac.mjs';
3
+ import { h as hashObject, s as startHappyServer, c as createProjectInjector } from './deterministicJson-CTEJDqtS.mjs';
4
+ import { s as sharedProjectsClient } from './client-Ca5Pcgy_.mjs';
3
5
  import { unlink } from 'node:fs/promises';
4
6
  import { p as publishForkBackfillWhenCommitted, F as FORK_BACKFILL_CAPABILITY } from './forkBackfill-DYIjlN1Z.mjs';
5
7
  import { randomUUID } from 'node:crypto';
6
8
  import { createId } from '@paralleldrive/cuid2';
7
9
  import { r as registerAgentAttachmentDownloads } from './agentAttachments-M_B5qEF2.mjs';
8
- import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-DkkdpSSJ.mjs';
10
+ import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-CIn4iPEk.mjs';
9
11
  import { useStdout, useInput, Box, Text, render } from 'ink';
10
- import { c as claimSessionOrExit, a as applyServerSnapshot, b as applyHibernationReplay, w as withoutServerSnapshot, m as mergeReconnectMetadata } from './sessionLock-DBdtZGOL.mjs';
12
+ import { c as claimSessionOrExit, a as applyServerSnapshot, b as applyReconnectReplay, w as withoutServerSnapshot, m as mergeReconnectMetadata, e as exitCursorStamp } from './sessionLock-nBXdJxJm.mjs';
11
13
  import React, { useState, useRef, useEffect, useCallback } from 'react';
12
- import { c as connectionState, A as ApiClient } from './api-Dib0dmqC.mjs';
13
- import { C as CodexAppServerClient } from './codexAppServerClient-DvkpQgyv.mjs';
14
- import { p as parseSpecialCommand, w as wrapperRateLimitReporter } from './specialCommands-C6W-rVyh.mjs';
15
- import { l as logger } from './logger--vAVtXB_.mjs';
16
- import { B as BasePermissionHandler } from './BasePermissionHandler-BVlrEhIi.mjs';
17
- import { B as BaseReasoningProcessor, s as settleCodexSession } from './codexTermination-ySDNMEhd.mjs';
14
+ import { c as connectionState, A as ApiClient } from './api-Hov8p7CA.mjs';
15
+ import { C as CodexAppServerClient } from './codexAppServerClient-CO4G6OS4.mjs';
16
+ import { p as parseSpecialCommand, w as wrapperRateLimitReporter } from './specialCommands-D3ND9bdg.mjs';
17
+ import { l as logger } from './logger-BUngm5Xg.mjs';
18
+ import { B as BasePermissionHandler } from './BasePermissionHandler-26fKbRCm.mjs';
19
+ import { B as BaseReasoningProcessor, s as settleCodexSession } from './codexTermination-Dx48ma6e.mjs';
18
20
  import { execSync } from 'node:child_process';
19
- import { r as readSettings, l as latchKeepAwake, e as evaluateWrapperIdle, a as resolveCheckMs, H as HIBERNATION_CAPABILITY } from './persistence-DTk4sNpd.mjs';
20
- import { g as getInitialMachineMetadata } from './machineMetadata-B1H9gNbN.mjs';
21
- import { c as configuration } from './configuration-DVrb61aY.mjs';
22
- import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-gwJ5lTf0.mjs';
21
+ import { r as readSettings, l as latchKeepAwake, e as evaluateWrapperIdle, a as resolveCheckMs, H as HIBERNATION_CAPABILITY } from './persistence-BFUOHW5h.mjs';
22
+ import { g as getInitialMachineMetadata } from './machineMetadata-BXN_bKU3.mjs';
23
+ import { c as configuration } from './configuration-PxzEJumr.mjs';
24
+ import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-CaqqRYq6.mjs';
23
25
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
24
26
  import { join } from 'node:path';
25
- import { c as createSessionMetadata } from './createSessionMetadata-8Fuj2-IV.mjs';
26
- import { h as hashObject, s as startHappyServer } from './deterministicJson-C5ZwZ7hu.mjs';
27
- import { M as MessageBuffer } from './messageBuffer-BWlGgR3A.mjs';
28
- import { n as notifyDaemonSessionStarted, j as reportSessionEditToDaemon, c as checkDaemonHibernation } from './controlClient-BYKyGyxj.mjs';
29
- import { a as HibernationExitLatch, H as HibernationProbe, c as commitHibernation, b as DEFAULT_CODEX_PERMISSION_MODE } from './defaultPermissionMode-B8kJG9uI.mjs';
27
+ import { c as createSessionMetadata } from './createSessionMetadata-DDIChCx8.mjs';
28
+ import { M as MessageBuffer } from './sessionExitLifecycle-CzkLIgNZ.mjs';
29
+ import { n as notifyDaemonSessionStarted, j as reportSessionEditToDaemon, c as checkDaemonHibernation } from './controlClient-DoeYovwP.mjs';
30
+ import { a as HibernationExitLatch, H as HibernationProbe, c as commitHibernation, b as DEFAULT_CODEX_PERMISSION_MODE } from './defaultPermissionMode-i5KzdK09.mjs';
30
31
  import { d as decodeBase64, e as encodeBase64 } from './authRelay-DhQhkBvX.mjs';
31
- import { s as setupOfflineReconnection } from './setupOfflineReconnection-_eD4cuUT.mjs';
32
+ import { s as setupOfflineReconnection } from './setupOfflineReconnection-1Qlek3wl.mjs';
33
+ import { c as createSessionForStartup } from './startupSessionCreate-uZ6BM0ty.mjs';
32
34
  import { t as trimIdent } from './trimIdent-BAjmv_TG.mjs';
33
35
  import { C as CHANGE_TITLE_INSTRUCTION } from './constants-BC4St0xd.mjs';
34
36
  import { E as EditReportThrottle, a as extractCodexPatchPaths } from './editPaths-BVfS_FFL.mjs';
35
- import { a as extractNoSandboxFlag, e as ensureDaemonRunning } from './ensureDaemonRunning-CSmb_mqt.mjs';
37
+ import { a as extractNoSandboxFlag, e as ensureDaemonRunning } from './ensureDaemonRunning-b1e8LCSM.mjs';
36
38
  import 'tweetnacl';
37
39
  import 'axios';
38
- import './time-BuGWTVP6.mjs';
39
- import './browser-Dj_DYQEh.mjs';
40
+ import './time-D3ETL7Jb.mjs';
41
+ import './browser-DUNetFT4.mjs';
40
42
  import 'open';
41
43
  import 'zod';
42
- import './attachmentLimits-UyFn8fkQ.mjs';
44
+ import './prompt-BOouDaTM.mjs';
45
+ import './reportProgressTool-ZOCNjWHr.mjs';
46
+ import './client-CnB7kRCT.mjs';
47
+ import './precheckCompat-DeEbilbr.mjs';
48
+ import './agentGuidance-BDYt2Qy2.mjs';
43
49
  import 'node:fs';
44
- import './lidState-DNMlIhX0.mjs';
50
+ import './client-D4uPb1uu.mjs';
51
+ import './context-CJGRRGWW.mjs';
52
+ import './sessionOps-C58iDeD5.mjs';
53
+ import 'socket.io-client';
54
+ import './backgroundTaskActivity-8PdPxrvy.mjs';
55
+ import './resources-y9jfyO-_.mjs';
56
+ import './tools-Cho7iIWf.mjs';
57
+ import './peerTools-BOlDRyhi.mjs';
58
+ import 'node:os';
59
+ import './ids-DU6sLx4C.mjs';
60
+ import './remoteSessionClient-PP-mOKmw.mjs';
61
+ import '@modelcontextprotocol/sdk/server/mcp.js';
62
+ import 'node:http';
63
+ import '@modelcontextprotocol/sdk/server/streamableHttp.js';
64
+ import './limits-DIo7rEBR.mjs';
65
+ import './downloadTarget-jbOz1egC.mjs';
66
+ import './terminals-Dlg0x3nY.mjs';
67
+ import './terminalTitleSuggest-CeKsX_V6.mjs';
68
+ import './tmuxSocket-B8Yx20sT.mjs';
69
+ import './bootstrap-Dt5I1SOl.mjs';
70
+ import './package-7Ld1YMhh.mjs';
71
+ import './webPanels-B2_C2-3g.mjs';
72
+ import './pushNotifications-DCiBEVeC.mjs';
73
+ import './contentLogMetadata-BlWI0egu.mjs';
74
+ import './previewPath-CXN4Vag0.mjs';
75
+ import 'crypto';
76
+ import './processTreeSnapshot-CuLJDNC-.mjs';
77
+ import './lidState-bBrmaQd2.mjs';
45
78
  import 'os';
46
79
  import 'child_process';
47
80
  import 'node:events';
48
- import 'socket.io-client';
49
- import './limits-DIo7rEBR.mjs';
50
- import './registerCommonHandlers-CvIedVRf.mjs';
81
+ import './registerCommonHandlers-CTkCvjxt.mjs';
51
82
  import 'util';
52
83
  import 'fs/promises';
53
- import 'crypto';
54
84
  import 'path';
55
85
  import 'cross-spawn';
56
- import './sync-DbW07iQS.mjs';
57
- import './backgroundTaskActivity-BVwJBl02.mjs';
58
- import './contentLogMetadata-BlWI0egu.mjs';
86
+ import './sync-BvVhDO40.mjs';
59
87
  import 'chalk';
60
88
  import 'node:readline';
61
89
  import './manager-BEsI4qt3.mjs';
62
90
  import '@anthropic-ai/sandbox-runtime';
63
- import 'node:os';
64
- import './package-B7B03ejW.mjs';
65
- import './rateLimitWindows-XrJiiBpU.mjs';
91
+ import './rateLimitWindows-BkfuUB1a.mjs';
66
92
  import './processTree-CP5IvQ2Z.mjs';
67
93
  import 'node:util';
68
94
  import './detectCLI-CSGMlV51.mjs';
69
95
  import 'fs';
70
- import './localHappyAgentAuth-BezKSFDi.mjs';
96
+ import './localHappyAgentAuth-Dn1jYDpt.mjs';
71
97
  import './types-CkqAACXx.mjs';
72
98
  import 'url';
73
- import './client-BTX9hsbr.mjs';
74
- import './context-B3XPVJlj.mjs';
75
- import './sessionOps-BVoXe12O.mjs';
76
- import './resources-BdFBQi8r.mjs';
77
- import './tools-BtsrQnNS.mjs';
78
- import './reportProgressTool-D5tEoXMW.mjs';
79
- import './client-CnlkkrZO.mjs';
80
- import './precheckCompat-DeEbilbr.mjs';
81
- import './agentGuidance-BDYt2Qy2.mjs';
82
- import './peerTools-3R9RUARX.mjs';
83
- import './ids-DU6sLx4C.mjs';
84
- import './remoteSessionClient-DRb2Jr5s.mjs';
85
- import '@modelcontextprotocol/sdk/server/mcp.js';
86
- import 'node:http';
87
- import '@modelcontextprotocol/sdk/server/streamableHttp.js';
88
- import './downloadTarget-DJPwAZlu.mjs';
89
- import './terminals-Dlg0x3nY.mjs';
90
- import './terminalTitleSuggest-CeKsX_V6.mjs';
91
- import './tmuxSocket-B8Yx20sT.mjs';
92
- import './bootstrap-BUagGC_-.mjs';
93
- import './previewPath-CXN4Vag0.mjs';
94
- import './spawnHappyCLI-C2stUioM.mjs';
99
+ import './spawnHappyCLI-BjFZc_7V.mjs';
95
100
  import './doctorReadiness-C208SMN9.mjs';
96
101
 
97
102
  function getStartedSubagents(state) {
@@ -1394,7 +1399,7 @@ async function runCodex(opts) {
1394
1399
  dangerouslySkipPermissions: initialPermissionMode === "yolo" || initialPermissionMode === "bypassPermissions",
1395
1400
  ...forkedFromSessionId ? { parentSessionId: forkedFromSessionId } : {},
1396
1401
  ...forkedFromMessageId ? { forkedFromMessageId } : {},
1397
- capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY, CODEX_STEER_CAPABILITY]
1402
+ capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY, CODEX_STEER_CAPABILITY, PROJECT_SESSION_CAPABILITY]
1398
1403
  });
1399
1404
  metadata.attachmentKinds = [...CLAUDE_ATTACHMENT_KINDS];
1400
1405
  const importCodexThreadId = process.env[IMPORT_CODEX_THREAD_ENV];
@@ -1423,7 +1428,7 @@ async function runCodex(opts) {
1423
1428
  agentStateVersion: parseInt(reconnectAgentStateVersion || "0", 10)
1424
1429
  };
1425
1430
  } else {
1426
- response = await api.getOrCreateSession({ tag: sessionTag, metadata, state });
1431
+ response = await createSessionForStartup(() => api.getOrCreateSession({ tag: sessionTag, metadata, state }), { startedBy: opts.startedBy, log: (m) => logger.debug(m) });
1427
1432
  }
1428
1433
  if (response) {
1429
1434
  await claimSessionOrExit(response.id, { takeover: !!reconnectSessionId, flavor: "codex" });
@@ -1433,15 +1438,18 @@ async function runCodex(opts) {
1433
1438
  }
1434
1439
  let reconnectSeeded = false;
1435
1440
  let wakingFromHibernation = false;
1441
+ let reconnectReplay = null;
1436
1442
  if (reconnectSessionId && response) {
1437
1443
  const snapshot = await api.getSession(response.id, response.encryptionKey, response.encryptionVariant);
1438
1444
  if (snapshot.ok) {
1439
1445
  response = applyServerSnapshot(response, snapshot.session);
1440
1446
  reconnectSeeded = true;
1441
1447
  logger.debug(`[START] Reconnect seeded from server: seq=${snapshot.session.seq} metadataVersion=${snapshot.session.metadataVersion}`);
1442
- const wake = applyHibernationReplay(response);
1448
+ const wake = applyReconnectReplay(response);
1443
1449
  response = wake.response;
1444
- wakingFromHibernation = wake.replaying;
1450
+ reconnectReplay = wake.replay;
1451
+ wakingFromHibernation = wake.replay?.source === "hibernation";
1452
+ if (wake.replay) logger.debug(`[START] Resuming (${wake.replay.source}): replaying records after seq=${response.seq}`);
1445
1453
  } else {
1446
1454
  response = withoutServerSnapshot(response);
1447
1455
  logger.debug(`[START] Reconnect without server snapshot (${snapshot.reason}); skipping existing messages`);
@@ -1472,7 +1480,7 @@ async function runCodex(opts) {
1472
1480
  if (reconnectSessionId) {
1473
1481
  session.suppressNextArchiveSignal();
1474
1482
  if (!reconnectSeeded) session.skipExistingMessages();
1475
- if (!wakingFromHibernation) void session.cancelUndeliveredQueuedInputs();
1483
+ if (!wakingFromHibernation) void session.cancelUndeliveredQueuedInputs(reconnectReplay ? { maxSeq: reconnectReplay.seq } : void 0);
1476
1484
  session.updateMetadata((meta) => mergeReconnectMetadata(meta, metadata, Date.now()));
1477
1485
  }
1478
1486
  if (response) {
@@ -1708,10 +1716,12 @@ async function runCodex(opts) {
1708
1716
  return;
1709
1717
  }
1710
1718
  logger.debug("[Codex] Kill session requested - terminating process");
1719
+ const exitCursor = intent === "offline" && session ? exitCursorStamp(session.messageCursor, Date.now()) : void 0;
1720
+ if (exitCursor) session.freezeInbound();
1711
1721
  await handleAbort("kill");
1712
1722
  logger.debug("[Codex] Abort completed, proceeding with termination");
1713
1723
  try {
1714
- if (session) await settleCodexSession(session, intent, (id) => api.deactivateSession(id), (m, e) => logger.debug(m, safeCodexErrorMetadata(e)));
1724
+ if (session) await settleCodexSession(session, intent, (id) => api.deactivateSession(id), (m, e) => logger.debug(m, safeCodexErrorMetadata(e)), exitCursor);
1715
1725
  try {
1716
1726
  await client.disconnect();
1717
1727
  } catch (e) {
@@ -1917,7 +1927,7 @@ async function runCodex(opts) {
1917
1927
  }
1918
1928
  }
1919
1929
  });
1920
- const happyServer = await startHappyServer(session);
1930
+ const happyServer = await startHappyServer(session, { push: { sendAttention: (input) => api.push().sendAttention(input) } });
1921
1931
  const bridgeEntrypoint = join(projectPath(), "bin", "very-happy-mcp.mjs");
1922
1932
  const mcpServers = {
1923
1933
  [HAPPY_MCP_SERVER_NAME]: {
@@ -1927,6 +1937,7 @@ async function runCodex(opts) {
1927
1937
  };
1928
1938
  let first = true;
1929
1939
  let appendSystemPromptInjected = false;
1940
+ const projectInjector = createProjectInjector({ client: sharedProjectsClient(), sessionId: () => session?.sessionId, metadata: () => session?.getMetadata?.() ?? null, agent: "codex" });
1930
1941
  process.env.VH_PEER_SESSION_ID = session.sessionId;
1931
1942
  try {
1932
1943
  logger.debug("[codex]: client.connect begin");
@@ -2133,7 +2144,7 @@ async function runCodex(opts) {
2133
2144
  message.mode.appendSystemPrompt && !appendSystemPromptInjected
2134
2145
  );
2135
2146
  const turnPrompt = buildCodexTurnPrompt({
2136
- message: message.message,
2147
+ message: await projectInjector.decorate(message.message),
2137
2148
  mode: message.mode,
2138
2149
  includeAppendSystemPrompt,
2139
2150
  includeTitleInstruction: first
@@ -1,7 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var node_crypto = require('node:crypto');
4
- var logger = require('./logger-DXTWlPzP.cjs');
4
+ var logger = require('./logger-CphW5nUE.cjs');
5
+ var sessionExitLifecycle = require('./sessionExitLifecycle-DFltxXU8.cjs');
5
6
 
6
7
  class BaseReasoningProcessor {
7
8
  accumulator = "";
@@ -198,7 +199,11 @@ class BaseReasoningProcessor {
198
199
  }
199
200
 
200
201
  async function settleCodexSession(session, intent, deactivate, log = () => {
201
- }) {
202
+ }, exitCursor) {
203
+ if (intent === "offline" && exitCursor && session.updateMetadataAndWait) {
204
+ const landed = await session.updateMetadataAndWait((currentMetadata) => ({ ...currentMetadata, exitCursor }), sessionExitLifecycle.OFFLINE_EXIT_STAMP_TIMEOUT_MS);
205
+ if (!landed) log("[Codex] offline exit cursor not confirmed before going offline");
206
+ }
202
207
  if (intent === "archive") {
203
208
  session.updateMetadata((currentMetadata) => ({
204
209
  ...currentMetadata,
@@ -1,5 +1,6 @@
1
1
  import { randomUUID } from 'node:crypto';
2
- import { l as logger } from './logger--vAVtXB_.mjs';
2
+ import { l as logger } from './logger-BUngm5Xg.mjs';
3
+ import { O as OFFLINE_EXIT_STAMP_TIMEOUT_MS } from './sessionExitLifecycle-CzkLIgNZ.mjs';
3
4
 
4
5
  class BaseReasoningProcessor {
5
6
  accumulator = "";
@@ -196,7 +197,11 @@ class BaseReasoningProcessor {
196
197
  }
197
198
 
198
199
  async function settleCodexSession(session, intent, deactivate, log = () => {
199
- }) {
200
+ }, exitCursor) {
201
+ if (intent === "offline" && exitCursor && session.updateMetadataAndWait) {
202
+ const landed = await session.updateMetadataAndWait((currentMetadata) => ({ ...currentMetadata, exitCursor }), OFFLINE_EXIT_STAMP_TIMEOUT_MS);
203
+ if (!landed) log("[Codex] offline exit cursor not confirmed before going offline");
204
+ }
200
205
  if (intent === "archive") {
201
206
  session.updateMetadata((currentMetadata) => ({
202
207
  ...currentMetadata,
@@ -1,18 +1,18 @@
1
1
  'use strict';
2
2
 
3
- var fs = require('fs');
4
- var path = require('path');
3
+ var require$$0 = require('fs');
4
+ var require$$1 = require('path');
5
5
  var os = require('os');
6
6
  var child_process = require('child_process');
7
- var logger = require('./logger-DXTWlPzP.cjs');
7
+ var logger = require('./logger-CphW5nUE.cjs');
8
8
  var constants = require('./constants-VJ0N6WuG.cjs');
9
9
  require('chalk');
10
10
  require('node:util');
11
- require('./configuration-4TGMrjul.cjs');
11
+ require('./configuration-CYO-kPOS.cjs');
12
12
  require('node:fs');
13
13
  require('node:os');
14
14
  require('node:path');
15
- require('./package-DY4zTbKS.cjs');
15
+ require('./package-KhLqBDX9.cjs');
16
16
  require('node:fs/promises');
17
17
  require('./trimIdent-4gvk9Wk6.cjs');
18
18
 
@@ -22,17 +22,17 @@ function readGeminiLocalConfig() {
22
22
  let googleCloudProject = null;
23
23
  let googleCloudProjectEmail = null;
24
24
  const possiblePaths = [
25
- path.join(os.homedir(), ".gemini", "oauth_creds.json"),
25
+ require$$1.join(os.homedir(), ".gemini", "oauth_creds.json"),
26
26
  // Main OAuth credentials file
27
- path.join(os.homedir(), ".gemini", "config.json"),
28
- path.join(os.homedir(), ".config", "gemini", "config.json"),
29
- path.join(os.homedir(), ".gemini", "auth.json"),
30
- path.join(os.homedir(), ".config", "gemini", "auth.json")
27
+ require$$1.join(os.homedir(), ".gemini", "config.json"),
28
+ require$$1.join(os.homedir(), ".config", "gemini", "config.json"),
29
+ require$$1.join(os.homedir(), ".gemini", "auth.json"),
30
+ require$$1.join(os.homedir(), ".config", "gemini", "auth.json")
31
31
  ];
32
32
  for (const configPath of possiblePaths) {
33
- if (fs.existsSync(configPath)) {
33
+ if (require$$0.existsSync(configPath)) {
34
34
  try {
35
- const config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
35
+ const config = JSON.parse(require$$0.readFileSync(configPath, "utf-8"));
36
36
  if (!token) {
37
37
  const foundToken = config.access_token || config.token || config.apiKey || config.GEMINI_API_KEY;
38
38
  if (foundToken && typeof foundToken === "string") {
@@ -105,22 +105,22 @@ function determineGeminiModel(explicitModel, localConfig) {
105
105
  }
106
106
  function saveGeminiModelToConfig(model) {
107
107
  try {
108
- const configDir = path.join(os.homedir(), ".gemini");
109
- const configPath = path.join(configDir, "config.json");
110
- if (!fs.existsSync(configDir)) {
111
- fs.mkdirSync(configDir, { recursive: true });
108
+ const configDir = require$$1.join(os.homedir(), ".gemini");
109
+ const configPath = require$$1.join(configDir, "config.json");
110
+ if (!require$$0.existsSync(configDir)) {
111
+ require$$0.mkdirSync(configDir, { recursive: true });
112
112
  }
113
113
  let config = {};
114
- if (fs.existsSync(configPath)) {
114
+ if (require$$0.existsSync(configPath)) {
115
115
  try {
116
- config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
116
+ config = JSON.parse(require$$0.readFileSync(configPath, "utf-8"));
117
117
  } catch (error) {
118
118
  logger.logger.debug(`[Gemini] Failed to read existing config, creating new one`);
119
119
  config = {};
120
120
  }
121
121
  }
122
122
  config.model = model;
123
- fs.writeFileSync(configPath, JSON.stringify(config, null, 2), "utf-8");
123
+ require$$0.writeFileSync(configPath, JSON.stringify(config, null, 2), "utf-8");
124
124
  logger.logger.debug(`[Gemini] Saved model "${model}" to ${configPath}`);
125
125
  } catch (error) {
126
126
  logger.logger.debug(`[Gemini] Failed to save model to config:`, error);
@@ -128,15 +128,15 @@ function saveGeminiModelToConfig(model) {
128
128
  }
129
129
  function saveGoogleCloudProjectToConfig(projectId, email) {
130
130
  try {
131
- const configDir = path.join(os.homedir(), ".gemini");
132
- const configPath = path.join(configDir, "config.json");
133
- if (!fs.existsSync(configDir)) {
134
- fs.mkdirSync(configDir, { recursive: true });
131
+ const configDir = require$$1.join(os.homedir(), ".gemini");
132
+ const configPath = require$$1.join(configDir, "config.json");
133
+ if (!require$$0.existsSync(configDir)) {
134
+ require$$0.mkdirSync(configDir, { recursive: true });
135
135
  }
136
136
  let config = {};
137
- if (fs.existsSync(configPath)) {
137
+ if (require$$0.existsSync(configPath)) {
138
138
  try {
139
- config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
139
+ config = JSON.parse(require$$0.readFileSync(configPath, "utf-8"));
140
140
  } catch {
141
141
  config = {};
142
142
  }
@@ -145,7 +145,7 @@ function saveGoogleCloudProjectToConfig(projectId, email) {
145
145
  if (email) {
146
146
  config.googleCloudProjectEmail = email;
147
147
  }
148
- fs.writeFileSync(configPath, JSON.stringify(config, null, 2), "utf-8");
148
+ require$$0.writeFileSync(configPath, JSON.stringify(config, null, 2), "utf-8");
149
149
  logger.logger.debug(`[Gemini] Saved Google Cloud Project "${projectId}"${email ? ` for ${email}` : ""} to ${configPath}`);
150
150
  } catch (error) {
151
151
  logger.logger.debug(`[Gemini] Failed to save Google Cloud Project to config:`, error);
@@ -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--vAVtXB_.mjs';
5
+ import { l as logger } from './logger-BUngm5Xg.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-DVrb61aY.mjs';
9
+ import './configuration-PxzEJumr.mjs';
10
10
  import 'node:fs';
11
11
  import 'node:os';
12
12
  import 'node:path';
13
- import './package-B7B03ejW.mjs';
13
+ import './package-7Ld1YMhh.mjs';
14
14
  import 'node:fs/promises';
15
15
  import './trimIdent-BAjmv_TG.mjs';
16
16
 
@@ -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-DY4zTbKS.cjs');
6
+ var _package = require('./package-KhLqBDX9.cjs');
7
7
  var promises = require('node:fs/promises');
8
8
 
9
9
  const PRIVATE_DIRECTORY_MODE = 448;
@@ -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-B7B03ejW.mjs';
4
+ import { p as packageJson } from './package-7Ld1YMhh.mjs';
5
5
  import { mkdir, chmod, writeFile } from 'node:fs/promises';
6
6
 
7
7
  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 { c as readCredentialsForConfiguredRelay } from './persistence-DTk4sNpd.mjs';
5
- import { A as ApiClient } from './api-Dib0dmqC.mjs';
6
- import { f as ensurePrivateDirectorySync, w as writePrivateFileSync } from './configuration-DVrb61aY.mjs';
4
+ import { b as readCredentialsForConfiguredRelay } from './persistence-BFUOHW5h.mjs';
5
+ import { A as ApiClient } from './api-Hov8p7CA.mjs';
6
+ import { f as ensurePrivateDirectorySync, w as writePrivateFileSync } from './configuration-PxzEJumr.mjs';
7
7
  import { createServer } from 'http';
8
8
  import { randomBytes, createHash } from 'crypto';
9
- import { o as openBrowser } from './browser-Dj_DYQEh.mjs';
9
+ import { o as openBrowser } from './browser-DUNetFT4.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-DhQhkBvX.mjs';
16
16
  import 'node:crypto';
17
17
  import 'tweetnacl';
18
- import './logger--vAVtXB_.mjs';
18
+ import './logger-BUngm5Xg.mjs';
19
19
  import 'node:util';
20
20
  import 'node:path';
21
21
  import 'axios';
22
- import './lidState-DNMlIhX0.mjs';
22
+ import './lidState-bBrmaQd2.mjs';
23
23
  import 'node:events';
24
24
  import 'socket.io-client';
25
- import './attachmentLimits-UyFn8fkQ.mjs';
26
- import './index-Clqlu17M.mjs';
25
+ import './pushNotifications-DCiBEVeC.mjs';
26
+ import './index-C6Vn5Eac.mjs';
27
27
  import '@paralleldrive/cuid2';
28
+ import './contentLogMetadata-BlWI0egu.mjs';
28
29
  import './limits-DIo7rEBR.mjs';
29
- import './time-BuGWTVP6.mjs';
30
- import './registerCommonHandlers-CvIedVRf.mjs';
30
+ import './time-D3ETL7Jb.mjs';
31
+ import './registerCommonHandlers-CTkCvjxt.mjs';
31
32
  import 'fs/promises';
32
33
  import 'cross-spawn';
33
34
  import './projectPath-BTBIMB57.mjs';
34
35
  import 'url';
35
- import './sync-DbW07iQS.mjs';
36
- import './backgroundTaskActivity-BVwJBl02.mjs';
37
- import './controlClient-BYKyGyxj.mjs';
38
- import './contentLogMetadata-BlWI0egu.mjs';
36
+ import './sync-BvVhDO40.mjs';
37
+ import './backgroundTaskActivity-8PdPxrvy.mjs';
38
+ import './controlClient-DoeYovwP.mjs';
39
39
  import 'node:os';
40
- import './package-B7B03ejW.mjs';
40
+ import './package-7Ld1YMhh.mjs';
41
41
  import 'open';
42
42
 
43
43
  const CLIENT_ID$2 = "app_EMoamEEZ73f0CkXaXp7hrann";
@@ -2,13 +2,13 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var os = require('os');
5
- var path = require('path');
6
- var persistence = require('./persistence-BfX72dne.cjs');
7
- var api = require('./api-JANhFdZV.cjs');
8
- var configuration = require('./configuration-4TGMrjul.cjs');
5
+ var require$$1 = require('path');
6
+ var persistence = require('./persistence-9BMYspxG.cjs');
7
+ var api = require('./api-DM7b1OKj.cjs');
8
+ var configuration = require('./configuration-CYO-kPOS.cjs');
9
9
  var http = require('http');
10
- var crypto = require('crypto');
11
- var browser = require('./browser-CSKhc0Bl.cjs');
10
+ var require$$3 = require('crypto');
11
+ var browser = require('./browser-DZ6qRtfH.cjs');
12
12
  var child_process = require('child_process');
13
13
  var util = require('util');
14
14
  require('node:fs/promises');
@@ -17,41 +17,41 @@ require('zod');
17
17
  require('./authRelay-Dy1qU9td.cjs');
18
18
  require('node:crypto');
19
19
  require('tweetnacl');
20
- require('./logger-DXTWlPzP.cjs');
20
+ require('./logger-CphW5nUE.cjs');
21
21
  require('node:util');
22
22
  require('node:path');
23
23
  require('axios');
24
- require('./lidState-BeOwj6eW.cjs');
24
+ require('./lidState-DWGnm2H4.cjs');
25
25
  require('node:events');
26
26
  require('socket.io-client');
27
- require('./attachmentLimits-SqeAHrVC.cjs');
28
- require('./index-_l1Sdmbi.cjs');
27
+ require('./pushNotifications-DI92havG.cjs');
28
+ require('./index-Dv0Q48P3.cjs');
29
29
  require('@paralleldrive/cuid2');
30
+ require('./contentLogMetadata-ZSFk_NjQ.cjs');
30
31
  require('./limits-C-a7gr04.cjs');
31
- require('./time-A6zR3Iy6.cjs');
32
- require('./registerCommonHandlers-C0_fyBQ0.cjs');
32
+ require('./time-Cjv0zxQO.cjs');
33
+ require('./registerCommonHandlers-C7a_dUWs.cjs');
33
34
  require('fs/promises');
34
35
  require('cross-spawn');
35
- require('./projectPath-ChLhdOyt.cjs');
36
+ require('./projectPath-C3ioB4Bu.cjs');
36
37
  require('url');
37
- require('./sync-Dhmtk66S.cjs');
38
+ require('./sync-Bn-idAoy.cjs');
38
39
  require('./backgroundTaskActivity-CBvUdj39.cjs');
39
- require('./controlClient-BTaZlbC6.cjs');
40
- require('./contentLogMetadata-ZSFk_NjQ.cjs');
40
+ require('./controlClient-Bqv5v5OM.cjs');
41
41
  require('node:os');
42
- require('./package-DY4zTbKS.cjs');
42
+ require('./package-KhLqBDX9.cjs');
43
43
  require('open');
44
44
 
45
45
  const CLIENT_ID$2 = "app_EMoamEEZ73f0CkXaXp7hrann";
46
46
  const AUTH_BASE_URL = "https://auth.openai.com";
47
47
  const DEFAULT_PORT$2 = 1455;
48
48
  function generatePKCE$2() {
49
- const verifier = crypto.randomBytes(32).toString("base64url").replace(/[^a-zA-Z0-9\-._~]/g, "");
50
- const challenge = crypto.createHash("sha256").update(verifier).digest("base64url").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
49
+ const verifier = require$$3.randomBytes(32).toString("base64url").replace(/[^a-zA-Z0-9\-._~]/g, "");
50
+ const challenge = require$$3.createHash("sha256").update(verifier).digest("base64url").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
51
51
  return { verifier, challenge };
52
52
  }
53
53
  function generateState$2() {
54
- return crypto.randomBytes(16).toString("hex");
54
+ return require$$3.randomBytes(16).toString("hex");
55
55
  }
56
56
  function parseJWT(token) {
57
57
  const parts = token.split(".");
@@ -207,12 +207,12 @@ const TOKEN_URL$1 = "https://console.anthropic.com/v1/oauth/token";
207
207
  const DEFAULT_PORT$1 = 54545;
208
208
  const SCOPE = "user:inference";
209
209
  function generatePKCE$1() {
210
- const verifier = crypto.randomBytes(32).toString("base64url").replace(/[^a-zA-Z0-9\-._~]/g, "");
211
- const challenge = crypto.createHash("sha256").update(verifier).digest("base64url").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
210
+ const verifier = require$$3.randomBytes(32).toString("base64url").replace(/[^a-zA-Z0-9\-._~]/g, "");
211
+ const challenge = require$$3.createHash("sha256").update(verifier).digest("base64url").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
212
212
  return { verifier, challenge };
213
213
  }
214
214
  function generateState$1() {
215
- return crypto.randomBytes(32).toString("base64url");
215
+ return require$$3.randomBytes(32).toString("base64url");
216
216
  }
217
217
  async function findAvailablePort$1() {
218
218
  return new Promise((resolve) => {
@@ -360,12 +360,12 @@ const SCOPES = [
360
360
  "https://www.googleapis.com/auth/userinfo.profile"
361
361
  ].join(" ");
362
362
  function generatePKCE() {
363
- const verifier = crypto.randomBytes(32).toString("base64url").replace(/[^a-zA-Z0-9\-._~]/g, "");
364
- const challenge = crypto.createHash("sha256").update(verifier).digest("base64url").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
363
+ const verifier = require$$3.randomBytes(32).toString("base64url").replace(/[^a-zA-Z0-9\-._~]/g, "");
364
+ const challenge = require$$3.createHash("sha256").update(verifier).digest("base64url").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
365
365
  return { verifier, challenge };
366
366
  }
367
367
  function generateState() {
368
- return crypto.randomBytes(32).toString("hex");
368
+ return require$$3.randomBytes(32).toString("hex");
369
369
  }
370
370
  async function findAvailablePort() {
371
371
  return new Promise((resolve) => {
@@ -663,8 +663,8 @@ async function handleConnectStatus() {
663
663
  }
664
664
  function updateLocalGeminiCredentials(tokens) {
665
665
  try {
666
- const geminiDir = path.join(os.homedir(), ".gemini");
667
- const credentialsPath = path.join(geminiDir, "oauth_creds.json");
666
+ const geminiDir = require$$1.join(os.homedir(), ".gemini");
667
+ const credentialsPath = require$$1.join(geminiDir, "oauth_creds.json");
668
668
  configuration.ensurePrivateDirectorySync(geminiDir);
669
669
  const credentials = {
670
670
  access_token: tokens.access_token,
@@ -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-4TGMrjul.cjs');
8
+ var configuration = require('./configuration-CYO-kPOS.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-DVrb61aY.mjs';
6
+ import { n as normalizeHttpEndpoint, c as configuration } from './configuration-PxzEJumr.mjs';
7
7
 
8
8
  const TeamScopeSchema = z.object({
9
9
  serverUrl: z.string(),