very-happy-cli 0.2.194 → 0.2.196
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.
- package/dist/{AcpBackend-C3Kx0QJb.mjs → AcpBackend-RqGkFeeY.mjs} +3 -3
- package/dist/{AcpBackend-DJzsue14.cjs → AcpBackend-tL_g_UJ5.cjs} +3 -3
- package/dist/{AcpSessionManager-SteuoqMY.mjs → AcpSessionManager-C-R6yHXc.mjs} +2 -2
- package/dist/{AcpSessionManager-Bc3iafB1.cjs → AcpSessionManager-CFB24qBh.cjs} +2 -2
- package/dist/{BasePermissionHandler-DKzNFVCh.cjs → BasePermissionHandler-C0JS37Jt.cjs} +1 -1
- package/dist/{BasePermissionHandler-D2pNcAXn.mjs → BasePermissionHandler-CgHLVNKT.mjs} +1 -1
- package/dist/{account-ByVjlvFj.cjs → account-DOil1Hn8.cjs} +11 -11
- package/dist/{account-DC2YyU24.mjs → account-EzL-zwwE.mjs} +11 -11
- package/dist/{accountService-CuUSJDhP.cjs → accountService-DL6xhVUa.cjs} +4 -4
- package/dist/{accountService-Cd7bnkfd.mjs → accountService-DQ21IlBs.mjs} +4 -4
- package/dist/{acpSessionResume-DHHgbNnk.cjs → acpSessionResume-B01oHWDS.cjs} +1 -1
- package/dist/{acpSessionResume-B6VClxKQ.mjs → acpSessionResume-DEOIZUuj.mjs} +1 -1
- package/dist/{agentHome-Bov1aHYS.cjs → agentHome-BulDO_1K.cjs} +4 -4
- package/dist/{agentHome-9caXwo7k.mjs → agentHome-DucTue1n.mjs} +4 -4
- package/dist/{api-aE60mNjs.mjs → api-CiNezCys.mjs} +46 -13
- package/dist/{api-wYwQCJml.cjs → api-fuwEEEkT.cjs} +46 -13
- package/dist/{apiMachine-DwaqfM9Q.cjs → apiMachine-CxmiSa2-.cjs} +18 -18
- package/dist/{apiMachine-CvNB38Xg.mjs → apiMachine-DCmKjms1.mjs} +18 -18
- package/dist/{attachmentContent-DB8ZsxGE.cjs → attachmentContent-Cehh7ClR.cjs} +2 -2
- package/dist/{attachmentContent-C2ymY_-w.mjs → attachmentContent-CiY3MvdO.mjs} +2 -2
- package/dist/{auth-boIcb7iq.cjs → auth-DHlbjtf7.cjs} +5 -5
- package/dist/{auth-BYtmGgE1.mjs → auth-DHqHrs5d.mjs} +8 -8
- package/dist/{auth-CWO6cQ4G.mjs → auth-DVsH_a8J.mjs} +5 -5
- package/dist/{auth-Bce0Zk3q.cjs → auth-tlMcvk2Y.cjs} +8 -8
- package/dist/{auto-B-kopWQx.mjs → auto-Cnn8luKk.mjs} +17 -17
- package/dist/{auto-AaggdihK.cjs → auto-DNAa8xDZ.cjs} +17 -17
- package/dist/{bootstrap-CiWwfHB2.mjs → bootstrap-C2XSEyOe.mjs} +2 -2
- package/dist/{bootstrap-kywZ0tvD.cjs → bootstrap-PeTZ2sAn.cjs} +2 -2
- package/dist/{browser-Do2MFdq6.cjs → browser-Bm24RiFU.cjs} +1 -1
- package/dist/{browser-CFfZM3yg.mjs → browser-CWWyaf8_.mjs} +1 -1
- package/dist/{claudeAccountEnv-BL1pR_37.mjs → claudeAccountEnv-CPO6CGNd.mjs} +1 -1
- package/dist/{claudeAccountEnv-CEX_EMZr.cjs → claudeAccountEnv-_O3x5AJ1.cjs} +1 -1
- package/dist/{claudeLocal-DLd8ogcH.cjs → claudeLocal-BDWy2pFt.cjs} +5 -5
- package/dist/{claudeLocal-B47NjZfB.mjs → claudeLocal-CRG-Q7kS.mjs} +5 -5
- package/dist/{claudeLocalLauncher-5DDuHpCD.mjs → claudeLocalLauncher-B5cOrszW.mjs} +10 -10
- package/dist/{claudeLocalLauncher-D_UTQ4o_.cjs → claudeLocalLauncher-DmSLoHlw.cjs} +10 -10
- package/dist/{claudeSessionFork-BrJTncNL.mjs → claudeSessionFork-BqV6E0ep.mjs} +1 -1
- package/dist/{claudeSessionFork-4g6-Sk3Q.cjs → claudeSessionFork-OffWLYgd.cjs} +1 -1
- package/dist/{client-DS5JEsHs.mjs → client-B3lOol4f.mjs} +4 -4
- package/dist/{client-BIg2LPVx.cjs → client-B9fcSMXP.cjs} +2 -2
- package/dist/{client-Cbxr9VUE.mjs → client-CfTeXnYS.mjs} +2 -2
- package/dist/{client-OjYRPhZs.mjs → client-Cg_cuQb1.mjs} +2 -2
- package/dist/{client-CsfPUxLy.cjs → client-Ckic3nxZ.cjs} +2 -2
- package/dist/{client-BfDga3xi.cjs → client-YFvImdwH.cjs} +4 -4
- package/dist/codex/happyMcpStdioBridge.cjs +16 -16
- package/dist/codex/happyMcpStdioBridge.mjs +16 -16
- package/dist/{codexAccount-BDQjRbtI.cjs → codexAccount-CYhQir50.cjs} +1 -1
- package/dist/{codexAccount-NOX5pmQf.mjs → codexAccount-iZwmpYti.mjs} +1 -1
- package/dist/{codexAppServerClient-Bj5vN7sb.cjs → codexAppServerClient-C-UwVMUN.cjs} +60 -3
- package/dist/{codexAppServerClient-HKAm8f_D.mjs → codexAppServerClient-aV5m-FpZ.mjs} +60 -3
- package/dist/{codexCommand-DtbDjHZp.cjs → codexCommand-5nWT7F8A.cjs} +145 -51
- package/dist/{codexCommand-655pR6CR.mjs → codexCommand-CI2NTyIF.mjs} +144 -50
- package/dist/{codexTermination-DxLR-bb5.mjs → codexTermination-CLjDP6Ja.mjs} +6 -2
- package/dist/{codexTermination-CX_FHKT5.cjs → codexTermination-D18IHgLP.cjs} +6 -2
- package/dist/{config-Cv-A-Bw0.cjs → config-B7YtrHi0.cjs} +3 -3
- package/dist/{config-CIvXVGlP.mjs → config-BfwjfFSC.mjs} +3 -3
- package/dist/{configuration-rTcdHkhE.mjs → configuration-C8r6uD9k.mjs} +1 -1
- package/dist/{configuration-2Pbg3a0H.cjs → configuration-CWRKSOyj.cjs} +1 -1
- package/dist/{connect-BAYNAE8A.cjs → connect-DALX1hGB.cjs} +15 -15
- package/dist/{connect-B9Bl68PF.mjs → connect-K5HBcM56.mjs} +15 -15
- package/dist/{context-CLTyu_tQ.cjs → context-BqhlGL3u.cjs} +1 -1
- package/dist/{context-C7QarZMk.mjs → context-CtMY-M8T.mjs} +1 -1
- package/dist/{controlClient-BIdGnYBo.mjs → controlClient-DYQ1g2ar.mjs} +20 -8
- package/dist/{controlClient-CIqHL07h.cjs → controlClient-DyNgxNl7.cjs} +19 -7
- package/dist/{createSessionMetadata-BHjzRzPc.cjs → createSessionMetadata-C4WN8pVK.cjs} +2 -2
- package/dist/{createSessionMetadata-PrN-dT7K.mjs → createSessionMetadata-CZuEDo2v.mjs} +2 -2
- package/dist/{daemonAccounts-DwPwKxvv.mjs → daemonAccounts-CnAEaJE_.mjs} +3 -3
- package/dist/{daemonAccounts-CpGDY_4k.cjs → daemonAccounts-CxMJw7x2.cjs} +2 -2
- package/dist/{defaultPermissionMode-BakXiqRr.cjs → defaultPermissionMode-BCWCMONI.cjs} +1 -1
- package/dist/{defaultPermissionMode-DF5AfeBb.mjs → defaultPermissionMode-CpEJ0wlb.mjs} +1 -1
- package/dist/{deterministicJson-DFwJ57jR.mjs → deterministicJson-Dg_0QJAR.mjs} +13 -13
- package/dist/{deterministicJson-ZBFn1jtS.cjs → deterministicJson-r4zhG546.cjs} +13 -13
- package/dist/{doctor-yyM-zii7.cjs → doctor-0gLGzwz6.cjs} +8 -8
- package/dist/{doctor-u46qYYKX.cjs → doctor-CJpFhHoK.cjs} +8 -9
- package/dist/{doctor-CFYpAXvt.mjs → doctor-COeFzPpz.mjs} +8 -8
- package/dist/{doctor-BPkYWSuq.mjs → doctor-GN5mPOn5.mjs} +8 -9
- package/dist/{downloadTarget-DlmqPQp9.cjs → downloadTarget-8ovVpDv1.cjs} +6 -6
- package/dist/{downloadTarget-CVPBZMnY.mjs → downloadTarget-CbuUiS5p.mjs} +6 -6
- package/dist/{ensureDaemonRunning-D2ny0yon.cjs → ensureDaemonRunning-Bq-n6xTt.cjs} +5 -5
- package/dist/{ensureDaemonRunning-B6Y-CMWe.mjs → ensureDaemonRunning-CwlujXmV.mjs} +5 -5
- package/dist/{handleResumeCommand-DlrDcV5B.mjs → handleResumeCommand-B5GgmPm_.mjs} +5 -5
- package/dist/{handleResumeCommand-D-mGugcu.cjs → handleResumeCommand-muSrYA5y.cjs} +5 -5
- package/dist/{index-DuDD9khO.mjs → index-BRH0XYSO.mjs} +53 -46
- package/dist/{index-5c33fqLQ.cjs → index-BUOd8bNd.cjs} +5 -5
- package/dist/{index-Bi3dVJ0S.mjs → index-BZCIkrFj.mjs} +4 -4
- package/dist/{index-D1YnIih6.mjs → index-C27JFCbe.mjs} +2 -1
- package/dist/{index-CPkSLWP_.cjs → index-CQZg9jKx.cjs} +4 -4
- package/dist/{index-2Fcq3AGX.cjs → index-CnY74Dae.cjs} +3 -3
- package/dist/{index-BJsenPFp.mjs → index-D0V-seiN.mjs} +3 -3
- package/dist/{index-BUFrKZeQ.cjs → index-D9Hidq-g.cjs} +2 -0
- package/dist/{index-DEN6vfEY.mjs → index-DKCmDned.mjs} +5 -5
- package/dist/{index-BWvmUCQF.cjs → index-Dt_YE-zw.cjs} +52 -45
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-BOA4nEbm.cjs → install-BlW2kkPl.cjs} +3 -3
- package/dist/{install-BVYL-wSO.mjs → install-CooQf1oU.mjs} +3 -3
- package/dist/lib.cjs +16 -16
- package/dist/lib.d.cts +4 -0
- package/dist/lib.d.mts +4 -0
- package/dist/lib.mjs +16 -16
- package/dist/{lidState-zy20u7T3.mjs → lidState-BflRFw38.mjs} +1 -1
- package/dist/{lidState-DYeb7Wud.cjs → lidState-VZ1j_QYw.cjs} +1 -1
- package/dist/{localHappyAgentAuth-CBsX08VJ.mjs → localHappyAgentAuth-BAK_nqMG.mjs} +1 -1
- package/dist/{localHappyAgentAuth-CScN2McN.cjs → localHappyAgentAuth-oxhpgJOb.cjs} +1 -1
- package/dist/{logger-SGCwRIV5.mjs → logger-D1hb3CG8.mjs} +2 -2
- package/dist/{logger-CepF8C5Z.cjs → logger-HQ9yDb8R.cjs} +2 -2
- package/dist/{machineMetadata-ClJfd7ay.mjs → machineMetadata-Dxng45Uh.mjs} +3 -3
- package/dist/{machineMetadata-ObK4hjF0.cjs → machineMetadata-Dzwn-HjN.cjs} +3 -3
- package/dist/{main-C7ZcZVBY.mjs → main-BP0iY2vQ.mjs} +48 -48
- package/dist/{main-mhXOpUV7.cjs → main-D7qre-pa.cjs} +48 -48
- package/dist/{mcp-BuCpkYTY.mjs → mcp-BmDGyj7k.mjs} +18 -18
- package/dist/{mcp-Zz7m0j8A.cjs → mcp-D3yzLkh8.cjs} +18 -18
- package/dist/{mirrorProtocol-B0H9UTBM.mjs → mirrorProtocol-C9Zc6GFT.mjs} +3 -3
- package/dist/{mirrorProtocol-IhICxf0K.cjs → mirrorProtocol-Cv2otcvM.cjs} +3 -3
- package/dist/{package-Q_ELj5DL.mjs → package-CpmoMPuj.mjs} +7 -7
- package/dist/{package-C7WgesIw.cjs → package-Dn7zZkY1.cjs} +7 -7
- package/dist/{panels-Cm69UXgE.mjs → panels-CQobcX5w.mjs} +5 -5
- package/dist/{panels-yyxpwZnk.cjs → panels-D59PlNoD.cjs} +5 -5
- package/dist/{peerTools-DUg9RduG.mjs → peerTools-CNzlwuL7.mjs} +5 -5
- package/dist/{peerTools-BcZAbqBL.cjs → peerTools-D417O7d-.cjs} +5 -5
- package/dist/{persistence-D0gNvqXe.cjs → persistence-BiyvEYaR.cjs} +15 -5
- package/dist/{persistence-mr4Y484W.mjs → persistence-CagHeZ-f.mjs} +15 -5
- package/dist/{piRunnerArgs-CGjpl4iF.mjs → piRunnerArgs-DKU5LoWu.mjs} +1 -1
- package/dist/{piRunnerArgs-DK_DDkYW.cjs → piRunnerArgs-kTaNYd23.cjs} +1 -1
- package/dist/{piRuntime-CtZRNOEb.cjs → piRuntime-BI4KNAUY.cjs} +1 -1
- package/dist/{piRuntime-HUA19wG8.mjs → piRuntime-BV4fQyZD.mjs} +1 -1
- package/dist/{piTerminal-D9OPouek.cjs → piTerminal-WPUtDJAV.cjs} +20 -20
- package/dist/{piTerminal-Bgy1W9mA.mjs → piTerminal-oObkl3WJ.mjs} +20 -20
- package/dist/processTermination-ChJG5SLW.mjs +107 -0
- package/dist/processTermination-f17wxlMb.cjs +110 -0
- package/dist/{processTreeSnapshot-mDbnuojn.cjs → processTreeSnapshot-D5iNblp6.cjs} +26 -0
- package/dist/{processTreeSnapshot-CuLJDNC-.mjs → processTreeSnapshot-fuwxC0fr.mjs} +25 -1
- package/dist/{pushNotifications-DjEl8G0a.mjs → pushNotifications-4sNESDMv.mjs} +11 -4
- package/dist/{pushNotifications-CH0XVPQe.cjs → pushNotifications-DRDWUnP-.cjs} +12 -3
- package/dist/{query-DmIo5OXf.mjs → query-6OWHW1U1.mjs} +2 -2
- package/dist/{query-Df3WhSA0.cjs → query-qIbeJ2-r.cjs} +2 -2
- package/dist/{rateLimitWindows-a2yE3kCv.mjs → rateLimitWindows-4uhuwKnU.mjs} +1 -1
- package/dist/{rateLimitWindows-B9PERFm1.cjs → rateLimitWindows-U4fc1-_6.cjs} +1 -1
- package/dist/{registerCommonHandlers-D4uXC0he.cjs → registerCommonHandlers-CEV9KUsq.cjs} +2 -2
- package/dist/{registerCommonHandlers-CND00Dpj.mjs → registerCommonHandlers-PTJ8TBj9.mjs} +2 -2
- package/dist/{registerKillSessionHandler-DQKsD9CW.cjs → registerKillSessionHandler-C6F1sjoo.cjs} +6 -6
- package/dist/{registerKillSessionHandler-CwyHwm_n.mjs → registerKillSessionHandler-D4SSwQj8.mjs} +6 -6
- package/dist/registerSideQuestionHandler-4mRv0Msq.mjs +358 -0
- package/dist/registerSideQuestionHandler-ByUnjI3V.cjs +366 -0
- package/dist/{remoteSessionClient-DOWgca08.cjs → remoteSessionClient-CUk6haD7.cjs} +5 -5
- package/dist/{remoteSessionClient-mIr_9OL_.mjs → remoteSessionClient-CfYDFlKm.mjs} +5 -5
- package/dist/{reportProgressTool-DTKlUlHv.mjs → reportProgressTool-BCn5oG52.mjs} +3 -3
- package/dist/{reportProgressTool-BLw2_Ohi.cjs → reportProgressTool-C1JOvo6T.cjs} +3 -3
- package/dist/{run-1V6DLzTY.cjs → run-D2SlfZPP.cjs} +54 -74
- package/dist/{run-bfxXYL5N.mjs → run-DC8BIklA.mjs} +52 -72
- package/dist/{runClaude-DuFgZZwO.cjs → runClaude-BE-5GgIZ.cjs} +37 -31
- package/dist/{runClaude-BgvDhl2p.mjs → runClaude-D6fqN9PD.mjs} +37 -31
- package/dist/{runClaudeDeps-CX7GtH7O.mjs → runClaudeDeps-BmdwskeI.mjs} +52 -340
- package/dist/{runClaudeDeps-DeVinBmE.cjs → runClaudeDeps-W0nv2vHL.cjs} +48 -336
- package/dist/{runGemini-Cd27u-7R.mjs → runGemini-C3Ipeu1i.mjs} +37 -34
- package/dist/{runGemini-DiYSk3s1.cjs → runGemini-Da_d-2kV.cjs} +37 -34
- package/dist/{runOpenClaw-CWkkfRSo.mjs → runOpenClaw-BoI6nbKB.mjs} +30 -20
- package/dist/{runOpenClaw-DyQnBzpy.cjs → runOpenClaw-af5qDNU0.cjs} +30 -20
- package/dist/{sandbox-C35zDrkc.mjs → sandbox-CjoyUSGa.mjs} +4 -4
- package/dist/{sandbox-BAXXYewR.cjs → sandbox-UGF68GrE.cjs} +4 -4
- package/dist/selfCheck-CNrOZgBv.mjs +88 -0
- package/dist/{selfCheck-R71q-x7u.cjs → selfCheck-Cr8eAw4m.cjs} +40 -40
- package/dist/{send-3Wa9th3D.cjs → send-CVSht9s_.cjs} +8 -8
- package/dist/{send-DiSaR5Bk.mjs → send-gqX0-i4p.mjs} +8 -8
- package/dist/{server-BJu2bFBy.cjs → server-BPgVv-BG.cjs} +6 -6
- package/dist/{server-BxMJxaE6.mjs → server-DxlNqWJo.mjs} +4 -4
- package/dist/{sessionExitLifecycle-DFltxXU8.cjs → sessionExitLifecycle-DB2rjvVS.cjs} +5 -1
- package/dist/{sessionExitLifecycle-CzkLIgNZ.mjs → sessionExitLifecycle-iAtZN9sa.mjs} +5 -1
- package/dist/{sessionLock-dbi4JPhP.mjs → sessionLock-BfvR9BGB.mjs} +94 -78
- package/dist/{sessionLock-BJ1ngLgm.cjs → sessionLock-D2usWXAg.cjs} +92 -78
- package/dist/{sessionOps-BUlpeaUe.cjs → sessionOps-JRyQhF5s.cjs} +4 -4
- package/dist/{sessionOps-C9wRmCBg.mjs → sessionOps-OmRqUFm4.mjs} +4 -4
- package/dist/{sessionProvider-DYD6JepE.cjs → sessionProvider-BpscgwwC.cjs} +10 -10
- package/dist/{sessionProvider-BEHfI5gs.mjs → sessionProvider-DTEdidBc.mjs} +10 -10
- package/dist/{sessionScanner-CFITViIZ.mjs → sessionScanner-BlAOpqMh.mjs} +3 -3
- package/dist/{sessionScanner-BwbjEoSf.cjs → sessionScanner-C_qVc1ok.cjs} +3 -3
- package/dist/{sessions-C-wBd0fN.cjs → sessions-7iyjxti9.cjs} +10 -10
- package/dist/{sessions-wOcO2X-k.mjs → sessions-CnjHHllR.mjs} +10 -10
- package/dist/{setupOfflineReconnection-Bd6XsWhA.cjs → setupOfflineReconnection-BCbJa5mT.cjs} +2 -2
- package/dist/{setupOfflineReconnection-BrljmbqX.mjs → setupOfflineReconnection-IKEI7fLJ.mjs} +2 -2
- package/dist/{spawn-BPioepNz.mjs → spawn-CbfcClhj.mjs} +14 -14
- package/dist/{spawn-Crprnq9Z.cjs → spawn-CxEl0Dyz.cjs} +14 -14
- package/dist/{spawnAgents-B9olJ8xn.cjs → spawnAgents-Cm23BW-D.cjs} +1 -1
- package/dist/{spawnAgents-I29H9nO8.mjs → spawnAgents-N3jxdNJC.mjs} +1 -1
- package/dist/{spawnHappyCLI-BA1bTIiO.mjs → spawnHappyCLI-C8gMHJu5.mjs} +1 -1
- package/dist/{spawnHappyCLI-C0XAWy8V.cjs → spawnHappyCLI-CHSlXWUe.cjs} +1 -1
- package/dist/{startFileWatcher-COCEjNT8.mjs → startFileWatcher-6hslFu_B.mjs} +1 -1
- package/dist/{startFileWatcher-Ca5izs24.cjs → startFileWatcher-BGpYPz6L.cjs} +1 -1
- package/dist/{startupSessionCreate-BnEPBxsJ.mjs → startupSessionCreate-B7jrCZUD.mjs} +3 -3
- package/dist/{startupSessionCreate-Cmg1gkKS.cjs → startupSessionCreate-CltDtCEF.cjs} +3 -3
- package/dist/{store-Vej_738f.mjs → store-BlPvTr_Q.mjs} +1 -1
- package/dist/{store-CkNa6oj4.cjs → store-aa3CVNwS.cjs} +1 -1
- package/dist/{streamRelay-C0G1HOOd.cjs → streamRelay-C2Lb2z39.cjs} +1 -1
- package/dist/{streamRelay-C5U-C4GS.mjs → streamRelay-DFZyAPD_.mjs} +1 -1
- package/dist/{sync-BfrnSdL1.cjs → sync-DfI78smj.cjs} +1 -1
- package/dist/{sync-DVcNkv8e.mjs → sync-DtzoF9sw.mjs} +1 -1
- package/dist/{systemPrompt-BxZebU75.mjs → systemPrompt-B1Xd99hK.mjs} +2 -2
- package/dist/{systemPrompt-Os5ca7pu.cjs → systemPrompt-HZNR9rjt.cjs} +2 -2
- package/dist/{teams-CNB3DE_n.mjs → teams-Vk75H6BZ.mjs} +7 -7
- package/dist/{teams--pv0QFMA.cjs → teams-fFX-L_ms.cjs} +7 -7
- package/dist/{template-B9pLEP8v.cjs → template-B1AORlgU.cjs} +1 -1
- package/dist/{template-CL9EvQLQ.mjs → template-CJ8uLlD8.mjs} +1 -1
- package/dist/{time-Da5GIiCa.cjs → time-BqPZjTpo.cjs} +1 -1
- package/dist/{time-0Ru4clBD.mjs → time-CgAwVt5R.mjs} +1 -1
- package/dist/{titleGenerator-CaCzpYyA.mjs → titleGenerator-D2UB7Uyr.mjs} +2 -2
- package/dist/{titleGenerator-9xIXHA5K.cjs → titleGenerator-ijVOuv3J.cjs} +3 -3
- package/dist/{todo-CZXHl2Lg.mjs → todo-CCuqtD0O.mjs} +6 -6
- package/dist/{todo-DUY_J3l_.cjs → todo-vCzaIwNp.cjs} +6 -6
- package/dist/{tools-hPD2Hvei.cjs → tools-CL8h3fqh.cjs} +1 -1
- package/dist/{tools-DqA2Jt2R.mjs → tools-DthGQoo3.mjs} +1 -1
- package/dist/{uninstall-rTvdpRLt.cjs → uninstall-CIvThBvI.cjs} +3 -3
- package/dist/{uninstall-CjMzELYw.mjs → uninstall-DCJh4UoO.mjs} +3 -3
- package/dist/{wrapperAccount-D2A4DuZy.cjs → wrapperAccount-BubTurHU.cjs} +2 -2
- package/dist/{wrapperAccount-BkufO_9g.mjs → wrapperAccount-RPtq8BwD.mjs} +2 -2
- package/package.json +7 -7
- package/dist/rateLimitReporter-B_PZClib.mjs +0 -42
- package/dist/rateLimitReporter-M_IKRRS7.cjs +0 -44
- package/dist/selfCheck-DKMF0Dyu.mjs +0 -88
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var mirrorProtocol = require('./mirrorProtocol-
|
|
3
|
+
var mirrorProtocol = require('./mirrorProtocol-Cv2otcvM.cjs');
|
|
4
4
|
var fsMkdir = require('./fsMkdir-0K3yENml.cjs');
|
|
5
|
-
var piRunnerArgs = require('./piRunnerArgs-
|
|
5
|
+
var piRunnerArgs = require('./piRunnerArgs-kTaNYd23.cjs');
|
|
6
6
|
var fs = require('fs/promises');
|
|
7
7
|
var os$1 = require('os');
|
|
8
8
|
var tmp = require('tmp');
|
|
9
9
|
var axios = require('axios');
|
|
10
10
|
var node_fs = require('node:fs');
|
|
11
11
|
var path = require('node:path');
|
|
12
|
-
var configuration = require('./configuration-
|
|
13
|
-
var api = require('./api-
|
|
14
|
-
var spawnAgents = require('./spawnAgents-
|
|
15
|
-
var logger = require('./logger-
|
|
16
|
-
var index$2 = require('./index-
|
|
17
|
-
var auth = require('./auth-
|
|
12
|
+
var configuration = require('./configuration-CWRKSOyj.cjs');
|
|
13
|
+
var api = require('./api-fuwEEEkT.cjs');
|
|
14
|
+
var spawnAgents = require('./spawnAgents-Cm23BW-D.cjs');
|
|
15
|
+
var logger = require('./logger-HQ9yDb8R.cjs');
|
|
16
|
+
var index$2 = require('./index-CnY74Dae.cjs');
|
|
17
|
+
var auth = require('./auth-DHlbjtf7.cjs');
|
|
18
18
|
var child_process = require('child_process');
|
|
19
|
-
var _package = require('./package-
|
|
20
|
-
var doctor = require('./doctor-
|
|
21
|
-
var spawnHappyCLI = require('./spawnHappyCLI-
|
|
22
|
-
var persistence = require('./persistence-
|
|
23
|
-
var controlClient = require('./controlClient-
|
|
24
|
-
var sessionOps = require('./sessionOps-
|
|
25
|
-
var index = require('./index-
|
|
19
|
+
var _package = require('./package-Dn7zZkY1.cjs');
|
|
20
|
+
var doctor = require('./doctor-0gLGzwz6.cjs');
|
|
21
|
+
var spawnHappyCLI = require('./spawnHappyCLI-CHSlXWUe.cjs');
|
|
22
|
+
var persistence = require('./persistence-BiyvEYaR.cjs');
|
|
23
|
+
var controlClient = require('./controlClient-DyNgxNl7.cjs');
|
|
24
|
+
var sessionOps = require('./sessionOps-JRyQhF5s.cjs');
|
|
25
|
+
var index = require('./index-D9Hidq-g.cjs');
|
|
26
26
|
var fastify = require('fastify');
|
|
27
27
|
var z = require('zod');
|
|
28
28
|
var fastifyTypeProviderZod = require('fastify-type-provider-zod');
|
|
@@ -30,70 +30,71 @@ var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
|
30
30
|
var node_crypto = require('node:crypto');
|
|
31
31
|
var previewPath = require('./previewPath-B0rBdhy1.cjs');
|
|
32
32
|
var backgroundTaskActivity = require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
33
|
-
var rateLimitWindows = require('./rateLimitWindows-
|
|
34
|
-
var peerTools = require('./peerTools-
|
|
33
|
+
var rateLimitWindows = require('./rateLimitWindows-U4fc1-_6.cjs');
|
|
34
|
+
var peerTools = require('./peerTools-D417O7d-.cjs');
|
|
35
35
|
var os = require('node:os');
|
|
36
|
-
var remoteSessionClient = require('./remoteSessionClient-
|
|
37
|
-
var bootstrap = require('./bootstrap-
|
|
38
|
-
var index$1 = require('./index-
|
|
36
|
+
var remoteSessionClient = require('./remoteSessionClient-CUk6haD7.cjs');
|
|
37
|
+
var bootstrap = require('./bootstrap-PeTZ2sAn.cjs');
|
|
38
|
+
var index$1 = require('./index-CQZg9jKx.cjs');
|
|
39
39
|
var require$$0 = require('fs');
|
|
40
40
|
var require$$1 = require('path');
|
|
41
41
|
var node_child_process = require('node:child_process');
|
|
42
42
|
var projectPath = require('./projectPath-C3ioB4Bu.cjs');
|
|
43
43
|
var doctorReadiness = require('./doctorReadiness-Dl6yRQCy.cjs');
|
|
44
|
-
var machineMetadata = require('./machineMetadata-
|
|
44
|
+
var machineMetadata = require('./machineMetadata-Dzwn-HjN.cjs');
|
|
45
45
|
var fileStore = require('./fileStore-7qhnbs6N.cjs');
|
|
46
46
|
var pi = require('./pi-DlsrPCTa.cjs');
|
|
47
|
-
var codexAccount = require('./codexAccount-
|
|
47
|
+
var codexAccount = require('./codexAccount-CYhQir50.cjs');
|
|
48
48
|
var require$$3 = require('crypto');
|
|
49
49
|
var detectCLI = require('./detectCLI-BuYR_Qxe.cjs');
|
|
50
|
-
var handleResumeCommand = require('./handleResumeCommand-
|
|
50
|
+
var handleResumeCommand = require('./handleResumeCommand-muSrYA5y.cjs');
|
|
51
51
|
var webPanels = require('./webPanels-FCgFKvVe.cjs');
|
|
52
52
|
var promises = require('node:fs/promises');
|
|
53
53
|
var cliUpdate = require('./cliUpdate-DsKXPFYp.cjs');
|
|
54
|
-
var client = require('./client-
|
|
55
|
-
var sessionLock = require('./sessionLock-
|
|
56
|
-
var client$1 = require('./client-
|
|
54
|
+
var client = require('./client-Ckic3nxZ.cjs');
|
|
55
|
+
var sessionLock = require('./sessionLock-D2usWXAg.cjs');
|
|
56
|
+
var client$1 = require('./client-B9fcSMXP.cjs');
|
|
57
57
|
var daemonSupervisor = require('./daemonSupervisor-alqGPANc.cjs');
|
|
58
|
-
var accountService = require('./accountService-
|
|
59
|
-
var daemonAccounts = require('./daemonAccounts-
|
|
58
|
+
var accountService = require('./accountService-DL6xhVUa.cjs');
|
|
59
|
+
var daemonAccounts = require('./daemonAccounts-CxMJw7x2.cjs');
|
|
60
60
|
var path$1 = require('./path-B7zW-WwE.cjs');
|
|
61
61
|
var editPaths = require('./editPaths-Bqp4OFPw.cjs');
|
|
62
|
-
var startFileWatcher = require('./startFileWatcher-
|
|
63
|
-
var sync = require('./sync-
|
|
62
|
+
var startFileWatcher = require('./startFileWatcher-BGpYPz6L.cjs');
|
|
63
|
+
var sync = require('./sync-DfI78smj.cjs');
|
|
64
64
|
var types = require('./types-CRS-srZK.cjs');
|
|
65
65
|
var tmuxSocket = require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
66
|
-
var
|
|
66
|
+
var processTermination = require('./processTermination-f17wxlMb.cjs');
|
|
67
|
+
var doctor$1 = require('./doctor-CJpFhHoK.cjs');
|
|
67
68
|
var resources = require('./resources-BZ_Be0qM.cjs');
|
|
68
69
|
var node_util = require('node:util');
|
|
69
|
-
var template = require('./template-
|
|
70
|
+
var template = require('./template-B1AORlgU.cjs');
|
|
70
71
|
var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
|
|
71
|
-
var store = require('./store-
|
|
72
|
-
require('./acpSessionResume-
|
|
73
|
-
require('./
|
|
72
|
+
var store = require('./store-aa3CVNwS.cjs');
|
|
73
|
+
require('./acpSessionResume-B01oHWDS.cjs');
|
|
74
|
+
require('./pushNotifications-DRDWUnP-.cjs');
|
|
75
|
+
require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
76
|
+
require('./lidState-VZ1j_QYw.cjs');
|
|
74
77
|
require('node:events');
|
|
75
78
|
require('socket.io-client');
|
|
76
|
-
require('./pushNotifications-CH0XVPQe.cjs');
|
|
77
|
-
require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
78
79
|
require('./limits-C-a7gr04.cjs');
|
|
79
|
-
require('./time-
|
|
80
|
-
require('./registerCommonHandlers-
|
|
80
|
+
require('./time-BqPZjTpo.cjs');
|
|
81
|
+
require('./registerCommonHandlers-CEV9KUsq.cjs');
|
|
81
82
|
require('util');
|
|
82
83
|
require('cross-spawn');
|
|
83
84
|
require('@paralleldrive/cuid2');
|
|
84
85
|
require('chalk');
|
|
85
86
|
require('node:module');
|
|
86
87
|
require('tweetnacl');
|
|
87
|
-
require('./browser-
|
|
88
|
+
require('./browser-Bm24RiFU.cjs');
|
|
88
89
|
require('open');
|
|
89
90
|
require('./specialCommands-J3JFOq0J.cjs');
|
|
90
91
|
require('./ids-B6ZC0HGt.cjs');
|
|
91
92
|
require('url');
|
|
92
|
-
require('./localHappyAgentAuth-
|
|
93
|
-
require('./
|
|
94
|
-
require('./claudeAccountEnv-CEX_EMZr.cjs');
|
|
93
|
+
require('./localHappyAgentAuth-oxhpgJOb.cjs');
|
|
94
|
+
require('./claudeAccountEnv-_O3x5AJ1.cjs');
|
|
95
95
|
require('node:readline');
|
|
96
96
|
require('node-pty');
|
|
97
|
+
require('./processTreeSnapshot-D5iNblp6.cjs');
|
|
97
98
|
require('ps-list');
|
|
98
99
|
|
|
99
100
|
function _interopNamespaceDefault(e) {
|
|
@@ -7191,13 +7192,7 @@ async function startDaemon() {
|
|
|
7191
7192
|
tracked: (sessionId, pid) => {
|
|
7192
7193
|
const tracked = pidToTrackedSession.get(pid);
|
|
7193
7194
|
if (!tracked || tracked.happySessionId !== sessionId) return null;
|
|
7194
|
-
|
|
7195
|
-
try {
|
|
7196
|
-
process.kill(pid, 0);
|
|
7197
|
-
live = true;
|
|
7198
|
-
} catch {
|
|
7199
|
-
live = false;
|
|
7200
|
-
}
|
|
7195
|
+
const live = processTermination.isProcessAlive(pid);
|
|
7201
7196
|
return { live, ...tracked.spawnedBy ? { spawnedBy: tracked.spawnedBy } : {} };
|
|
7202
7197
|
},
|
|
7203
7198
|
teamsMember: (sessionId) => teamWorker?.hasSession(sessionId) === true,
|
|
@@ -7363,14 +7358,7 @@ async function startDaemon() {
|
|
|
7363
7358
|
logger.logger.debug(`[DAEMON RUN] forceNew: purged persisted assistant session(s): ${assistantIds.join(", ")}`);
|
|
7364
7359
|
}
|
|
7365
7360
|
} else {
|
|
7366
|
-
const live = findLiveAssistant(pidToTrackedSession.values(), (pid) =>
|
|
7367
|
-
try {
|
|
7368
|
-
process.kill(pid, 0);
|
|
7369
|
-
return true;
|
|
7370
|
-
} catch {
|
|
7371
|
-
return false;
|
|
7372
|
-
}
|
|
7373
|
-
});
|
|
7361
|
+
const live = findLiveAssistant(pidToTrackedSession.values(), (pid) => processTermination.isProcessAlive(pid));
|
|
7374
7362
|
if (live?.happySessionId) {
|
|
7375
7363
|
logger.logger.debug(`[DAEMON RUN] Assistant already running (session ${live.happySessionId}, pid ${live.pid})`);
|
|
7376
7364
|
return { type: "success", sessionId: live.happySessionId };
|
|
@@ -7780,7 +7768,7 @@ async function startDaemon() {
|
|
|
7780
7768
|
pidToAwaiter.delete(pid);
|
|
7781
7769
|
logger.logger.debug(`[DAEMON RUN] Session webhook timeout for PID ${pid}`);
|
|
7782
7770
|
try {
|
|
7783
|
-
const started =
|
|
7771
|
+
const started = processTermination.terminateProcessTree(pid, (stopped) => fail({ exited: stopped, code: null, signal: null, timedOut: true }));
|
|
7784
7772
|
if (!started) fail({ exited: false, code: null, signal: null, timedOut: true });
|
|
7785
7773
|
} catch {
|
|
7786
7774
|
fail({ exited: false, code: null, signal: null, timedOut: true });
|
|
@@ -7997,7 +7985,7 @@ async function startDaemon() {
|
|
|
7997
7985
|
resolve();
|
|
7998
7986
|
}
|
|
7999
7987
|
};
|
|
8000
|
-
const requested =
|
|
7988
|
+
const requested = processTermination.terminateProcessTree(pid, () => {
|
|
8001
7989
|
const tracked = pidToTrackedSession.get(pid);
|
|
8002
7990
|
if (tracked) {
|
|
8003
7991
|
if (tracked.happySessionId && tracked.encryption) {
|
|
@@ -8118,7 +8106,7 @@ async function startDaemon() {
|
|
|
8118
8106
|
logger.logger.debug(`[DAEMON RUN] Attempting to stop session ${sessionId}`);
|
|
8119
8107
|
for (const [pid, session] of pidToTrackedSession.entries()) {
|
|
8120
8108
|
if (session.happySessionId === sessionId || sessionId.startsWith("PID-") && pid === parseInt(sessionId.replace("PID-", ""))) {
|
|
8121
|
-
const requested =
|
|
8109
|
+
const requested = processTermination.terminateProcessTree(pid, (stopped) => {
|
|
8122
8110
|
if (!stopped) {
|
|
8123
8111
|
logger.logger.debug(`[DAEMON RUN] Session ${sessionId} survived SIGTERM and SIGKILL attempts`);
|
|
8124
8112
|
return;
|
|
@@ -8167,14 +8155,7 @@ async function startDaemon() {
|
|
|
8167
8155
|
pidToTrackedSession.delete(pid);
|
|
8168
8156
|
};
|
|
8169
8157
|
const assistantReportLastSentAt = /* @__PURE__ */ new Map();
|
|
8170
|
-
const isPidAlive = (pid) =>
|
|
8171
|
-
try {
|
|
8172
|
-
process.kill(pid, 0);
|
|
8173
|
-
return true;
|
|
8174
|
-
} catch {
|
|
8175
|
-
return false;
|
|
8176
|
-
}
|
|
8177
|
-
};
|
|
8158
|
+
const isPidAlive = (pid) => processTermination.isProcessAlive(pid);
|
|
8178
8159
|
const onSessionStateEvent = (sessionId, event, spawnedByFromSession) => {
|
|
8179
8160
|
if (automationRunner?.hasSession(sessionId)) automationRunner.report(sessionId, event === "completed" ? "idle" : "blocked");
|
|
8180
8161
|
if (spawnedByFromSession === "teams" || teamWorker?.hasSession(sessionId) || [...pidToTrackedSession.values()].some((s) => s.happySessionId === sessionId && s.spawnedBy === "teams")) {
|
|
@@ -8658,9 +8639,7 @@ async function startDaemon() {
|
|
|
8658
8639
|
logger.logger.debug(`[DAEMON RUN] Health check started at ${(/* @__PURE__ */ new Date()).toLocaleString()}`);
|
|
8659
8640
|
}
|
|
8660
8641
|
for (const [pid, _] of pidToTrackedSession.entries()) {
|
|
8661
|
-
|
|
8662
|
-
process.kill(pid, 0);
|
|
8663
|
-
} catch (error) {
|
|
8642
|
+
if (!processTermination.isProcessAlive(pid)) {
|
|
8664
8643
|
logger.logger.debug(`[DAEMON RUN] Finalizing stale session with PID ${pid} (process no longer exists)`);
|
|
8665
8644
|
onChildExited(pid);
|
|
8666
8645
|
}
|
|
@@ -8705,7 +8684,7 @@ async function startDaemon() {
|
|
|
8705
8684
|
accountService$1.dispose();
|
|
8706
8685
|
apiMachine.shutdown();
|
|
8707
8686
|
await stopControlServer();
|
|
8708
|
-
await controlClient.cleanupDaemonState();
|
|
8687
|
+
await controlClient.cleanupDaemonState(process.pid);
|
|
8709
8688
|
await persistence.releaseDaemonLock(daemonLockHandle);
|
|
8710
8689
|
await stopCaffeinate();
|
|
8711
8690
|
if (daemonSupervisor$1 !== "none") {
|
|
@@ -8730,6 +8709,7 @@ async function startDaemon() {
|
|
|
8730
8709
|
if (daemonState && daemonState.pid !== process.pid) {
|
|
8731
8710
|
logger.logger.debug("[DAEMON RUN] Somehow a different daemon was started without killing us. We should kill ourselves.");
|
|
8732
8711
|
requestShutdown("exception", "A different daemon was started without killing us. We should kill ourselves.");
|
|
8712
|
+
return;
|
|
8733
8713
|
}
|
|
8734
8714
|
try {
|
|
8735
8715
|
fileState = withDaemonHeartbeat(fileState, (/* @__PURE__ */ new Date()).toLocaleString());
|
|
@@ -8850,7 +8830,7 @@ async function startDaemon() {
|
|
|
8850
8830
|
accountService$1.dispose();
|
|
8851
8831
|
apiMachine.shutdown();
|
|
8852
8832
|
await stopControlServer();
|
|
8853
|
-
await controlClient.cleanupDaemonState();
|
|
8833
|
+
await controlClient.cleanupDaemonState(process.pid);
|
|
8854
8834
|
await stopCaffeinate();
|
|
8855
8835
|
await persistence.releaseDaemonLock(daemonLockHandle);
|
|
8856
8836
|
logger.logger.debug(`[DAEMON RUN] Cleanup completed, exiting process with code ${daemonExitCode(source)}`);
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { i as isClaudeSessionId, g as extractCompleteLines, h as decideBackfill, j as parseTerminalHookPayload, k as decideMirrorBinding, M as MIRROR_BACKFILL_LINES_DEFAULT, m as mirrorLineKey, n as mirrorLocalId, o as initializeOwnedWorktree, e as summarizeSpawnSessionForLog, q as startAgentVersionChecks, W as WORKTREE_CAPABILITY_VERSION, t as currentWorktreeService } from './mirrorProtocol-
|
|
1
|
+
import { i as isClaudeSessionId, g as extractCompleteLines, h as decideBackfill, j as parseTerminalHookPayload, k as decideMirrorBinding, M as MIRROR_BACKFILL_LINES_DEFAULT, m as mirrorLineKey, n as mirrorLocalId, o as initializeOwnedWorktree, e as summarizeSpawnSessionForLog, q as startAgentVersionChecks, W as WORKTREE_CAPABILITY_VERSION, t as currentWorktreeService } from './mirrorProtocol-C9Zc6GFT.mjs';
|
|
2
2
|
import { F as FS_MKDIR_CAPABILITY_VERSION } from './fsMkdir-DumgLTzR.mjs';
|
|
3
|
-
import { P as PI_ADAPTER_INSTALL_HINT, s as sanitizeSpawnModel } from './piRunnerArgs-
|
|
3
|
+
import { P as PI_ADAPTER_INSTALL_HINT, s as sanitizeSpawnModel } from './piRunnerArgs-DKU5LoWu.mjs';
|
|
4
4
|
import fs from 'fs/promises';
|
|
5
5
|
import os from 'os';
|
|
6
6
|
import * as tmp from 'tmp';
|
|
7
7
|
import axios from 'axios';
|
|
8
8
|
import { readFileSync, openSync, fsyncSync, closeSync, renameSync, existsSync, readdirSync, statSync, unlinkSync, readSync, writeSync, ftruncateSync, utimesSync, realpathSync, promises, constants as constants$1, writeFileSync, mkdirSync, accessSync, rmdirSync } from 'node:fs';
|
|
9
9
|
import { join, isAbsolute, resolve, dirname, sep, basename, relative } from 'node:path';
|
|
10
|
-
import { f as ensurePrivateDirectorySync, w as writePrivateFileSync, c as configuration } from './configuration-
|
|
11
|
-
import { T as TurnActivityTracker, A as ApiClient } from './api-
|
|
12
|
-
import { S as SPAWN_AGENTS, i as isSpawnAgent, s as sanitizeSpawnPermissionMode, r as resolveSpawnPermissionMode, a as resolveFirstMessageMeta, j as joinProject } from './spawnAgents-
|
|
13
|
-
import { l as logger } from './logger-
|
|
14
|
-
import { p as pruneStaleCompileCaches } from './index-
|
|
15
|
-
import { a as authAndSetupMachineIfNeeded } from './auth-
|
|
10
|
+
import { f as ensurePrivateDirectorySync, w as writePrivateFileSync, c as configuration } from './configuration-C8r6uD9k.mjs';
|
|
11
|
+
import { T as TurnActivityTracker, A as ApiClient } from './api-CiNezCys.mjs';
|
|
12
|
+
import { S as SPAWN_AGENTS, i as isSpawnAgent, s as sanitizeSpawnPermissionMode, r as resolveSpawnPermissionMode, a as resolveFirstMessageMeta, j as joinProject } from './spawnAgents-N3jxdNJC.mjs';
|
|
13
|
+
import { l as logger } from './logger-D1hb3CG8.mjs';
|
|
14
|
+
import { p as pruneStaleCompileCaches } from './index-D0V-seiN.mjs';
|
|
15
|
+
import { a as authAndSetupMachineIfNeeded } from './auth-DVsH_a8J.mjs';
|
|
16
16
|
import { spawn, execSync } from 'child_process';
|
|
17
|
-
import { p as packageJson } from './package-
|
|
18
|
-
import { a as globalPrefixForPackage, N as NPM_SAFE_ARG, g as getEnvironmentInfo } from './doctor-
|
|
19
|
-
import { s as spawnHappyCLI } from './spawnHappyCLI-
|
|
20
|
-
import { c as readPersistedSessions, r as readSettings, l as latchKeepAwake, s as reportSignature, t as decideDaemonHibernation, v as nextCheckDelay, x as persistSession, d as readDaemonState, y as acquireDaemonLock, a as resolveCheckMs, z as resolveIdleMs, A as deletePersistedSessions, B as writeDaemonState, C as writeSettings, D as settingIdleMs, u as updateSettings, E as rewriteCredentialsForRelay, g as readCredentials, F as releaseDaemonLock } from './persistence-
|
|
21
|
-
import { i as isDaemonRunningCurrentlyInstalledHappyVersion, s as stopDaemon, w as cleanupDaemonState } from './controlClient-
|
|
22
|
-
import { e as sendUserMessage, f as readSessionMetadata, r as readSessionTranscript, l as listAccountSessions, a as listSessions, M as MAX_READ_LIMIT, s as sessionWebUrl, n as lineageOf, g as waitForSessionKey, d as archiveSession, h as analyzeLatestTurn, i as readSessionLog, j as TURN_WINDOW, p as userPromptText } from './sessionOps-
|
|
23
|
-
import {
|
|
17
|
+
import { p as packageJson } from './package-CpmoMPuj.mjs';
|
|
18
|
+
import { a as globalPrefixForPackage, N as NPM_SAFE_ARG, g as getEnvironmentInfo } from './doctor-COeFzPpz.mjs';
|
|
19
|
+
import { s as spawnHappyCLI } from './spawnHappyCLI-C8gMHJu5.mjs';
|
|
20
|
+
import { c as readPersistedSessions, r as readSettings, l as latchKeepAwake, s as reportSignature, t as decideDaemonHibernation, v as nextCheckDelay, x as persistSession, d as readDaemonState, y as acquireDaemonLock, a as resolveCheckMs, z as resolveIdleMs, A as deletePersistedSessions, B as writeDaemonState, C as writeSettings, D as settingIdleMs, u as updateSettings, E as rewriteCredentialsForRelay, g as readCredentials, F as releaseDaemonLock } from './persistence-CagHeZ-f.mjs';
|
|
21
|
+
import { i as isDaemonRunningCurrentlyInstalledHappyVersion, s as stopDaemon, w as cleanupDaemonState } from './controlClient-DYQ1g2ar.mjs';
|
|
22
|
+
import { e as sendUserMessage, f as readSessionMetadata, r as readSessionTranscript, l as listAccountSessions, a as listSessions, M as MAX_READ_LIMIT, s as sessionWebUrl, n as lineageOf, g as waitForSessionKey, d as archiveSession, h as analyzeLatestTurn, i as readSessionLog, j as TURN_WINDOW, p as userPromptText } from './sessionOps-OmRqUFm4.mjs';
|
|
23
|
+
import { Q as AgentProfilesStateSchema, aa as ServerMigrateNoticeSchema, ab as isHarnessInstallId, ac as agentProfileUnavailableReason, ad as MODEL_INTENT_CONFIG, j as AUTOMATION_SUMMARY_MAX_CHARS, ae as AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS, af as AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS, d as AUTOMATION_PRECHECK_MAX_TIMEOUT_MS, ag as AUTOMATION_CLAIM_MAX_RUNS, ah as AUTOMATION_DAEMON_CAPABILITY_PRECHECK, ai as AUTOMATION_DEFAULT_LEASE_MS, i as isAutomationRunTerminal, v as resolveLaunchAgentProfile, aj as HARNESS_INSTALL_CAPABILITY_VERSION } from './index-C27JFCbe.mjs';
|
|
24
24
|
import fastify from 'fastify';
|
|
25
25
|
import { z } from 'zod';
|
|
26
26
|
import { validatorCompiler, serializerCompiler } from 'fastify-type-provider-zod';
|
|
@@ -28,70 +28,71 @@ import { d as decodeBase64, s as sameRelay, e as encodeBase64, h as decrypt } fr
|
|
|
28
28
|
import { randomBytes, createHash, timingSafeEqual, randomUUID } from 'node:crypto';
|
|
29
29
|
import { c as checkPreviewPath } from './previewPath-CXN4Vag0.mjs';
|
|
30
30
|
import { a as BACKGROUND_TASKS_MAX, d as BACKGROUND_TASK_DESCRIPTION_MAX, e as BackgroundTaskTracker } from './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
31
|
-
import { b as sanitizeRateLimitReport } from './rateLimitWindows-
|
|
32
|
-
import { f as formatEditConflictNotice, b as SESSION_PEER_SENT_FROM, s as sendPeerMessage, l as listPeerSessions, C as CLI_PEER_SENDER_ID } from './peerTools-
|
|
31
|
+
import { b as sanitizeRateLimitReport } from './rateLimitWindows-4uhuwKnU.mjs';
|
|
32
|
+
import { f as formatEditConflictNotice, b as SESSION_PEER_SENT_FROM, s as sendPeerMessage, l as listPeerSessions, C as CLI_PEER_SENDER_ID } from './peerTools-CNzlwuL7.mjs';
|
|
33
33
|
import os$1, { hostname, homedir, tmpdir } from 'node:os';
|
|
34
|
-
import { c as RemoteCallBudget, e as REMOTE_WRITE_CALLS_PER_MINUTE, d as deliverToSession, g as guardRemoteSessionOpsRequest, h as remoteError, i as REMOTE_OP_DEADLINE_MS, j as formatRemoteAuditLine, k as REMOTE_SEND_COMMIT_DEADLINE_MS, m as REMOTE_RESUME_WAIT_MS, n as capRemoteTranscript, o as capRemoteText, p as REMOTE_ANSWER_MAX_BYTES, q as REMOTE_TITLE_MAX_BYTES } from './remoteSessionClient-
|
|
35
|
-
import { assistantHome, bootstrapAssistantHome } from './bootstrap-
|
|
36
|
-
import { refreshAgentHomes, locateClaudeConversation, agentHomeSpawnEnv } from './index-
|
|
34
|
+
import { c as RemoteCallBudget, e as REMOTE_WRITE_CALLS_PER_MINUTE, d as deliverToSession, g as guardRemoteSessionOpsRequest, h as remoteError, i as REMOTE_OP_DEADLINE_MS, j as formatRemoteAuditLine, k as REMOTE_SEND_COMMIT_DEADLINE_MS, m as REMOTE_RESUME_WAIT_MS, n as capRemoteTranscript, o as capRemoteText, p as REMOTE_ANSWER_MAX_BYTES, q as REMOTE_TITLE_MAX_BYTES } from './remoteSessionClient-CfYDFlKm.mjs';
|
|
35
|
+
import { assistantHome, bootstrapAssistantHome } from './bootstrap-C2XSEyOe.mjs';
|
|
36
|
+
import { refreshAgentHomes, locateClaudeConversation, agentHomeSpawnEnv } from './index-BZCIkrFj.mjs';
|
|
37
37
|
import require$$0, { existsSync as existsSync$1, statSync as statSync$1, mkdtempSync, rmSync } from 'fs';
|
|
38
38
|
import require$$1, { join as join$1 } from 'path';
|
|
39
39
|
import { spawn as spawn$1, execFile, spawnSync } from 'node:child_process';
|
|
40
40
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
41
41
|
import { d as daemonEndpointsMatch, r as resolveClaudeCredentialReadiness } from './doctorReadiness-C208SMN9.mjs';
|
|
42
|
-
import { o as ownerRetryPending, c as consumeOwnerRetry, s as spawnGate, a as afterStartupFailure, b as startupFailureMessage, T as TEAM_SPAWN_MAX_ATTEMPTS, d as TEAM_CLEANUP_RETRY_MS, g as getInitialMachineMetadata, e as getStartupCliAvailability, f as TEAM_RETRY_CAPABILITY_VERSION, w as withRunningCliFacts } from './machineMetadata-
|
|
42
|
+
import { o as ownerRetryPending, c as consumeOwnerRetry, s as spawnGate, a as afterStartupFailure, b as startupFailureMessage, T as TEAM_SPAWN_MAX_ATTEMPTS, d as TEAM_CLEANUP_RETRY_MS, g as getInitialMachineMetadata, e as getStartupCliAvailability, f as TEAM_RETRY_CAPABILITY_VERSION, w as withRunningCliFacts } from './machineMetadata-Dxng45Uh.mjs';
|
|
43
43
|
import { M as ModelConfigError, B as BackupStore, r as readConfigFile, s as sha256, a as atomicWriteFile } from './fileStore-5qpetZS0.mjs';
|
|
44
44
|
import { c as collectSecretValues, a as parseJsonObject, b as childObject, s as setOrDelete, d as changedPaths, e as stringifyLike, f as fail, n as normalizeModelList, g as normalizeModelId, h as normalizeSecret, i as normalizeBaseUrl, u as uniq, j as baseUrlWarnings, m as maskSecret, k as getPath$1, l as normalizeProviderId, o as piAdapter, r as redactText } from './pi-CqyoZMjI.mjs';
|
|
45
|
-
import { p as parse } from './codexAccount-
|
|
45
|
+
import { p as parse } from './codexAccount-iZwmpYti.mjs';
|
|
46
46
|
import require$$3 from 'crypto';
|
|
47
47
|
import { c as commandOnPath } from './detectCLI-CSGMlV51.mjs';
|
|
48
|
-
import { buildResumeLaunch } from './handleResumeCommand-
|
|
48
|
+
import { buildResumeLaunch } from './handleResumeCommand-B5GgmPm_.mjs';
|
|
49
49
|
import { n as normalizeWebPanels } from './webPanels-B2_C2-3g.mjs';
|
|
50
50
|
import { access, symlink, readFile, rm, unlink, readlink, lstat, constants, rename, mkdir, copyFile, readdir, stat, open } from 'node:fs/promises';
|
|
51
51
|
import { p as parseExactVersion, c as compareExactVersions, f as fetchCliUpdateState, r as resolveCliUpdateCheckInterval, D as DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS } from './cliUpdate-Y34VGe9Y.mjs';
|
|
52
|
-
import { P as ProjectsUnsupportedError, c as createProjectsClient } from './client-
|
|
53
|
-
import { d as wrapperReportsIdle, f as decideAutoRestart, s as statusFromVerdict, g as autoRestartNextCheck, h as wrapperStaleness, r as recordAttempt, i as AUTO_RESTART_MAX_ATTEMPTS, j as AUTO_RESTART_MIN_GAP_MS, p as processIdentityFields, k as readSessionLock, l as
|
|
54
|
-
import { c as createAutomationsClient, i as isAutomationsUnavailable, d as AutomationsRequestError } from './client-
|
|
52
|
+
import { P as ProjectsUnsupportedError, c as createProjectsClient } from './client-CfTeXnYS.mjs';
|
|
53
|
+
import { d as wrapperReportsIdle, f as decideAutoRestart, s as statusFromVerdict, g as autoRestartNextCheck, h as wrapperStaleness, r as recordAttempt, i as AUTO_RESTART_MAX_ATTEMPTS, j as AUTO_RESTART_MIN_GAP_MS, p as processIdentityFields, k as readSessionLock, l as AUTO_RESTARTED_ENV, n as encodeAutoRestarted, o as pendingUpgradeVersion, q as resolveQuietMs, u as AUTO_RESTART_RECHECK_CAP_MS } from './sessionLock-BfvR9BGB.mjs';
|
|
54
|
+
import { c as createAutomationsClient, i as isAutomationsUnavailable, d as AutomationsRequestError } from './client-Cg_cuQb1.mjs';
|
|
55
55
|
import { w as withKeychainOffPath, a as keychainIdentityFor, i as interpretSecurityRead, s as securityReadArgs, b as securityDeleteArgs, c as keychainOffShimDir, d as interpretCredentialsFile, C as CREDENTIALS_REJECTED_DETAIL, e as buildClaudeAuthState, f as claudeAuthStateChanged, r as resolveSdkClaudeBinary, g as classifyAuthStatus, h as diagnoseStores, p as parseLaunchctlPid, H as HAPPY_DAEMON_LAUNCHD_LABEL, j as classifyLineage, l as probeLaunchdJob, m as detectDaemonSupervisor, n as daemonLineage, o as probeSystemdKillMode, q as wrappersSurviveHandover, t as handoverWaitsForSessions } from './daemonSupervisor-BxohggqN.mjs';
|
|
56
|
-
import { A as AccountService } from './accountService-
|
|
57
|
-
import { spawnSetupTokenPty, watchAccountFiles } from './daemonAccounts-
|
|
56
|
+
import { A as AccountService } from './accountService-DQ21IlBs.mjs';
|
|
57
|
+
import { spawnSetupTokenPty, watchAccountFiles } from './daemonAccounts-CnAEaJE_.mjs';
|
|
58
58
|
import { g as getProjectPath } from './path-D2wdaNSk.mjs';
|
|
59
59
|
import { b as extractClaudeEditPaths } from './editPaths-BVfS_FFL.mjs';
|
|
60
|
-
import { s as startFileWatcher } from './startFileWatcher-
|
|
61
|
-
import { I as InvalidateSync } from './sync-
|
|
60
|
+
import { s as startFileWatcher } from './startFileWatcher-6hslFu_B.mjs';
|
|
61
|
+
import { I as InvalidateSync } from './sync-DtzoF9sw.mjs';
|
|
62
62
|
import { R as RawJSONLinesSchema } from './types-CkqAACXx.mjs';
|
|
63
63
|
import { t as tmuxArgs, a as scrubTmuxClientEnv, s as shellescape } from './tmuxSocket-B8Yx20sT.mjs';
|
|
64
|
-
import {
|
|
64
|
+
import { i as isProcessAlive, t as terminateProcessTree } from './processTermination-ChJG5SLW.mjs';
|
|
65
|
+
import { findAllHappyProcesses } from './doctor-GN5mPOn5.mjs';
|
|
65
66
|
import { T as TEAM_SKILL, a as TEAM_LEAD_PLAYBOOK, b as TEAM_MEMBER_RULES } from './resources-CLP_MpK4.mjs';
|
|
66
67
|
import { promisify } from 'node:util';
|
|
67
|
-
import { b as clipText, r as renderAction, c as clipAutomationReport, e as renderTemplate } from './template-
|
|
68
|
+
import { b as clipText, r as renderAction, c as clipAutomationReport, e as renderTemplate } from './template-CJ8uLlD8.mjs';
|
|
68
69
|
import { d as describeAgentHome } from './loginShellEnv-Dw8M7tkI.mjs';
|
|
69
|
-
import { S as SPAWN_ACCOUNT_ENV } from './store-
|
|
70
|
-
import './acpSessionResume-
|
|
71
|
-
import './
|
|
70
|
+
import { S as SPAWN_ACCOUNT_ENV } from './store-BlPvTr_Q.mjs';
|
|
71
|
+
import './acpSessionResume-DEOIZUuj.mjs';
|
|
72
|
+
import './pushNotifications-4sNESDMv.mjs';
|
|
73
|
+
import './contentLogMetadata-BlWI0egu.mjs';
|
|
74
|
+
import './lidState-BflRFw38.mjs';
|
|
72
75
|
import 'node:events';
|
|
73
76
|
import 'socket.io-client';
|
|
74
|
-
import './pushNotifications-DjEl8G0a.mjs';
|
|
75
|
-
import './contentLogMetadata-BlWI0egu.mjs';
|
|
76
77
|
import './limits-DIo7rEBR.mjs';
|
|
77
|
-
import './time-
|
|
78
|
-
import './registerCommonHandlers-
|
|
78
|
+
import './time-CgAwVt5R.mjs';
|
|
79
|
+
import './registerCommonHandlers-PTJ8TBj9.mjs';
|
|
79
80
|
import 'util';
|
|
80
81
|
import 'cross-spawn';
|
|
81
82
|
import '@paralleldrive/cuid2';
|
|
82
83
|
import 'chalk';
|
|
83
84
|
import 'node:module';
|
|
84
85
|
import 'tweetnacl';
|
|
85
|
-
import './browser-
|
|
86
|
+
import './browser-CWWyaf8_.mjs';
|
|
86
87
|
import 'open';
|
|
87
88
|
import './specialCommands-MXUN0wfI.mjs';
|
|
88
89
|
import './ids-DU6sLx4C.mjs';
|
|
89
90
|
import 'url';
|
|
90
|
-
import './localHappyAgentAuth-
|
|
91
|
-
import './
|
|
92
|
-
import './claudeAccountEnv-BL1pR_37.mjs';
|
|
91
|
+
import './localHappyAgentAuth-BAK_nqMG.mjs';
|
|
92
|
+
import './claudeAccountEnv-CPO6CGNd.mjs';
|
|
93
93
|
import 'node:readline';
|
|
94
94
|
import 'node-pty';
|
|
95
|
+
import './processTreeSnapshot-fuwxC0fr.mjs';
|
|
95
96
|
import 'ps-list';
|
|
96
97
|
|
|
97
98
|
async function resolveRelaunchMetadata(snapshot, fetchServer) {
|
|
@@ -7170,13 +7171,7 @@ async function startDaemon() {
|
|
|
7170
7171
|
tracked: (sessionId, pid) => {
|
|
7171
7172
|
const tracked = pidToTrackedSession.get(pid);
|
|
7172
7173
|
if (!tracked || tracked.happySessionId !== sessionId) return null;
|
|
7173
|
-
|
|
7174
|
-
try {
|
|
7175
|
-
process.kill(pid, 0);
|
|
7176
|
-
live = true;
|
|
7177
|
-
} catch {
|
|
7178
|
-
live = false;
|
|
7179
|
-
}
|
|
7174
|
+
const live = isProcessAlive(pid);
|
|
7180
7175
|
return { live, ...tracked.spawnedBy ? { spawnedBy: tracked.spawnedBy } : {} };
|
|
7181
7176
|
},
|
|
7182
7177
|
teamsMember: (sessionId) => teamWorker?.hasSession(sessionId) === true,
|
|
@@ -7342,14 +7337,7 @@ async function startDaemon() {
|
|
|
7342
7337
|
logger.debug(`[DAEMON RUN] forceNew: purged persisted assistant session(s): ${assistantIds.join(", ")}`);
|
|
7343
7338
|
}
|
|
7344
7339
|
} else {
|
|
7345
|
-
const live = findLiveAssistant(pidToTrackedSession.values(), (pid) =>
|
|
7346
|
-
try {
|
|
7347
|
-
process.kill(pid, 0);
|
|
7348
|
-
return true;
|
|
7349
|
-
} catch {
|
|
7350
|
-
return false;
|
|
7351
|
-
}
|
|
7352
|
-
});
|
|
7340
|
+
const live = findLiveAssistant(pidToTrackedSession.values(), (pid) => isProcessAlive(pid));
|
|
7353
7341
|
if (live?.happySessionId) {
|
|
7354
7342
|
logger.debug(`[DAEMON RUN] Assistant already running (session ${live.happySessionId}, pid ${live.pid})`);
|
|
7355
7343
|
return { type: "success", sessionId: live.happySessionId };
|
|
@@ -7759,7 +7747,7 @@ async function startDaemon() {
|
|
|
7759
7747
|
pidToAwaiter.delete(pid);
|
|
7760
7748
|
logger.debug(`[DAEMON RUN] Session webhook timeout for PID ${pid}`);
|
|
7761
7749
|
try {
|
|
7762
|
-
const started =
|
|
7750
|
+
const started = terminateProcessTree(pid, (stopped) => fail({ exited: stopped, code: null, signal: null, timedOut: true }));
|
|
7763
7751
|
if (!started) fail({ exited: false, code: null, signal: null, timedOut: true });
|
|
7764
7752
|
} catch {
|
|
7765
7753
|
fail({ exited: false, code: null, signal: null, timedOut: true });
|
|
@@ -8146,14 +8134,7 @@ async function startDaemon() {
|
|
|
8146
8134
|
pidToTrackedSession.delete(pid);
|
|
8147
8135
|
};
|
|
8148
8136
|
const assistantReportLastSentAt = /* @__PURE__ */ new Map();
|
|
8149
|
-
const isPidAlive = (pid) =>
|
|
8150
|
-
try {
|
|
8151
|
-
process.kill(pid, 0);
|
|
8152
|
-
return true;
|
|
8153
|
-
} catch {
|
|
8154
|
-
return false;
|
|
8155
|
-
}
|
|
8156
|
-
};
|
|
8137
|
+
const isPidAlive = (pid) => isProcessAlive(pid);
|
|
8157
8138
|
const onSessionStateEvent = (sessionId, event, spawnedByFromSession) => {
|
|
8158
8139
|
if (automationRunner?.hasSession(sessionId)) automationRunner.report(sessionId, event === "completed" ? "idle" : "blocked");
|
|
8159
8140
|
if (spawnedByFromSession === "teams" || teamWorker?.hasSession(sessionId) || [...pidToTrackedSession.values()].some((s) => s.happySessionId === sessionId && s.spawnedBy === "teams")) {
|
|
@@ -8637,9 +8618,7 @@ async function startDaemon() {
|
|
|
8637
8618
|
logger.debug(`[DAEMON RUN] Health check started at ${(/* @__PURE__ */ new Date()).toLocaleString()}`);
|
|
8638
8619
|
}
|
|
8639
8620
|
for (const [pid, _] of pidToTrackedSession.entries()) {
|
|
8640
|
-
|
|
8641
|
-
process.kill(pid, 0);
|
|
8642
|
-
} catch (error) {
|
|
8621
|
+
if (!isProcessAlive(pid)) {
|
|
8643
8622
|
logger.debug(`[DAEMON RUN] Finalizing stale session with PID ${pid} (process no longer exists)`);
|
|
8644
8623
|
onChildExited(pid);
|
|
8645
8624
|
}
|
|
@@ -8684,7 +8663,7 @@ async function startDaemon() {
|
|
|
8684
8663
|
accountService.dispose();
|
|
8685
8664
|
apiMachine.shutdown();
|
|
8686
8665
|
await stopControlServer();
|
|
8687
|
-
await cleanupDaemonState();
|
|
8666
|
+
await cleanupDaemonState(process.pid);
|
|
8688
8667
|
await releaseDaemonLock(daemonLockHandle);
|
|
8689
8668
|
await stopCaffeinate();
|
|
8690
8669
|
if (daemonSupervisor !== "none") {
|
|
@@ -8709,6 +8688,7 @@ async function startDaemon() {
|
|
|
8709
8688
|
if (daemonState && daemonState.pid !== process.pid) {
|
|
8710
8689
|
logger.debug("[DAEMON RUN] Somehow a different daemon was started without killing us. We should kill ourselves.");
|
|
8711
8690
|
requestShutdown("exception", "A different daemon was started without killing us. We should kill ourselves.");
|
|
8691
|
+
return;
|
|
8712
8692
|
}
|
|
8713
8693
|
try {
|
|
8714
8694
|
fileState = withDaemonHeartbeat(fileState, (/* @__PURE__ */ new Date()).toLocaleString());
|
|
@@ -8829,7 +8809,7 @@ async function startDaemon() {
|
|
|
8829
8809
|
accountService.dispose();
|
|
8830
8810
|
apiMachine.shutdown();
|
|
8831
8811
|
await stopControlServer();
|
|
8832
|
-
await cleanupDaemonState();
|
|
8812
|
+
await cleanupDaemonState(process.pid);
|
|
8833
8813
|
await stopCaffeinate();
|
|
8834
8814
|
await releaseDaemonLock(daemonLockHandle);
|
|
8835
8815
|
logger.debug(`[DAEMON RUN] Cleanup completed, exiting process with code ${daemonExitCode(source)}`);
|