very-happy-cli 0.2.192 → 0.2.194
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-CGHTDJd9.mjs → AcpBackend-C3Kx0QJb.mjs} +3 -3
- package/dist/{AcpBackend-BQO4ShOy.cjs → AcpBackend-DJzsue14.cjs} +3 -3
- package/dist/{AcpSessionManager-LlUMmcpB.cjs → AcpSessionManager-Bc3iafB1.cjs} +2 -2
- package/dist/{AcpSessionManager-G0xD6Jbq.mjs → AcpSessionManager-SteuoqMY.mjs} +2 -2
- package/dist/{BasePermissionHandler-BmTIg376.mjs → BasePermissionHandler-D2pNcAXn.mjs} +1 -1
- package/dist/{BasePermissionHandler-N6Ip3tFt.cjs → BasePermissionHandler-DKzNFVCh.cjs} +1 -1
- package/dist/{account-DtaouikP.cjs → account-ByVjlvFj.cjs} +84 -27
- package/dist/{account-CCVT-HO_.mjs → account-DC2YyU24.mjs} +84 -27
- package/dist/{accountService-Dd9uqde2.mjs → accountService-Cd7bnkfd.mjs} +369 -19
- package/dist/{accountService-Bddy0zwL.cjs → accountService-CuUSJDhP.cjs} +369 -19
- package/dist/{acpSessionResume-BWEUxNtC.mjs → acpSessionResume-B6VClxKQ.mjs} +1 -1
- package/dist/{acpSessionResume-BnHDk5eD.cjs → acpSessionResume-DHHgbNnk.cjs} +1 -1
- package/dist/{agentHome-B0VnjkZW.mjs → agentHome-9caXwo7k.mjs} +4 -4
- package/dist/{agentHome-CqQ29YY7.cjs → agentHome-Bov1aHYS.cjs} +4 -4
- package/dist/{api-_LeBScjg.mjs → api-aE60mNjs.mjs} +10 -10
- package/dist/{api-hMDsC6Wg.cjs → api-wYwQCJml.cjs} +10 -10
- package/dist/{apiMachine-CgRldeJ6.mjs → apiMachine-CvNB38Xg.mjs} +36 -19
- package/dist/{apiMachine-CqW2m6Zr.cjs → apiMachine-DwaqfM9Q.cjs} +36 -19
- package/dist/{attachmentContent-CyptLIfq.mjs → attachmentContent-C2ymY_-w.mjs} +2 -2
- package/dist/{attachmentContent-BEeT2J5n.cjs → attachmentContent-DB8ZsxGE.cjs} +2 -2
- package/dist/{auth-CFQikywl.mjs → auth-BYtmGgE1.mjs} +8 -8
- package/dist/{auth-CA1OClsW.cjs → auth-Bce0Zk3q.cjs} +8 -8
- package/dist/{auth-DL8_J9vu.mjs → auth-CWO6cQ4G.mjs} +5 -5
- package/dist/{auth-C9NvNHhL.cjs → auth-boIcb7iq.cjs} +5 -5
- package/dist/{auto-uQOxlxLp.cjs → auto-AaggdihK.cjs} +24 -22
- package/dist/{auto-CKI05w1D.mjs → auto-B-kopWQx.mjs} +24 -22
- package/dist/{bootstrap-DaZ0Np7X.mjs → bootstrap-CiWwfHB2.mjs} +2 -2
- package/dist/{bootstrap-DsZGc69k.cjs → bootstrap-kywZ0tvD.cjs} +2 -2
- package/dist/{browser-BUIaSHK2.mjs → browser-CFfZM3yg.mjs} +1 -1
- package/dist/{browser-Ft0ASDm7.cjs → browser-Do2MFdq6.cjs} +1 -1
- package/dist/{claudeAccountEnv-ON24i0qv.mjs → claudeAccountEnv-BL1pR_37.mjs} +2 -1
- package/dist/{claudeAccountEnv-BOBpJ3k8.cjs → claudeAccountEnv-CEX_EMZr.cjs} +2 -1
- package/dist/{claudeLocal-B1ZVtryl.mjs → claudeLocal-B47NjZfB.mjs} +5 -5
- package/dist/{claudeLocal-BMf9t4Fa.cjs → claudeLocal-DLd8ogcH.cjs} +5 -5
- package/dist/{claudeLocalLauncher-Bp8bqF4y.mjs → claudeLocalLauncher-5DDuHpCD.mjs} +10 -10
- package/dist/{claudeLocalLauncher-C8TeJcfF.cjs → claudeLocalLauncher-D_UTQ4o_.cjs} +10 -10
- package/dist/{claudeSessionFork-YiktY55n.cjs → claudeSessionFork-4g6-Sk3Q.cjs} +104 -38
- package/dist/{claudeSessionFork-8AA47z8Y.mjs → claudeSessionFork-BrJTncNL.mjs} +105 -40
- package/dist/{client-Crh8_cNx.cjs → client-BIg2LPVx.cjs} +2 -2
- package/dist/{client-CFHZfh9x.cjs → client-BfDga3xi.cjs} +4 -4
- package/dist/{client-Bm4oKvW7.mjs → client-Cbxr9VUE.mjs} +4 -2
- package/dist/{client-D8XROyZc.cjs → client-CsfPUxLy.cjs} +4 -2
- package/dist/{client-BmPaBnDK.mjs → client-DS5JEsHs.mjs} +4 -4
- package/dist/{client-Cxlp_D4I.mjs → client-OjYRPhZs.mjs} +2 -2
- package/dist/codex/happyMcpStdioBridge.cjs +16 -16
- package/dist/codex/happyMcpStdioBridge.mjs +16 -16
- package/dist/codexAccount-BDQjRbtI.cjs +1028 -0
- package/dist/codexAccount-NOX5pmQf.mjs +1015 -0
- package/dist/{codexAppServerClient-q8GHQhyC.cjs → codexAppServerClient-Bj5vN7sb.cjs} +18 -7
- package/dist/{codexAppServerClient-BWJbLCQn.mjs → codexAppServerClient-HKAm8f_D.mjs} +18 -7
- package/dist/{codexCommand-BfXfRQr4.mjs → codexCommand-655pR6CR.mjs} +188 -58
- package/dist/{codexCommand-BgpGg-Zy.cjs → codexCommand-DtbDjHZp.cjs} +187 -57
- package/dist/{codexTermination-CVUF0X75.cjs → codexTermination-CX_FHKT5.cjs} +1 -1
- package/dist/{codexTermination-s9fd1gkA.mjs → codexTermination-DxLR-bb5.mjs} +1 -1
- package/dist/{codexThreadFork-5kwoKjMu.cjs → codexThreadFork-C6ZmcT2z.cjs} +22 -1
- package/dist/{codexThreadFork-DobPd19R.mjs → codexThreadFork-CVzAqELg.mjs} +22 -2
- package/dist/{config-BF8XgLyc.mjs → config-CIvXVGlP.mjs} +3 -3
- package/dist/{config-BAjyTyYp.cjs → config-Cv-A-Bw0.cjs} +3 -3
- package/dist/{configuration-CXEVKAyF.cjs → configuration-2Pbg3a0H.cjs} +1 -1
- package/dist/{configuration-IhRiLDVe.mjs → configuration-rTcdHkhE.mjs} +1 -1
- package/dist/{connect-LZh1gr08.mjs → connect-B9Bl68PF.mjs} +13 -13
- package/dist/{connect-rCS56arw.cjs → connect-BAYNAE8A.cjs} +13 -13
- package/dist/{context-DO6F5YwH.mjs → context-C7QarZMk.mjs} +1 -1
- package/dist/{context-3_S_mWz9.cjs → context-CLTyu_tQ.cjs} +1 -1
- package/dist/{controlClient-8ILulwjc.mjs → controlClient-BIdGnYBo.mjs} +3 -3
- package/dist/{controlClient-j7p5p3_7.cjs → controlClient-CIqHL07h.cjs} +3 -3
- package/dist/{createSessionMetadata-DwdD_uVo.cjs → createSessionMetadata-BHjzRzPc.cjs} +2 -2
- package/dist/{createSessionMetadata-oyaTZm1b.mjs → createSessionMetadata-PrN-dT7K.mjs} +2 -2
- package/dist/{daemonAccounts-BCjDgoNt.cjs → daemonAccounts-CpGDY_4k.cjs} +4 -1
- package/dist/{daemonAccounts-BJgt6IJe.mjs → daemonAccounts-DwPwKxvv.mjs} +5 -2
- package/dist/{defaultPermissionMode-BFShzF55.cjs → defaultPermissionMode-BakXiqRr.cjs} +1 -1
- package/dist/{defaultPermissionMode-Lt3PUCwY.mjs → defaultPermissionMode-DF5AfeBb.mjs} +1 -1
- package/dist/{deterministicJson-Dfp-7wUZ.mjs → deterministicJson-DFwJ57jR.mjs} +13 -13
- package/dist/{deterministicJson-DUN0v3St.cjs → deterministicJson-ZBFn1jtS.cjs} +13 -13
- package/dist/{doctor-B_UwMcVT.mjs → doctor-CFYpAXvt.mjs} +7 -7
- package/dist/{doctor-FgUYTbAT.cjs → doctor-yyM-zii7.cjs} +7 -7
- package/dist/{downloadTarget-C0d6jRx-.mjs → downloadTarget-CVPBZMnY.mjs} +6 -6
- package/dist/{downloadTarget-BrrQEDxg.cjs → downloadTarget-DlmqPQp9.cjs} +6 -6
- package/dist/{ensureDaemonRunning-KUMFfIil.mjs → ensureDaemonRunning-B6Y-CMWe.mjs} +5 -5
- package/dist/{ensureDaemonRunning-Cq4FYI5Q.cjs → ensureDaemonRunning-D2ny0yon.cjs} +5 -5
- package/dist/{handleResumeCommand-Cl9GIL5F.cjs → handleResumeCommand-D-mGugcu.cjs} +5 -5
- package/dist/{handleResumeCommand-BGhVo3QH.mjs → handleResumeCommand-DlrDcV5B.mjs} +5 -5
- package/dist/{index-CQ_hLLCj.cjs → index-2Fcq3AGX.cjs} +3 -3
- package/dist/{index-CRipkiqo.cjs → index-5c33fqLQ.cjs} +4 -4
- package/dist/{index-JQDyJ3Li.mjs → index-BJsenPFp.mjs} +3 -3
- package/dist/{index-BzAYnYct.cjs → index-BUFrKZeQ.cjs} +198 -108
- package/dist/{index-D8ODb0_U.cjs → index-BWvmUCQF.cjs} +42 -42
- package/dist/{index-v5EmjT8l.mjs → index-Bi3dVJ0S.mjs} +4 -4
- package/dist/{index-CZaLMmPC.cjs → index-CPkSLWP_.cjs} +4 -4
- package/dist/{index-DYD3GM1m.mjs → index-D1YnIih6.mjs} +195 -109
- package/dist/{index-BjXjMhGY.mjs → index-DEN6vfEY.mjs} +4 -4
- package/dist/{index-Ca1Tt96A.mjs → index-DuDD9khO.mjs} +43 -43
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-ClUA9tbC.cjs → install-BOA4nEbm.cjs} +3 -3
- package/dist/{install-D6EHRtAN.mjs → install-BVYL-wSO.mjs} +3 -3
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +97 -25
- package/dist/lib.d.mts +97 -25
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-DqoN7zH4.cjs → lidState-DYeb7Wud.cjs} +1 -1
- package/dist/{lidState-CZOXXdzv.mjs → lidState-zy20u7T3.mjs} +1 -1
- package/dist/{localHappyAgentAuth-YHxDZ4x4.mjs → localHappyAgentAuth-CBsX08VJ.mjs} +1 -1
- package/dist/{localHappyAgentAuth-BnGCpHRX.cjs → localHappyAgentAuth-CScN2McN.cjs} +1 -1
- package/dist/{logger-8su64lqR.cjs → logger-CepF8C5Z.cjs} +2 -2
- package/dist/{logger-Fd_rNvgd.mjs → logger-SGCwRIV5.mjs} +2 -2
- package/dist/{machineMetadata-1HIIC7Bc.mjs → machineMetadata-ClJfd7ay.mjs} +3 -3
- package/dist/{machineMetadata-DYXt3p6u.cjs → machineMetadata-ObK4hjF0.cjs} +3 -3
- package/dist/{main-BI6GIzUL.mjs → main-C7ZcZVBY.mjs} +47 -47
- package/dist/{main-C_GrcYkn.cjs → main-mhXOpUV7.cjs} +47 -47
- package/dist/{mcp-XGoxywno.mjs → mcp-BuCpkYTY.mjs} +18 -18
- package/dist/{mcp-BycIv9oQ.cjs → mcp-Zz7m0j8A.cjs} +18 -18
- package/dist/{mirrorProtocol-DXT3rv7T.mjs → mirrorProtocol-B0H9UTBM.mjs} +3 -3
- package/dist/{mirrorProtocol-DVnB8EO8.cjs → mirrorProtocol-IhICxf0K.cjs} +3 -3
- package/dist/{package-iuLlSiSF.cjs → package-C7WgesIw.cjs} +7 -7
- package/dist/{package-6KkRAops.mjs → package-Q_ELj5DL.mjs} +7 -7
- package/dist/{panels-B5Di2zb2.mjs → panels-Cm69UXgE.mjs} +5 -5
- package/dist/{panels-0C89q0Tu.cjs → panels-yyxpwZnk.cjs} +5 -5
- package/dist/{peerTools-CANTX_mG.cjs → peerTools-BcZAbqBL.cjs} +5 -5
- package/dist/{peerTools-CKJ-IDM4.mjs → peerTools-DUg9RduG.mjs} +5 -5
- package/dist/{persistence-B4ttN-fR.cjs → persistence-D0gNvqXe.cjs} +2 -2
- package/dist/{persistence-DWcHe035.mjs → persistence-mr4Y484W.mjs} +2 -2
- package/dist/{piRunnerArgs-Bl5GpBoN.mjs → piRunnerArgs-CGjpl4iF.mjs} +1 -1
- package/dist/{piRunnerArgs-BOkfxyak.cjs → piRunnerArgs-DK_DDkYW.cjs} +1 -1
- package/dist/{piRuntime-DzrIiZU8.cjs → piRuntime-CtZRNOEb.cjs} +1 -1
- package/dist/{piRuntime-BhwxzdQf.mjs → piRuntime-HUA19wG8.mjs} +1 -1
- package/dist/{piTerminal-DnA2CbGr.mjs → piTerminal-Bgy1W9mA.mjs} +20 -20
- package/dist/{piTerminal-BdS7ol7v.cjs → piTerminal-D9OPouek.cjs} +20 -20
- package/dist/{pushNotifications-BqFoLye2.cjs → pushNotifications-CH0XVPQe.cjs} +3 -3
- package/dist/{pushNotifications-DkQ0yvFs.mjs → pushNotifications-DjEl8G0a.mjs} +3 -3
- package/dist/{query-BQ4br3yn.cjs → query-Df3WhSA0.cjs} +1 -1
- package/dist/{query-BRJYSkb1.mjs → query-DmIo5OXf.mjs} +1 -1
- package/dist/{rateLimitReporter-BRbYkmuP.mjs → rateLimitReporter-B_PZClib.mjs} +3 -3
- package/dist/{rateLimitReporter-DK5SQuCc.cjs → rateLimitReporter-M_IKRRS7.cjs} +3 -3
- package/dist/{rateLimitWindows-DBfiuYeg.cjs → rateLimitWindows-B9PERFm1.cjs} +1 -1
- package/dist/{rateLimitWindows-Da5AR-4u.mjs → rateLimitWindows-a2yE3kCv.mjs} +1 -1
- package/dist/{registerCommonHandlers-yQ7Ru-l0.mjs → registerCommonHandlers-CND00Dpj.mjs} +2 -2
- package/dist/{registerCommonHandlers-m6pxxf2J.cjs → registerCommonHandlers-D4uXC0he.cjs} +2 -2
- package/dist/{registerKillSessionHandler-BDNpi7YO.mjs → registerKillSessionHandler-CwyHwm_n.mjs} +6 -6
- package/dist/{registerKillSessionHandler-BAOIa_Fs.cjs → registerKillSessionHandler-DQKsD9CW.cjs} +6 -6
- package/dist/{remoteSessionClient-iJMXRN_D.cjs → remoteSessionClient-DOWgca08.cjs} +5 -5
- package/dist/{remoteSessionClient-CZ7aaNgj.mjs → remoteSessionClient-mIr_9OL_.mjs} +5 -5
- package/dist/{reportProgressTool-DpFs7pSe.cjs → reportProgressTool-BLw2_Ohi.cjs} +3 -3
- package/dist/{reportProgressTool-DfQhPu0s.mjs → reportProgressTool-DTKlUlHv.mjs} +3 -3
- package/dist/{run-p-xp1_HY.cjs → run-1V6DLzTY.cjs} +178 -847
- package/dist/{run-CwN28mcj.mjs → run-bfxXYL5N.mjs} +176 -845
- package/dist/{runClaude-DRKtAGTm.mjs → runClaude-BgvDhl2p.mjs} +25 -25
- package/dist/{runClaude-D6U1Z575.cjs → runClaude-DuFgZZwO.cjs} +25 -25
- package/dist/{runClaudeDeps-BheVcIlD.mjs → runClaudeDeps-CX7GtH7O.mjs} +46 -46
- package/dist/{runClaudeDeps-Dkofokgb.cjs → runClaudeDeps-DeVinBmE.cjs} +41 -41
- package/dist/{runGemini-owbvhFbi.mjs → runGemini-Cd27u-7R.mjs} +33 -33
- package/dist/{runGemini-C8q3YCc0.cjs → runGemini-DiYSk3s1.cjs} +33 -33
- package/dist/{runOpenClaw-Dky3-mjO.mjs → runOpenClaw-CWkkfRSo.mjs} +18 -18
- package/dist/{runOpenClaw-DGeN66-t.cjs → runOpenClaw-DyQnBzpy.cjs} +18 -18
- package/dist/{sandbox-D2CPyoCA.cjs → sandbox-BAXXYewR.cjs} +4 -4
- package/dist/{sandbox-sq_wy9Gl.mjs → sandbox-C35zDrkc.mjs} +4 -4
- package/dist/selfCheck-DKMF0Dyu.mjs +88 -0
- package/dist/{selfCheck-BgLvQKSt.cjs → selfCheck-R71q-x7u.cjs} +39 -39
- package/dist/{send-Cd10YhXh.cjs → send-3Wa9th3D.cjs} +8 -8
- package/dist/{send-K9vg-8t-.mjs → send-DiSaR5Bk.mjs} +8 -8
- package/dist/{server-DRrV64r0.cjs → server-BJu2bFBy.cjs} +6 -6
- package/dist/{server-De4W1zuK.mjs → server-BxMJxaE6.mjs} +4 -4
- package/dist/{sessionLock-BDtSzzKS.cjs → sessionLock-BJ1ngLgm.cjs} +3 -3
- package/dist/{sessionLock-Dl6i7IgA.mjs → sessionLock-dbi4JPhP.mjs} +3 -3
- package/dist/{sessionOps-DvnEH4PL.cjs → sessionOps-BUlpeaUe.cjs} +50 -8
- package/dist/{sessionOps-gU88-W9F.mjs → sessionOps-C9wRmCBg.mjs} +51 -9
- package/dist/{sessionProvider-CKcIo7KO.mjs → sessionProvider-BEHfI5gs.mjs} +11 -9
- package/dist/{sessionProvider-CbSZeZrl.cjs → sessionProvider-DYD6JepE.cjs} +11 -9
- package/dist/{sessionScanner-7RtcCeyD.cjs → sessionScanner-BwbjEoSf.cjs} +3 -3
- package/dist/{sessionScanner-DR32uSby.mjs → sessionScanner-CFITViIZ.mjs} +3 -3
- package/dist/{sessions-BvuMjgvJ.cjs → sessions-C-wBd0fN.cjs} +10 -10
- package/dist/{sessions-DTt2Eguk.mjs → sessions-wOcO2X-k.mjs} +10 -10
- package/dist/{setupOfflineReconnection-DduOsw6p.cjs → setupOfflineReconnection-Bd6XsWhA.cjs} +2 -2
- package/dist/{setupOfflineReconnection-BGnvhRfb.mjs → setupOfflineReconnection-BrljmbqX.mjs} +2 -2
- package/dist/{spawn-CL3cUc7b.mjs → spawn-BPioepNz.mjs} +66 -22
- package/dist/{spawn-DMB6rRPA.cjs → spawn-Crprnq9Z.cjs} +66 -22
- package/dist/{spawnAgents-CClb7buD.cjs → spawnAgents-B9olJ8xn.cjs} +1 -1
- package/dist/{spawnAgents-CRMfOJhh.mjs → spawnAgents-I29H9nO8.mjs} +1 -1
- package/dist/{spawnHappyCLI-Cj_6IICe.mjs → spawnHappyCLI-BA1bTIiO.mjs} +1 -1
- package/dist/{spawnHappyCLI-DJdhX_Qx.cjs → spawnHappyCLI-C0XAWy8V.cjs} +1 -1
- package/dist/{startFileWatcher-DikVa8kg.mjs → startFileWatcher-COCEjNT8.mjs} +1 -1
- package/dist/{startFileWatcher-LnOmVW6H.cjs → startFileWatcher-Ca5izs24.cjs} +1 -1
- package/dist/{startupSessionCreate-CDdaLaMq.mjs → startupSessionCreate-BnEPBxsJ.mjs} +3 -3
- package/dist/{startupSessionCreate-B3ND-917.cjs → startupSessionCreate-Cmg1gkKS.cjs} +3 -3
- package/dist/{store-DV__wCvP.cjs → store-CkNa6oj4.cjs} +46 -9
- package/dist/{store--XN-7MS0.mjs → store-Vej_738f.mjs} +46 -10
- package/dist/{streamRelay-DFdOaLOn.cjs → streamRelay-C0G1HOOd.cjs} +1 -1
- package/dist/{streamRelay-sABnxEXq.mjs → streamRelay-C5U-C4GS.mjs} +1 -1
- package/dist/{sync-_2lsZ1U2.cjs → sync-BfrnSdL1.cjs} +1 -1
- package/dist/{sync-JoEZKRo8.mjs → sync-DVcNkv8e.mjs} +1 -1
- package/dist/{systemPrompt-Zq4HyrZ5.mjs → systemPrompt-BxZebU75.mjs} +2 -2
- package/dist/{systemPrompt-CJEvNCuW.cjs → systemPrompt-Os5ca7pu.cjs} +2 -2
- package/dist/{teams-BNZafnrT.cjs → teams--pv0QFMA.cjs} +7 -7
- package/dist/{teams-qz4LqKJ2.mjs → teams-CNB3DE_n.mjs} +7 -7
- package/dist/{template-LgvBbOna.cjs → template-B9pLEP8v.cjs} +2 -2
- package/dist/{template-CJ8BWSsc.mjs → template-CL9EvQLQ.mjs} +2 -2
- package/dist/{time-bzmet4s5.mjs → time-0Ru4clBD.mjs} +1 -1
- package/dist/{time-CaUlWSNJ.cjs → time-Da5GIiCa.cjs} +1 -1
- package/dist/{titleGenerator-BuIIu_JP.cjs → titleGenerator-9xIXHA5K.cjs} +3 -3
- package/dist/{titleGenerator-CbTtJ_1D.mjs → titleGenerator-CaCzpYyA.mjs} +2 -2
- package/dist/{todo-DIrVF_Ak.mjs → todo-CZXHl2Lg.mjs} +6 -6
- package/dist/{todo-CQ_BTf9C.cjs → todo-DUY_J3l_.cjs} +6 -6
- package/dist/{tools-cLOjBvPn.mjs → tools-DqA2Jt2R.mjs} +3 -2
- package/dist/{tools-BnmmFZji.cjs → tools-hPD2Hvei.cjs} +3 -2
- package/dist/{uninstall-C5OuW6dE.mjs → uninstall-CjMzELYw.mjs} +3 -3
- package/dist/{uninstall-uEEGKB84.cjs → uninstall-rTvdpRLt.cjs} +3 -3
- package/dist/{wrapperAccount-DXlD3bsO.mjs → wrapperAccount-BkufO_9g.mjs} +5 -4
- package/dist/{wrapperAccount-DzoGqS2b.cjs → wrapperAccount-D2A4DuZy.cjs} +6 -3
- package/package.json +7 -7
- package/dist/selfCheck-vkfrgQ7X.mjs +0 -88
package/dist/lib.d.cts
CHANGED
|
@@ -199,25 +199,6 @@ declare const sessionStreamFrameSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
199
199
|
t: z.ZodLiteral<"turn-end">;
|
|
200
200
|
}, z.core.$strip>], "t">;
|
|
201
201
|
type SessionStreamFrame = z.infer<typeof sessionStreamFrameSchema>;
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* Runtime context occupancy, never cumulative billing. null after compaction is unknown.
|
|
205
|
-
*
|
|
206
|
-
* B-727 (specs/2026-10-pi-context-usage.md): `contextWindow` stays required so
|
|
207
|
-
* older webs keep rendering; `windowSource` says whether it may be used as a
|
|
208
|
-
* denominator. Free strings + read whitelist (iron rule 14): an unknown value
|
|
209
|
-
* must not make the whole agentState fail to parse.
|
|
210
|
-
*/
|
|
211
|
-
declare const ContextUsageSchema: z$1.ZodObject<{
|
|
212
|
-
source: z$1.ZodLiteral<"pi">;
|
|
213
|
-
tokens: z$1.ZodNullable<z$1.ZodNumber>;
|
|
214
|
-
contextWindow: z$1.ZodNumber;
|
|
215
|
-
updatedAt: z$1.ZodNumber;
|
|
216
|
-
windowSource: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
217
|
-
model: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
218
|
-
compactedAt: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
|
|
219
|
-
}, z$1.core.$strip>;
|
|
220
|
-
type ContextUsage = z$1.infer<typeof ContextUsageSchema>;
|
|
221
202
|
declare const AgentProfileSummarySchema: z$1.ZodObject<{
|
|
222
203
|
id: z$1.ZodString;
|
|
223
204
|
label: z$1.ZodString;
|
|
@@ -233,6 +214,9 @@ declare const AgentProfileSummarySchema: z$1.ZodObject<{
|
|
|
233
214
|
keySource: z$1.ZodOptional<z$1.ZodString>;
|
|
234
215
|
keyRef: z$1.ZodOptional<z$1.ZodString>;
|
|
235
216
|
legacy: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
217
|
+
provider: z$1.ZodOptional<z$1.ZodString>;
|
|
218
|
+
email: z$1.ZodOptional<z$1.ZodString>;
|
|
219
|
+
planType: z$1.ZodOptional<z$1.ZodString>;
|
|
236
220
|
}, z$1.core.$strip>;
|
|
237
221
|
type AgentProfileSummary = z$1.infer<typeof AgentProfileSummarySchema>;
|
|
238
222
|
/** `daemonState.agentProfiles` — also the result of `agent-profile-list`. */
|
|
@@ -254,8 +238,19 @@ declare const AgentProfilesStateSchema: z$1.ZodObject<{
|
|
|
254
238
|
keySource: z$1.ZodOptional<z$1.ZodString>;
|
|
255
239
|
keyRef: z$1.ZodOptional<z$1.ZodString>;
|
|
256
240
|
legacy: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
241
|
+
provider: z$1.ZodOptional<z$1.ZodString>;
|
|
242
|
+
email: z$1.ZodOptional<z$1.ZodString>;
|
|
243
|
+
planType: z$1.ZodOptional<z$1.ZodString>;
|
|
257
244
|
}, z$1.core.$strip>>;
|
|
258
245
|
defaults: z$1.ZodRecord<z$1.ZodString, z$1.ZodString>;
|
|
246
|
+
kinds: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
247
|
+
codexProviders: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
|
|
248
|
+
id: z$1.ZodString;
|
|
249
|
+
name: z$1.ZodOptional<z$1.ZodString>;
|
|
250
|
+
baseUrl: z$1.ZodOptional<z$1.ZodString>;
|
|
251
|
+
envKey: z$1.ZodOptional<z$1.ZodString>;
|
|
252
|
+
}, z$1.core.$strip>>>;
|
|
253
|
+
features: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
259
254
|
}, z$1.core.$strip>;
|
|
260
255
|
type AgentProfilesState = z$1.infer<typeof AgentProfilesStateSchema>;
|
|
261
256
|
/**
|
|
@@ -277,12 +272,16 @@ declare const SessionAgentProfileSchema: z$1.ZodObject<{
|
|
|
277
272
|
}, z$1.core.$strip>;
|
|
278
273
|
type SessionAgentProfile = z$1.infer<typeof SessionAgentProfileSchema>;
|
|
279
274
|
/**
|
|
280
|
-
* waiting-code → (submit) → exchanging → succeeded | failed.
|
|
281
|
-
*
|
|
275
|
+
* paste-code (Claude): waiting-code → (submit) → exchanging → succeeded | failed.
|
|
276
|
+
* device-code (Codex): waiting-code (the user enters `userCode` at `url`; nothing
|
|
277
|
+
* to submit) → succeeded | failed.
|
|
278
|
+
* canceled / expired (Claude 10 min without a code, Codex 15 min) are terminal too.
|
|
282
279
|
*/
|
|
283
280
|
declare const AgentProfileLoginStatusSchema: z$1.ZodObject<{
|
|
284
281
|
loginId: z$1.ZodString;
|
|
285
282
|
state: z$1.ZodString;
|
|
283
|
+
flow: z$1.ZodOptional<z$1.ZodString>;
|
|
284
|
+
userCode: z$1.ZodOptional<z$1.ZodString>;
|
|
286
285
|
url: z$1.ZodOptional<z$1.ZodString>;
|
|
287
286
|
expiresAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
288
287
|
account: z$1.ZodOptional<z$1.ZodObject<{
|
|
@@ -300,6 +299,9 @@ declare const AgentProfileLoginStatusSchema: z$1.ZodObject<{
|
|
|
300
299
|
keySource: z$1.ZodOptional<z$1.ZodString>;
|
|
301
300
|
keyRef: z$1.ZodOptional<z$1.ZodString>;
|
|
302
301
|
legacy: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
302
|
+
provider: z$1.ZodOptional<z$1.ZodString>;
|
|
303
|
+
email: z$1.ZodOptional<z$1.ZodString>;
|
|
304
|
+
planType: z$1.ZodOptional<z$1.ZodString>;
|
|
303
305
|
}, z$1.core.$strip>>;
|
|
304
306
|
error: z$1.ZodOptional<z$1.ZodString>;
|
|
305
307
|
}, z$1.core.$strip>;
|
|
@@ -326,6 +328,25 @@ type AgentProfileBindResult = {
|
|
|
326
328
|
error?: string;
|
|
327
329
|
};
|
|
328
330
|
|
|
331
|
+
/**
|
|
332
|
+
* Runtime context occupancy, never cumulative billing. null after compaction is unknown.
|
|
333
|
+
*
|
|
334
|
+
* B-727 (specs/2026-10-pi-context-usage.md): `contextWindow` stays required so
|
|
335
|
+
* older webs keep rendering; `windowSource` says whether it may be used as a
|
|
336
|
+
* denominator. Free strings + read whitelist (iron rule 14): an unknown value
|
|
337
|
+
* must not make the whole agentState fail to parse.
|
|
338
|
+
*/
|
|
339
|
+
declare const ContextUsageSchema: z$1.ZodObject<{
|
|
340
|
+
source: z$1.ZodLiteral<"pi">;
|
|
341
|
+
tokens: z$1.ZodNullable<z$1.ZodNumber>;
|
|
342
|
+
contextWindow: z$1.ZodNumber;
|
|
343
|
+
updatedAt: z$1.ZodNumber;
|
|
344
|
+
windowSource: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
345
|
+
model: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
346
|
+
compactedAt: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
|
|
347
|
+
}, z$1.core.$strip>;
|
|
348
|
+
type ContextUsage = z$1.infer<typeof ContextUsageSchema>;
|
|
349
|
+
|
|
329
350
|
declare const CLAUDE_AUTH_PROBE_VERSION: 1;
|
|
330
351
|
type ClaudeAuthStatus = 'ok' | 'not-logged-in' | 'unknown' | 'error' | 'claude-missing';
|
|
331
352
|
type ClaudeAuthDiagnosis = 'keychain-empty-item' | 'store-divergence' | 'no-credentials' | 'credentials-rejected' | 'sdk-binary-missing' | 'probe-timeout' | 'probe-crash';
|
|
@@ -721,8 +742,19 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
721
742
|
keySource: z$1.ZodOptional<z$1.ZodString>;
|
|
722
743
|
keyRef: z$1.ZodOptional<z$1.ZodString>;
|
|
723
744
|
legacy: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
745
|
+
provider: z$1.ZodOptional<z$1.ZodString>;
|
|
746
|
+
email: z$1.ZodOptional<z$1.ZodString>;
|
|
747
|
+
planType: z$1.ZodOptional<z$1.ZodString>;
|
|
724
748
|
}, z$1.core.$strip>>;
|
|
725
749
|
defaults: z$1.ZodRecord<z$1.ZodString, z$1.ZodString>;
|
|
750
|
+
kinds: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
751
|
+
codexProviders: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
|
|
752
|
+
id: z$1.ZodString;
|
|
753
|
+
name: z$1.ZodOptional<z$1.ZodString>;
|
|
754
|
+
baseUrl: z$1.ZodOptional<z$1.ZodString>;
|
|
755
|
+
envKey: z$1.ZodOptional<z$1.ZodString>;
|
|
756
|
+
}, z$1.core.$strip>>>;
|
|
757
|
+
features: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
726
758
|
}, z$1.core.$strip>>;
|
|
727
759
|
rateLimits: z$1.ZodOptional<z$1.ZodObject<{
|
|
728
760
|
v: z$1.ZodLiteral<1>;
|
|
@@ -2038,18 +2070,27 @@ type AccountCheck = {
|
|
|
2038
2070
|
at: number;
|
|
2039
2071
|
detail?: string;
|
|
2040
2072
|
};
|
|
2073
|
+
type AccountAgent = 'claude' | 'codex';
|
|
2074
|
+
type AccountKind = 'claude-subscription' | 'claude-api' | 'codex-chatgpt' | 'codex-provider';
|
|
2041
2075
|
type AccountRecord = {
|
|
2042
2076
|
label: string;
|
|
2043
|
-
agent:
|
|
2044
|
-
kind:
|
|
2077
|
+
agent: AccountAgent;
|
|
2078
|
+
kind: AccountKind;
|
|
2045
2079
|
createdAt: number;
|
|
2046
|
-
/** claude-api */
|
|
2080
|
+
/** claude-api, codex-provider (overrides the config.toml provider's base_url) */
|
|
2047
2081
|
baseUrl?: string;
|
|
2048
2082
|
models?: string[];
|
|
2049
2083
|
/** B-794b: model id → real context window. */
|
|
2050
2084
|
contextWindows?: Record<string, number>;
|
|
2051
|
-
/**
|
|
2085
|
+
/** API kinds: where the key lives. claude-subscription always uses the stored secret. */
|
|
2052
2086
|
key?: AccountKey;
|
|
2087
|
+
/** codex-provider: the `[model_providers.<id>]` of ~/.codex/config.toml it is based on. */
|
|
2088
|
+
provider?: string;
|
|
2089
|
+
/** codex-provider with an own baseUrl: Codex wire API (default responses). */
|
|
2090
|
+
wireApi?: 'responses' | 'chat';
|
|
2091
|
+
/** codex-chatgpt: from `account/read` after sign-in. */
|
|
2092
|
+
email?: string;
|
|
2093
|
+
planType?: string;
|
|
2053
2094
|
/** claude-subscription: setup-token expiry (1 year after login). */
|
|
2054
2095
|
expiresAt?: number;
|
|
2055
2096
|
check?: AccountCheck;
|
|
@@ -2057,6 +2098,14 @@ type AccountRecord = {
|
|
|
2057
2098
|
legacy?: true;
|
|
2058
2099
|
};
|
|
2059
2100
|
|
|
2101
|
+
type CodexRpc = {
|
|
2102
|
+
request: (method: string, params: unknown, timeoutMs?: number) => Promise<any>;
|
|
2103
|
+
onNotification: (cb: (method: string, params: any) => void) => void;
|
|
2104
|
+
onExit: (cb: (code: number | null) => void) => void;
|
|
2105
|
+
close: () => void;
|
|
2106
|
+
};
|
|
2107
|
+
type SpawnCodexRpc = (codexHome: string, env: Record<string, string>) => CodexRpc;
|
|
2108
|
+
|
|
2060
2109
|
/** `stillRunning`: the restart failed and the session's old wrapper is alive (on the old credential). */
|
|
2061
2110
|
type RestartOutcome = {
|
|
2062
2111
|
ok: true;
|
|
@@ -2072,9 +2121,13 @@ type AccountServiceDeps = {
|
|
|
2072
2121
|
now?: () => number;
|
|
2073
2122
|
daemonPid?: number;
|
|
2074
2123
|
spawnPty?: SpawnPty;
|
|
2124
|
+
/** B-850b: `codex app-server` for ChatGPT sign-in / checks (test seam). */
|
|
2125
|
+
spawnCodexRpc?: SpawnCodexRpc;
|
|
2075
2126
|
restartSession?: (sessionId: string) => Promise<RestartOutcome>;
|
|
2076
2127
|
/** Called after every write so the daemon can republish its state. */
|
|
2077
2128
|
onChanged?: () => void;
|
|
2129
|
+
/** B-850b: the agent a session runs (from its tracked flavor); unknown → no check. */
|
|
2130
|
+
sessionAgent?: (sessionId: string) => string | null | undefined;
|
|
2078
2131
|
/** Test seam for the 1-token checks. */
|
|
2079
2132
|
check?: (record: AccountRecord, secret: string) => Promise<AccountCheck>;
|
|
2080
2133
|
};
|
|
@@ -2084,6 +2137,7 @@ declare class AccountService {
|
|
|
2084
2137
|
private readonly env;
|
|
2085
2138
|
private readonly now;
|
|
2086
2139
|
private logins;
|
|
2140
|
+
private codexLogins;
|
|
2087
2141
|
/** loginId → account to (re)write when its token arrives. */
|
|
2088
2142
|
private readonly loginTargets;
|
|
2089
2143
|
constructor(deps: AccountServiceDeps);
|
|
@@ -2110,6 +2164,7 @@ declare class AccountService {
|
|
|
2110
2164
|
setDefault(agent: unknown, accountId: unknown): AgentProfilesState;
|
|
2111
2165
|
private readSecretFor;
|
|
2112
2166
|
test(accountId: unknown): Promise<AgentProfileSummary>;
|
|
2167
|
+
private checkCodexProvider;
|
|
2113
2168
|
private loginManager;
|
|
2114
2169
|
/** Also the terminal path (`very-happy account login`). */
|
|
2115
2170
|
storeSubscriptionToken(token: string, target: {
|
|
@@ -2117,14 +2172,31 @@ declare class AccountService {
|
|
|
2117
2172
|
label?: string;
|
|
2118
2173
|
}): AgentProfileSummary;
|
|
2119
2174
|
loginStart(params: unknown): Promise<AgentProfileLoginStatus>;
|
|
2175
|
+
private codexLoginManager;
|
|
2176
|
+
/** loginId → the account a Codex sign-in writes. */
|
|
2177
|
+
private readonly codexLoginTargets;
|
|
2178
|
+
private codexLoginStart;
|
|
2179
|
+
/** A finished ChatGPT sign-in → the account record (new) or its refreshed status (re-login). */
|
|
2180
|
+
storeChatgptAccount(target: {
|
|
2181
|
+
accountId: string;
|
|
2182
|
+
label?: string;
|
|
2183
|
+
isNew: boolean;
|
|
2184
|
+
}, info: {
|
|
2185
|
+
email?: string;
|
|
2186
|
+
planType?: string;
|
|
2187
|
+
}): AgentProfileSummary;
|
|
2120
2188
|
private loginOp;
|
|
2121
2189
|
loginSubmit(params: unknown): AgentProfileLoginStatus;
|
|
2122
2190
|
loginStatus(loginId: unknown): AgentProfileLoginStatus;
|
|
2123
2191
|
loginCancel(loginId: unknown): AgentProfileLoginStatus;
|
|
2124
2192
|
dispose(): void;
|
|
2193
|
+
/** B-850d2: waits until finished Codex sign-ins are cleaned up (their app-server gone, a canceled new account's overlay removed). */
|
|
2194
|
+
settleLogins(): Promise<void>;
|
|
2125
2195
|
/** Validates and writes a session binding (no restart). */
|
|
2126
2196
|
writeBinding(sessionId: string, accountId: string | null, model?: string): void;
|
|
2127
2197
|
bind(params: unknown): Promise<AgentProfileBindResult>;
|
|
2198
|
+
/** B-850d: the account a session is bound to (null = machine login, also when unbound). */
|
|
2199
|
+
sessionAccount(sessionId: string): string | null;
|
|
2128
2200
|
/**
|
|
2129
2201
|
* Spawn-time choice → the account a NEW session starts on.
|
|
2130
2202
|
* undefined → the machine default for this agent (none = machine login)
|
package/dist/lib.d.mts
CHANGED
|
@@ -199,25 +199,6 @@ declare const sessionStreamFrameSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
199
199
|
t: z.ZodLiteral<"turn-end">;
|
|
200
200
|
}, z.core.$strip>], "t">;
|
|
201
201
|
type SessionStreamFrame = z.infer<typeof sessionStreamFrameSchema>;
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* Runtime context occupancy, never cumulative billing. null after compaction is unknown.
|
|
205
|
-
*
|
|
206
|
-
* B-727 (specs/2026-10-pi-context-usage.md): `contextWindow` stays required so
|
|
207
|
-
* older webs keep rendering; `windowSource` says whether it may be used as a
|
|
208
|
-
* denominator. Free strings + read whitelist (iron rule 14): an unknown value
|
|
209
|
-
* must not make the whole agentState fail to parse.
|
|
210
|
-
*/
|
|
211
|
-
declare const ContextUsageSchema: z$1.ZodObject<{
|
|
212
|
-
source: z$1.ZodLiteral<"pi">;
|
|
213
|
-
tokens: z$1.ZodNullable<z$1.ZodNumber>;
|
|
214
|
-
contextWindow: z$1.ZodNumber;
|
|
215
|
-
updatedAt: z$1.ZodNumber;
|
|
216
|
-
windowSource: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
217
|
-
model: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
218
|
-
compactedAt: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
|
|
219
|
-
}, z$1.core.$strip>;
|
|
220
|
-
type ContextUsage = z$1.infer<typeof ContextUsageSchema>;
|
|
221
202
|
declare const AgentProfileSummarySchema: z$1.ZodObject<{
|
|
222
203
|
id: z$1.ZodString;
|
|
223
204
|
label: z$1.ZodString;
|
|
@@ -233,6 +214,9 @@ declare const AgentProfileSummarySchema: z$1.ZodObject<{
|
|
|
233
214
|
keySource: z$1.ZodOptional<z$1.ZodString>;
|
|
234
215
|
keyRef: z$1.ZodOptional<z$1.ZodString>;
|
|
235
216
|
legacy: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
217
|
+
provider: z$1.ZodOptional<z$1.ZodString>;
|
|
218
|
+
email: z$1.ZodOptional<z$1.ZodString>;
|
|
219
|
+
planType: z$1.ZodOptional<z$1.ZodString>;
|
|
236
220
|
}, z$1.core.$strip>;
|
|
237
221
|
type AgentProfileSummary = z$1.infer<typeof AgentProfileSummarySchema>;
|
|
238
222
|
/** `daemonState.agentProfiles` — also the result of `agent-profile-list`. */
|
|
@@ -254,8 +238,19 @@ declare const AgentProfilesStateSchema: z$1.ZodObject<{
|
|
|
254
238
|
keySource: z$1.ZodOptional<z$1.ZodString>;
|
|
255
239
|
keyRef: z$1.ZodOptional<z$1.ZodString>;
|
|
256
240
|
legacy: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
241
|
+
provider: z$1.ZodOptional<z$1.ZodString>;
|
|
242
|
+
email: z$1.ZodOptional<z$1.ZodString>;
|
|
243
|
+
planType: z$1.ZodOptional<z$1.ZodString>;
|
|
257
244
|
}, z$1.core.$strip>>;
|
|
258
245
|
defaults: z$1.ZodRecord<z$1.ZodString, z$1.ZodString>;
|
|
246
|
+
kinds: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
247
|
+
codexProviders: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
|
|
248
|
+
id: z$1.ZodString;
|
|
249
|
+
name: z$1.ZodOptional<z$1.ZodString>;
|
|
250
|
+
baseUrl: z$1.ZodOptional<z$1.ZodString>;
|
|
251
|
+
envKey: z$1.ZodOptional<z$1.ZodString>;
|
|
252
|
+
}, z$1.core.$strip>>>;
|
|
253
|
+
features: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
259
254
|
}, z$1.core.$strip>;
|
|
260
255
|
type AgentProfilesState = z$1.infer<typeof AgentProfilesStateSchema>;
|
|
261
256
|
/**
|
|
@@ -277,12 +272,16 @@ declare const SessionAgentProfileSchema: z$1.ZodObject<{
|
|
|
277
272
|
}, z$1.core.$strip>;
|
|
278
273
|
type SessionAgentProfile = z$1.infer<typeof SessionAgentProfileSchema>;
|
|
279
274
|
/**
|
|
280
|
-
* waiting-code → (submit) → exchanging → succeeded | failed.
|
|
281
|
-
*
|
|
275
|
+
* paste-code (Claude): waiting-code → (submit) → exchanging → succeeded | failed.
|
|
276
|
+
* device-code (Codex): waiting-code (the user enters `userCode` at `url`; nothing
|
|
277
|
+
* to submit) → succeeded | failed.
|
|
278
|
+
* canceled / expired (Claude 10 min without a code, Codex 15 min) are terminal too.
|
|
282
279
|
*/
|
|
283
280
|
declare const AgentProfileLoginStatusSchema: z$1.ZodObject<{
|
|
284
281
|
loginId: z$1.ZodString;
|
|
285
282
|
state: z$1.ZodString;
|
|
283
|
+
flow: z$1.ZodOptional<z$1.ZodString>;
|
|
284
|
+
userCode: z$1.ZodOptional<z$1.ZodString>;
|
|
286
285
|
url: z$1.ZodOptional<z$1.ZodString>;
|
|
287
286
|
expiresAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
288
287
|
account: z$1.ZodOptional<z$1.ZodObject<{
|
|
@@ -300,6 +299,9 @@ declare const AgentProfileLoginStatusSchema: z$1.ZodObject<{
|
|
|
300
299
|
keySource: z$1.ZodOptional<z$1.ZodString>;
|
|
301
300
|
keyRef: z$1.ZodOptional<z$1.ZodString>;
|
|
302
301
|
legacy: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
302
|
+
provider: z$1.ZodOptional<z$1.ZodString>;
|
|
303
|
+
email: z$1.ZodOptional<z$1.ZodString>;
|
|
304
|
+
planType: z$1.ZodOptional<z$1.ZodString>;
|
|
303
305
|
}, z$1.core.$strip>>;
|
|
304
306
|
error: z$1.ZodOptional<z$1.ZodString>;
|
|
305
307
|
}, z$1.core.$strip>;
|
|
@@ -326,6 +328,25 @@ type AgentProfileBindResult = {
|
|
|
326
328
|
error?: string;
|
|
327
329
|
};
|
|
328
330
|
|
|
331
|
+
/**
|
|
332
|
+
* Runtime context occupancy, never cumulative billing. null after compaction is unknown.
|
|
333
|
+
*
|
|
334
|
+
* B-727 (specs/2026-10-pi-context-usage.md): `contextWindow` stays required so
|
|
335
|
+
* older webs keep rendering; `windowSource` says whether it may be used as a
|
|
336
|
+
* denominator. Free strings + read whitelist (iron rule 14): an unknown value
|
|
337
|
+
* must not make the whole agentState fail to parse.
|
|
338
|
+
*/
|
|
339
|
+
declare const ContextUsageSchema: z$1.ZodObject<{
|
|
340
|
+
source: z$1.ZodLiteral<"pi">;
|
|
341
|
+
tokens: z$1.ZodNullable<z$1.ZodNumber>;
|
|
342
|
+
contextWindow: z$1.ZodNumber;
|
|
343
|
+
updatedAt: z$1.ZodNumber;
|
|
344
|
+
windowSource: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
345
|
+
model: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
346
|
+
compactedAt: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
|
|
347
|
+
}, z$1.core.$strip>;
|
|
348
|
+
type ContextUsage = z$1.infer<typeof ContextUsageSchema>;
|
|
349
|
+
|
|
329
350
|
declare const CLAUDE_AUTH_PROBE_VERSION: 1;
|
|
330
351
|
type ClaudeAuthStatus = 'ok' | 'not-logged-in' | 'unknown' | 'error' | 'claude-missing';
|
|
331
352
|
type ClaudeAuthDiagnosis = 'keychain-empty-item' | 'store-divergence' | 'no-credentials' | 'credentials-rejected' | 'sdk-binary-missing' | 'probe-timeout' | 'probe-crash';
|
|
@@ -721,8 +742,19 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
721
742
|
keySource: z$1.ZodOptional<z$1.ZodString>;
|
|
722
743
|
keyRef: z$1.ZodOptional<z$1.ZodString>;
|
|
723
744
|
legacy: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
745
|
+
provider: z$1.ZodOptional<z$1.ZodString>;
|
|
746
|
+
email: z$1.ZodOptional<z$1.ZodString>;
|
|
747
|
+
planType: z$1.ZodOptional<z$1.ZodString>;
|
|
724
748
|
}, z$1.core.$strip>>;
|
|
725
749
|
defaults: z$1.ZodRecord<z$1.ZodString, z$1.ZodString>;
|
|
750
|
+
kinds: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
751
|
+
codexProviders: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
|
|
752
|
+
id: z$1.ZodString;
|
|
753
|
+
name: z$1.ZodOptional<z$1.ZodString>;
|
|
754
|
+
baseUrl: z$1.ZodOptional<z$1.ZodString>;
|
|
755
|
+
envKey: z$1.ZodOptional<z$1.ZodString>;
|
|
756
|
+
}, z$1.core.$strip>>>;
|
|
757
|
+
features: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
726
758
|
}, z$1.core.$strip>>;
|
|
727
759
|
rateLimits: z$1.ZodOptional<z$1.ZodObject<{
|
|
728
760
|
v: z$1.ZodLiteral<1>;
|
|
@@ -2038,18 +2070,27 @@ type AccountCheck = {
|
|
|
2038
2070
|
at: number;
|
|
2039
2071
|
detail?: string;
|
|
2040
2072
|
};
|
|
2073
|
+
type AccountAgent = 'claude' | 'codex';
|
|
2074
|
+
type AccountKind = 'claude-subscription' | 'claude-api' | 'codex-chatgpt' | 'codex-provider';
|
|
2041
2075
|
type AccountRecord = {
|
|
2042
2076
|
label: string;
|
|
2043
|
-
agent:
|
|
2044
|
-
kind:
|
|
2077
|
+
agent: AccountAgent;
|
|
2078
|
+
kind: AccountKind;
|
|
2045
2079
|
createdAt: number;
|
|
2046
|
-
/** claude-api */
|
|
2080
|
+
/** claude-api, codex-provider (overrides the config.toml provider's base_url) */
|
|
2047
2081
|
baseUrl?: string;
|
|
2048
2082
|
models?: string[];
|
|
2049
2083
|
/** B-794b: model id → real context window. */
|
|
2050
2084
|
contextWindows?: Record<string, number>;
|
|
2051
|
-
/**
|
|
2085
|
+
/** API kinds: where the key lives. claude-subscription always uses the stored secret. */
|
|
2052
2086
|
key?: AccountKey;
|
|
2087
|
+
/** codex-provider: the `[model_providers.<id>]` of ~/.codex/config.toml it is based on. */
|
|
2088
|
+
provider?: string;
|
|
2089
|
+
/** codex-provider with an own baseUrl: Codex wire API (default responses). */
|
|
2090
|
+
wireApi?: 'responses' | 'chat';
|
|
2091
|
+
/** codex-chatgpt: from `account/read` after sign-in. */
|
|
2092
|
+
email?: string;
|
|
2093
|
+
planType?: string;
|
|
2053
2094
|
/** claude-subscription: setup-token expiry (1 year after login). */
|
|
2054
2095
|
expiresAt?: number;
|
|
2055
2096
|
check?: AccountCheck;
|
|
@@ -2057,6 +2098,14 @@ type AccountRecord = {
|
|
|
2057
2098
|
legacy?: true;
|
|
2058
2099
|
};
|
|
2059
2100
|
|
|
2101
|
+
type CodexRpc = {
|
|
2102
|
+
request: (method: string, params: unknown, timeoutMs?: number) => Promise<any>;
|
|
2103
|
+
onNotification: (cb: (method: string, params: any) => void) => void;
|
|
2104
|
+
onExit: (cb: (code: number | null) => void) => void;
|
|
2105
|
+
close: () => void;
|
|
2106
|
+
};
|
|
2107
|
+
type SpawnCodexRpc = (codexHome: string, env: Record<string, string>) => CodexRpc;
|
|
2108
|
+
|
|
2060
2109
|
/** `stillRunning`: the restart failed and the session's old wrapper is alive (on the old credential). */
|
|
2061
2110
|
type RestartOutcome = {
|
|
2062
2111
|
ok: true;
|
|
@@ -2072,9 +2121,13 @@ type AccountServiceDeps = {
|
|
|
2072
2121
|
now?: () => number;
|
|
2073
2122
|
daemonPid?: number;
|
|
2074
2123
|
spawnPty?: SpawnPty;
|
|
2124
|
+
/** B-850b: `codex app-server` for ChatGPT sign-in / checks (test seam). */
|
|
2125
|
+
spawnCodexRpc?: SpawnCodexRpc;
|
|
2075
2126
|
restartSession?: (sessionId: string) => Promise<RestartOutcome>;
|
|
2076
2127
|
/** Called after every write so the daemon can republish its state. */
|
|
2077
2128
|
onChanged?: () => void;
|
|
2129
|
+
/** B-850b: the agent a session runs (from its tracked flavor); unknown → no check. */
|
|
2130
|
+
sessionAgent?: (sessionId: string) => string | null | undefined;
|
|
2078
2131
|
/** Test seam for the 1-token checks. */
|
|
2079
2132
|
check?: (record: AccountRecord, secret: string) => Promise<AccountCheck>;
|
|
2080
2133
|
};
|
|
@@ -2084,6 +2137,7 @@ declare class AccountService {
|
|
|
2084
2137
|
private readonly env;
|
|
2085
2138
|
private readonly now;
|
|
2086
2139
|
private logins;
|
|
2140
|
+
private codexLogins;
|
|
2087
2141
|
/** loginId → account to (re)write when its token arrives. */
|
|
2088
2142
|
private readonly loginTargets;
|
|
2089
2143
|
constructor(deps: AccountServiceDeps);
|
|
@@ -2110,6 +2164,7 @@ declare class AccountService {
|
|
|
2110
2164
|
setDefault(agent: unknown, accountId: unknown): AgentProfilesState;
|
|
2111
2165
|
private readSecretFor;
|
|
2112
2166
|
test(accountId: unknown): Promise<AgentProfileSummary>;
|
|
2167
|
+
private checkCodexProvider;
|
|
2113
2168
|
private loginManager;
|
|
2114
2169
|
/** Also the terminal path (`very-happy account login`). */
|
|
2115
2170
|
storeSubscriptionToken(token: string, target: {
|
|
@@ -2117,14 +2172,31 @@ declare class AccountService {
|
|
|
2117
2172
|
label?: string;
|
|
2118
2173
|
}): AgentProfileSummary;
|
|
2119
2174
|
loginStart(params: unknown): Promise<AgentProfileLoginStatus>;
|
|
2175
|
+
private codexLoginManager;
|
|
2176
|
+
/** loginId → the account a Codex sign-in writes. */
|
|
2177
|
+
private readonly codexLoginTargets;
|
|
2178
|
+
private codexLoginStart;
|
|
2179
|
+
/** A finished ChatGPT sign-in → the account record (new) or its refreshed status (re-login). */
|
|
2180
|
+
storeChatgptAccount(target: {
|
|
2181
|
+
accountId: string;
|
|
2182
|
+
label?: string;
|
|
2183
|
+
isNew: boolean;
|
|
2184
|
+
}, info: {
|
|
2185
|
+
email?: string;
|
|
2186
|
+
planType?: string;
|
|
2187
|
+
}): AgentProfileSummary;
|
|
2120
2188
|
private loginOp;
|
|
2121
2189
|
loginSubmit(params: unknown): AgentProfileLoginStatus;
|
|
2122
2190
|
loginStatus(loginId: unknown): AgentProfileLoginStatus;
|
|
2123
2191
|
loginCancel(loginId: unknown): AgentProfileLoginStatus;
|
|
2124
2192
|
dispose(): void;
|
|
2193
|
+
/** B-850d2: waits until finished Codex sign-ins are cleaned up (their app-server gone, a canceled new account's overlay removed). */
|
|
2194
|
+
settleLogins(): Promise<void>;
|
|
2125
2195
|
/** Validates and writes a session binding (no restart). */
|
|
2126
2196
|
writeBinding(sessionId: string, accountId: string | null, model?: string): void;
|
|
2127
2197
|
bind(params: unknown): Promise<AgentProfileBindResult>;
|
|
2198
|
+
/** B-850d: the account a session is bound to (null = machine login, also when unbound). */
|
|
2199
|
+
sessionAccount(sessionId: string): string | null;
|
|
2128
2200
|
/**
|
|
2129
2201
|
* Spawn-time choice → the account a NEW session starts on.
|
|
2130
2202
|
* undefined → the machine default for this agent (none = machine login)
|
package/dist/lib.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { A as ApiClient, a as ApiSessionClient } from './api-
|
|
2
|
-
export { l as logger } from './logger-
|
|
3
|
-
export { c as configuration } from './configuration-
|
|
1
|
+
export { A as ApiClient, a as ApiSessionClient } from './api-aE60mNjs.mjs';
|
|
2
|
+
export { l as logger } from './logger-SGCwRIV5.mjs';
|
|
3
|
+
export { c as configuration } from './configuration-rTcdHkhE.mjs';
|
|
4
4
|
export { R as RawJSONLinesSchema } from './types-CkqAACXx.mjs';
|
|
5
5
|
import 'axios';
|
|
6
|
-
import './lidState-
|
|
6
|
+
import './lidState-zy20u7T3.mjs';
|
|
7
7
|
import './authRelay-DhQhkBvX.mjs';
|
|
8
8
|
import 'node:crypto';
|
|
9
9
|
import 'tweetnacl';
|
|
@@ -11,14 +11,14 @@ import 'os';
|
|
|
11
11
|
import 'child_process';
|
|
12
12
|
import 'node:events';
|
|
13
13
|
import 'socket.io-client';
|
|
14
|
-
import './pushNotifications-
|
|
14
|
+
import './pushNotifications-DjEl8G0a.mjs';
|
|
15
15
|
import 'zod';
|
|
16
|
-
import './index-
|
|
16
|
+
import './index-D1YnIih6.mjs';
|
|
17
17
|
import '@paralleldrive/cuid2';
|
|
18
18
|
import './contentLogMetadata-BlWI0egu.mjs';
|
|
19
19
|
import './limits-DIo7rEBR.mjs';
|
|
20
|
-
import './time-
|
|
21
|
-
import './registerCommonHandlers-
|
|
20
|
+
import './time-0Ru4clBD.mjs';
|
|
21
|
+
import './registerCommonHandlers-CND00Dpj.mjs';
|
|
22
22
|
import 'util';
|
|
23
23
|
import 'fs/promises';
|
|
24
24
|
import 'crypto';
|
|
@@ -26,14 +26,14 @@ import 'path';
|
|
|
26
26
|
import 'cross-spawn';
|
|
27
27
|
import './projectPath-BTBIMB57.mjs';
|
|
28
28
|
import 'url';
|
|
29
|
-
import './sync-
|
|
29
|
+
import './sync-DVcNkv8e.mjs';
|
|
30
30
|
import './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
31
|
-
import './controlClient-
|
|
32
|
-
import './persistence-
|
|
31
|
+
import './controlClient-BIdGnYBo.mjs';
|
|
32
|
+
import './persistence-mr4Y484W.mjs';
|
|
33
33
|
import 'node:fs/promises';
|
|
34
34
|
import 'node:fs';
|
|
35
35
|
import 'chalk';
|
|
36
36
|
import 'node:util';
|
|
37
37
|
import 'node:path';
|
|
38
38
|
import 'node:os';
|
|
39
|
-
import './package-
|
|
39
|
+
import './package-Q_ELj5DL.mjs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
1
|
+
import { l as logger } from './logger-SGCwRIV5.mjs';
|
|
2
2
|
import { e as encodeBase64, g as encrypt, h as decrypt, d as decodeBase64 } from './authRelay-DhQhkBvX.mjs';
|
|
3
3
|
import os from 'os';
|
|
4
4
|
import { execSync } from 'child_process';
|
|
@@ -4,7 +4,7 @@ import { join } from 'node:path';
|
|
|
4
4
|
import tweetnacl from 'tweetnacl';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { c as credentialRelayProblem, d as decodeBase64 } from './authRelay-DhQhkBvX.mjs';
|
|
7
|
-
import { c as configuration } from './configuration-
|
|
7
|
+
import { c as configuration } from './configuration-rTcdHkhE.mjs';
|
|
8
8
|
|
|
9
9
|
const AgentCredentialsSchema = z.object({
|
|
10
10
|
token: z.string().min(1),
|
|
@@ -6,7 +6,7 @@ var path = require('node:path');
|
|
|
6
6
|
var tweetnacl = require('tweetnacl');
|
|
7
7
|
var z = require('zod');
|
|
8
8
|
var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
9
|
-
var configuration = require('./configuration-
|
|
9
|
+
var configuration = require('./configuration-2Pbg3a0H.cjs');
|
|
10
10
|
|
|
11
11
|
const AgentCredentialsSchema = z.z.object({
|
|
12
12
|
token: z.z.string().min(1),
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var node_util = require('node:util');
|
|
5
|
-
var configuration = require('./configuration-
|
|
5
|
+
var configuration = require('./configuration-2Pbg3a0H.cjs');
|
|
6
6
|
var node_fs = require('node:fs');
|
|
7
7
|
var path = require('node:path');
|
|
8
8
|
|
|
@@ -238,7 +238,7 @@ async function listDaemonLogFiles(limit = 50) {
|
|
|
238
238
|
return { file, path: fullPath, modified: stats.mtime };
|
|
239
239
|
}).sort((a, b) => b.modified.getTime() - a.modified.getTime());
|
|
240
240
|
try {
|
|
241
|
-
const { readDaemonState } = await Promise.resolve().then(function () { return require('./persistence-
|
|
241
|
+
const { readDaemonState } = await Promise.resolve().then(function () { return require('./persistence-D0gNvqXe.cjs'); }).then(function (n) { return n.persistence; });
|
|
242
242
|
const state = await readDaemonState();
|
|
243
243
|
if (!state) {
|
|
244
244
|
return logs;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { inspect } from 'node:util';
|
|
3
|
-
import { d as appendPrivateFileSync, c as configuration } from './configuration-
|
|
3
|
+
import { d as appendPrivateFileSync, c as configuration } from './configuration-rTcdHkhE.mjs';
|
|
4
4
|
import { existsSync, readdirSync, statSync } from 'node:fs';
|
|
5
5
|
import { join, basename } from 'node:path';
|
|
6
6
|
|
|
@@ -236,7 +236,7 @@ async function listDaemonLogFiles(limit = 50) {
|
|
|
236
236
|
return { file, path: fullPath, modified: stats.mtime };
|
|
237
237
|
}).sort((a, b) => b.modified.getTime() - a.modified.getTime());
|
|
238
238
|
try {
|
|
239
|
-
const { readDaemonState } = await import('./persistence-
|
|
239
|
+
const { readDaemonState } = await import('./persistence-mr4Y484W.mjs').then(function (n) { return n.G; });
|
|
240
240
|
const state = await readDaemonState();
|
|
241
241
|
if (!state) {
|
|
242
242
|
return logs;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import os from 'node:os';
|
|
2
|
-
import { p as packageJson } from './package-
|
|
3
|
-
import { c as configuration } from './configuration-
|
|
2
|
+
import { p as packageJson } from './package-Q_ELj5DL.mjs';
|
|
3
|
+
import { c as configuration } from './configuration-rTcdHkhE.mjs';
|
|
4
4
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
5
5
|
import { d as detectCLIAvailability } from './detectCLI-CSGMlV51.mjs';
|
|
6
|
-
import { d as detectResumeSupport } from './localHappyAgentAuth-
|
|
6
|
+
import { d as detectResumeSupport } from './localHappyAgentAuth-CBsX08VJ.mjs';
|
|
7
7
|
import { F as FS_MKDIR_CAPABILITY_VERSION } from './fsMkdir-DumgLTzR.mjs';
|
|
8
8
|
|
|
9
9
|
const TEAM_RETRY_CAPABILITY_VERSION = 2;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var os = require('node:os');
|
|
4
|
-
var _package = require('./package-
|
|
5
|
-
var configuration = require('./configuration-
|
|
4
|
+
var _package = require('./package-C7WgesIw.cjs');
|
|
5
|
+
var configuration = require('./configuration-2Pbg3a0H.cjs');
|
|
6
6
|
var projectPath = require('./projectPath-C3ioB4Bu.cjs');
|
|
7
7
|
var detectCLI = require('./detectCLI-BuYR_Qxe.cjs');
|
|
8
|
-
var localHappyAgentAuth = require('./localHappyAgentAuth-
|
|
8
|
+
var localHappyAgentAuth = require('./localHappyAgentAuth-CScN2McN.cjs');
|
|
9
9
|
var fsMkdir = require('./fsMkdir-0K3yENml.cjs');
|
|
10
10
|
|
|
11
11
|
const TEAM_RETRY_CAPABILITY_VERSION = 2;
|