very-happy-cli 0.2.167 → 0.2.169

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 (172) hide show
  1. package/dist/{AcpBackend-kFZlee5E.mjs → AcpBackend-BxN2W-8F.mjs} +3 -3
  2. package/dist/{AcpBackend-D1IKJGz_.cjs → AcpBackend-CoVFHN6M.cjs} +3 -3
  3. package/dist/{BasePermissionHandler-DS0kRTNI.mjs → BasePermissionHandler-BhhK4ufw.mjs} +1 -1
  4. package/dist/{BasePermissionHandler-DHxYAK5L.cjs → BasePermissionHandler-DFKRyvRk.cjs} +1 -1
  5. package/dist/{BaseReasoningProcessor-CsjVdt_H.cjs → BaseReasoningProcessor-DLXmSsD9.cjs} +1 -1
  6. package/dist/{BaseReasoningProcessor-BRtCCt7q.mjs → BaseReasoningProcessor-IXMLQola.mjs} +1 -1
  7. package/dist/{agentHome-Ct-VXFeG.mjs → agentHome-BqIbAFvU.mjs} +4 -4
  8. package/dist/{agentHome-DeAWzhSe.cjs → agentHome-XhRZDl_8.cjs} +4 -4
  9. package/dist/{api-CReZazeT.mjs → api-D9feoPQW.mjs} +8 -8
  10. package/dist/{api-BZYLRDM9.cjs → api-XE5qHl20.cjs} +8 -8
  11. package/dist/{apiMachine-CWndf1Vn.mjs → apiMachine-DLanfJvJ.mjs} +13 -13
  12. package/dist/{apiMachine-BgMxGPsR.cjs → apiMachine-so4PtT7S.cjs} +13 -13
  13. package/dist/{attachmentContent-j875mwU7.mjs → attachmentContent-BmhATDAI.mjs} +1 -1
  14. package/dist/{attachmentContent-HcJqFQW8.cjs → attachmentContent-iNWSZTn-.cjs} +1 -1
  15. package/dist/{auth-CFS9Lfgv.mjs → auth-BGC7jIeG.mjs} +5 -5
  16. package/dist/{auth-Myr2Q42x.cjs → auth-BbdPGp0-.cjs} +8 -8
  17. package/dist/{auth-VzWpbo5P.cjs → auth-D8Xbw1i7.cjs} +5 -5
  18. package/dist/{auth-BIHuc7vY.mjs → auth-ESPV0RuP.mjs} +8 -8
  19. package/dist/{auto-Bf6Dr7_o.cjs → auto-BQOEIFwp.cjs} +13 -13
  20. package/dist/{auto-Df9-zmuN.mjs → auto-BaXaunaW.mjs} +13 -13
  21. package/dist/{bootstrap-BSOxYpaP.mjs → bootstrap-BLFDzpTX.mjs} +2 -2
  22. package/dist/{bootstrap-Dj8WBiR2.cjs → bootstrap-uA_VRbq6.cjs} +2 -2
  23. package/dist/{browser-BoCV40yC.cjs → browser-B9DbZY5S.cjs} +1 -1
  24. package/dist/{browser-BCFIHOvo.mjs → browser-D2iQWs3k.mjs} +1 -1
  25. package/dist/{claudeLocal-D5-eA9SC.mjs → claudeLocal-CRwWssN_.mjs} +4 -4
  26. package/dist/{claudeLocal-CGsq7Kul.cjs → claudeLocal-qaR-k7K7.cjs} +4 -4
  27. package/dist/{claudeLocalLauncher-C9Cc438l.mjs → claudeLocalLauncher-BRyssxjy.mjs} +9 -9
  28. package/dist/{claudeLocalLauncher-Cf9QeYDT.cjs → claudeLocalLauncher-Cg3ZOJvz.cjs} +9 -9
  29. package/dist/{claudeSessionFork-Byd8zD1U.cjs → claudeSessionFork-C0DCh9Eq.cjs} +1 -1
  30. package/dist/{claudeSessionFork-CMzAva8G.mjs → claudeSessionFork-DyVlndIF.mjs} +1 -1
  31. package/dist/{client-C7FYMer0.mjs → client-BXJf8MP8.mjs} +2 -2
  32. package/dist/{client-Dsfy_SAb.mjs → client-CKsWQ0CB.mjs} +3 -3
  33. package/dist/{client-D0T5-6Ds.cjs → client-CQiLeZYO.cjs} +2 -2
  34. package/dist/{client-BKnKRLSt.cjs → client-Lze38C0i.cjs} +3 -3
  35. package/dist/codex/happyMcpStdioBridge.cjs +14 -14
  36. package/dist/codex/happyMcpStdioBridge.mjs +14 -14
  37. package/dist/{codexAppServerClient-TiW9OBk4.cjs → codexAppServerClient-C2anWi8P.cjs} +3 -3
  38. package/dist/{codexAppServerClient-Dd_4TxHv.mjs → codexAppServerClient-P1KeiWAL.mjs} +3 -3
  39. package/dist/{codexCommand-Bxryqh90.cjs → codexCommand-BEtvy5KA.cjs} +38 -38
  40. package/dist/{codexCommand-BZSr4MKI.mjs → codexCommand-DticONFg.mjs} +38 -38
  41. package/dist/{config-DXPash-r.cjs → config-CJJ0m0Hy.cjs} +3 -3
  42. package/dist/{config-C_Pj7yxV.mjs → config-ONvwYlDy.mjs} +3 -3
  43. package/dist/{configuration-WspKd2C2.mjs → configuration-DsEb3uSR.mjs} +1 -1
  44. package/dist/{configuration-C3piBtxY.cjs → configuration-vd98cU5s.cjs} +1 -1
  45. package/dist/{connect-DGPZs5px.mjs → connect-B-Xf43JR.mjs} +11 -11
  46. package/dist/{connect-BN-IBElA.cjs → connect-BNu_olIj.cjs} +11 -11
  47. package/dist/{context-Jrq4-eCZ.cjs → context-BglK-uQU.cjs} +1 -1
  48. package/dist/{context-Cr6a3NTg.mjs → context-J9onyv6j.mjs} +1 -1
  49. package/dist/{controlClient-BI6Fw3fQ.cjs → controlClient-8EMcMnZ7.cjs} +3 -3
  50. package/dist/{controlClient-DTheOlvC.mjs → controlClient-BJ_kMzJp.mjs} +3 -3
  51. package/dist/{createSessionMetadata-zQSz3hgk.cjs → createSessionMetadata-4BIuLaXd.cjs} +2 -2
  52. package/dist/{createSessionMetadata-BEZ4DIDA.mjs → createSessionMetadata-wSmMShgh.mjs} +2 -2
  53. package/dist/daemonSupervisor-B-SPSqhs.cjs +13 -0
  54. package/dist/daemonSupervisor-C6urv3_8.mjs +10 -0
  55. package/dist/{defaultPermissionMode-DNKNzk7l.cjs → defaultPermissionMode-DodwUf8f.cjs} +2 -2
  56. package/dist/{defaultPermissionMode-Cif_RHGb.mjs → defaultPermissionMode-kwzK91Z5.mjs} +2 -2
  57. package/dist/{deterministicJson-BMMifViN.mjs → deterministicJson-BE--xzCB.mjs} +8 -8
  58. package/dist/{deterministicJson-C7O2ulKY.cjs → deterministicJson-CX9sRkSw.cjs} +8 -8
  59. package/dist/{doctor-D1KKyPzB.mjs → doctor-7a_2qR9U.mjs} +8 -7
  60. package/dist/{doctor-BykBaMTr.cjs → doctor-dhZlGUDN.cjs} +8 -7
  61. package/dist/{downloadTarget-CWTb2-EM.cjs → downloadTarget-C3bWfjVw.cjs} +6 -6
  62. package/dist/{downloadTarget-Cp48jrIP.mjs → downloadTarget-XjmBJhax.mjs} +6 -6
  63. package/dist/{ensureDaemonRunning-Ba5fYoxb.mjs → ensureDaemonRunning-B48wg_28.mjs} +5 -5
  64. package/dist/{ensureDaemonRunning-CCxX7MoP.cjs → ensureDaemonRunning-C_CtXvBm.cjs} +5 -5
  65. package/dist/{handleResumeCommand-yPdDQHqz.cjs → handleResumeCommand-B1fpHyMa.cjs} +5 -5
  66. package/dist/{handleResumeCommand-BTUGlNjB.mjs → handleResumeCommand-Bx1W2trq.mjs} +5 -5
  67. package/dist/{index-BjhKqDa0.cjs → index-By3SzVnN.cjs} +3 -3
  68. package/dist/{index-PNMQPKhz.cjs → index-CHHuoaN5.cjs} +4 -4
  69. package/dist/{index-D8m8Ripb.mjs → index-Ck8syuwO.mjs} +4 -4
  70. package/dist/{index-CE2GgPbr.mjs → index-D6WijXzL.mjs} +33 -33
  71. package/dist/{index-DifM62wX.cjs → index-DkXElN6H.cjs} +32 -32
  72. package/dist/{index-C3_83bqS.mjs → index-erMKdhA1.mjs} +3 -3
  73. package/dist/index.cjs +2 -2
  74. package/dist/index.mjs +2 -2
  75. package/dist/{install-CqZVeze8.cjs → install-DpAjCfux.cjs} +3 -3
  76. package/dist/{install-C0-QFn9s.mjs → install-Dzk7clHU.mjs} +3 -3
  77. package/dist/lib.cjs +10 -10
  78. package/dist/lib.mjs +10 -10
  79. package/dist/{lidState-Bc2K9H9l.cjs → lidState-Bn28XGju.cjs} +1 -1
  80. package/dist/{lidState-B2ZxdREe.mjs → lidState-CuLz-aoW.mjs} +1 -1
  81. package/dist/{localHappyAgentAuth-B5XPEMwk.mjs → localHappyAgentAuth-CImf4dFr.mjs} +1 -1
  82. package/dist/{localHappyAgentAuth-T5GOvRha.cjs → localHappyAgentAuth-Cix2HInR.cjs} +1 -1
  83. package/dist/{logger-B_MWPbZz.cjs → logger-CEXN6kmp.cjs} +2 -2
  84. package/dist/{logger-CbBv3q_b.mjs → logger-k6qJWglF.mjs} +2 -2
  85. package/dist/{machineMetadata-BafS4JY8.cjs → machineMetadata-B2ugbwH1.cjs} +3 -3
  86. package/dist/{machineMetadata-DHg238U4.mjs → machineMetadata-CmrkhOp5.mjs} +3 -3
  87. package/dist/{main-DXAK0n7x.mjs → main-BHlWnntt.mjs} +54 -46
  88. package/dist/{main-DNrA0qBy.cjs → main-i9AIapzR.cjs} +55 -47
  89. package/dist/{mcp-BotAjCdD.mjs → mcp-C3-c1CFs.mjs} +14 -14
  90. package/dist/{mcp-AvPOhDXy.cjs → mcp-DRwndcmD.cjs} +14 -14
  91. package/dist/{mirrorProtocol-BwHm8odn.mjs → mirrorProtocol-D513S1GL.mjs} +2 -2
  92. package/dist/{mirrorProtocol-BdcN6QlN.cjs → mirrorProtocol-Djl9Q8uu.cjs} +2 -2
  93. package/dist/{package-C9ZP9bpX.cjs → package-CRtabc_k.cjs} +7 -7
  94. package/dist/{package-DU1DxhH9.mjs → package-CgOyeL63.mjs} +7 -7
  95. package/dist/{peerTools-Dkbu7gag.cjs → peerTools-B1dYfQ7B.cjs} +4 -4
  96. package/dist/{peerTools-os2DVjA0.mjs → peerTools-FzG7askS.mjs} +4 -4
  97. package/dist/{persistence-BYGl0QYw.cjs → persistence-Ctx5X33x.cjs} +2 -2
  98. package/dist/{persistence-ON0zpHfb.mjs → persistence-bZj6UA2E.mjs} +2 -2
  99. package/dist/piRunnerArgs-BSyuUDxd.cjs +85 -0
  100. package/dist/piRunnerArgs-C19zYJL2.mjs +77 -0
  101. package/dist/{piRuntime-CmEid-wu.mjs → piRuntime-D9ShcveW.mjs} +1 -1
  102. package/dist/{piRuntime-CDnILlCd.cjs → piRuntime-DY2jBhuI.cjs} +1 -1
  103. package/dist/{piTerminal-0eNlXSlL.mjs → piTerminal-C6xULple.mjs} +16 -16
  104. package/dist/{piTerminal-B57TgMON.cjs → piTerminal-D0VK-jbN.cjs} +16 -16
  105. package/dist/{rateLimitWindows-CusGIqlq.cjs → rateLimitWindows-D-EW-lEj.cjs} +1 -1
  106. package/dist/{rateLimitWindows-vZ9Bo7aT.mjs → rateLimitWindows-DGc4kAYD.mjs} +1 -1
  107. package/dist/{registerCommonHandlers-B0PVff2U.mjs → registerCommonHandlers-DQpM0V0X.mjs} +2 -2
  108. package/dist/{registerCommonHandlers-DVYB3iVn.cjs → registerCommonHandlers-DyOrHehH.cjs} +2 -2
  109. package/dist/{registerKillSessionHandler-BwXGKtg_.cjs → registerKillSessionHandler-BImofTKb.cjs} +4 -4
  110. package/dist/{registerKillSessionHandler-BJMHJHXe.mjs → registerKillSessionHandler-CRA-VRN4.mjs} +4 -4
  111. package/dist/{remoteSessionClient-PyUAIhwK.cjs → remoteSessionClient-BpE2d0AX.cjs} +5 -5
  112. package/dist/{remoteSessionClient-BzPXSC21.mjs → remoteSessionClient-DdXD_5Wc.mjs} +5 -5
  113. package/dist/{reportProgressTool-D4KB_4cP.cjs → reportProgressTool-B9ldkvU1.cjs} +1 -1
  114. package/dist/{reportProgressTool-BvB13EwC.mjs → reportProgressTool-u4bosT7t.mjs} +1 -1
  115. package/dist/{run-O2M8LsWf.mjs → run-ChuQWCKp.mjs} +31 -30
  116. package/dist/{run-BC8jzq_h.cjs → run-gofkmliK.cjs} +36 -35
  117. package/dist/{runClaude-DGkr5E7s.mjs → runClaude-0pC7HBnA.mjs} +19 -19
  118. package/dist/{runClaude-C7jPa8VP.cjs → runClaude-CJnltZOa.cjs} +19 -19
  119. package/dist/{runClaudeDeps-CX_TxS78.mjs → runClaudeDeps-CNQNIpQx.mjs} +37 -35
  120. package/dist/{runClaudeDeps-5kzncqME.cjs → runClaudeDeps-CshkSVOb.cjs} +32 -30
  121. package/dist/{runGemini-CwmGBH3L.mjs → runGemini-5W4Dnj7m.mjs} +30 -30
  122. package/dist/{runGemini-BfYA4Uqc.cjs → runGemini-Ns6jeEA2.cjs} +30 -30
  123. package/dist/{runOpenClaw-BYAPYFyL.mjs → runOpenClaw-DfFkU3-O.mjs} +15 -15
  124. package/dist/{runOpenClaw-C72jut7v.cjs → runOpenClaw-Do_WGJCf.cjs} +15 -15
  125. package/dist/{sandbox-DlVnK1Vi.mjs → sandbox-BWoD_LBI.mjs} +4 -4
  126. package/dist/{sandbox-Bqkp8IT7.cjs → sandbox-Hno1cl_S.cjs} +4 -4
  127. package/dist/selfCheck-Drx33sE6.mjs +84 -0
  128. package/dist/{selfCheck-B4lLZplk.cjs → selfCheck-LCw56wT7.cjs} +34 -34
  129. package/dist/{send-B5bWW9Tl.mjs → send-8KoLgWt8.mjs} +8 -8
  130. package/dist/{send-BCwS6n_s.cjs → send-Bher02Ax.cjs} +8 -8
  131. package/dist/{server-CEJfRQfj.mjs → server-DgBa6T42.mjs} +4 -4
  132. package/dist/{server-CFWZehnC.cjs → server-HoyYfWCW.cjs} +6 -6
  133. package/dist/{sessionLock-AwOYsKT7.mjs → sessionLock-CbwG3sl6.mjs} +3 -3
  134. package/dist/{sessionLock-LBWNjpHf.cjs → sessionLock-DFfIJvgI.cjs} +3 -3
  135. package/dist/{sessionModeFile-CyPuZRIU.cjs → sessionModeFile-BMam0iW1.cjs} +1 -1
  136. package/dist/{sessionModeFile-fvFn1JVG.mjs → sessionModeFile-w5gtxQBn.mjs} +1 -1
  137. package/dist/{sessionOps-DzbZI3Eq.cjs → sessionOps-BLVcPdDi.cjs} +4 -4
  138. package/dist/{sessionOps-DZRH4-hV.mjs → sessionOps-DnUAnxVE.mjs} +4 -4
  139. package/dist/{sessionScanner-i-cgwFVw.cjs → sessionScanner-BC1mVMSY.cjs} +3 -3
  140. package/dist/{sessionScanner-Q_Ei2flB.mjs → sessionScanner-PgdVrboP.mjs} +3 -3
  141. package/dist/{sessions-DYK5hD4T.cjs → sessions-CTQcVANM.cjs} +9 -9
  142. package/dist/{sessions-DAmjMAZN.mjs → sessions-DOaMkmer.mjs} +9 -9
  143. package/dist/{setupOfflineReconnection-C2LO3hSP.cjs → setupOfflineReconnection-BN9nwZ8a.cjs} +2 -2
  144. package/dist/{setupOfflineReconnection-BfDBxNdo.mjs → setupOfflineReconnection-hyo8-S36.mjs} +2 -2
  145. package/dist/{spawn-BmjG5j5Y.mjs → spawn-B9Audcd3.mjs} +11 -11
  146. package/dist/{spawn-GK_sXE8h.cjs → spawn-CDaVoyIe.cjs} +11 -11
  147. package/dist/{spawnHappyCLI-B2h0P4b5.mjs → spawnHappyCLI-BGumffaQ.mjs} +1 -1
  148. package/dist/{spawnHappyCLI-J4iEhfyZ.cjs → spawnHappyCLI-CJ_cYzH8.cjs} +1 -1
  149. package/dist/{specialCommands-DmJMKspE.cjs → specialCommands-B22t4ROw.cjs} +3 -3
  150. package/dist/{specialCommands-DisVxagO.mjs → specialCommands-D4gAJ8N-.mjs} +3 -3
  151. package/dist/{startFileWatcher-xKo8AoYl.cjs → startFileWatcher-DcwCNpAD.cjs} +1 -1
  152. package/dist/{startFileWatcher-CeK1k5gt.mjs → startFileWatcher-DeT20n_y.mjs} +1 -1
  153. package/dist/{sync-Bvc-vh6C.cjs → sync-BviZKBic.cjs} +1 -1
  154. package/dist/{sync-CCwYpJMS.mjs → sync-Db2dkpCS.mjs} +1 -1
  155. package/dist/{systemPrompt-BNIkP3tR.mjs → systemPrompt-B1VipGm3.mjs} +1 -1
  156. package/dist/{systemPrompt-DwOddbuG.cjs → systemPrompt-CeWW2NZa.cjs} +1 -1
  157. package/dist/{teams-GHMCRZOw.cjs → teams-Dfap3oPT.cjs} +6 -6
  158. package/dist/{teams-DRrLBcys.mjs → teams-FWeQ-3dR.mjs} +6 -6
  159. package/dist/{time-BXvtjhe9.cjs → time-B7ohOI_y.cjs} +1 -1
  160. package/dist/{time-PG5Dfwdv.mjs → time-CGvsjDND.mjs} +1 -1
  161. package/dist/{titleGenerator-CIzfpfZW.mjs → titleGenerator-CMzDSyFs.mjs} +1 -1
  162. package/dist/{titleGenerator-B07bZA0V.cjs → titleGenerator-OWMYoWvP.cjs} +2 -2
  163. package/dist/{todo-B0aeoNu3.cjs → todo-ClSKkrgg.cjs} +5 -5
  164. package/dist/{todo-CfL7SBFc.mjs → todo-DyFlR8ta.mjs} +5 -5
  165. package/dist/{tools-DJIANHSh.cjs → tools-DYIZ8Xc1.cjs} +1 -1
  166. package/dist/{tools-D91mq5Ib.mjs → tools-PNyBTN3e.mjs} +1 -1
  167. package/dist/{uninstall-AtzOfdrj.cjs → uninstall-DR-b8fla.cjs} +3 -3
  168. package/dist/{uninstall-5xz3Xvhf.mjs → uninstall-Dg_AEwLz.mjs} +3 -3
  169. package/package.json +7 -7
  170. package/dist/piRunnerArgs-CYsnT9sV.mjs +0 -59
  171. package/dist/piRunnerArgs-DpbvstUX.cjs +0 -66
  172. package/dist/selfCheck-DYTGBdIO.mjs +0 -84
@@ -1,18 +1,20 @@
1
1
  import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import chalk from 'chalk';
2
- import { l as logger, g as getLatestDaemonLog } from './logger-CbBv3q_b.mjs';
3
- import { d as readDaemonState, r as readSettings, c as readCredentialsForConfiguredRelay } from './persistence-ON0zpHfb.mjs';
4
- import { a as authAndSetupMachineIfNeeded } from './auth-CFS9Lfgv.mjs';
5
- import { p as packageJson } from './package-DU1DxhH9.mjs';
2
+ import { l as logger, g as getLatestDaemonLog } from './logger-k6qJWglF.mjs';
3
+ import { d as readDaemonState, r as readSettings, c as readCredentialsForConfiguredRelay } from './persistence-bZj6UA2E.mjs';
4
+ import { a as authAndSetupMachineIfNeeded } from './auth-BGC7jIeG.mjs';
5
+ import { p as packageJson } from './package-CgOyeL63.mjs';
6
6
  import { z } from 'zod';
7
- import { l as listDaemonSessions, s as stopDaemonSession, a as checkIfDaemonRunningAndCleanupStaleState, b as stopDaemon } from './controlClient-DTheOlvC.mjs';
8
- import { p as parsePiRunnerArgs, S as SYSTEMD_RESTART_HINT, a as piAdapterMissingHint } from './piRunnerArgs-CYsnT9sV.mjs';
9
- import { s as spawnHappyCLI } from './spawnHappyCLI-B2h0P4b5.mjs';
7
+ import { l as listDaemonSessions, s as stopDaemonSession, a as checkIfDaemonRunningAndCleanupStaleState, b as stopDaemon } from './controlClient-BJ_kMzJp.mjs';
8
+ import { S as SYSTEMD_RESTART_HINT } from './daemonSupervisor-C6urv3_8.mjs';
9
+ import { s as spawnHappyCLI } from './spawnHappyCLI-BGumffaQ.mjs';
10
10
  import { execFileSync } from 'node:child_process';
11
- import { e as ensureDaemonRunning, a as extractNoSandboxFlag } from './ensureDaemonRunning-Ba5fYoxb.mjs';
11
+ import { e as ensureDaemonRunning, a as extractNoSandboxFlag } from './ensureDaemonRunning-B48wg_28.mjs';
12
12
  import { p as planClaudeStartup } from './startupPlan-DFMyNgAs.mjs';
13
- import { i as isStandaloneVersionRequest } from './index-C3_83bqS.mjs';
14
- import { c as configuration } from './configuration-WspKd2C2.mjs';
13
+ import { i as isStandaloneVersionRequest } from './index-erMKdhA1.mjs';
14
+ import { c as configuration } from './configuration-DsEb3uSR.mjs';
15
15
  import { d as daemonEndpointsMatch } from './doctorReadiness-C208SMN9.mjs';
16
+ import { p as parsePiRunnerArgs, m as missingPiPrerequisites, a as piSetupMessage, b as piAdapterMissingHint } from './piRunnerArgs-C19zYJL2.mjs';
17
+ import { c as commandOnPath } from './detectCLI-CSGMlV51.mjs';
16
18
  import 'node:util';
17
19
  import 'node:fs';
18
20
  import 'node:path';
@@ -21,17 +23,16 @@ import './authRelay-DSAvg1uv.mjs';
21
23
  import 'node:crypto';
22
24
  import 'tweetnacl';
23
25
  import 'axios';
24
- import './time-PG5Dfwdv.mjs';
25
- import './browser-BCFIHOvo.mjs';
26
+ import './time-CGvsjDND.mjs';
27
+ import './browser-D2iQWs3k.mjs';
26
28
  import 'open';
27
- import './sessionModeFile-fvFn1JVG.mjs';
28
29
  import 'cross-spawn';
29
30
  import './projectPath-BTBIMB57.mjs';
30
31
  import 'path';
31
32
  import 'url';
32
33
  import 'node:module';
33
34
  import 'node:os';
34
- import './detectCLI-CSGMlV51.mjs';
35
+ import './sessionModeFile-w5gtxQBn.mjs';
35
36
  import 'child_process';
36
37
  import 'os';
37
38
  import 'fs';
@@ -73,11 +74,11 @@ Conversation history is preserved on the server, but in-flight tool calls are in
73
74
  }
74
75
  process.exit(0);
75
76
  }
76
- await (await import('./doctor-D1KKyPzB.mjs').then(function (n) { return n.d; })).runDoctorCommand();
77
+ await (await import('./doctor-7a_2qR9U.mjs').then(function (n) { return n.d; })).runDoctorCommand();
77
78
  return;
78
79
  } else if (subcommand === "auth") {
79
80
  try {
80
- await (await import('./auth-BIHuc7vY.mjs')).handleAuthCommand(args.slice(1));
81
+ await (await import('./auth-ESPV0RuP.mjs')).handleAuthCommand(args.slice(1));
81
82
  } catch (error) {
82
83
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
83
84
  if (process.env.DEBUG) {
@@ -88,7 +89,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
88
89
  return;
89
90
  } else if (subcommand === "connect") {
90
91
  try {
91
- await (await import('./connect-DGPZs5px.mjs')).handleConnectCommand(args.slice(1));
92
+ await (await import('./connect-B-Xf43JR.mjs')).handleConnectCommand(args.slice(1));
92
93
  } catch (error) {
93
94
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
94
95
  if (process.env.DEBUG) {
@@ -99,7 +100,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
99
100
  return;
100
101
  } else if (subcommand === "sandbox") {
101
102
  try {
102
- await (await import('./sandbox-DlVnK1Vi.mjs')).handleSandboxCommand(args.slice(1));
103
+ await (await import('./sandbox-BWoD_LBI.mjs')).handleSandboxCommand(args.slice(1));
103
104
  } catch (error) {
104
105
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
105
106
  if (process.env.DEBUG) {
@@ -110,7 +111,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
110
111
  return;
111
112
  } else if (subcommand === "server") {
112
113
  try {
113
- await (await import('./server-CEJfRQfj.mjs')).handleServerCommand(args.slice(1));
114
+ await (await import('./server-DgBa6T42.mjs')).handleServerCommand(args.slice(1));
114
115
  } catch (error) {
115
116
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
116
117
  if (process.env.DEBUG) {
@@ -150,7 +151,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
150
151
  }
151
152
  } else if (subcommand === "agent-home") {
152
153
  try {
153
- const { parseAgentHomeArgs, runAgentHomeCommand } = await import('./agentHome-Ct-VXFeG.mjs');
154
+ const { parseAgentHomeArgs, runAgentHomeCommand } = await import('./agentHome-BqIbAFvU.mjs');
154
155
  await runAgentHomeCommand(parseAgentHomeArgs(args.slice(1)));
155
156
  process.exit(0);
156
157
  } catch (error) {
@@ -159,7 +160,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
159
160
  }
160
161
  } else if (subcommand === "spawn") {
161
162
  try {
162
- const { handleSpawnCommand } = await import('./spawn-BmjG5j5Y.mjs');
163
+ const { handleSpawnCommand } = await import('./spawn-B9Audcd3.mjs');
163
164
  await handleSpawnCommand(args.slice(1));
164
165
  } catch (error) {
165
166
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -171,7 +172,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
171
172
  return;
172
173
  } else if (subcommand === "sessions") {
173
174
  try {
174
- const { handleSessionsCommand } = await import('./sessions-DAmjMAZN.mjs');
175
+ const { handleSessionsCommand } = await import('./sessions-DOaMkmer.mjs');
175
176
  await handleSessionsCommand(args.slice(1));
176
177
  } catch (error) {
177
178
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -183,7 +184,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
183
184
  return;
184
185
  } else if (subcommand === "send") {
185
186
  try {
186
- const { handleSendCommand } = await import('./send-B5bWW9Tl.mjs');
187
+ const { handleSendCommand } = await import('./send-8KoLgWt8.mjs');
187
188
  await handleSendCommand(args.slice(1));
188
189
  } catch (error) {
189
190
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -195,7 +196,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
195
196
  return;
196
197
  } else if (subcommand === "resume") {
197
198
  try {
198
- await (await import('./handleResumeCommand-BTUGlNjB.mjs')).handleResumeCommand(args.slice(1));
199
+ await (await import('./handleResumeCommand-Bx1W2trq.mjs')).handleResumeCommand(args.slice(1));
199
200
  } catch (error) {
200
201
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
201
202
  if (process.env.DEBUG) {
@@ -206,7 +207,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
206
207
  return;
207
208
  } else if (subcommand === "codex") {
208
209
  try {
209
- await (await import('./codexCommand-BZSr4MKI.mjs')).handleCodexCommand(args.slice(1));
210
+ await (await import('./codexCommand-DticONFg.mjs')).handleCodexCommand(args.slice(1));
210
211
  } catch (error) {
211
212
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
212
213
  if (process.env.DEBUG) {
@@ -289,9 +290,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
289
290
  if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
290
291
  const projectId = args[3];
291
292
  try {
292
- const { saveGoogleCloudProjectToConfig } = await import('./config-C_Pj7yxV.mjs');
293
- const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./persistence-ON0zpHfb.mjs').then(function (n) { return n.E; });
294
- const { ApiClient } = await import('./api-CReZazeT.mjs').then(function (n) { return n.b; });
293
+ const { saveGoogleCloudProjectToConfig } = await import('./config-ONvwYlDy.mjs');
294
+ const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./persistence-bZj6UA2E.mjs').then(function (n) { return n.E; });
295
+ const { ApiClient } = await import('./api-D9feoPQW.mjs').then(function (n) { return n.b; });
295
296
  let userEmail = void 0;
296
297
  try {
297
298
  const credentials = await readCredentialsForConfiguredRelay2();
@@ -322,7 +323,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
322
323
  }
323
324
  if (geminiSubcommand === "project" && args[2] === "get") {
324
325
  try {
325
- const { readGeminiLocalConfig } = await import('./config-C_Pj7yxV.mjs');
326
+ const { readGeminiLocalConfig } = await import('./config-ONvwYlDy.mjs');
326
327
  const config = readGeminiLocalConfig();
327
328
  if (config.googleCloudProject) {
328
329
  console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
@@ -362,7 +363,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
362
363
  process.exit(0);
363
364
  }
364
365
  try {
365
- const { runGemini } = await import('./runGemini-CwmGBH3L.mjs');
366
+ const { runGemini } = await import('./runGemini-5W4Dnj7m.mjs');
366
367
  let startedBy = void 0;
367
368
  for (let i = 1; i < args.length; i++) {
368
369
  if (args[i] === "--started-by") {
@@ -385,7 +386,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
385
386
  } else if (subcommand === "pi") {
386
387
  if (args[1] === "--terminal") {
387
388
  try {
388
- const { runPiTerminal } = await import('./piTerminal-0eNlXSlL.mjs');
389
+ const { runPiTerminal } = await import('./piTerminal-C6xULple.mjs');
389
390
  process.exitCode = await runPiTerminal(args.slice(2));
390
391
  } catch (error) {
391
392
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -398,12 +399,19 @@ Conversation history is preserved on the server, but in-flight tool calls are in
398
399
  const hint = piAdapterMissingHint(detail);
399
400
  if (hint && !hintPrinted) {
400
401
  hintPrinted = true;
401
- console.error(chalk.gray(hint));
402
+ console.error(chalk.yellow(hint));
402
403
  }
403
404
  };
404
405
  try {
405
- const { runAcp, resolveAcpAgentConfig } = await import('./index-CE2GgPbr.mjs');
406
406
  const parsed = parsePiRunnerArgs(args.slice(1));
407
+ if (parsed.startedBy !== "daemon") {
408
+ const missing = missingPiPrerequisites(commandOnPath, process.env);
409
+ if (missing.length > 0) {
410
+ console.error(chalk.yellow(piSetupMessage(missing)));
411
+ process.exit(1);
412
+ }
413
+ }
414
+ const { runAcp, resolveAcpAgentConfig } = await import('./index-D6WijXzL.mjs');
407
415
  const resolved = resolveAcpAgentConfig(["pi", ...parsed.passthrough]);
408
416
  const { credentials } = await authAndSetupMachineIfNeeded();
409
417
  await ensureDaemonRunning();
@@ -430,7 +438,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
430
438
  return;
431
439
  } else if (subcommand === "acp") {
432
440
  try {
433
- const { runAcp, resolveAcpAgentConfig } = await import('./index-CE2GgPbr.mjs');
441
+ const { runAcp, resolveAcpAgentConfig } = await import('./index-D6WijXzL.mjs');
434
442
  let startedBy = void 0;
435
443
  let verbose = false;
436
444
  const acpArgs = [];
@@ -470,7 +478,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
470
478
  return;
471
479
  } else if (subcommand === "openclaw") {
472
480
  try {
473
- const { runOpenClaw } = await import('./runOpenClaw-BYAPYFyL.mjs');
481
+ const { runOpenClaw } = await import('./runOpenClaw-DfFkU3-O.mjs');
474
482
  let startedBy = void 0;
475
483
  let verbose = false;
476
484
  let gatewayUrl;
@@ -510,7 +518,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
510
518
  } else if (subcommand === "logout") {
511
519
  console.log(chalk.yellow('Note: "very-happy logout" is deprecated. Use "very-happy auth logout" instead.\n'));
512
520
  try {
513
- await (await import('./auth-BIHuc7vY.mjs')).handleAuthCommand(["logout"]);
521
+ await (await import('./auth-ESPV0RuP.mjs')).handleAuthCommand(["logout"]);
514
522
  } catch (error) {
515
523
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
516
524
  if (process.env.DEBUG) {
@@ -521,7 +529,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
521
529
  return;
522
530
  } else if (subcommand === "todo") {
523
531
  try {
524
- const { handleTodoCommand } = await import('./todo-CfL7SBFc.mjs');
532
+ const { handleTodoCommand } = await import('./todo-DyFlR8ta.mjs');
525
533
  await handleTodoCommand(args.slice(1));
526
534
  } catch (error) {
527
535
  console.error(JSON.stringify({ error: error instanceof Error ? error.message : "Todo command failed" }));
@@ -530,7 +538,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
530
538
  return;
531
539
  } else if (subcommand === "teams") {
532
540
  try {
533
- const { handleTeamsCommand } = await import('./teams-DRrLBcys.mjs');
541
+ const { handleTeamsCommand } = await import('./teams-FWeQ-3dR.mjs');
534
542
  await handleTeamsCommand(args.slice(1));
535
543
  } catch (error) {
536
544
  console.error(error instanceof Error ? error.message : "Teams command failed");
@@ -539,7 +547,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
539
547
  return;
540
548
  } else if (subcommand === "auto") {
541
549
  try {
542
- const { handleAutoCommand } = await import('./auto-Df9-zmuN.mjs');
550
+ const { handleAutoCommand } = await import('./auto-BaXaunaW.mjs');
543
551
  await handleAutoCommand(args.slice(1));
544
552
  } catch (error) {
545
553
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Automation command failed");
@@ -551,7 +559,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
551
559
  return;
552
560
  } else if (subcommand === "mcp" && (args.length === 1 || args.length === 2 && args[1] === "--terminal-tools")) {
553
561
  try {
554
- const { handleMcpCommand } = await import('./mcp-BotAjCdD.mjs');
562
+ const { handleMcpCommand } = await import('./mcp-C3-c1CFs.mjs');
555
563
  await handleMcpCommand(args[1] === "--terminal-tools");
556
564
  } catch (error) {
557
565
  process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
@@ -643,13 +651,13 @@ Conversation history is preserved on the server, but in-flight tool calls are in
643
651
  }
644
652
  process.exit(0);
645
653
  } else if (daemonSubcommand === "start-sync") {
646
- await (await import('./run-O2M8LsWf.mjs')).startDaemon();
654
+ await (await import('./run-ChuQWCKp.mjs')).startDaemon();
647
655
  process.exit(0);
648
656
  } else if (daemonSubcommand === "stop") {
649
657
  await stopDaemon();
650
658
  process.exit(0);
651
659
  } else if (daemonSubcommand === "status") {
652
- await (await import('./doctor-D1KKyPzB.mjs').then(function (n) { return n.d; })).runDoctorDaemon();
660
+ await (await import('./doctor-7a_2qR9U.mjs').then(function (n) { return n.d; })).runDoctorDaemon();
653
661
  process.exit(0);
654
662
  } else if (daemonSubcommand === "logs") {
655
663
  const latest = await getLatestDaemonLog();
@@ -661,14 +669,14 @@ Conversation history is preserved on the server, but in-flight tool calls are in
661
669
  process.exit(0);
662
670
  } else if (daemonSubcommand === "install") {
663
671
  try {
664
- await (await import('./install-C0-QFn9s.mjs')).install();
672
+ await (await import('./install-Dzk7clHU.mjs')).install();
665
673
  } catch (error) {
666
674
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
667
675
  process.exit(1);
668
676
  }
669
677
  } else if (daemonSubcommand === "uninstall") {
670
678
  try {
671
- await (await import('./uninstall-5xz3Xvhf.mjs')).uninstall();
679
+ await (await import('./uninstall-Dg_AEwLz.mjs')).uninstall();
672
680
  } catch (error) {
673
681
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
674
682
  process.exit(1);
@@ -855,7 +863,7 @@ ${chalk.bold.cyan("Claude Code Options (from `claude --help`):")}
855
863
  await ensureDaemonRunning();
856
864
  }
857
865
  try {
858
- const { runClaude } = await import('./runClaude-DGkr5E7s.mjs');
866
+ const { runClaude } = await import('./runClaude-0pC7HBnA.mjs');
859
867
  await runClaude(credentials, options);
860
868
  } catch (error) {
861
869
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -914,7 +922,7 @@ ${chalk.bold("Examples:")}
914
922
  }
915
923
  console.log(chalk.blue("\u{1F4F1} Sending push notification..."));
916
924
  try {
917
- const { ApiClient } = await import('./api-CReZazeT.mjs').then(function (n) { return n.b; });
925
+ const { ApiClient } = await import('./api-D9feoPQW.mjs').then(function (n) { return n.b; });
918
926
  const api = await ApiClient.create(credentials);
919
927
  const notificationTitle = title || "Happy";
920
928
  api.push().sendToAllDevices(
@@ -1,20 +1,22 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var logger = require('./logger-B_MWPbZz.cjs');
5
- var persistence = require('./persistence-BYGl0QYw.cjs');
6
- var auth = require('./auth-VzWpbo5P.cjs');
7
- var _package = require('./package-C9ZP9bpX.cjs');
4
+ var logger = require('./logger-CEXN6kmp.cjs');
5
+ var persistence = require('./persistence-Ctx5X33x.cjs');
6
+ var auth = require('./auth-D8Xbw1i7.cjs');
7
+ var _package = require('./package-CRtabc_k.cjs');
8
8
  var z = require('zod');
9
- var controlClient = require('./controlClient-BI6Fw3fQ.cjs');
10
- var piRunnerArgs = require('./piRunnerArgs-DpbvstUX.cjs');
11
- var spawnHappyCLI = require('./spawnHappyCLI-J4iEhfyZ.cjs');
9
+ var controlClient = require('./controlClient-8EMcMnZ7.cjs');
10
+ var daemonSupervisor = require('./daemonSupervisor-B-SPSqhs.cjs');
11
+ var spawnHappyCLI = require('./spawnHappyCLI-CJ_cYzH8.cjs');
12
12
  var node_child_process = require('node:child_process');
13
- var ensureDaemonRunning = require('./ensureDaemonRunning-CCxX7MoP.cjs');
13
+ var ensureDaemonRunning = require('./ensureDaemonRunning-C_CtXvBm.cjs');
14
14
  var startupPlan = require('./startupPlan-BLMbfQIH.cjs');
15
- var index = require('./index-BjhKqDa0.cjs');
16
- var configuration = require('./configuration-C3piBtxY.cjs');
15
+ var index = require('./index-By3SzVnN.cjs');
16
+ var configuration = require('./configuration-vd98cU5s.cjs');
17
17
  var doctorReadiness = require('./doctorReadiness-BCZGcN0a.cjs');
18
+ var piRunnerArgs = require('./piRunnerArgs-BSyuUDxd.cjs');
19
+ var detectCLI = require('./detectCLI-DR9ZaN6B.cjs');
18
20
  require('node:util');
19
21
  require('node:fs');
20
22
  require('node:path');
@@ -23,17 +25,16 @@ require('./authRelay-BdYkC1Po.cjs');
23
25
  require('node:crypto');
24
26
  require('tweetnacl');
25
27
  require('axios');
26
- require('./time-BXvtjhe9.cjs');
27
- require('./browser-BoCV40yC.cjs');
28
+ require('./time-B7ohOI_y.cjs');
29
+ require('./browser-B9DbZY5S.cjs');
28
30
  require('open');
29
- require('./sessionModeFile-CyPuZRIU.cjs');
30
31
  require('cross-spawn');
31
32
  require('./projectPath-ChLhdOyt.cjs');
32
33
  require('path');
33
34
  require('url');
34
35
  require('node:module');
35
36
  require('node:os');
36
- require('./detectCLI-DR9ZaN6B.cjs');
37
+ require('./sessionModeFile-BMam0iW1.cjs');
37
38
  require('child_process');
38
39
  require('os');
39
40
  require('fs');
@@ -75,11 +76,11 @@ Conversation history is preserved on the server, but in-flight tool calls are in
75
76
  }
76
77
  process.exit(0);
77
78
  }
78
- await (await Promise.resolve().then(function () { return require('./doctor-BykBaMTr.cjs'); }).then(function (n) { return n.doctor; })).runDoctorCommand();
79
+ await (await Promise.resolve().then(function () { return require('./doctor-dhZlGUDN.cjs'); }).then(function (n) { return n.doctor; })).runDoctorCommand();
79
80
  return;
80
81
  } else if (subcommand === "auth") {
81
82
  try {
82
- await (await Promise.resolve().then(function () { return require('./auth-Myr2Q42x.cjs'); })).handleAuthCommand(args.slice(1));
83
+ await (await Promise.resolve().then(function () { return require('./auth-BbdPGp0-.cjs'); })).handleAuthCommand(args.slice(1));
83
84
  } catch (error) {
84
85
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
85
86
  if (process.env.DEBUG) {
@@ -90,7 +91,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
90
91
  return;
91
92
  } else if (subcommand === "connect") {
92
93
  try {
93
- await (await Promise.resolve().then(function () { return require('./connect-BN-IBElA.cjs'); })).handleConnectCommand(args.slice(1));
94
+ await (await Promise.resolve().then(function () { return require('./connect-BNu_olIj.cjs'); })).handleConnectCommand(args.slice(1));
94
95
  } catch (error) {
95
96
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
96
97
  if (process.env.DEBUG) {
@@ -101,7 +102,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
101
102
  return;
102
103
  } else if (subcommand === "sandbox") {
103
104
  try {
104
- await (await Promise.resolve().then(function () { return require('./sandbox-Bqkp8IT7.cjs'); })).handleSandboxCommand(args.slice(1));
105
+ await (await Promise.resolve().then(function () { return require('./sandbox-Hno1cl_S.cjs'); })).handleSandboxCommand(args.slice(1));
105
106
  } catch (error) {
106
107
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
107
108
  if (process.env.DEBUG) {
@@ -112,7 +113,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
112
113
  return;
113
114
  } else if (subcommand === "server") {
114
115
  try {
115
- await (await Promise.resolve().then(function () { return require('./server-CFWZehnC.cjs'); })).handleServerCommand(args.slice(1));
116
+ await (await Promise.resolve().then(function () { return require('./server-HoyYfWCW.cjs'); })).handleServerCommand(args.slice(1));
116
117
  } catch (error) {
117
118
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
118
119
  if (process.env.DEBUG) {
@@ -152,7 +153,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
152
153
  }
153
154
  } else if (subcommand === "agent-home") {
154
155
  try {
155
- const { parseAgentHomeArgs, runAgentHomeCommand } = await Promise.resolve().then(function () { return require('./agentHome-DeAWzhSe.cjs'); });
156
+ const { parseAgentHomeArgs, runAgentHomeCommand } = await Promise.resolve().then(function () { return require('./agentHome-XhRZDl_8.cjs'); });
156
157
  await runAgentHomeCommand(parseAgentHomeArgs(args.slice(1)));
157
158
  process.exit(0);
158
159
  } catch (error) {
@@ -161,7 +162,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
161
162
  }
162
163
  } else if (subcommand === "spawn") {
163
164
  try {
164
- const { handleSpawnCommand } = await Promise.resolve().then(function () { return require('./spawn-GK_sXE8h.cjs'); });
165
+ const { handleSpawnCommand } = await Promise.resolve().then(function () { return require('./spawn-CDaVoyIe.cjs'); });
165
166
  await handleSpawnCommand(args.slice(1));
166
167
  } catch (error) {
167
168
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -173,7 +174,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
173
174
  return;
174
175
  } else if (subcommand === "sessions") {
175
176
  try {
176
- const { handleSessionsCommand } = await Promise.resolve().then(function () { return require('./sessions-DYK5hD4T.cjs'); });
177
+ const { handleSessionsCommand } = await Promise.resolve().then(function () { return require('./sessions-CTQcVANM.cjs'); });
177
178
  await handleSessionsCommand(args.slice(1));
178
179
  } catch (error) {
179
180
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -185,7 +186,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
185
186
  return;
186
187
  } else if (subcommand === "send") {
187
188
  try {
188
- const { handleSendCommand } = await Promise.resolve().then(function () { return require('./send-BCwS6n_s.cjs'); });
189
+ const { handleSendCommand } = await Promise.resolve().then(function () { return require('./send-Bher02Ax.cjs'); });
189
190
  await handleSendCommand(args.slice(1));
190
191
  } catch (error) {
191
192
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -197,7 +198,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
197
198
  return;
198
199
  } else if (subcommand === "resume") {
199
200
  try {
200
- await (await Promise.resolve().then(function () { return require('./handleResumeCommand-yPdDQHqz.cjs'); })).handleResumeCommand(args.slice(1));
201
+ await (await Promise.resolve().then(function () { return require('./handleResumeCommand-B1fpHyMa.cjs'); })).handleResumeCommand(args.slice(1));
201
202
  } catch (error) {
202
203
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
203
204
  if (process.env.DEBUG) {
@@ -208,7 +209,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
208
209
  return;
209
210
  } else if (subcommand === "codex") {
210
211
  try {
211
- await (await Promise.resolve().then(function () { return require('./codexCommand-Bxryqh90.cjs'); })).handleCodexCommand(args.slice(1));
212
+ await (await Promise.resolve().then(function () { return require('./codexCommand-BEtvy5KA.cjs'); })).handleCodexCommand(args.slice(1));
212
213
  } catch (error) {
213
214
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
214
215
  if (process.env.DEBUG) {
@@ -291,9 +292,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
291
292
  if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
292
293
  const projectId = args[3];
293
294
  try {
294
- const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-DXPash-r.cjs'); });
295
- const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await Promise.resolve().then(function () { return require('./persistence-BYGl0QYw.cjs'); }).then(function (n) { return n.persistence; });
296
- const { ApiClient } = await Promise.resolve().then(function () { return require('./api-BZYLRDM9.cjs'); }).then(function (n) { return n.api; });
295
+ const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-CJJ0m0Hy.cjs'); });
296
+ const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await Promise.resolve().then(function () { return require('./persistence-Ctx5X33x.cjs'); }).then(function (n) { return n.persistence; });
297
+ const { ApiClient } = await Promise.resolve().then(function () { return require('./api-XE5qHl20.cjs'); }).then(function (n) { return n.api; });
297
298
  let userEmail = void 0;
298
299
  try {
299
300
  const credentials = await readCredentialsForConfiguredRelay2();
@@ -324,7 +325,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
324
325
  }
325
326
  if (geminiSubcommand === "project" && args[2] === "get") {
326
327
  try {
327
- const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-DXPash-r.cjs'); });
328
+ const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-CJJ0m0Hy.cjs'); });
328
329
  const config = readGeminiLocalConfig();
329
330
  if (config.googleCloudProject) {
330
331
  console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
@@ -364,7 +365,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
364
365
  process.exit(0);
365
366
  }
366
367
  try {
367
- const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-BfYA4Uqc.cjs'); });
368
+ const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-Ns6jeEA2.cjs'); });
368
369
  let startedBy = void 0;
369
370
  for (let i = 1; i < args.length; i++) {
370
371
  if (args[i] === "--started-by") {
@@ -387,7 +388,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
387
388
  } else if (subcommand === "pi") {
388
389
  if (args[1] === "--terminal") {
389
390
  try {
390
- const { runPiTerminal } = await Promise.resolve().then(function () { return require('./piTerminal-B57TgMON.cjs'); });
391
+ const { runPiTerminal } = await Promise.resolve().then(function () { return require('./piTerminal-D0VK-jbN.cjs'); });
391
392
  process.exitCode = await runPiTerminal(args.slice(2));
392
393
  } catch (error) {
393
394
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -400,12 +401,19 @@ Conversation history is preserved on the server, but in-flight tool calls are in
400
401
  const hint = piRunnerArgs.piAdapterMissingHint(detail);
401
402
  if (hint && !hintPrinted) {
402
403
  hintPrinted = true;
403
- console.error(chalk.gray(hint));
404
+ console.error(chalk.yellow(hint));
404
405
  }
405
406
  };
406
407
  try {
407
- const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-DifM62wX.cjs'); });
408
408
  const parsed = piRunnerArgs.parsePiRunnerArgs(args.slice(1));
409
+ if (parsed.startedBy !== "daemon") {
410
+ const missing = piRunnerArgs.missingPiPrerequisites(detectCLI.commandOnPath, process.env);
411
+ if (missing.length > 0) {
412
+ console.error(chalk.yellow(piRunnerArgs.piSetupMessage(missing)));
413
+ process.exit(1);
414
+ }
415
+ }
416
+ const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-DkXElN6H.cjs'); });
409
417
  const resolved = resolveAcpAgentConfig(["pi", ...parsed.passthrough]);
410
418
  const { credentials } = await auth.authAndSetupMachineIfNeeded();
411
419
  await ensureDaemonRunning.ensureDaemonRunning();
@@ -432,7 +440,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
432
440
  return;
433
441
  } else if (subcommand === "acp") {
434
442
  try {
435
- const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-DifM62wX.cjs'); });
443
+ const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-DkXElN6H.cjs'); });
436
444
  let startedBy = void 0;
437
445
  let verbose = false;
438
446
  const acpArgs = [];
@@ -472,7 +480,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
472
480
  return;
473
481
  } else if (subcommand === "openclaw") {
474
482
  try {
475
- const { runOpenClaw } = await Promise.resolve().then(function () { return require('./runOpenClaw-C72jut7v.cjs'); });
483
+ const { runOpenClaw } = await Promise.resolve().then(function () { return require('./runOpenClaw-Do_WGJCf.cjs'); });
476
484
  let startedBy = void 0;
477
485
  let verbose = false;
478
486
  let gatewayUrl;
@@ -512,7 +520,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
512
520
  } else if (subcommand === "logout") {
513
521
  console.log(chalk.yellow('Note: "very-happy logout" is deprecated. Use "very-happy auth logout" instead.\n'));
514
522
  try {
515
- await (await Promise.resolve().then(function () { return require('./auth-Myr2Q42x.cjs'); })).handleAuthCommand(["logout"]);
523
+ await (await Promise.resolve().then(function () { return require('./auth-BbdPGp0-.cjs'); })).handleAuthCommand(["logout"]);
516
524
  } catch (error) {
517
525
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
518
526
  if (process.env.DEBUG) {
@@ -523,7 +531,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
523
531
  return;
524
532
  } else if (subcommand === "todo") {
525
533
  try {
526
- const { handleTodoCommand } = await Promise.resolve().then(function () { return require('./todo-B0aeoNu3.cjs'); });
534
+ const { handleTodoCommand } = await Promise.resolve().then(function () { return require('./todo-ClSKkrgg.cjs'); });
527
535
  await handleTodoCommand(args.slice(1));
528
536
  } catch (error) {
529
537
  console.error(JSON.stringify({ error: error instanceof Error ? error.message : "Todo command failed" }));
@@ -532,7 +540,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
532
540
  return;
533
541
  } else if (subcommand === "teams") {
534
542
  try {
535
- const { handleTeamsCommand } = await Promise.resolve().then(function () { return require('./teams-GHMCRZOw.cjs'); });
543
+ const { handleTeamsCommand } = await Promise.resolve().then(function () { return require('./teams-Dfap3oPT.cjs'); });
536
544
  await handleTeamsCommand(args.slice(1));
537
545
  } catch (error) {
538
546
  console.error(error instanceof Error ? error.message : "Teams command failed");
@@ -541,7 +549,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
541
549
  return;
542
550
  } else if (subcommand === "auto") {
543
551
  try {
544
- const { handleAutoCommand } = await Promise.resolve().then(function () { return require('./auto-Bf6Dr7_o.cjs'); });
552
+ const { handleAutoCommand } = await Promise.resolve().then(function () { return require('./auto-BQOEIFwp.cjs'); });
545
553
  await handleAutoCommand(args.slice(1));
546
554
  } catch (error) {
547
555
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Automation command failed");
@@ -553,7 +561,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
553
561
  return;
554
562
  } else if (subcommand === "mcp" && (args.length === 1 || args.length === 2 && args[1] === "--terminal-tools")) {
555
563
  try {
556
- const { handleMcpCommand } = await Promise.resolve().then(function () { return require('./mcp-AvPOhDXy.cjs'); });
564
+ const { handleMcpCommand } = await Promise.resolve().then(function () { return require('./mcp-DRwndcmD.cjs'); });
557
565
  await handleMcpCommand(args[1] === "--terminal-tools");
558
566
  } catch (error) {
559
567
  process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
@@ -616,7 +624,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
616
624
  if (running && !currentDaemonMatches) {
617
625
  if (currentState?.supervisor === "systemd") {
618
626
  console.error(`The running daemon is supervised by systemd; hand over through the unit instead:
619
- ${piRunnerArgs.SYSTEMD_RESTART_HINT}`);
627
+ ${daemonSupervisor.SYSTEMD_RESTART_HINT}`);
620
628
  process.exit(1);
621
629
  }
622
630
  console.log("Configured relay or CLI version changed; restarting the existing daemon");
@@ -645,13 +653,13 @@ Conversation history is preserved on the server, but in-flight tool calls are in
645
653
  }
646
654
  process.exit(0);
647
655
  } else if (daemonSubcommand === "start-sync") {
648
- await (await Promise.resolve().then(function () { return require('./run-BC8jzq_h.cjs'); })).startDaemon();
656
+ await (await Promise.resolve().then(function () { return require('./run-gofkmliK.cjs'); })).startDaemon();
649
657
  process.exit(0);
650
658
  } else if (daemonSubcommand === "stop") {
651
659
  await controlClient.stopDaemon();
652
660
  process.exit(0);
653
661
  } else if (daemonSubcommand === "status") {
654
- await (await Promise.resolve().then(function () { return require('./doctor-BykBaMTr.cjs'); }).then(function (n) { return n.doctor; })).runDoctorDaemon();
662
+ await (await Promise.resolve().then(function () { return require('./doctor-dhZlGUDN.cjs'); }).then(function (n) { return n.doctor; })).runDoctorDaemon();
655
663
  process.exit(0);
656
664
  } else if (daemonSubcommand === "logs") {
657
665
  const latest = await logger.getLatestDaemonLog();
@@ -663,14 +671,14 @@ Conversation history is preserved on the server, but in-flight tool calls are in
663
671
  process.exit(0);
664
672
  } else if (daemonSubcommand === "install") {
665
673
  try {
666
- await (await Promise.resolve().then(function () { return require('./install-CqZVeze8.cjs'); })).install();
674
+ await (await Promise.resolve().then(function () { return require('./install-DpAjCfux.cjs'); })).install();
667
675
  } catch (error) {
668
676
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
669
677
  process.exit(1);
670
678
  }
671
679
  } else if (daemonSubcommand === "uninstall") {
672
680
  try {
673
- await (await Promise.resolve().then(function () { return require('./uninstall-AtzOfdrj.cjs'); })).uninstall();
681
+ await (await Promise.resolve().then(function () { return require('./uninstall-DR-b8fla.cjs'); })).uninstall();
674
682
  } catch (error) {
675
683
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
676
684
  process.exit(1);
@@ -857,7 +865,7 @@ ${chalk.bold.cyan("Claude Code Options (from `claude --help`):")}
857
865
  await ensureDaemonRunning.ensureDaemonRunning();
858
866
  }
859
867
  try {
860
- const { runClaude } = await Promise.resolve().then(function () { return require('./runClaude-C7jPa8VP.cjs'); });
868
+ const { runClaude } = await Promise.resolve().then(function () { return require('./runClaude-CJnltZOa.cjs'); });
861
869
  await runClaude(credentials, options);
862
870
  } catch (error) {
863
871
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -916,7 +924,7 @@ ${chalk.bold("Examples:")}
916
924
  }
917
925
  console.log(chalk.blue("\u{1F4F1} Sending push notification..."));
918
926
  try {
919
- const { ApiClient } = await Promise.resolve().then(function () { return require('./api-BZYLRDM9.cjs'); }).then(function (n) { return n.api; });
927
+ const { ApiClient } = await Promise.resolve().then(function () { return require('./api-XE5qHl20.cjs'); }).then(function (n) { return n.api; });
920
928
  const api = await ApiClient.create(credentials);
921
929
  const notificationTitle = title || "Happy";
922
930
  api.push().sendToAllDevices(