very-happy-cli 0.2.190 → 0.2.192
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-dkRv9QHm.cjs → AcpBackend-BQO4ShOy.cjs} +3 -3
- package/dist/{AcpBackend-Dd1h-Rgt.mjs → AcpBackend-CGHTDJd9.mjs} +3 -3
- package/dist/{AcpSessionManager-QBZ-CIf7.mjs → AcpSessionManager-G0xD6Jbq.mjs} +2 -2
- package/dist/{AcpSessionManager-AqWAqahm.cjs → AcpSessionManager-LlUMmcpB.cjs} +2 -2
- package/dist/{BasePermissionHandler-CLp1ge-4.mjs → BasePermissionHandler-BmTIg376.mjs} +1 -1
- package/dist/{BasePermissionHandler-CpSugp7Z.cjs → BasePermissionHandler-N6Ip3tFt.cjs} +1 -1
- package/dist/account-CCVT-HO_.mjs +240 -0
- package/dist/account-DtaouikP.cjs +245 -0
- package/dist/accountService-Bddy0zwL.cjs +571 -0
- package/dist/accountService-Dd9uqde2.mjs +566 -0
- package/dist/{acpSessionResume-CcpDuIO5.mjs → acpSessionResume-BWEUxNtC.mjs} +1 -1
- package/dist/{acpSessionResume-CZao6QEd.cjs → acpSessionResume-BnHDk5eD.cjs} +1 -1
- package/dist/{agentHome-BJGRA2Kx.mjs → agentHome-B0VnjkZW.mjs} +4 -4
- package/dist/{agentHome-fIUqT-pn.cjs → agentHome-CqQ29YY7.cjs} +4 -4
- package/dist/{api-Dw8gFsQi.mjs → api-_LeBScjg.mjs} +10 -10
- package/dist/{api-CXL6jp-p.cjs → api-hMDsC6Wg.cjs} +10 -10
- package/dist/{apiMachine-BBNEtjf7.mjs → apiMachine-CgRldeJ6.mjs} +76 -21
- package/dist/{apiMachine-C6UqHoPF.cjs → apiMachine-CqW2m6Zr.cjs} +81 -26
- package/dist/{attachmentContent-NmVfKp-B.cjs → attachmentContent-BEeT2J5n.cjs} +2 -2
- package/dist/{attachmentContent-CC4yIrSm.mjs → attachmentContent-CyptLIfq.mjs} +2 -2
- package/dist/{auth-Bb_SL2os.cjs → auth-C9NvNHhL.cjs} +5 -5
- package/dist/{auth-DKa4MsAi.cjs → auth-CA1OClsW.cjs} +8 -8
- package/dist/{auth-Bh6SUoGi.mjs → auth-CFQikywl.mjs} +8 -8
- package/dist/{auth-Bj0psrD2.mjs → auth-DL8_J9vu.mjs} +5 -5
- package/dist/{auto-DK7pbCnV.mjs → auto-CKI05w1D.mjs} +17 -17
- package/dist/{auto-C9Qohh0P.cjs → auto-uQOxlxLp.cjs} +17 -17
- package/dist/{bootstrap-Ct9Nb4sv.mjs → bootstrap-DaZ0Np7X.mjs} +2 -2
- package/dist/{bootstrap-DBJB0y-H.cjs → bootstrap-DsZGc69k.cjs} +2 -2
- package/dist/{browser-BGxDRhHy.mjs → browser-BUIaSHK2.mjs} +1 -1
- package/dist/{browser-CLJWcodR.cjs → browser-Ft0ASDm7.cjs} +1 -1
- package/dist/claudeAccountEnv-BOBpJ3k8.cjs +137 -0
- package/dist/claudeAccountEnv-ON24i0qv.mjs +132 -0
- package/dist/{claudeLocal-Ux31hZyC.mjs → claudeLocal-B1ZVtryl.mjs} +5 -5
- package/dist/{claudeLocal-B6YDYlnY.cjs → claudeLocal-BMf9t4Fa.cjs} +5 -5
- package/dist/{claudeLocalLauncher-D06QijMw.mjs → claudeLocalLauncher-Bp8bqF4y.mjs} +10 -10
- package/dist/{claudeLocalLauncher-DFvmF8rC.cjs → claudeLocalLauncher-C8TeJcfF.cjs} +10 -10
- package/dist/{claudeSessionFork-D2GI7P59.mjs → claudeSessionFork-8AA47z8Y.mjs} +1 -1
- package/dist/{claudeSessionFork-DTLZ2rek.cjs → claudeSessionFork-YiktY55n.cjs} +1 -1
- package/dist/{client-CnGNYidN.mjs → client-Bm4oKvW7.mjs} +2 -2
- package/dist/{client-CtL0Vtww.mjs → client-BmPaBnDK.mjs} +4 -4
- package/dist/{client-CARZ_lNS.cjs → client-CFHZfh9x.cjs} +4 -4
- package/dist/{client-Bffkrs5p.cjs → client-Crh8_cNx.cjs} +2 -2
- package/dist/{client-DZkBUoh9.mjs → client-Cxlp_D4I.mjs} +2 -2
- package/dist/{client-CMKGrnmT.cjs → client-D8XROyZc.cjs} +2 -2
- package/dist/codex/happyMcpStdioBridge.cjs +16 -16
- package/dist/codex/happyMcpStdioBridge.mjs +16 -16
- package/dist/{codexAppServerClient-CLc5nhLT.mjs → codexAppServerClient-BWJbLCQn.mjs} +3 -3
- package/dist/{codexAppServerClient-CpT9F6EM.cjs → codexAppServerClient-q8GHQhyC.cjs} +3 -3
- package/dist/{codexCommand-Dliq3EBv.mjs → codexCommand-BfXfRQr4.mjs} +121 -61
- package/dist/{codexCommand-39kH99SJ.cjs → codexCommand-BgpGg-Zy.cjs} +121 -61
- package/dist/{codexTermination-ByW7tRjr.cjs → codexTermination-CVUF0X75.cjs} +1 -1
- package/dist/{codexTermination-ORIw0gpU.mjs → codexTermination-s9fd1gkA.mjs} +1 -1
- package/dist/{config-CeIzCsfj.cjs → config-BAjyTyYp.cjs} +3 -3
- package/dist/{config-CxSsGO1Z.mjs → config-BF8XgLyc.mjs} +3 -3
- package/dist/{configuration-Dt5lKW3P.cjs → configuration-CXEVKAyF.cjs} +1 -1
- package/dist/{configuration-Dechcvd-.mjs → configuration-IhRiLDVe.mjs} +1 -1
- package/dist/{connect-UwQHvCpR.mjs → connect-LZh1gr08.mjs} +13 -13
- package/dist/{connect-NPDzIVC6.cjs → connect-rCS56arw.cjs} +13 -13
- package/dist/{context-BdZssgF0.cjs → context-3_S_mWz9.cjs} +1 -1
- package/dist/{context-C9JbJoNe.mjs → context-DO6F5YwH.mjs} +1 -1
- package/dist/{controlClient-D7NGfmtq.mjs → controlClient-8ILulwjc.mjs} +14 -5
- package/dist/{controlClient-BRk65BRO.cjs → controlClient-j7p5p3_7.cjs} +15 -4
- package/dist/{createSessionMetadata-B_HZCDj_.cjs → createSessionMetadata-DwdD_uVo.cjs} +2 -2
- package/dist/{createSessionMetadata-DyhFKAby.mjs → createSessionMetadata-oyaTZm1b.mjs} +2 -2
- package/dist/daemonAccounts-BCjDgoNt.cjs +51 -0
- package/dist/daemonAccounts-BJgt6IJe.mjs +27 -0
- package/dist/defaultPermissionMode-BFShzF55.cjs +49 -0
- package/dist/defaultPermissionMode-Lt3PUCwY.mjs +43 -0
- package/dist/{deterministicJson-BEygolBQ.cjs → deterministicJson-DUN0v3St.cjs} +13 -13
- package/dist/{deterministicJson-DNmMVhFu.mjs → deterministicJson-Dfp-7wUZ.mjs} +13 -13
- package/dist/{doctor-BdBi7TFZ.mjs → doctor-B_UwMcVT.mjs} +7 -7
- package/dist/{doctor-B9lW1WlG.cjs → doctor-FgUYTbAT.cjs} +7 -7
- package/dist/{downloadTarget-DS0zT2AU.cjs → downloadTarget-BrrQEDxg.cjs} +6 -6
- package/dist/{downloadTarget-CGojGjaN.mjs → downloadTarget-C0d6jRx-.mjs} +6 -6
- package/dist/{ensureDaemonRunning-Bibp6vhe.cjs → ensureDaemonRunning-Cq4FYI5Q.cjs} +5 -5
- package/dist/{ensureDaemonRunning-BOdbryDM.mjs → ensureDaemonRunning-KUMFfIil.mjs} +5 -5
- package/dist/{handleResumeCommand-CgLzBYne.mjs → handleResumeCommand-BGhVo3QH.mjs} +5 -5
- package/dist/{handleResumeCommand-DXOuWr4p.cjs → handleResumeCommand-Cl9GIL5F.cjs} +5 -5
- package/dist/{index-Db0HIC-k.mjs → index-BjXjMhGY.mjs} +4 -4
- package/dist/{index-BOe6dKnL.cjs → index-BzAYnYct.cjs} +186 -0
- package/dist/{index-CwRW11hT.cjs → index-CQ_hLLCj.cjs} +3 -3
- package/dist/{index-DXSIi6j_.cjs → index-CRipkiqo.cjs} +4 -4
- package/dist/{index-Bs5FD8JF.cjs → index-CZaLMmPC.cjs} +4 -4
- package/dist/{index-CBHfkQNY.mjs → index-Ca1Tt96A.mjs} +45 -41
- package/dist/{index-f8oDidjV.cjs → index-D8ODb0_U.cjs} +44 -40
- package/dist/{index-DmqsRnV7.mjs → index-DYD3GM1m.mjs} +168 -1
- package/dist/{index-rNTX33in.mjs → index-JQDyJ3Li.mjs} +3 -3
- package/dist/{index-DUByZsKe.mjs → index-v5EmjT8l.mjs} +4 -4
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-CXIL_FYx.cjs → install-ClUA9tbC.cjs} +3 -3
- package/dist/{install-DfPrEWGG.mjs → install-D6EHRtAN.mjs} +3 -3
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +292 -0
- package/dist/lib.d.mts +292 -0
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-D0DF20oG.mjs → lidState-CZOXXdzv.mjs} +1 -1
- package/dist/{lidState-q_XFYg33.cjs → lidState-DqoN7zH4.cjs} +1 -1
- package/dist/{localHappyAgentAuth-CKNW-MXw.cjs → localHappyAgentAuth-BnGCpHRX.cjs} +1 -1
- package/dist/{localHappyAgentAuth-BBhM4Qk1.mjs → localHappyAgentAuth-YHxDZ4x4.mjs} +1 -1
- package/dist/{logger-BBRTTVsQ.cjs → logger-8su64lqR.cjs} +2 -2
- package/dist/{logger-CL7pin9b.mjs → logger-Fd_rNvgd.mjs} +2 -2
- package/dist/{machineMetadata-DP06qdBk.mjs → machineMetadata-1HIIC7Bc.mjs} +3 -3
- package/dist/{machineMetadata-DnFNlrVK.cjs → machineMetadata-DYXt3p6u.cjs} +3 -3
- package/dist/{main-DO7nRvhf.mjs → main-BI6GIzUL.mjs} +92 -48
- package/dist/{main-DLOXykOR.cjs → main-C_GrcYkn.cjs} +92 -48
- package/dist/{mcp-Du0MgR7e.cjs → mcp-BycIv9oQ.cjs} +18 -15
- package/dist/{mcp-C-4sPTae.mjs → mcp-XGoxywno.mjs} +18 -15
- package/dist/{mirrorProtocol-GuWMxLkh.cjs → mirrorProtocol-DVnB8EO8.cjs} +3 -3
- package/dist/{mirrorProtocol-dkq2ZENA.mjs → mirrorProtocol-DXT3rv7T.mjs} +3 -3
- package/dist/{package-C6uiXULx.mjs → package-6KkRAops.mjs} +7 -7
- package/dist/{package-DrY090nZ.cjs → package-iuLlSiSF.cjs} +7 -7
- package/dist/{panels-4DRBKHZP.cjs → panels-0C89q0Tu.cjs} +5 -5
- package/dist/{panels-DXYdJA6n.mjs → panels-B5Di2zb2.mjs} +5 -5
- package/dist/{peerTools-5ZM4spcZ.cjs → peerTools-CANTX_mG.cjs} +5 -5
- package/dist/{peerTools-dY1aJez4.mjs → peerTools-CKJ-IDM4.mjs} +5 -5
- package/dist/{persistence-Bl5S3TLB.cjs → persistence-B4ttN-fR.cjs} +2 -2
- package/dist/{persistence-Dogj7JIp.mjs → persistence-DWcHe035.mjs} +2 -2
- package/dist/{piRunnerArgs-C3jZ1M6b.cjs → piRunnerArgs-BOkfxyak.cjs} +1 -1
- package/dist/{piRunnerArgs-D8nN_Iit.mjs → piRunnerArgs-Bl5GpBoN.mjs} +2 -2
- package/dist/{piRuntime-BoeMsAXK.mjs → piRuntime-BhwxzdQf.mjs} +1 -1
- package/dist/{piRuntime-Bd9-eq6M.cjs → piRuntime-DzrIiZU8.cjs} +1 -1
- package/dist/{piTerminal-C3j1ca3x.cjs → piTerminal-BdS7ol7v.cjs} +20 -17
- package/dist/{piTerminal-GEPkIGD4.mjs → piTerminal-DnA2CbGr.mjs} +20 -17
- package/dist/{pushNotifications-CfspRcl-.cjs → pushNotifications-BqFoLye2.cjs} +12 -3
- package/dist/{pushNotifications-dUceOIni.mjs → pushNotifications-DkQ0yvFs.mjs} +12 -3
- package/dist/{query-DjsVgG3E.cjs → query-BQ4br3yn.cjs} +1 -1
- package/dist/{query-iYH-tm7L.mjs → query-BRJYSkb1.mjs} +1 -1
- package/dist/{rateLimitReporter-jeVi-fym.mjs → rateLimitReporter-BRbYkmuP.mjs} +3 -3
- package/dist/{rateLimitReporter-DUu2KydZ.cjs → rateLimitReporter-DK5SQuCc.cjs} +3 -3
- package/dist/{rateLimitWindows-Bx3ROBP5.cjs → rateLimitWindows-DBfiuYeg.cjs} +1 -1
- package/dist/{rateLimitWindows-CEn0DXaX.mjs → rateLimitWindows-Da5AR-4u.mjs} +1 -1
- package/dist/reconnectEnv-B31lY4nR.cjs +27 -0
- package/dist/reconnectEnv-DeSvHl3q.mjs +24 -0
- package/dist/{registerCommonHandlers-Beun-cQv.cjs → registerCommonHandlers-m6pxxf2J.cjs} +2 -2
- package/dist/{registerCommonHandlers-DWZ7mfdt.mjs → registerCommonHandlers-yQ7Ru-l0.mjs} +2 -2
- package/dist/{registerKillSessionHandler-CA1FFr_F.cjs → registerKillSessionHandler-BAOIa_Fs.cjs} +6 -6
- package/dist/{registerKillSessionHandler-CzgklwLG.mjs → registerKillSessionHandler-BDNpi7YO.mjs} +6 -6
- package/dist/{remoteSessionClient-BiC2KDew.mjs → remoteSessionClient-CZ7aaNgj.mjs} +5 -5
- package/dist/{remoteSessionClient-DGFI__5Z.cjs → remoteSessionClient-iJMXRN_D.cjs} +5 -5
- package/dist/{reportProgressTool-CgPy6n_7.mjs → reportProgressTool-DfQhPu0s.mjs} +3 -3
- package/dist/{reportProgressTool-CvPGov1F.cjs → reportProgressTool-DpFs7pSe.cjs} +3 -3
- package/dist/{run-B_gFgJVB.mjs → run-CwN28mcj.mjs} +215 -52
- package/dist/{run-rPqQwDi_.cjs → run-p-xp1_HY.cjs} +214 -51
- package/dist/{runClaude-DM8gm8iu.cjs → runClaude-D6U1Z575.cjs} +83 -48
- package/dist/{runClaude-CykqeXK7.mjs → runClaude-DRKtAGTm.mjs} +83 -48
- package/dist/{runClaudeDeps-D2phXGut.mjs → runClaudeDeps-BheVcIlD.mjs} +147 -69
- package/dist/{runClaudeDeps-DGAomimZ.cjs → runClaudeDeps-Dkofokgb.cjs} +142 -64
- package/dist/{runGemini-CXTeSOZp.cjs → runGemini-C8q3YCc0.cjs} +33 -33
- package/dist/{runGemini-CtWCVkj5.mjs → runGemini-owbvhFbi.mjs} +33 -33
- package/dist/{runOpenClaw-CH_9_RyZ.cjs → runOpenClaw-DGeN66-t.cjs} +18 -18
- package/dist/{runOpenClaw-BBdjlViJ.mjs → runOpenClaw-Dky3-mjO.mjs} +18 -18
- package/dist/{sandbox-Bb5IMun3.cjs → sandbox-D2CPyoCA.cjs} +4 -4
- package/dist/{sandbox-DGmXZ6Zz.mjs → sandbox-sq_wy9Gl.mjs} +4 -4
- package/dist/{selfCheck-CccwNTTK.cjs → selfCheck-BgLvQKSt.cjs} +39 -37
- package/dist/selfCheck-vkfrgQ7X.mjs +88 -0
- package/dist/{send-BpiXPkDo.cjs → send-Cd10YhXh.cjs} +8 -8
- package/dist/{send-B6rHg8GT.mjs → send-K9vg-8t-.mjs} +8 -8
- package/dist/{server-DHUzjApC.cjs → server-DRrV64r0.cjs} +6 -6
- package/dist/{server-BkdAyHhC.mjs → server-De4W1zuK.mjs} +4 -4
- package/dist/{sessionLock-BFBReiKq.cjs → sessionLock-BDtSzzKS.cjs} +10 -3
- package/dist/{sessionLock-Ca_bIo50.mjs → sessionLock-Dl6i7IgA.mjs} +10 -4
- package/dist/{sessionOps-DeWVqpe4.cjs → sessionOps-DvnEH4PL.cjs} +6 -4
- package/dist/{sessionOps-CA2kpm66.mjs → sessionOps-gU88-W9F.mjs} +6 -4
- package/dist/sessionProvider-CKcIo7KO.mjs +108 -0
- package/dist/sessionProvider-CbSZeZrl.cjs +113 -0
- package/dist/{sessionScanner-CGzsN8V6.cjs → sessionScanner-7RtcCeyD.cjs} +3 -3
- package/dist/{sessionScanner-DDDud5re.mjs → sessionScanner-DR32uSby.mjs} +3 -3
- package/dist/{sessions-CKJPWFgu.cjs → sessions-BvuMjgvJ.cjs} +10 -10
- package/dist/{sessions-B4d50sCI.mjs → sessions-DTt2Eguk.mjs} +10 -10
- package/dist/{setupOfflineReconnection-CyPNgyCe.mjs → setupOfflineReconnection-BGnvhRfb.mjs} +2 -2
- package/dist/{setupOfflineReconnection-DPXRo_zf.cjs → setupOfflineReconnection-DduOsw6p.cjs} +2 -2
- package/dist/{spawn-CrYN_OOT.mjs → spawn-CL3cUc7b.mjs} +26 -17
- package/dist/{spawn-CgSJzzWS.cjs → spawn-DMB6rRPA.cjs} +26 -17
- package/dist/{spawnAgents-C1-4m7aN.cjs → spawnAgents-CClb7buD.cjs} +8 -2
- package/dist/{spawnAgents-DWCDYCQ1.mjs → spawnAgents-CRMfOJhh.mjs} +8 -2
- package/dist/{spawnHappyCLI-DjbkiSH1.mjs → spawnHappyCLI-Cj_6IICe.mjs} +1 -1
- package/dist/{spawnHappyCLI-CTy3p6V_.cjs → spawnHappyCLI-DJdhX_Qx.cjs} +1 -1
- package/dist/{startFileWatcher-Dedtu1vq.mjs → startFileWatcher-DikVa8kg.mjs} +1 -1
- package/dist/{startFileWatcher-BQs0cJA-.cjs → startFileWatcher-LnOmVW6H.cjs} +1 -1
- package/dist/{startupSessionCreate-Dxy3X4DG.cjs → startupSessionCreate-B3ND-917.cjs} +3 -3
- package/dist/{startupSessionCreate-BKFU4v_h.mjs → startupSessionCreate-CDdaLaMq.mjs} +3 -3
- package/dist/store--XN-7MS0.mjs +269 -0
- package/dist/store-DV__wCvP.cjs +289 -0
- package/dist/{streamRelay-D9a4cBEa.cjs → streamRelay-DFdOaLOn.cjs} +1 -1
- package/dist/{streamRelay-P9e7Sohm.mjs → streamRelay-sABnxEXq.mjs} +1 -1
- package/dist/{sync-eZkXnsW_.mjs → sync-JoEZKRo8.mjs} +1 -1
- package/dist/{sync-DtWB7RzA.cjs → sync-_2lsZ1U2.cjs} +1 -1
- package/dist/{systemPrompt-2XOpZ1j6.cjs → systemPrompt-CJEvNCuW.cjs} +2 -2
- package/dist/{systemPrompt-Bn6g6aCH.mjs → systemPrompt-Zq4HyrZ5.mjs} +2 -2
- package/dist/{teams-ecFay4Gn.cjs → teams-BNZafnrT.cjs} +7 -7
- package/dist/{teams-nadkqrbW.mjs → teams-qz4LqKJ2.mjs} +7 -7
- package/dist/{template-BiTD-jI9.mjs → template-CJ8BWSsc.mjs} +1 -1
- package/dist/{template-17HATY_Y.cjs → template-LgvBbOna.cjs} +1 -1
- package/dist/{time-gPD_EmA-.cjs → time-CaUlWSNJ.cjs} +1 -1
- package/dist/{time-CN3TuSVG.mjs → time-bzmet4s5.mjs} +1 -1
- package/dist/{titleGenerator-lT5ldPuN.cjs → titleGenerator-BuIIu_JP.cjs} +17 -13
- package/dist/{titleGenerator-DgzTQdn2.mjs → titleGenerator-CbTtJ_1D.mjs} +16 -12
- package/dist/{todo-B1VeMk5A.cjs → todo-CQ_BTf9C.cjs} +6 -6
- package/dist/{todo-BIxd7l2Q.mjs → todo-DIrVF_Ak.mjs} +6 -6
- package/dist/{tools-DvqbLsCF.cjs → tools-BnmmFZji.cjs} +1 -1
- package/dist/{tools-zXJpxiG_.mjs → tools-cLOjBvPn.mjs} +1 -1
- package/dist/{uninstall-9htK6mb7.mjs → uninstall-C5OuW6dE.mjs} +3 -3
- package/dist/{uninstall-CvIOpwB5.cjs → uninstall-uEEGKB84.cjs} +3 -3
- package/dist/wrapperAccount-DXlD3bsO.mjs +106 -0
- package/dist/wrapperAccount-DzoGqS2b.cjs +110 -0
- package/package.json +7 -7
- package/dist/defaultPermissionMode-BnxJPVHT.mjs +0 -4
- package/dist/defaultPermissionMode-CxmTXUQR.cjs +0 -7
- package/dist/providerBinding-B-Qbx9W2.cjs +0 -140
- package/dist/providerBinding-CYubGg-Z.mjs +0 -132
- package/dist/selfCheck-BfK945YQ.mjs +0 -86
- package/dist/sessionProvider-VFbtUmMR.cjs +0 -114
- package/dist/sessionProvider-g18IiK74.mjs +0 -109
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
|
-
import { c as configuration } from './configuration-
|
|
2
|
+
import { c as configuration } from './configuration-IhRiLDVe.mjs';
|
|
3
3
|
import { e as encodeBase64, g as encrypt, d as decodeBase64, h as decrypt } from './authRelay-DhQhkBvX.mjs';
|
|
4
|
-
import { l as listDaemonSessions,
|
|
5
|
-
import { b as readCredentialsForConfiguredRelay, c as readPersistedSessions } from './persistence-
|
|
4
|
+
import { l as listDaemonSessions, h as stopDaemonSession } from './controlClient-8ILulwjc.mjs';
|
|
5
|
+
import { b as readCredentialsForConfiguredRelay, c as readPersistedSessions } from './persistence-DWcHe035.mjs';
|
|
6
6
|
import { randomUUID } from 'node:crypto';
|
|
7
|
-
import { d as delay } from './time-
|
|
7
|
+
import { d as delay } from './time-bzmet4s5.mjs';
|
|
8
8
|
import { c as compactCommandText, p as parseClear } from './specialCommands-MXUN0wfI.mjs';
|
|
9
9
|
import { io } from 'socket.io-client';
|
|
10
10
|
import { b as backgroundTasksReport } from './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
@@ -41,6 +41,8 @@ async function sendUserMessage(sessionId, persisted, text, client, options = {})
|
|
|
41
41
|
...options.model !== void 0 ? { model: options.model } : {},
|
|
42
42
|
...options.permissionMode !== void 0 ? { permissionMode: options.permissionMode } : {},
|
|
43
43
|
...options.effort !== void 0 ? { effort: options.effort } : {},
|
|
44
|
+
...options.modelIntent !== void 0 ? { modelIntent: options.modelIntent } : {},
|
|
45
|
+
...options.effortIntent !== void 0 ? { effortIntent: options.effortIntent } : {},
|
|
44
46
|
...options.delivery !== void 0 ? { delivery: options.delivery } : {}
|
|
45
47
|
}
|
|
46
48
|
};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { c as configuration } from './configuration-IhRiLDVe.mjs';
|
|
3
|
+
import { r as restartDaemonSession, l as listDaemonSessions } from './controlClient-8ILulwjc.mjs';
|
|
4
|
+
import { A as AccountService, l as localRestartFailure, b as bindResultMessages } from './accountService-Dd9uqde2.mjs';
|
|
5
|
+
import { r as readSessionBindings, a as readAccounts } from './store--XN-7MS0.mjs';
|
|
6
|
+
import 'node:fs';
|
|
7
|
+
import 'node:os';
|
|
8
|
+
import 'node:path';
|
|
9
|
+
import './package-6KkRAops.mjs';
|
|
10
|
+
import 'node:fs/promises';
|
|
11
|
+
import './logger-Fd_rNvgd.mjs';
|
|
12
|
+
import 'node:util';
|
|
13
|
+
import './persistence-DWcHe035.mjs';
|
|
14
|
+
import 'zod';
|
|
15
|
+
import './authRelay-DhQhkBvX.mjs';
|
|
16
|
+
import 'node:crypto';
|
|
17
|
+
import 'tweetnacl';
|
|
18
|
+
import './index-DYD3GM1m.mjs';
|
|
19
|
+
import '@paralleldrive/cuid2';
|
|
20
|
+
import 'node:child_process';
|
|
21
|
+
import './claudeAccountEnv-ON24i0qv.mjs';
|
|
22
|
+
|
|
23
|
+
const SESSION_PROVIDER_HELP = `Usage:
|
|
24
|
+
very-happy session provider --list
|
|
25
|
+
very-happy session provider <sessionId> <profile> [--model <model>] [--no-restart]
|
|
26
|
+
very-happy session provider <sessionId> default [--no-restart]
|
|
27
|
+
|
|
28
|
+
Alias of \`very-happy account bind\`. Binds a Claude session on THIS machine to
|
|
29
|
+
an account (\`very-happy account list\`; providers.json profiles are included),
|
|
30
|
+
then restarts it in place (history kept). "default" = the machine login.
|
|
31
|
+
--model defaults to the account's first model.`;
|
|
32
|
+
function parseSessionProviderArgs(args) {
|
|
33
|
+
const positional = [];
|
|
34
|
+
let model;
|
|
35
|
+
let restart = true;
|
|
36
|
+
let list = false;
|
|
37
|
+
for (let i = 0; i < args.length; i++) {
|
|
38
|
+
const arg = args[i];
|
|
39
|
+
if (arg === "-h" || arg === "--help") return { action: "help" };
|
|
40
|
+
if (arg === "--list") list = true;
|
|
41
|
+
else if (arg === "--no-restart") restart = false;
|
|
42
|
+
else if (arg === "--model") {
|
|
43
|
+
model = args[++i];
|
|
44
|
+
if (!model) throw new Error("--model needs a value");
|
|
45
|
+
} else if (arg.startsWith("--model=")) model = arg.slice("--model=".length);
|
|
46
|
+
else if (arg.startsWith("-")) throw new Error(`unknown option ${arg}`);
|
|
47
|
+
else positional.push(arg);
|
|
48
|
+
}
|
|
49
|
+
if (list) {
|
|
50
|
+
if (positional.length > 0) throw new Error("--list takes no session id");
|
|
51
|
+
return { action: "list" };
|
|
52
|
+
}
|
|
53
|
+
if (positional.length === 0) return { action: "help" };
|
|
54
|
+
if (positional.length !== 2) throw new Error("expected <sessionId> <profile|default>");
|
|
55
|
+
const [sessionId, profile] = positional;
|
|
56
|
+
if (profile === "default") {
|
|
57
|
+
if (model) throw new Error("--model cannot be used with default");
|
|
58
|
+
return { action: "clear", sessionId, restart };
|
|
59
|
+
}
|
|
60
|
+
return { action: "set", sessionId, profile, model, restart };
|
|
61
|
+
}
|
|
62
|
+
function resolveBindingRequest(accounts, profile, model) {
|
|
63
|
+
const a = accounts.accounts[profile];
|
|
64
|
+
if (!a) {
|
|
65
|
+
const known = Object.keys(accounts.accounts);
|
|
66
|
+
throw new Error(`unknown account "${profile}"${known.length ? ` (known: ${known.join(", ")})` : " (no accounts; see `very-happy account`)"}`);
|
|
67
|
+
}
|
|
68
|
+
if (a.kind !== "claude-api") {
|
|
69
|
+
if (model) throw new Error(`--model applies to API accounts only`);
|
|
70
|
+
return { account: profile };
|
|
71
|
+
}
|
|
72
|
+
const chosen = model ?? a.models?.[0];
|
|
73
|
+
if (chosen && a.models && a.models.length > 0 && !a.models.includes(chosen)) {
|
|
74
|
+
throw new Error(`model "${chosen}" is not in account "${profile}" models (${a.models.join(", ")})`);
|
|
75
|
+
}
|
|
76
|
+
return { account: profile, ...chosen ? { model: chosen } : {} };
|
|
77
|
+
}
|
|
78
|
+
async function handleSessionProviderCommand(args) {
|
|
79
|
+
const parsed = parseSessionProviderArgs(args);
|
|
80
|
+
const home = configuration.happyHomeDir;
|
|
81
|
+
if (parsed.action === "help") {
|
|
82
|
+
console.log(SESSION_PROVIDER_HELP);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (parsed.action === "list") {
|
|
86
|
+
const entries = Object.entries(readSessionBindings(home));
|
|
87
|
+
if (entries.length === 0) console.log("No session account bindings.");
|
|
88
|
+
for (const [sessionId, b] of entries) console.log(`${sessionId} ${b.account ?? "machine"}${b.model ? ` ${b.model}` : ""}`);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const service = new AccountService({
|
|
92
|
+
home,
|
|
93
|
+
restartSession: async (sessionId) => {
|
|
94
|
+
const result2 = await restartDaemonSession(sessionId);
|
|
95
|
+
if (result2.success) return { ok: true };
|
|
96
|
+
const stillRunning = await listDaemonSessions().then((children) => children.some((c) => c?.happySessionId === sessionId), () => false);
|
|
97
|
+
return localRestartFailure(result2.error ?? "restart failed", stillRunning);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
const binding = parsed.action === "set" ? resolveBindingRequest(readAccounts(home), parsed.profile, parsed.model) : null;
|
|
101
|
+
const result = await service.bind({ sessionId: parsed.sessionId, accountId: binding?.account ?? null, ...binding?.model ? { model: binding.model } : {}, restart: parsed.restart });
|
|
102
|
+
const shown = bindResultMessages(result, parsed.sessionId, binding ? `${binding.account}${binding.model ? ` / ${binding.model}` : ""}` : "machine login", "provider");
|
|
103
|
+
for (const line of shown.out) console.log(line);
|
|
104
|
+
for (const line of shown.err) console.error(chalk.yellow(line));
|
|
105
|
+
if (shown.exitCode) process.exitCode = shown.exitCode;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export { SESSION_PROVIDER_HELP, handleSessionProviderCommand, parseSessionProviderArgs, resolveBindingRequest };
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chalk = require('chalk');
|
|
4
|
+
var configuration = require('./configuration-CXEVKAyF.cjs');
|
|
5
|
+
var controlClient = require('./controlClient-j7p5p3_7.cjs');
|
|
6
|
+
var accountService = require('./accountService-Bddy0zwL.cjs');
|
|
7
|
+
var store = require('./store-DV__wCvP.cjs');
|
|
8
|
+
require('node:fs');
|
|
9
|
+
require('node:os');
|
|
10
|
+
require('node:path');
|
|
11
|
+
require('./package-iuLlSiSF.cjs');
|
|
12
|
+
require('node:fs/promises');
|
|
13
|
+
require('./logger-8su64lqR.cjs');
|
|
14
|
+
require('node:util');
|
|
15
|
+
require('./persistence-B4ttN-fR.cjs');
|
|
16
|
+
require('zod');
|
|
17
|
+
require('./authRelay-Dy1qU9td.cjs');
|
|
18
|
+
require('node:crypto');
|
|
19
|
+
require('tweetnacl');
|
|
20
|
+
require('./index-BzAYnYct.cjs');
|
|
21
|
+
require('@paralleldrive/cuid2');
|
|
22
|
+
require('node:child_process');
|
|
23
|
+
require('./claudeAccountEnv-BOBpJ3k8.cjs');
|
|
24
|
+
|
|
25
|
+
const SESSION_PROVIDER_HELP = `Usage:
|
|
26
|
+
very-happy session provider --list
|
|
27
|
+
very-happy session provider <sessionId> <profile> [--model <model>] [--no-restart]
|
|
28
|
+
very-happy session provider <sessionId> default [--no-restart]
|
|
29
|
+
|
|
30
|
+
Alias of \`very-happy account bind\`. Binds a Claude session on THIS machine to
|
|
31
|
+
an account (\`very-happy account list\`; providers.json profiles are included),
|
|
32
|
+
then restarts it in place (history kept). "default" = the machine login.
|
|
33
|
+
--model defaults to the account's first model.`;
|
|
34
|
+
function parseSessionProviderArgs(args) {
|
|
35
|
+
const positional = [];
|
|
36
|
+
let model;
|
|
37
|
+
let restart = true;
|
|
38
|
+
let list = false;
|
|
39
|
+
for (let i = 0; i < args.length; i++) {
|
|
40
|
+
const arg = args[i];
|
|
41
|
+
if (arg === "-h" || arg === "--help") return { action: "help" };
|
|
42
|
+
if (arg === "--list") list = true;
|
|
43
|
+
else if (arg === "--no-restart") restart = false;
|
|
44
|
+
else if (arg === "--model") {
|
|
45
|
+
model = args[++i];
|
|
46
|
+
if (!model) throw new Error("--model needs a value");
|
|
47
|
+
} else if (arg.startsWith("--model=")) model = arg.slice("--model=".length);
|
|
48
|
+
else if (arg.startsWith("-")) throw new Error(`unknown option ${arg}`);
|
|
49
|
+
else positional.push(arg);
|
|
50
|
+
}
|
|
51
|
+
if (list) {
|
|
52
|
+
if (positional.length > 0) throw new Error("--list takes no session id");
|
|
53
|
+
return { action: "list" };
|
|
54
|
+
}
|
|
55
|
+
if (positional.length === 0) return { action: "help" };
|
|
56
|
+
if (positional.length !== 2) throw new Error("expected <sessionId> <profile|default>");
|
|
57
|
+
const [sessionId, profile] = positional;
|
|
58
|
+
if (profile === "default") {
|
|
59
|
+
if (model) throw new Error("--model cannot be used with default");
|
|
60
|
+
return { action: "clear", sessionId, restart };
|
|
61
|
+
}
|
|
62
|
+
return { action: "set", sessionId, profile, model, restart };
|
|
63
|
+
}
|
|
64
|
+
function resolveBindingRequest(accounts, profile, model) {
|
|
65
|
+
const a = accounts.accounts[profile];
|
|
66
|
+
if (!a) {
|
|
67
|
+
const known = Object.keys(accounts.accounts);
|
|
68
|
+
throw new Error(`unknown account "${profile}"${known.length ? ` (known: ${known.join(", ")})` : " (no accounts; see `very-happy account`)"}`);
|
|
69
|
+
}
|
|
70
|
+
if (a.kind !== "claude-api") {
|
|
71
|
+
if (model) throw new Error(`--model applies to API accounts only`);
|
|
72
|
+
return { account: profile };
|
|
73
|
+
}
|
|
74
|
+
const chosen = model ?? a.models?.[0];
|
|
75
|
+
if (chosen && a.models && a.models.length > 0 && !a.models.includes(chosen)) {
|
|
76
|
+
throw new Error(`model "${chosen}" is not in account "${profile}" models (${a.models.join(", ")})`);
|
|
77
|
+
}
|
|
78
|
+
return { account: profile, ...chosen ? { model: chosen } : {} };
|
|
79
|
+
}
|
|
80
|
+
async function handleSessionProviderCommand(args) {
|
|
81
|
+
const parsed = parseSessionProviderArgs(args);
|
|
82
|
+
const home = configuration.configuration.happyHomeDir;
|
|
83
|
+
if (parsed.action === "help") {
|
|
84
|
+
console.log(SESSION_PROVIDER_HELP);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (parsed.action === "list") {
|
|
88
|
+
const entries = Object.entries(store.readSessionBindings(home));
|
|
89
|
+
if (entries.length === 0) console.log("No session account bindings.");
|
|
90
|
+
for (const [sessionId, b] of entries) console.log(`${sessionId} ${b.account ?? "machine"}${b.model ? ` ${b.model}` : ""}`);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const service = new accountService.AccountService({
|
|
94
|
+
home,
|
|
95
|
+
restartSession: async (sessionId) => {
|
|
96
|
+
const result2 = await controlClient.restartDaemonSession(sessionId);
|
|
97
|
+
if (result2.success) return { ok: true };
|
|
98
|
+
const stillRunning = await controlClient.listDaemonSessions().then((children) => children.some((c) => c?.happySessionId === sessionId), () => false);
|
|
99
|
+
return accountService.localRestartFailure(result2.error ?? "restart failed", stillRunning);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
const binding = parsed.action === "set" ? resolveBindingRequest(store.readAccounts(home), parsed.profile, parsed.model) : null;
|
|
103
|
+
const result = await service.bind({ sessionId: parsed.sessionId, accountId: binding?.account ?? null, ...binding?.model ? { model: binding.model } : {}, restart: parsed.restart });
|
|
104
|
+
const shown = accountService.bindResultMessages(result, parsed.sessionId, binding ? `${binding.account}${binding.model ? ` / ${binding.model}` : ""}` : "machine login", "provider");
|
|
105
|
+
for (const line of shown.out) console.log(line);
|
|
106
|
+
for (const line of shown.err) console.error(chalk.yellow(line));
|
|
107
|
+
if (shown.exitCode) process.exitCode = shown.exitCode;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
exports.SESSION_PROVIDER_HELP = SESSION_PROVIDER_HELP;
|
|
111
|
+
exports.handleSessionProviderCommand = handleSessionProviderCommand;
|
|
112
|
+
exports.parseSessionProviderArgs = parseSessionProviderArgs;
|
|
113
|
+
exports.resolveBindingRequest = resolveBindingRequest;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var sync = require('./sync-
|
|
3
|
+
var sync = require('./sync-_2lsZ1U2.cjs');
|
|
4
4
|
var types = require('./types-CRS-srZK.cjs');
|
|
5
5
|
var path$1 = require('node:path');
|
|
6
6
|
var node_fs = require('node:fs');
|
|
7
7
|
var transcriptCursor = require('./transcriptCursor-DcXGLeSc.cjs');
|
|
8
|
-
var logger = require('./logger-
|
|
9
|
-
var startFileWatcher = require('./startFileWatcher-
|
|
8
|
+
var logger = require('./logger-8su64lqR.cjs');
|
|
9
|
+
var startFileWatcher = require('./startFileWatcher-LnOmVW6H.cjs');
|
|
10
10
|
var path = require('./path-B7zW-WwE.cjs');
|
|
11
11
|
|
|
12
12
|
class Future {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { I as InvalidateSync } from './sync-
|
|
1
|
+
import { I as InvalidateSync } from './sync-JoEZKRo8.mjs';
|
|
2
2
|
import { R as RawJSONLinesSchema } from './types-CkqAACXx.mjs';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { statSync } from 'node:fs';
|
|
5
5
|
import { r as readTranscriptIncrement, i as isValidTranscriptHint } from './transcriptCursor-B7T_gkQ0.mjs';
|
|
6
|
-
import { l as logger } from './logger-
|
|
7
|
-
import { s as startFileWatcher } from './startFileWatcher-
|
|
6
|
+
import { l as logger } from './logger-Fd_rNvgd.mjs';
|
|
7
|
+
import { s as startFileWatcher } from './startFileWatcher-DikVa8kg.mjs';
|
|
8
8
|
import { g as getProjectPath } from './path-D2wdaNSk.mjs';
|
|
9
9
|
|
|
10
10
|
class Future {
|
|
@@ -2,30 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var exitAfterFlush = require('./exitAfterFlush-DIT_sIxR.cjs');
|
|
5
|
-
var sessionOps = require('./sessionOps-
|
|
5
|
+
var sessionOps = require('./sessionOps-DvnEH4PL.cjs');
|
|
6
6
|
var ids = require('./ids-B6ZC0HGt.cjs');
|
|
7
|
-
var peerTools = require('./peerTools-
|
|
8
|
-
var persistence = require('./persistence-
|
|
7
|
+
var peerTools = require('./peerTools-CANTX_mG.cjs');
|
|
8
|
+
var persistence = require('./persistence-B4ttN-fR.cjs');
|
|
9
9
|
var path = require('node:path');
|
|
10
|
-
var remoteSessionClient = require('./remoteSessionClient-
|
|
10
|
+
var remoteSessionClient = require('./remoteSessionClient-iJMXRN_D.cjs');
|
|
11
11
|
require('axios');
|
|
12
|
-
require('./configuration-
|
|
12
|
+
require('./configuration-CXEVKAyF.cjs');
|
|
13
13
|
require('node:fs');
|
|
14
14
|
require('node:os');
|
|
15
|
-
require('./package-
|
|
15
|
+
require('./package-iuLlSiSF.cjs');
|
|
16
16
|
require('node:fs/promises');
|
|
17
17
|
require('./authRelay-Dy1qU9td.cjs');
|
|
18
18
|
require('node:crypto');
|
|
19
19
|
require('tweetnacl');
|
|
20
|
-
require('./controlClient-
|
|
21
|
-
require('./logger-
|
|
20
|
+
require('./controlClient-j7p5p3_7.cjs');
|
|
21
|
+
require('./logger-8su64lqR.cjs');
|
|
22
22
|
require('node:util');
|
|
23
|
-
require('./time-
|
|
23
|
+
require('./time-CaUlWSNJ.cjs');
|
|
24
24
|
require('./specialCommands-J3JFOq0J.cjs');
|
|
25
25
|
require('socket.io-client');
|
|
26
26
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
27
27
|
require('zod');
|
|
28
|
-
require('./client-
|
|
28
|
+
require('./client-D8XROyZc.cjs');
|
|
29
29
|
|
|
30
30
|
const MACHINE_ID_RE = /^[a-zA-Z0-9_-]{1,128}$/;
|
|
31
31
|
const ACTIONS = ["list", "read", "stop", "archive", "approve", "deny", "peers", "message"];
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { e as exitAfterFlush } from './exitAfterFlush-AbKNZM0N.mjs';
|
|
3
|
-
import { D as DEFAULT_RECENT_LIMIT, M as MAX_READ_LIMIT, l as listAccountSessions, a as listSessions, w as waitForTurnEnd, T as TurnWaitTimeoutError, r as readSessionTranscript, b as stopSession, c as resolvePermissionRequest, d as archiveSession } from './sessionOps-
|
|
3
|
+
import { D as DEFAULT_RECENT_LIMIT, M as MAX_READ_LIMIT, l as listAccountSessions, a as listSessions, w as waitForTurnEnd, T as TurnWaitTimeoutError, r as readSessionTranscript, b as stopSession, c as resolvePermissionRequest, d as archiveSession } from './sessionOps-gU88-W9F.mjs';
|
|
4
4
|
import { i as isValidSessionId } from './ids-DU6sLx4C.mjs';
|
|
5
|
-
import { P as PEER_SCOPES, c as cliPeerSelf, e as executeSessionPeerTool, l as listPeerSessions, s as sendPeerMessage } from './peerTools-
|
|
6
|
-
import { c as readPersistedSessions } from './persistence-
|
|
5
|
+
import { P as PEER_SCOPES, c as cliPeerSelf, e as executeSessionPeerTool, l as listPeerSessions, s as sendPeerMessage } from './peerTools-CKJ-IDM4.mjs';
|
|
6
|
+
import { c as readPersistedSessions } from './persistence-DWcHe035.mjs';
|
|
7
7
|
import { resolve } from 'node:path';
|
|
8
|
-
import { f as fillForeignAccountRows, l as listRemoteSessions, a as listRemotePeers, w as waitForRemoteTurnEnd, r as readRemoteTranscript } from './remoteSessionClient-
|
|
8
|
+
import { f as fillForeignAccountRows, l as listRemoteSessions, a as listRemotePeers, w as waitForRemoteTurnEnd, r as readRemoteTranscript } from './remoteSessionClient-CZ7aaNgj.mjs';
|
|
9
9
|
import 'axios';
|
|
10
|
-
import './configuration-
|
|
10
|
+
import './configuration-IhRiLDVe.mjs';
|
|
11
11
|
import 'node:fs';
|
|
12
12
|
import 'node:os';
|
|
13
|
-
import './package-
|
|
13
|
+
import './package-6KkRAops.mjs';
|
|
14
14
|
import 'node:fs/promises';
|
|
15
15
|
import './authRelay-DhQhkBvX.mjs';
|
|
16
16
|
import 'node:crypto';
|
|
17
17
|
import 'tweetnacl';
|
|
18
|
-
import './controlClient-
|
|
19
|
-
import './logger-
|
|
18
|
+
import './controlClient-8ILulwjc.mjs';
|
|
19
|
+
import './logger-Fd_rNvgd.mjs';
|
|
20
20
|
import 'node:util';
|
|
21
|
-
import './time-
|
|
21
|
+
import './time-bzmet4s5.mjs';
|
|
22
22
|
import './specialCommands-MXUN0wfI.mjs';
|
|
23
23
|
import 'socket.io-client';
|
|
24
24
|
import './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
25
25
|
import 'zod';
|
|
26
|
-
import './client-
|
|
26
|
+
import './client-Bm4oKvW7.mjs';
|
|
27
27
|
|
|
28
28
|
const MACHINE_ID_RE = /^[a-zA-Z0-9_-]{1,128}$/;
|
|
29
29
|
const ACTIONS = ["list", "read", "stop", "archive", "approve", "deny", "peers", "message"];
|
package/dist/{setupOfflineReconnection-CyPNgyCe.mjs → setupOfflineReconnection-BGnvhRfb.mjs}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as configuration } from './configuration-
|
|
2
|
-
import { s as startOfflineReconnection } from './api-
|
|
1
|
+
import { c as configuration } from './configuration-IhRiLDVe.mjs';
|
|
2
|
+
import { s as startOfflineReconnection } from './api-_LeBScjg.mjs';
|
|
3
3
|
|
|
4
4
|
function createOfflineSessionStub(sessionTag) {
|
|
5
5
|
return {
|
package/dist/{setupOfflineReconnection-DPXRo_zf.cjs → setupOfflineReconnection-DduOsw6p.cjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var configuration = require('./configuration-
|
|
4
|
-
var api = require('./api-
|
|
3
|
+
var configuration = require('./configuration-CXEVKAyF.cjs');
|
|
4
|
+
var api = require('./api-hMDsC6Wg.cjs');
|
|
5
5
|
|
|
6
6
|
function createOfflineSessionStub(sessionTag) {
|
|
7
7
|
return {
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { r as resolveSpawnPermissionMode, c as chooseProject, j as joinProject, a as resolveFirstMessageMeta, w as waitsForModelCatalog, s as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES, S as SPAWN_AGENTS } from './spawnAgents-
|
|
2
|
-
import { s as sharedProjectsClient } from './client-
|
|
1
|
+
import { r as resolveSpawnPermissionMode, c as chooseProject, j as joinProject, a as resolveFirstMessageMeta, w as waitsForModelCatalog, s as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES, S as SPAWN_AGENTS } from './spawnAgents-CRMfOJhh.mjs';
|
|
2
|
+
import { s as sharedProjectsClient } from './client-Bm4oKvW7.mjs';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
4
|
import { readFileSync, statSync } from 'node:fs';
|
|
5
5
|
import { resolve } from 'node:path';
|
|
6
|
-
import { b as checkIfDaemonRunningAndCleanupStaleState,
|
|
7
|
-
import { c as readPersistedSessions } from './persistence-
|
|
8
|
-
import {
|
|
9
|
-
import { c as configuration } from './configuration-
|
|
6
|
+
import { b as checkIfDaemonRunningAndCleanupStaleState, f as spawnDaemonSession, h as stopDaemonSession } from './controlClient-8ILulwjc.mjs';
|
|
7
|
+
import { c as readPersistedSessions } from './persistence-DWcHe035.mjs';
|
|
8
|
+
import { t as parseLatestModelTable } from './index-DYD3GM1m.mjs';
|
|
9
|
+
import { c as configuration } from './configuration-IhRiLDVe.mjs';
|
|
10
10
|
import { g as getProjectPath } from './path-D2wdaNSk.mjs';
|
|
11
|
-
import { f as forkSession, F as ForkSourceMissingError } from './claudeSessionFork-
|
|
12
|
-
import { C as CodexAppServerClient } from './codexAppServerClient-
|
|
11
|
+
import { f as forkSession, F as ForkSourceMissingError } from './claudeSessionFork-8AA47z8Y.mjs';
|
|
12
|
+
import { C as CodexAppServerClient } from './codexAppServerClient-BWJbLCQn.mjs';
|
|
13
13
|
import { f as forkCodexThread } from './codexThreadFork-DobPd19R.mjs';
|
|
14
|
-
import { e as sendUserMessage, f as readSessionMetadata, g as waitForSessionKey, s as sessionWebUrl } from './sessionOps-
|
|
15
|
-
import { i as isValidSpawnOrigin } from './createSessionMetadata-
|
|
16
|
-
import { l as logger } from './logger-
|
|
14
|
+
import { e as sendUserMessage, f as readSessionMetadata, g as waitForSessionKey, s as sessionWebUrl } from './sessionOps-gU88-W9F.mjs';
|
|
15
|
+
import { i as isValidSpawnOrigin } from './createSessionMetadata-oyaTZm1b.mjs';
|
|
16
|
+
import { l as logger } from './logger-Fd_rNvgd.mjs';
|
|
17
17
|
import { w as waitForForkBackfill } from './forkBackfill-DYIjlN1Z.mjs';
|
|
18
18
|
import 'node:fs/promises';
|
|
19
19
|
import 'zod';
|
|
@@ -22,17 +22,17 @@ import 'node:crypto';
|
|
|
22
22
|
import 'tweetnacl';
|
|
23
23
|
import '@paralleldrive/cuid2';
|
|
24
24
|
import 'node:os';
|
|
25
|
-
import './package-
|
|
25
|
+
import './package-6KkRAops.mjs';
|
|
26
26
|
import 'node:readline';
|
|
27
27
|
import 'node:child_process';
|
|
28
28
|
import 'cross-spawn';
|
|
29
29
|
import './contentLogMetadata-BlWI0egu.mjs';
|
|
30
30
|
import './manager-BEsI4qt3.mjs';
|
|
31
31
|
import '@anthropic-ai/sandbox-runtime';
|
|
32
|
-
import './rateLimitWindows-
|
|
32
|
+
import './rateLimitWindows-Da5AR-4u.mjs';
|
|
33
33
|
import './processTree-CP5IvQ2Z.mjs';
|
|
34
34
|
import 'axios';
|
|
35
|
-
import './time-
|
|
35
|
+
import './time-bzmet4s5.mjs';
|
|
36
36
|
import './specialCommands-MXUN0wfI.mjs';
|
|
37
37
|
import 'socket.io-client';
|
|
38
38
|
import './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
@@ -155,6 +155,10 @@ function parseSpawnArgs(args) {
|
|
|
155
155
|
const value = args[++i];
|
|
156
156
|
if (value === void 0 || value.trim().length === 0) throw new Error("--model requires a value");
|
|
157
157
|
options.model = value;
|
|
158
|
+
} else if (arg === "--account") {
|
|
159
|
+
const value = args[++i];
|
|
160
|
+
if (value === void 0 || !/^[a-z0-9][a-z0-9-]{0,47}$/.test(value)) throw new Error('--account requires an account id (see `very-happy account list`) or "machine"');
|
|
161
|
+
options.account = value;
|
|
158
162
|
} else if (arg === "--fork") {
|
|
159
163
|
const value = args[++i];
|
|
160
164
|
if (value === void 0) throw new Error("--fork requires a session id");
|
|
@@ -190,8 +194,8 @@ ${chalk.bold("very-happy spawn")} - Spawn a remote session via the local daemon
|
|
|
190
194
|
${chalk.bold("Usage:")}
|
|
191
195
|
very-happy spawn --dir <path> [--prompt <text> | --prompt-file <file>]
|
|
192
196
|
[--spawned-by <name>] [--permission-mode <mode>]
|
|
193
|
-
[--agent <name>] [--model <id>] [--
|
|
194
|
-
[--project <id> | --no-project] [--json]
|
|
197
|
+
[--agent <name>] [--model <id>] [--account <id>]
|
|
198
|
+
[--env KEY=VALUE]... [--project <id> | --no-project] [--json]
|
|
195
199
|
very-happy spawn --fork <sessionId> [--prompt \u2026] [--permission-mode <mode>]
|
|
196
200
|
[--model <id>] [--spawned-by <name>] [--project <id>]
|
|
197
201
|
[--json]
|
|
@@ -218,6 +222,10 @@ ${chalk.bold("Options:")}
|
|
|
218
222
|
machine runs (claude: newest Opus; codex: newest
|
|
219
223
|
sol its Codex lists; gemini: newest pro), else the
|
|
220
224
|
machine default. 'default' = the machine default.
|
|
225
|
+
--account <id> Claude account on this machine (\`very-happy account
|
|
226
|
+
list\`); 'machine' = the machine's own login.
|
|
227
|
+
Default = the machine's default account, if set. A
|
|
228
|
+
missing or expired account fails the spawn.
|
|
221
229
|
--fork <sessionId> Fork an existing session of THIS machine (same as the
|
|
222
230
|
web's fork): copies its conversation and continues
|
|
223
231
|
it in a new session, in the same directory and with
|
|
@@ -380,7 +388,8 @@ async function handleSpawnCommand(args) {
|
|
|
380
388
|
// through, an old wrapper ignores it).
|
|
381
389
|
environmentVariables: spawnEnvironmentVariables(options.env, prompt !== void 0),
|
|
382
390
|
...resumeIds,
|
|
383
|
-
...forkSource ? { parentSessionId: forkSource.parentSessionId } : {}
|
|
391
|
+
...forkSource ? { parentSessionId: forkSource.parentSessionId } : {},
|
|
392
|
+
...options.account ? { agentProfileId: options.account === "machine" ? null : options.account } : {}
|
|
384
393
|
});
|
|
385
394
|
if (result?.error || !result?.success || !result?.sessionId) {
|
|
386
395
|
const message = result?.error || "Daemon returned no session ID";
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var spawnAgents = require('./spawnAgents-
|
|
4
|
-
var client = require('./client-
|
|
3
|
+
var spawnAgents = require('./spawnAgents-CClb7buD.cjs');
|
|
4
|
+
var client = require('./client-D8XROyZc.cjs');
|
|
5
5
|
var chalk = require('chalk');
|
|
6
6
|
var node_fs = require('node:fs');
|
|
7
7
|
var path$1 = require('node:path');
|
|
8
|
-
var controlClient = require('./controlClient-
|
|
9
|
-
var persistence = require('./persistence-
|
|
10
|
-
var index = require('./index-
|
|
11
|
-
var configuration = require('./configuration-
|
|
8
|
+
var controlClient = require('./controlClient-j7p5p3_7.cjs');
|
|
9
|
+
var persistence = require('./persistence-B4ttN-fR.cjs');
|
|
10
|
+
var index = require('./index-BzAYnYct.cjs');
|
|
11
|
+
var configuration = require('./configuration-CXEVKAyF.cjs');
|
|
12
12
|
var path = require('./path-B7zW-WwE.cjs');
|
|
13
|
-
var claudeSessionFork = require('./claudeSessionFork-
|
|
14
|
-
var codexAppServerClient = require('./codexAppServerClient-
|
|
13
|
+
var claudeSessionFork = require('./claudeSessionFork-YiktY55n.cjs');
|
|
14
|
+
var codexAppServerClient = require('./codexAppServerClient-q8GHQhyC.cjs');
|
|
15
15
|
var codexThreadFork = require('./codexThreadFork-5kwoKjMu.cjs');
|
|
16
|
-
var sessionOps = require('./sessionOps-
|
|
17
|
-
var createSessionMetadata = require('./createSessionMetadata-
|
|
18
|
-
var logger = require('./logger-
|
|
16
|
+
var sessionOps = require('./sessionOps-DvnEH4PL.cjs');
|
|
17
|
+
var createSessionMetadata = require('./createSessionMetadata-DwdD_uVo.cjs');
|
|
18
|
+
var logger = require('./logger-8su64lqR.cjs');
|
|
19
19
|
var forkBackfill = require('./forkBackfill-8eLDeS73.cjs');
|
|
20
20
|
require('node:fs/promises');
|
|
21
21
|
require('zod');
|
|
@@ -24,17 +24,17 @@ require('node:crypto');
|
|
|
24
24
|
require('tweetnacl');
|
|
25
25
|
require('@paralleldrive/cuid2');
|
|
26
26
|
require('node:os');
|
|
27
|
-
require('./package-
|
|
27
|
+
require('./package-iuLlSiSF.cjs');
|
|
28
28
|
require('node:readline');
|
|
29
29
|
require('node:child_process');
|
|
30
30
|
require('cross-spawn');
|
|
31
31
|
require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
32
32
|
require('./manager-HrEj442o.cjs');
|
|
33
33
|
require('@anthropic-ai/sandbox-runtime');
|
|
34
|
-
require('./rateLimitWindows-
|
|
34
|
+
require('./rateLimitWindows-DBfiuYeg.cjs');
|
|
35
35
|
require('./processTree-CMHWlVse.cjs');
|
|
36
36
|
require('axios');
|
|
37
|
-
require('./time-
|
|
37
|
+
require('./time-CaUlWSNJ.cjs');
|
|
38
38
|
require('./specialCommands-J3JFOq0J.cjs');
|
|
39
39
|
require('socket.io-client');
|
|
40
40
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
@@ -157,6 +157,10 @@ function parseSpawnArgs(args) {
|
|
|
157
157
|
const value = args[++i];
|
|
158
158
|
if (value === void 0 || value.trim().length === 0) throw new Error("--model requires a value");
|
|
159
159
|
options.model = value;
|
|
160
|
+
} else if (arg === "--account") {
|
|
161
|
+
const value = args[++i];
|
|
162
|
+
if (value === void 0 || !/^[a-z0-9][a-z0-9-]{0,47}$/.test(value)) throw new Error('--account requires an account id (see `very-happy account list`) or "machine"');
|
|
163
|
+
options.account = value;
|
|
160
164
|
} else if (arg === "--fork") {
|
|
161
165
|
const value = args[++i];
|
|
162
166
|
if (value === void 0) throw new Error("--fork requires a session id");
|
|
@@ -192,8 +196,8 @@ ${chalk.bold("very-happy spawn")} - Spawn a remote session via the local daemon
|
|
|
192
196
|
${chalk.bold("Usage:")}
|
|
193
197
|
very-happy spawn --dir <path> [--prompt <text> | --prompt-file <file>]
|
|
194
198
|
[--spawned-by <name>] [--permission-mode <mode>]
|
|
195
|
-
[--agent <name>] [--model <id>] [--
|
|
196
|
-
[--project <id> | --no-project] [--json]
|
|
199
|
+
[--agent <name>] [--model <id>] [--account <id>]
|
|
200
|
+
[--env KEY=VALUE]... [--project <id> | --no-project] [--json]
|
|
197
201
|
very-happy spawn --fork <sessionId> [--prompt \u2026] [--permission-mode <mode>]
|
|
198
202
|
[--model <id>] [--spawned-by <name>] [--project <id>]
|
|
199
203
|
[--json]
|
|
@@ -220,6 +224,10 @@ ${chalk.bold("Options:")}
|
|
|
220
224
|
machine runs (claude: newest Opus; codex: newest
|
|
221
225
|
sol its Codex lists; gemini: newest pro), else the
|
|
222
226
|
machine default. 'default' = the machine default.
|
|
227
|
+
--account <id> Claude account on this machine (\`very-happy account
|
|
228
|
+
list\`); 'machine' = the machine's own login.
|
|
229
|
+
Default = the machine's default account, if set. A
|
|
230
|
+
missing or expired account fails the spawn.
|
|
223
231
|
--fork <sessionId> Fork an existing session of THIS machine (same as the
|
|
224
232
|
web's fork): copies its conversation and continues
|
|
225
233
|
it in a new session, in the same directory and with
|
|
@@ -382,7 +390,8 @@ async function handleSpawnCommand(args) {
|
|
|
382
390
|
// through, an old wrapper ignores it).
|
|
383
391
|
environmentVariables: spawnEnvironmentVariables(options.env, prompt !== void 0),
|
|
384
392
|
...resumeIds,
|
|
385
|
-
...forkSource ? { parentSessionId: forkSource.parentSessionId } : {}
|
|
393
|
+
...forkSource ? { parentSessionId: forkSource.parentSessionId } : {},
|
|
394
|
+
...options.account ? { agentProfileId: options.account === "machine" ? null : options.account } : {}
|
|
386
395
|
});
|
|
387
396
|
if (result?.error || !result?.success || !result?.sessionId) {
|
|
388
397
|
const message = result?.error || "Daemon returned no session ID";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-BzAYnYct.cjs');
|
|
4
4
|
|
|
5
5
|
function chooseProject(opts) {
|
|
6
6
|
if (opts.project) return { kind: "explicit", projectId: opts.project };
|
|
@@ -58,12 +58,18 @@ function resolveFirstMessageMeta(input) {
|
|
|
58
58
|
}).model;
|
|
59
59
|
if (resolved) meta.model = resolved;
|
|
60
60
|
else if (key === "claude" || input.explicitModel !== void 0) meta.model = null;
|
|
61
|
+
meta.modelIntent = index.LATEST_MODEL_MODE;
|
|
61
62
|
} else if (input.explicitModel !== void 0) {
|
|
62
63
|
meta.model = input.explicitModel === "default" ? null : input.explicitModel;
|
|
64
|
+
meta.modelIntent = input.explicitModel;
|
|
63
65
|
} else if (key === "claude") {
|
|
64
66
|
meta.model = wanted === "default" ? null : wanted;
|
|
67
|
+
meta.modelIntent = wanted;
|
|
68
|
+
}
|
|
69
|
+
if (key === "claude") {
|
|
70
|
+
meta.effort = null;
|
|
71
|
+
meta.effortIntent = index.EFFORT_INTENT_AUTO;
|
|
65
72
|
}
|
|
66
|
-
if (key === "claude") meta.effort = null;
|
|
67
73
|
return meta;
|
|
68
74
|
}
|
|
69
75
|
function waitsForModelCatalog(agent, explicitModel) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { I as getAgentCodeDefaults, J as isLatestModelMode, K as resolveLatestModel, L as LATEST_MODEL_MODE, M as EFFORT_INTENT_AUTO, N as normalizeAgentKey } from './index-DYD3GM1m.mjs';
|
|
2
2
|
|
|
3
3
|
function chooseProject(opts) {
|
|
4
4
|
if (opts.project) return { kind: "explicit", projectId: opts.project };
|
|
@@ -56,12 +56,18 @@ function resolveFirstMessageMeta(input) {
|
|
|
56
56
|
}).model;
|
|
57
57
|
if (resolved) meta.model = resolved;
|
|
58
58
|
else if (key === "claude" || input.explicitModel !== void 0) meta.model = null;
|
|
59
|
+
meta.modelIntent = LATEST_MODEL_MODE;
|
|
59
60
|
} else if (input.explicitModel !== void 0) {
|
|
60
61
|
meta.model = input.explicitModel === "default" ? null : input.explicitModel;
|
|
62
|
+
meta.modelIntent = input.explicitModel;
|
|
61
63
|
} else if (key === "claude") {
|
|
62
64
|
meta.model = wanted === "default" ? null : wanted;
|
|
65
|
+
meta.modelIntent = wanted;
|
|
66
|
+
}
|
|
67
|
+
if (key === "claude") {
|
|
68
|
+
meta.effort = null;
|
|
69
|
+
meta.effortIntent = EFFORT_INTENT_AUTO;
|
|
63
70
|
}
|
|
64
|
-
if (key === "claude") meta.effort = null;
|
|
65
71
|
return meta;
|
|
66
72
|
}
|
|
67
73
|
function waitsForModelCatalog(agent, explicitModel) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { spawn } from 'cross-spawn';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
4
|
-
import { l as logger } from './logger-
|
|
4
|
+
import { l as logger } from './logger-Fd_rNvgd.mjs';
|
|
5
5
|
import { existsSync } from 'node:fs';
|
|
6
6
|
|
|
7
7
|
let cachedRuntime = null;
|