very-happy-cli 0.2.199 → 0.2.200

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-Bo6bOamG.mjs → AcpBackend-Cnp6WNn8.mjs} +3 -3
  2. package/dist/{AcpBackend-HhZ8nrIh.cjs → AcpBackend-CwSShYPI.cjs} +3 -3
  3. package/dist/{AcpSessionManager-C-pkJKO2.mjs → AcpSessionManager-C4O3jhT_.mjs} +2 -2
  4. package/dist/{AcpSessionManager--7nDgA9S.cjs → AcpSessionManager-DqW99tOL.cjs} +2 -2
  5. package/dist/{BasePermissionHandler-Ffp54Ntg.mjs → BasePermissionHandler-8Msj0Z8j.mjs} +1 -1
  6. package/dist/{BasePermissionHandler-al7UXWRq.cjs → BasePermissionHandler-CgqjIUyG.cjs} +1 -1
  7. package/dist/{account-Bnk1yyGS.mjs → account-BIxPuBEs.mjs} +11 -11
  8. package/dist/{account-DCIz-iyL.cjs → account-DcNh2_SN.cjs} +11 -11
  9. package/dist/{accountService-B59oKwa4.cjs → accountService-BDJo14mY.cjs} +4 -4
  10. package/dist/{accountService-WPnOpkvs.mjs → accountService-ELazcp3V.mjs} +4 -4
  11. package/dist/{acpSessionResume-CfogEHtT.cjs → acpSessionResume-B_W8uTI6.cjs} +1 -1
  12. package/dist/{acpSessionResume-BVroOlVN.mjs → acpSessionResume-De_sTG30.mjs} +1 -1
  13. package/dist/{agentHome-CHTzSiu4.mjs → agentHome-C-900jC1.mjs} +4 -4
  14. package/dist/{agentHome-Y3bMEtCp.cjs → agentHome-C-usjJwB.cjs} +4 -4
  15. package/dist/{api-CgzfmyYS.cjs → api-BPWRzeNF.cjs} +16 -10
  16. package/dist/{api-DibgCucH.mjs → api-DCUiAds-.mjs} +16 -10
  17. package/dist/{apiMachine-BUaFSi27.mjs → apiMachine-CJl4m3V3.mjs} +18 -18
  18. package/dist/{apiMachine-DSI5mKlh.cjs → apiMachine-DjhbA1rL.cjs} +18 -18
  19. package/dist/{attachmentContent-D9wq3bok.mjs → attachmentContent-BKIq6EXR.mjs} +2 -2
  20. package/dist/{attachmentContent-JWUS5uhH.cjs → attachmentContent-C2f1UEP9.cjs} +2 -2
  21. package/dist/{auth-BjWk9sHU.mjs → auth-8jKFCZOX.mjs} +5 -5
  22. package/dist/{auth-BXav16o0.cjs → auth-h6oU63Ni.cjs} +8 -8
  23. package/dist/{auth-B6H2wHTy.cjs → auth-oAnLi4Tl.cjs} +5 -5
  24. package/dist/{auth-DFMJQDNF.mjs → auth-uLRHXOGY.mjs} +8 -8
  25. package/dist/{auto-DOhQ2OU5.mjs → auto-A5arQ-bI.mjs} +17 -17
  26. package/dist/{auto-CMO-VQYN.cjs → auto-Bpa5iA1A.cjs} +17 -17
  27. package/dist/{bootstrap-CY7Db_VV.mjs → bootstrap-BkLFgEGF.mjs} +2 -2
  28. package/dist/{bootstrap-Brd_jnA2.cjs → bootstrap-DUKAKxrJ.cjs} +2 -2
  29. package/dist/{browser-BpwBEJDU.mjs → browser-BAlw0rns.mjs} +1 -1
  30. package/dist/{browser-BhncBLE4.cjs → browser-Ds-N-Dup.cjs} +1 -1
  31. package/dist/{claudeAccountEnv-CYwfvK1u.mjs → claudeAccountEnv-CI8RlIB9.mjs} +1 -1
  32. package/dist/{claudeAccountEnv-z_ecsJAP.cjs → claudeAccountEnv-D33xXRE7.cjs} +1 -1
  33. package/dist/{claudeLocal-Co_DyW-D.cjs → claudeLocal-BbsOT-EF.cjs} +5 -5
  34. package/dist/{claudeLocal-coKrsYmR.mjs → claudeLocal-X48n0RhP.mjs} +5 -5
  35. package/dist/{claudeLocalLauncher-BFnLc0R-.mjs → claudeLocalLauncher-D18gRtxz.mjs} +10 -10
  36. package/dist/{claudeLocalLauncher-CNDrO3b6.cjs → claudeLocalLauncher-D1jS3iK4.cjs} +10 -10
  37. package/dist/{claudeSessionFork-BuDN5SkN.cjs → claudeSessionFork-Bkxn40Y8.cjs} +1 -1
  38. package/dist/{claudeSessionFork-dOOc9hpA.mjs → claudeSessionFork-n1vMiFcP.mjs} +1 -1
  39. package/dist/client-1zIbVVX5.cjs +120 -0
  40. package/dist/{client-DKPLBLvx.mjs → client-BXwIqRha.mjs} +2 -2
  41. package/dist/client-BgxQ9aej.mjs +114 -0
  42. package/dist/{client-B5uvkdLn.mjs → client-Blpuk2Hr.mjs} +2 -2
  43. package/dist/{client-KbhVRYjy.cjs → client-BnoN4P4t.cjs} +2 -2
  44. package/dist/{client-Ng-oAhlX.mjs → client-C0qjAgZ_.mjs} +4 -4
  45. package/dist/{client-CBbUzTcm.cjs → client-C8BTmcrh.cjs} +4 -4
  46. package/dist/{client-BKyTA9Hf.cjs → client-D0_UOmC1.cjs} +2 -2
  47. package/dist/codex/happyMcpStdioBridge.cjs +25 -16
  48. package/dist/codex/happyMcpStdioBridge.mjs +25 -16
  49. package/dist/{codexAccount-DeFAjaHW.mjs → codexAccount-BAezf1fY.mjs} +1 -1
  50. package/dist/{codexAccount-8Wv5enLR.cjs → codexAccount-DfeCHUOU.cjs} +1 -1
  51. package/dist/{codexAppServerClient-BAcU_XN8.mjs → codexAppServerClient-By4ntTIr.mjs} +3 -3
  52. package/dist/{codexAppServerClient-6QmZ2Tn5.cjs → codexAppServerClient-xBeqblCj.cjs} +3 -3
  53. package/dist/{codexCommand-CCeaWZ-1.mjs → codexCommand-C7BVsmPu.mjs} +50 -46
  54. package/dist/{codexCommand-hJYa82Af.cjs → codexCommand-CgzJe-Ti.cjs} +54 -50
  55. package/dist/{codexTermination-BX0sCNFy.mjs → codexTermination-BS0sLBKS.mjs} +1 -1
  56. package/dist/{codexTermination-DKjQcC3e.cjs → codexTermination-DVrdQx3Q.cjs} +1 -1
  57. package/dist/{config-171VOPLq.cjs → config-4R0rnthZ.cjs} +3 -3
  58. package/dist/{config-9iXYh_zS.mjs → config-D3jidXDu.mjs} +3 -3
  59. package/dist/{configuration-D9k5yIzV.mjs → configuration-4pG95tsq.mjs} +1 -1
  60. package/dist/{configuration-CAzuk0Xs.cjs → configuration-ClUt7pqs.cjs} +1 -1
  61. package/dist/{connect-MlXU2FE3.cjs → connect-Da2NQJ3K.cjs} +13 -13
  62. package/dist/{connect-BEhKtsEn.mjs → connect-Do5qcqmg.mjs} +13 -13
  63. package/dist/{context-WVEuAdf2.mjs → context-Cf05DtNM.mjs} +1 -1
  64. package/dist/{context-CI9LnDu1.cjs → context-wMsIGwBw.cjs} +1 -1
  65. package/dist/{controlClient-Bb188cU0.cjs → controlClient-SYDFcIkk.cjs} +3 -3
  66. package/dist/{controlClient-DhFAPGHz.mjs → controlClient-bqCKl9Nv.mjs} +3 -3
  67. package/dist/{createSessionMetadata-BIK0Xz31.mjs → createSessionMetadata-CQkxe_4T.mjs} +3 -2
  68. package/dist/{createSessionMetadata-C2EQi_od.cjs → createSessionMetadata-msQTEvvn.cjs} +3 -2
  69. package/dist/{daemonAccounts-DD5YBwku.mjs → daemonAccounts-B8xnkprW.mjs} +3 -3
  70. package/dist/{daemonAccounts-nLyHz8WB.cjs → daemonAccounts-Ch_rSTSX.cjs} +2 -2
  71. package/dist/{defaultPermissionMode-BA1fgIpW.cjs → defaultPermissionMode-BETWd5Lf.cjs} +1 -1
  72. package/dist/{defaultPermissionMode-Dmw3lpdN.mjs → defaultPermissionMode-Cl3OvdHp.mjs} +1 -1
  73. package/dist/{deterministicJson-BJ7LY5-S.mjs → deterministicJson-BRAeReBK.mjs} +67 -17
  74. package/dist/{deterministicJson-DCzFgRiT.cjs → deterministicJson-CQ8jkArF.cjs} +72 -22
  75. package/dist/{doctor-CH_pTY3Q.cjs → doctor-C9D-t20z.cjs} +7 -7
  76. package/dist/{doctor-jAPeyoi6.mjs → doctor-Dy7z3qvy.mjs} +7 -7
  77. package/dist/{downloadTarget-CZS0BVu2.cjs → downloadTarget-DfoOSrYi.cjs} +6 -6
  78. package/dist/{downloadTarget-BhMm1keb.mjs → downloadTarget-Diq-GBu4.mjs} +6 -6
  79. package/dist/{ensureDaemonRunning-CTKaWMED.cjs → ensureDaemonRunning-Df76EtKd.cjs} +5 -5
  80. package/dist/{ensureDaemonRunning-BjbC8PuJ.mjs → ensureDaemonRunning-LqrgqVG3.mjs} +5 -5
  81. package/dist/format-CbliQN8V.mjs +70 -0
  82. package/dist/format-P9_M_7ga.cjs +74 -0
  83. package/dist/{handleResumeCommand-DsaEUiax.cjs → handleResumeCommand-CjCtwrrm.cjs} +5 -5
  84. package/dist/{handleResumeCommand-DbFTdwoc.mjs → handleResumeCommand-Dz4Aw_aZ.mjs} +5 -5
  85. package/dist/{index-DpQ9OLYi.mjs → index-BNBXrqRE.mjs} +4 -4
  86. package/dist/{index-BnT8yvlF.cjs → index-BiutHOAO.cjs} +60 -1
  87. package/dist/{index-DdJRSpLB.cjs → index-ByBOdEvG.cjs} +48 -44
  88. package/dist/{index-qVJYCmRA.cjs → index-CbzettaI.cjs} +4 -4
  89. package/dist/{index-DuoMPw0y.cjs → index-CdOnhx2X.cjs} +4 -4
  90. package/dist/{index-BEKb2cxz.mjs → index-CjMA70-R.mjs} +47 -43
  91. package/dist/{index-DL6ONx6v.cjs → index-DUwOmhnq.cjs} +3 -3
  92. package/dist/{index-DcfbjaVL.mjs → index-Sdvy1Lsf.mjs} +3 -3
  93. package/dist/{index-BAjoMeJi.mjs → index-XP-qcJQ3.mjs} +4 -4
  94. package/dist/{index-BQvPYTNM.mjs → index-kwsivEs-.mjs} +48 -2
  95. package/dist/index.cjs +2 -2
  96. package/dist/index.mjs +2 -2
  97. package/dist/{install-5nblS8vW.cjs → install-C4dKrmxR.cjs} +3 -3
  98. package/dist/{install-CJcRTQVK.mjs → install-DMXd8Z4c.mjs} +3 -3
  99. package/dist/issue-BijeNKIT.cjs +237 -0
  100. package/dist/issue-COytLvGE.mjs +229 -0
  101. package/dist/lib.cjs +12 -12
  102. package/dist/lib.d.cts +6 -0
  103. package/dist/lib.d.mts +6 -0
  104. package/dist/lib.mjs +12 -12
  105. package/dist/{localHappyAgentAuth-Bsk_VyUN.cjs → localHappyAgentAuth-CjtNcaI0.cjs} +1 -1
  106. package/dist/{localHappyAgentAuth-CD896cy4.mjs → localHappyAgentAuth-DeDQjw24.mjs} +1 -1
  107. package/dist/{logger-n9NOzHhK.mjs → logger-BLMi8oJK.mjs} +2 -2
  108. package/dist/{logger-LsJ3Cl5o.cjs → logger-D28MY1Bv.cjs} +2 -2
  109. package/dist/{machineMetadata-CUU2NSYl.cjs → machineMetadata-BzjrIn_N.cjs} +3 -3
  110. package/dist/{machineMetadata-Bc7FwngX.mjs → machineMetadata-D8OWVD4l.mjs} +3 -3
  111. package/dist/{main-CEu9zJ4x.cjs → main-DoJIcSOh.cjs} +57 -47
  112. package/dist/{main-CzItRviV.mjs → main-c0fCuBON.mjs} +57 -47
  113. package/dist/{mcp-CPW1yQdX.cjs → mcp-CEtvR6tG.cjs} +18 -18
  114. package/dist/{mcp-yK3ynz_E.mjs → mcp-DKkBFGUa.mjs} +18 -18
  115. package/dist/{mirrorProtocol-5bgkr1Or.cjs → mirrorProtocol-CCl9dtzh.cjs} +3 -3
  116. package/dist/{mirrorProtocol-CoXxepvL.mjs → mirrorProtocol-DFQLXDBI.mjs} +3 -3
  117. package/dist/{package-D7V1BX2I.cjs → package-BFSsS_dl.cjs} +7 -7
  118. package/dist/{package-CCF6FHr2.mjs → package-DbGqY8Ej.mjs} +7 -7
  119. package/dist/{panels-CF5n641F.mjs → panels-2yIO9FxQ.mjs} +5 -5
  120. package/dist/{panels-9DdVhaxc.cjs → panels-BqLXIQif.cjs} +5 -5
  121. package/dist/{peerTools-gR_3dwdA.mjs → peerTools-4GYKxr8J.mjs} +5 -5
  122. package/dist/{peerTools-Dv6bgHkW.cjs → peerTools-Z8V2E0AF.cjs} +5 -5
  123. package/dist/{persistence-B5U9rC15.mjs → persistence-DbOKjdUD.mjs} +3 -3
  124. package/dist/{persistence-Dl3sBrCF.cjs → persistence-TpVFA5-I.cjs} +2 -2
  125. package/dist/{piRunnerArgs-DOV74xAt.mjs → piRunnerArgs-Bdj0sjAT.mjs} +1 -1
  126. package/dist/{piRunnerArgs-rygeUdRz.cjs → piRunnerArgs-DOEJJymf.cjs} +1 -1
  127. package/dist/{piRuntime-dtlRpOYa.mjs → piRuntime-B0QZykV7.mjs} +1 -1
  128. package/dist/{piRuntime-BvxCy9qQ.cjs → piRuntime-DiRayy91.cjs} +1 -1
  129. package/dist/{piTerminal-Bx6c5Jyd.mjs → piTerminal-DGF4X7C-.mjs} +20 -20
  130. package/dist/{piTerminal-ClaMS-57.cjs → piTerminal-DciFqPEi.cjs} +20 -20
  131. package/dist/{pushNotifications-IZaTtVDG.cjs → pushNotifications-C1i2W1GQ.cjs} +3 -3
  132. package/dist/{pushNotifications-pHkbUkqT.mjs → pushNotifications-CrCTpDiN.mjs} +3 -3
  133. package/dist/{query-BVqnfxlX.cjs → query-BkOpCpRo.cjs} +1 -1
  134. package/dist/{query-D_3rFFWe.mjs → query-CrSvcV32.mjs} +1 -1
  135. package/dist/{rateLimitWindows-C7xi99Eb.cjs → rateLimitWindows-BREA7OZj.cjs} +1 -1
  136. package/dist/{rateLimitWindows-DnLJ-gve.mjs → rateLimitWindows-DZVrafmm.mjs} +1 -1
  137. package/dist/{reconnectGate-DPDXEkOX.mjs → reconnectGate-COxAZTv8.mjs} +1 -1
  138. package/dist/{reconnectGate-CHI12y0Y.cjs → reconnectGate-YQ5jXJfY.cjs} +1 -1
  139. package/dist/{registerCommonHandlers-BrTglZnC.mjs → registerCommonHandlers-Cfl_dEWs.mjs} +2 -2
  140. package/dist/{registerCommonHandlers-CUCw-rad.cjs → registerCommonHandlers-D95IxqDN.cjs} +2 -2
  141. package/dist/{registerKillSessionHandler-Bo697Mt0.cjs → registerKillSessionHandler-DJJXtc_L.cjs} +6 -6
  142. package/dist/{registerKillSessionHandler-BJSVT1iq.mjs → registerKillSessionHandler-DoE6xgH3.mjs} +6 -6
  143. package/dist/{registerSideQuestionHandler-HNpsU_20.cjs → registerSideQuestionHandler-DsRz-aD9.cjs} +4 -4
  144. package/dist/{registerSideQuestionHandler-BFPCMrmC.mjs → registerSideQuestionHandler-Dv00rqcy.mjs} +4 -4
  145. package/dist/{remoteSessionClient-Blz-z9jM.mjs → remoteSessionClient-BFd_D9ka.mjs} +5 -5
  146. package/dist/{remoteSessionClient-9NzkfL13.cjs → remoteSessionClient-DleOeQlN.cjs} +5 -5
  147. package/dist/{reportProgressTool-B2-RFomn.mjs → reportProgressTool-D4xKY9Ur.mjs} +111 -4
  148. package/dist/{reportProgressTool-CW9rSnwQ.cjs → reportProgressTool-DtEpDqv3.cjs} +113 -3
  149. package/dist/{run-9aB7U4BF.cjs → run-CVAIFpsp.cjs} +391 -42
  150. package/dist/{run-BXyfDvCk.mjs → run-iDEMW4js.mjs} +391 -42
  151. package/dist/{runClaude-BKpWJdCX.mjs → runClaude-DvHdLJaV.mjs} +27 -25
  152. package/dist/{runClaude-B4ohp5Dk.cjs → runClaude-gucCQBma.cjs} +30 -28
  153. package/dist/{runClaudeDeps-gqSYeQkl.cjs → runClaudeDeps-CQ8vvqUQ.cjs} +42 -40
  154. package/dist/{runClaudeDeps-B0x5BCqC.mjs → runClaudeDeps-DkFWFwVc.mjs} +48 -46
  155. package/dist/{runGemini-BvV5k9b3.mjs → runGemini-B2lXQDru.mjs} +35 -33
  156. package/dist/{runGemini-BMzDy7hY.cjs → runGemini-C0vqJYtS.cjs} +35 -33
  157. package/dist/{runOpenClaw-3Cx3C2ww.cjs → runOpenClaw-DNV7GX73.cjs} +18 -18
  158. package/dist/{runOpenClaw-UcIDMHm7.mjs → runOpenClaw-Ddb6sOkY.mjs} +18 -18
  159. package/dist/{sandbox-BC-KbWe7.mjs → sandbox-Cw0cPDDh.mjs} +4 -4
  160. package/dist/{sandbox-QJdxjmxr.cjs → sandbox-FA0RlaZg.cjs} +4 -4
  161. package/dist/selfCheck-B-hKig8I.mjs +89 -0
  162. package/dist/{selfCheck-Be_M5coh.cjs → selfCheck-DFC8fzhF.cjs} +40 -39
  163. package/dist/{send-DhWp8M8B.cjs → send-BFd-5b_Q.cjs} +8 -8
  164. package/dist/{send-x789D5ci.mjs → send-CwgqPftE.mjs} +8 -8
  165. package/dist/{server-D-aSnlWI.mjs → server-C_4Fk45r.mjs} +4 -4
  166. package/dist/{server-kPDtS-DX.cjs → server-DwOdMGAP.cjs} +6 -6
  167. package/dist/{sessionLock-JWBEd8g_.mjs → sessionLock-CphKQyav.mjs} +3 -3
  168. package/dist/{sessionLock-CuPN9xfW.cjs → sessionLock-DglhFHzB.cjs} +3 -3
  169. package/dist/{startupSessionCreate-CxwJb5m9.cjs → sessionMetadata-DyTJ0Ki5.cjs} +14 -3
  170. package/dist/{startupSessionCreate-f1g6pp6E.mjs → sessionMetadata-V7Z7F-cj.mjs} +14 -4
  171. package/dist/{sessionOps-CYNOycqT.cjs → sessionOps-CIFvoFPA.cjs} +4 -4
  172. package/dist/{sessionOps-VS1baPz_.mjs → sessionOps-D-uFSTHk.mjs} +4 -4
  173. package/dist/{sessionProvider-DksA6icp.cjs → sessionProvider-B0daO-Ln.cjs} +10 -10
  174. package/dist/{sessionProvider-iRLKuR9V.mjs → sessionProvider-D8y7K8bK.mjs} +10 -10
  175. package/dist/{sessionScanner--X2Pzlra.cjs → sessionScanner-CWflbWoH.cjs} +3 -3
  176. package/dist/{sessionScanner-CAxiFc_3.mjs → sessionScanner-DQAOP6pU.mjs} +3 -3
  177. package/dist/{sessions-Dca1UgiF.mjs → sessions-CaO_-AI7.mjs} +10 -10
  178. package/dist/{sessions-BrnP53eO.cjs → sessions-CzpI76qj.cjs} +10 -10
  179. package/dist/{setupOfflineReconnection-Dwg6nHnP.cjs → setupOfflineReconnection-BZHRoKDx.cjs} +2 -2
  180. package/dist/{setupOfflineReconnection-nguxOn4s.mjs → setupOfflineReconnection-Ck-p0YPb.mjs} +2 -2
  181. package/dist/{spawn-BJMU9zbZ.mjs → spawn-BEJxfj60.mjs} +14 -14
  182. package/dist/{spawn-DDyMxQ7Z.cjs → spawn-DyjOa4nf.cjs} +14 -14
  183. package/dist/{spawnAgents-B8GT4JQX.cjs → spawnAgents-IiuqX0S5.cjs} +1 -1
  184. package/dist/{spawnAgents-SeUX5gIq.mjs → spawnAgents-XObVj6zN.mjs} +1 -1
  185. package/dist/{spawnHappyCLI-Cvk2ZMYj.cjs → spawnHappyCLI-C3XuIB2N.cjs} +1 -1
  186. package/dist/{spawnHappyCLI-DnT_QEdn.mjs → spawnHappyCLI-Cc9kKpcq.mjs} +1 -1
  187. package/dist/{startFileWatcher-DLfkP-IW.cjs → startFileWatcher-CeDJl9mN.cjs} +1 -1
  188. package/dist/{startFileWatcher-Djf0SdmK.mjs → startFileWatcher-t3K1y9kY.mjs} +1 -1
  189. package/dist/{store-DnaIrYLA.mjs → store-CqNAE-0v.mjs} +1 -1
  190. package/dist/{store-D41VdZcL.cjs → store-DOZAMV4W.cjs} +1 -1
  191. package/dist/{streamRelay-DEBIU6Ak.mjs → streamRelay-7D7v0hvk.mjs} +1 -1
  192. package/dist/{streamRelay-BT9ew0Mk.cjs → streamRelay-Dyp4x44P.cjs} +1 -1
  193. package/dist/{sync-B-B5mc8Z.cjs → sync-BvxhuW9R.cjs} +1 -1
  194. package/dist/{sync-Dfr1zgLx.mjs → sync-s1pUqWGm.mjs} +1 -1
  195. package/dist/{systemPrompt-pxNDR5u8.cjs → systemPrompt-CCdSrtn3.cjs} +2 -2
  196. package/dist/{systemPrompt-DAQq-bKB.mjs → systemPrompt-CLYTbBhV.mjs} +2 -2
  197. package/dist/{teams-BuXDbvzq.mjs → teams-BVp5F_xN.mjs} +7 -7
  198. package/dist/{teams-CBMB5SvT.cjs → teams-D2q1DQWz.cjs} +7 -7
  199. package/dist/{template-CB4gXtUX.cjs → template-M1YGFYUT.cjs} +1 -1
  200. package/dist/{template-DE9JMShn.mjs → template-oBrR0saD.mjs} +1 -1
  201. package/dist/{time-DTaj0RVK.cjs → time-D-v2Cd9e.cjs} +1 -1
  202. package/dist/{time-PqfO1O58.mjs → time-qd46L189.mjs} +1 -1
  203. package/dist/{titleGenerator-DVnEGxoB.mjs → titleGenerator-BdeHi3IY.mjs} +2 -2
  204. package/dist/{titleGenerator-BP5gqicG.cjs → titleGenerator-CSYqcorn.cjs} +3 -3
  205. package/dist/{todo-DaJPxDVT.mjs → todo-DiEhLgUZ.mjs} +95 -12
  206. package/dist/{todo-BXsQ5-iD.cjs → todo-Dq_YuJvj.cjs} +101 -18
  207. package/dist/{tools-G3_fMSjb.cjs → tools-CY2zrdd5.cjs} +1 -1
  208. package/dist/{tools-B4W8kWU8.mjs → tools-DR7GWBBV.mjs} +1 -1
  209. package/dist/{uninstall-C0pua8G4.cjs → uninstall-BHhHjbzE.cjs} +3 -3
  210. package/dist/{uninstall-ByWgUWHg.mjs → uninstall-BvwDZVU9.mjs} +3 -3
  211. package/dist/{wrapperAccount-BDeMsgbw.mjs → wrapperAccount-CpDsQL15.mjs} +2 -2
  212. package/dist/{wrapperAccount-CsxMfnCK.cjs → wrapperAccount-ejUjAQaM.cjs} +2 -2
  213. package/package.json +7 -7
  214. package/dist/selfCheck-NWjxjpSx.mjs +0 -88
@@ -1,11 +1,11 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { ndJsonStream, ClientSideConnection } from '@agentclientprotocol/sdk';
3
3
  import { randomUUID } from 'node:crypto';
4
- import { l as logger } from './logger-n9NOzHhK.mjs';
5
- import { d as delay } from './time-PqfO1O58.mjs';
4
+ import { l as logger } from './logger-BLMi8oJK.mjs';
5
+ import { d as delay } from './time-qd46L189.mjs';
6
6
  import { c as contentLogMetadata, e as errorLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
7
7
  import { r as readableStderrTail, a as appendStderrRing, s as stopProcessGracefully, k as killProcessTree } from './processTree-CP5IvQ2Z.mjs';
8
- import { p as packageJson } from './package-CCF6FHr2.mjs';
8
+ import { p as packageJson } from './package-DbGqY8Ej.mjs';
9
9
 
10
10
  function acpImageBlocks(attachments, supportsImages) {
11
11
  return attachments.filter((file) => ["image/jpeg", "image/png", "image/gif", "image/webp"].includes(file.mimeType)).map((file) => {
@@ -3,11 +3,11 @@
3
3
  var node_child_process = require('node:child_process');
4
4
  var sdk = require('@agentclientprotocol/sdk');
5
5
  var node_crypto = require('node:crypto');
6
- var logger = require('./logger-LsJ3Cl5o.cjs');
7
- var time = require('./time-DTaj0RVK.cjs');
6
+ var logger = require('./logger-D28MY1Bv.cjs');
7
+ var time = require('./time-D-v2Cd9e.cjs');
8
8
  var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
9
9
  var processTree = require('./processTree-CMHWlVse.cjs');
10
- var _package = require('./package-D7V1BX2I.cjs');
10
+ var _package = require('./package-BFSsS_dl.cjs');
11
11
 
12
12
  function acpImageBlocks(attachments, supportsImages) {
13
13
  return attachments.filter((file) => ["image/jpeg", "image/png", "image/gif", "image/webp"].includes(file.mimeType)).map((file) => {
@@ -1,6 +1,6 @@
1
1
  import { createId } from '@paralleldrive/cuid2';
2
- import { s as streamKeyOf, k as createEnvelope } from './index-BQvPYTNM.mjs';
3
- import { t as textResultPayload, b as toolResultPayload } from './api-DibgCucH.mjs';
2
+ import { s as streamKeyOf, t as createEnvelope } from './index-kwsivEs-.mjs';
3
+ import { t as textResultPayload, b as toolResultPayload } from './api-DCUiAds-.mjs';
4
4
 
5
5
  function turnOptions(turnId, time) {
6
6
  return turnId ? { turn: turnId, time } : { time };
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var cuid2 = require('@paralleldrive/cuid2');
4
- var index = require('./index-BnT8yvlF.cjs');
5
- var api = require('./api-CgzfmyYS.cjs');
4
+ var index = require('./index-BiutHOAO.cjs');
5
+ var api = require('./api-BPWRzeNF.cjs');
6
6
 
7
7
  function turnOptions(turnId, time) {
8
8
  return turnId ? { turn: turnId, time } : { time };
@@ -1,4 +1,4 @@
1
- import { l as logger } from './logger-n9NOzHhK.mjs';
1
+ import { l as logger } from './logger-BLMi8oJK.mjs';
2
2
 
3
3
  class BasePermissionHandler {
4
4
  pendingRequests = /* @__PURE__ */ new Map();
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-LsJ3Cl5o.cjs');
3
+ var logger = require('./logger-D28MY1Bv.cjs');
4
4
 
5
5
  class BasePermissionHandler {
6
6
  pendingRequests = /* @__PURE__ */ new Map();
@@ -1,26 +1,26 @@
1
1
  import chalk from 'chalk';
2
2
  import { createInterface } from 'node:readline/promises';
3
- import { c as configuration } from './configuration-D9k5yIzV.mjs';
4
- import { g as getDaemonAgentProfiles, r as restartDaemonSession, l as listDaemonSessions } from './controlClient-DhFAPGHz.mjs';
5
- import { A as AccountService, b as bindResultMessages, a as AccountError, l as localRestartFailure } from './accountService-WPnOpkvs.mjs';
3
+ import { c as configuration } from './configuration-4pG95tsq.mjs';
4
+ import { g as getDaemonAgentProfiles, r as restartDaemonSession, l as listDaemonSessions } from './controlClient-bqCKl9Nv.mjs';
5
+ import { A as AccountService, b as bindResultMessages, a as AccountError, l as localRestartFailure } from './accountService-ELazcp3V.mjs';
6
6
  import 'node:fs';
7
7
  import 'node:os';
8
8
  import 'node:path';
9
- import './package-CCF6FHr2.mjs';
9
+ import './package-DbGqY8Ej.mjs';
10
10
  import 'node:fs/promises';
11
- import './logger-n9NOzHhK.mjs';
11
+ import './logger-BLMi8oJK.mjs';
12
12
  import 'node:util';
13
- import './persistence-B5U9rC15.mjs';
13
+ import './persistence-DbOKjdUD.mjs';
14
14
  import 'zod';
15
15
  import './authRelay-DhQhkBvX.mjs';
16
16
  import 'node:crypto';
17
17
  import 'tweetnacl';
18
- import './index-BQvPYTNM.mjs';
18
+ import './index-kwsivEs-.mjs';
19
19
  import '@paralleldrive/cuid2';
20
20
  import 'node:child_process';
21
- import './claudeAccountEnv-CYwfvK1u.mjs';
22
- import './store-DnaIrYLA.mjs';
23
- import './codexAccount-DeFAjaHW.mjs';
21
+ import './claudeAccountEnv-CI8RlIB9.mjs';
22
+ import './store-CqNAE-0v.mjs';
23
+ import './codexAccount-BAezf1fY.mjs';
24
24
  import 'node:readline';
25
25
 
26
26
  const ACCOUNT_HELP = `Usage:
@@ -183,7 +183,7 @@ Waiting (expires in 15 minutes; Ctrl-C to cancel)\u2026`);
183
183
  }
184
184
  }
185
185
  async function loginInteractive(target) {
186
- const { spawnSetupTokenPty } = await import('./daemonAccounts-DD5YBwku.mjs');
186
+ const { spawnSetupTokenPty } = await import('./daemonAccounts-B8xnkprW.mjs');
187
187
  const { homedir } = await import('node:os');
188
188
  const svc = new AccountService({ home: configuration.happyHomeDir, spawnPty: (env) => spawnSetupTokenPty(homedir(), env) });
189
189
  const started = await svc.loginStart({ agent: "claude", kind: "claude-subscription", ...target });
@@ -2,27 +2,27 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var promises = require('node:readline/promises');
5
- var configuration = require('./configuration-CAzuk0Xs.cjs');
6
- var controlClient = require('./controlClient-Bb188cU0.cjs');
7
- var accountService = require('./accountService-B59oKwa4.cjs');
5
+ var configuration = require('./configuration-ClUt7pqs.cjs');
6
+ var controlClient = require('./controlClient-SYDFcIkk.cjs');
7
+ var accountService = require('./accountService-BDJo14mY.cjs');
8
8
  require('node:fs');
9
9
  require('node:os');
10
10
  require('node:path');
11
- require('./package-D7V1BX2I.cjs');
11
+ require('./package-BFSsS_dl.cjs');
12
12
  require('node:fs/promises');
13
- require('./logger-LsJ3Cl5o.cjs');
13
+ require('./logger-D28MY1Bv.cjs');
14
14
  require('node:util');
15
- require('./persistence-Dl3sBrCF.cjs');
15
+ require('./persistence-TpVFA5-I.cjs');
16
16
  require('zod');
17
17
  require('./authRelay-Dy1qU9td.cjs');
18
18
  require('node:crypto');
19
19
  require('tweetnacl');
20
- require('./index-BnT8yvlF.cjs');
20
+ require('./index-BiutHOAO.cjs');
21
21
  require('@paralleldrive/cuid2');
22
22
  require('node:child_process');
23
- require('./claudeAccountEnv-z_ecsJAP.cjs');
24
- require('./store-D41VdZcL.cjs');
25
- require('./codexAccount-8Wv5enLR.cjs');
23
+ require('./claudeAccountEnv-D33xXRE7.cjs');
24
+ require('./store-DOZAMV4W.cjs');
25
+ require('./codexAccount-DfeCHUOU.cjs');
26
26
  require('node:readline');
27
27
 
28
28
  const ACCOUNT_HELP = `Usage:
@@ -185,7 +185,7 @@ Waiting (expires in 15 minutes; Ctrl-C to cancel)\u2026`);
185
185
  }
186
186
  }
187
187
  async function loginInteractive(target) {
188
- const { spawnSetupTokenPty } = await Promise.resolve().then(function () { return require('./daemonAccounts-nLyHz8WB.cjs'); });
188
+ const { spawnSetupTokenPty } = await Promise.resolve().then(function () { return require('./daemonAccounts-Ch_rSTSX.cjs'); });
189
189
  const { homedir } = await import('node:os');
190
190
  const svc = new accountService.AccountService({ home: configuration.configuration.happyHomeDir, spawnPty: (env) => spawnSetupTokenPty(homedir(), env) });
191
191
  const started = await svc.loginStart({ agent: "claude", kind: "claude-subscription", ...target });
@@ -3,12 +3,12 @@
3
3
  var node_crypto = require('node:crypto');
4
4
  var node_fs = require('node:fs');
5
5
  var path = require('node:path');
6
- var index = require('./index-BnT8yvlF.cjs');
6
+ var index = require('./index-BiutHOAO.cjs');
7
7
  var node_child_process = require('node:child_process');
8
- var claudeAccountEnv = require('./claudeAccountEnv-z_ecsJAP.cjs');
9
- var codexAccount = require('./codexAccount-8Wv5enLR.cjs');
8
+ var claudeAccountEnv = require('./claudeAccountEnv-D33xXRE7.cjs');
9
+ var codexAccount = require('./codexAccount-DfeCHUOU.cjs');
10
10
  var node_readline = require('node:readline');
11
- var store = require('./store-D41VdZcL.cjs');
11
+ var store = require('./store-DOZAMV4W.cjs');
12
12
 
13
13
  const CHECK_TIMEOUT_MS = 2e4;
14
14
  const DEFAULT_CHECK_MODEL = "claude-haiku-4-5";
@@ -1,12 +1,12 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { mkdirSync, writeFileSync, readFileSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
- import { E as AGENT_PROFILE_FEATURE_LAUNCH, F as AgentProfileAddRequestSchema, G as AgentProfileLoginStartRequestSchema, H as AgentProfileLoginSubmitRequestSchema, I as AgentProfileBindRequestSchema } from './index-BQvPYTNM.mjs';
4
+ import { K as AGENT_PROFILE_FEATURE_LAUNCH, L as AgentProfileAddRequestSchema, M as AgentProfileLoginStartRequestSchema, N as AgentProfileLoginSubmitRequestSchema, O as AgentProfileBindRequestSchema } from './index-kwsivEs-.mjs';
5
5
  import { spawn } from 'node:child_process';
6
- import { A as ACCOUNT_STRIPPED_ENV_KEYS } from './claudeAccountEnv-CYwfvK1u.mjs';
7
- import { C as CODEX_ALWAYS_STRIPPED_ENV_KEYS, r as readCodexProviders, s as syncCodexOverlay, b as baseCodexHome } from './codexAccount-DeFAjaHW.mjs';
6
+ import { A as ACCOUNT_STRIPPED_ENV_KEYS } from './claudeAccountEnv-CI8RlIB9.mjs';
7
+ import { C as CODEX_ALWAYS_STRIPPED_ENV_KEYS, r as readCodexProviders, s as syncCodexOverlay, b as baseCodexHome } from './codexAccount-BAezf1fY.mjs';
8
8
  import { createInterface } from 'node:readline';
9
- import { h as buildAgentProfilesState, d as defaultSecretProbe, a as readAccounts, s as summarizeAccount, c as readAccountsFileV2, n as newAccountId, i as writeAccountSecret, f as writeAccountsFile, j as sessionsBoundTo, r as readSessionBindings, k as removeAccountSecret, b as accountSecretPath, e as expandHome, l as accountCodexHomePath, m as SUBSCRIPTION_TOKEN_TTL_MS, w as writeSessionBinding, o as readSessionBindingV2 } from './store-DnaIrYLA.mjs';
9
+ import { h as buildAgentProfilesState, d as defaultSecretProbe, a as readAccounts, s as summarizeAccount, c as readAccountsFileV2, n as newAccountId, i as writeAccountSecret, f as writeAccountsFile, j as sessionsBoundTo, r as readSessionBindings, k as removeAccountSecret, b as accountSecretPath, e as expandHome, l as accountCodexHomePath, m as SUBSCRIPTION_TOKEN_TTL_MS, w as writeSessionBinding, o as readSessionBindingV2 } from './store-CqNAE-0v.mjs';
10
10
 
11
11
  const CHECK_TIMEOUT_MS = 2e4;
12
12
  const DEFAULT_CHECK_MODEL = "claude-haiku-4-5";
@@ -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-CAzuk0Xs.cjs');
5
+ var configuration = require('./configuration-ClUt7pqs.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-D9k5yIzV.mjs';
3
+ import { w as writePrivateFileSync, c as configuration } from './configuration-4pG95tsq.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-B5U9rC15.mjs';
3
+ import { r as readSettings, u as updateSettings } from './persistence-DbOKjdUD.mjs';
4
4
  import 'node:fs';
5
- import './logger-n9NOzHhK.mjs';
5
+ import './logger-BLMi8oJK.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-D9k5yIzV.mjs';
8
+ import './configuration-4pG95tsq.mjs';
9
9
  import 'node:path';
10
- import './package-CCF6FHr2.mjs';
10
+ import './package-DbGqY8Ej.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-Dl3sBrCF.cjs');
5
+ var persistence = require('./persistence-TpVFA5-I.cjs');
6
6
  require('node:fs');
7
- require('./logger-LsJ3Cl5o.cjs');
7
+ require('./logger-D28MY1Bv.cjs');
8
8
  var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
9
9
  require('node:fs/promises');
10
- require('./configuration-CAzuk0Xs.cjs');
10
+ require('./configuration-ClUt7pqs.cjs');
11
11
  require('node:path');
12
- require('./package-D7V1BX2I.cjs');
12
+ require('./package-BFSsS_dl.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-LsJ3Cl5o.cjs');
5
- var pushNotifications = require('./pushNotifications-IZaTtVDG.cjs');
6
- var reconnectGate = require('./reconnectGate-CHI12y0Y.cjs');
4
+ var logger = require('./logger-D28MY1Bv.cjs');
5
+ var pushNotifications = require('./pushNotifications-C1i2W1GQ.cjs');
6
+ var reconnectGate = require('./reconnectGate-YQ5jXJfY.cjs');
7
7
  var node_events = require('node:events');
8
8
  var socket_ioClient = require('socket.io-client');
9
9
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
10
10
  var limits = require('./limits-C-a7gr04.cjs');
11
- var time = require('./time-DTaj0RVK.cjs');
12
- var configuration = require('./configuration-CAzuk0Xs.cjs');
11
+ var time = require('./time-D-v2Cd9e.cjs');
12
+ var configuration = require('./configuration-ClUt7pqs.cjs');
13
13
  var node_crypto = require('node:crypto');
14
- var index = require('./index-BnT8yvlF.cjs');
15
- var registerCommonHandlers = require('./registerCommonHandlers-CUCw-rad.cjs');
14
+ var index = require('./index-BiutHOAO.cjs');
15
+ var registerCommonHandlers = require('./registerCommonHandlers-D95IxqDN.cjs');
16
16
  var cuid2 = require('@paralleldrive/cuid2');
17
- var sync = require('./sync-B-B5mc8Z.cjs');
17
+ var sync = require('./sync-BvxhuW9R.cjs');
18
18
  var backgroundTaskActivity = require('./backgroundTaskActivity-CBvUdj39.cjs');
19
- var controlClient = require('./controlClient-Bb188cU0.cjs');
19
+ var controlClient = require('./controlClient-SYDFcIkk.cjs');
20
20
  var chalk = require('chalk');
21
21
 
22
22
  async function hmac_sha512(key, data) {
@@ -1017,9 +1017,15 @@ class TurnActivityTracker {
1017
1017
  this.ttlMs = ttlMs;
1018
1018
  }
1019
1019
  busy = /* @__PURE__ */ new Map();
1020
+ /** B-874: observers of every applied event (the issue worker's run session events). */
1021
+ listeners = [];
1020
1022
  apply(sessionId, event, now = Date.now()) {
1021
1023
  if (event === "turn_started") this.busy.set(sessionId, now);
1022
1024
  else this.busy.delete(sessionId);
1025
+ for (const listener of this.listeners) listener(sessionId, event);
1026
+ }
1027
+ onEvent(listener) {
1028
+ this.listeners.push(listener);
1023
1029
  }
1024
1030
  /** The wrapper is gone: whatever it reported no longer holds. */
1025
1031
  forget(sessionId) {
@@ -3110,7 +3116,7 @@ class ApiClient {
3110
3116
  return new ApiSessionClient(this.credential.token, session, opts);
3111
3117
  }
3112
3118
  async machineSyncClient(machine) {
3113
- const { ApiMachineClient } = await Promise.resolve().then(function () { return require('./apiMachine-DSI5mKlh.cjs'); });
3119
+ const { ApiMachineClient } = await Promise.resolve().then(function () { return require('./apiMachine-DjhbA1rL.cjs'); });
3114
3120
  return new ApiMachineClient(this.credential.token, machine);
3115
3121
  }
3116
3122
  push() {
@@ -1,20 +1,20 @@
1
1
  import axios from 'axios';
2
- import { l as logger, r as redactLogValue } from './logger-n9NOzHhK.mjs';
3
- import { A as AsyncLock, S as SESSION_SUPERSEDED_ERROR, a as agentInstanceAuth, b as MAX_CHAT_ATTACHMENT_ENCRYPTED_BYTES, U as UserMessageSchema, F as FileEventMessageSchema, P as PushNotificationClient } from './pushNotifications-pHkbUkqT.mjs';
4
- 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, f as createReconnectGate } from './reconnectGate-DPDXEkOX.mjs';
2
+ import { l as logger, r as redactLogValue } from './logger-BLMi8oJK.mjs';
3
+ import { A as AsyncLock, S as SESSION_SUPERSEDED_ERROR, a as agentInstanceAuth, b as MAX_CHAT_ATTACHMENT_ENCRYPTED_BYTES, U as UserMessageSchema, F as FileEventMessageSchema, P as PushNotificationClient } from './pushNotifications-CrCTpDiN.mjs';
4
+ 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, f as createReconnectGate } from './reconnectGate-COxAZTv8.mjs';
5
5
  import { EventEmitter } from 'node:events';
6
6
  import { io } from 'socket.io-client';
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-PqfO1O58.mjs';
10
- import { c as configuration } from './configuration-D9k5yIzV.mjs';
9
+ import { b as backoff, d as delay, e as exponentialBackoffDelay } from './time-qd46L189.mjs';
10
+ import { c as configuration } from './configuration-4pG95tsq.mjs';
11
11
  import { createHmac, randomUUID } from 'node:crypto';
12
- import { k as createEnvelope, s as streamKeyOf, a3 as ReleaseDrainNoticeSchema, a4 as RelayAssignmentResponseSchema } from './index-BQvPYTNM.mjs';
13
- import { r as registerCommonHandlers } from './registerCommonHandlers-BrTglZnC.mjs';
12
+ import { t as createEnvelope, s as streamKeyOf, ae as ReleaseDrainNoticeSchema, af as RelayAssignmentResponseSchema } from './index-kwsivEs-.mjs';
13
+ import { r as registerCommonHandlers } from './registerCommonHandlers-Cfl_dEWs.mjs';
14
14
  import { createId } from '@paralleldrive/cuid2';
15
- import { I as InvalidateSync } from './sync-Dfr1zgLx.mjs';
15
+ import { I as InvalidateSync } from './sync-s1pUqWGm.mjs';
16
16
  import { B as BackgroundTaskReporter } from './backgroundTaskActivity-8PdPxrvy.mjs';
17
- import { q as notifyDaemonTurnEvent, t as notifyDaemonBackgroundTasks } from './controlClient-DhFAPGHz.mjs';
17
+ import { q as notifyDaemonTurnEvent, t as notifyDaemonBackgroundTasks } from './controlClient-bqCKl9Nv.mjs';
18
18
  import chalk from 'chalk';
19
19
 
20
20
  async function hmac_sha512(key, data) {
@@ -1015,9 +1015,15 @@ class TurnActivityTracker {
1015
1015
  this.ttlMs = ttlMs;
1016
1016
  }
1017
1017
  busy = /* @__PURE__ */ new Map();
1018
+ /** B-874: observers of every applied event (the issue worker's run session events). */
1019
+ listeners = [];
1018
1020
  apply(sessionId, event, now = Date.now()) {
1019
1021
  if (event === "turn_started") this.busy.set(sessionId, now);
1020
1022
  else this.busy.delete(sessionId);
1023
+ for (const listener of this.listeners) listener(sessionId, event);
1024
+ }
1025
+ onEvent(listener) {
1026
+ this.listeners.push(listener);
1021
1027
  }
1022
1028
  /** The wrapper is gone: whatever it reported no longer holds. */
1023
1029
  forget(sessionId) {
@@ -3108,7 +3114,7 @@ class ApiClient {
3108
3114
  return new ApiSessionClient(this.credential.token, session, opts);
3109
3115
  }
3110
3116
  async machineSyncClient(machine) {
3111
- const { ApiMachineClient } = await import('./apiMachine-BUaFSi27.mjs');
3117
+ const { ApiMachineClient } = await import('./apiMachine-CJl4m3V3.mjs');
3112
3118
  return new ApiMachineClient(this.credential.token, machine);
3113
3119
  }
3114
3120
  push() {
@@ -1,45 +1,45 @@
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-n9NOzHhK.mjs';
4
- import { R as RpcHandlerManager, i as isRateQuotaCode, p as pauseForRateQuota, s as socketConnectGuard, c as connectGuarded, a as answerSocketRequest, e as shouldReconnect, f as createReconnectGate, d as describeSocketAckDrop } from './reconnectGate-DPDXEkOX.mjs';
5
- import { i as isClaudeSessionId, s as stableVersion, a as sanitizeTagList, p as projectField, b as pickMirrorForTerminal, l as liveSnapshotChanged, c as sanitizeLiveSnapshot, d as serializeLiveSnapshot, r as registerWorktreeHandlers, e as configureWorktreeService, f as summarizeSpawnSessionForLog, g as parseMirrorSendParams } from './mirrorProtocol-CoXxepvL.mjs';
6
- import { c as configuration } from './configuration-D9k5yIzV.mjs';
3
+ import { l as logger } from './logger-BLMi8oJK.mjs';
4
+ import { R as RpcHandlerManager, i as isRateQuotaCode, p as pauseForRateQuota, s as socketConnectGuard, c as connectGuarded, a as answerSocketRequest, e as shouldReconnect, f as createReconnectGate, d as describeSocketAckDrop } from './reconnectGate-COxAZTv8.mjs';
5
+ import { i as isClaudeSessionId, s as stableVersion, a as sanitizeTagList, p as projectField, b as pickMirrorForTerminal, l as liveSnapshotChanged, c as sanitizeLiveSnapshot, d as serializeLiveSnapshot, r as registerWorktreeHandlers, e as configureWorktreeService, f as summarizeSpawnSessionForLog, g as parseMirrorSendParams } from './mirrorProtocol-DFQLXDBI.mjs';
6
+ import { c as configuration } from './configuration-4pG95tsq.mjs';
7
7
  import { w as withCurrentCliUpdateState } from './cliUpdate-Y34VGe9Y.mjs';
8
- import { r as registerCommonHandlers } from './registerCommonHandlers-BrTglZnC.mjs';
8
+ import { r as registerCommonHandlers } from './registerCommonHandlers-Cfl_dEWs.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-B5U9rC15.mjs';
14
+ import { r as readSettings, c as readPersistedSessions, p as readTrackedClaudeSessionIds, q as readTrackedCodexThreadIds } from './persistence-DbOKjdUD.mjs';
15
15
  import { M as ModelConfigError } from './fileStore-5qpetZS0.mjs';
16
- import { a9 as AGENT_PROFILE_RPC, aa as RelayCandidatesResponseSchema, a4 as RelayAssignmentResponseSchema, a3 as ReleaseDrainNoticeSchema } from './index-BQvPYTNM.mjs';
17
- import { a as AccountError } from './accountService-WPnOpkvs.mjs';
16
+ import { ak as AGENT_PROFILE_RPC, al as RelayCandidatesResponseSchema, af as RelayAssignmentResponseSchema, ae as ReleaseDrainNoticeSchema } from './index-kwsivEs-.mjs';
17
+ import { a as AccountError } from './accountService-ELazcp3V.mjs';
18
18
  import { e as encodeBase64, g as encrypt, h as decrypt, d as decodeBase64 } from './authRelay-DhQhkBvX.mjs';
19
19
  import { p as prepareClipboardText, d as prepareClipboardHistoryText } from './limits-DIo7rEBR.mjs';
20
- import { b as backoff, d as delay } from './time-PqfO1O58.mjs';
20
+ import { b as backoff, d as delay } from './time-qd46L189.mjs';
21
21
  import * as pty from 'node-pty';
22
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-Dc38XmZv.mjs';
23
23
  import { t as tmuxArgs, V as VH_TMUX_SOCKET_ENV, v as validateTerminalProjectId, a as scrubTmuxClientEnv } from './tmuxSocket-BmZyixRM.mjs';
24
- import { locateClaudeConversation, refreshAgentHomes } from './index-BAjoMeJi.mjs';
24
+ import { locateClaudeConversation, refreshAgentHomes } from './index-XP-qcJQ3.mjs';
25
25
  import { randomBytes } from 'node:crypto';
26
26
  import { readdirSync, unlinkSync, existsSync, mkdirSync, writeFileSync, readFileSync, statSync, chmodSync, renameSync, rmSync, accessSync, constants } from 'node:fs';
27
27
  import axios from 'axios';
28
28
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
29
29
  import { a as isValidTerminalId } from './ids-DU6sLx4C.mjs';
30
30
  import { d as detectCLIAvailability } from './detectCLI-CSGMlV51.mjs';
31
- import { d as detectResumeSupport } from './localHappyAgentAuth-CD896cy4.mjs';
31
+ import { d as detectResumeSupport } from './localHappyAgentAuth-DeDQjw24.mjs';
32
32
  import { g as getProjectPath, a as getClaudeProjectsRoot } from './path-D2wdaNSk.mjs';
33
33
  import { i as isVeryHappyOneShotPrompt } from './oneShotPrompts-DT4p6RNd.mjs';
34
- import { f as forkSession, F as ForkSourceMissingError, d as discardForkedSession, l as listClaudeRewindPoints, b as forkAndTruncateSession, c as ForkTruncateUuidNotFoundError, e as forkBeforeUserMessage, a as forkCompletedTurns } from './claudeSessionFork-dOOc9hpA.mjs';
35
- import { C as CodexAppServerClient } from './codexAppServerClient-BAcU_XN8.mjs';
34
+ import { f as forkSession, F as ForkSourceMissingError, d as discardForkedSession, l as listClaudeRewindPoints, b as forkAndTruncateSession, c as ForkTruncateUuidNotFoundError, e as forkBeforeUserMessage, a as forkCompletedTurns } from './claudeSessionFork-n1vMiFcP.mjs';
35
+ import { C as CodexAppServerClient } from './codexAppServerClient-By4ntTIr.mjs';
36
36
  import { f as forkCodexThread, C as CodexForkRewindPointNotFoundError, l as listCodexRewindPoints, b as forkCodexBeforeUserMessage, a as forkCodexCompletedTurns } from './codexThreadFork-CVzAqELg.mjs';
37
- import { p as planRateLimitWrite, m as mergeRateLimitReports } from './rateLimitWindows-DnLJ-gve.mjs';
37
+ import { p as planRateLimitWrite, m as mergeRateLimitReports } from './rateLimitWindows-DZVrafmm.mjs';
38
38
  import 'chalk';
39
39
  import 'node:util';
40
40
  import 'os';
41
41
  import 'child_process';
42
- import './package-CCF6FHr2.mjs';
42
+ import './package-DbGqY8Ej.mjs';
43
43
  import 'util';
44
44
  import 'fs/promises';
45
45
  import 'crypto';
@@ -47,9 +47,9 @@ import 'path';
47
47
  import 'cross-spawn';
48
48
  import 'zod';
49
49
  import '@paralleldrive/cuid2';
50
- import './claudeAccountEnv-CYwfvK1u.mjs';
51
- import './store-DnaIrYLA.mjs';
52
- import './codexAccount-DeFAjaHW.mjs';
50
+ import './claudeAccountEnv-CI8RlIB9.mjs';
51
+ import './store-CqNAE-0v.mjs';
52
+ import './codexAccount-BAezf1fY.mjs';
53
53
  import 'node:readline';
54
54
  import 'tweetnacl';
55
55
  import './terminalTitleSuggest-CeKsX_V6.mjs';
@@ -2,46 +2,46 @@
2
2
 
3
3
  var socket_ioClient = require('socket.io-client');
4
4
  var webPanels = require('./webPanels-FCgFKvVe.cjs');
5
- var logger = require('./logger-LsJ3Cl5o.cjs');
6
- var reconnectGate = require('./reconnectGate-CHI12y0Y.cjs');
7
- var mirrorProtocol = require('./mirrorProtocol-5bgkr1Or.cjs');
8
- var configuration = require('./configuration-CAzuk0Xs.cjs');
5
+ var logger = require('./logger-D28MY1Bv.cjs');
6
+ var reconnectGate = require('./reconnectGate-YQ5jXJfY.cjs');
7
+ var mirrorProtocol = require('./mirrorProtocol-CCl9dtzh.cjs');
8
+ var configuration = require('./configuration-ClUt7pqs.cjs');
9
9
  var cliUpdate = require('./cliUpdate-DsKXPFYp.cjs');
10
- var registerCommonHandlers = require('./registerCommonHandlers-CUCw-rad.cjs');
10
+ var registerCommonHandlers = require('./registerCommonHandlers-D95IxqDN.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-Dl3sBrCF.cjs');
16
+ var persistence = require('./persistence-TpVFA5-I.cjs');
17
17
  var fileStore = require('./fileStore-7qhnbs6N.cjs');
18
- var index = require('./index-BnT8yvlF.cjs');
19
- var accountService = require('./accountService-B59oKwa4.cjs');
18
+ var index = require('./index-BiutHOAO.cjs');
19
+ var accountService = require('./accountService-BDJo14mY.cjs');
20
20
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
21
21
  var limits = require('./limits-C-a7gr04.cjs');
22
- var time = require('./time-DTaj0RVK.cjs');
22
+ var time = require('./time-D-v2Cd9e.cjs');
23
23
  var pty = require('node-pty');
24
24
  var terminals = require('./terminals-dK3Lrjfp.cjs');
25
25
  var tmuxSocket = require('./tmuxSocket-Dg11Olx0.cjs');
26
- var index$1 = require('./index-qVJYCmRA.cjs');
26
+ var index$1 = require('./index-CbzettaI.cjs');
27
27
  var node_crypto = require('node:crypto');
28
28
  var node_fs = require('node:fs');
29
29
  var axios = require('axios');
30
30
  var projectPath = require('./projectPath-C3ioB4Bu.cjs');
31
31
  var ids = require('./ids-B6ZC0HGt.cjs');
32
32
  var detectCLI = require('./detectCLI-BuYR_Qxe.cjs');
33
- var localHappyAgentAuth = require('./localHappyAgentAuth-Bsk_VyUN.cjs');
33
+ var localHappyAgentAuth = require('./localHappyAgentAuth-CjtNcaI0.cjs');
34
34
  var path$1 = require('./path-B7zW-WwE.cjs');
35
35
  var oneShotPrompts = require('./oneShotPrompts-CL0dip9C.cjs');
36
- var claudeSessionFork = require('./claudeSessionFork-BuDN5SkN.cjs');
37
- var codexAppServerClient = require('./codexAppServerClient-6QmZ2Tn5.cjs');
36
+ var claudeSessionFork = require('./claudeSessionFork-Bkxn40Y8.cjs');
37
+ var codexAppServerClient = require('./codexAppServerClient-xBeqblCj.cjs');
38
38
  var codexThreadFork = require('./codexThreadFork-C6ZmcT2z.cjs');
39
- var rateLimitWindows = require('./rateLimitWindows-C7xi99Eb.cjs');
39
+ var rateLimitWindows = require('./rateLimitWindows-BREA7OZj.cjs');
40
40
  require('chalk');
41
41
  require('node:util');
42
42
  require('os');
43
43
  require('child_process');
44
- require('./package-D7V1BX2I.cjs');
44
+ require('./package-BFSsS_dl.cjs');
45
45
  require('util');
46
46
  require('fs/promises');
47
47
  require('crypto');
@@ -49,9 +49,9 @@ require('path');
49
49
  require('cross-spawn');
50
50
  require('zod');
51
51
  require('@paralleldrive/cuid2');
52
- require('./claudeAccountEnv-z_ecsJAP.cjs');
53
- require('./store-D41VdZcL.cjs');
54
- require('./codexAccount-8Wv5enLR.cjs');
52
+ require('./claudeAccountEnv-D33xXRE7.cjs');
53
+ require('./store-DOZAMV4W.cjs');
54
+ require('./codexAccount-DfeCHUOU.cjs');
55
55
  require('node:readline');
56
56
  require('tweetnacl');
57
57
  require('./terminalTitleSuggest-DhvRFX3H.cjs');
@@ -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-pHkbUkqT.mjs';
5
- import { e as ensurePrivateDirectory, h as hardenPrivateFile } from './configuration-D9k5yIzV.mjs';
4
+ import { M as MAX_CHAT_ATTACHMENT_SOURCE_BYTES } from './pushNotifications-CrCTpDiN.mjs';
5
+ import { e as ensurePrivateDirectory, h as hardenPrivateFile } from './configuration-4pG95tsq.mjs';
6
6
 
7
7
  const CLAUDE_ATTACHMENT_KINDS = [
8
8
  "image/jpeg",
@@ -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-IZaTtVDG.cjs');
7
- var configuration = require('./configuration-CAzuk0Xs.cjs');
6
+ var pushNotifications = require('./pushNotifications-C1i2W1GQ.cjs');
7
+ var configuration = require('./configuration-ClUt7pqs.cjs');
8
8
 
9
9
  const CLAUDE_ATTACHMENT_KINDS = [
10
10
  "image/jpeg",
@@ -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-D9k5yIzV.mjs';
2
+ import { c as configuration } from './configuration-4pG95tsq.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-PqfO1O58.mjs';
7
- import { g as readCredentials, m as readSettingsOutcome, u as updateSettings, w as writeCredentialsLegacy, n as writeCredentialsDataKey } from './persistence-B5U9rC15.mjs';
8
- import { o as openBrowser } from './browser-BpwBEJDU.mjs';
9
- import { l as logger } from './logger-n9NOzHhK.mjs';
6
+ import { d as delay } from './time-qd46L189.mjs';
7
+ import { g as readCredentials, j as readSettingsOutcome, u as updateSettings, w as writeCredentialsLegacy, k as writeCredentialsDataKey } from './persistence-DbOKjdUD.mjs';
8
+ import { o as openBrowser } from './browser-BAlw0rns.mjs';
9
+ import { l as logger } from './logger-BLMi8oJK.mjs';
10
10
 
11
11
  function generateWebAuthUrl(publicKey) {
12
12
  const publicKeyBase64 = encodeBase64(publicKey, "base64url");
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var persistence = require('./persistence-Dl3sBrCF.cjs');
5
- var auth = require('./auth-B6H2wHTy.cjs');
6
- var configuration = require('./configuration-CAzuk0Xs.cjs');
4
+ var persistence = require('./persistence-TpVFA5-I.cjs');
5
+ var auth = require('./auth-oAnLi4Tl.cjs');
6
+ var configuration = require('./configuration-ClUt7pqs.cjs');
7
7
  var node_fs = require('node:fs');
8
8
  var node_readline = require('node:readline');
9
- var controlClient = require('./controlClient-Bb188cU0.cjs');
10
- var logger = require('./logger-LsJ3Cl5o.cjs');
9
+ var controlClient = require('./controlClient-SYDFcIkk.cjs');
10
+ var logger = require('./logger-D28MY1Bv.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-DTaj0RVK.cjs');
19
- require('./browser-BhncBLE4.cjs');
18
+ require('./time-D-v2Cd9e.cjs');
19
+ require('./browser-Ds-N-Dup.cjs');
20
20
  require('open');
21
21
  require('node:path');
22
- require('./package-D7V1BX2I.cjs');
22
+ require('./package-BFSsS_dl.cjs');
23
23
  require('node:util');
24
24
 
25
25
  function localMachineIdentityStatus(machineId) {