very-happy-cli 0.2.190 → 0.2.192

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/dist/{AcpBackend-dkRv9QHm.cjs → AcpBackend-BQO4ShOy.cjs} +3 -3
  2. package/dist/{AcpBackend-Dd1h-Rgt.mjs → AcpBackend-CGHTDJd9.mjs} +3 -3
  3. package/dist/{AcpSessionManager-QBZ-CIf7.mjs → AcpSessionManager-G0xD6Jbq.mjs} +2 -2
  4. package/dist/{AcpSessionManager-AqWAqahm.cjs → AcpSessionManager-LlUMmcpB.cjs} +2 -2
  5. package/dist/{BasePermissionHandler-CLp1ge-4.mjs → BasePermissionHandler-BmTIg376.mjs} +1 -1
  6. package/dist/{BasePermissionHandler-CpSugp7Z.cjs → BasePermissionHandler-N6Ip3tFt.cjs} +1 -1
  7. package/dist/account-CCVT-HO_.mjs +240 -0
  8. package/dist/account-DtaouikP.cjs +245 -0
  9. package/dist/accountService-Bddy0zwL.cjs +571 -0
  10. package/dist/accountService-Dd9uqde2.mjs +566 -0
  11. package/dist/{acpSessionResume-CcpDuIO5.mjs → acpSessionResume-BWEUxNtC.mjs} +1 -1
  12. package/dist/{acpSessionResume-CZao6QEd.cjs → acpSessionResume-BnHDk5eD.cjs} +1 -1
  13. package/dist/{agentHome-BJGRA2Kx.mjs → agentHome-B0VnjkZW.mjs} +4 -4
  14. package/dist/{agentHome-fIUqT-pn.cjs → agentHome-CqQ29YY7.cjs} +4 -4
  15. package/dist/{api-Dw8gFsQi.mjs → api-_LeBScjg.mjs} +10 -10
  16. package/dist/{api-CXL6jp-p.cjs → api-hMDsC6Wg.cjs} +10 -10
  17. package/dist/{apiMachine-BBNEtjf7.mjs → apiMachine-CgRldeJ6.mjs} +76 -21
  18. package/dist/{apiMachine-C6UqHoPF.cjs → apiMachine-CqW2m6Zr.cjs} +81 -26
  19. package/dist/{attachmentContent-NmVfKp-B.cjs → attachmentContent-BEeT2J5n.cjs} +2 -2
  20. package/dist/{attachmentContent-CC4yIrSm.mjs → attachmentContent-CyptLIfq.mjs} +2 -2
  21. package/dist/{auth-Bb_SL2os.cjs → auth-C9NvNHhL.cjs} +5 -5
  22. package/dist/{auth-DKa4MsAi.cjs → auth-CA1OClsW.cjs} +8 -8
  23. package/dist/{auth-Bh6SUoGi.mjs → auth-CFQikywl.mjs} +8 -8
  24. package/dist/{auth-Bj0psrD2.mjs → auth-DL8_J9vu.mjs} +5 -5
  25. package/dist/{auto-DK7pbCnV.mjs → auto-CKI05w1D.mjs} +17 -17
  26. package/dist/{auto-C9Qohh0P.cjs → auto-uQOxlxLp.cjs} +17 -17
  27. package/dist/{bootstrap-Ct9Nb4sv.mjs → bootstrap-DaZ0Np7X.mjs} +2 -2
  28. package/dist/{bootstrap-DBJB0y-H.cjs → bootstrap-DsZGc69k.cjs} +2 -2
  29. package/dist/{browser-BGxDRhHy.mjs → browser-BUIaSHK2.mjs} +1 -1
  30. package/dist/{browser-CLJWcodR.cjs → browser-Ft0ASDm7.cjs} +1 -1
  31. package/dist/claudeAccountEnv-BOBpJ3k8.cjs +137 -0
  32. package/dist/claudeAccountEnv-ON24i0qv.mjs +132 -0
  33. package/dist/{claudeLocal-Ux31hZyC.mjs → claudeLocal-B1ZVtryl.mjs} +5 -5
  34. package/dist/{claudeLocal-B6YDYlnY.cjs → claudeLocal-BMf9t4Fa.cjs} +5 -5
  35. package/dist/{claudeLocalLauncher-D06QijMw.mjs → claudeLocalLauncher-Bp8bqF4y.mjs} +10 -10
  36. package/dist/{claudeLocalLauncher-DFvmF8rC.cjs → claudeLocalLauncher-C8TeJcfF.cjs} +10 -10
  37. package/dist/{claudeSessionFork-D2GI7P59.mjs → claudeSessionFork-8AA47z8Y.mjs} +1 -1
  38. package/dist/{claudeSessionFork-DTLZ2rek.cjs → claudeSessionFork-YiktY55n.cjs} +1 -1
  39. package/dist/{client-CnGNYidN.mjs → client-Bm4oKvW7.mjs} +2 -2
  40. package/dist/{client-CtL0Vtww.mjs → client-BmPaBnDK.mjs} +4 -4
  41. package/dist/{client-CARZ_lNS.cjs → client-CFHZfh9x.cjs} +4 -4
  42. package/dist/{client-Bffkrs5p.cjs → client-Crh8_cNx.cjs} +2 -2
  43. package/dist/{client-DZkBUoh9.mjs → client-Cxlp_D4I.mjs} +2 -2
  44. package/dist/{client-CMKGrnmT.cjs → client-D8XROyZc.cjs} +2 -2
  45. package/dist/codex/happyMcpStdioBridge.cjs +16 -16
  46. package/dist/codex/happyMcpStdioBridge.mjs +16 -16
  47. package/dist/{codexAppServerClient-CLc5nhLT.mjs → codexAppServerClient-BWJbLCQn.mjs} +3 -3
  48. package/dist/{codexAppServerClient-CpT9F6EM.cjs → codexAppServerClient-q8GHQhyC.cjs} +3 -3
  49. package/dist/{codexCommand-Dliq3EBv.mjs → codexCommand-BfXfRQr4.mjs} +121 -61
  50. package/dist/{codexCommand-39kH99SJ.cjs → codexCommand-BgpGg-Zy.cjs} +121 -61
  51. package/dist/{codexTermination-ByW7tRjr.cjs → codexTermination-CVUF0X75.cjs} +1 -1
  52. package/dist/{codexTermination-ORIw0gpU.mjs → codexTermination-s9fd1gkA.mjs} +1 -1
  53. package/dist/{config-CeIzCsfj.cjs → config-BAjyTyYp.cjs} +3 -3
  54. package/dist/{config-CxSsGO1Z.mjs → config-BF8XgLyc.mjs} +3 -3
  55. package/dist/{configuration-Dt5lKW3P.cjs → configuration-CXEVKAyF.cjs} +1 -1
  56. package/dist/{configuration-Dechcvd-.mjs → configuration-IhRiLDVe.mjs} +1 -1
  57. package/dist/{connect-UwQHvCpR.mjs → connect-LZh1gr08.mjs} +13 -13
  58. package/dist/{connect-NPDzIVC6.cjs → connect-rCS56arw.cjs} +13 -13
  59. package/dist/{context-BdZssgF0.cjs → context-3_S_mWz9.cjs} +1 -1
  60. package/dist/{context-C9JbJoNe.mjs → context-DO6F5YwH.mjs} +1 -1
  61. package/dist/{controlClient-D7NGfmtq.mjs → controlClient-8ILulwjc.mjs} +14 -5
  62. package/dist/{controlClient-BRk65BRO.cjs → controlClient-j7p5p3_7.cjs} +15 -4
  63. package/dist/{createSessionMetadata-B_HZCDj_.cjs → createSessionMetadata-DwdD_uVo.cjs} +2 -2
  64. package/dist/{createSessionMetadata-DyhFKAby.mjs → createSessionMetadata-oyaTZm1b.mjs} +2 -2
  65. package/dist/daemonAccounts-BCjDgoNt.cjs +51 -0
  66. package/dist/daemonAccounts-BJgt6IJe.mjs +27 -0
  67. package/dist/defaultPermissionMode-BFShzF55.cjs +49 -0
  68. package/dist/defaultPermissionMode-Lt3PUCwY.mjs +43 -0
  69. package/dist/{deterministicJson-BEygolBQ.cjs → deterministicJson-DUN0v3St.cjs} +13 -13
  70. package/dist/{deterministicJson-DNmMVhFu.mjs → deterministicJson-Dfp-7wUZ.mjs} +13 -13
  71. package/dist/{doctor-BdBi7TFZ.mjs → doctor-B_UwMcVT.mjs} +7 -7
  72. package/dist/{doctor-B9lW1WlG.cjs → doctor-FgUYTbAT.cjs} +7 -7
  73. package/dist/{downloadTarget-DS0zT2AU.cjs → downloadTarget-BrrQEDxg.cjs} +6 -6
  74. package/dist/{downloadTarget-CGojGjaN.mjs → downloadTarget-C0d6jRx-.mjs} +6 -6
  75. package/dist/{ensureDaemonRunning-Bibp6vhe.cjs → ensureDaemonRunning-Cq4FYI5Q.cjs} +5 -5
  76. package/dist/{ensureDaemonRunning-BOdbryDM.mjs → ensureDaemonRunning-KUMFfIil.mjs} +5 -5
  77. package/dist/{handleResumeCommand-CgLzBYne.mjs → handleResumeCommand-BGhVo3QH.mjs} +5 -5
  78. package/dist/{handleResumeCommand-DXOuWr4p.cjs → handleResumeCommand-Cl9GIL5F.cjs} +5 -5
  79. package/dist/{index-Db0HIC-k.mjs → index-BjXjMhGY.mjs} +4 -4
  80. package/dist/{index-BOe6dKnL.cjs → index-BzAYnYct.cjs} +186 -0
  81. package/dist/{index-CwRW11hT.cjs → index-CQ_hLLCj.cjs} +3 -3
  82. package/dist/{index-DXSIi6j_.cjs → index-CRipkiqo.cjs} +4 -4
  83. package/dist/{index-Bs5FD8JF.cjs → index-CZaLMmPC.cjs} +4 -4
  84. package/dist/{index-CBHfkQNY.mjs → index-Ca1Tt96A.mjs} +45 -41
  85. package/dist/{index-f8oDidjV.cjs → index-D8ODb0_U.cjs} +44 -40
  86. package/dist/{index-DmqsRnV7.mjs → index-DYD3GM1m.mjs} +168 -1
  87. package/dist/{index-rNTX33in.mjs → index-JQDyJ3Li.mjs} +3 -3
  88. package/dist/{index-DUByZsKe.mjs → index-v5EmjT8l.mjs} +4 -4
  89. package/dist/index.cjs +2 -2
  90. package/dist/index.mjs +2 -2
  91. package/dist/{install-CXIL_FYx.cjs → install-ClUA9tbC.cjs} +3 -3
  92. package/dist/{install-DfPrEWGG.mjs → install-D6EHRtAN.mjs} +3 -3
  93. package/dist/lib.cjs +12 -12
  94. package/dist/lib.d.cts +292 -0
  95. package/dist/lib.d.mts +292 -0
  96. package/dist/lib.mjs +12 -12
  97. package/dist/{lidState-D0DF20oG.mjs → lidState-CZOXXdzv.mjs} +1 -1
  98. package/dist/{lidState-q_XFYg33.cjs → lidState-DqoN7zH4.cjs} +1 -1
  99. package/dist/{localHappyAgentAuth-CKNW-MXw.cjs → localHappyAgentAuth-BnGCpHRX.cjs} +1 -1
  100. package/dist/{localHappyAgentAuth-BBhM4Qk1.mjs → localHappyAgentAuth-YHxDZ4x4.mjs} +1 -1
  101. package/dist/{logger-BBRTTVsQ.cjs → logger-8su64lqR.cjs} +2 -2
  102. package/dist/{logger-CL7pin9b.mjs → logger-Fd_rNvgd.mjs} +2 -2
  103. package/dist/{machineMetadata-DP06qdBk.mjs → machineMetadata-1HIIC7Bc.mjs} +3 -3
  104. package/dist/{machineMetadata-DnFNlrVK.cjs → machineMetadata-DYXt3p6u.cjs} +3 -3
  105. package/dist/{main-DO7nRvhf.mjs → main-BI6GIzUL.mjs} +92 -48
  106. package/dist/{main-DLOXykOR.cjs → main-C_GrcYkn.cjs} +92 -48
  107. package/dist/{mcp-Du0MgR7e.cjs → mcp-BycIv9oQ.cjs} +18 -15
  108. package/dist/{mcp-C-4sPTae.mjs → mcp-XGoxywno.mjs} +18 -15
  109. package/dist/{mirrorProtocol-GuWMxLkh.cjs → mirrorProtocol-DVnB8EO8.cjs} +3 -3
  110. package/dist/{mirrorProtocol-dkq2ZENA.mjs → mirrorProtocol-DXT3rv7T.mjs} +3 -3
  111. package/dist/{package-C6uiXULx.mjs → package-6KkRAops.mjs} +7 -7
  112. package/dist/{package-DrY090nZ.cjs → package-iuLlSiSF.cjs} +7 -7
  113. package/dist/{panels-4DRBKHZP.cjs → panels-0C89q0Tu.cjs} +5 -5
  114. package/dist/{panels-DXYdJA6n.mjs → panels-B5Di2zb2.mjs} +5 -5
  115. package/dist/{peerTools-5ZM4spcZ.cjs → peerTools-CANTX_mG.cjs} +5 -5
  116. package/dist/{peerTools-dY1aJez4.mjs → peerTools-CKJ-IDM4.mjs} +5 -5
  117. package/dist/{persistence-Bl5S3TLB.cjs → persistence-B4ttN-fR.cjs} +2 -2
  118. package/dist/{persistence-Dogj7JIp.mjs → persistence-DWcHe035.mjs} +2 -2
  119. package/dist/{piRunnerArgs-C3jZ1M6b.cjs → piRunnerArgs-BOkfxyak.cjs} +1 -1
  120. package/dist/{piRunnerArgs-D8nN_Iit.mjs → piRunnerArgs-Bl5GpBoN.mjs} +2 -2
  121. package/dist/{piRuntime-BoeMsAXK.mjs → piRuntime-BhwxzdQf.mjs} +1 -1
  122. package/dist/{piRuntime-Bd9-eq6M.cjs → piRuntime-DzrIiZU8.cjs} +1 -1
  123. package/dist/{piTerminal-C3j1ca3x.cjs → piTerminal-BdS7ol7v.cjs} +20 -17
  124. package/dist/{piTerminal-GEPkIGD4.mjs → piTerminal-DnA2CbGr.mjs} +20 -17
  125. package/dist/{pushNotifications-CfspRcl-.cjs → pushNotifications-BqFoLye2.cjs} +12 -3
  126. package/dist/{pushNotifications-dUceOIni.mjs → pushNotifications-DkQ0yvFs.mjs} +12 -3
  127. package/dist/{query-DjsVgG3E.cjs → query-BQ4br3yn.cjs} +1 -1
  128. package/dist/{query-iYH-tm7L.mjs → query-BRJYSkb1.mjs} +1 -1
  129. package/dist/{rateLimitReporter-jeVi-fym.mjs → rateLimitReporter-BRbYkmuP.mjs} +3 -3
  130. package/dist/{rateLimitReporter-DUu2KydZ.cjs → rateLimitReporter-DK5SQuCc.cjs} +3 -3
  131. package/dist/{rateLimitWindows-Bx3ROBP5.cjs → rateLimitWindows-DBfiuYeg.cjs} +1 -1
  132. package/dist/{rateLimitWindows-CEn0DXaX.mjs → rateLimitWindows-Da5AR-4u.mjs} +1 -1
  133. package/dist/reconnectEnv-B31lY4nR.cjs +27 -0
  134. package/dist/reconnectEnv-DeSvHl3q.mjs +24 -0
  135. package/dist/{registerCommonHandlers-Beun-cQv.cjs → registerCommonHandlers-m6pxxf2J.cjs} +2 -2
  136. package/dist/{registerCommonHandlers-DWZ7mfdt.mjs → registerCommonHandlers-yQ7Ru-l0.mjs} +2 -2
  137. package/dist/{registerKillSessionHandler-CA1FFr_F.cjs → registerKillSessionHandler-BAOIa_Fs.cjs} +6 -6
  138. package/dist/{registerKillSessionHandler-CzgklwLG.mjs → registerKillSessionHandler-BDNpi7YO.mjs} +6 -6
  139. package/dist/{remoteSessionClient-BiC2KDew.mjs → remoteSessionClient-CZ7aaNgj.mjs} +5 -5
  140. package/dist/{remoteSessionClient-DGFI__5Z.cjs → remoteSessionClient-iJMXRN_D.cjs} +5 -5
  141. package/dist/{reportProgressTool-CgPy6n_7.mjs → reportProgressTool-DfQhPu0s.mjs} +3 -3
  142. package/dist/{reportProgressTool-CvPGov1F.cjs → reportProgressTool-DpFs7pSe.cjs} +3 -3
  143. package/dist/{run-B_gFgJVB.mjs → run-CwN28mcj.mjs} +215 -52
  144. package/dist/{run-rPqQwDi_.cjs → run-p-xp1_HY.cjs} +214 -51
  145. package/dist/{runClaude-DM8gm8iu.cjs → runClaude-D6U1Z575.cjs} +83 -48
  146. package/dist/{runClaude-CykqeXK7.mjs → runClaude-DRKtAGTm.mjs} +83 -48
  147. package/dist/{runClaudeDeps-D2phXGut.mjs → runClaudeDeps-BheVcIlD.mjs} +147 -69
  148. package/dist/{runClaudeDeps-DGAomimZ.cjs → runClaudeDeps-Dkofokgb.cjs} +142 -64
  149. package/dist/{runGemini-CXTeSOZp.cjs → runGemini-C8q3YCc0.cjs} +33 -33
  150. package/dist/{runGemini-CtWCVkj5.mjs → runGemini-owbvhFbi.mjs} +33 -33
  151. package/dist/{runOpenClaw-CH_9_RyZ.cjs → runOpenClaw-DGeN66-t.cjs} +18 -18
  152. package/dist/{runOpenClaw-BBdjlViJ.mjs → runOpenClaw-Dky3-mjO.mjs} +18 -18
  153. package/dist/{sandbox-Bb5IMun3.cjs → sandbox-D2CPyoCA.cjs} +4 -4
  154. package/dist/{sandbox-DGmXZ6Zz.mjs → sandbox-sq_wy9Gl.mjs} +4 -4
  155. package/dist/{selfCheck-CccwNTTK.cjs → selfCheck-BgLvQKSt.cjs} +39 -37
  156. package/dist/selfCheck-vkfrgQ7X.mjs +88 -0
  157. package/dist/{send-BpiXPkDo.cjs → send-Cd10YhXh.cjs} +8 -8
  158. package/dist/{send-B6rHg8GT.mjs → send-K9vg-8t-.mjs} +8 -8
  159. package/dist/{server-DHUzjApC.cjs → server-DRrV64r0.cjs} +6 -6
  160. package/dist/{server-BkdAyHhC.mjs → server-De4W1zuK.mjs} +4 -4
  161. package/dist/{sessionLock-BFBReiKq.cjs → sessionLock-BDtSzzKS.cjs} +10 -3
  162. package/dist/{sessionLock-Ca_bIo50.mjs → sessionLock-Dl6i7IgA.mjs} +10 -4
  163. package/dist/{sessionOps-DeWVqpe4.cjs → sessionOps-DvnEH4PL.cjs} +6 -4
  164. package/dist/{sessionOps-CA2kpm66.mjs → sessionOps-gU88-W9F.mjs} +6 -4
  165. package/dist/sessionProvider-CKcIo7KO.mjs +108 -0
  166. package/dist/sessionProvider-CbSZeZrl.cjs +113 -0
  167. package/dist/{sessionScanner-CGzsN8V6.cjs → sessionScanner-7RtcCeyD.cjs} +3 -3
  168. package/dist/{sessionScanner-DDDud5re.mjs → sessionScanner-DR32uSby.mjs} +3 -3
  169. package/dist/{sessions-CKJPWFgu.cjs → sessions-BvuMjgvJ.cjs} +10 -10
  170. package/dist/{sessions-B4d50sCI.mjs → sessions-DTt2Eguk.mjs} +10 -10
  171. package/dist/{setupOfflineReconnection-CyPNgyCe.mjs → setupOfflineReconnection-BGnvhRfb.mjs} +2 -2
  172. package/dist/{setupOfflineReconnection-DPXRo_zf.cjs → setupOfflineReconnection-DduOsw6p.cjs} +2 -2
  173. package/dist/{spawn-CrYN_OOT.mjs → spawn-CL3cUc7b.mjs} +26 -17
  174. package/dist/{spawn-CgSJzzWS.cjs → spawn-DMB6rRPA.cjs} +26 -17
  175. package/dist/{spawnAgents-C1-4m7aN.cjs → spawnAgents-CClb7buD.cjs} +8 -2
  176. package/dist/{spawnAgents-DWCDYCQ1.mjs → spawnAgents-CRMfOJhh.mjs} +8 -2
  177. package/dist/{spawnHappyCLI-DjbkiSH1.mjs → spawnHappyCLI-Cj_6IICe.mjs} +1 -1
  178. package/dist/{spawnHappyCLI-CTy3p6V_.cjs → spawnHappyCLI-DJdhX_Qx.cjs} +1 -1
  179. package/dist/{startFileWatcher-Dedtu1vq.mjs → startFileWatcher-DikVa8kg.mjs} +1 -1
  180. package/dist/{startFileWatcher-BQs0cJA-.cjs → startFileWatcher-LnOmVW6H.cjs} +1 -1
  181. package/dist/{startupSessionCreate-Dxy3X4DG.cjs → startupSessionCreate-B3ND-917.cjs} +3 -3
  182. package/dist/{startupSessionCreate-BKFU4v_h.mjs → startupSessionCreate-CDdaLaMq.mjs} +3 -3
  183. package/dist/store--XN-7MS0.mjs +269 -0
  184. package/dist/store-DV__wCvP.cjs +289 -0
  185. package/dist/{streamRelay-D9a4cBEa.cjs → streamRelay-DFdOaLOn.cjs} +1 -1
  186. package/dist/{streamRelay-P9e7Sohm.mjs → streamRelay-sABnxEXq.mjs} +1 -1
  187. package/dist/{sync-eZkXnsW_.mjs → sync-JoEZKRo8.mjs} +1 -1
  188. package/dist/{sync-DtWB7RzA.cjs → sync-_2lsZ1U2.cjs} +1 -1
  189. package/dist/{systemPrompt-2XOpZ1j6.cjs → systemPrompt-CJEvNCuW.cjs} +2 -2
  190. package/dist/{systemPrompt-Bn6g6aCH.mjs → systemPrompt-Zq4HyrZ5.mjs} +2 -2
  191. package/dist/{teams-ecFay4Gn.cjs → teams-BNZafnrT.cjs} +7 -7
  192. package/dist/{teams-nadkqrbW.mjs → teams-qz4LqKJ2.mjs} +7 -7
  193. package/dist/{template-BiTD-jI9.mjs → template-CJ8BWSsc.mjs} +1 -1
  194. package/dist/{template-17HATY_Y.cjs → template-LgvBbOna.cjs} +1 -1
  195. package/dist/{time-gPD_EmA-.cjs → time-CaUlWSNJ.cjs} +1 -1
  196. package/dist/{time-CN3TuSVG.mjs → time-bzmet4s5.mjs} +1 -1
  197. package/dist/{titleGenerator-lT5ldPuN.cjs → titleGenerator-BuIIu_JP.cjs} +17 -13
  198. package/dist/{titleGenerator-DgzTQdn2.mjs → titleGenerator-CbTtJ_1D.mjs} +16 -12
  199. package/dist/{todo-B1VeMk5A.cjs → todo-CQ_BTf9C.cjs} +6 -6
  200. package/dist/{todo-BIxd7l2Q.mjs → todo-DIrVF_Ak.mjs} +6 -6
  201. package/dist/{tools-DvqbLsCF.cjs → tools-BnmmFZji.cjs} +1 -1
  202. package/dist/{tools-zXJpxiG_.mjs → tools-cLOjBvPn.mjs} +1 -1
  203. package/dist/{uninstall-9htK6mb7.mjs → uninstall-C5OuW6dE.mjs} +3 -3
  204. package/dist/{uninstall-CvIOpwB5.cjs → uninstall-uEEGKB84.cjs} +3 -3
  205. package/dist/wrapperAccount-DXlD3bsO.mjs +106 -0
  206. package/dist/wrapperAccount-DzoGqS2b.cjs +110 -0
  207. package/package.json +7 -7
  208. package/dist/defaultPermissionMode-BnxJPVHT.mjs +0 -4
  209. package/dist/defaultPermissionMode-CxmTXUQR.cjs +0 -7
  210. package/dist/providerBinding-B-Qbx9W2.cjs +0 -140
  211. package/dist/providerBinding-CYubGg-Z.mjs +0 -132
  212. package/dist/selfCheck-BfK945YQ.mjs +0 -86
  213. package/dist/sessionProvider-VFbtUmMR.cjs +0 -114
  214. package/dist/sessionProvider-g18IiK74.mjs +0 -109
@@ -1,22 +1,22 @@
1
1
  'use strict';
2
2
 
3
3
  var axios = require('axios');
4
- var logger = require('./logger-BBRTTVsQ.cjs');
5
- var lidState = require('./lidState-q_XFYg33.cjs');
4
+ var logger = require('./logger-8su64lqR.cjs');
5
+ var lidState = require('./lidState-DqoN7zH4.cjs');
6
6
  var node_events = require('node:events');
7
7
  var socket_ioClient = require('socket.io-client');
8
- var pushNotifications = require('./pushNotifications-CfspRcl-.cjs');
8
+ var pushNotifications = require('./pushNotifications-BqFoLye2.cjs');
9
9
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
10
10
  var limits = require('./limits-C-a7gr04.cjs');
11
- var time = require('./time-gPD_EmA-.cjs');
12
- var configuration = require('./configuration-Dt5lKW3P.cjs');
11
+ var time = require('./time-CaUlWSNJ.cjs');
12
+ var configuration = require('./configuration-CXEVKAyF.cjs');
13
13
  var node_crypto = require('node:crypto');
14
- var index = require('./index-BOe6dKnL.cjs');
15
- var registerCommonHandlers = require('./registerCommonHandlers-Beun-cQv.cjs');
14
+ var index = require('./index-BzAYnYct.cjs');
15
+ var registerCommonHandlers = require('./registerCommonHandlers-m6pxxf2J.cjs');
16
16
  var cuid2 = require('@paralleldrive/cuid2');
17
- var sync = require('./sync-DtWB7RzA.cjs');
17
+ var sync = require('./sync-_2lsZ1U2.cjs');
18
18
  var backgroundTaskActivity = require('./backgroundTaskActivity-CBvUdj39.cjs');
19
- var controlClient = require('./controlClient-BRk65BRO.cjs');
19
+ var controlClient = require('./controlClient-j7p5p3_7.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-C6UqHoPF.cjs'); });
3078
+ const { ApiMachineClient } = await Promise.resolve().then(function () { return require('./apiMachine-CqW2m6Zr.cjs'); });
3079
3079
  return new ApiMachineClient(this.credential.token, machine);
3080
3080
  }
3081
3081
  push() {
@@ -1,50 +1,54 @@
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-CL7pin9b.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-D0DF20oG.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-dkq2ZENA.mjs';
6
- import { c as configuration } from './configuration-Dechcvd-.mjs';
3
+ import { l as logger } from './logger-Fd_rNvgd.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-CZOXXdzv.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-DXT3rv7T.mjs';
6
+ import { c as configuration } from './configuration-IhRiLDVe.mjs';
7
7
  import { w as withCurrentCliUpdateState } from './cliUpdate-Y34VGe9Y.mjs';
8
- import { r as registerCommonHandlers } from './registerCommonHandlers-DWZ7mfdt.mjs';
8
+ import { r as registerCommonHandlers } from './registerCommonHandlers-yQ7Ru-l0.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-Dogj7JIp.mjs';
14
+ import { r as readSettings, c as readPersistedSessions, p as readTrackedClaudeSessionIds, q as readTrackedCodexThreadIds } from './persistence-DWcHe035.mjs';
15
15
  import { M as ModelConfigError } from './fileStore-5qpetZS0.mjs';
16
+ import { a4 as AGENT_PROFILE_RPC, a5 as RelayCandidatesResponseSchema, a1 as RelayAssignmentResponseSchema, a0 as ReleaseDrainNoticeSchema } from './index-DYD3GM1m.mjs';
17
+ import { a as AccountError } from './accountService-Dd9uqde2.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-CN3TuSVG.mjs';
20
+ import { b as backoff, d as delay } from './time-bzmet4s5.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-DUByZsKe.mjs';
24
+ import { locateClaudeConversation, refreshAgentHomes } from './index-v5EmjT8l.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-BBhM4Qk1.mjs';
31
+ import { d as detectResumeSupport } from './localHappyAgentAuth-YHxDZ4x4.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-D2GI7P59.mjs';
33
- import { C as CodexAppServerClient } from './codexAppServerClient-CLc5nhLT.mjs';
34
- import { L as RelayCandidatesResponseSchema, I as RelayAssignmentResponseSchema, R as ReleaseDrainNoticeSchema } from './index-DmqsRnV7.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-8AA47z8Y.mjs';
35
+ import { C as CodexAppServerClient } from './codexAppServerClient-BWJbLCQn.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-CEn0DXaX.mjs';
37
+ import { p as planRateLimitWrite, m as mergeRateLimitReports } from './rateLimitWindows-Da5AR-4u.mjs';
37
38
  import 'chalk';
38
39
  import 'node:util';
39
40
  import 'os';
40
41
  import 'child_process';
41
- import './package-C6uiXULx.mjs';
42
+ import './package-6KkRAops.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-ON24i0qv.mjs';
51
+ import './store--XN-7MS0.mjs';
48
52
  import 'tweetnacl';
49
53
  import './terminalTitleSuggest-CeKsX_V6.mjs';
50
54
  import './loginShellEnv-Dw8M7tkI.mjs';
@@ -55,7 +59,6 @@ import './contentLogMetadata-BlWI0egu.mjs';
55
59
  import './manager-BEsI4qt3.mjs';
56
60
  import '@anthropic-ai/sandbox-runtime';
57
61
  import './processTree-CP5IvQ2Z.mjs';
58
- import '@paralleldrive/cuid2';
59
62
 
60
63
  const FS_LIST_MAX_ENTRIES = 2e3;
61
64
  const FS_READ_MAX_BYTES = 512 * 1024;
@@ -352,8 +355,8 @@ function registerTodoHandlers(manager) {
352
355
  });
353
356
  }
354
357
 
355
- const obj = (value) => value && typeof value === "object" ? value : {};
356
- async function guarded(fn) {
358
+ const obj$1 = (value) => value && typeof value === "object" ? value : {};
359
+ async function guarded$1(fn) {
357
360
  try {
358
361
  return await fn();
359
362
  } catch (error) {
@@ -362,9 +365,33 @@ async function guarded(fn) {
362
365
  }
363
366
  }
364
367
  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))));
368
+ rpc.registerHandler("model-config-read", (params) => guarded$1(() => service.read(obj$1(params))));
369
+ rpc.registerHandler("model-config-apply", (params) => guarded$1(() => service.apply(obj$1(params))));
370
+ rpc.registerHandler("model-config-restore", (params) => guarded$1(() => service.restore(obj$1(params))));
371
+ }
372
+
373
+ const obj = (value) => value && typeof value === "object" ? value : {};
374
+ async function guarded(fn) {
375
+ try {
376
+ return await fn();
377
+ } catch (error) {
378
+ if (error instanceof AccountError) return { error: error.message, code: error.code, ...error.sessions ? { sessions: error.sessions } : {} };
379
+ return { error: error instanceof Error ? error.message : "Unknown error", code: "internal" };
380
+ }
381
+ }
382
+ function registerAgentProfileHandlers(rpc, service) {
383
+ const on = (method, fn) => rpc.registerHandler(method, (params) => guarded(() => fn(obj(params))));
384
+ on(AGENT_PROFILE_RPC.list, () => service.state());
385
+ on(AGENT_PROFILE_RPC.add, async (p) => ({ account: await service.add(p) }));
386
+ on(AGENT_PROFILE_RPC.loginStart, (p) => service.loginStart(p));
387
+ on(AGENT_PROFILE_RPC.loginSubmit, (p) => service.loginSubmit(p));
388
+ on(AGENT_PROFILE_RPC.loginStatus, (p) => service.loginStatus(p.loginId));
389
+ on(AGENT_PROFILE_RPC.loginCancel, (p) => service.loginCancel(p.loginId));
390
+ on(AGENT_PROFILE_RPC.test, async (p) => ({ account: await service.test(p.accountId) }));
391
+ on(AGENT_PROFILE_RPC.rename, (p) => ({ account: service.rename(p.accountId, p.label) }));
392
+ on(AGENT_PROFILE_RPC.remove, (p) => service.remove(p.accountId, p.force));
393
+ on(AGENT_PROFILE_RPC.setDefault, (p) => service.setDefault(p.agent, p.accountId === void 0 ? null : p.accountId));
394
+ on(AGENT_PROFILE_RPC.bind, (p) => service.bind(p));
368
395
  }
369
396
 
370
397
  function codingAgentFromProcessTree(panePid, snapshot) {
@@ -10488,6 +10515,8 @@ class ApiMachineClient {
10488
10515
  cliUpdateState = null;
10489
10516
  cliUpdatePushChain = Promise.resolve();
10490
10517
  claudeAuthState = null;
10518
+ /** B-850a: source of `daemonState.agentProfiles` (null = capability off). */
10519
+ agentProfileService = null;
10491
10520
  /** B-587: the machine's hibernation threshold, published as a capability. */
10492
10521
  agentHibernationIdleMs = null;
10493
10522
  /** B-852: auto-restart setting + per-session status (null until the daemon installs it). */
@@ -10766,6 +10795,30 @@ class ApiMachineClient {
10766
10795
  return { claudeAuth };
10767
10796
  });
10768
10797
  }
10798
+ /**
10799
+ * B-850a: `agent-profile-*` RPCs + `daemonState.agentProfiles` (spec
10800
+ * 2026-11-session-accounts). Call before connect(): the connect snapshot
10801
+ * carries the list, so its presence with `daemonPid === pid` IS the
10802
+ * capability.
10803
+ */
10804
+ setAgentProfileService(service) {
10805
+ this.agentProfileService = service;
10806
+ registerAgentProfileHandlers(this.rpcHandlerManager, service);
10807
+ }
10808
+ /** B-850a: republish the account list (after an RPC / CLI edit / expiry tick). */
10809
+ publishAgentProfiles() {
10810
+ const service = this.agentProfileService;
10811
+ if (!service || !this.socket?.connected) return Promise.resolve();
10812
+ const attempt = this.cliUpdatePushChain.then(() => this.updateDaemonState((current) => ({
10813
+ ...current ?? {},
10814
+ status: current?.status ?? "running",
10815
+ agentProfiles: service.state()
10816
+ }))).catch((error) => {
10817
+ logger.debug("[API MACHINE] Failed to publish agent profiles:", error);
10818
+ });
10819
+ this.cliUpdatePushChain = attempt.then(() => void 0);
10820
+ return attempt;
10821
+ }
10769
10822
  /** B-688 machine RPCs `model-config-*` (modules/modelConfig/modelConfigRpc.ts). */
10770
10823
  setModelConfigService(service) {
10771
10824
  registerModelConfigHandlers(this.rpcHandlerManager, service);
@@ -10794,12 +10847,13 @@ class ApiMachineClient {
10794
10847
  this.stopSessionHandler = stopSession;
10795
10848
  this.listTrackedSessionIds = listTrackedSessionIds ?? null;
10796
10849
  this.rpcHandlerManager.registerHandler("spawn-happy-session", async (params) => {
10850
+ const { agentProfileId } = params || {};
10797
10851
  const { directory, sessionId, machineId, approvedNewDirectoryCreation, agent, environmentVariables, token, resumeClaudeSessionId, resumeCodexThreadId, parentSessionId, forkedFromMessageId, importedFromClaudeSessionId, variant, forceNew, permissionMode, model } = params || {};
10798
10852
  logger.debug("[API MACHINE] Spawning session:", summarizeSpawnSessionForLog(params));
10799
10853
  if (!directory && variant !== "assistant") {
10800
10854
  throw new Error("Directory is required");
10801
10855
  }
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 });
10856
+ 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
10857
  switch (result.type) {
10804
10858
  case "success":
10805
10859
  logger.debug(`[API MACHINE] Spawned session ${result.sessionId}`);
@@ -11473,6 +11527,7 @@ class ApiMachineClient {
11473
11527
  // B-276: re-ship the last preflight so a reconnect never
11474
11528
  // leaves a stale-pid value visible longer than needed.
11475
11529
  ...this.claudeAuthState ? { claudeAuth: this.claudeAuthState } : {},
11530
+ ...this.agentProfileService ? { agentProfiles: this.agentProfileService.state() } : {},
11476
11531
  // B-587 capability + setting (same restamp discipline).
11477
11532
  ...this.agentHibernationIdleMs !== null ? { agentHibernation: { idleMs: this.agentHibernationIdleMs, rpcAvailable: true, detectedAt: now } } : {},
11478
11533
  // B-852 capability + setting + status (same restamp discipline).
@@ -2,51 +2,55 @@
2
2
 
3
3
  var socket_ioClient = require('socket.io-client');
4
4
  var webPanels = require('./webPanels-FCgFKvVe.cjs');
5
- var logger = require('./logger-BBRTTVsQ.cjs');
6
- var lidState = require('./lidState-q_XFYg33.cjs');
7
- var mirrorProtocol = require('./mirrorProtocol-GuWMxLkh.cjs');
8
- var configuration = require('./configuration-Dt5lKW3P.cjs');
5
+ var logger = require('./logger-8su64lqR.cjs');
6
+ var lidState = require('./lidState-DqoN7zH4.cjs');
7
+ var mirrorProtocol = require('./mirrorProtocol-DVnB8EO8.cjs');
8
+ var configuration = require('./configuration-CXEVKAyF.cjs');
9
9
  var cliUpdate = require('./cliUpdate-DsKXPFYp.cjs');
10
- var registerCommonHandlers = require('./registerCommonHandlers-Beun-cQv.cjs');
10
+ var registerCommonHandlers = require('./registerCommonHandlers-m6pxxf2J.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-Bl5S3TLB.cjs');
16
+ var persistence = require('./persistence-B4ttN-fR.cjs');
17
17
  var fileStore = require('./fileStore-7qhnbs6N.cjs');
18
+ var index = require('./index-BzAYnYct.cjs');
19
+ var accountService = require('./accountService-Bddy0zwL.cjs');
18
20
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
19
21
  var limits = require('./limits-C-a7gr04.cjs');
20
- var time = require('./time-gPD_EmA-.cjs');
22
+ var time = require('./time-CaUlWSNJ.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-Bs5FD8JF.cjs');
26
+ var index$1 = require('./index-CZaLMmPC.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-CKNW-MXw.cjs');
33
+ var localHappyAgentAuth = require('./localHappyAgentAuth-BnGCpHRX.cjs');
32
34
  var path$1 = require('./path-B7zW-WwE.cjs');
33
35
  var oneShotPrompts = require('./oneShotPrompts-CL0dip9C.cjs');
34
- var claudeSessionFork = require('./claudeSessionFork-DTLZ2rek.cjs');
35
- var codexAppServerClient = require('./codexAppServerClient-CpT9F6EM.cjs');
36
- var index$1 = require('./index-BOe6dKnL.cjs');
36
+ var claudeSessionFork = require('./claudeSessionFork-YiktY55n.cjs');
37
+ var codexAppServerClient = require('./codexAppServerClient-q8GHQhyC.cjs');
37
38
  var codexThreadFork = require('./codexThreadFork-5kwoKjMu.cjs');
38
- var rateLimitWindows = require('./rateLimitWindows-Bx3ROBP5.cjs');
39
+ var rateLimitWindows = require('./rateLimitWindows-DBfiuYeg.cjs');
39
40
  require('chalk');
40
41
  require('node:util');
41
42
  require('os');
42
43
  require('child_process');
43
- require('./package-DrY090nZ.cjs');
44
+ require('./package-iuLlSiSF.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-BOBpJ3k8.cjs');
53
+ require('./store-DV__wCvP.cjs');
50
54
  require('tweetnacl');
51
55
  require('./terminalTitleSuggest-DhvRFX3H.cjs');
52
56
  require('./loginShellEnv-BkuYtExZ.cjs');
@@ -57,7 +61,6 @@ require('./contentLogMetadata-ZSFk_NjQ.cjs');
57
61
  require('./manager-HrEj442o.cjs');
58
62
  require('@anthropic-ai/sandbox-runtime');
59
63
  require('./processTree-CMHWlVse.cjs');
60
- require('@paralleldrive/cuid2');
61
64
 
62
65
  function _interopNamespaceDefault(e) {
63
66
  var n = Object.create(null);
@@ -373,8 +376,8 @@ function registerTodoHandlers(manager) {
373
376
  });
374
377
  }
375
378
 
376
- const obj = (value) => value && typeof value === "object" ? value : {};
377
- async function guarded(fn) {
379
+ const obj$1 = (value) => value && typeof value === "object" ? value : {};
380
+ async function guarded$1(fn) {
378
381
  try {
379
382
  return await fn();
380
383
  } catch (error) {
@@ -383,9 +386,33 @@ async function guarded(fn) {
383
386
  }
384
387
  }
385
388
  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))));
389
+ rpc.registerHandler("model-config-read", (params) => guarded$1(() => service.read(obj$1(params))));
390
+ rpc.registerHandler("model-config-apply", (params) => guarded$1(() => service.apply(obj$1(params))));
391
+ rpc.registerHandler("model-config-restore", (params) => guarded$1(() => service.restore(obj$1(params))));
392
+ }
393
+
394
+ const obj = (value) => value && typeof value === "object" ? value : {};
395
+ async function guarded(fn) {
396
+ try {
397
+ return await fn();
398
+ } catch (error) {
399
+ if (error instanceof accountService.AccountError) return { error: error.message, code: error.code, ...error.sessions ? { sessions: error.sessions } : {} };
400
+ return { error: error instanceof Error ? error.message : "Unknown error", code: "internal" };
401
+ }
402
+ }
403
+ function registerAgentProfileHandlers(rpc, service) {
404
+ const on = (method, fn) => rpc.registerHandler(method, (params) => guarded(() => fn(obj(params))));
405
+ on(index.AGENT_PROFILE_RPC.list, () => service.state());
406
+ on(index.AGENT_PROFILE_RPC.add, async (p) => ({ account: await service.add(p) }));
407
+ on(index.AGENT_PROFILE_RPC.loginStart, (p) => service.loginStart(p));
408
+ on(index.AGENT_PROFILE_RPC.loginSubmit, (p) => service.loginSubmit(p));
409
+ on(index.AGENT_PROFILE_RPC.loginStatus, (p) => service.loginStatus(p.loginId));
410
+ on(index.AGENT_PROFILE_RPC.loginCancel, (p) => service.loginCancel(p.loginId));
411
+ on(index.AGENT_PROFILE_RPC.test, async (p) => ({ account: await service.test(p.accountId) }));
412
+ on(index.AGENT_PROFILE_RPC.rename, (p) => ({ account: service.rename(p.accountId, p.label) }));
413
+ on(index.AGENT_PROFILE_RPC.remove, (p) => service.remove(p.accountId, p.force));
414
+ on(index.AGENT_PROFILE_RPC.setDefault, (p) => service.setDefault(p.agent, p.accountId === void 0 ? null : p.accountId));
415
+ on(index.AGENT_PROFILE_RPC.bind, (p) => service.bind(p));
389
416
  }
390
417
 
391
418
  function codingAgentFromProcessTree(panePid, snapshot) {
@@ -7901,7 +7928,7 @@ class WebTerminalManager {
7901
7928
  }
7902
7929
  },
7903
7930
  // B-478: every Claude config dir the user might have pointed a shell at.
7904
- conversationExists: (cwd, claudeSessionId) => index.locateClaudeConversation(cwd, claudeSessionId) !== null,
7931
+ conversationExists: (cwd, claudeSessionId) => index$1.locateClaudeConversation(cwd, claudeSessionId) !== null,
7905
7932
  // B-273: only consulted for records that were attach terminals.
7906
7933
  // Unbounded: the panel's 50-row cap must not hide a restore target.
7907
7934
  userSessions: record.attachTmux ? this.listUserTmuxSessions(Infinity) : [],
@@ -10254,7 +10281,7 @@ class HistorySearchService {
10254
10281
  }
10255
10282
 
10256
10283
  async function resolveHistoryRoots() {
10257
- const homes = await index.refreshAgentHomes(Date.now(), { allowStale: true });
10284
+ const homes = await index$1.refreshAgentHomes(Date.now(), { allowStale: true });
10258
10285
  return {
10259
10286
  claudeProjectsRoot: path.join(homes.claudeConfigDir.path, "projects"),
10260
10287
  codexSessionsRoot: path.join(homes.codexHome.path, "sessions"),
@@ -10362,7 +10389,7 @@ async function discoverAndClaimRelay(input) {
10362
10389
  signal
10363
10390
  });
10364
10391
  if (!discoveryResponse.ok) return null;
10365
- const discovery = index$1.RelayCandidatesResponseSchema.parse(await discoveryResponse.json());
10392
+ const discovery = index.RelayCandidatesResponseSchema.parse(await discoveryResponse.json());
10366
10393
  signal.throwIfAborted();
10367
10394
  if (!discovery.enabled || discovery.candidates.length === 0) return null;
10368
10395
  const probes = await probeRelayCandidates(discovery.candidates, { fetchImpl, signal });
@@ -10377,7 +10404,7 @@ async function discoverAndClaimRelay(input) {
10377
10404
  body: JSON.stringify({ relayId: selected.id, probes })
10378
10405
  });
10379
10406
  if (!claimResponse.ok) return null;
10380
- const claimed = index$1.RelayAssignmentResponseSchema.parse(await claimResponse.json());
10407
+ const claimed = index.RelayAssignmentResponseSchema.parse(await claimResponse.json());
10381
10408
  signal.throwIfAborted();
10382
10409
  return claimed.assignment ? { assignment: claimed.assignment, probes, switchTracker: decision.tracker } : null;
10383
10410
  });
@@ -10509,6 +10536,8 @@ class ApiMachineClient {
10509
10536
  cliUpdateState = null;
10510
10537
  cliUpdatePushChain = Promise.resolve();
10511
10538
  claudeAuthState = null;
10539
+ /** B-850a: source of `daemonState.agentProfiles` (null = capability off). */
10540
+ agentProfileService = null;
10512
10541
  /** B-587: the machine's hibernation threshold, published as a capability. */
10513
10542
  agentHibernationIdleMs = null;
10514
10543
  /** B-852: auto-restart setting + per-session status (null until the daemon installs it). */
@@ -10787,6 +10816,30 @@ class ApiMachineClient {
10787
10816
  return { claudeAuth };
10788
10817
  });
10789
10818
  }
10819
+ /**
10820
+ * B-850a: `agent-profile-*` RPCs + `daemonState.agentProfiles` (spec
10821
+ * 2026-11-session-accounts). Call before connect(): the connect snapshot
10822
+ * carries the list, so its presence with `daemonPid === pid` IS the
10823
+ * capability.
10824
+ */
10825
+ setAgentProfileService(service) {
10826
+ this.agentProfileService = service;
10827
+ registerAgentProfileHandlers(this.rpcHandlerManager, service);
10828
+ }
10829
+ /** B-850a: republish the account list (after an RPC / CLI edit / expiry tick). */
10830
+ publishAgentProfiles() {
10831
+ const service = this.agentProfileService;
10832
+ if (!service || !this.socket?.connected) return Promise.resolve();
10833
+ const attempt = this.cliUpdatePushChain.then(() => this.updateDaemonState((current) => ({
10834
+ ...current ?? {},
10835
+ status: current?.status ?? "running",
10836
+ agentProfiles: service.state()
10837
+ }))).catch((error) => {
10838
+ logger.logger.debug("[API MACHINE] Failed to publish agent profiles:", error);
10839
+ });
10840
+ this.cliUpdatePushChain = attempt.then(() => void 0);
10841
+ return attempt;
10842
+ }
10790
10843
  /** B-688 machine RPCs `model-config-*` (modules/modelConfig/modelConfigRpc.ts). */
10791
10844
  setModelConfigService(service) {
10792
10845
  registerModelConfigHandlers(this.rpcHandlerManager, service);
@@ -10815,12 +10868,13 @@ class ApiMachineClient {
10815
10868
  this.stopSessionHandler = stopSession;
10816
10869
  this.listTrackedSessionIds = listTrackedSessionIds ?? null;
10817
10870
  this.rpcHandlerManager.registerHandler("spawn-happy-session", async (params) => {
10871
+ const { agentProfileId } = params || {};
10818
10872
  const { directory, sessionId, machineId, approvedNewDirectoryCreation, agent, environmentVariables, token, resumeClaudeSessionId, resumeCodexThreadId, parentSessionId, forkedFromMessageId, importedFromClaudeSessionId, variant, forceNew, permissionMode, model } = params || {};
10819
10873
  logger.logger.debug("[API MACHINE] Spawning session:", mirrorProtocol.summarizeSpawnSessionForLog(params));
10820
10874
  if (!directory && variant !== "assistant") {
10821
10875
  throw new Error("Directory is required");
10822
10876
  }
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 });
10877
+ 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
10878
  switch (result.type) {
10825
10879
  case "success":
10826
10880
  logger.logger.debug(`[API MACHINE] Spawned session ${result.sessionId}`);
@@ -11494,6 +11548,7 @@ class ApiMachineClient {
11494
11548
  // B-276: re-ship the last preflight so a reconnect never
11495
11549
  // leaves a stale-pid value visible longer than needed.
11496
11550
  ...this.claudeAuthState ? { claudeAuth: this.claudeAuthState } : {},
11551
+ ...this.agentProfileService ? { agentProfiles: this.agentProfileService.state() } : {},
11497
11552
  // B-587 capability + setting (same restamp discipline).
11498
11553
  ...this.agentHibernationIdleMs !== null ? { agentHibernation: { idleMs: this.agentHibernationIdleMs, rpcAvailable: true, detectedAt: now } } : {},
11499
11554
  // B-852 capability + setting + status (same restamp discipline).
@@ -11538,7 +11593,7 @@ class ApiMachineClient {
11538
11593
  });
11539
11594
  socket.on("server-draining", (data) => {
11540
11595
  if (this.socket !== socket) return;
11541
- const parsed = index$1.ReleaseDrainNoticeSchema.safeParse(data);
11596
+ const parsed = index.ReleaseDrainNoticeSchema.safeParse(data);
11542
11597
  if (!parsed.success || parsed.data.deadline <= Date.now()) return;
11543
11598
  void this.startReleaseHandover(parsed.data);
11544
11599
  });
@@ -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-CfspRcl-.cjs');
7
- var configuration = require('./configuration-Dt5lKW3P.cjs');
6
+ var pushNotifications = require('./pushNotifications-BqFoLye2.cjs');
7
+ var configuration = require('./configuration-CXEVKAyF.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-dUceOIni.mjs';
5
- import { e as ensurePrivateDirectory, h as hardenPrivateFile } from './configuration-Dechcvd-.mjs';
4
+ import { M as MAX_CHAT_ATTACHMENT_SOURCE_BYTES } from './pushNotifications-DkQ0yvFs.mjs';
5
+ import { e as ensurePrivateDirectory, h as hardenPrivateFile } from './configuration-IhRiLDVe.mjs';
6
6
 
7
7
  const CLAUDE_ATTACHMENT_KINDS = [
8
8
  "image/jpeg",
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
3
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
4
- var configuration = require('./configuration-Dt5lKW3P.cjs');
4
+ var configuration = require('./configuration-CXEVKAyF.cjs');
5
5
  var node_crypto = require('node:crypto');
6
6
  var tweetnacl = require('tweetnacl');
7
7
  var axios = require('axios');
8
- var time = require('./time-gPD_EmA-.cjs');
9
- var persistence = require('./persistence-Bl5S3TLB.cjs');
10
- var browser = require('./browser-CLJWcodR.cjs');
11
- var logger = require('./logger-BBRTTVsQ.cjs');
8
+ var time = require('./time-CaUlWSNJ.cjs');
9
+ var persistence = require('./persistence-B4ttN-fR.cjs');
10
+ var browser = require('./browser-Ft0ASDm7.cjs');
11
+ var logger = require('./logger-8su64lqR.cjs');
12
12
 
13
13
  function generateWebAuthUrl(publicKey) {
14
14
  const publicKeyBase64 = authRelay.encodeBase64(publicKey, "base64url");
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var persistence = require('./persistence-Bl5S3TLB.cjs');
5
- var auth = require('./auth-Bb_SL2os.cjs');
6
- var configuration = require('./configuration-Dt5lKW3P.cjs');
4
+ var persistence = require('./persistence-B4ttN-fR.cjs');
5
+ var auth = require('./auth-C9NvNHhL.cjs');
6
+ var configuration = require('./configuration-CXEVKAyF.cjs');
7
7
  var node_fs = require('node:fs');
8
8
  var node_readline = require('node:readline');
9
- var controlClient = require('./controlClient-BRk65BRO.cjs');
10
- var logger = require('./logger-BBRTTVsQ.cjs');
9
+ var controlClient = require('./controlClient-j7p5p3_7.cjs');
10
+ var logger = require('./logger-8su64lqR.cjs');
11
11
  var os = require('node:os');
12
12
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
13
13
  require('node:fs/promises');
@@ -15,11 +15,11 @@ require('zod');
15
15
  require('node:crypto');
16
16
  require('tweetnacl');
17
17
  require('axios');
18
- require('./time-gPD_EmA-.cjs');
19
- require('./browser-CLJWcodR.cjs');
18
+ require('./time-CaUlWSNJ.cjs');
19
+ require('./browser-Ft0ASDm7.cjs');
20
20
  require('open');
21
21
  require('node:path');
22
- require('./package-DrY090nZ.cjs');
22
+ require('./package-iuLlSiSF.cjs');
23
23
  require('node:util');
24
24
 
25
25
  function localMachineIdentityStatus(machineId) {
@@ -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-Dogj7JIp.mjs';
3
- import { a as authAndSetupMachineIfNeeded } from './auth-Bj0psrD2.mjs';
4
- import { c as configuration } from './configuration-Dechcvd-.mjs';
2
+ import { g as readCredentials, r as readSettings, h as clearCredentials, i as clearMachineId } from './persistence-DWcHe035.mjs';
3
+ import { a as authAndSetupMachineIfNeeded } from './auth-DL8_J9vu.mjs';
4
+ import { c as configuration } from './configuration-IhRiLDVe.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-D7NGfmtq.mjs';
8
- import { l as logger } from './logger-CL7pin9b.mjs';
7
+ import { b as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-8ILulwjc.mjs';
8
+ import { l as logger } from './logger-Fd_rNvgd.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-CN3TuSVG.mjs';
17
- import './browser-BGxDRhHy.mjs';
16
+ import './time-bzmet4s5.mjs';
17
+ import './browser-BUIaSHK2.mjs';
18
18
  import 'open';
19
19
  import 'node:path';
20
- import './package-C6uiXULx.mjs';
20
+ import './package-6KkRAops.mjs';
21
21
  import 'node:util';
22
22
 
23
23
  function localMachineIdentityStatus(machineId) {
@@ -1,12 +1,12 @@
1
1
  import { e as encodeBase64, c as credentialRelayProblem, f as encodeBase64Url, d as decodeBase64 } from './authRelay-DhQhkBvX.mjs';
2
- import { c as configuration } from './configuration-Dechcvd-.mjs';
2
+ import { c as configuration } from './configuration-IhRiLDVe.mjs';
3
3
  import { randomUUID, randomBytes } from 'node:crypto';
4
4
  import tweetnacl from 'tweetnacl';
5
5
  import axios from 'axios';
6
- import { d as delay } from './time-CN3TuSVG.mjs';
7
- import { g as readCredentials, m as readSettingsOutcome, u as updateSettings, w as writeCredentialsLegacy, n as writeCredentialsDataKey } from './persistence-Dogj7JIp.mjs';
8
- import { o as openBrowser } from './browser-BGxDRhHy.mjs';
9
- import { l as logger } from './logger-CL7pin9b.mjs';
6
+ import { d as delay } from './time-bzmet4s5.mjs';
7
+ import { g as readCredentials, m as readSettingsOutcome, u as updateSettings, w as writeCredentialsLegacy, n as writeCredentialsDataKey } from './persistence-DWcHe035.mjs';
8
+ import { o as openBrowser } from './browser-BUIaSHK2.mjs';
9
+ import { l as logger } from './logger-Fd_rNvgd.mjs';
10
10
 
11
11
  function generateWebAuthUrl(publicKey) {
12
12
  const publicKeyBase64 = encodeBase64(publicKey, "base64url");