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.
Files changed (214) hide show
  1. package/dist/{AcpBackend-CCy_9AfR.mjs → AcpBackend-B4PwjqHt.mjs} +3 -3
  2. package/dist/{AcpBackend-DgrIc1vH.cjs → AcpBackend-DtJCgftG.cjs} +3 -3
  3. package/dist/{AcpSessionManager-CQnxx7gD.mjs → AcpSessionManager-BzKWgkdP.mjs} +2 -2
  4. package/dist/{AcpSessionManager-DVOzCD3P.cjs → AcpSessionManager-D4qshX_H.cjs} +2 -2
  5. package/dist/{BasePermissionHandler-C9Ag7yvs.cjs → BasePermissionHandler-5iG-cvA2.cjs} +1 -1
  6. package/dist/{BasePermissionHandler-DYLN6Ec9.mjs → BasePermissionHandler-DV6UM6e9.mjs} +1 -1
  7. package/dist/account-Dco_nGT4.mjs +297 -0
  8. package/dist/account-DvpA60oU.cjs +302 -0
  9. package/dist/accountService-Cd7bnkfd.mjs +916 -0
  10. package/dist/accountService-CuUSJDhP.cjs +921 -0
  11. package/dist/{acpSessionResume-TvP_4Zq2.cjs → acpSessionResume-Bk9mjXZ9.cjs} +1 -1
  12. package/dist/{acpSessionResume-Bi7pA1n_.mjs → acpSessionResume-TQwN9ZZE.mjs} +1 -1
  13. package/dist/{agentHome-DGv105SR.mjs → agentHome-Bep8semY.mjs} +4 -4
  14. package/dist/{agentHome-DNUKJWOY.cjs → agentHome-c2dlgcw1.cjs} +4 -4
  15. package/dist/{api-BBxZ7y2z.cjs → api-CBE_a88I.cjs} +10 -10
  16. package/dist/{api-jfeMRg5R.mjs → api-DUfunY3x.mjs} +10 -10
  17. package/dist/{apiMachine-DqyjKBZG.cjs → apiMachine-BqtG0IWm.cjs} +83 -27
  18. package/dist/{apiMachine-DRJ7y-BB.mjs → apiMachine-CU_bw5nV.mjs} +78 -22
  19. package/dist/{attachmentContent-BO2njyza.cjs → attachmentContent-B3AzuYqk.cjs} +2 -2
  20. package/dist/{attachmentContent-Dm_RIs5L.mjs → attachmentContent-KNIZxwlu.mjs} +2 -2
  21. package/dist/{auth-BYDtjVNb.mjs → auth-CZ7pKS-j.mjs} +8 -8
  22. package/dist/{auth-DnxoVkkf.cjs → auth-DCjxpI6Z.cjs} +5 -5
  23. package/dist/{auth-DLR3ksCF.cjs → auth-SJ_dPw7H.cjs} +8 -8
  24. package/dist/{auth-DC6rg8lJ.mjs → auth-jN5dNqTO.mjs} +5 -5
  25. package/dist/{auto-CwO0u8hB.cjs → auto-B_59RYH1.cjs} +23 -21
  26. package/dist/{auto-D5Jhukq1.mjs → auto-DC0Sq-qB.mjs} +23 -21
  27. package/dist/{bootstrap-rLaL3kTa.mjs → bootstrap-B3gMpU9e.mjs} +2 -2
  28. package/dist/{bootstrap-sly4qPPY.cjs → bootstrap-CoJu9VnB.cjs} +2 -2
  29. package/dist/{browser-CHpVgyni.mjs → browser-LHW2hBH8.mjs} +1 -1
  30. package/dist/{browser-BTgZ9d4i.cjs → browser-v1pdPP1E.cjs} +1 -1
  31. package/dist/claudeAccountEnv-BL1pR_37.mjs +133 -0
  32. package/dist/claudeAccountEnv-CEX_EMZr.cjs +138 -0
  33. package/dist/{claudeLocal-Bgb5GGsq.mjs → claudeLocal-BZUgA5G2.mjs} +5 -5
  34. package/dist/{claudeLocal-1vuTFcL8.cjs → claudeLocal-BrzM2RBI.cjs} +5 -5
  35. package/dist/{claudeLocalLauncher-T7EfT68h.mjs → claudeLocalLauncher-A0AQyHFi.mjs} +10 -10
  36. package/dist/{claudeLocalLauncher-DOsL6HFY.cjs → claudeLocalLauncher-XAMpXUM7.cjs} +10 -10
  37. package/dist/{claudeSessionFork-Cko4SaVi.cjs → claudeSessionFork-Mhn2fYe_.cjs} +1 -1
  38. package/dist/{claudeSessionFork-CPvi6yDX.mjs → claudeSessionFork-_GwIlmMB.mjs} +1 -1
  39. package/dist/{client-BXD66ZF5.mjs → client-7RnI9J0W.mjs} +2 -2
  40. package/dist/{client-Bi20Ka0h.mjs → client-Bde4QVIn.mjs} +4 -2
  41. package/dist/{client-C5-C0t2a.cjs → client-CJr8Pjwm.cjs} +4 -2
  42. package/dist/{client-BscskEBk.cjs → client-D2GWkd-T.cjs} +2 -2
  43. package/dist/{client-C-OdTbrU.cjs → client-DLlnmAPL.cjs} +4 -4
  44. package/dist/{client-Bh1aUPh-.mjs → client-DwbhrX6D.mjs} +4 -4
  45. package/dist/codex/happyMcpStdioBridge.cjs +16 -16
  46. package/dist/codex/happyMcpStdioBridge.mjs +16 -16
  47. package/dist/codexAccount-BDQjRbtI.cjs +1028 -0
  48. package/dist/codexAccount-NOX5pmQf.mjs +1015 -0
  49. package/dist/{codexAppServerClient-DXhAf6i-.mjs → codexAppServerClient-B3QJV6Ey.mjs} +18 -7
  50. package/dist/{codexAppServerClient-DKXeikEe.cjs → codexAppServerClient-DWEsZUC4.cjs} +18 -7
  51. package/dist/{codexCommand-DvbbpYBS.cjs → codexCommand-Bg8AmxVm.cjs} +195 -63
  52. package/dist/{codexCommand-CIaOiiOj.mjs → codexCommand-D1xlj4sT.mjs} +196 -64
  53. package/dist/{codexTermination-BszWfyk5.cjs → codexTermination-ByX9GcEJ.cjs} +1 -1
  54. package/dist/{codexTermination-BcQdEDaw.mjs → codexTermination-CaWAVQjZ.mjs} +1 -1
  55. package/dist/{config-Di3Cf6js.cjs → config-B2GGbiTv.cjs} +3 -3
  56. package/dist/{config-OCEcVVK1.mjs → config-C2XYEwXz.mjs} +3 -3
  57. package/dist/{configuration-DfPBa-9d.cjs → configuration-BBK0rmmj.cjs} +1 -1
  58. package/dist/{configuration-ECqXu34R.mjs → configuration-ThKBP_zY.mjs} +1 -1
  59. package/dist/{connect-BTfAUhk8.mjs → connect-BirnCl9q.mjs} +13 -13
  60. package/dist/{connect-BPQRuOw5.cjs → connect-C3tZs_NC.cjs} +13 -13
  61. package/dist/{context-CfgTFpCB.mjs → context-C0EFLnOg.mjs} +1 -1
  62. package/dist/{context-Co7hUaW-.cjs → context-wDp0aZBK.cjs} +1 -1
  63. package/dist/{controlClient-ClI7A0qE.mjs → controlClient-Ckl8N1MS.mjs} +14 -5
  64. package/dist/{controlClient-C13_pSKG.cjs → controlClient-DwWTns3A.cjs} +15 -4
  65. package/dist/{createSessionMetadata-Cf78KHtt.cjs → createSessionMetadata-DqZ6h02H.cjs} +2 -2
  66. package/dist/{createSessionMetadata-B0eT_Kfj.mjs → createSessionMetadata-vug4Cv8z.mjs} +2 -2
  67. package/dist/daemonAccounts-CpGDY_4k.cjs +54 -0
  68. package/dist/daemonAccounts-DwPwKxvv.mjs +30 -0
  69. package/dist/{defaultPermissionMode-oqTupStc.cjs → defaultPermissionMode-BakXiqRr.cjs} +1 -1
  70. package/dist/{defaultPermissionMode-m6z2QVyP.mjs → defaultPermissionMode-DF5AfeBb.mjs} +1 -1
  71. package/dist/{deterministicJson-BtSwbsok.mjs → deterministicJson-BzX94gi3.mjs} +13 -13
  72. package/dist/{deterministicJson-CpFFgUL_.cjs → deterministicJson-t33SsuRC.cjs} +13 -13
  73. package/dist/{doctor-BEU0_1Xv.cjs → doctor-B9ug1LZb.cjs} +7 -7
  74. package/dist/{doctor-lsxmAK4o.mjs → doctor-C1zyOSXw.mjs} +7 -7
  75. package/dist/{downloadTarget-BXqXhNF7.mjs → downloadTarget-Baslc6jW.mjs} +6 -6
  76. package/dist/{downloadTarget-CikzJv1h.cjs → downloadTarget-T1id2Gh6.cjs} +6 -6
  77. package/dist/{ensureDaemonRunning-B_9WAlbU.mjs → ensureDaemonRunning-C6ERYK-O.mjs} +5 -5
  78. package/dist/{ensureDaemonRunning-BUuH-pbE.cjs → ensureDaemonRunning-CoAg11Zi.cjs} +5 -5
  79. package/dist/{handleResumeCommand-BK9XKH_l.mjs → handleResumeCommand-CrlqDuz7.mjs} +5 -5
  80. package/dist/{handleResumeCommand-Dj7oi2KO.cjs → handleResumeCommand-DPi-sPm7.cjs} +5 -5
  81. package/dist/{index-D3c7CLot.cjs → index-B1swQJUS.cjs} +4 -4
  82. package/dist/{index-CmZusg8Q.cjs → index-B2dJA8VG.cjs} +3 -3
  83. package/dist/{index-CLUHaPU8.cjs → index-BUFrKZeQ.cjs} +205 -5
  84. package/dist/{index-BjZnpGWX.mjs → index-BbdV2mzy.mjs} +3 -3
  85. package/dist/{index-BdOJOZ6J.mjs → index-BcSPg3c5.mjs} +4 -4
  86. package/dist/{index-CauRYQKr.cjs → index-Bkslzin5.cjs} +44 -40
  87. package/dist/{index-DuK9XYbZ.mjs → index-Cn73rdtQ.mjs} +4 -4
  88. package/dist/{index-Bq8NKSCF.mjs → index-D1YnIih6.mjs} +195 -6
  89. package/dist/{index-Cxso1rg4.mjs → index-fZO4nF6e.mjs} +45 -41
  90. package/dist/{index-Dg2NAF_-.cjs → index-rocrvOYG.cjs} +4 -4
  91. package/dist/index.cjs +2 -2
  92. package/dist/index.mjs +2 -2
  93. package/dist/{install-DXllkuy0.cjs → install-CArXjPfW.cjs} +3 -3
  94. package/dist/{install-DTIveLOS.mjs → install-CChhyV2G.mjs} +3 -3
  95. package/dist/lib.cjs +12 -12
  96. package/dist/lib.d.cts +354 -0
  97. package/dist/lib.d.mts +354 -0
  98. package/dist/lib.mjs +12 -12
  99. package/dist/{lidState-CD81ryTy.mjs → lidState-B6yYKjNK.mjs} +1 -1
  100. package/dist/{lidState-C9_DoF9i.cjs → lidState-B_v6qgfE.cjs} +1 -1
  101. package/dist/{localHappyAgentAuth-Cg-m1lwm.mjs → localHappyAgentAuth-KRlg_aI0.mjs} +1 -1
  102. package/dist/{localHappyAgentAuth-CCjUvOfi.cjs → localHappyAgentAuth-jJH0n67S.cjs} +1 -1
  103. package/dist/{logger-Ct2zvaq0.cjs → logger-CX3x2eI4.cjs} +2 -2
  104. package/dist/{logger-GcbI0eg2.mjs → logger-JV7-4Q_6.mjs} +2 -2
  105. package/dist/{machineMetadata-CXRmFNOV.mjs → machineMetadata-D5-SW9kv.mjs} +3 -3
  106. package/dist/{machineMetadata-DDCVWb_x.cjs → machineMetadata-DhZuM0iB.cjs} +3 -3
  107. package/dist/{main-BHC-WIcM.cjs → main-1x1HGQEy.cjs} +92 -48
  108. package/dist/{main-omGr_ONk.mjs → main-CFOdXbPD.mjs} +92 -48
  109. package/dist/{mcp-xUzii0m8.cjs → mcp-BnKBSEh7.cjs} +18 -15
  110. package/dist/{mcp-D5hxmRAq.mjs → mcp-R6lMcFLO.mjs} +18 -15
  111. package/dist/{mirrorProtocol-Lcx20Oby.mjs → mirrorProtocol-CD4ntuZJ.mjs} +3 -3
  112. package/dist/{mirrorProtocol-Dfl8Ahyf.cjs → mirrorProtocol-DO-KtvAL.cjs} +3 -3
  113. package/dist/{package-BsUHyqWe.mjs → package-Bw3H6VLn.mjs} +7 -7
  114. package/dist/{package-9n7wd2dT.cjs → package-uzlvxa5S.cjs} +7 -7
  115. package/dist/{panels-CpEKWWbI.mjs → panels-BamhZCoZ.mjs} +5 -5
  116. package/dist/{panels-BfknEmt7.cjs → panels-C46FxjmH.cjs} +5 -5
  117. package/dist/{peerTools-CElYh-5u.cjs → peerTools-D-VNNFw-.cjs} +5 -5
  118. package/dist/{peerTools-CwCe6tmJ.mjs → peerTools-WtRgTSqG.mjs} +5 -5
  119. package/dist/{persistence-Cpw4yJs8.mjs → persistence-Cg4sfjQV.mjs} +2 -2
  120. package/dist/{persistence-A2NeERZJ.cjs → persistence-CsmAgN-C.cjs} +2 -2
  121. package/dist/{piRunnerArgs-Bqmu16He.mjs → piRunnerArgs-BbaAQvb4.mjs} +2 -2
  122. package/dist/{piRunnerArgs-BnFU0K73.cjs → piRunnerArgs-vnFygygF.cjs} +1 -1
  123. package/dist/{piRuntime-Cgn1b0OX.mjs → piRuntime-Bid7TBf5.mjs} +1 -1
  124. package/dist/{piRuntime-DpS9TAIs.cjs → piRuntime-C2uj5Ucx.cjs} +1 -1
  125. package/dist/{piTerminal-rmve-VlI.cjs → piTerminal-Ckpjfoqa.cjs} +20 -17
  126. package/dist/{piTerminal-BGdps8f3.mjs → piTerminal-CqxgrI13.mjs} +20 -17
  127. package/dist/{pushNotifications-23YSd-0l.cjs → pushNotifications-BCg7YAiu.cjs} +5 -3
  128. package/dist/{pushNotifications-XAM8__Pg.mjs → pushNotifications-BbE-qV9I.mjs} +5 -3
  129. package/dist/{query-SZcYnJoW.mjs → query-Bfr9O_62.mjs} +1 -1
  130. package/dist/{query-u2GX-I0C.cjs → query-vQ-HG394.cjs} +1 -1
  131. package/dist/{rateLimitReporter-CaTzBe3x.cjs → rateLimitReporter-BZ8x0-6-.cjs} +3 -3
  132. package/dist/{rateLimitReporter-COUkf446.mjs → rateLimitReporter-CAz7VMw4.mjs} +3 -3
  133. package/dist/{rateLimitWindows-B2Kx6L0S.cjs → rateLimitWindows-BZl6GMwQ.cjs} +1 -1
  134. package/dist/{rateLimitWindows-j_qQk0KY.mjs → rateLimitWindows-CRARnKaI.mjs} +1 -1
  135. package/dist/reconnectEnv-B31lY4nR.cjs +27 -0
  136. package/dist/reconnectEnv-DeSvHl3q.mjs +24 -0
  137. package/dist/{registerCommonHandlers-D1MiSfcB.cjs → registerCommonHandlers-CZGmrPbT.cjs} +2 -2
  138. package/dist/{registerCommonHandlers-DRRfinzK.mjs → registerCommonHandlers-Cj3Nl9y-.mjs} +2 -2
  139. package/dist/{registerKillSessionHandler-Cpug_r5C.mjs → registerKillSessionHandler-Bg9t45Ub.mjs} +6 -6
  140. package/dist/{registerKillSessionHandler-hvCsEn7b.cjs → registerKillSessionHandler-C3EDnW4F.cjs} +6 -6
  141. package/dist/{remoteSessionClient-BdnJ_n8C.mjs → remoteSessionClient--0vfA7I5.mjs} +5 -5
  142. package/dist/{remoteSessionClient-6ymeMVa4.cjs → remoteSessionClient-CcSP24Zq.cjs} +5 -5
  143. package/dist/{reportProgressTool-XgQBzxoD.mjs → reportProgressTool-DVru7jc_.mjs} +3 -3
  144. package/dist/{reportProgressTool-tzQLCLIw.cjs → reportProgressTool-Ddg1yVq2.cjs} +3 -3
  145. package/dist/{run-DYL_wuj7.cjs → run-BTrIT_jU.cjs} +347 -856
  146. package/dist/{run-Bt0AklUU.mjs → run-HtvH6BLi.mjs} +346 -855
  147. package/dist/{runClaude-C3rii_S6.mjs → runClaude-DsHTk5Bu.mjs} +62 -44
  148. package/dist/{runClaude-CBEpYO4S.cjs → runClaude-ipjwAHPI.cjs} +62 -44
  149. package/dist/{runClaudeDeps-CYuozSC6.cjs → runClaudeDeps-BKpwL6ln.cjs} +51 -42
  150. package/dist/{runClaudeDeps-DlVfMG4F.mjs → runClaudeDeps-BV3vpeyY.mjs} +56 -47
  151. package/dist/{runGemini-CEI3b90u.cjs → runGemini-B-G0_7Ab.cjs} +33 -33
  152. package/dist/{runGemini-DkYhRk9S.mjs → runGemini-DhjK6_Fp.mjs} +33 -33
  153. package/dist/{runOpenClaw-DpprWCoz.mjs → runOpenClaw-B6lawk8n.mjs} +18 -18
  154. package/dist/{runOpenClaw-BgjD6E4d.cjs → runOpenClaw-BHIo8tkn.cjs} +18 -18
  155. package/dist/{sandbox-XCDUbH72.cjs → sandbox-BAsO0ILe.cjs} +4 -4
  156. package/dist/{sandbox-DJ7A7lsy.mjs → sandbox-CKb7pCXg.mjs} +4 -4
  157. package/dist/selfCheck-CZ-t1Xzq.mjs +88 -0
  158. package/dist/{selfCheck-BYUDB1Uq.cjs → selfCheck-D4VvVZNi.cjs} +39 -37
  159. package/dist/{send-CASDBCyJ.cjs → send-Cz5m39QR.cjs} +8 -8
  160. package/dist/{send-Ba63huxv.mjs → send-D8ipLKMY.mjs} +8 -8
  161. package/dist/{server-w3W0toNd.mjs → server-CjvgT3N9.mjs} +4 -4
  162. package/dist/{server-cZoV9XRt.cjs → server-CySyJKPH.cjs} +6 -6
  163. package/dist/{sessionLock-G2PMqvsh.mjs → sessionLock-B73fhgQN.mjs} +10 -4
  164. package/dist/{sessionLock-BmLA2S8K.cjs → sessionLock-DdDCuNUs.cjs} +10 -3
  165. package/dist/{sessionOps-DPw5k8vV.mjs → sessionOps-C65Iej_C.mjs} +50 -8
  166. package/dist/{sessionOps-DXlTmS7J.cjs → sessionOps-XSEjIqNq.cjs} +50 -8
  167. package/dist/sessionProvider-CLVNkfji.mjs +110 -0
  168. package/dist/sessionProvider-Dgsty8z_.cjs +115 -0
  169. package/dist/{sessionScanner-AHjnicxi.cjs → sessionScanner-D8IVXMMH.cjs} +3 -3
  170. package/dist/{sessionScanner-BCXpdZJN.mjs → sessionScanner-MW1P9Pm9.mjs} +3 -3
  171. package/dist/{sessions-BiBXOBx0.cjs → sessions-BKz7gZqg.cjs} +10 -10
  172. package/dist/{sessions-Clk8MR5Y.mjs → sessions-Dtk_agUL.mjs} +10 -10
  173. package/dist/{setupOfflineReconnection-DI-QZGYz.mjs → setupOfflineReconnection-Bvdy-2xd.mjs} +2 -2
  174. package/dist/{setupOfflineReconnection-BKLfOd-i.cjs → setupOfflineReconnection-DxMiW7OV.cjs} +2 -2
  175. package/dist/{spawn-D5omsx1Q.cjs → spawn-DiPkJcrQ.cjs} +36 -17
  176. package/dist/{spawn-4tsp1uhh.mjs → spawn-Dm4xsZBX.mjs} +36 -17
  177. package/dist/{spawnAgents-CtkkIFHd.cjs → spawnAgents-B9olJ8xn.cjs} +1 -1
  178. package/dist/{spawnAgents-CjoU6ZOS.mjs → spawnAgents-I29H9nO8.mjs} +1 -1
  179. package/dist/{spawnHappyCLI-CF_gLi92.cjs → spawnHappyCLI-BYGOUda1.cjs} +1 -1
  180. package/dist/{spawnHappyCLI-CIA9Sc_5.mjs → spawnHappyCLI-CnMwzjWX.mjs} +1 -1
  181. package/dist/{startFileWatcher-9Stpxe7p.cjs → startFileWatcher-D14W6gn-.cjs} +1 -1
  182. package/dist/{startFileWatcher-CDO6fb2m.mjs → startFileWatcher-DePAY1T5.mjs} +1 -1
  183. package/dist/{startupSessionCreate-BtR4iYEC.mjs → startupSessionCreate-DoK0IvJG.mjs} +3 -3
  184. package/dist/{startupSessionCreate-CcF7rGGB.cjs → startupSessionCreate-rBHd4tc1.cjs} +3 -3
  185. package/dist/store-CkNa6oj4.cjs +326 -0
  186. package/dist/store-Vej_738f.mjs +305 -0
  187. package/dist/{streamRelay-BhI6jqF-.cjs → streamRelay-C0G1HOOd.cjs} +1 -1
  188. package/dist/{streamRelay-DMwOMTKf.mjs → streamRelay-C5U-C4GS.mjs} +1 -1
  189. package/dist/{sync-C0PRuTMj.mjs → sync-BP6vnxVP.mjs} +1 -1
  190. package/dist/{sync-Ba8N6xba.cjs → sync-WYBwkJvG.cjs} +1 -1
  191. package/dist/{systemPrompt-DV5IReD4.cjs → systemPrompt-BkQlCk5_.cjs} +2 -2
  192. package/dist/{systemPrompt-D0q8eyjy.mjs → systemPrompt-aRqBmkpw.mjs} +2 -2
  193. package/dist/{teams-BO3_arwM.mjs → teams-CGmC4ygu.mjs} +7 -7
  194. package/dist/{teams-z3Gp-KlV.cjs → teams-phbpwAGD.cjs} +7 -7
  195. package/dist/{template-B_5l6pkc.cjs → template-B9pLEP8v.cjs} +2 -2
  196. package/dist/{template-DLR_0hfj.mjs → template-CL9EvQLQ.mjs} +2 -2
  197. package/dist/{time-Cy0a-7YX.cjs → time-BTLcO8jp.cjs} +1 -1
  198. package/dist/{time-D0jvDRhn.mjs → time-Cw0liIqB.mjs} +1 -1
  199. package/dist/{titleGenerator-RGHWP2YL.cjs → titleGenerator-Y1_7ceJC.cjs} +17 -13
  200. package/dist/{titleGenerator-AGQsXskb.mjs → titleGenerator-h6TmFe-c.mjs} +16 -12
  201. package/dist/{todo-CzIDPLFy.cjs → todo-BxiPiCvB.cjs} +6 -6
  202. package/dist/{todo-BZ954vsz.mjs → todo-OKcTC_VC.mjs} +6 -6
  203. package/dist/{tools-Bei5i03L.mjs → tools-BR-drXZ8.mjs} +3 -2
  204. package/dist/{tools-B1x1j6tz.cjs → tools-CcebYtLj.cjs} +3 -2
  205. package/dist/{uninstall-C3cnIvz1.cjs → uninstall-CnDeCC-M.cjs} +3 -3
  206. package/dist/{uninstall-B4T_e3Mr.mjs → uninstall-D3stWKD2.mjs} +3 -3
  207. package/dist/wrapperAccount-BkufO_9g.mjs +107 -0
  208. package/dist/wrapperAccount-D2A4DuZy.cjs +113 -0
  209. package/package.json +7 -7
  210. package/dist/providerBinding-B-Qbx9W2.cjs +0 -140
  211. package/dist/providerBinding-CYubGg-Z.mjs +0 -132
  212. package/dist/selfCheck-C-rNljKV.mjs +0 -86
  213. package/dist/sessionProvider-DUn91LhJ.mjs +0 -109
  214. package/dist/sessionProvider-Dg691XQ4.cjs +0 -114
@@ -2,7 +2,7 @@
2
2
 
3
3
  var node_fs = require('node:fs');
4
4
  var path = require('node:path');
5
- var configuration = require('./configuration-DfPBa-9d.cjs');
5
+ var configuration = require('./configuration-BBK0rmmj.cjs');
6
6
 
7
7
  const SESSION_MODE_DIR = "session-modes";
8
8
  const ACP_PERMISSION_MODES = ["default", "acceptEdits", "plan", "bypassPermissions"];
@@ -1,6 +1,6 @@
1
1
  import { mkdirSync, renameSync, existsSync, unlinkSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- import { w as writePrivateFileSync, c as configuration } from './configuration-ECqXu34R.mjs';
3
+ import { w as writePrivateFileSync, c as configuration } from './configuration-ThKBP_zY.mjs';
4
4
 
5
5
  const SESSION_MODE_DIR = "session-modes";
6
6
  const ACP_PERMISSION_MODES = ["default", "acceptEdits", "plan", "bypassPermissions"];
@@ -1,13 +1,13 @@
1
1
  import chalk from 'chalk';
2
2
  import { homedir } from 'node:os';
3
- import { r as readSettings, u as updateSettings } from './persistence-Cpw4yJs8.mjs';
3
+ import { r as readSettings, u as updateSettings } from './persistence-Cg4sfjQV.mjs';
4
4
  import 'node:fs';
5
- import './logger-GcbI0eg2.mjs';
5
+ import './logger-JV7-4Q_6.mjs';
6
6
  import { d as describeAgentHome, p as probeLoginShellEnv, r as resolveAgentHomes, e as expandHomePath, A as AGENT_HOME_ENV_NAMES } from './loginShellEnv-Dw8M7tkI.mjs';
7
7
  import 'node:fs/promises';
8
- import './configuration-ECqXu34R.mjs';
8
+ import './configuration-ThKBP_zY.mjs';
9
9
  import 'node:path';
10
- import './package-BsUHyqWe.mjs';
10
+ import './package-Bw3H6VLn.mjs';
11
11
  import 'zod';
12
12
  import './authRelay-DhQhkBvX.mjs';
13
13
  import 'node:crypto';
@@ -2,14 +2,14 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var os = require('node:os');
5
- var persistence = require('./persistence-A2NeERZJ.cjs');
5
+ var persistence = require('./persistence-CsmAgN-C.cjs');
6
6
  require('node:fs');
7
- require('./logger-Ct2zvaq0.cjs');
7
+ require('./logger-CX3x2eI4.cjs');
8
8
  var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
9
9
  require('node:fs/promises');
10
- require('./configuration-DfPBa-9d.cjs');
10
+ require('./configuration-BBK0rmmj.cjs');
11
11
  require('node:path');
12
- require('./package-9n7wd2dT.cjs');
12
+ require('./package-uzlvxa5S.cjs');
13
13
  require('zod');
14
14
  require('./authRelay-Dy1qU9td.cjs');
15
15
  require('node:crypto');
@@ -1,22 +1,22 @@
1
1
  'use strict';
2
2
 
3
3
  var axios = require('axios');
4
- var logger = require('./logger-Ct2zvaq0.cjs');
5
- var lidState = require('./lidState-C9_DoF9i.cjs');
4
+ var logger = require('./logger-CX3x2eI4.cjs');
5
+ var lidState = require('./lidState-B_v6qgfE.cjs');
6
6
  var node_events = require('node:events');
7
7
  var socket_ioClient = require('socket.io-client');
8
- var pushNotifications = require('./pushNotifications-23YSd-0l.cjs');
8
+ var pushNotifications = require('./pushNotifications-BCg7YAiu.cjs');
9
9
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
10
10
  var limits = require('./limits-C-a7gr04.cjs');
11
- var time = require('./time-Cy0a-7YX.cjs');
12
- var configuration = require('./configuration-DfPBa-9d.cjs');
11
+ var time = require('./time-BTLcO8jp.cjs');
12
+ var configuration = require('./configuration-BBK0rmmj.cjs');
13
13
  var node_crypto = require('node:crypto');
14
- var index = require('./index-CLUHaPU8.cjs');
15
- var registerCommonHandlers = require('./registerCommonHandlers-D1MiSfcB.cjs');
14
+ var index = require('./index-BUFrKZeQ.cjs');
15
+ var registerCommonHandlers = require('./registerCommonHandlers-CZGmrPbT.cjs');
16
16
  var cuid2 = require('@paralleldrive/cuid2');
17
- var sync = require('./sync-Ba8N6xba.cjs');
17
+ var sync = require('./sync-WYBwkJvG.cjs');
18
18
  var backgroundTaskActivity = require('./backgroundTaskActivity-CBvUdj39.cjs');
19
- var controlClient = require('./controlClient-C13_pSKG.cjs');
19
+ var controlClient = require('./controlClient-DwWTns3A.cjs');
20
20
  var chalk = require('chalk');
21
21
 
22
22
  async function hmac_sha512(key, data) {
@@ -3075,7 +3075,7 @@ class ApiClient {
3075
3075
  return new ApiSessionClient(this.credential.token, session, opts);
3076
3076
  }
3077
3077
  async machineSyncClient(machine) {
3078
- const { ApiMachineClient } = await Promise.resolve().then(function () { return require('./apiMachine-DqyjKBZG.cjs'); });
3078
+ const { ApiMachineClient } = await Promise.resolve().then(function () { return require('./apiMachine-BqtG0IWm.cjs'); });
3079
3079
  return new ApiMachineClient(this.credential.token, machine);
3080
3080
  }
3081
3081
  push() {
@@ -1,20 +1,20 @@
1
1
  import axios from 'axios';
2
- import { l as logger, r as redactLogValue } from './logger-GcbI0eg2.mjs';
3
- import { R as RpcHandlerManager, a as answerSocketRequest, c as connectGuarded, s as socketConnectGuard, d as describeSocketAckDrop, b as safeAck, i as isRateQuotaCode, p as pauseForRateQuota, e as shouldReconnect } from './lidState-CD81ryTy.mjs';
2
+ import { l as logger, r as redactLogValue } from './logger-JV7-4Q_6.mjs';
3
+ import { R as RpcHandlerManager, a as answerSocketRequest, c as connectGuarded, s as socketConnectGuard, d as describeSocketAckDrop, b as safeAck, i as isRateQuotaCode, p as pauseForRateQuota, e as shouldReconnect } from './lidState-B6yYKjNK.mjs';
4
4
  import { EventEmitter } from 'node:events';
5
5
  import { io } from 'socket.io-client';
6
- import { A as AsyncLock, a as MAX_CHAT_ATTACHMENT_ENCRYPTED_BYTES, U as UserMessageSchema, F as FileEventMessageSchema, P as PushNotificationClient } from './pushNotifications-XAM8__Pg.mjs';
6
+ import { A as AsyncLock, a as MAX_CHAT_ATTACHMENT_ENCRYPTED_BYTES, U as UserMessageSchema, F as FileEventMessageSchema, P as PushNotificationClient } from './pushNotifications-BbE-qV9I.mjs';
7
7
  import { h as decrypt, d as decodeBase64, i as decryptBlob, e as encodeBase64, g as encrypt, l as libsodiumEncryptForPublicKey, j as libsodiumPublicKeyFromSecretKey, k as getRandomBytes } from './authRelay-DhQhkBvX.mjs';
8
8
  import { p as prepareClipboardText, d as prepareClipboardHistoryText } from './limits-DIo7rEBR.mjs';
9
- import { b as backoff, d as delay, e as exponentialBackoffDelay } from './time-D0jvDRhn.mjs';
10
- import { c as configuration } from './configuration-ECqXu34R.mjs';
9
+ import { b as backoff, d as delay, e as exponentialBackoffDelay } from './time-Cw0liIqB.mjs';
10
+ import { c as configuration } from './configuration-ThKBP_zY.mjs';
11
11
  import { createHmac, randomUUID } from 'node:crypto';
12
- import { j as createEnvelope, s as streamKeyOf, W as ReleaseDrainNoticeSchema, X as RelayAssignmentResponseSchema } from './index-Bq8NKSCF.mjs';
13
- import { r as registerCommonHandlers } from './registerCommonHandlers-DRRfinzK.mjs';
12
+ import { k as createEnvelope, s as streamKeyOf, a3 as ReleaseDrainNoticeSchema, a4 as RelayAssignmentResponseSchema } from './index-D1YnIih6.mjs';
13
+ import { r as registerCommonHandlers } from './registerCommonHandlers-Cj3Nl9y-.mjs';
14
14
  import { createId } from '@paralleldrive/cuid2';
15
- import { I as InvalidateSync } from './sync-C0PRuTMj.mjs';
15
+ import { I as InvalidateSync } from './sync-BP6vnxVP.mjs';
16
16
  import { B as BackgroundTaskReporter } from './backgroundTaskActivity-8PdPxrvy.mjs';
17
- import { m as notifyDaemonTurnEvent, o as notifyDaemonBackgroundTasks } from './controlClient-ClI7A0qE.mjs';
17
+ import { q as notifyDaemonTurnEvent, t as notifyDaemonBackgroundTasks } from './controlClient-Ckl8N1MS.mjs';
18
18
  import chalk from 'chalk';
19
19
 
20
20
  async function hmac_sha512(key, data) {
@@ -3073,7 +3073,7 @@ class ApiClient {
3073
3073
  return new ApiSessionClient(this.credential.token, session, opts);
3074
3074
  }
3075
3075
  async machineSyncClient(machine) {
3076
- const { ApiMachineClient } = await import('./apiMachine-DRJ7y-BB.mjs');
3076
+ const { ApiMachineClient } = await import('./apiMachine-CU_bw5nV.mjs');
3077
3077
  return new ApiMachineClient(this.credential.token, machine);
3078
3078
  }
3079
3079
  push() {
@@ -2,62 +2,66 @@
2
2
 
3
3
  var socket_ioClient = require('socket.io-client');
4
4
  var webPanels = require('./webPanels-FCgFKvVe.cjs');
5
- var logger = require('./logger-Ct2zvaq0.cjs');
6
- var lidState = require('./lidState-C9_DoF9i.cjs');
7
- var mirrorProtocol = require('./mirrorProtocol-Dfl8Ahyf.cjs');
8
- var configuration = require('./configuration-DfPBa-9d.cjs');
5
+ var logger = require('./logger-CX3x2eI4.cjs');
6
+ var lidState = require('./lidState-B_v6qgfE.cjs');
7
+ var mirrorProtocol = require('./mirrorProtocol-DO-KtvAL.cjs');
8
+ var configuration = require('./configuration-BBK0rmmj.cjs');
9
9
  var cliUpdate = require('./cliUpdate-DsKXPFYp.cjs');
10
- var registerCommonHandlers = require('./registerCommonHandlers-D1MiSfcB.cjs');
10
+ var registerCommonHandlers = require('./registerCommonHandlers-CZGmrPbT.cjs');
11
11
  var promises = require('node:fs/promises');
12
12
  var path = require('node:path');
13
13
  var os = require('node:os');
14
14
  var fsMkdir = require('./fsMkdir-0K3yENml.cjs');
15
15
  var node_child_process = require('node:child_process');
16
- var persistence = require('./persistence-A2NeERZJ.cjs');
16
+ var persistence = require('./persistence-CsmAgN-C.cjs');
17
17
  var fileStore = require('./fileStore-7qhnbs6N.cjs');
18
+ var index = require('./index-BUFrKZeQ.cjs');
19
+ var accountService = require('./accountService-CuUSJDhP.cjs');
18
20
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
19
21
  var limits = require('./limits-C-a7gr04.cjs');
20
- var time = require('./time-Cy0a-7YX.cjs');
22
+ var time = require('./time-BTLcO8jp.cjs');
21
23
  var pty = require('node-pty');
22
24
  var terminals = require('./terminals-B_bfC9c2.cjs');
23
25
  var tmuxSocket = require('./tmuxSocket-D-Xt6Vn-.cjs');
24
- var index = require('./index-D3c7CLot.cjs');
26
+ var index$1 = require('./index-B1swQJUS.cjs');
25
27
  var node_crypto = require('node:crypto');
26
28
  var node_fs = require('node:fs');
27
29
  var axios = require('axios');
28
30
  var projectPath = require('./projectPath-C3ioB4Bu.cjs');
29
31
  var ids = require('./ids-B6ZC0HGt.cjs');
30
32
  var detectCLI = require('./detectCLI-BuYR_Qxe.cjs');
31
- var localHappyAgentAuth = require('./localHappyAgentAuth-CCjUvOfi.cjs');
33
+ var localHappyAgentAuth = require('./localHappyAgentAuth-jJH0n67S.cjs');
32
34
  var path$1 = require('./path-B7zW-WwE.cjs');
33
35
  var oneShotPrompts = require('./oneShotPrompts-CL0dip9C.cjs');
34
- var claudeSessionFork = require('./claudeSessionFork-Cko4SaVi.cjs');
35
- var codexAppServerClient = require('./codexAppServerClient-DKXeikEe.cjs');
36
- var index$1 = require('./index-CLUHaPU8.cjs');
36
+ var claudeSessionFork = require('./claudeSessionFork-Mhn2fYe_.cjs');
37
+ var codexAppServerClient = require('./codexAppServerClient-DWEsZUC4.cjs');
37
38
  var codexThreadFork = require('./codexThreadFork-5kwoKjMu.cjs');
38
- var rateLimitWindows = require('./rateLimitWindows-B2Kx6L0S.cjs');
39
+ var rateLimitWindows = require('./rateLimitWindows-BZl6GMwQ.cjs');
39
40
  require('chalk');
40
41
  require('node:util');
41
42
  require('os');
42
43
  require('child_process');
43
- require('./package-9n7wd2dT.cjs');
44
+ require('./package-uzlvxa5S.cjs');
44
45
  require('util');
45
46
  require('fs/promises');
46
47
  require('crypto');
47
48
  require('path');
48
49
  require('cross-spawn');
49
50
  require('zod');
51
+ require('@paralleldrive/cuid2');
52
+ require('./claudeAccountEnv-CEX_EMZr.cjs');
53
+ require('./store-CkNa6oj4.cjs');
54
+ require('./codexAccount-BDQjRbtI.cjs');
55
+ require('node:readline');
50
56
  require('tweetnacl');
51
57
  require('./terminalTitleSuggest-DhvRFX3H.cjs');
52
58
  require('./loginShellEnv-BkuYtExZ.cjs');
53
59
  require('url');
54
60
  require('fs');
55
- require('node:readline');
56
61
  require('./contentLogMetadata-ZSFk_NjQ.cjs');
57
62
  require('./manager-HrEj442o.cjs');
58
63
  require('@anthropic-ai/sandbox-runtime');
59
64
  require('./processTree-CMHWlVse.cjs');
60
- require('@paralleldrive/cuid2');
61
65
 
62
66
  function _interopNamespaceDefault(e) {
63
67
  var n = Object.create(null);
@@ -373,8 +377,8 @@ function registerTodoHandlers(manager) {
373
377
  });
374
378
  }
375
379
 
376
- const obj = (value) => value && typeof value === "object" ? value : {};
377
- async function guarded(fn) {
380
+ const obj$1 = (value) => value && typeof value === "object" ? value : {};
381
+ async function guarded$1(fn) {
378
382
  try {
379
383
  return await fn();
380
384
  } catch (error) {
@@ -383,9 +387,33 @@ async function guarded(fn) {
383
387
  }
384
388
  }
385
389
  function registerModelConfigHandlers(rpc, service) {
386
- rpc.registerHandler("model-config-read", (params) => guarded(() => service.read(obj(params))));
387
- rpc.registerHandler("model-config-apply", (params) => guarded(() => service.apply(obj(params))));
388
- rpc.registerHandler("model-config-restore", (params) => guarded(() => service.restore(obj(params))));
390
+ rpc.registerHandler("model-config-read", (params) => guarded$1(() => service.read(obj$1(params))));
391
+ rpc.registerHandler("model-config-apply", (params) => guarded$1(() => service.apply(obj$1(params))));
392
+ rpc.registerHandler("model-config-restore", (params) => guarded$1(() => service.restore(obj$1(params))));
393
+ }
394
+
395
+ const obj = (value) => value && typeof value === "object" ? value : {};
396
+ async function guarded(fn) {
397
+ try {
398
+ return await fn();
399
+ } catch (error) {
400
+ if (error instanceof accountService.AccountError) return { error: error.message, code: error.code, ...error.sessions ? { sessions: error.sessions } : {} };
401
+ return { error: error instanceof Error ? error.message : "Unknown error", code: "internal" };
402
+ }
403
+ }
404
+ function registerAgentProfileHandlers(rpc, service) {
405
+ const on = (method, fn) => rpc.registerHandler(method, (params) => guarded(() => fn(obj(params))));
406
+ on(index.AGENT_PROFILE_RPC.list, () => service.state());
407
+ on(index.AGENT_PROFILE_RPC.add, async (p) => ({ account: await service.add(p) }));
408
+ on(index.AGENT_PROFILE_RPC.loginStart, (p) => service.loginStart(p));
409
+ on(index.AGENT_PROFILE_RPC.loginSubmit, (p) => service.loginSubmit(p));
410
+ on(index.AGENT_PROFILE_RPC.loginStatus, (p) => service.loginStatus(p.loginId));
411
+ on(index.AGENT_PROFILE_RPC.loginCancel, (p) => service.loginCancel(p.loginId));
412
+ on(index.AGENT_PROFILE_RPC.test, async (p) => ({ account: await service.test(p.accountId) }));
413
+ on(index.AGENT_PROFILE_RPC.rename, (p) => ({ account: service.rename(p.accountId, p.label) }));
414
+ on(index.AGENT_PROFILE_RPC.remove, (p) => service.remove(p.accountId, p.force));
415
+ on(index.AGENT_PROFILE_RPC.setDefault, (p) => service.setDefault(p.agent, p.accountId === void 0 ? null : p.accountId));
416
+ on(index.AGENT_PROFILE_RPC.bind, (p) => service.bind(p));
389
417
  }
390
418
 
391
419
  function codingAgentFromProcessTree(panePid, snapshot) {
@@ -7901,7 +7929,7 @@ class WebTerminalManager {
7901
7929
  }
7902
7930
  },
7903
7931
  // B-478: every Claude config dir the user might have pointed a shell at.
7904
- conversationExists: (cwd, claudeSessionId) => index.locateClaudeConversation(cwd, claudeSessionId) !== null,
7932
+ conversationExists: (cwd, claudeSessionId) => index$1.locateClaudeConversation(cwd, claudeSessionId) !== null,
7905
7933
  // B-273: only consulted for records that were attach terminals.
7906
7934
  // Unbounded: the panel's 50-row cap must not hide a restore target.
7907
7935
  userSessions: record.attachTmux ? this.listUserTmuxSessions(Infinity) : [],
@@ -10254,7 +10282,7 @@ class HistorySearchService {
10254
10282
  }
10255
10283
 
10256
10284
  async function resolveHistoryRoots() {
10257
- const homes = await index.refreshAgentHomes(Date.now(), { allowStale: true });
10285
+ const homes = await index$1.refreshAgentHomes(Date.now(), { allowStale: true });
10258
10286
  return {
10259
10287
  claudeProjectsRoot: path.join(homes.claudeConfigDir.path, "projects"),
10260
10288
  codexSessionsRoot: path.join(homes.codexHome.path, "sessions"),
@@ -10362,7 +10390,7 @@ async function discoverAndClaimRelay(input) {
10362
10390
  signal
10363
10391
  });
10364
10392
  if (!discoveryResponse.ok) return null;
10365
- const discovery = index$1.RelayCandidatesResponseSchema.parse(await discoveryResponse.json());
10393
+ const discovery = index.RelayCandidatesResponseSchema.parse(await discoveryResponse.json());
10366
10394
  signal.throwIfAborted();
10367
10395
  if (!discovery.enabled || discovery.candidates.length === 0) return null;
10368
10396
  const probes = await probeRelayCandidates(discovery.candidates, { fetchImpl, signal });
@@ -10377,7 +10405,7 @@ async function discoverAndClaimRelay(input) {
10377
10405
  body: JSON.stringify({ relayId: selected.id, probes })
10378
10406
  });
10379
10407
  if (!claimResponse.ok) return null;
10380
- const claimed = index$1.RelayAssignmentResponseSchema.parse(await claimResponse.json());
10408
+ const claimed = index.RelayAssignmentResponseSchema.parse(await claimResponse.json());
10381
10409
  signal.throwIfAborted();
10382
10410
  return claimed.assignment ? { assignment: claimed.assignment, probes, switchTracker: decision.tracker } : null;
10383
10411
  });
@@ -10509,6 +10537,8 @@ class ApiMachineClient {
10509
10537
  cliUpdateState = null;
10510
10538
  cliUpdatePushChain = Promise.resolve();
10511
10539
  claudeAuthState = null;
10540
+ /** B-850a: source of `daemonState.agentProfiles` (null = capability off). */
10541
+ agentProfileService = null;
10512
10542
  /** B-587: the machine's hibernation threshold, published as a capability. */
10513
10543
  agentHibernationIdleMs = null;
10514
10544
  /** B-852: auto-restart setting + per-session status (null until the daemon installs it). */
@@ -10787,6 +10817,30 @@ class ApiMachineClient {
10787
10817
  return { claudeAuth };
10788
10818
  });
10789
10819
  }
10820
+ /**
10821
+ * B-850a: `agent-profile-*` RPCs + `daemonState.agentProfiles` (spec
10822
+ * 2026-11-session-accounts). Call before connect(): the connect snapshot
10823
+ * carries the list, so its presence with `daemonPid === pid` IS the
10824
+ * capability.
10825
+ */
10826
+ setAgentProfileService(service) {
10827
+ this.agentProfileService = service;
10828
+ registerAgentProfileHandlers(this.rpcHandlerManager, service);
10829
+ }
10830
+ /** B-850a: republish the account list (after an RPC / CLI edit / expiry tick). */
10831
+ publishAgentProfiles() {
10832
+ const service = this.agentProfileService;
10833
+ if (!service || !this.socket?.connected) return Promise.resolve();
10834
+ const attempt = this.cliUpdatePushChain.then(() => this.updateDaemonState((current) => ({
10835
+ ...current ?? {},
10836
+ status: current?.status ?? "running",
10837
+ agentProfiles: service.state()
10838
+ }))).catch((error) => {
10839
+ logger.logger.debug("[API MACHINE] Failed to publish agent profiles:", error);
10840
+ });
10841
+ this.cliUpdatePushChain = attempt.then(() => void 0);
10842
+ return attempt;
10843
+ }
10790
10844
  /** B-688 machine RPCs `model-config-*` (modules/modelConfig/modelConfigRpc.ts). */
10791
10845
  setModelConfigService(service) {
10792
10846
  registerModelConfigHandlers(this.rpcHandlerManager, service);
@@ -10815,12 +10869,13 @@ class ApiMachineClient {
10815
10869
  this.stopSessionHandler = stopSession;
10816
10870
  this.listTrackedSessionIds = listTrackedSessionIds ?? null;
10817
10871
  this.rpcHandlerManager.registerHandler("spawn-happy-session", async (params) => {
10872
+ const { agentProfileId } = params || {};
10818
10873
  const { directory, sessionId, machineId, approvedNewDirectoryCreation, agent, environmentVariables, token, resumeClaudeSessionId, resumeCodexThreadId, parentSessionId, forkedFromMessageId, importedFromClaudeSessionId, variant, forceNew, permissionMode, model } = params || {};
10819
10874
  logger.logger.debug("[API MACHINE] Spawning session:", mirrorProtocol.summarizeSpawnSessionForLog(params));
10820
10875
  if (!directory && variant !== "assistant") {
10821
10876
  throw new Error("Directory is required");
10822
10877
  }
10823
- const result = await spawnSession({ directory: directory || "", sessionId, machineId, approvedNewDirectoryCreation, agent, environmentVariables, token, resumeClaudeSessionId, resumeCodexThreadId, parentSessionId, forkedFromMessageId, importedFromClaudeSessionId: typeof importedFromClaudeSessionId === "string" ? importedFromClaudeSessionId : void 0, variant: variant === "assistant" ? "assistant" : void 0, forceNew: forceNew === true, model: typeof model === "string" ? model : void 0, permissionMode: typeof permissionMode === "string" ? permissionMode : void 0 });
10878
+ const result = await spawnSession({ directory: directory || "", sessionId, machineId, approvedNewDirectoryCreation, agent, environmentVariables, token, resumeClaudeSessionId, resumeCodexThreadId, parentSessionId, forkedFromMessageId, importedFromClaudeSessionId: typeof importedFromClaudeSessionId === "string" ? importedFromClaudeSessionId : void 0, variant: variant === "assistant" ? "assistant" : void 0, forceNew: forceNew === true, model: typeof model === "string" ? model : void 0, permissionMode: typeof permissionMode === "string" ? permissionMode : void 0, ...agentProfileId === null || typeof agentProfileId === "string" ? { agentProfileId } : {} });
10824
10879
  switch (result.type) {
10825
10880
  case "success":
10826
10881
  logger.logger.debug(`[API MACHINE] Spawned session ${result.sessionId}`);
@@ -11494,6 +11549,7 @@ class ApiMachineClient {
11494
11549
  // B-276: re-ship the last preflight so a reconnect never
11495
11550
  // leaves a stale-pid value visible longer than needed.
11496
11551
  ...this.claudeAuthState ? { claudeAuth: this.claudeAuthState } : {},
11552
+ ...this.agentProfileService ? { agentProfiles: this.agentProfileService.state() } : {},
11497
11553
  // B-587 capability + setting (same restamp discipline).
11498
11554
  ...this.agentHibernationIdleMs !== null ? { agentHibernation: { idleMs: this.agentHibernationIdleMs, rpcAvailable: true, detectedAt: now } } : {},
11499
11555
  // B-852 capability + setting + status (same restamp discipline).
@@ -11538,7 +11594,7 @@ class ApiMachineClient {
11538
11594
  });
11539
11595
  socket.on("server-draining", (data) => {
11540
11596
  if (this.socket !== socket) return;
11541
- const parsed = index$1.ReleaseDrainNoticeSchema.safeParse(data);
11597
+ const parsed = index.ReleaseDrainNoticeSchema.safeParse(data);
11542
11598
  if (!parsed.success || parsed.data.deadline <= Date.now()) return;
11543
11599
  void this.startReleaseHandover(parsed.data);
11544
11600
  });
@@ -1,61 +1,65 @@
1
1
  import { io } from 'socket.io-client';
2
2
  import { a as webPanelsSignature } from './webPanels-B2_C2-3g.mjs';
3
- import { l as logger } from './logger-GcbI0eg2.mjs';
4
- import { R as RpcHandlerManager, i as isRateQuotaCode, p as pauseForRateQuota, s as socketConnectGuard, c as connectGuarded, a as answerSocketRequest, e as shouldReconnect, d as describeSocketAckDrop } from './lidState-CD81ryTy.mjs';
5
- import { i as isClaudeSessionId, s as stableVersion, a as sanitizeTagList, p as pickMirrorForTerminal, l as liveSnapshotChanged, b as sanitizeLiveSnapshot, c as serializeLiveSnapshot, r as registerWorktreeHandlers, d as configureWorktreeService, e as summarizeSpawnSessionForLog, f as parseMirrorSendParams } from './mirrorProtocol-Lcx20Oby.mjs';
6
- import { c as configuration } from './configuration-ECqXu34R.mjs';
3
+ import { l as logger } from './logger-JV7-4Q_6.mjs';
4
+ import { R as RpcHandlerManager, i as isRateQuotaCode, p as pauseForRateQuota, s as socketConnectGuard, c as connectGuarded, a as answerSocketRequest, e as shouldReconnect, d as describeSocketAckDrop } from './lidState-B6yYKjNK.mjs';
5
+ import { i as isClaudeSessionId, s as stableVersion, a as sanitizeTagList, p as pickMirrorForTerminal, l as liveSnapshotChanged, b as sanitizeLiveSnapshot, c as serializeLiveSnapshot, r as registerWorktreeHandlers, d as configureWorktreeService, e as summarizeSpawnSessionForLog, f as parseMirrorSendParams } from './mirrorProtocol-CD4ntuZJ.mjs';
6
+ import { c as configuration } from './configuration-ThKBP_zY.mjs';
7
7
  import { w as withCurrentCliUpdateState } from './cliUpdate-Y34VGe9Y.mjs';
8
- import { r as registerCommonHandlers } from './registerCommonHandlers-DRRfinzK.mjs';
8
+ import { r as registerCommonHandlers } from './registerCommonHandlers-Cj3Nl9y-.mjs';
9
9
  import { stat, readdir, lstat, open, readFile, rm, mkdir, chmod, writeFile, rename } from 'node:fs/promises';
10
10
  import { join, isAbsolute, resolve } from 'node:path';
11
11
  import os, { homedir } from 'node:os';
12
12
  import { f as fsMkdir } from './fsMkdir-DumgLTzR.mjs';
13
13
  import { spawn, execFile, spawnSync } from 'node:child_process';
14
- import { r as readSettings, c as readPersistedSessions, p as readTrackedClaudeSessionIds, q as readTrackedCodexThreadIds } from './persistence-Cpw4yJs8.mjs';
14
+ import { r as readSettings, c as readPersistedSessions, p as readTrackedClaudeSessionIds, q as readTrackedCodexThreadIds } from './persistence-Cg4sfjQV.mjs';
15
15
  import { M as ModelConfigError } from './fileStore-5qpetZS0.mjs';
16
+ import { a7 as AGENT_PROFILE_RPC, a8 as RelayCandidatesResponseSchema, a4 as RelayAssignmentResponseSchema, a3 as ReleaseDrainNoticeSchema } from './index-D1YnIih6.mjs';
17
+ import { a as AccountError } from './accountService-Cd7bnkfd.mjs';
16
18
  import { e as encodeBase64, g as encrypt, h as decrypt, d as decodeBase64 } from './authRelay-DhQhkBvX.mjs';
17
19
  import { p as prepareClipboardText, d as prepareClipboardHistoryText } from './limits-DIo7rEBR.mjs';
18
- import { b as backoff, d as delay } from './time-D0jvDRhn.mjs';
20
+ import { b as backoff, d as delay } from './time-Cw0liIqB.mjs';
19
21
  import * as pty from 'node-pty';
20
22
  import { a as attachStartupCommand, v as validateTerminalTags, d as deriveAutoTitle, T as TMUX_SESSION_ID_RE, i as isSafeTmuxSessionName, b as isVhSessionName, U as USER_SESSIONS_FORMAT, p as parseUserSessions, L as LIST_SESSIONS_FORMAT, c as parseSessionListLine, e as LIST_FIELD_SEP, s as sendToVhTerminal } from './terminals-Dlg0x3nY.mjs';
21
23
  import { t as tmuxArgs, V as VH_TMUX_SOCKET_ENV, a as scrubTmuxClientEnv } from './tmuxSocket-B8Yx20sT.mjs';
22
- import { locateClaudeConversation, refreshAgentHomes } from './index-DuK9XYbZ.mjs';
24
+ import { locateClaudeConversation, refreshAgentHomes } from './index-Cn73rdtQ.mjs';
23
25
  import { randomBytes } from 'node:crypto';
24
26
  import { readdirSync, unlinkSync, existsSync, mkdirSync, writeFileSync, readFileSync, statSync, chmodSync, renameSync, rmSync, accessSync, constants } from 'node:fs';
25
27
  import axios from 'axios';
26
28
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
27
29
  import { a as isValidTerminalId } from './ids-DU6sLx4C.mjs';
28
30
  import { d as detectCLIAvailability } from './detectCLI-CSGMlV51.mjs';
29
- import { d as detectResumeSupport } from './localHappyAgentAuth-Cg-m1lwm.mjs';
31
+ import { d as detectResumeSupport } from './localHappyAgentAuth-KRlg_aI0.mjs';
30
32
  import { g as getProjectPath, a as getClaudeProjectsRoot } from './path-D2wdaNSk.mjs';
31
33
  import { i as isVeryHappyOneShotPrompt } from './oneShotPrompts-DT4p6RNd.mjs';
32
- import { f as forkSession, F as ForkSourceMissingError, d as discardForkedSession, l as listClaudeRewindPoints, a as forkAndTruncateSession, b as ForkTruncateUuidNotFoundError, c as forkBeforeUserMessage } from './claudeSessionFork-CPvi6yDX.mjs';
33
- import { C as CodexAppServerClient } from './codexAppServerClient-DXhAf6i-.mjs';
34
- import { _ as RelayCandidatesResponseSchema, X as RelayAssignmentResponseSchema, W as ReleaseDrainNoticeSchema } from './index-Bq8NKSCF.mjs';
34
+ import { f as forkSession, F as ForkSourceMissingError, d as discardForkedSession, l as listClaudeRewindPoints, a as forkAndTruncateSession, b as ForkTruncateUuidNotFoundError, c as forkBeforeUserMessage } from './claudeSessionFork-_GwIlmMB.mjs';
35
+ import { C as CodexAppServerClient } from './codexAppServerClient-B3QJV6Ey.mjs';
35
36
  import { f as forkCodexThread, C as CodexForkRewindPointNotFoundError, l as listCodexRewindPoints, a as forkCodexBeforeUserMessage } from './codexThreadFork-DobPd19R.mjs';
36
- import { p as planRateLimitWrite, m as mergeRateLimitReports } from './rateLimitWindows-j_qQk0KY.mjs';
37
+ import { p as planRateLimitWrite, m as mergeRateLimitReports } from './rateLimitWindows-CRARnKaI.mjs';
37
38
  import 'chalk';
38
39
  import 'node:util';
39
40
  import 'os';
40
41
  import 'child_process';
41
- import './package-BsUHyqWe.mjs';
42
+ import './package-Bw3H6VLn.mjs';
42
43
  import 'util';
43
44
  import 'fs/promises';
44
45
  import 'crypto';
45
46
  import 'path';
46
47
  import 'cross-spawn';
47
48
  import 'zod';
49
+ import '@paralleldrive/cuid2';
50
+ import './claudeAccountEnv-BL1pR_37.mjs';
51
+ import './store-Vej_738f.mjs';
52
+ import './codexAccount-NOX5pmQf.mjs';
53
+ import 'node:readline';
48
54
  import 'tweetnacl';
49
55
  import './terminalTitleSuggest-CeKsX_V6.mjs';
50
56
  import './loginShellEnv-Dw8M7tkI.mjs';
51
57
  import 'url';
52
58
  import 'fs';
53
- import 'node:readline';
54
59
  import './contentLogMetadata-BlWI0egu.mjs';
55
60
  import './manager-BEsI4qt3.mjs';
56
61
  import '@anthropic-ai/sandbox-runtime';
57
62
  import './processTree-CP5IvQ2Z.mjs';
58
- import '@paralleldrive/cuid2';
59
63
 
60
64
  const FS_LIST_MAX_ENTRIES = 2e3;
61
65
  const FS_READ_MAX_BYTES = 512 * 1024;
@@ -352,8 +356,8 @@ function registerTodoHandlers(manager) {
352
356
  });
353
357
  }
354
358
 
355
- const obj = (value) => value && typeof value === "object" ? value : {};
356
- async function guarded(fn) {
359
+ const obj$1 = (value) => value && typeof value === "object" ? value : {};
360
+ async function guarded$1(fn) {
357
361
  try {
358
362
  return await fn();
359
363
  } catch (error) {
@@ -362,9 +366,33 @@ async function guarded(fn) {
362
366
  }
363
367
  }
364
368
  function registerModelConfigHandlers(rpc, service) {
365
- rpc.registerHandler("model-config-read", (params) => guarded(() => service.read(obj(params))));
366
- rpc.registerHandler("model-config-apply", (params) => guarded(() => service.apply(obj(params))));
367
- rpc.registerHandler("model-config-restore", (params) => guarded(() => service.restore(obj(params))));
369
+ rpc.registerHandler("model-config-read", (params) => guarded$1(() => service.read(obj$1(params))));
370
+ rpc.registerHandler("model-config-apply", (params) => guarded$1(() => service.apply(obj$1(params))));
371
+ rpc.registerHandler("model-config-restore", (params) => guarded$1(() => service.restore(obj$1(params))));
372
+ }
373
+
374
+ const obj = (value) => value && typeof value === "object" ? value : {};
375
+ async function guarded(fn) {
376
+ try {
377
+ return await fn();
378
+ } catch (error) {
379
+ if (error instanceof AccountError) return { error: error.message, code: error.code, ...error.sessions ? { sessions: error.sessions } : {} };
380
+ return { error: error instanceof Error ? error.message : "Unknown error", code: "internal" };
381
+ }
382
+ }
383
+ function registerAgentProfileHandlers(rpc, service) {
384
+ const on = (method, fn) => rpc.registerHandler(method, (params) => guarded(() => fn(obj(params))));
385
+ on(AGENT_PROFILE_RPC.list, () => service.state());
386
+ on(AGENT_PROFILE_RPC.add, async (p) => ({ account: await service.add(p) }));
387
+ on(AGENT_PROFILE_RPC.loginStart, (p) => service.loginStart(p));
388
+ on(AGENT_PROFILE_RPC.loginSubmit, (p) => service.loginSubmit(p));
389
+ on(AGENT_PROFILE_RPC.loginStatus, (p) => service.loginStatus(p.loginId));
390
+ on(AGENT_PROFILE_RPC.loginCancel, (p) => service.loginCancel(p.loginId));
391
+ on(AGENT_PROFILE_RPC.test, async (p) => ({ account: await service.test(p.accountId) }));
392
+ on(AGENT_PROFILE_RPC.rename, (p) => ({ account: service.rename(p.accountId, p.label) }));
393
+ on(AGENT_PROFILE_RPC.remove, (p) => service.remove(p.accountId, p.force));
394
+ on(AGENT_PROFILE_RPC.setDefault, (p) => service.setDefault(p.agent, p.accountId === void 0 ? null : p.accountId));
395
+ on(AGENT_PROFILE_RPC.bind, (p) => service.bind(p));
368
396
  }
369
397
 
370
398
  function codingAgentFromProcessTree(panePid, snapshot) {
@@ -10488,6 +10516,8 @@ class ApiMachineClient {
10488
10516
  cliUpdateState = null;
10489
10517
  cliUpdatePushChain = Promise.resolve();
10490
10518
  claudeAuthState = null;
10519
+ /** B-850a: source of `daemonState.agentProfiles` (null = capability off). */
10520
+ agentProfileService = null;
10491
10521
  /** B-587: the machine's hibernation threshold, published as a capability. */
10492
10522
  agentHibernationIdleMs = null;
10493
10523
  /** B-852: auto-restart setting + per-session status (null until the daemon installs it). */
@@ -10766,6 +10796,30 @@ class ApiMachineClient {
10766
10796
  return { claudeAuth };
10767
10797
  });
10768
10798
  }
10799
+ /**
10800
+ * B-850a: `agent-profile-*` RPCs + `daemonState.agentProfiles` (spec
10801
+ * 2026-11-session-accounts). Call before connect(): the connect snapshot
10802
+ * carries the list, so its presence with `daemonPid === pid` IS the
10803
+ * capability.
10804
+ */
10805
+ setAgentProfileService(service) {
10806
+ this.agentProfileService = service;
10807
+ registerAgentProfileHandlers(this.rpcHandlerManager, service);
10808
+ }
10809
+ /** B-850a: republish the account list (after an RPC / CLI edit / expiry tick). */
10810
+ publishAgentProfiles() {
10811
+ const service = this.agentProfileService;
10812
+ if (!service || !this.socket?.connected) return Promise.resolve();
10813
+ const attempt = this.cliUpdatePushChain.then(() => this.updateDaemonState((current) => ({
10814
+ ...current ?? {},
10815
+ status: current?.status ?? "running",
10816
+ agentProfiles: service.state()
10817
+ }))).catch((error) => {
10818
+ logger.debug("[API MACHINE] Failed to publish agent profiles:", error);
10819
+ });
10820
+ this.cliUpdatePushChain = attempt.then(() => void 0);
10821
+ return attempt;
10822
+ }
10769
10823
  /** B-688 machine RPCs `model-config-*` (modules/modelConfig/modelConfigRpc.ts). */
10770
10824
  setModelConfigService(service) {
10771
10825
  registerModelConfigHandlers(this.rpcHandlerManager, service);
@@ -10794,12 +10848,13 @@ class ApiMachineClient {
10794
10848
  this.stopSessionHandler = stopSession;
10795
10849
  this.listTrackedSessionIds = listTrackedSessionIds ?? null;
10796
10850
  this.rpcHandlerManager.registerHandler("spawn-happy-session", async (params) => {
10851
+ const { agentProfileId } = params || {};
10797
10852
  const { directory, sessionId, machineId, approvedNewDirectoryCreation, agent, environmentVariables, token, resumeClaudeSessionId, resumeCodexThreadId, parentSessionId, forkedFromMessageId, importedFromClaudeSessionId, variant, forceNew, permissionMode, model } = params || {};
10798
10853
  logger.debug("[API MACHINE] Spawning session:", summarizeSpawnSessionForLog(params));
10799
10854
  if (!directory && variant !== "assistant") {
10800
10855
  throw new Error("Directory is required");
10801
10856
  }
10802
- const result = await spawnSession({ directory: directory || "", sessionId, machineId, approvedNewDirectoryCreation, agent, environmentVariables, token, resumeClaudeSessionId, resumeCodexThreadId, parentSessionId, forkedFromMessageId, importedFromClaudeSessionId: typeof importedFromClaudeSessionId === "string" ? importedFromClaudeSessionId : void 0, variant: variant === "assistant" ? "assistant" : void 0, forceNew: forceNew === true, model: typeof model === "string" ? model : void 0, permissionMode: typeof permissionMode === "string" ? permissionMode : void 0 });
10857
+ const result = await spawnSession({ directory: directory || "", sessionId, machineId, approvedNewDirectoryCreation, agent, environmentVariables, token, resumeClaudeSessionId, resumeCodexThreadId, parentSessionId, forkedFromMessageId, importedFromClaudeSessionId: typeof importedFromClaudeSessionId === "string" ? importedFromClaudeSessionId : void 0, variant: variant === "assistant" ? "assistant" : void 0, forceNew: forceNew === true, model: typeof model === "string" ? model : void 0, permissionMode: typeof permissionMode === "string" ? permissionMode : void 0, ...agentProfileId === null || typeof agentProfileId === "string" ? { agentProfileId } : {} });
10803
10858
  switch (result.type) {
10804
10859
  case "success":
10805
10860
  logger.debug(`[API MACHINE] Spawned session ${result.sessionId}`);
@@ -11473,6 +11528,7 @@ class ApiMachineClient {
11473
11528
  // B-276: re-ship the last preflight so a reconnect never
11474
11529
  // leaves a stale-pid value visible longer than needed.
11475
11530
  ...this.claudeAuthState ? { claudeAuth: this.claudeAuthState } : {},
11531
+ ...this.agentProfileService ? { agentProfiles: this.agentProfileService.state() } : {},
11476
11532
  // B-587 capability + setting (same restamp discipline).
11477
11533
  ...this.agentHibernationIdleMs !== null ? { agentHibernation: { idleMs: this.agentHibernationIdleMs, rpcAvailable: true, detectedAt: now } } : {},
11478
11534
  // B-852 capability + setting + status (same restamp discipline).
@@ -3,8 +3,8 @@
3
3
  var node_crypto = require('node:crypto');
4
4
  var promises = require('node:fs/promises');
5
5
  var path = require('node:path');
6
- var pushNotifications = require('./pushNotifications-23YSd-0l.cjs');
7
- var configuration = require('./configuration-DfPBa-9d.cjs');
6
+ var pushNotifications = require('./pushNotifications-BCg7YAiu.cjs');
7
+ var configuration = require('./configuration-BBK0rmmj.cjs');
8
8
 
9
9
  const CLAUDE_ATTACHMENT_KINDS = [
10
10
  "image/jpeg",
@@ -1,8 +1,8 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { writeFile, rename, unlink } from 'node:fs/promises';
3
3
  import { join, basename } from 'node:path';
4
- import { M as MAX_CHAT_ATTACHMENT_SOURCE_BYTES } from './pushNotifications-XAM8__Pg.mjs';
5
- import { e as ensurePrivateDirectory, h as hardenPrivateFile } from './configuration-ECqXu34R.mjs';
4
+ import { M as MAX_CHAT_ATTACHMENT_SOURCE_BYTES } from './pushNotifications-BbE-qV9I.mjs';
5
+ import { e as ensurePrivateDirectory, h as hardenPrivateFile } from './configuration-ThKBP_zY.mjs';
6
6
 
7
7
  const CLAUDE_ATTACHMENT_KINDS = [
8
8
  "image/jpeg",
@@ -1,11 +1,11 @@
1
1
  import chalk from 'chalk';
2
- import { g as readCredentials, r as readSettings, h as clearCredentials, i as clearMachineId } from './persistence-Cpw4yJs8.mjs';
3
- import { a as authAndSetupMachineIfNeeded } from './auth-DC6rg8lJ.mjs';
4
- import { c as configuration } from './configuration-ECqXu34R.mjs';
2
+ import { g as readCredentials, r as readSettings, h as clearCredentials, i as clearMachineId } from './persistence-Cg4sfjQV.mjs';
3
+ import { a as authAndSetupMachineIfNeeded } from './auth-jN5dNqTO.mjs';
4
+ import { c as configuration } from './configuration-ThKBP_zY.mjs';
5
5
  import { existsSync, rmSync } from 'node:fs';
6
6
  import { createInterface } from 'node:readline';
7
- import { b as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-ClI7A0qE.mjs';
8
- import { l as logger } from './logger-GcbI0eg2.mjs';
7
+ import { b as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-Ckl8N1MS.mjs';
8
+ import { l as logger } from './logger-JV7-4Q_6.mjs';
9
9
  import os from 'node:os';
10
10
  import { c as credentialRelayProblem } from './authRelay-DhQhkBvX.mjs';
11
11
  import 'node:fs/promises';
@@ -13,11 +13,11 @@ import 'zod';
13
13
  import 'node:crypto';
14
14
  import 'tweetnacl';
15
15
  import 'axios';
16
- import './time-D0jvDRhn.mjs';
17
- import './browser-CHpVgyni.mjs';
16
+ import './time-Cw0liIqB.mjs';
17
+ import './browser-LHW2hBH8.mjs';
18
18
  import 'open';
19
19
  import 'node:path';
20
- import './package-BsUHyqWe.mjs';
20
+ import './package-Bw3H6VLn.mjs';
21
21
  import 'node:util';
22
22
 
23
23
  function localMachineIdentityStatus(machineId) {