very-happy-cli 0.2.191 → 0.2.193
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-CCy_9AfR.mjs → AcpBackend-B4PwjqHt.mjs} +3 -3
- package/dist/{AcpBackend-DgrIc1vH.cjs → AcpBackend-DtJCgftG.cjs} +3 -3
- package/dist/{AcpSessionManager-CQnxx7gD.mjs → AcpSessionManager-BzKWgkdP.mjs} +2 -2
- package/dist/{AcpSessionManager-DVOzCD3P.cjs → AcpSessionManager-D4qshX_H.cjs} +2 -2
- package/dist/{BasePermissionHandler-C9Ag7yvs.cjs → BasePermissionHandler-5iG-cvA2.cjs} +1 -1
- package/dist/{BasePermissionHandler-DYLN6Ec9.mjs → BasePermissionHandler-DV6UM6e9.mjs} +1 -1
- package/dist/account-Dco_nGT4.mjs +297 -0
- package/dist/account-DvpA60oU.cjs +302 -0
- package/dist/accountService-Cd7bnkfd.mjs +916 -0
- package/dist/accountService-CuUSJDhP.cjs +921 -0
- package/dist/{acpSessionResume-TvP_4Zq2.cjs → acpSessionResume-Bk9mjXZ9.cjs} +1 -1
- package/dist/{acpSessionResume-Bi7pA1n_.mjs → acpSessionResume-TQwN9ZZE.mjs} +1 -1
- package/dist/{agentHome-DGv105SR.mjs → agentHome-Bep8semY.mjs} +4 -4
- package/dist/{agentHome-DNUKJWOY.cjs → agentHome-c2dlgcw1.cjs} +4 -4
- package/dist/{api-BBxZ7y2z.cjs → api-CBE_a88I.cjs} +10 -10
- package/dist/{api-jfeMRg5R.mjs → api-DUfunY3x.mjs} +10 -10
- package/dist/{apiMachine-DqyjKBZG.cjs → apiMachine-BqtG0IWm.cjs} +83 -27
- package/dist/{apiMachine-DRJ7y-BB.mjs → apiMachine-CU_bw5nV.mjs} +78 -22
- package/dist/{attachmentContent-BO2njyza.cjs → attachmentContent-B3AzuYqk.cjs} +2 -2
- package/dist/{attachmentContent-Dm_RIs5L.mjs → attachmentContent-KNIZxwlu.mjs} +2 -2
- package/dist/{auth-BYDtjVNb.mjs → auth-CZ7pKS-j.mjs} +8 -8
- package/dist/{auth-DnxoVkkf.cjs → auth-DCjxpI6Z.cjs} +5 -5
- package/dist/{auth-DLR3ksCF.cjs → auth-SJ_dPw7H.cjs} +8 -8
- package/dist/{auth-DC6rg8lJ.mjs → auth-jN5dNqTO.mjs} +5 -5
- package/dist/{auto-CwO0u8hB.cjs → auto-B_59RYH1.cjs} +23 -21
- package/dist/{auto-D5Jhukq1.mjs → auto-DC0Sq-qB.mjs} +23 -21
- package/dist/{bootstrap-rLaL3kTa.mjs → bootstrap-B3gMpU9e.mjs} +2 -2
- package/dist/{bootstrap-sly4qPPY.cjs → bootstrap-CoJu9VnB.cjs} +2 -2
- package/dist/{browser-CHpVgyni.mjs → browser-LHW2hBH8.mjs} +1 -1
- package/dist/{browser-BTgZ9d4i.cjs → browser-v1pdPP1E.cjs} +1 -1
- package/dist/claudeAccountEnv-BL1pR_37.mjs +133 -0
- package/dist/claudeAccountEnv-CEX_EMZr.cjs +138 -0
- package/dist/{claudeLocal-Bgb5GGsq.mjs → claudeLocal-BZUgA5G2.mjs} +5 -5
- package/dist/{claudeLocal-1vuTFcL8.cjs → claudeLocal-BrzM2RBI.cjs} +5 -5
- package/dist/{claudeLocalLauncher-T7EfT68h.mjs → claudeLocalLauncher-A0AQyHFi.mjs} +10 -10
- package/dist/{claudeLocalLauncher-DOsL6HFY.cjs → claudeLocalLauncher-XAMpXUM7.cjs} +10 -10
- package/dist/{claudeSessionFork-Cko4SaVi.cjs → claudeSessionFork-Mhn2fYe_.cjs} +1 -1
- package/dist/{claudeSessionFork-CPvi6yDX.mjs → claudeSessionFork-_GwIlmMB.mjs} +1 -1
- package/dist/{client-BXD66ZF5.mjs → client-7RnI9J0W.mjs} +2 -2
- package/dist/{client-Bi20Ka0h.mjs → client-Bde4QVIn.mjs} +4 -2
- package/dist/{client-C5-C0t2a.cjs → client-CJr8Pjwm.cjs} +4 -2
- package/dist/{client-BscskEBk.cjs → client-D2GWkd-T.cjs} +2 -2
- package/dist/{client-C-OdTbrU.cjs → client-DLlnmAPL.cjs} +4 -4
- package/dist/{client-Bh1aUPh-.mjs → client-DwbhrX6D.mjs} +4 -4
- 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-DXhAf6i-.mjs → codexAppServerClient-B3QJV6Ey.mjs} +18 -7
- package/dist/{codexAppServerClient-DKXeikEe.cjs → codexAppServerClient-DWEsZUC4.cjs} +18 -7
- package/dist/{codexCommand-DvbbpYBS.cjs → codexCommand-Bg8AmxVm.cjs} +195 -63
- package/dist/{codexCommand-CIaOiiOj.mjs → codexCommand-D1xlj4sT.mjs} +196 -64
- package/dist/{codexTermination-BszWfyk5.cjs → codexTermination-ByX9GcEJ.cjs} +1 -1
- package/dist/{codexTermination-BcQdEDaw.mjs → codexTermination-CaWAVQjZ.mjs} +1 -1
- package/dist/{config-Di3Cf6js.cjs → config-B2GGbiTv.cjs} +3 -3
- package/dist/{config-OCEcVVK1.mjs → config-C2XYEwXz.mjs} +3 -3
- package/dist/{configuration-DfPBa-9d.cjs → configuration-BBK0rmmj.cjs} +1 -1
- package/dist/{configuration-ECqXu34R.mjs → configuration-ThKBP_zY.mjs} +1 -1
- package/dist/{connect-BTfAUhk8.mjs → connect-BirnCl9q.mjs} +13 -13
- package/dist/{connect-BPQRuOw5.cjs → connect-C3tZs_NC.cjs} +13 -13
- package/dist/{context-CfgTFpCB.mjs → context-C0EFLnOg.mjs} +1 -1
- package/dist/{context-Co7hUaW-.cjs → context-wDp0aZBK.cjs} +1 -1
- package/dist/{controlClient-ClI7A0qE.mjs → controlClient-Ckl8N1MS.mjs} +14 -5
- package/dist/{controlClient-C13_pSKG.cjs → controlClient-DwWTns3A.cjs} +15 -4
- package/dist/{createSessionMetadata-Cf78KHtt.cjs → createSessionMetadata-DqZ6h02H.cjs} +2 -2
- package/dist/{createSessionMetadata-B0eT_Kfj.mjs → createSessionMetadata-vug4Cv8z.mjs} +2 -2
- package/dist/daemonAccounts-CpGDY_4k.cjs +54 -0
- package/dist/daemonAccounts-DwPwKxvv.mjs +30 -0
- package/dist/{defaultPermissionMode-oqTupStc.cjs → defaultPermissionMode-BakXiqRr.cjs} +1 -1
- package/dist/{defaultPermissionMode-m6z2QVyP.mjs → defaultPermissionMode-DF5AfeBb.mjs} +1 -1
- package/dist/{deterministicJson-BtSwbsok.mjs → deterministicJson-BzX94gi3.mjs} +13 -13
- package/dist/{deterministicJson-CpFFgUL_.cjs → deterministicJson-t33SsuRC.cjs} +13 -13
- package/dist/{doctor-BEU0_1Xv.cjs → doctor-B9ug1LZb.cjs} +7 -7
- package/dist/{doctor-lsxmAK4o.mjs → doctor-C1zyOSXw.mjs} +7 -7
- package/dist/{downloadTarget-BXqXhNF7.mjs → downloadTarget-Baslc6jW.mjs} +6 -6
- package/dist/{downloadTarget-CikzJv1h.cjs → downloadTarget-T1id2Gh6.cjs} +6 -6
- package/dist/{ensureDaemonRunning-B_9WAlbU.mjs → ensureDaemonRunning-C6ERYK-O.mjs} +5 -5
- package/dist/{ensureDaemonRunning-BUuH-pbE.cjs → ensureDaemonRunning-CoAg11Zi.cjs} +5 -5
- package/dist/{handleResumeCommand-BK9XKH_l.mjs → handleResumeCommand-CrlqDuz7.mjs} +5 -5
- package/dist/{handleResumeCommand-Dj7oi2KO.cjs → handleResumeCommand-DPi-sPm7.cjs} +5 -5
- package/dist/{index-D3c7CLot.cjs → index-B1swQJUS.cjs} +4 -4
- package/dist/{index-CmZusg8Q.cjs → index-B2dJA8VG.cjs} +3 -3
- package/dist/{index-CLUHaPU8.cjs → index-BUFrKZeQ.cjs} +205 -5
- package/dist/{index-BjZnpGWX.mjs → index-BbdV2mzy.mjs} +3 -3
- package/dist/{index-BdOJOZ6J.mjs → index-BcSPg3c5.mjs} +4 -4
- package/dist/{index-CauRYQKr.cjs → index-Bkslzin5.cjs} +44 -40
- package/dist/{index-DuK9XYbZ.mjs → index-Cn73rdtQ.mjs} +4 -4
- package/dist/{index-Bq8NKSCF.mjs → index-D1YnIih6.mjs} +195 -6
- package/dist/{index-Cxso1rg4.mjs → index-fZO4nF6e.mjs} +45 -41
- package/dist/{index-Dg2NAF_-.cjs → index-rocrvOYG.cjs} +4 -4
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-DXllkuy0.cjs → install-CArXjPfW.cjs} +3 -3
- package/dist/{install-DTIveLOS.mjs → install-CChhyV2G.mjs} +3 -3
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +354 -0
- package/dist/lib.d.mts +354 -0
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-CD81ryTy.mjs → lidState-B6yYKjNK.mjs} +1 -1
- package/dist/{lidState-C9_DoF9i.cjs → lidState-B_v6qgfE.cjs} +1 -1
- package/dist/{localHappyAgentAuth-Cg-m1lwm.mjs → localHappyAgentAuth-KRlg_aI0.mjs} +1 -1
- package/dist/{localHappyAgentAuth-CCjUvOfi.cjs → localHappyAgentAuth-jJH0n67S.cjs} +1 -1
- package/dist/{logger-Ct2zvaq0.cjs → logger-CX3x2eI4.cjs} +2 -2
- package/dist/{logger-GcbI0eg2.mjs → logger-JV7-4Q_6.mjs} +2 -2
- package/dist/{machineMetadata-CXRmFNOV.mjs → machineMetadata-D5-SW9kv.mjs} +3 -3
- package/dist/{machineMetadata-DDCVWb_x.cjs → machineMetadata-DhZuM0iB.cjs} +3 -3
- package/dist/{main-BHC-WIcM.cjs → main-1x1HGQEy.cjs} +92 -48
- package/dist/{main-omGr_ONk.mjs → main-CFOdXbPD.mjs} +92 -48
- package/dist/{mcp-xUzii0m8.cjs → mcp-BnKBSEh7.cjs} +18 -15
- package/dist/{mcp-D5hxmRAq.mjs → mcp-R6lMcFLO.mjs} +18 -15
- package/dist/{mirrorProtocol-Lcx20Oby.mjs → mirrorProtocol-CD4ntuZJ.mjs} +3 -3
- package/dist/{mirrorProtocol-Dfl8Ahyf.cjs → mirrorProtocol-DO-KtvAL.cjs} +3 -3
- package/dist/{package-BsUHyqWe.mjs → package-Bw3H6VLn.mjs} +7 -7
- package/dist/{package-9n7wd2dT.cjs → package-uzlvxa5S.cjs} +7 -7
- package/dist/{panels-CpEKWWbI.mjs → panels-BamhZCoZ.mjs} +5 -5
- package/dist/{panels-BfknEmt7.cjs → panels-C46FxjmH.cjs} +5 -5
- package/dist/{peerTools-CElYh-5u.cjs → peerTools-D-VNNFw-.cjs} +5 -5
- package/dist/{peerTools-CwCe6tmJ.mjs → peerTools-WtRgTSqG.mjs} +5 -5
- package/dist/{persistence-Cpw4yJs8.mjs → persistence-Cg4sfjQV.mjs} +2 -2
- package/dist/{persistence-A2NeERZJ.cjs → persistence-CsmAgN-C.cjs} +2 -2
- package/dist/{piRunnerArgs-Bqmu16He.mjs → piRunnerArgs-BbaAQvb4.mjs} +2 -2
- package/dist/{piRunnerArgs-BnFU0K73.cjs → piRunnerArgs-vnFygygF.cjs} +1 -1
- package/dist/{piRuntime-Cgn1b0OX.mjs → piRuntime-Bid7TBf5.mjs} +1 -1
- package/dist/{piRuntime-DpS9TAIs.cjs → piRuntime-C2uj5Ucx.cjs} +1 -1
- package/dist/{piTerminal-rmve-VlI.cjs → piTerminal-Ckpjfoqa.cjs} +20 -17
- package/dist/{piTerminal-BGdps8f3.mjs → piTerminal-CqxgrI13.mjs} +20 -17
- package/dist/{pushNotifications-23YSd-0l.cjs → pushNotifications-BCg7YAiu.cjs} +5 -3
- package/dist/{pushNotifications-XAM8__Pg.mjs → pushNotifications-BbE-qV9I.mjs} +5 -3
- package/dist/{query-SZcYnJoW.mjs → query-Bfr9O_62.mjs} +1 -1
- package/dist/{query-u2GX-I0C.cjs → query-vQ-HG394.cjs} +1 -1
- package/dist/{rateLimitReporter-CaTzBe3x.cjs → rateLimitReporter-BZ8x0-6-.cjs} +3 -3
- package/dist/{rateLimitReporter-COUkf446.mjs → rateLimitReporter-CAz7VMw4.mjs} +3 -3
- package/dist/{rateLimitWindows-B2Kx6L0S.cjs → rateLimitWindows-BZl6GMwQ.cjs} +1 -1
- package/dist/{rateLimitWindows-j_qQk0KY.mjs → rateLimitWindows-CRARnKaI.mjs} +1 -1
- package/dist/reconnectEnv-B31lY4nR.cjs +27 -0
- package/dist/reconnectEnv-DeSvHl3q.mjs +24 -0
- package/dist/{registerCommonHandlers-D1MiSfcB.cjs → registerCommonHandlers-CZGmrPbT.cjs} +2 -2
- package/dist/{registerCommonHandlers-DRRfinzK.mjs → registerCommonHandlers-Cj3Nl9y-.mjs} +2 -2
- package/dist/{registerKillSessionHandler-Cpug_r5C.mjs → registerKillSessionHandler-Bg9t45Ub.mjs} +6 -6
- package/dist/{registerKillSessionHandler-hvCsEn7b.cjs → registerKillSessionHandler-C3EDnW4F.cjs} +6 -6
- package/dist/{remoteSessionClient-BdnJ_n8C.mjs → remoteSessionClient--0vfA7I5.mjs} +5 -5
- package/dist/{remoteSessionClient-6ymeMVa4.cjs → remoteSessionClient-CcSP24Zq.cjs} +5 -5
- package/dist/{reportProgressTool-XgQBzxoD.mjs → reportProgressTool-DVru7jc_.mjs} +3 -3
- package/dist/{reportProgressTool-tzQLCLIw.cjs → reportProgressTool-Ddg1yVq2.cjs} +3 -3
- package/dist/{run-DYL_wuj7.cjs → run-BTrIT_jU.cjs} +347 -856
- package/dist/{run-Bt0AklUU.mjs → run-HtvH6BLi.mjs} +346 -855
- package/dist/{runClaude-C3rii_S6.mjs → runClaude-DsHTk5Bu.mjs} +62 -44
- package/dist/{runClaude-CBEpYO4S.cjs → runClaude-ipjwAHPI.cjs} +62 -44
- package/dist/{runClaudeDeps-CYuozSC6.cjs → runClaudeDeps-BKpwL6ln.cjs} +51 -42
- package/dist/{runClaudeDeps-DlVfMG4F.mjs → runClaudeDeps-BV3vpeyY.mjs} +56 -47
- package/dist/{runGemini-CEI3b90u.cjs → runGemini-B-G0_7Ab.cjs} +33 -33
- package/dist/{runGemini-DkYhRk9S.mjs → runGemini-DhjK6_Fp.mjs} +33 -33
- package/dist/{runOpenClaw-DpprWCoz.mjs → runOpenClaw-B6lawk8n.mjs} +18 -18
- package/dist/{runOpenClaw-BgjD6E4d.cjs → runOpenClaw-BHIo8tkn.cjs} +18 -18
- package/dist/{sandbox-XCDUbH72.cjs → sandbox-BAsO0ILe.cjs} +4 -4
- package/dist/{sandbox-DJ7A7lsy.mjs → sandbox-CKb7pCXg.mjs} +4 -4
- package/dist/selfCheck-CZ-t1Xzq.mjs +88 -0
- package/dist/{selfCheck-BYUDB1Uq.cjs → selfCheck-D4VvVZNi.cjs} +39 -37
- package/dist/{send-CASDBCyJ.cjs → send-Cz5m39QR.cjs} +8 -8
- package/dist/{send-Ba63huxv.mjs → send-D8ipLKMY.mjs} +8 -8
- package/dist/{server-w3W0toNd.mjs → server-CjvgT3N9.mjs} +4 -4
- package/dist/{server-cZoV9XRt.cjs → server-CySyJKPH.cjs} +6 -6
- package/dist/{sessionLock-G2PMqvsh.mjs → sessionLock-B73fhgQN.mjs} +10 -4
- package/dist/{sessionLock-BmLA2S8K.cjs → sessionLock-DdDCuNUs.cjs} +10 -3
- package/dist/{sessionOps-DPw5k8vV.mjs → sessionOps-C65Iej_C.mjs} +50 -8
- package/dist/{sessionOps-DXlTmS7J.cjs → sessionOps-XSEjIqNq.cjs} +50 -8
- package/dist/sessionProvider-CLVNkfji.mjs +110 -0
- package/dist/sessionProvider-Dgsty8z_.cjs +115 -0
- package/dist/{sessionScanner-AHjnicxi.cjs → sessionScanner-D8IVXMMH.cjs} +3 -3
- package/dist/{sessionScanner-BCXpdZJN.mjs → sessionScanner-MW1P9Pm9.mjs} +3 -3
- package/dist/{sessions-BiBXOBx0.cjs → sessions-BKz7gZqg.cjs} +10 -10
- package/dist/{sessions-Clk8MR5Y.mjs → sessions-Dtk_agUL.mjs} +10 -10
- package/dist/{setupOfflineReconnection-DI-QZGYz.mjs → setupOfflineReconnection-Bvdy-2xd.mjs} +2 -2
- package/dist/{setupOfflineReconnection-BKLfOd-i.cjs → setupOfflineReconnection-DxMiW7OV.cjs} +2 -2
- package/dist/{spawn-D5omsx1Q.cjs → spawn-DiPkJcrQ.cjs} +36 -17
- package/dist/{spawn-4tsp1uhh.mjs → spawn-Dm4xsZBX.mjs} +36 -17
- package/dist/{spawnAgents-CtkkIFHd.cjs → spawnAgents-B9olJ8xn.cjs} +1 -1
- package/dist/{spawnAgents-CjoU6ZOS.mjs → spawnAgents-I29H9nO8.mjs} +1 -1
- package/dist/{spawnHappyCLI-CF_gLi92.cjs → spawnHappyCLI-BYGOUda1.cjs} +1 -1
- package/dist/{spawnHappyCLI-CIA9Sc_5.mjs → spawnHappyCLI-CnMwzjWX.mjs} +1 -1
- package/dist/{startFileWatcher-9Stpxe7p.cjs → startFileWatcher-D14W6gn-.cjs} +1 -1
- package/dist/{startFileWatcher-CDO6fb2m.mjs → startFileWatcher-DePAY1T5.mjs} +1 -1
- package/dist/{startupSessionCreate-BtR4iYEC.mjs → startupSessionCreate-DoK0IvJG.mjs} +3 -3
- package/dist/{startupSessionCreate-CcF7rGGB.cjs → startupSessionCreate-rBHd4tc1.cjs} +3 -3
- package/dist/store-CkNa6oj4.cjs +326 -0
- package/dist/store-Vej_738f.mjs +305 -0
- package/dist/{streamRelay-BhI6jqF-.cjs → streamRelay-C0G1HOOd.cjs} +1 -1
- package/dist/{streamRelay-DMwOMTKf.mjs → streamRelay-C5U-C4GS.mjs} +1 -1
- package/dist/{sync-C0PRuTMj.mjs → sync-BP6vnxVP.mjs} +1 -1
- package/dist/{sync-Ba8N6xba.cjs → sync-WYBwkJvG.cjs} +1 -1
- package/dist/{systemPrompt-DV5IReD4.cjs → systemPrompt-BkQlCk5_.cjs} +2 -2
- package/dist/{systemPrompt-D0q8eyjy.mjs → systemPrompt-aRqBmkpw.mjs} +2 -2
- package/dist/{teams-BO3_arwM.mjs → teams-CGmC4ygu.mjs} +7 -7
- package/dist/{teams-z3Gp-KlV.cjs → teams-phbpwAGD.cjs} +7 -7
- package/dist/{template-B_5l6pkc.cjs → template-B9pLEP8v.cjs} +2 -2
- package/dist/{template-DLR_0hfj.mjs → template-CL9EvQLQ.mjs} +2 -2
- package/dist/{time-Cy0a-7YX.cjs → time-BTLcO8jp.cjs} +1 -1
- package/dist/{time-D0jvDRhn.mjs → time-Cw0liIqB.mjs} +1 -1
- package/dist/{titleGenerator-RGHWP2YL.cjs → titleGenerator-Y1_7ceJC.cjs} +17 -13
- package/dist/{titleGenerator-AGQsXskb.mjs → titleGenerator-h6TmFe-c.mjs} +16 -12
- package/dist/{todo-CzIDPLFy.cjs → todo-BxiPiCvB.cjs} +6 -6
- package/dist/{todo-BZ954vsz.mjs → todo-OKcTC_VC.mjs} +6 -6
- package/dist/{tools-Bei5i03L.mjs → tools-BR-drXZ8.mjs} +3 -2
- package/dist/{tools-B1x1j6tz.cjs → tools-CcebYtLj.cjs} +3 -2
- package/dist/{uninstall-C3cnIvz1.cjs → uninstall-CnDeCC-M.cjs} +3 -3
- package/dist/{uninstall-B4T_e3Mr.mjs → uninstall-D3stWKD2.mjs} +3 -3
- package/dist/wrapperAccount-BkufO_9g.mjs +107 -0
- package/dist/wrapperAccount-D2A4DuZy.cjs +113 -0
- package/package.json +7 -7
- package/dist/providerBinding-B-Qbx9W2.cjs +0 -140
- package/dist/providerBinding-CYubGg-Z.mjs +0 -132
- package/dist/selfCheck-C-rNljKV.mjs +0 -86
- package/dist/sessionProvider-DUn91LhJ.mjs +0 -109
- package/dist/sessionProvider-Dg691XQ4.cjs +0 -114
package/dist/lib.d.cts
CHANGED
|
@@ -199,6 +199,134 @@ 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
|
+
declare const AgentProfileSummarySchema: z$1.ZodObject<{
|
|
203
|
+
id: z$1.ZodString;
|
|
204
|
+
label: z$1.ZodString;
|
|
205
|
+
agent: z$1.ZodString;
|
|
206
|
+
kind: z$1.ZodString;
|
|
207
|
+
status: z$1.ZodString;
|
|
208
|
+
statusDetail: z$1.ZodOptional<z$1.ZodString>;
|
|
209
|
+
checkedAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
210
|
+
createdAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
211
|
+
expiresAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
212
|
+
baseUrl: z$1.ZodOptional<z$1.ZodString>;
|
|
213
|
+
models: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
214
|
+
keySource: z$1.ZodOptional<z$1.ZodString>;
|
|
215
|
+
keyRef: z$1.ZodOptional<z$1.ZodString>;
|
|
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>;
|
|
220
|
+
}, z$1.core.$strip>;
|
|
221
|
+
type AgentProfileSummary = z$1.infer<typeof AgentProfileSummarySchema>;
|
|
222
|
+
/** `daemonState.agentProfiles` — also the result of `agent-profile-list`. */
|
|
223
|
+
declare const AgentProfilesStateSchema: z$1.ZodObject<{
|
|
224
|
+
daemonPid: z$1.ZodNumber;
|
|
225
|
+
updatedAt: z$1.ZodNumber;
|
|
226
|
+
accounts: z$1.ZodArray<z$1.ZodObject<{
|
|
227
|
+
id: z$1.ZodString;
|
|
228
|
+
label: z$1.ZodString;
|
|
229
|
+
agent: z$1.ZodString;
|
|
230
|
+
kind: z$1.ZodString;
|
|
231
|
+
status: z$1.ZodString;
|
|
232
|
+
statusDetail: z$1.ZodOptional<z$1.ZodString>;
|
|
233
|
+
checkedAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
234
|
+
createdAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
235
|
+
expiresAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
236
|
+
baseUrl: z$1.ZodOptional<z$1.ZodString>;
|
|
237
|
+
models: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
238
|
+
keySource: z$1.ZodOptional<z$1.ZodString>;
|
|
239
|
+
keyRef: z$1.ZodOptional<z$1.ZodString>;
|
|
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>;
|
|
244
|
+
}, z$1.core.$strip>>;
|
|
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>>;
|
|
254
|
+
}, z$1.core.$strip>;
|
|
255
|
+
type AgentProfilesState = z$1.infer<typeof AgentProfilesStateSchema>;
|
|
256
|
+
/**
|
|
257
|
+
* `metadata.agentProfile`, written by the wrapper with what it ACTUALLY runs on:
|
|
258
|
+
* absent — older wrapper (no capability): show nothing / 「本机登录」 guess
|
|
259
|
+
* null — machine login (本机登录)
|
|
260
|
+
* { status: 'active' } — running on this account
|
|
261
|
+
* { status: 'unavailable' } — bound, but the account cannot be used
|
|
262
|
+
* (reason: 'missing' | 'missing-secret' | 'expired' | 'invalid');
|
|
263
|
+
* the wrapper refuses turns until the user re-logs in or switches
|
|
264
|
+
*/
|
|
265
|
+
declare const SessionAgentProfileSchema: z$1.ZodObject<{
|
|
266
|
+
id: z$1.ZodString;
|
|
267
|
+
label: z$1.ZodString;
|
|
268
|
+
kind: z$1.ZodString;
|
|
269
|
+
status: z$1.ZodString;
|
|
270
|
+
reason: z$1.ZodOptional<z$1.ZodString>;
|
|
271
|
+
model: z$1.ZodOptional<z$1.ZodString>;
|
|
272
|
+
}, z$1.core.$strip>;
|
|
273
|
+
type SessionAgentProfile = z$1.infer<typeof SessionAgentProfileSchema>;
|
|
274
|
+
/**
|
|
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.
|
|
279
|
+
*/
|
|
280
|
+
declare const AgentProfileLoginStatusSchema: z$1.ZodObject<{
|
|
281
|
+
loginId: z$1.ZodString;
|
|
282
|
+
state: z$1.ZodString;
|
|
283
|
+
flow: z$1.ZodOptional<z$1.ZodString>;
|
|
284
|
+
userCode: z$1.ZodOptional<z$1.ZodString>;
|
|
285
|
+
url: z$1.ZodOptional<z$1.ZodString>;
|
|
286
|
+
expiresAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
287
|
+
account: z$1.ZodOptional<z$1.ZodObject<{
|
|
288
|
+
id: z$1.ZodString;
|
|
289
|
+
label: z$1.ZodString;
|
|
290
|
+
agent: z$1.ZodString;
|
|
291
|
+
kind: z$1.ZodString;
|
|
292
|
+
status: z$1.ZodString;
|
|
293
|
+
statusDetail: z$1.ZodOptional<z$1.ZodString>;
|
|
294
|
+
checkedAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
295
|
+
createdAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
296
|
+
expiresAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
297
|
+
baseUrl: z$1.ZodOptional<z$1.ZodString>;
|
|
298
|
+
models: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
299
|
+
keySource: z$1.ZodOptional<z$1.ZodString>;
|
|
300
|
+
keyRef: z$1.ZodOptional<z$1.ZodString>;
|
|
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>;
|
|
305
|
+
}, z$1.core.$strip>>;
|
|
306
|
+
error: z$1.ZodOptional<z$1.ZodString>;
|
|
307
|
+
}, z$1.core.$strip>;
|
|
308
|
+
type AgentProfileLoginStatus = z$1.infer<typeof AgentProfileLoginStatusSchema>;
|
|
309
|
+
type AgentProfileBindResult = {
|
|
310
|
+
/**
|
|
311
|
+
* false only with `rolledBack` — the restart failed while the session's
|
|
312
|
+
* wrapper kept running on the previous credential, so the previous binding
|
|
313
|
+
* was restored (never "bound to the new account, running the old one").
|
|
314
|
+
*/
|
|
315
|
+
bound: boolean;
|
|
316
|
+
/** The new binding was undone (see `bound`); the session runs on its previous account. */
|
|
317
|
+
rolledBack?: true;
|
|
318
|
+
/**
|
|
319
|
+
* 'done' — restarted in place on the new account
|
|
320
|
+
* 'skipped' — restart:false, or the session is not running here (applies on next start)
|
|
321
|
+
* 'pending' — still restarting after the 22 s budget (relay RPCs cap at 30 s); the Web
|
|
322
|
+
* shows 「重启中」 and treats `metadata.agentProfile` turning into the new
|
|
323
|
+
* account as done
|
|
324
|
+
* 'failed' — the session is not running any more: binding kept, applies on next
|
|
325
|
+
* start; or (`rolledBack`) it still runs: the previous binding is restored
|
|
326
|
+
*/
|
|
327
|
+
restart: string;
|
|
328
|
+
error?: string;
|
|
329
|
+
};
|
|
202
330
|
|
|
203
331
|
/**
|
|
204
332
|
* Runtime context occupancy, never cumulative billing. null after compaction is unknown.
|
|
@@ -596,6 +724,38 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
596
724
|
}, z$1.core.$strip>;
|
|
597
725
|
checkedAt: z$1.ZodNumber;
|
|
598
726
|
}, z$1.core.$strip>>;
|
|
727
|
+
agentProfiles: z$1.ZodOptional<z$1.ZodObject<{
|
|
728
|
+
daemonPid: z$1.ZodNumber;
|
|
729
|
+
updatedAt: z$1.ZodNumber;
|
|
730
|
+
accounts: z$1.ZodArray<z$1.ZodObject<{
|
|
731
|
+
id: z$1.ZodString;
|
|
732
|
+
label: z$1.ZodString;
|
|
733
|
+
agent: z$1.ZodString;
|
|
734
|
+
kind: z$1.ZodString;
|
|
735
|
+
status: z$1.ZodString;
|
|
736
|
+
statusDetail: z$1.ZodOptional<z$1.ZodString>;
|
|
737
|
+
checkedAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
738
|
+
createdAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
739
|
+
expiresAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
740
|
+
baseUrl: z$1.ZodOptional<z$1.ZodString>;
|
|
741
|
+
models: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
742
|
+
keySource: z$1.ZodOptional<z$1.ZodString>;
|
|
743
|
+
keyRef: z$1.ZodOptional<z$1.ZodString>;
|
|
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>;
|
|
748
|
+
}, z$1.core.$strip>>;
|
|
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>>;
|
|
758
|
+
}, z$1.core.$strip>>;
|
|
599
759
|
rateLimits: z$1.ZodOptional<z$1.ZodObject<{
|
|
600
760
|
v: z$1.ZodLiteral<1>;
|
|
601
761
|
updatedAt: z$1.ZodNumber;
|
|
@@ -750,6 +910,11 @@ type Metadata = {
|
|
|
750
910
|
* null = nothing chosen yet; absent = older wrapper. See happy-wire runIntent.ts.
|
|
751
911
|
*/
|
|
752
912
|
modelIntent?: string | null;
|
|
913
|
+
/**
|
|
914
|
+
* B-850a: the account this wrapper actually runs on (agentProfiles.ts).
|
|
915
|
+
* null = machine login; absent = wrapper without `agent-profile-v1`.
|
|
916
|
+
*/
|
|
917
|
+
agentProfile?: SessionAgentProfile | null;
|
|
753
918
|
effortIntent?: string | null;
|
|
754
919
|
operatingModes?: Array<{
|
|
755
920
|
code: string;
|
|
@@ -1645,6 +1810,11 @@ interface SpawnSessionOptions {
|
|
|
1645
1810
|
agent?: SpawnAgent;
|
|
1646
1811
|
environmentVariables?: Record<string, string>;
|
|
1647
1812
|
token?: string;
|
|
1813
|
+
/**
|
|
1814
|
+
* B-850a: account for a new Claude session. undefined = the machine's
|
|
1815
|
+
* default account (none = machine login); null = machine login.
|
|
1816
|
+
*/
|
|
1817
|
+
agentProfileId?: string | null;
|
|
1648
1818
|
/**
|
|
1649
1819
|
* If set, the daemon spawns the agent with `--resume <id>` so the new
|
|
1650
1820
|
* Happy session continues from an existing Claude conversation file.
|
|
@@ -1863,6 +2033,179 @@ declare class ModelConfigService {
|
|
|
1863
2033
|
}): Promise<ModelConfigApplyResult>;
|
|
1864
2034
|
}
|
|
1865
2035
|
|
|
2036
|
+
/**
|
|
2037
|
+
* B-850a: remote Claude subscription login = `claude setup-token` in a pty on
|
|
2038
|
+
* the machine. Its Ink UI only renders in a TTY (FEASIBILITY L2).
|
|
2039
|
+
*
|
|
2040
|
+
* start → spawn, wait for the authorize URL (the user picks the org there)
|
|
2041
|
+
* submit → write the pasted code + Enter; the PKCE verifier never leaves
|
|
2042
|
+
* this process, so the code alone cannot be redeemed elsewhere
|
|
2043
|
+
* done → `sk-ant-oat01-…` appears in the output → caller stores it 0600
|
|
2044
|
+
*
|
|
2045
|
+
* The token is matched in the pty output and handed to `onToken`; it is never
|
|
2046
|
+
* logged and never part of a status object.
|
|
2047
|
+
*/
|
|
2048
|
+
|
|
2049
|
+
type PtyLike = {
|
|
2050
|
+
onData: (cb: (data: string) => void) => void;
|
|
2051
|
+
onExit: (cb: (e: {
|
|
2052
|
+
exitCode: number;
|
|
2053
|
+
}) => void) => void;
|
|
2054
|
+
write: (data: string) => void;
|
|
2055
|
+
kill: () => void;
|
|
2056
|
+
};
|
|
2057
|
+
type SpawnPty = (env: Record<string, string>) => PtyLike;
|
|
2058
|
+
|
|
2059
|
+
type AccountKey = {
|
|
2060
|
+
source: 'file';
|
|
2061
|
+
path: string;
|
|
2062
|
+
} | {
|
|
2063
|
+
source: 'env';
|
|
2064
|
+
name: string;
|
|
2065
|
+
} | {
|
|
2066
|
+
source: 'stored';
|
|
2067
|
+
};
|
|
2068
|
+
type AccountCheck = {
|
|
2069
|
+
status: string;
|
|
2070
|
+
at: number;
|
|
2071
|
+
detail?: string;
|
|
2072
|
+
};
|
|
2073
|
+
type AccountAgent = 'claude' | 'codex';
|
|
2074
|
+
type AccountKind = 'claude-subscription' | 'claude-api' | 'codex-chatgpt' | 'codex-provider';
|
|
2075
|
+
type AccountRecord = {
|
|
2076
|
+
label: string;
|
|
2077
|
+
agent: AccountAgent;
|
|
2078
|
+
kind: AccountKind;
|
|
2079
|
+
createdAt: number;
|
|
2080
|
+
/** claude-api, codex-provider (overrides the config.toml provider's base_url) */
|
|
2081
|
+
baseUrl?: string;
|
|
2082
|
+
models?: string[];
|
|
2083
|
+
/** B-794b: model id → real context window. */
|
|
2084
|
+
contextWindows?: Record<string, number>;
|
|
2085
|
+
/** API kinds: where the key lives. claude-subscription always uses the stored secret. */
|
|
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;
|
|
2094
|
+
/** claude-subscription: setup-token expiry (1 year after login). */
|
|
2095
|
+
expiresAt?: number;
|
|
2096
|
+
check?: AccountCheck;
|
|
2097
|
+
/** Set on entries synthesized from providers.json — never written to accounts.json. */
|
|
2098
|
+
legacy?: true;
|
|
2099
|
+
};
|
|
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
|
+
|
|
2109
|
+
/** `stillRunning`: the restart failed and the session's old wrapper is alive (on the old credential). */
|
|
2110
|
+
type RestartOutcome = {
|
|
2111
|
+
ok: true;
|
|
2112
|
+
} | {
|
|
2113
|
+
ok: false;
|
|
2114
|
+
notRunning?: boolean;
|
|
2115
|
+
stillRunning?: boolean;
|
|
2116
|
+
error: string;
|
|
2117
|
+
};
|
|
2118
|
+
type AccountServiceDeps = {
|
|
2119
|
+
home: string;
|
|
2120
|
+
env?: Record<string, string | undefined>;
|
|
2121
|
+
now?: () => number;
|
|
2122
|
+
daemonPid?: number;
|
|
2123
|
+
spawnPty?: SpawnPty;
|
|
2124
|
+
/** B-850b: `codex app-server` for ChatGPT sign-in / checks (test seam). */
|
|
2125
|
+
spawnCodexRpc?: SpawnCodexRpc;
|
|
2126
|
+
restartSession?: (sessionId: string) => Promise<RestartOutcome>;
|
|
2127
|
+
/** Called after every write so the daemon can republish its state. */
|
|
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;
|
|
2131
|
+
/** Test seam for the 1-token checks. */
|
|
2132
|
+
check?: (record: AccountRecord, secret: string) => Promise<AccountCheck>;
|
|
2133
|
+
};
|
|
2134
|
+
declare class AccountService {
|
|
2135
|
+
private readonly deps;
|
|
2136
|
+
private readonly home;
|
|
2137
|
+
private readonly env;
|
|
2138
|
+
private readonly now;
|
|
2139
|
+
private logins;
|
|
2140
|
+
private codexLogins;
|
|
2141
|
+
/** loginId → account to (re)write when its token arrives. */
|
|
2142
|
+
private readonly loginTargets;
|
|
2143
|
+
constructor(deps: AccountServiceDeps);
|
|
2144
|
+
state(): AgentProfilesState;
|
|
2145
|
+
private summary;
|
|
2146
|
+
private changed;
|
|
2147
|
+
private editable;
|
|
2148
|
+
add(params: unknown): Promise<AgentProfileSummary>;
|
|
2149
|
+
rename(accountId: unknown, label: unknown): AgentProfileSummary;
|
|
2150
|
+
/**
|
|
2151
|
+
* `force` with bound sessions: the credential is gone, so each of those
|
|
2152
|
+
* sessions restarts in place right away and comes back `unavailable`
|
|
2153
|
+
* (refusing turns, Q3) instead of running on the deleted credential until
|
|
2154
|
+
* its next start. Restarts run in parallel within the bind budget; one
|
|
2155
|
+
* still going reports 'pending'.
|
|
2156
|
+
*/
|
|
2157
|
+
remove(accountId: unknown, force: unknown): Promise<{
|
|
2158
|
+
removed: true;
|
|
2159
|
+
sessions: string[];
|
|
2160
|
+
restarts?: Record<string, string>;
|
|
2161
|
+
}>;
|
|
2162
|
+
/** 'done' | 'skipped' (not running here) | 'pending' (still going after the budget) | 'failed' */
|
|
2163
|
+
private restartWithinBudget;
|
|
2164
|
+
setDefault(agent: unknown, accountId: unknown): AgentProfilesState;
|
|
2165
|
+
private readSecretFor;
|
|
2166
|
+
test(accountId: unknown): Promise<AgentProfileSummary>;
|
|
2167
|
+
private checkCodexProvider;
|
|
2168
|
+
private loginManager;
|
|
2169
|
+
/** Also the terminal path (`very-happy account login`). */
|
|
2170
|
+
storeSubscriptionToken(token: string, target: {
|
|
2171
|
+
accountId?: string;
|
|
2172
|
+
label?: string;
|
|
2173
|
+
}): AgentProfileSummary;
|
|
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;
|
|
2188
|
+
private loginOp;
|
|
2189
|
+
loginSubmit(params: unknown): AgentProfileLoginStatus;
|
|
2190
|
+
loginStatus(loginId: unknown): AgentProfileLoginStatus;
|
|
2191
|
+
loginCancel(loginId: unknown): AgentProfileLoginStatus;
|
|
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>;
|
|
2195
|
+
/** Validates and writes a session binding (no restart). */
|
|
2196
|
+
writeBinding(sessionId: string, accountId: string | null, model?: string): void;
|
|
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;
|
|
2200
|
+
/**
|
|
2201
|
+
* Spawn-time choice → the account a NEW session starts on.
|
|
2202
|
+
* undefined → the machine default for this agent (none = machine login)
|
|
2203
|
+
* null → machine login
|
|
2204
|
+
* id → that account; must exist and be usable (Q3: never fall back)
|
|
2205
|
+
*/
|
|
2206
|
+
resolveSpawnAccount(agent: string, requested: unknown): string | null;
|
|
2207
|
+
}
|
|
2208
|
+
|
|
1866
2209
|
/** Agent-specific visible-screen adapters. Unknown is deliberately not idle. */
|
|
1867
2210
|
type CodingAgentKind = 'claude' | 'codex' | 'pi';
|
|
1868
2211
|
|
|
@@ -2001,6 +2344,8 @@ declare class ApiMachineClient {
|
|
|
2001
2344
|
private cliUpdateState;
|
|
2002
2345
|
private cliUpdatePushChain;
|
|
2003
2346
|
private claudeAuthState;
|
|
2347
|
+
/** B-850a: source of `daemonState.agentProfiles` (null = capability off). */
|
|
2348
|
+
private agentProfileService;
|
|
2004
2349
|
/** B-587: the machine's hibernation threshold, published as a capability. */
|
|
2005
2350
|
private agentHibernationIdleMs;
|
|
2006
2351
|
/** B-852: auto-restart setting + per-session status (null until the daemon installs it). */
|
|
@@ -2118,6 +2463,15 @@ declare class ApiMachineClient {
|
|
|
2118
2463
|
}>;
|
|
2119
2464
|
setStore: (store: 'auto' | 'file') => Promise<ClaudeAuthState>;
|
|
2120
2465
|
}): void;
|
|
2466
|
+
/**
|
|
2467
|
+
* B-850a: `agent-profile-*` RPCs + `daemonState.agentProfiles` (spec
|
|
2468
|
+
* 2026-11-session-accounts). Call before connect(): the connect snapshot
|
|
2469
|
+
* carries the list, so its presence with `daemonPid === pid` IS the
|
|
2470
|
+
* capability.
|
|
2471
|
+
*/
|
|
2472
|
+
setAgentProfileService(service: AccountService): void;
|
|
2473
|
+
/** B-850a: republish the account list (after an RPC / CLI edit / expiry tick). */
|
|
2474
|
+
publishAgentProfiles(): Promise<void>;
|
|
2121
2475
|
/** B-688 machine RPCs `model-config-*` (modules/modelConfig/modelConfigRpc.ts). */
|
|
2122
2476
|
setModelConfigService(service: ModelConfigService): void;
|
|
2123
2477
|
/**
|