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,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
3
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
4
- var configuration = require('./configuration-CAzuk0Xs.cjs');
4
+ var configuration = require('./configuration-ClUt7pqs.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-DTaj0RVK.cjs');
9
- var persistence = require('./persistence-Dl3sBrCF.cjs');
10
- var browser = require('./browser-BhncBLE4.cjs');
11
- var logger = require('./logger-LsJ3Cl5o.cjs');
8
+ var time = require('./time-D-v2Cd9e.cjs');
9
+ var persistence = require('./persistence-TpVFA5-I.cjs');
10
+ var browser = require('./browser-Ds-N-Dup.cjs');
11
+ var logger = require('./logger-D28MY1Bv.cjs');
12
12
 
13
13
  function generateWebAuthUrl(publicKey) {
14
14
  const publicKeyBase64 = authRelay.encodeBase64(publicKey, "base64url");
@@ -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-B5U9rC15.mjs';
3
- import { a as authAndSetupMachineIfNeeded } from './auth-BjWk9sHU.mjs';
4
- import { c as configuration } from './configuration-D9k5yIzV.mjs';
2
+ import { g as readCredentials, r as readSettings, h as clearCredentials, i as clearMachineId } from './persistence-DbOKjdUD.mjs';
3
+ import { a as authAndSetupMachineIfNeeded } from './auth-8jKFCZOX.mjs';
4
+ import { c as configuration } from './configuration-4pG95tsq.mjs';
5
5
  import { existsSync, rmSync } from 'node:fs';
6
6
  import { createInterface } from 'node:readline';
7
- import { a as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-DhFAPGHz.mjs';
8
- import { l as logger } from './logger-n9NOzHhK.mjs';
7
+ import { a as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-bqCKl9Nv.mjs';
8
+ import { l as logger } from './logger-BLMi8oJK.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-PqfO1O58.mjs';
17
- import './browser-BpwBEJDU.mjs';
16
+ import './time-qd46L189.mjs';
17
+ import './browser-BAlw0rns.mjs';
18
18
  import 'open';
19
19
  import 'node:path';
20
- import './package-CCF6FHr2.mjs';
20
+ import './package-DbGqY8Ej.mjs';
21
21
  import 'node:util';
22
22
 
23
23
  function localMachineIdentityStatus(machineId) {
@@ -2,46 +2,46 @@ import chalk from 'chalk';
2
2
  import { homedir } from 'node:os';
3
3
  import { readFileSync } from 'node:fs';
4
4
  import { resolve } from 'node:path';
5
- import { c as AUTOMATION_NAME_PATTERN, i as isAutomationRunTerminal, d as AUTOMATION_PRECHECK_MAX_TIMEOUT_MS, e as AutomationPrecheckSchema } from './index-BQvPYTNM.mjs';
6
- import { c as configuration } from './configuration-D9k5yIzV.mjs';
7
- import { a as authenticatedAutomationsClient, b as automationRunIdFromEnv, i as isAutomationsUnavailable, A as AUTOMATIONS_UNAVAILABLE_MESSAGE } from './client-B5uvkdLn.mjs';
8
- import { p as parseDuration, c as clipAutomationReport, A as AUTOMATION_REPORT_TEXT_LIMITS, t as triggerFromFlags, d as describeTrigger, a as describeAction } from './template-DE9JMShn.mjs';
5
+ import { c as AUTOMATION_NAME_PATTERN, i as isAutomationRunTerminal, d as AUTOMATION_PRECHECK_MAX_TIMEOUT_MS, e as AutomationPrecheckSchema } from './index-kwsivEs-.mjs';
6
+ import { c as configuration } from './configuration-4pG95tsq.mjs';
7
+ import { a as authenticatedAutomationsClient, b as automationRunIdFromEnv, i as isAutomationsUnavailable, A as AUTOMATIONS_UNAVAILABLE_MESSAGE } from './client-Blpuk2Hr.mjs';
8
+ import { p as parseDuration, c as clipAutomationReport, A as AUTOMATION_REPORT_TEXT_LIMITS, t as triggerFromFlags, d as describeTrigger, a as describeAction } from './template-oBrR0saD.mjs';
9
9
  import { A as AUTOMATION_SKILL, i as installAutomationSkill } from './install-B8O1JpJH.mjs';
10
10
  import { u as updateAutomationChecked, c as createAutomationChecked } from './precheckCompat-DeEbilbr.mjs';
11
- import { s as sessionWebUrl } from './sessionOps-VS1baPz_.mjs';
12
- import { parseEnvAssignment } from './spawn-BJMU9zbZ.mjs';
13
- import { S as SPAWN_AGENTS, s as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES } from './spawnAgents-SeUX5gIq.mjs';
14
- import { d as delay } from './time-PqfO1O58.mjs';
11
+ import { s as sessionWebUrl } from './sessionOps-D-uFSTHk.mjs';
12
+ import { parseEnvAssignment } from './spawn-BEJxfj60.mjs';
13
+ import { S as SPAWN_AGENTS, s as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES } from './spawnAgents-XObVj6zN.mjs';
14
+ import { d as delay } from './time-qd46L189.mjs';
15
15
  import 'zod';
16
16
  import '@paralleldrive/cuid2';
17
- import './package-CCF6FHr2.mjs';
17
+ import './package-DbGqY8Ej.mjs';
18
18
  import 'node:fs/promises';
19
- import './persistence-B5U9rC15.mjs';
19
+ import './persistence-DbOKjdUD.mjs';
20
20
  import './authRelay-DhQhkBvX.mjs';
21
21
  import 'node:crypto';
22
22
  import 'tweetnacl';
23
- import './logger-n9NOzHhK.mjs';
23
+ import './logger-BLMi8oJK.mjs';
24
24
  import 'node:util';
25
25
  import './resources-CLP_MpK4.mjs';
26
26
  import 'axios';
27
- import './controlClient-DhFAPGHz.mjs';
27
+ import './controlClient-bqCKl9Nv.mjs';
28
28
  import './specialCommands-MXUN0wfI.mjs';
29
29
  import 'socket.io-client';
30
30
  import './backgroundTaskActivity-8PdPxrvy.mjs';
31
- import './client-DKPLBLvx.mjs';
31
+ import './client-BXwIqRha.mjs';
32
32
  import './path-D2wdaNSk.mjs';
33
- import './claudeSessionFork-dOOc9hpA.mjs';
33
+ import './claudeSessionFork-n1vMiFcP.mjs';
34
34
  import 'node:readline';
35
- import './codexAppServerClient-BAcU_XN8.mjs';
35
+ import './codexAppServerClient-By4ntTIr.mjs';
36
36
  import 'node:child_process';
37
37
  import 'cross-spawn';
38
38
  import './contentLogMetadata-BlWI0egu.mjs';
39
39
  import './manager-BEsI4qt3.mjs';
40
40
  import '@anthropic-ai/sandbox-runtime';
41
- import './rateLimitWindows-DnLJ-gve.mjs';
41
+ import './rateLimitWindows-DZVrafmm.mjs';
42
42
  import './processTree-CP5IvQ2Z.mjs';
43
43
  import './codexThreadFork-CVzAqELg.mjs';
44
- import './createSessionMetadata-BIK0Xz31.mjs';
44
+ import './createSessionMetadata-CQkxe_4T.mjs';
45
45
  import './projectPath-BTBIMB57.mjs';
46
46
  import 'path';
47
47
  import 'url';
@@ -4,46 +4,46 @@ var chalk = require('chalk');
4
4
  var os = require('node:os');
5
5
  var node_fs = require('node:fs');
6
6
  var path = require('node:path');
7
- var index = require('./index-BnT8yvlF.cjs');
8
- var configuration = require('./configuration-CAzuk0Xs.cjs');
9
- var client = require('./client-BKyTA9Hf.cjs');
10
- var template = require('./template-CB4gXtUX.cjs');
7
+ var index = require('./index-BiutHOAO.cjs');
8
+ var configuration = require('./configuration-ClUt7pqs.cjs');
9
+ var client = require('./client-D0_UOmC1.cjs');
10
+ var template = require('./template-M1YGFYUT.cjs');
11
11
  var install = require('./install-BOHlqewf.cjs');
12
12
  var precheckCompat = require('./precheckCompat-CWOi5c9L.cjs');
13
- var sessionOps = require('./sessionOps-CYNOycqT.cjs');
14
- var spawn = require('./spawn-DDyMxQ7Z.cjs');
15
- var spawnAgents = require('./spawnAgents-B8GT4JQX.cjs');
16
- var time = require('./time-DTaj0RVK.cjs');
13
+ var sessionOps = require('./sessionOps-CIFvoFPA.cjs');
14
+ var spawn = require('./spawn-DyjOa4nf.cjs');
15
+ var spawnAgents = require('./spawnAgents-IiuqX0S5.cjs');
16
+ var time = require('./time-D-v2Cd9e.cjs');
17
17
  require('zod');
18
18
  require('@paralleldrive/cuid2');
19
- require('./package-D7V1BX2I.cjs');
19
+ require('./package-BFSsS_dl.cjs');
20
20
  require('node:fs/promises');
21
- require('./persistence-Dl3sBrCF.cjs');
21
+ require('./persistence-TpVFA5-I.cjs');
22
22
  require('./authRelay-Dy1qU9td.cjs');
23
23
  require('node:crypto');
24
24
  require('tweetnacl');
25
- require('./logger-LsJ3Cl5o.cjs');
25
+ require('./logger-D28MY1Bv.cjs');
26
26
  require('node:util');
27
27
  require('./resources-BZ_Be0qM.cjs');
28
28
  require('axios');
29
- require('./controlClient-Bb188cU0.cjs');
29
+ require('./controlClient-SYDFcIkk.cjs');
30
30
  require('./specialCommands-J3JFOq0J.cjs');
31
31
  require('socket.io-client');
32
32
  require('./backgroundTaskActivity-CBvUdj39.cjs');
33
- require('./client-KbhVRYjy.cjs');
33
+ require('./client-BnoN4P4t.cjs');
34
34
  require('./path-B7zW-WwE.cjs');
35
- require('./claudeSessionFork-BuDN5SkN.cjs');
35
+ require('./claudeSessionFork-Bkxn40Y8.cjs');
36
36
  require('node:readline');
37
- require('./codexAppServerClient-6QmZ2Tn5.cjs');
37
+ require('./codexAppServerClient-xBeqblCj.cjs');
38
38
  require('node:child_process');
39
39
  require('cross-spawn');
40
40
  require('./contentLogMetadata-ZSFk_NjQ.cjs');
41
41
  require('./manager-HrEj442o.cjs');
42
42
  require('@anthropic-ai/sandbox-runtime');
43
- require('./rateLimitWindows-C7xi99Eb.cjs');
43
+ require('./rateLimitWindows-BREA7OZj.cjs');
44
44
  require('./processTree-CMHWlVse.cjs');
45
45
  require('./codexThreadFork-C6ZmcT2z.cjs');
46
- require('./createSessionMetadata-C2EQi_od.cjs');
46
+ require('./createSessionMetadata-msQTEvvn.cjs');
47
47
  require('./projectPath-C3ioB4Bu.cjs');
48
48
  require('path');
49
49
  require('url');
@@ -1,9 +1,9 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { mkdir, writeFile } from 'node:fs/promises';
3
3
  import { join } from 'node:path';
4
- import { c as configuration } from './configuration-D9k5yIzV.mjs';
4
+ import { c as configuration } from './configuration-4pG95tsq.mjs';
5
5
  import 'node:os';
6
- import './package-CCF6FHr2.mjs';
6
+ import './package-DbGqY8Ej.mjs';
7
7
 
8
8
  const ASSISTANT_CLAUDE_MD = `# very-happy \u8C03\u5EA6\u4E2D\u5FC3\uFF08\u8BED\u97F3\u52A9\u624B\uFF09
9
9
 
@@ -3,9 +3,9 @@
3
3
  var node_fs = require('node:fs');
4
4
  var promises = require('node:fs/promises');
5
5
  var path = require('node:path');
6
- var configuration = require('./configuration-CAzuk0Xs.cjs');
6
+ var configuration = require('./configuration-ClUt7pqs.cjs');
7
7
  require('node:os');
8
- require('./package-D7V1BX2I.cjs');
8
+ require('./package-BFSsS_dl.cjs');
9
9
 
10
10
  const ASSISTANT_CLAUDE_MD = `# very-happy \u8C03\u5EA6\u4E2D\u5FC3\uFF08\u8BED\u97F3\u52A9\u624B\uFF09
11
11
 
@@ -1,5 +1,5 @@
1
1
  import open from 'open';
2
- import { l as logger } from './logger-n9NOzHhK.mjs';
2
+ import { l as logger } from './logger-BLMi8oJK.mjs';
3
3
 
4
4
  async function openBrowser(url) {
5
5
  try {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var open = require('open');
4
- var logger = require('./logger-LsJ3Cl5o.cjs');
4
+ var logger = require('./logger-D28MY1Bv.cjs');
5
5
 
6
6
  async function openBrowser(url) {
7
7
  try {
@@ -1,4 +1,4 @@
1
- import { b as accountSecretPath, e as expandHome } from './store-DnaIrYLA.mjs';
1
+ import { b as accountSecretPath, e as expandHome } from './store-CqNAE-0v.mjs';
2
2
 
3
3
  const ACCOUNT_STRIPPED_ENV_KEYS = [
4
4
  "ANTHROPIC_API_KEY",
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var store = require('./store-D41VdZcL.cjs');
3
+ var store = require('./store-DOZAMV4W.cjs');
4
4
 
5
5
  const ACCOUNT_STRIPPED_ENV_KEYS = [
6
6
  "ANTHROPIC_API_KEY",
@@ -4,21 +4,21 @@ var spawn = require('cross-spawn');
4
4
  var node_readline = require('node:readline');
5
5
  var node_fs = require('node:fs');
6
6
  var node_crypto = require('node:crypto');
7
- var logger = require('./logger-LsJ3Cl5o.cjs');
7
+ var logger = require('./logger-D28MY1Bv.cjs');
8
8
  var promptCacheTtl = require('./promptCacheTtl-B8PCzE6k.cjs');
9
9
  var path$1 = require('node:path');
10
10
  var path = require('./path-B7zW-WwE.cjs');
11
- var systemPrompt = require('./systemPrompt-pxNDR5u8.cjs');
11
+ var systemPrompt = require('./systemPrompt-CCdSrtn3.cjs');
12
12
  var manager = require('./manager-HrEj442o.cjs');
13
13
  var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
14
14
  var claudeCliPath = require('./claudeCliPath-GaP3UUz1.cjs');
15
15
  require('chalk');
16
16
  require('node:util');
17
- require('./configuration-CAzuk0Xs.cjs');
17
+ require('./configuration-ClUt7pqs.cjs');
18
18
  require('node:os');
19
- require('./package-D7V1BX2I.cjs');
19
+ require('./package-BFSsS_dl.cjs');
20
20
  require('node:fs/promises');
21
- require('./index-BnT8yvlF.cjs');
21
+ require('./index-BiutHOAO.cjs');
22
22
  require('zod');
23
23
  require('@paralleldrive/cuid2');
24
24
  require('./trimIdent-4gvk9Wk6.cjs');
@@ -2,21 +2,21 @@ import { spawn } from 'cross-spawn';
2
2
  import { createInterface } from 'node:readline';
3
3
  import { readdirSync, statSync, mkdirSync, existsSync } from 'node:fs';
4
4
  import { randomUUID } from 'node:crypto';
5
- import { l as logger } from './logger-n9NOzHhK.mjs';
5
+ import { l as logger } from './logger-BLMi8oJK.mjs';
6
6
  import { p as pinSmallFastModel, a as applyPromptCacheTtlDefault, e as ensureLocalProxyBypass } from './promptCacheTtl-Ce0TVbrx.mjs';
7
7
  import { join } from 'node:path';
8
8
  import { g as getProjectPath } from './path-D2wdaNSk.mjs';
9
- import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-DAQq-bKB.mjs';
9
+ import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-CLYTbBhV.mjs';
10
10
  import { i as initializeSandbox, a as wrapCommand } from './manager-BEsI4qt3.mjs';
11
11
  import { c as contentLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
12
12
  import { claudeCliPath } from './claudeCliPath-BqkaH2oR.mjs';
13
13
  import 'chalk';
14
14
  import 'node:util';
15
- import './configuration-D9k5yIzV.mjs';
15
+ import './configuration-4pG95tsq.mjs';
16
16
  import 'node:os';
17
- import './package-CCF6FHr2.mjs';
17
+ import './package-DbGqY8Ej.mjs';
18
18
  import 'node:fs/promises';
19
- import './index-BQvPYTNM.mjs';
19
+ import './index-kwsivEs-.mjs';
20
20
  import 'zod';
21
21
  import '@paralleldrive/cuid2';
22
22
  import './trimIdent-BAjmv_TG.mjs';
@@ -1,21 +1,21 @@
1
- import { l as logger } from './logger-n9NOzHhK.mjs';
2
- import { claudeLocal, ExitCodeError } from './claudeLocal-coKrsYmR.mjs';
3
- import { c as createSessionScanner, F as Future, d as describeClaudeProcessExit } from './sessionScanner-CAxiFc_3.mjs';
1
+ import { l as logger } from './logger-BLMi8oJK.mjs';
2
+ import { claudeLocal, ExitCodeError } from './claudeLocal-X48n0RhP.mjs';
3
+ import { c as createSessionScanner, F as Future, d as describeClaudeProcessExit } from './sessionScanner-DQAOP6pU.mjs';
4
4
  import 'chalk';
5
5
  import 'node:util';
6
- import './configuration-D9k5yIzV.mjs';
6
+ import './configuration-4pG95tsq.mjs';
7
7
  import 'node:fs';
8
8
  import 'node:os';
9
9
  import 'node:path';
10
- import './package-CCF6FHr2.mjs';
10
+ import './package-DbGqY8Ej.mjs';
11
11
  import 'node:fs/promises';
12
12
  import 'cross-spawn';
13
13
  import 'node:readline';
14
14
  import 'node:crypto';
15
15
  import './promptCacheTtl-Ce0TVbrx.mjs';
16
16
  import './path-D2wdaNSk.mjs';
17
- import './systemPrompt-DAQq-bKB.mjs';
18
- import './index-BQvPYTNM.mjs';
17
+ import './systemPrompt-CLYTbBhV.mjs';
18
+ import './index-kwsivEs-.mjs';
19
19
  import 'zod';
20
20
  import '@paralleldrive/cuid2';
21
21
  import './trimIdent-BAjmv_TG.mjs';
@@ -28,11 +28,11 @@ import './claudeCliPath-BqkaH2oR.mjs';
28
28
  import './projectPath-BTBIMB57.mjs';
29
29
  import 'path';
30
30
  import 'url';
31
- import './sync-Dfr1zgLx.mjs';
32
- import './time-PqfO1O58.mjs';
31
+ import './sync-s1pUqWGm.mjs';
32
+ import './time-qd46L189.mjs';
33
33
  import './types-CkqAACXx.mjs';
34
34
  import './transcriptCursor-B7T_gkQ0.mjs';
35
- import './startFileWatcher-Djf0SdmK.mjs';
35
+ import './startFileWatcher-t3K1y9kY.mjs';
36
36
  import 'fs/promises';
37
37
 
38
38
  async function claudeLocalLauncher(session) {
@@ -1,23 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-LsJ3Cl5o.cjs');
4
- var claudeLocal = require('./claudeLocal-Co_DyW-D.cjs');
5
- var sessionScanner = require('./sessionScanner--X2Pzlra.cjs');
3
+ var logger = require('./logger-D28MY1Bv.cjs');
4
+ var claudeLocal = require('./claudeLocal-BbsOT-EF.cjs');
5
+ var sessionScanner = require('./sessionScanner-CWflbWoH.cjs');
6
6
  require('chalk');
7
7
  require('node:util');
8
- require('./configuration-CAzuk0Xs.cjs');
8
+ require('./configuration-ClUt7pqs.cjs');
9
9
  require('node:fs');
10
10
  require('node:os');
11
11
  require('node:path');
12
- require('./package-D7V1BX2I.cjs');
12
+ require('./package-BFSsS_dl.cjs');
13
13
  require('node:fs/promises');
14
14
  require('cross-spawn');
15
15
  require('node:readline');
16
16
  require('node:crypto');
17
17
  require('./promptCacheTtl-B8PCzE6k.cjs');
18
18
  require('./path-B7zW-WwE.cjs');
19
- require('./systemPrompt-pxNDR5u8.cjs');
20
- require('./index-BnT8yvlF.cjs');
19
+ require('./systemPrompt-CCdSrtn3.cjs');
20
+ require('./index-BiutHOAO.cjs');
21
21
  require('zod');
22
22
  require('@paralleldrive/cuid2');
23
23
  require('./trimIdent-4gvk9Wk6.cjs');
@@ -30,11 +30,11 @@ require('./claudeCliPath-GaP3UUz1.cjs');
30
30
  require('./projectPath-C3ioB4Bu.cjs');
31
31
  require('path');
32
32
  require('url');
33
- require('./sync-B-B5mc8Z.cjs');
34
- require('./time-DTaj0RVK.cjs');
33
+ require('./sync-BvxhuW9R.cjs');
34
+ require('./time-D-v2Cd9e.cjs');
35
35
  require('./types-CRS-srZK.cjs');
36
36
  require('./transcriptCursor-DcXGLeSc.cjs');
37
- require('./startFileWatcher-DLfkP-IW.cjs');
37
+ require('./startFileWatcher-CeDJl9mN.cjs');
38
38
  require('fs/promises');
39
39
 
40
40
  async function claudeLocalLauncher(session) {
@@ -5,7 +5,7 @@ var promises = require('node:fs/promises');
5
5
  var node_fs = require('node:fs');
6
6
  var path = require('node:path');
7
7
  var node_readline = require('node:readline');
8
- var logger = require('./logger-LsJ3Cl5o.cjs');
8
+ var logger = require('./logger-D28MY1Bv.cjs');
9
9
 
10
10
  class ForkTruncateUuidNotFoundError extends Error {
11
11
  constructor(cutAfterUuid, sourcePath) {
@@ -3,7 +3,7 @@ import { unlink, readFile, rename, writeFile } from 'node:fs/promises';
3
3
  import { createReadStream, createWriteStream } from 'node:fs';
4
4
  import { join } from 'node:path';
5
5
  import { createInterface } from 'node:readline';
6
- import { l as logger } from './logger-n9NOzHhK.mjs';
6
+ import { l as logger } from './logger-BLMi8oJK.mjs';
7
7
 
8
8
  class ForkTruncateUuidNotFoundError extends Error {
9
9
  constructor(cutAfterUuid, sourcePath) {
@@ -0,0 +1,120 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-BiutHOAO.cjs');
4
+ var configuration = require('./configuration-ClUt7pqs.cjs');
5
+ var persistence = require('./persistence-TpVFA5-I.cjs');
6
+
7
+ const ISSUES_UNSUPPORTED_BACKOFF_MS = 10 * 6e4;
8
+ class IssuesUnsupportedError extends Error {
9
+ constructor() {
10
+ super("This Very Happy server does not support Issues (or they are turned off).");
11
+ }
12
+ }
13
+ class IssueRequestError extends Error {
14
+ constructor(status, code, details) {
15
+ super(code ? `Issue request failed: ${code}` : `Issue request failed (HTTP ${status})`);
16
+ this.status = status;
17
+ this.code = code;
18
+ this.details = details;
19
+ }
20
+ }
21
+ const ISSUE_TRANSACTION_CONFLICT = "transaction_conflict";
22
+ const ISSUE_CONFLICT_MAX_RETRIES = 5;
23
+ function issueConflictBackoffMs(attempt, random = Math.random) {
24
+ const base = 200 * 2 ** attempt;
25
+ return base + Math.floor(random() * base / 2);
26
+ }
27
+ const KNOWN_CODES = new Set(index.ISSUE_ERROR_CODES.filter((code) => code !== index.ISSUES_DISABLED_ERROR));
28
+ const EXTRA_OBJECT_CODES = /* @__PURE__ */ new Set(["issue_dispatch_not_found", "issue_comment_not_found", "session_not_found"]);
29
+ function isIssueObjectError(code) {
30
+ return typeof code === "string" && (KNOWN_CODES.has(code) || EXTRA_OBJECT_CODES.has(code));
31
+ }
32
+ function createIssuesClient(deps = {}) {
33
+ const now = deps.now ?? Date.now;
34
+ const doFetch = deps.fetch ?? fetch;
35
+ const token = deps.token ?? (async () => (await persistence.readCredentialsForConfiguredRelay())?.token ?? null);
36
+ const sleep = deps.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
37
+ const random = deps.random ?? Math.random;
38
+ let disabledUntil = 0;
39
+ async function request(path, method, body, timeoutMs = 1e4) {
40
+ for (let attempt = 0; ; attempt++) {
41
+ try {
42
+ return await requestOnce(path, method, body, timeoutMs);
43
+ } catch (error) {
44
+ const retryable = error instanceof IssueRequestError && error.status === 409 && error.code === ISSUE_TRANSACTION_CONFLICT;
45
+ if (!retryable || attempt >= ISSUE_CONFLICT_MAX_RETRIES) throw error;
46
+ await sleep(issueConflictBackoffMs(attempt, random));
47
+ }
48
+ }
49
+ }
50
+ async function requestOnce(path, method, body, timeoutMs) {
51
+ if (now() < disabledUntil) throw new IssuesUnsupportedError();
52
+ const bearer = await token();
53
+ if (!bearer) throw new IssueRequestError(401, "not_signed_in", {});
54
+ const response = await doFetch(`${deps.serverUrl ?? configuration.configuration.serverUrl}${path}`, {
55
+ method,
56
+ redirect: "error",
57
+ headers: { authorization: `Bearer ${bearer}`, ...body === void 0 ? {} : { "content-type": "application/json" } },
58
+ body: body === void 0 ? void 0 : JSON.stringify(body),
59
+ signal: AbortSignal.timeout(timeoutMs)
60
+ });
61
+ let json = null;
62
+ try {
63
+ json = await response.json();
64
+ } catch {
65
+ }
66
+ if (response.status === 404 && !isIssueObjectError(json?.error)) {
67
+ disabledUntil = now() + ISSUES_UNSUPPORTED_BACKOFF_MS;
68
+ throw new IssuesUnsupportedError();
69
+ }
70
+ if (!response.ok) {
71
+ const { error, ...details } = json && typeof json === "object" ? json : {};
72
+ throw new IssueRequestError(response.status, typeof error === "string" ? error : null, details);
73
+ }
74
+ return json;
75
+ }
76
+ const enc = (id) => encodeURIComponent(id);
77
+ const query = (params) => {
78
+ const q = new URLSearchParams();
79
+ for (const [k, v] of Object.entries(params)) if (v !== void 0 && v !== "") q.set(k, String(v));
80
+ const s = q.toString();
81
+ return s ? `?${s}` : "";
82
+ };
83
+ return {
84
+ isDisabled: () => now() < disabledUntil,
85
+ // ── human / CLI ──
86
+ list: (params = {}) => request(`/v1/issues${query({ ...params, includeDeleted: params.includeDeleted ? "1" : void 0 })}`, "GET"),
87
+ get: (ref) => request(`/v1/issues/${enc(ref)}`, "GET"),
88
+ create: (input) => request("/v1/issues", "POST", input),
89
+ update: (id, input) => request(`/v1/issues/${enc(id)}`, "PATCH", input),
90
+ remove: (id) => request(`/v1/issues/${enc(id)}`, "DELETE"),
91
+ comment: (id, input) => request(`/v1/issues/${enc(id)}/comments`, "POST", input),
92
+ importLegacyTodos: () => request("/v1/issues/import-legacy-todos", "POST", {}),
93
+ // ── wrapper (agent; the wrapper stamps its own sessionId) ──
94
+ session: (sessionId, since, timeoutMs) => request(`/v1/issues/session/${enc(sessionId)}${since !== void 0 ? `?since=${Math.max(0, Math.floor(since))}` : ""}`, "GET", void 0, timeoutMs),
95
+ agentUpdate: (input) => request("/v1/issues/agent/update", "POST", input),
96
+ agentComment: (input) => request("/v1/issues/agent/comment", "POST", input),
97
+ // ── daemon issue worker ──
98
+ poll: (machineId) => request(`/v1/issues/dispatch${query({ machineId, workerVersion: index.ISSUE_WORKER_VERSION })}`, "GET"),
99
+ claim: (dispatchId, machineId) => request(`/v1/issues/dispatch/${enc(dispatchId)}/claim`, "POST", { machineId }),
100
+ complete: (dispatchId, input) => request(`/v1/issues/dispatch/${enc(dispatchId)}/complete`, "POST", input),
101
+ fail: (dispatchId, input) => request(`/v1/issues/dispatch/${enc(dispatchId)}/fail`, "POST", input),
102
+ sessionEvent: (runId, input) => request(`/v1/issues/runs/${enc(runId)}/session-event`, "POST", input)
103
+ };
104
+ }
105
+ let shared = null;
106
+ function sharedIssuesClient() {
107
+ return shared ??= createIssuesClient();
108
+ }
109
+ const imported = /* @__PURE__ */ new WeakSet();
110
+ async function importLegacyTodosOnce(client) {
111
+ if (imported.has(client)) return;
112
+ imported.add(client);
113
+ await client.importLegacyTodos().catch(() => void 0);
114
+ }
115
+
116
+ exports.IssueRequestError = IssueRequestError;
117
+ exports.IssuesUnsupportedError = IssuesUnsupportedError;
118
+ exports.createIssuesClient = createIssuesClient;
119
+ exports.importLegacyTodosOnce = importLegacyTodosOnce;
120
+ exports.sharedIssuesClient = sharedIssuesClient;
@@ -1,5 +1,5 @@
1
- import { c as configuration } from './configuration-D9k5yIzV.mjs';
2
- import { b as readCredentialsForConfiguredRelay } from './persistence-B5U9rC15.mjs';
1
+ import { c as configuration } from './configuration-4pG95tsq.mjs';
2
+ import { b as readCredentialsForConfiguredRelay } from './persistence-DbOKjdUD.mjs';
3
3
 
4
4
  const UNSUPPORTED_BACKOFF_MS = 10 * 6e4;
5
5
  class ProjectsUnsupportedError extends Error {