very-happy-cli 0.2.198 → 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-Bm3EodAb.mjs → AcpBackend-Cnp6WNn8.mjs} +3 -3
  2. package/dist/{AcpBackend-DOuWeCAx.cjs → AcpBackend-CwSShYPI.cjs} +3 -3
  3. package/dist/{AcpSessionManager-BiwuXpbx.mjs → AcpSessionManager-C4O3jhT_.mjs} +2 -2
  4. package/dist/{AcpSessionManager-DvsZWTXp.cjs → AcpSessionManager-DqW99tOL.cjs} +2 -2
  5. package/dist/{BasePermissionHandler-1QcavYFn.mjs → BasePermissionHandler-8Msj0Z8j.mjs} +1 -1
  6. package/dist/{BasePermissionHandler-25RmI4dK.cjs → BasePermissionHandler-CgqjIUyG.cjs} +1 -1
  7. package/dist/{account-DA4mbX3-.mjs → account-BIxPuBEs.mjs} +11 -11
  8. package/dist/{account-ChUtFYld.cjs → account-DcNh2_SN.cjs} +11 -11
  9. package/dist/{accountService-BWUjgHl0.cjs → accountService-BDJo14mY.cjs} +4 -4
  10. package/dist/{accountService-D7NZrnQd.mjs → accountService-ELazcp3V.mjs} +4 -4
  11. package/dist/{acpSessionResume-CeQu84Ol.cjs → acpSessionResume-B_W8uTI6.cjs} +1 -1
  12. package/dist/{acpSessionResume-D6YgeofW.mjs → acpSessionResume-De_sTG30.mjs} +1 -1
  13. package/dist/{agentHome-DM6mC64c.mjs → agentHome-C-900jC1.mjs} +4 -4
  14. package/dist/{agentHome-DevJCRG9.cjs → agentHome-C-usjJwB.cjs} +4 -4
  15. package/dist/{api-te19Pzi3.cjs → api-BPWRzeNF.cjs} +16 -10
  16. package/dist/{api-oceym3w6.mjs → api-DCUiAds-.mjs} +16 -10
  17. package/dist/{apiMachine-DCHsqtFQ.mjs → apiMachine-CJl4m3V3.mjs} +18 -18
  18. package/dist/{apiMachine-BjhCXg6C.cjs → apiMachine-DjhbA1rL.cjs} +18 -18
  19. package/dist/{attachmentContent-Dl29U1v1.mjs → attachmentContent-BKIq6EXR.mjs} +2 -2
  20. package/dist/{attachmentContent-BfCEgPTP.cjs → attachmentContent-C2f1UEP9.cjs} +2 -2
  21. package/dist/{auth-BIkCWkRV.mjs → auth-8jKFCZOX.mjs} +5 -5
  22. package/dist/{auth-SshU0tNW.cjs → auth-h6oU63Ni.cjs} +8 -8
  23. package/dist/{auth-SH0o7ue7.cjs → auth-oAnLi4Tl.cjs} +5 -5
  24. package/dist/{auth-BJ8Tej9L.mjs → auth-uLRHXOGY.mjs} +8 -8
  25. package/dist/{auto-Bdr4sSJk.mjs → auto-A5arQ-bI.mjs} +17 -17
  26. package/dist/{auto-t1B1Yzb3.cjs → auto-Bpa5iA1A.cjs} +17 -17
  27. package/dist/{bootstrap-D8DYLUId.mjs → bootstrap-BkLFgEGF.mjs} +2 -2
  28. package/dist/{bootstrap-GZDknvPy.cjs → bootstrap-DUKAKxrJ.cjs} +2 -2
  29. package/dist/{browser-C-H3QYV2.mjs → browser-BAlw0rns.mjs} +1 -1
  30. package/dist/{browser-DwCi-9Ya.cjs → browser-Ds-N-Dup.cjs} +1 -1
  31. package/dist/{claudeAccountEnv-DmVbGhZb.mjs → claudeAccountEnv-CI8RlIB9.mjs} +1 -1
  32. package/dist/{claudeAccountEnv-DSaFKajJ.cjs → claudeAccountEnv-D33xXRE7.cjs} +1 -1
  33. package/dist/{claudeLocal-Ck1jTve1.cjs → claudeLocal-BbsOT-EF.cjs} +5 -5
  34. package/dist/{claudeLocal-BiM2x9DJ.mjs → claudeLocal-X48n0RhP.mjs} +5 -5
  35. package/dist/{claudeLocalLauncher-DzvM0jBo.mjs → claudeLocalLauncher-D18gRtxz.mjs} +10 -10
  36. package/dist/{claudeLocalLauncher-Jsupvl4V.cjs → claudeLocalLauncher-D1jS3iK4.cjs} +10 -10
  37. package/dist/{claudeSessionFork-CDTbQmYi.cjs → claudeSessionFork-Bkxn40Y8.cjs} +1 -1
  38. package/dist/{claudeSessionFork-D-BhXkRa.mjs → claudeSessionFork-n1vMiFcP.mjs} +1 -1
  39. package/dist/client-1zIbVVX5.cjs +120 -0
  40. package/dist/{client-BRuFIwki.mjs → client-BXwIqRha.mjs} +2 -2
  41. package/dist/client-BgxQ9aej.mjs +114 -0
  42. package/dist/{client-CISkP897.mjs → client-Blpuk2Hr.mjs} +2 -2
  43. package/dist/{client-D-HEr922.cjs → client-BnoN4P4t.cjs} +2 -2
  44. package/dist/{client-E4kW5qjR.mjs → client-C0qjAgZ_.mjs} +4 -4
  45. package/dist/{client-v6rdLsBH.cjs → client-C8BTmcrh.cjs} +4 -4
  46. package/dist/{client-oqSAKwmy.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-CnbDfCOM.mjs → codexAccount-BAezf1fY.mjs} +1 -1
  50. package/dist/{codexAccount-CQ4W1Ax8.cjs → codexAccount-DfeCHUOU.cjs} +1 -1
  51. package/dist/{codexAppServerClient-BLasFGTm.mjs → codexAppServerClient-By4ntTIr.mjs} +3 -3
  52. package/dist/{codexAppServerClient--K-ILfqM.cjs → codexAppServerClient-xBeqblCj.cjs} +3 -3
  53. package/dist/{codexCommand-Wv1WVNtM.mjs → codexCommand-C7BVsmPu.mjs} +58 -47
  54. package/dist/{codexCommand-M1uNblJx.cjs → codexCommand-CgzJe-Ti.cjs} +62 -51
  55. package/dist/{codexTermination-DigTBSJE.mjs → codexTermination-BS0sLBKS.mjs} +1 -1
  56. package/dist/{codexTermination-BumRIUqm.cjs → codexTermination-DVrdQx3Q.cjs} +1 -1
  57. package/dist/{config-Czs0Tucv.cjs → config-4R0rnthZ.cjs} +3 -3
  58. package/dist/{config-Br2fCFwB.mjs → config-D3jidXDu.mjs} +3 -3
  59. package/dist/{configuration-JBFF7432.mjs → configuration-4pG95tsq.mjs} +1 -1
  60. package/dist/{configuration-DfRs3WLd.cjs → configuration-ClUt7pqs.cjs} +1 -1
  61. package/dist/{connect-Cr--b0yl.cjs → connect-Da2NQJ3K.cjs} +13 -13
  62. package/dist/{connect-CbCqv-MV.mjs → connect-Do5qcqmg.mjs} +13 -13
  63. package/dist/{context-DLIjT5qU.mjs → context-Cf05DtNM.mjs} +1 -1
  64. package/dist/{context-C5WWlHOl.cjs → context-wMsIGwBw.cjs} +1 -1
  65. package/dist/{controlClient-B61crTpk.cjs → controlClient-SYDFcIkk.cjs} +3 -3
  66. package/dist/{controlClient-D5BYm3PU.mjs → controlClient-bqCKl9Nv.mjs} +3 -3
  67. package/dist/{createSessionMetadata-OMKj3e48.mjs → createSessionMetadata-CQkxe_4T.mjs} +3 -2
  68. package/dist/{createSessionMetadata-BwYysMTH.cjs → createSessionMetadata-msQTEvvn.cjs} +3 -2
  69. package/dist/{daemonAccounts-asWvoPKG.mjs → daemonAccounts-B8xnkprW.mjs} +3 -3
  70. package/dist/{daemonAccounts-CqAnPXDJ.cjs → daemonAccounts-Ch_rSTSX.cjs} +2 -2
  71. package/dist/{defaultPermissionMode-BItpIZML.cjs → defaultPermissionMode-BETWd5Lf.cjs} +1 -1
  72. package/dist/{defaultPermissionMode-4KYZA4WF.mjs → defaultPermissionMode-Cl3OvdHp.mjs} +1 -1
  73. package/dist/{deterministicJson-DnTSkEgb.mjs → deterministicJson-BRAeReBK.mjs} +67 -17
  74. package/dist/{deterministicJson-DIzyb1dQ.cjs → deterministicJson-CQ8jkArF.cjs} +72 -22
  75. package/dist/{doctor-Dn1G6QhF.cjs → doctor-C9D-t20z.cjs} +7 -7
  76. package/dist/{doctor-jrvm-tl3.mjs → doctor-Dy7z3qvy.mjs} +7 -7
  77. package/dist/{downloadTarget-DGnCGrDZ.cjs → downloadTarget-DfoOSrYi.cjs} +6 -6
  78. package/dist/{downloadTarget-BtsN_-LN.mjs → downloadTarget-Diq-GBu4.mjs} +6 -6
  79. package/dist/{ensureDaemonRunning-DsvcjXb4.cjs → ensureDaemonRunning-Df76EtKd.cjs} +5 -5
  80. package/dist/{ensureDaemonRunning-DCmXUwNi.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-hzho-lp7.cjs → handleResumeCommand-CjCtwrrm.cjs} +5 -5
  84. package/dist/{handleResumeCommand-CFupxyHT.mjs → handleResumeCommand-Dz4Aw_aZ.mjs} +5 -5
  85. package/dist/{index-BMFLwBCd.mjs → index-BNBXrqRE.mjs} +4 -4
  86. package/dist/{index-BknTkVnR.cjs → index-BiutHOAO.cjs} +62 -1
  87. package/dist/{index-CRI-_-YH.cjs → index-ByBOdEvG.cjs} +48 -44
  88. package/dist/{index-DCfEzudP.cjs → index-CbzettaI.cjs} +4 -4
  89. package/dist/{index-5TDKOvkU.cjs → index-CdOnhx2X.cjs} +4 -4
  90. package/dist/{index-CHk8F9OY.mjs → index-CjMA70-R.mjs} +47 -43
  91. package/dist/{index-EGwuuFdL.cjs → index-DUwOmhnq.cjs} +3 -3
  92. package/dist/{index-CZpFhEmE.mjs → index-Sdvy1Lsf.mjs} +3 -3
  93. package/dist/{index-CofTgtQ3.mjs → index-XP-qcJQ3.mjs} +4 -4
  94. package/dist/{index-CxiisoO1.mjs → index-kwsivEs-.mjs} +49 -2
  95. package/dist/index.cjs +2 -2
  96. package/dist/index.mjs +2 -2
  97. package/dist/{install-CB5eTmzm.cjs → install-C4dKrmxR.cjs} +3 -3
  98. package/dist/{install-CeDqNGxI.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-B6xdH-Fr.cjs → localHappyAgentAuth-CjtNcaI0.cjs} +1 -1
  106. package/dist/{localHappyAgentAuth-BiIyMoiG.mjs → localHappyAgentAuth-DeDQjw24.mjs} +1 -1
  107. package/dist/{logger-BHfBDOsy.mjs → logger-BLMi8oJK.mjs} +2 -2
  108. package/dist/{logger-BrAF4iuT.cjs → logger-D28MY1Bv.cjs} +2 -2
  109. package/dist/{machineMetadata-D5PO2ylb.cjs → machineMetadata-BzjrIn_N.cjs} +3 -3
  110. package/dist/{machineMetadata-Ekniv5o4.mjs → machineMetadata-D8OWVD4l.mjs} +3 -3
  111. package/dist/{main-C8lsRSYS.cjs → main-DoJIcSOh.cjs} +57 -47
  112. package/dist/{main-HXdcnexS.mjs → main-c0fCuBON.mjs} +57 -47
  113. package/dist/{mcp-D9sglL02.cjs → mcp-CEtvR6tG.cjs} +18 -18
  114. package/dist/{mcp-C2YD6mq4.mjs → mcp-DKkBFGUa.mjs} +18 -18
  115. package/dist/{mirrorProtocol-CNF1eHsm.cjs → mirrorProtocol-CCl9dtzh.cjs} +3 -3
  116. package/dist/{mirrorProtocol-BLhArCS9.mjs → mirrorProtocol-DFQLXDBI.mjs} +3 -3
  117. package/dist/{package-CStJrLG3.cjs → package-BFSsS_dl.cjs} +7 -7
  118. package/dist/{package-BGZo2vAj.mjs → package-DbGqY8Ej.mjs} +7 -7
  119. package/dist/{panels-GVnnEsow.mjs → panels-2yIO9FxQ.mjs} +5 -5
  120. package/dist/{panels-D4_yGw4n.cjs → panels-BqLXIQif.cjs} +5 -5
  121. package/dist/{peerTools-BO-H0wNj.mjs → peerTools-4GYKxr8J.mjs} +5 -5
  122. package/dist/{peerTools-Drow2-P4.cjs → peerTools-Z8V2E0AF.cjs} +5 -5
  123. package/dist/{persistence-DvD-irLh.mjs → persistence-DbOKjdUD.mjs} +3 -3
  124. package/dist/{persistence-DGfEdbA5.cjs → persistence-TpVFA5-I.cjs} +2 -2
  125. package/dist/{piRunnerArgs-DwcAwwzm.mjs → piRunnerArgs-Bdj0sjAT.mjs} +1 -1
  126. package/dist/{piRunnerArgs-C1dLsoXF.cjs → piRunnerArgs-DOEJJymf.cjs} +1 -1
  127. package/dist/{piRuntime-_yRSPgnR.mjs → piRuntime-B0QZykV7.mjs} +1 -1
  128. package/dist/{piRuntime-d2h0Cska.cjs → piRuntime-DiRayy91.cjs} +1 -1
  129. package/dist/{piTerminal-WN0AMv9u.mjs → piTerminal-DGF4X7C-.mjs} +20 -20
  130. package/dist/{piTerminal-CVB4fa5R.cjs → piTerminal-DciFqPEi.cjs} +20 -20
  131. package/dist/{pushNotifications-3YsyCEfY.cjs → pushNotifications-C1i2W1GQ.cjs} +3 -3
  132. package/dist/{pushNotifications-D2UZnoTB.mjs → pushNotifications-CrCTpDiN.mjs} +3 -3
  133. package/dist/{query-Ba7UXc_y.cjs → query-BkOpCpRo.cjs} +1 -1
  134. package/dist/{query-_sw0hG6A.mjs → query-CrSvcV32.mjs} +1 -1
  135. package/dist/{rateLimitWindows-DiiGHS9r.cjs → rateLimitWindows-BREA7OZj.cjs} +1 -1
  136. package/dist/{rateLimitWindows-DzXv6p_W.mjs → rateLimitWindows-DZVrafmm.mjs} +1 -1
  137. package/dist/{reconnectGate-CxLgZCBh.mjs → reconnectGate-COxAZTv8.mjs} +1 -1
  138. package/dist/{reconnectGate-BpePVLPu.cjs → reconnectGate-YQ5jXJfY.cjs} +1 -1
  139. package/dist/{registerCommonHandlers-ChdVwZW6.mjs → registerCommonHandlers-Cfl_dEWs.mjs} +2 -2
  140. package/dist/{registerCommonHandlers-6iKpECuR.cjs → registerCommonHandlers-D95IxqDN.cjs} +2 -2
  141. package/dist/{registerKillSessionHandler-BDTgrstx.cjs → registerKillSessionHandler-DJJXtc_L.cjs} +6 -6
  142. package/dist/{registerKillSessionHandler-D6wYbAIt.mjs → registerKillSessionHandler-DoE6xgH3.mjs} +6 -6
  143. package/dist/{registerSideQuestionHandler-U4LGga_Z.cjs → registerSideQuestionHandler-DsRz-aD9.cjs} +4 -4
  144. package/dist/{registerSideQuestionHandler-C3K_qKwA.mjs → registerSideQuestionHandler-Dv00rqcy.mjs} +4 -4
  145. package/dist/{remoteSessionClient-CFNM8UEh.mjs → remoteSessionClient-BFd_D9ka.mjs} +5 -5
  146. package/dist/{remoteSessionClient-DSC5Cj21.cjs → remoteSessionClient-DleOeQlN.cjs} +5 -5
  147. package/dist/{reportProgressTool-CFmDK8ag.mjs → reportProgressTool-D4xKY9Ur.mjs} +111 -4
  148. package/dist/{reportProgressTool-Cr25LWeW.cjs → reportProgressTool-DtEpDqv3.cjs} +113 -3
  149. package/dist/{run-Be0yicft.cjs → run-CVAIFpsp.cjs} +391 -42
  150. package/dist/{run-D0D73Dam.mjs → run-iDEMW4js.mjs} +391 -42
  151. package/dist/{runClaude-1NP467UM.mjs → runClaude-DvHdLJaV.mjs} +27 -25
  152. package/dist/{runClaude-BOxvKK4H.cjs → runClaude-gucCQBma.cjs} +30 -28
  153. package/dist/{runClaudeDeps-CkRlQx2Y.cjs → runClaudeDeps-CQ8vvqUQ.cjs} +42 -40
  154. package/dist/{runClaudeDeps-BPzLoWyT.mjs → runClaudeDeps-DkFWFwVc.mjs} +48 -46
  155. package/dist/{runGemini-j2n5ZlOL.mjs → runGemini-B2lXQDru.mjs} +35 -33
  156. package/dist/{runGemini-BowXJRXb.cjs → runGemini-C0vqJYtS.cjs} +35 -33
  157. package/dist/{runOpenClaw-DLsnZnFM.cjs → runOpenClaw-DNV7GX73.cjs} +18 -18
  158. package/dist/{runOpenClaw-6zrT8dPO.mjs → runOpenClaw-Ddb6sOkY.mjs} +18 -18
  159. package/dist/{sandbox-BFbT6HDl.mjs → sandbox-Cw0cPDDh.mjs} +4 -4
  160. package/dist/{sandbox-DLijcRKk.cjs → sandbox-FA0RlaZg.cjs} +4 -4
  161. package/dist/selfCheck-B-hKig8I.mjs +89 -0
  162. package/dist/{selfCheck-U-A1DCi9.cjs → selfCheck-DFC8fzhF.cjs} +40 -39
  163. package/dist/{send-CGxo_QUR.cjs → send-BFd-5b_Q.cjs} +8 -8
  164. package/dist/{send-CQGKb3Kb.mjs → send-CwgqPftE.mjs} +8 -8
  165. package/dist/{server-DR5bQzTq.mjs → server-C_4Fk45r.mjs} +4 -4
  166. package/dist/{server-CWbcDBjV.cjs → server-DwOdMGAP.cjs} +6 -6
  167. package/dist/{sessionLock-DqFKSW8u.mjs → sessionLock-CphKQyav.mjs} +3 -3
  168. package/dist/{sessionLock-CJiayMcZ.cjs → sessionLock-DglhFHzB.cjs} +3 -3
  169. package/dist/{startupSessionCreate-s1ekIs2Z.cjs → sessionMetadata-DyTJ0Ki5.cjs} +14 -3
  170. package/dist/{startupSessionCreate-CfBajt2k.mjs → sessionMetadata-V7Z7F-cj.mjs} +14 -4
  171. package/dist/{sessionOps-Cw_JivR2.cjs → sessionOps-CIFvoFPA.cjs} +4 -4
  172. package/dist/{sessionOps-D-SDNs-D.mjs → sessionOps-D-uFSTHk.mjs} +4 -4
  173. package/dist/{sessionProvider-JEAWxBF6.cjs → sessionProvider-B0daO-Ln.cjs} +10 -10
  174. package/dist/{sessionProvider-Cb-LtbFQ.mjs → sessionProvider-D8y7K8bK.mjs} +10 -10
  175. package/dist/{sessionScanner-zJrc_Oe0.cjs → sessionScanner-CWflbWoH.cjs} +3 -3
  176. package/dist/{sessionScanner-C2M697xz.mjs → sessionScanner-DQAOP6pU.mjs} +3 -3
  177. package/dist/{sessions-CIxnjpCM.mjs → sessions-CaO_-AI7.mjs} +10 -10
  178. package/dist/{sessions-D2yLkE5R.cjs → sessions-CzpI76qj.cjs} +10 -10
  179. package/dist/{setupOfflineReconnection-Uu3tqISz.cjs → setupOfflineReconnection-BZHRoKDx.cjs} +2 -2
  180. package/dist/{setupOfflineReconnection-DzV1wB4y.mjs → setupOfflineReconnection-Ck-p0YPb.mjs} +2 -2
  181. package/dist/{spawn-CeeM-Piz.mjs → spawn-BEJxfj60.mjs} +14 -14
  182. package/dist/{spawn-DD1Sv8Ri.cjs → spawn-DyjOa4nf.cjs} +14 -14
  183. package/dist/{spawnAgents-CrHgpAzU.cjs → spawnAgents-IiuqX0S5.cjs} +1 -1
  184. package/dist/{spawnAgents-DEBfpoPZ.mjs → spawnAgents-XObVj6zN.mjs} +1 -1
  185. package/dist/{spawnHappyCLI-CYzlz9Sl.cjs → spawnHappyCLI-C3XuIB2N.cjs} +1 -1
  186. package/dist/{spawnHappyCLI-CUfe8n_m.mjs → spawnHappyCLI-Cc9kKpcq.mjs} +1 -1
  187. package/dist/{startFileWatcher-C0u3J6Bj.cjs → startFileWatcher-CeDJl9mN.cjs} +1 -1
  188. package/dist/{startFileWatcher-JdO3v65I.mjs → startFileWatcher-t3K1y9kY.mjs} +1 -1
  189. package/dist/{store-DEhdblkI.mjs → store-CqNAE-0v.mjs} +1 -1
  190. package/dist/{store-QBBJB5Ox.cjs → store-DOZAMV4W.cjs} +1 -1
  191. package/dist/{streamRelay-DymKR1Rk.mjs → streamRelay-7D7v0hvk.mjs} +1 -1
  192. package/dist/{streamRelay-BVrCYh2G.cjs → streamRelay-Dyp4x44P.cjs} +1 -1
  193. package/dist/{sync-BO4DRSub.cjs → sync-BvxhuW9R.cjs} +1 -1
  194. package/dist/{sync-BLGrIKN9.mjs → sync-s1pUqWGm.mjs} +1 -1
  195. package/dist/{systemPrompt-DTUJZOn6.cjs → systemPrompt-CCdSrtn3.cjs} +2 -2
  196. package/dist/{systemPrompt-YylizkJs.mjs → systemPrompt-CLYTbBhV.mjs} +2 -2
  197. package/dist/{teams-zkGFcwsG.mjs → teams-BVp5F_xN.mjs} +7 -7
  198. package/dist/{teams-DnLPBPKx.cjs → teams-D2q1DQWz.cjs} +7 -7
  199. package/dist/{template-uSKZ53Sv.cjs → template-M1YGFYUT.cjs} +1 -1
  200. package/dist/{template-BGlDAjbM.mjs → template-oBrR0saD.mjs} +1 -1
  201. package/dist/{time-Cv4hbCLT.cjs → time-D-v2Cd9e.cjs} +1 -1
  202. package/dist/{time-DZE0879N.mjs → time-qd46L189.mjs} +1 -1
  203. package/dist/{titleGenerator-B2BbmJuc.mjs → titleGenerator-BdeHi3IY.mjs} +2 -2
  204. package/dist/{titleGenerator-D2ehxbvK.cjs → titleGenerator-CSYqcorn.cjs} +3 -3
  205. package/dist/{todo-DUpW9d8p.mjs → todo-DiEhLgUZ.mjs} +95 -12
  206. package/dist/{todo-9kn_9N-H.cjs → todo-Dq_YuJvj.cjs} +101 -18
  207. package/dist/{tools-rMr-wPIc.cjs → tools-CY2zrdd5.cjs} +1 -1
  208. package/dist/{tools-gIDXwAzk.mjs → tools-DR7GWBBV.mjs} +1 -1
  209. package/dist/{uninstall-CHx5TOHi.cjs → uninstall-BHhHjbzE.cjs} +3 -3
  210. package/dist/{uninstall-CBlRzvNa.mjs → uninstall-BvwDZVU9.mjs} +3 -3
  211. package/dist/{wrapperAccount-Ce78kKMo.mjs → wrapperAccount-CpDsQL15.mjs} +2 -2
  212. package/dist/{wrapperAccount-EkmR4V-v.cjs → wrapperAccount-ejUjAQaM.cjs} +2 -2
  213. package/package.json +7 -7
  214. package/dist/selfCheck-DCIqaiMu.mjs +0 -88
@@ -0,0 +1,114 @@
1
+ import { l as ISSUE_ERROR_CODES, m as ISSUES_DISABLED_ERROR, n as ISSUE_WORKER_VERSION } from './index-kwsivEs-.mjs';
2
+ import { c as configuration } from './configuration-4pG95tsq.mjs';
3
+ import { b as readCredentialsForConfiguredRelay } from './persistence-DbOKjdUD.mjs';
4
+
5
+ const ISSUES_UNSUPPORTED_BACKOFF_MS = 10 * 6e4;
6
+ class IssuesUnsupportedError extends Error {
7
+ constructor() {
8
+ super("This Very Happy server does not support Issues (or they are turned off).");
9
+ }
10
+ }
11
+ class IssueRequestError extends Error {
12
+ constructor(status, code, details) {
13
+ super(code ? `Issue request failed: ${code}` : `Issue request failed (HTTP ${status})`);
14
+ this.status = status;
15
+ this.code = code;
16
+ this.details = details;
17
+ }
18
+ }
19
+ const ISSUE_TRANSACTION_CONFLICT = "transaction_conflict";
20
+ const ISSUE_CONFLICT_MAX_RETRIES = 5;
21
+ function issueConflictBackoffMs(attempt, random = Math.random) {
22
+ const base = 200 * 2 ** attempt;
23
+ return base + Math.floor(random() * base / 2);
24
+ }
25
+ const KNOWN_CODES = new Set(ISSUE_ERROR_CODES.filter((code) => code !== ISSUES_DISABLED_ERROR));
26
+ const EXTRA_OBJECT_CODES = /* @__PURE__ */ new Set(["issue_dispatch_not_found", "issue_comment_not_found", "session_not_found"]);
27
+ function isIssueObjectError(code) {
28
+ return typeof code === "string" && (KNOWN_CODES.has(code) || EXTRA_OBJECT_CODES.has(code));
29
+ }
30
+ function createIssuesClient(deps = {}) {
31
+ const now = deps.now ?? Date.now;
32
+ const doFetch = deps.fetch ?? fetch;
33
+ const token = deps.token ?? (async () => (await readCredentialsForConfiguredRelay())?.token ?? null);
34
+ const sleep = deps.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
35
+ const random = deps.random ?? Math.random;
36
+ let disabledUntil = 0;
37
+ async function request(path, method, body, timeoutMs = 1e4) {
38
+ for (let attempt = 0; ; attempt++) {
39
+ try {
40
+ return await requestOnce(path, method, body, timeoutMs);
41
+ } catch (error) {
42
+ const retryable = error instanceof IssueRequestError && error.status === 409 && error.code === ISSUE_TRANSACTION_CONFLICT;
43
+ if (!retryable || attempt >= ISSUE_CONFLICT_MAX_RETRIES) throw error;
44
+ await sleep(issueConflictBackoffMs(attempt, random));
45
+ }
46
+ }
47
+ }
48
+ async function requestOnce(path, method, body, timeoutMs) {
49
+ if (now() < disabledUntil) throw new IssuesUnsupportedError();
50
+ const bearer = await token();
51
+ if (!bearer) throw new IssueRequestError(401, "not_signed_in", {});
52
+ const response = await doFetch(`${deps.serverUrl ?? configuration.serverUrl}${path}`, {
53
+ method,
54
+ redirect: "error",
55
+ headers: { authorization: `Bearer ${bearer}`, ...body === void 0 ? {} : { "content-type": "application/json" } },
56
+ body: body === void 0 ? void 0 : JSON.stringify(body),
57
+ signal: AbortSignal.timeout(timeoutMs)
58
+ });
59
+ let json = null;
60
+ try {
61
+ json = await response.json();
62
+ } catch {
63
+ }
64
+ if (response.status === 404 && !isIssueObjectError(json?.error)) {
65
+ disabledUntil = now() + ISSUES_UNSUPPORTED_BACKOFF_MS;
66
+ throw new IssuesUnsupportedError();
67
+ }
68
+ if (!response.ok) {
69
+ const { error, ...details } = json && typeof json === "object" ? json : {};
70
+ throw new IssueRequestError(response.status, typeof error === "string" ? error : null, details);
71
+ }
72
+ return json;
73
+ }
74
+ const enc = (id) => encodeURIComponent(id);
75
+ const query = (params) => {
76
+ const q = new URLSearchParams();
77
+ for (const [k, v] of Object.entries(params)) if (v !== void 0 && v !== "") q.set(k, String(v));
78
+ const s = q.toString();
79
+ return s ? `?${s}` : "";
80
+ };
81
+ return {
82
+ isDisabled: () => now() < disabledUntil,
83
+ // ── human / CLI ──
84
+ list: (params = {}) => request(`/v1/issues${query({ ...params, includeDeleted: params.includeDeleted ? "1" : void 0 })}`, "GET"),
85
+ get: (ref) => request(`/v1/issues/${enc(ref)}`, "GET"),
86
+ create: (input) => request("/v1/issues", "POST", input),
87
+ update: (id, input) => request(`/v1/issues/${enc(id)}`, "PATCH", input),
88
+ remove: (id) => request(`/v1/issues/${enc(id)}`, "DELETE"),
89
+ comment: (id, input) => request(`/v1/issues/${enc(id)}/comments`, "POST", input),
90
+ importLegacyTodos: () => request("/v1/issues/import-legacy-todos", "POST", {}),
91
+ // ── wrapper (agent; the wrapper stamps its own sessionId) ──
92
+ session: (sessionId, since, timeoutMs) => request(`/v1/issues/session/${enc(sessionId)}${since !== void 0 ? `?since=${Math.max(0, Math.floor(since))}` : ""}`, "GET", void 0, timeoutMs),
93
+ agentUpdate: (input) => request("/v1/issues/agent/update", "POST", input),
94
+ agentComment: (input) => request("/v1/issues/agent/comment", "POST", input),
95
+ // ── daemon issue worker ──
96
+ poll: (machineId) => request(`/v1/issues/dispatch${query({ machineId, workerVersion: ISSUE_WORKER_VERSION })}`, "GET"),
97
+ claim: (dispatchId, machineId) => request(`/v1/issues/dispatch/${enc(dispatchId)}/claim`, "POST", { machineId }),
98
+ complete: (dispatchId, input) => request(`/v1/issues/dispatch/${enc(dispatchId)}/complete`, "POST", input),
99
+ fail: (dispatchId, input) => request(`/v1/issues/dispatch/${enc(dispatchId)}/fail`, "POST", input),
100
+ sessionEvent: (runId, input) => request(`/v1/issues/runs/${enc(runId)}/session-event`, "POST", input)
101
+ };
102
+ }
103
+ let shared = null;
104
+ function sharedIssuesClient() {
105
+ return shared ??= createIssuesClient();
106
+ }
107
+ const imported = /* @__PURE__ */ new WeakSet();
108
+ async function importLegacyTodosOnce(client) {
109
+ if (imported.has(client)) return;
110
+ imported.add(client);
111
+ await client.importLegacyTodos().catch(() => void 0);
112
+ }
113
+
114
+ export { IssuesUnsupportedError as I, IssueRequestError as a, createIssuesClient as c, importLegacyTodosOnce as i, sharedIssuesClient as s };
@@ -1,5 +1,5 @@
1
- import { c as configuration } from './configuration-JBFF7432.mjs';
2
- import { b as readCredentialsForConfiguredRelay, r as readSettings } from './persistence-DvD-irLh.mjs';
1
+ import { c as configuration } from './configuration-4pG95tsq.mjs';
2
+ import { b as readCredentialsForConfiguredRelay, r as readSettings } from './persistence-DbOKjdUD.mjs';
3
3
 
4
4
  class AutomationsRequestError extends Error {
5
5
  constructor(status, code, runStatus, invalidFields = []) {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var configuration = require('./configuration-DfRs3WLd.cjs');
4
- var persistence = require('./persistence-DGfEdbA5.cjs');
3
+ var configuration = require('./configuration-ClUt7pqs.cjs');
4
+ var persistence = require('./persistence-TpVFA5-I.cjs');
5
5
 
6
6
  const UNSUPPORTED_BACKOFF_MS = 10 * 6e4;
7
7
  class ProjectsUnsupportedError extends Error {
@@ -2,10 +2,10 @@ import { randomUUID } from 'node:crypto';
2
2
  import { execFile } from 'node:child_process';
3
3
  import { promisify } from 'node:util';
4
4
  import { basename, dirname } from 'node:path';
5
- import { f as isInsideTeamWorktree, g as rebaseTeamWorktreePath } from './index-CxiisoO1.mjs';
6
- import { c as configuration } from './configuration-JBFF7432.mjs';
7
- import { r as readSettings, c as readPersistedSessions, b as readCredentialsForConfiguredRelay } from './persistence-DvD-irLh.mjs';
8
- import { r as readTeamScope, t as teamScopePath, w as writeTeamScope } from './context-DLIjT5qU.mjs';
5
+ import { j as isInsideTeamWorktree, k as rebaseTeamWorktreePath } from './index-kwsivEs-.mjs';
6
+ import { c as configuration } from './configuration-4pG95tsq.mjs';
7
+ import { r as readSettings, c as readPersistedSessions, b as readCredentialsForConfiguredRelay } from './persistence-DbOKjdUD.mjs';
8
+ import { r as readTeamScope, t as teamScopePath, w as writeTeamScope } from './context-Cf05DtNM.mjs';
9
9
 
10
10
  async function teamRequest(path, method, token, scoped, body) {
11
11
  const response = await fetch(`${configuration.serverUrl}${path}`, {
@@ -4,10 +4,10 @@ var node_crypto = require('node:crypto');
4
4
  var node_child_process = require('node:child_process');
5
5
  var node_util = require('node:util');
6
6
  var path = require('node:path');
7
- var index = require('./index-BknTkVnR.cjs');
8
- var configuration = require('./configuration-DfRs3WLd.cjs');
9
- var persistence = require('./persistence-DGfEdbA5.cjs');
10
- var context = require('./context-C5WWlHOl.cjs');
7
+ var index = require('./index-BiutHOAO.cjs');
8
+ var configuration = require('./configuration-ClUt7pqs.cjs');
9
+ var persistence = require('./persistence-TpVFA5-I.cjs');
10
+ var context = require('./context-wMsIGwBw.cjs');
11
11
 
12
12
  async function teamRequest(path, method, token, scoped, body) {
13
13
  const response = await fetch(`${configuration.configuration.serverUrl}${path}`, {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var configuration = require('./configuration-DfRs3WLd.cjs');
4
- var persistence = require('./persistence-DGfEdbA5.cjs');
3
+ var configuration = require('./configuration-ClUt7pqs.cjs');
4
+ var persistence = require('./persistence-TpVFA5-I.cjs');
5
5
 
6
6
  class AutomationsRequestError extends Error {
7
7
  constructor(status, code, runStatus, invalidFields = []) {
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var tools = require('../tools-rMr-wPIc.cjs');
4
- var reportProgressTool = require('../reportProgressTool-Cr25LWeW.cjs');
5
- var peerTools = require('../peerTools-Drow2-P4.cjs');
3
+ var tools = require('../tools-CY2zrdd5.cjs');
4
+ var reportProgressTool = require('../reportProgressTool-DtEpDqv3.cjs');
5
+ var peerTools = require('../peerTools-Z8V2E0AF.cjs');
6
6
  var agentGuidance = require('../agentGuidance-BtBx2xxE.cjs');
7
7
  var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
8
8
  var stdio_js = require('@modelcontextprotocol/sdk/server/stdio.js');
@@ -10,37 +10,39 @@ var index_js = require('@modelcontextprotocol/sdk/client/index.js');
10
10
  var streamableHttp_js = require('@modelcontextprotocol/sdk/client/streamableHttp.js');
11
11
  var z = require('zod');
12
12
  var limits = require('../limits-C-a7gr04.cjs');
13
- require('../client-v6rdLsBH.cjs');
13
+ require('../client-C8BTmcrh.cjs');
14
14
  require('node:crypto');
15
15
  require('node:child_process');
16
16
  require('node:util');
17
17
  require('node:path');
18
- require('../index-BknTkVnR.cjs');
18
+ require('../index-BiutHOAO.cjs');
19
19
  require('@paralleldrive/cuid2');
20
- require('../configuration-DfRs3WLd.cjs');
20
+ require('../configuration-ClUt7pqs.cjs');
21
21
  require('node:fs');
22
22
  require('node:os');
23
- require('../package-CStJrLG3.cjs');
23
+ require('../package-BFSsS_dl.cjs');
24
24
  require('node:fs/promises');
25
- require('../persistence-DGfEdbA5.cjs');
25
+ require('../persistence-TpVFA5-I.cjs');
26
26
  require('../authRelay-Dy1qU9td.cjs');
27
27
  require('tweetnacl');
28
- require('../logger-BrAF4iuT.cjs');
28
+ require('../logger-D28MY1Bv.cjs');
29
29
  require('chalk');
30
- require('../context-C5WWlHOl.cjs');
31
- require('../client-oqSAKwmy.cjs');
30
+ require('../context-wMsIGwBw.cjs');
31
+ require('../client-D0_UOmC1.cjs');
32
32
  require('../precheckCompat-CWOi5c9L.cjs');
33
- require('../client-D-HEr922.cjs');
33
+ require('../client-BnoN4P4t.cjs');
34
34
  require('../prompt-Bof2aQkI.cjs');
35
+ require('../client-1zIbVVX5.cjs');
36
+ require('../format-P9_M_7ga.cjs');
35
37
  require('../ids-B6ZC0HGt.cjs');
36
- require('../controlClient-B61crTpk.cjs');
37
- require('../sessionOps-Cw_JivR2.cjs');
38
+ require('../controlClient-SYDFcIkk.cjs');
39
+ require('../sessionOps-CIFvoFPA.cjs');
38
40
  require('axios');
39
- require('../time-Cv4hbCLT.cjs');
41
+ require('../time-D-v2Cd9e.cjs');
40
42
  require('../specialCommands-J3JFOq0J.cjs');
41
43
  require('socket.io-client');
42
44
  require('../backgroundTaskActivity-CBvUdj39.cjs');
43
- require('../remoteSessionClient-DSC5Cj21.cjs');
45
+ require('../remoteSessionClient-DleOeQlN.cjs');
44
46
  require('../trimIdent-4gvk9Wk6.cjs');
45
47
 
46
48
  function parseArgs(argv) {
@@ -180,6 +182,13 @@ async function main() {
180
182
  if (response.isError) throw new Error(text || "Project request failed");
181
183
  return { text };
182
184
  });
185
+ reportProgressTool.registerIssueTools(server, async (name, args) => {
186
+ const response = await (await ensureHttpClient()).callTool({ name, arguments: args });
187
+ const content = response.content;
188
+ const text = content.filter((block) => block.type === "text").map((block) => block.text ?? "").join("\n");
189
+ if (response.isError) throw new Error(text || "Issue request failed");
190
+ return { text };
191
+ });
183
192
  reportProgressTool.registerReportProgressTool(server, async (args) => (await ensureHttpClient()).callTool({ name: agentGuidance.REPORT_PROGRESS_TOOL_NAME, arguments: args }));
184
193
  const stdio = new stdio_js.StdioServerTransport();
185
194
  await server.connect(stdio);
@@ -1,6 +1,6 @@
1
- import { r as registerTeamsTools } from '../tools-gIDXwAzk.mjs';
2
- import { r as registerAutomationTools, a as registerProjectTools, b as registerReportProgressTool } from '../reportProgressTool-CFmDK8ag.mjs';
3
- import { r as registerSessionPeerTools } from '../peerTools-BO-H0wNj.mjs';
1
+ import { r as registerTeamsTools } from '../tools-DR7GWBBV.mjs';
2
+ import { r as registerAutomationTools, a as registerProjectTools, b as registerIssueTools, c as registerReportProgressTool } from '../reportProgressTool-D4xKY9Ur.mjs';
3
+ import { r as registerSessionPeerTools } from '../peerTools-4GYKxr8J.mjs';
4
4
  import { P as PREVIEW_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION, c as PREVIEW_DOWNLOAD_PARAM_DESCRIPTION, R as REPORT_PROGRESS_TOOL_NAME } from '../agentGuidance-BDYt2Qy2.mjs';
5
5
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
6
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
@@ -8,37 +8,39 @@ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
8
8
  import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
9
9
  import { z } from 'zod';
10
10
  import { C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION } from '../limits-DIo7rEBR.mjs';
11
- import '../client-E4kW5qjR.mjs';
11
+ import '../client-C0qjAgZ_.mjs';
12
12
  import 'node:crypto';
13
13
  import 'node:child_process';
14
14
  import 'node:util';
15
15
  import 'node:path';
16
- import '../index-CxiisoO1.mjs';
16
+ import '../index-kwsivEs-.mjs';
17
17
  import '@paralleldrive/cuid2';
18
- import '../configuration-JBFF7432.mjs';
18
+ import '../configuration-4pG95tsq.mjs';
19
19
  import 'node:fs';
20
20
  import 'node:os';
21
- import '../package-BGZo2vAj.mjs';
21
+ import '../package-DbGqY8Ej.mjs';
22
22
  import 'node:fs/promises';
23
- import '../persistence-DvD-irLh.mjs';
23
+ import '../persistence-DbOKjdUD.mjs';
24
24
  import '../authRelay-DhQhkBvX.mjs';
25
25
  import 'tweetnacl';
26
- import '../logger-BHfBDOsy.mjs';
26
+ import '../logger-BLMi8oJK.mjs';
27
27
  import 'chalk';
28
- import '../context-DLIjT5qU.mjs';
29
- import '../client-CISkP897.mjs';
28
+ import '../context-Cf05DtNM.mjs';
29
+ import '../client-Blpuk2Hr.mjs';
30
30
  import '../precheckCompat-DeEbilbr.mjs';
31
- import '../client-BRuFIwki.mjs';
31
+ import '../client-BXwIqRha.mjs';
32
32
  import '../prompt-QHuFx9j6.mjs';
33
+ import '../client-BgxQ9aej.mjs';
34
+ import '../format-CbliQN8V.mjs';
33
35
  import '../ids-DU6sLx4C.mjs';
34
- import '../controlClient-D5BYm3PU.mjs';
35
- import '../sessionOps-D-SDNs-D.mjs';
36
+ import '../controlClient-bqCKl9Nv.mjs';
37
+ import '../sessionOps-D-uFSTHk.mjs';
36
38
  import 'axios';
37
- import '../time-DZE0879N.mjs';
39
+ import '../time-qd46L189.mjs';
38
40
  import '../specialCommands-MXUN0wfI.mjs';
39
41
  import 'socket.io-client';
40
42
  import '../backgroundTaskActivity-8PdPxrvy.mjs';
41
- import '../remoteSessionClient-CFNM8UEh.mjs';
43
+ import '../remoteSessionClient-BFd_D9ka.mjs';
42
44
  import '../trimIdent-BAjmv_TG.mjs';
43
45
 
44
46
  function parseArgs(argv) {
@@ -178,6 +180,13 @@ async function main() {
178
180
  if (response.isError) throw new Error(text || "Project request failed");
179
181
  return { text };
180
182
  });
183
+ registerIssueTools(server, async (name, args) => {
184
+ const response = await (await ensureHttpClient()).callTool({ name, arguments: args });
185
+ const content = response.content;
186
+ const text = content.filter((block) => block.type === "text").map((block) => block.text ?? "").join("\n");
187
+ if (response.isError) throw new Error(text || "Issue request failed");
188
+ return { text };
189
+ });
181
190
  registerReportProgressTool(server, async (args) => (await ensureHttpClient()).callTool({ name: REPORT_PROGRESS_TOOL_NAME, arguments: args }));
182
191
  const stdio = new StdioServerTransport();
183
192
  await server.connect(stdio);
@@ -1,7 +1,7 @@
1
1
  import { readFileSync, renameSync, rmSync, symlinkSync, mkdirSync, lstatSync, readlinkSync, readdirSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import { homedir } from 'node:os';
4
- import { l as accountCodexHomePath, b as accountSecretPath, e as expandHome } from './store-DEhdblkI.mjs';
4
+ import { l as accountCodexHomePath, b as accountSecretPath, e as expandHome } from './store-CqNAE-0v.mjs';
5
5
 
6
6
  /*!
7
7
  * Copyright (c) Squirrel Chat et al., All rights reserved.
@@ -3,7 +3,7 @@
3
3
  var node_fs = require('node:fs');
4
4
  var path = require('node:path');
5
5
  var os = require('node:os');
6
- var store = require('./store-QBBJB5Ox.cjs');
6
+ var store = require('./store-DOZAMV4W.cjs');
7
7
 
8
8
  /*!
9
9
  * Copyright (c) Squirrel Chat et al., All rights reserved.
@@ -1,11 +1,11 @@
1
1
  import { execSync } from 'node:child_process';
2
2
  import { spawn } from 'cross-spawn';
3
3
  import { createInterface } from 'node:readline';
4
- import { l as logger } from './logger-BHfBDOsy.mjs';
4
+ import { l as logger } from './logger-BLMi8oJK.mjs';
5
5
  import { e as errorLogMetadata, c as contentLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
6
6
  import { i as initializeSandbox, w as wrapForMcpTransport } from './manager-BEsI4qt3.mjs';
7
- import { p as packageJson } from './package-BGZo2vAj.mjs';
8
- import { s as shouldReadCodexRateLimits, i as isUnsupportedCodexMethodError } from './rateLimitWindows-DzXv6p_W.mjs';
7
+ import { p as packageJson } from './package-DbGqY8Ej.mjs';
8
+ import { s as shouldReadCodexRateLimits, i as isUnsupportedCodexMethodError } from './rateLimitWindows-DZVrafmm.mjs';
9
9
  import { s as stopProcessGracefully, k as killProcessTree } from './processTree-CP5IvQ2Z.mjs';
10
10
 
11
11
  const CODEX_HELPER_LABEL_MAX_CHARS = 80;
@@ -3,11 +3,11 @@
3
3
  var node_child_process = require('node:child_process');
4
4
  var spawn = require('cross-spawn');
5
5
  var node_readline = require('node:readline');
6
- var logger = require('./logger-BrAF4iuT.cjs');
6
+ var logger = require('./logger-D28MY1Bv.cjs');
7
7
  var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
8
8
  var manager = require('./manager-HrEj442o.cjs');
9
- var _package = require('./package-CStJrLG3.cjs');
10
- var rateLimitWindows = require('./rateLimitWindows-DiiGHS9r.cjs');
9
+ var _package = require('./package-BFSsS_dl.cjs');
10
+ var rateLimitWindows = require('./rateLimitWindows-BREA7OZj.cjs');
11
11
  var processTree = require('./processTree-CMHWlVse.cjs');
12
12
 
13
13
  const CODEX_HELPER_LABEL_MAX_CHARS = 80;
@@ -1,96 +1,98 @@
1
- import { a as authAndSetupMachineIfNeeded } from './auth-BIkCWkRV.mjs';
2
- import { k as createEnvelope, w as BUILTIN_TODO_DISCOVERY, r as restoredEffort, o as readEffortIntent, N as EFFORT_INTENT_AUTO, P as PROMPT_QUEUE_CAPABILITY, a5 as CODEX_STEER_CAPABILITY, a as PROJECT_SESSION_CAPABILITY, a6 as CODEX_COMPACT_CAPABILITY, R as RUN_INTENT_CAPABILITY, A as AGENT_PROFILE_SESSION_CAPABILITY, a7 as CODEX_BTW_CAPABILITY } from './index-CxiisoO1.mjs';
3
- import { a as recordRunIntents, w as withoutEffort, r as registerRunIntentRpc, b as DEFAULT_CODEX_PERMISSION_MODE } from './defaultPermissionMode-4KYZA4WF.mjs';
4
- import { h as hashObject, s as startHappyServer, c as createProjectInjector } from './deterministicJson-DnTSkEgb.mjs';
5
- import { s as sharedProjectsClient } from './client-BRuFIwki.mjs';
1
+ import { a as authAndSetupMachineIfNeeded } from './auth-8jKFCZOX.mjs';
2
+ import { t as createEnvelope, J as BUILTIN_TODO_DISCOVERY, I as ISSUE_SESSION_CAPABILITY, r as restoredEffort, x as readEffortIntent, W as EFFORT_INTENT_AUTO, P as PROMPT_QUEUE_CAPABILITY, ag as CODEX_STEER_CAPABILITY, a as PROJECT_SESSION_CAPABILITY, ah as CODEX_COMPACT_CAPABILITY, R as RUN_INTENT_CAPABILITY, A as AGENT_PROFILE_SESSION_CAPABILITY, ai as CODEX_BTW_CAPABILITY, aj as CODEX_LIVE_PERMISSION_CAPABILITY } from './index-kwsivEs-.mjs';
3
+ import { i as issueSessionMetadata, c as createSessionForStartup, b as HibernationExitLatch, H as HibernationProbe, a as commitHibernation } from './sessionMetadata-V7Z7F-cj.mjs';
4
+ import { a as recordRunIntents, w as withoutEffort, r as registerRunIntentRpc, b as DEFAULT_CODEX_PERMISSION_MODE } from './defaultPermissionMode-Cl3OvdHp.mjs';
5
+ import { h as hashObject, s as startHappyServer, c as createProjectInjector } from './deterministicJson-BRAeReBK.mjs';
6
+ import { s as sharedProjectsClient } from './client-BXwIqRha.mjs';
6
7
  import { unlink } from 'node:fs/promises';
7
8
  import { p as publishForkBackfillWhenCommitted, F as FORK_BACKFILL_CAPABILITY } from './forkBackfill-DYIjlN1Z.mjs';
8
9
  import { randomUUID } from 'node:crypto';
9
10
  import { createId } from '@paralleldrive/cuid2';
10
- import { t as textResultPayload, d as toolResultContentText, c as connectionState, A as ApiClient } from './api-oceym3w6.mjs';
11
+ import { t as textResultPayload, d as toolResultContentText, c as connectionState, A as ApiClient } from './api-DCUiAds-.mjs';
11
12
  import { r as registerAgentAttachmentDownloads, H as HeldInput } from './heldInput-C69lA2dH.mjs';
12
- import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-Dl29U1v1.mjs';
13
+ import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-BKIq6EXR.mjs';
13
14
  import { useStdout, useInput, Box, Text, render } from 'ink';
14
- import { c as claimSessionOrExit, a as applyServerSnapshot, b as applyReconnectReplay, w as withoutServerSnapshot, m as mergeReconnectMetadata, t as takeAutoRestartedEvent, A as AUTO_RESTART_CAPABILITY, e as exitCursorStamp } from './sessionLock-DqFKSW8u.mjs';
15
+ import { c as claimSessionOrExit, a as applyServerSnapshot, b as applyReconnectReplay, w as withoutServerSnapshot, m as mergeReconnectMetadata, t as takeAutoRestartedEvent, A as AUTO_RESTART_CAPABILITY, e as exitCursorStamp } from './sessionLock-CphKQyav.mjs';
15
16
  import React, { useState, useRef, useEffect, useCallback } from 'react';
16
- import { C as CodexAppServerClient } from './codexAppServerClient-BLasFGTm.mjs';
17
- import { S as SIDE_QUESTION_SYSTEM_PROMPT, b as buildSideQuestionPrompt, t as toolAttemptNotice, r as registerSideQuestionHandler, d as describePendingApprovals, w as wrapperRateLimitReporter } from './registerSideQuestionHandler-C3K_qKwA.mjs';
18
- import { l as logger } from './logger-BHfBDOsy.mjs';
19
- import { B as BasePermissionHandler } from './BasePermissionHandler-1QcavYFn.mjs';
20
- import { B as BaseReasoningProcessor, s as settleCodexSession } from './codexTermination-DigTBSJE.mjs';
17
+ import { C as CodexAppServerClient } from './codexAppServerClient-By4ntTIr.mjs';
18
+ import { S as SIDE_QUESTION_SYSTEM_PROMPT, b as buildSideQuestionPrompt, t as toolAttemptNotice, r as registerSideQuestionHandler, d as describePendingApprovals, w as wrapperRateLimitReporter } from './registerSideQuestionHandler-Dv00rqcy.mjs';
19
+ import { l as logger } from './logger-BLMi8oJK.mjs';
20
+ import { B as BasePermissionHandler } from './BasePermissionHandler-8Msj0Z8j.mjs';
21
+ import { B as BaseReasoningProcessor, s as settleCodexSession } from './codexTermination-BS0sLBKS.mjs';
21
22
  import { execSync } from 'node:child_process';
22
- import { r as readSettings, l as latchKeepAwake, e as evaluateWrapperIdle, a as resolveCheckMs, H as HIBERNATION_CAPABILITY } from './persistence-DvD-irLh.mjs';
23
- import { g as getInitialMachineMetadata } from './machineMetadata-Ekniv5o4.mjs';
24
- import { c as configuration } from './configuration-JBFF7432.mjs';
25
- import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-D6wYbAIt.mjs';
23
+ import { r as readSettings, l as latchKeepAwake, e as evaluateWrapperIdle, a as resolveCheckMs, H as HIBERNATION_CAPABILITY } from './persistence-DbOKjdUD.mjs';
24
+ import { g as getInitialMachineMetadata } from './machineMetadata-D8OWVD4l.mjs';
25
+ import { c as configuration } from './configuration-4pG95tsq.mjs';
26
+ import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-DoE6xgH3.mjs';
26
27
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
27
28
  import { dirname, join } from 'node:path';
28
- import { c as createSessionMetadata } from './createSessionMetadata-OMKj3e48.mjs';
29
+ import { c as createSessionMetadata } from './createSessionMetadata-CQkxe_4T.mjs';
29
30
  import { M as MessageBuffer } from './sessionExitLifecycle-iAtZN9sa.mjs';
30
- import { n as notifyDaemonSessionStarted, o as reportSessionEditToDaemon, c as checkDaemonHibernation } from './controlClient-D5BYm3PU.mjs';
31
- import { c as createSessionForStartup, b as HibernationExitLatch, H as HibernationProbe, a as commitHibernation } from './startupSessionCreate-CfBajt2k.mjs';
31
+ import { n as notifyDaemonSessionStarted, o as reportSessionEditToDaemon, c as checkDaemonHibernation } from './controlClient-bqCKl9Nv.mjs';
32
32
  import { d as decodeBase64, e as encodeBase64 } from './authRelay-DhQhkBvX.mjs';
33
- import { s as setupOfflineReconnection } from './setupOfflineReconnection-DzV1wB4y.mjs';
33
+ import { s as setupOfflineReconnection } from './setupOfflineReconnection-Ck-p0YPb.mjs';
34
34
  import { t as trimIdent } from './trimIdent-BAjmv_TG.mjs';
35
35
  import { a as parseSpecialCommand, c as compactCommandText, b as parseCompact } from './specialCommands-MXUN0wfI.mjs';
36
36
  import { C as CHANGE_TITLE_INSTRUCTION } from './constants-BC4St0xd.mjs';
37
37
  import { E as EditReportThrottle, a as extractCodexPatchPaths } from './editPaths-BVfS_FFL.mjs';
38
38
  import { t as takeReconnectEnv } from './reconnectEnv-DeSvHl3q.mjs';
39
- import { r as readSessionBindings, w as writeSessionBinding, d as defaultSecretProbe, a as readAccounts, c as readAccountsFileV2, f as writeAccountsFile, S as SPAWN_ACCOUNT_ENV } from './store-DEhdblkI.mjs';
39
+ import { r as readSessionBindings, w as writeSessionBinding, d as defaultSecretProbe, a as readAccounts, c as readAccountsFileV2, f as writeAccountsFile, S as SPAWN_ACCOUNT_ENV } from './store-CqNAE-0v.mjs';
40
40
  import { mkdirSync, writeFileSync, chmodSync, rmSync } from 'node:fs';
41
- import { a as resolveCodexAccount, r as readCodexProviders, s as syncCodexOverlay, b as baseCodexHome, c as codexAccountSwitched, d as readCodexDefaultProvider, e as codexAccountDefaultModel, f as accountModelsAsCatalog, i as isHistoryRejectedError, g as isCodexAuthRejection } from './codexAccount-CnbDfCOM.mjs';
42
- import { s as shouldRecordSpawnAccount, u as unavailableNotice } from './wrapperAccount-Ce78kKMo.mjs';
43
- import { a as extractNoSandboxFlag, e as ensureDaemonRunning } from './ensureDaemonRunning-DCmXUwNi.mjs';
41
+ import { a as resolveCodexAccount, r as readCodexProviders, s as syncCodexOverlay, b as baseCodexHome, c as codexAccountSwitched, d as readCodexDefaultProvider, e as codexAccountDefaultModel, f as accountModelsAsCatalog, i as isHistoryRejectedError, g as isCodexAuthRejection } from './codexAccount-BAezf1fY.mjs';
42
+ import { s as shouldRecordSpawnAccount, u as unavailableNotice } from './wrapperAccount-CpDsQL15.mjs';
43
+ import { a as extractNoSandboxFlag, e as ensureDaemonRunning } from './ensureDaemonRunning-LqrgqVG3.mjs';
44
44
  import 'tweetnacl';
45
45
  import 'axios';
46
- import './time-DZE0879N.mjs';
47
- import './browser-C-H3QYV2.mjs';
46
+ import './time-qd46L189.mjs';
47
+ import './browser-BAlw0rns.mjs';
48
48
  import 'open';
49
49
  import 'zod';
50
50
  import './prompt-QHuFx9j6.mjs';
51
- import './reportProgressTool-CFmDK8ag.mjs';
52
- import './client-CISkP897.mjs';
51
+ import './client-BgxQ9aej.mjs';
52
+ import './reportProgressTool-D4xKY9Ur.mjs';
53
+ import './client-Blpuk2Hr.mjs';
53
54
  import './precheckCompat-DeEbilbr.mjs';
55
+ import './format-CbliQN8V.mjs';
54
56
  import './agentGuidance-BDYt2Qy2.mjs';
55
57
  import 'node:os';
56
58
  import './pi-CqyoZMjI.mjs';
57
59
  import './fileStore-5qpetZS0.mjs';
58
- import './client-E4kW5qjR.mjs';
60
+ import './client-C0qjAgZ_.mjs';
59
61
  import 'node:util';
60
- import './context-DLIjT5qU.mjs';
61
- import './sessionOps-D-SDNs-D.mjs';
62
+ import './context-Cf05DtNM.mjs';
63
+ import './sessionOps-D-uFSTHk.mjs';
62
64
  import 'socket.io-client';
63
65
  import './backgroundTaskActivity-8PdPxrvy.mjs';
64
66
  import './resources-CLP_MpK4.mjs';
65
- import './tools-gIDXwAzk.mjs';
66
- import './peerTools-BO-H0wNj.mjs';
67
+ import './tools-DR7GWBBV.mjs';
68
+ import './peerTools-4GYKxr8J.mjs';
67
69
  import './ids-DU6sLx4C.mjs';
68
- import './remoteSessionClient-CFNM8UEh.mjs';
70
+ import './remoteSessionClient-BFd_D9ka.mjs';
69
71
  import '@modelcontextprotocol/sdk/server/mcp.js';
70
72
  import 'node:http';
71
73
  import '@modelcontextprotocol/sdk/server/streamableHttp.js';
72
74
  import './limits-DIo7rEBR.mjs';
73
- import './downloadTarget-BtsN_-LN.mjs';
75
+ import './downloadTarget-Diq-GBu4.mjs';
74
76
  import './terminals-Dc38XmZv.mjs';
75
77
  import './terminalTitleSuggest-CeKsX_V6.mjs';
76
78
  import './tmuxSocket-BmZyixRM.mjs';
77
- import './bootstrap-D8DYLUId.mjs';
78
- import './package-BGZo2vAj.mjs';
79
+ import './bootstrap-BkLFgEGF.mjs';
80
+ import './package-DbGqY8Ej.mjs';
79
81
  import './webPanels-B2_C2-3g.mjs';
80
- import './pushNotifications-D2UZnoTB.mjs';
82
+ import './pushNotifications-CrCTpDiN.mjs';
81
83
  import './contentLogMetadata-BlWI0egu.mjs';
82
84
  import './previewPath-CXN4Vag0.mjs';
83
85
  import 'crypto';
84
- import './reconnectGate-CxLgZCBh.mjs';
86
+ import './reconnectGate-COxAZTv8.mjs';
85
87
  import 'os';
86
88
  import 'child_process';
87
89
  import 'node:events';
88
- import './registerCommonHandlers-ChdVwZW6.mjs';
90
+ import './registerCommonHandlers-Cfl_dEWs.mjs';
89
91
  import 'util';
90
92
  import 'fs/promises';
91
93
  import 'path';
92
94
  import 'cross-spawn';
93
- import './sync-BLGrIKN9.mjs';
95
+ import './sync-s1pUqWGm.mjs';
94
96
  import 'chalk';
95
97
  import './cliUpdate-Y34VGe9Y.mjs';
96
98
  import './processTermination-ChJG5SLW.mjs';
@@ -98,16 +100,16 @@ import './processTreeSnapshot-fuwxC0fr.mjs';
98
100
  import 'node:readline';
99
101
  import './manager-BEsI4qt3.mjs';
100
102
  import '@anthropic-ai/sandbox-runtime';
101
- import './rateLimitWindows-DzXv6p_W.mjs';
103
+ import './rateLimitWindows-DZVrafmm.mjs';
102
104
  import './processTree-CP5IvQ2Z.mjs';
103
105
  import './detectCLI-CSGMlV51.mjs';
104
106
  import 'fs';
105
- import './localHappyAgentAuth-BiIyMoiG.mjs';
107
+ import './localHappyAgentAuth-DeDQjw24.mjs';
106
108
  import './fsMkdir-DumgLTzR.mjs';
107
109
  import './types-CkqAACXx.mjs';
108
110
  import 'url';
109
- import './claudeAccountEnv-DmVbGhZb.mjs';
110
- import './spawnHappyCLI-CUfe8n_m.mjs';
111
+ import './claudeAccountEnv-CI8RlIB9.mjs';
112
+ import './spawnHappyCLI-Cc9kKpcq.mjs';
111
113
  import './doctorReadiness-C208SMN9.mjs';
112
114
 
113
115
  function getStartedSubagents(state) {
@@ -1650,14 +1652,16 @@ async function runCodex(opts) {
1650
1652
  const { state, metadata } = createSessionMetadata({
1651
1653
  flavor: "codex",
1652
1654
  ...process.env.VH_TEAM_OPERATION_ID ? { teamOperationId: process.env.VH_TEAM_OPERATION_ID } : {},
1655
+ ...issueSessionMetadata(),
1653
1656
  machineId,
1654
1657
  startedBy: opts.startedBy,
1655
1658
  sandbox: sandboxConfig,
1656
1659
  dangerouslySkipPermissions: initialPermissionMode === "yolo" || initialPermissionMode === "bypassPermissions",
1657
1660
  ...forkedFromSessionId ? { parentSessionId: forkedFromSessionId } : {},
1658
1661
  ...forkedFromMessageId ? { forkedFromMessageId } : {},
1659
- capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY, AUTO_RESTART_CAPABILITY, CODEX_STEER_CAPABILITY, PROJECT_SESSION_CAPABILITY, CODEX_COMPACT_CAPABILITY, RUN_INTENT_CAPABILITY, AGENT_PROFILE_SESSION_CAPABILITY, CODEX_BTW_CAPABILITY]
1662
+ capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY, AUTO_RESTART_CAPABILITY, CODEX_STEER_CAPABILITY, PROJECT_SESSION_CAPABILITY, CODEX_COMPACT_CAPABILITY, RUN_INTENT_CAPABILITY, AGENT_PROFILE_SESSION_CAPABILITY, CODEX_BTW_CAPABILITY, CODEX_LIVE_PERMISSION_CAPABILITY]
1660
1663
  });
1664
+ metadata.capabilities = [...metadata.capabilities ?? [], ISSUE_SESSION_CAPABILITY];
1661
1665
  metadata.attachmentKinds = [...CLAUDE_ATTACHMENT_KINDS];
1662
1666
  metadata.stickyModel = null;
1663
1667
  metadata.currentThoughtLevelCode = DEFAULT_CODEX_EFFORT;
@@ -2097,6 +2101,13 @@ async function runCodex(opts) {
2097
2101
  }
2098
2102
  });
2099
2103
  session.rpcHandlerManager.registerHandler("abort", () => handleAbort("user"));
2104
+ session.rpcHandlerManager.registerHandler("set-permission-mode", async (request) => {
2105
+ const mode = codexPublishablePermissionMode(request?.mode);
2106
+ if (!mode) throw new Error("Invalid Codex permission mode");
2107
+ currentPermissionMode = mode;
2108
+ publishPermissionMode(mode);
2109
+ return { mode };
2110
+ });
2100
2111
  registerRunIntentRpc(session.rpcHandlerManager, {
2101
2112
  getMetadata: () => session.getMetadata(),
2102
2113
  updateMetadata: (handler) => session.updateMetadata(handler)