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,24 +1,24 @@
1
1
  'use strict';
2
2
 
3
3
  var node_fs = require('node:fs');
4
- var spawnHappyCLI = require('./spawnHappyCLI-Cvk2ZMYj.cjs');
4
+ var spawnHappyCLI = require('./spawnHappyCLI-C3XuIB2N.cjs');
5
5
  var axios = require('axios');
6
6
  var tweetnacl = require('tweetnacl');
7
7
  var z = require('zod');
8
8
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
9
- var configuration = require('./configuration-CAzuk0Xs.cjs');
10
- var localHappyAgentAuth = require('./localHappyAgentAuth-Bsk_VyUN.cjs');
9
+ var configuration = require('./configuration-ClUt7pqs.cjs');
10
+ var localHappyAgentAuth = require('./localHappyAgentAuth-CjtNcaI0.cjs');
11
11
  require('cross-spawn');
12
12
  require('node:path');
13
13
  require('./projectPath-C3ioB4Bu.cjs');
14
14
  require('path');
15
15
  require('url');
16
- require('./logger-LsJ3Cl5o.cjs');
16
+ require('./logger-D28MY1Bv.cjs');
17
17
  require('chalk');
18
18
  require('node:util');
19
19
  require('node:crypto');
20
20
  require('node:os');
21
- require('./package-D7V1BX2I.cjs');
21
+ require('./package-BFSsS_dl.cjs');
22
22
  require('node:fs/promises');
23
23
 
24
24
  const ResumableMetadataSchema = z.z.object({
@@ -1,22 +1,22 @@
1
1
  import { existsSync } from 'node:fs';
2
- import { s as spawnHappyCLI } from './spawnHappyCLI-DnT_QEdn.mjs';
2
+ import { s as spawnHappyCLI } from './spawnHappyCLI-Cc9kKpcq.mjs';
3
3
  import axios, { AxiosError } from 'axios';
4
4
  import tweetnacl from 'tweetnacl';
5
5
  import { z } from 'zod';
6
6
  import { d as decodeBase64, a as decryptWithDataKey, b as decryptLegacy } from './authRelay-DhQhkBvX.mjs';
7
- import { c as configuration } from './configuration-D9k5yIzV.mjs';
8
- import { g as getLocalHappyAgentCredentialPath, r as readLocalHappyAgentCredentials } from './localHappyAgentAuth-CD896cy4.mjs';
7
+ import { c as configuration } from './configuration-4pG95tsq.mjs';
8
+ import { g as getLocalHappyAgentCredentialPath, r as readLocalHappyAgentCredentials } from './localHappyAgentAuth-DeDQjw24.mjs';
9
9
  import 'cross-spawn';
10
10
  import 'node:path';
11
11
  import './projectPath-BTBIMB57.mjs';
12
12
  import 'path';
13
13
  import 'url';
14
- import './logger-n9NOzHhK.mjs';
14
+ import './logger-BLMi8oJK.mjs';
15
15
  import 'chalk';
16
16
  import 'node:util';
17
17
  import 'node:crypto';
18
18
  import 'node:os';
19
- import './package-CCF6FHr2.mjs';
19
+ import './package-DbGqY8Ej.mjs';
20
20
  import 'node:fs/promises';
21
21
 
22
22
  const ResumableMetadataSchema = z.object({
@@ -1,14 +1,14 @@
1
- import { q as query } from './query-D_3rFFWe.mjs';
1
+ import { q as query } from './query-CrSvcV32.mjs';
2
2
  export { AbortError } from '@anthropic-ai/claude-agent-sdk';
3
3
  import './promptCacheTtl-Ce0TVbrx.mjs';
4
4
  import 'node:fs';
5
5
  import 'node:os';
6
6
  import 'node:path';
7
- import './logger-n9NOzHhK.mjs';
7
+ import './logger-BLMi8oJK.mjs';
8
8
  import 'chalk';
9
9
  import 'node:util';
10
- import './configuration-D9k5yIzV.mjs';
11
- import './package-CCF6FHr2.mjs';
10
+ import './configuration-4pG95tsq.mjs';
11
+ import './package-DbGqY8Ej.mjs';
12
12
  import 'node:fs/promises';
13
13
  import './processTreeSnapshot-fuwxC0fr.mjs';
14
14
  import 'node:child_process';
@@ -1253,9 +1253,13 @@ For add, retry with the same UUID and identical title/note after a timeout; do n
1253
1253
 
1254
1254
  For edit/status/delete, a conflict means the version changed. Read the task and compare the new state with the user's request before deciding what to do; never automatically overwrite with a freshly fetched version. A timeout may have committed: read to reconcile, then report the confirmed result. Do not claim a delete succeeded merely because a request was sent.
1255
1255
 
1256
+ ## Issues
1257
+
1258
+ On a server with Issues, My todos are issues without an assignee: the todo commands keep working on them (list shows open ones, \`--all\` adds completed; an ID may also be an issue key such as VH-12). Run \`very-happy issue --help\` for the full Issues interface (assign to an agent, comments). Without Issues the todo commands use the classic store; their output is the same.
1259
+
1256
1260
  Restricted team workers cannot use account-wide Todo credentials. Ask the user or supervising session to perform the account operation; do not clear scope variables or seek another credential to bypass that boundary.
1257
1261
  `;
1258
- const BUILTIN_TODO_DISCOVERY = "For the user\u2019s Very Happy My todos, run `very-happy todo skill` to read the official skill, then use its CLI commands. Do not confuse account todos with your execution plan; restricted team workers must not bypass their scope.";
1262
+ const BUILTIN_TODO_DISCOVERY = "For the user\u2019s Very Happy My todos (and Issues: `very-happy issue --help`), run `very-happy todo skill` to read the official skill, then use its CLI commands. Do not confuse account todos with your execution plan; restricted team workers must not bypass their scope.";
1259
1263
  z.z.object({
1260
1264
  source: z.z.literal("pi"),
1261
1265
  tokens: z.z.number().finite().nonnegative().nullable(),
@@ -1822,6 +1826,12 @@ function ownerBoardPostToRest(sessionId, input, anchor) {
1822
1826
  inferred: false
1823
1827
  };
1824
1828
  }
1829
+ const ISSUE_SESSION_CAPABILITY = "issue-v1";
1830
+ const ISSUES_DISABLED_ERROR = "issues_disabled";
1831
+ const ISSUE_WORKER_VERSION = 1;
1832
+ const ISSUE_KEY_PREFIX = "VH";
1833
+ const ISSUE_DISPATCH_LOCAL_ID_PREFIX = "issue-";
1834
+ const ISSUE_SENT_FROM = "issue";
1825
1835
  const ISSUE_LIMITS = {
1826
1836
  titleChars: 300,
1827
1837
  descriptionBytes: 32 * 1024,
@@ -1834,8 +1844,23 @@ const ISSUE_LIMITS = {
1834
1844
  const ISSUE_STATUSES = ["backlog", "todo", "in_progress", "in_review", "blocked", "done", "cancelled"];
1835
1845
  const ISSUE_PRIORITIES = ["urgent", "high", "medium", "low", "none"];
1836
1846
  const ISSUE_AGENT_STATUSES = ["in_progress", "in_review", "blocked"];
1847
+ const ISSUE_CLOSED_STATUSES = ["done", "cancelled"];
1837
1848
  const ISSUE_ASSIGNABLE_AGENTS = ["claude", "codex", "pi"];
1838
1849
  const ISSUE_ASSIGNEE_KINDS = ["none", "self", "agent", "team"];
1850
+ function isIssueClosed(status) {
1851
+ return ISSUE_CLOSED_STATUSES.includes(status);
1852
+ }
1853
+ const ISSUE_KEY_PATTERN = new RegExp(`^${ISSUE_KEY_PREFIX}-(\\d{1,9})$`, "i");
1854
+ const UUIDISH = /^[A-Za-z0-9_-]{8,128}$/;
1855
+ function parseIssueRef(input) {
1856
+ const value = input.trim();
1857
+ const key2 = ISSUE_KEY_PATTERN.exec(value) ?? /^#?(\d{1,9})$/.exec(value);
1858
+ if (key2) {
1859
+ const n = Number(key2[1]);
1860
+ return n > 0 ? { number: n } : null;
1861
+ }
1862
+ return UUIDISH.test(value) ? { id: value } : null;
1863
+ }
1839
1864
  const id = z.z.string().min(1).max(128);
1840
1865
  const requestId = z.z.string().min(1).max(128);
1841
1866
  const utf8Bytes = (value) => new TextEncoder().encode(value).length;
@@ -1989,6 +2014,27 @@ z.z.object({
1989
2014
  t: z.z.literal("issue-run"),
1990
2015
  run: z.z.object({ id: z.z.string(), issueId: z.z.string(), status: z.z.string() }).passthrough()
1991
2016
  });
2017
+ const ISSUE_ERROR_CODES = [
2018
+ "issues_disabled",
2019
+ "issue_not_found",
2020
+ "issue_version_conflict",
2021
+ "issue_count_quota_exceeded",
2022
+ "issue_status_forbidden",
2023
+ "issue_closed",
2024
+ "issue_comment_required",
2025
+ "issue_not_bound",
2026
+ "issue_run_not_current",
2027
+ "issue_assignee_unsupported",
2028
+ "issue_agent_unsupported",
2029
+ "issue_no_directory",
2030
+ "issue_machine_not_found",
2031
+ "issue_parent_cycle",
2032
+ "issue_project_not_found",
2033
+ "issue_comment_quota_exceeded",
2034
+ "issue_run_not_found",
2035
+ "issue_dispatch_claim_mismatch",
2036
+ "transaction_conflict"
2037
+ ];
1992
2038
  const SYNC_HELLO_MAX_REQUEST_SUBS = 64;
1993
2039
  const sessionIdSchema = z__namespace.string().min(1).max(128);
1994
2040
  const afterSeqSchema = z__namespace.number().int().min(0).nullable();
@@ -2123,6 +2169,17 @@ exports.CODEX_LIVE_PERMISSION_CAPABILITY = CODEX_LIVE_PERMISSION_CAPABILITY;
2123
2169
  exports.CODEX_STEER_CAPABILITY = CODEX_STEER_CAPABILITY;
2124
2170
  exports.EFFORT_INTENT_AUTO = EFFORT_INTENT_AUTO;
2125
2171
  exports.HARNESS_INSTALL_CAPABILITY_VERSION = HARNESS_INSTALL_CAPABILITY_VERSION;
2172
+ exports.ISSUES_DISABLED_ERROR = ISSUES_DISABLED_ERROR;
2173
+ exports.ISSUE_AGENT_STATUSES = ISSUE_AGENT_STATUSES;
2174
+ exports.ISSUE_ASSIGNABLE_AGENTS = ISSUE_ASSIGNABLE_AGENTS;
2175
+ exports.ISSUE_DISPATCH_LOCAL_ID_PREFIX = ISSUE_DISPATCH_LOCAL_ID_PREFIX;
2176
+ exports.ISSUE_ERROR_CODES = ISSUE_ERROR_CODES;
2177
+ exports.ISSUE_LIMITS = ISSUE_LIMITS;
2178
+ exports.ISSUE_PRIORITIES = ISSUE_PRIORITIES;
2179
+ exports.ISSUE_SENT_FROM = ISSUE_SENT_FROM;
2180
+ exports.ISSUE_SESSION_CAPABILITY = ISSUE_SESSION_CAPABILITY;
2181
+ exports.ISSUE_STATUSES = ISSUE_STATUSES;
2182
+ exports.ISSUE_WORKER_VERSION = ISSUE_WORKER_VERSION;
2126
2183
  exports.LATEST_MODEL_MODE = LATEST_MODEL_MODE;
2127
2184
  exports.MODEL_INTENT_CONFIG = MODEL_INTENT_CONFIG;
2128
2185
  exports.OwnerBoardListInputSchema = OwnerBoardListInputSchema;
@@ -2148,10 +2205,12 @@ exports.isAttentionBoardLocalId = isAttentionBoardLocalId;
2148
2205
  exports.isAutomationRunTerminal = isAutomationRunTerminal;
2149
2206
  exports.isHarnessInstallId = isHarnessInstallId;
2150
2207
  exports.isInsideTeamWorktree = isInsideTeamWorktree;
2208
+ exports.isIssueClosed = isIssueClosed;
2151
2209
  exports.isLatestModelMode = isLatestModelMode;
2152
2210
  exports.nextRunIntents = nextRunIntents;
2153
2211
  exports.normalizeAgentKey = normalizeAgentKey;
2154
2212
  exports.ownerBoardPostToRest = ownerBoardPostToRest;
2213
+ exports.parseIssueRef = parseIssueRef;
2155
2214
  exports.parseLatestModelTable = parseLatestModelTable;
2156
2215
  exports.readEffortIntent = readEffortIntent;
2157
2216
  exports.readModelIntent = readModelIntent;
@@ -1,95 +1,97 @@
1
1
  'use strict';
2
2
 
3
- var AcpBackend = require('./AcpBackend-HhZ8nrIh.cjs');
4
- var logger = require('./logger-LsJ3Cl5o.cjs');
5
- var AcpSessionManager = require('./AcpSessionManager--7nDgA9S.cjs');
6
- var index = require('./index-BnT8yvlF.cjs');
7
- var deterministicJson = require('./deterministicJson-DCzFgRiT.cjs');
3
+ var AcpBackend = require('./AcpBackend-CwSShYPI.cjs');
4
+ var logger = require('./logger-D28MY1Bv.cjs');
5
+ var AcpSessionManager = require('./AcpSessionManager-DqW99tOL.cjs');
6
+ var index = require('./index-BiutHOAO.cjs');
7
+ var deterministicJson = require('./deterministicJson-CQ8jkArF.cjs');
8
8
  var specialCommands = require('./specialCommands-J3JFOq0J.cjs');
9
9
  var heldInput = require('./heldInput-BOtqFO2r.cjs');
10
- var configuration = require('./configuration-CAzuk0Xs.cjs');
11
- var attachmentContent = require('./attachmentContent-JWUS5uhH.cjs');
12
- var piRuntime = require('./piRuntime-BvxCy9qQ.cjs');
10
+ var configuration = require('./configuration-ClUt7pqs.cjs');
11
+ var attachmentContent = require('./attachmentContent-C2f1UEP9.cjs');
12
+ var piRuntime = require('./piRuntime-DiRayy91.cjs');
13
13
  var node_crypto = require('node:crypto');
14
14
  var path = require('node:path');
15
- var api = require('./api-CgzfmyYS.cjs');
16
- var client = require('./client-KbhVRYjy.cjs');
17
- var registerKillSessionHandler = require('./registerKillSessionHandler-Bo697Mt0.cjs');
18
- var persistence = require('./persistence-Dl3sBrCF.cjs');
19
- var machineMetadata = require('./machineMetadata-CUU2NSYl.cjs');
20
- var createSessionMetadata = require('./createSessionMetadata-C2EQi_od.cjs');
21
- var setupOfflineReconnection = require('./setupOfflineReconnection-Dwg6nHnP.cjs');
22
- var startupSessionCreate = require('./startupSessionCreate-CxwJb5m9.cjs');
23
- var controlClient = require('./controlClient-Bb188cU0.cjs');
15
+ var api = require('./api-BPWRzeNF.cjs');
16
+ var sessionMetadata = require('./sessionMetadata-DyTJ0Ki5.cjs');
17
+ var client = require('./client-BnoN4P4t.cjs');
18
+ var registerKillSessionHandler = require('./registerKillSessionHandler-DJJXtc_L.cjs');
19
+ var persistence = require('./persistence-TpVFA5-I.cjs');
20
+ var machineMetadata = require('./machineMetadata-BzjrIn_N.cjs');
21
+ var createSessionMetadata = require('./createSessionMetadata-msQTEvvn.cjs');
22
+ var setupOfflineReconnection = require('./setupOfflineReconnection-BZHRoKDx.cjs');
23
+ var controlClient = require('./controlClient-SYDFcIkk.cjs');
24
24
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
25
- var sessionLock = require('./sessionLock-CuPN9xfW.cjs');
26
- var acpSessionResume = require('./acpSessionResume-CfogEHtT.cjs');
25
+ var sessionLock = require('./sessionLock-DglhFHzB.cjs');
26
+ var acpSessionResume = require('./acpSessionResume-B_W8uTI6.cjs');
27
27
  var reconnectEnv = require('./reconnectEnv-B31lY4nR.cjs');
28
- var streamRelay = require('./streamRelay-BT9ew0Mk.cjs');
28
+ var streamRelay = require('./streamRelay-Dyp4x44P.cjs');
29
29
  var projectPath = require('./projectPath-C3ioB4Bu.cjs');
30
- var BasePermissionHandler = require('./BasePermissionHandler-al7UXWRq.cjs');
31
- var titleGenerator = require('./titleGenerator-BP5gqicG.cjs');
30
+ var BasePermissionHandler = require('./BasePermissionHandler-CgqjIUyG.cjs');
31
+ var titleGenerator = require('./titleGenerator-CSYqcorn.cjs');
32
32
  var editPaths = require('./editPaths-Bqp4OFPw.cjs');
33
33
  var node_fs = require('node:fs');
34
34
  var os = require('node:os');
35
35
  require('node:child_process');
36
36
  require('@agentclientprotocol/sdk');
37
- require('./time-DTaj0RVK.cjs');
37
+ require('./time-D-v2Cd9e.cjs');
38
38
  require('./contentLogMetadata-ZSFk_NjQ.cjs');
39
39
  require('./processTree-CMHWlVse.cjs');
40
- require('./package-D7V1BX2I.cjs');
40
+ require('./package-BFSsS_dl.cjs');
41
41
  require('chalk');
42
42
  require('node:util');
43
43
  require('@paralleldrive/cuid2');
44
44
  require('zod');
45
45
  require('./prompt-Bof2aQkI.cjs');
46
- require('./reportProgressTool-CW9rSnwQ.cjs');
47
- require('./client-BKyTA9Hf.cjs');
46
+ require('./client-1zIbVVX5.cjs');
47
+ require('./reportProgressTool-DtEpDqv3.cjs');
48
+ require('./client-D0_UOmC1.cjs');
48
49
  require('./precheckCompat-CWOi5c9L.cjs');
50
+ require('./format-P9_M_7ga.cjs');
49
51
  require('./agentGuidance-BtBx2xxE.cjs');
50
52
  require('./trimIdent-4gvk9Wk6.cjs');
51
53
  require('./pi-DlsrPCTa.cjs');
52
54
  require('./fileStore-7qhnbs6N.cjs');
53
55
  require('node:fs/promises');
54
- require('./client-CBbUzTcm.cjs');
55
- require('./context-CI9LnDu1.cjs');
56
- require('./sessionOps-CYNOycqT.cjs');
56
+ require('./client-C8BTmcrh.cjs');
57
+ require('./context-wMsIGwBw.cjs');
58
+ require('./sessionOps-CIFvoFPA.cjs');
57
59
  require('axios');
58
60
  require('socket.io-client');
59
61
  require('./backgroundTaskActivity-CBvUdj39.cjs');
60
62
  require('./resources-BZ_Be0qM.cjs');
61
- require('./tools-G3_fMSjb.cjs');
62
- require('./peerTools-Dv6bgHkW.cjs');
63
+ require('./tools-CY2zrdd5.cjs');
64
+ require('./peerTools-Z8V2E0AF.cjs');
63
65
  require('./ids-B6ZC0HGt.cjs');
64
- require('./remoteSessionClient-9NzkfL13.cjs');
66
+ require('./remoteSessionClient-DleOeQlN.cjs');
65
67
  require('@modelcontextprotocol/sdk/server/mcp.js');
66
68
  require('node:http');
67
69
  require('@modelcontextprotocol/sdk/server/streamableHttp.js');
68
70
  require('./limits-C-a7gr04.cjs');
69
- require('./downloadTarget-CZS0BVu2.cjs');
71
+ require('./downloadTarget-DfoOSrYi.cjs');
70
72
  require('./terminals-dK3Lrjfp.cjs');
71
73
  require('./terminalTitleSuggest-DhvRFX3H.cjs');
72
74
  require('./tmuxSocket-Dg11Olx0.cjs');
73
- require('./bootstrap-Brd_jnA2.cjs');
75
+ require('./bootstrap-DUKAKxrJ.cjs');
74
76
  require('./webPanels-FCgFKvVe.cjs');
75
- require('./pushNotifications-IZaTtVDG.cjs');
77
+ require('./pushNotifications-C1i2W1GQ.cjs');
76
78
  require('./previewPath-B0rBdhy1.cjs');
77
79
  require('crypto');
78
- require('./reconnectGate-CHI12y0Y.cjs');
80
+ require('./reconnectGate-YQ5jXJfY.cjs');
79
81
  require('os');
80
82
  require('child_process');
81
83
  require('node:events');
82
- require('./registerCommonHandlers-CUCw-rad.cjs');
84
+ require('./registerCommonHandlers-D95IxqDN.cjs');
83
85
  require('util');
84
86
  require('fs/promises');
85
87
  require('path');
86
88
  require('cross-spawn');
87
- require('./sync-B-B5mc8Z.cjs');
89
+ require('./sync-BvxhuW9R.cjs');
88
90
  require('tweetnacl');
89
91
  require('./types-CRS-srZK.cjs');
90
92
  require('./detectCLI-BuYR_Qxe.cjs');
91
93
  require('fs');
92
- require('./localHappyAgentAuth-Bsk_VyUN.cjs');
94
+ require('./localHappyAgentAuth-CjtNcaI0.cjs');
93
95
  require('./fsMkdir-0K3yENml.cjs');
94
96
  require('./cliUpdate-DsKXPFYp.cjs');
95
97
  require('./processTermination-f17wxlMb.cjs');
@@ -97,9 +99,9 @@ require('./processTreeSnapshot-D5iNblp6.cjs');
97
99
  require('url');
98
100
  require('node:module');
99
101
  require('./oneShotPrompts-CL0dip9C.cjs');
100
- require('./wrapperAccount-CsxMfnCK.cjs');
101
- require('./claudeAccountEnv-z_ecsJAP.cjs');
102
- require('./store-D41VdZcL.cjs');
102
+ require('./wrapperAccount-ejUjAQaM.cjs');
103
+ require('./claudeAccountEnv-D33xXRE7.cjs');
104
+ require('./store-DOZAMV4W.cjs');
103
105
 
104
106
  function createAcpBackend(options) {
105
107
  const backendOptions = {
@@ -834,6 +836,7 @@ async function runAcp(opts) {
834
836
  const { state, metadata } = createSessionMetadata.createSessionMetadata({
835
837
  flavor: resolveSessionFlavor(opts.agentName),
836
838
  ...process.env.VH_TEAM_OPERATION_ID ? { teamOperationId: process.env.VH_TEAM_OPERATION_ID } : {},
839
+ ...sessionMetadata.issueSessionMetadata(),
837
840
  machineId: settings.machineId,
838
841
  startedBy: opts.startedBy,
839
842
  sandbox: settings.sandboxConfig,
@@ -841,6 +844,7 @@ async function runAcp(opts) {
841
844
  // daemon can restart it onto new code after an upgrade.
842
845
  capabilities: [index.PROMPT_QUEUE_CAPABILITY, index.PROJECT_SESSION_CAPABILITY, ...opts.agentName === "pi" && opts.startedBy === "daemon" ? [sessionLock.AUTO_RESTART_CAPABILITY] : []]
843
846
  });
847
+ metadata.capabilities = [...metadata.capabilities ?? [], index.ISSUE_SESSION_CAPABILITY];
844
848
  metadata.attachmentKinds = [];
845
849
  if (opts.agentName === "gemini") metadata.configuredModel = readGeminiConfiguredModel();
846
850
  const reconnect = acpSessionResume.readAcpReconnectEnv(reconnectEnv.takeReconnectEnv());
@@ -858,7 +862,7 @@ async function runAcp(opts) {
858
862
  agentStateVersion: reconnect.agentStateVersion
859
863
  };
860
864
  } else {
861
- response = await startupSessionCreate.createSessionForStartup(() => api$1.getOrCreateSession({ tag: sessionTag, metadata, state }), { startedBy: opts.startedBy, log: (m) => logger.logger.debug(m) });
865
+ response = await sessionMetadata.createSessionForStartup(() => api$1.getOrCreateSession({ tag: sessionTag, metadata, state }), { startedBy: opts.startedBy, log: (m) => logger.logger.debug(m) });
862
866
  }
863
867
  if (response) {
864
868
  logAcp("muted", `Happy Session ID: ${response.id}`);
@@ -1535,7 +1539,7 @@ async function runAcp(opts) {
1535
1539
  ...shouldExit ? { exiting: true } : {}
1536
1540
  };
1537
1541
  };
1538
- piProbe = new startupSessionCreate.HibernationProbe({
1542
+ piProbe = new sessionMetadata.HibernationProbe({
1539
1543
  checkMs: persistence.resolveCheckMs(),
1540
1544
  snapshot: piSnapshot,
1541
1545
  ask: (report) => controlClient.checkDaemonHibernation({ sessionId: session.sessionId, pid: process.pid, report }),
@@ -2,14 +2,14 @@
2
2
 
3
3
  var node_fs = require('node:fs');
4
4
  var os = require('node:os');
5
- var logger = require('./logger-LsJ3Cl5o.cjs');
6
- var persistence = require('./persistence-Dl3sBrCF.cjs');
5
+ var logger = require('./logger-D28MY1Bv.cjs');
6
+ var persistence = require('./persistence-TpVFA5-I.cjs');
7
7
  var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
8
8
  require('chalk');
9
9
  require('node:util');
10
- require('./configuration-CAzuk0Xs.cjs');
10
+ require('./configuration-ClUt7pqs.cjs');
11
11
  require('node:path');
12
- require('./package-D7V1BX2I.cjs');
12
+ require('./package-BFSsS_dl.cjs');
13
13
  require('node:fs/promises');
14
14
  require('zod');
15
15
  require('./authRelay-Dy1qU9td.cjs');
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var query = require('./query-BVqnfxlX.cjs');
3
+ var query = require('./query-BkOpCpRo.cjs');
4
4
  var claudeAgentSdk = require('@anthropic-ai/claude-agent-sdk');
5
5
  require('./promptCacheTtl-B8PCzE6k.cjs');
6
6
  require('node:fs');
7
7
  require('node:os');
8
8
  require('node:path');
9
- require('./logger-LsJ3Cl5o.cjs');
9
+ require('./logger-D28MY1Bv.cjs');
10
10
  require('chalk');
11
11
  require('node:util');
12
- require('./configuration-CAzuk0Xs.cjs');
13
- require('./package-D7V1BX2I.cjs');
12
+ require('./configuration-ClUt7pqs.cjs');
13
+ require('./package-BFSsS_dl.cjs');
14
14
  require('node:fs/promises');
15
15
  require('./processTreeSnapshot-D5iNblp6.cjs');
16
16
  require('node:child_process');
@@ -1,94 +1,96 @@
1
- import { D as DefaultTransport, A as AcpBackend, i as isAgentExitError, a as acpNoticeMessage } from './AcpBackend-Bo6bOamG.mjs';
2
- export { b as DEFAULT_IDLE_TIMEOUT_MS, c as DEFAULT_TOOL_CALL_TIMEOUT_MS, e as extractErrorDetail, f as formatDuration, d as formatDurationMinutes, h as handleAgentMessageChunk, g as handleAgentThoughtChunk, j as handleLegacyMessageChunk, k as handlePlanUpdate, l as handleThinkingUpdate, m as handleToolCall, n as handleToolCallUpdate, p as parseArgsFromContent } from './AcpBackend-Bo6bOamG.mjs';
3
- import { l as logger } from './logger-n9NOzHhK.mjs';
4
- import { A as AcpSessionManager } from './AcpSessionManager-C-pkJKO2.mjs';
5
- import { P as PROMPT_QUEUE_CAPABILITY, a as PROJECT_SESSION_CAPABILITY, a2 as PI_STEER_CAPABILITY, w as BUILTIN_TODO_DISCOVERY } from './index-BQvPYTNM.mjs';
6
- import { h as hashObject, s as startHappyServer, r as readPiModelsJson, a as resolvePiContextUsage, c as createProjectInjector } from './deterministicJson-BJ7LY5-S.mjs';
1
+ import { D as DefaultTransport, A as AcpBackend, i as isAgentExitError, a as acpNoticeMessage } from './AcpBackend-Cnp6WNn8.mjs';
2
+ export { b as DEFAULT_IDLE_TIMEOUT_MS, c as DEFAULT_TOOL_CALL_TIMEOUT_MS, e as extractErrorDetail, f as formatDuration, d as formatDurationMinutes, h as handleAgentMessageChunk, g as handleAgentThoughtChunk, j as handleLegacyMessageChunk, k as handlePlanUpdate, l as handleThinkingUpdate, m as handleToolCall, n as handleToolCallUpdate, p as parseArgsFromContent } from './AcpBackend-Cnp6WNn8.mjs';
3
+ import { l as logger } from './logger-BLMi8oJK.mjs';
4
+ import { A as AcpSessionManager } from './AcpSessionManager-C4O3jhT_.mjs';
5
+ import { P as PROMPT_QUEUE_CAPABILITY, a as PROJECT_SESSION_CAPABILITY, I as ISSUE_SESSION_CAPABILITY, a4 as PI_STEER_CAPABILITY, J as BUILTIN_TODO_DISCOVERY } from './index-kwsivEs-.mjs';
6
+ import { h as hashObject, s as startHappyServer, r as readPiModelsJson, a as resolvePiContextUsage, c as createProjectInjector } from './deterministicJson-BRAeReBK.mjs';
7
7
  import { c as compactCommandText, C as COMPACT_UNSUPPORTED_NOTICE } from './specialCommands-MXUN0wfI.mjs';
8
8
  import { r as registerAgentAttachmentDownloads, H as HeldInput } from './heldInput-C69lA2dH.mjs';
9
- import { c as configuration } from './configuration-D9k5yIzV.mjs';
10
- import { a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt, C as CLAUDE_ATTACHMENT_KINDS } from './attachmentContent-D9wq3bok.mjs';
11
- import { p as preparePiTeamsRuntime } from './piRuntime-dtlRpOYa.mjs';
9
+ import { c as configuration } from './configuration-4pG95tsq.mjs';
10
+ import { a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt, C as CLAUDE_ATTACHMENT_KINDS } from './attachmentContent-BKIq6EXR.mjs';
11
+ import { p as preparePiTeamsRuntime } from './piRuntime-B0QZykV7.mjs';
12
12
  import { randomUUID } from 'node:crypto';
13
13
  import { join } from 'node:path';
14
- import { c as connectionState, A as ApiClient } from './api-DibgCucH.mjs';
15
- import { s as sharedProjectsClient } from './client-DKPLBLvx.mjs';
16
- import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-BJSVT1iq.mjs';
17
- import { r as readSettings, a as resolveCheckMs } from './persistence-B5U9rC15.mjs';
18
- import { g as getInitialMachineMetadata } from './machineMetadata-Bc7FwngX.mjs';
19
- import { c as createSessionMetadata } from './createSessionMetadata-BIK0Xz31.mjs';
20
- import { s as setupOfflineReconnection } from './setupOfflineReconnection-nguxOn4s.mjs';
21
- import { c as createSessionForStartup, H as HibernationProbe } from './startupSessionCreate-f1g6pp6E.mjs';
22
- import { n as notifyDaemonSessionStarted, c as checkDaemonHibernation, o as reportSessionEditToDaemon } from './controlClient-DhFAPGHz.mjs';
14
+ import { c as connectionState, A as ApiClient } from './api-DCUiAds-.mjs';
15
+ import { i as issueSessionMetadata, c as createSessionForStartup, H as HibernationProbe } from './sessionMetadata-V7Z7F-cj.mjs';
16
+ import { s as sharedProjectsClient } from './client-BXwIqRha.mjs';
17
+ import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-DoE6xgH3.mjs';
18
+ import { r as readSettings, a as resolveCheckMs } from './persistence-DbOKjdUD.mjs';
19
+ import { g as getInitialMachineMetadata } from './machineMetadata-D8OWVD4l.mjs';
20
+ import { c as createSessionMetadata } from './createSessionMetadata-CQkxe_4T.mjs';
21
+ import { s as setupOfflineReconnection } from './setupOfflineReconnection-Ck-p0YPb.mjs';
22
+ import { n as notifyDaemonSessionStarted, c as checkDaemonHibernation, o as reportSessionEditToDaemon } from './controlClient-bqCKl9Nv.mjs';
23
23
  import { d as decodeBase64, e as encodeBase64 } from './authRelay-DhQhkBvX.mjs';
24
- import { A as AUTO_RESTART_CAPABILITY, c as claimSessionOrExit, a as applyServerSnapshot, w as withoutServerSnapshot, m as mergeReconnectMetadata, t as takeAutoRestartedEvent } from './sessionLock-JWBEd8g_.mjs';
25
- import { r as readAcpReconnectEnv, n as normalizeAcpPermissionMode, p as piRestartNotice, w as writeSessionModeFile, a as removeSessionModeFile } from './acpSessionResume-BVroOlVN.mjs';
24
+ import { A as AUTO_RESTART_CAPABILITY, c as claimSessionOrExit, a as applyServerSnapshot, w as withoutServerSnapshot, m as mergeReconnectMetadata, t as takeAutoRestartedEvent } from './sessionLock-CphKQyav.mjs';
25
+ import { r as readAcpReconnectEnv, n as normalizeAcpPermissionMode, p as piRestartNotice, w as writeSessionModeFile, a as removeSessionModeFile } from './acpSessionResume-De_sTG30.mjs';
26
26
  import { t as takeReconnectEnv } from './reconnectEnv-DeSvHl3q.mjs';
27
- import { S as StreamRelay } from './streamRelay-DEBIU6Ak.mjs';
27
+ import { S as StreamRelay } from './streamRelay-7D7v0hvk.mjs';
28
28
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
29
- import { B as BasePermissionHandler } from './BasePermissionHandler-Ffp54Ntg.mjs';
30
- import { T as TitleGenerator } from './titleGenerator-DVnEGxoB.mjs';
29
+ import { B as BasePermissionHandler } from './BasePermissionHandler-8Msj0Z8j.mjs';
30
+ import { T as TitleGenerator } from './titleGenerator-BdeHi3IY.mjs';
31
31
  import { E as EditReportThrottle, e as extractAcpEditPaths } from './editPaths-BVfS_FFL.mjs';
32
32
  import { readFileSync } from 'node:fs';
33
33
  import { homedir } from 'node:os';
34
34
  import 'node:child_process';
35
35
  import '@agentclientprotocol/sdk';
36
- import './time-PqfO1O58.mjs';
36
+ import './time-qd46L189.mjs';
37
37
  import './contentLogMetadata-BlWI0egu.mjs';
38
38
  import './processTree-CP5IvQ2Z.mjs';
39
- import './package-CCF6FHr2.mjs';
39
+ import './package-DbGqY8Ej.mjs';
40
40
  import 'chalk';
41
41
  import 'node:util';
42
42
  import '@paralleldrive/cuid2';
43
43
  import 'zod';
44
44
  import './prompt-QHuFx9j6.mjs';
45
- import './reportProgressTool-B2-RFomn.mjs';
46
- import './client-B5uvkdLn.mjs';
45
+ import './client-BgxQ9aej.mjs';
46
+ import './reportProgressTool-D4xKY9Ur.mjs';
47
+ import './client-Blpuk2Hr.mjs';
47
48
  import './precheckCompat-DeEbilbr.mjs';
49
+ import './format-CbliQN8V.mjs';
48
50
  import './agentGuidance-BDYt2Qy2.mjs';
49
51
  import './trimIdent-BAjmv_TG.mjs';
50
52
  import './pi-CqyoZMjI.mjs';
51
53
  import './fileStore-5qpetZS0.mjs';
52
54
  import 'node:fs/promises';
53
- import './client-Ng-oAhlX.mjs';
54
- import './context-WVEuAdf2.mjs';
55
- import './sessionOps-VS1baPz_.mjs';
55
+ import './client-C0qjAgZ_.mjs';
56
+ import './context-Cf05DtNM.mjs';
57
+ import './sessionOps-D-uFSTHk.mjs';
56
58
  import 'axios';
57
59
  import 'socket.io-client';
58
60
  import './backgroundTaskActivity-8PdPxrvy.mjs';
59
61
  import './resources-CLP_MpK4.mjs';
60
- import './tools-B4W8kWU8.mjs';
61
- import './peerTools-gR_3dwdA.mjs';
62
+ import './tools-DR7GWBBV.mjs';
63
+ import './peerTools-4GYKxr8J.mjs';
62
64
  import './ids-DU6sLx4C.mjs';
63
- import './remoteSessionClient-Blz-z9jM.mjs';
65
+ import './remoteSessionClient-BFd_D9ka.mjs';
64
66
  import '@modelcontextprotocol/sdk/server/mcp.js';
65
67
  import 'node:http';
66
68
  import '@modelcontextprotocol/sdk/server/streamableHttp.js';
67
69
  import './limits-DIo7rEBR.mjs';
68
- import './downloadTarget-BhMm1keb.mjs';
70
+ import './downloadTarget-Diq-GBu4.mjs';
69
71
  import './terminals-Dc38XmZv.mjs';
70
72
  import './terminalTitleSuggest-CeKsX_V6.mjs';
71
73
  import './tmuxSocket-BmZyixRM.mjs';
72
- import './bootstrap-CY7Db_VV.mjs';
74
+ import './bootstrap-BkLFgEGF.mjs';
73
75
  import './webPanels-B2_C2-3g.mjs';
74
- import './pushNotifications-pHkbUkqT.mjs';
76
+ import './pushNotifications-CrCTpDiN.mjs';
75
77
  import './previewPath-CXN4Vag0.mjs';
76
78
  import 'crypto';
77
- import './reconnectGate-DPDXEkOX.mjs';
79
+ import './reconnectGate-COxAZTv8.mjs';
78
80
  import 'os';
79
81
  import 'child_process';
80
82
  import 'node:events';
81
- import './registerCommonHandlers-BrTglZnC.mjs';
83
+ import './registerCommonHandlers-Cfl_dEWs.mjs';
82
84
  import 'util';
83
85
  import 'fs/promises';
84
86
  import 'path';
85
87
  import 'cross-spawn';
86
- import './sync-Dfr1zgLx.mjs';
88
+ import './sync-s1pUqWGm.mjs';
87
89
  import 'tweetnacl';
88
90
  import './types-CkqAACXx.mjs';
89
91
  import './detectCLI-CSGMlV51.mjs';
90
92
  import 'fs';
91
- import './localHappyAgentAuth-CD896cy4.mjs';
93
+ import './localHappyAgentAuth-DeDQjw24.mjs';
92
94
  import './fsMkdir-DumgLTzR.mjs';
93
95
  import './cliUpdate-Y34VGe9Y.mjs';
94
96
  import './processTermination-ChJG5SLW.mjs';
@@ -96,9 +98,9 @@ import './processTreeSnapshot-fuwxC0fr.mjs';
96
98
  import 'url';
97
99
  import 'node:module';
98
100
  import './oneShotPrompts-DT4p6RNd.mjs';
99
- import './wrapperAccount-BDeMsgbw.mjs';
100
- import './claudeAccountEnv-CYwfvK1u.mjs';
101
- import './store-DnaIrYLA.mjs';
101
+ import './wrapperAccount-CpDsQL15.mjs';
102
+ import './claudeAccountEnv-CI8RlIB9.mjs';
103
+ import './store-CqNAE-0v.mjs';
102
104
 
103
105
  function createAcpBackend(options) {
104
106
  const backendOptions = {
@@ -833,6 +835,7 @@ async function runAcp(opts) {
833
835
  const { state, metadata } = createSessionMetadata({
834
836
  flavor: resolveSessionFlavor(opts.agentName),
835
837
  ...process.env.VH_TEAM_OPERATION_ID ? { teamOperationId: process.env.VH_TEAM_OPERATION_ID } : {},
838
+ ...issueSessionMetadata(),
836
839
  machineId: settings.machineId,
837
840
  startedBy: opts.startedBy,
838
841
  sandbox: settings.sandboxConfig,
@@ -840,6 +843,7 @@ async function runAcp(opts) {
840
843
  // daemon can restart it onto new code after an upgrade.
841
844
  capabilities: [PROMPT_QUEUE_CAPABILITY, PROJECT_SESSION_CAPABILITY, ...opts.agentName === "pi" && opts.startedBy === "daemon" ? [AUTO_RESTART_CAPABILITY] : []]
842
845
  });
846
+ metadata.capabilities = [...metadata.capabilities ?? [], ISSUE_SESSION_CAPABILITY];
843
847
  metadata.attachmentKinds = [];
844
848
  if (opts.agentName === "gemini") metadata.configuredModel = readGeminiConfiguredModel();
845
849
  const reconnect = readAcpReconnectEnv(takeReconnectEnv());
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var _package = require('./package-D7V1BX2I.cjs');
3
+ var _package = require('./package-BFSsS_dl.cjs');
4
4
  var module$1 = require('node:module');
5
5
  var node_fs = require('node:fs');
6
6
  var promises = require('node:fs/promises');
@@ -59,10 +59,10 @@ async function pruneStaleCompileCaches(happyHomeDir, cliVersion) {
59
59
  async function run(args) {
60
60
  enableCompileCacheIfPossible(_package.packageJson.version);
61
61
  if (isStandaloneVersionRequest(args) || isSelfCheckRequest(args)) {
62
- const { selfCheckMain } = await Promise.resolve().then(function () { return require('./selfCheck-Be_M5coh.cjs'); });
62
+ const { selfCheckMain } = await Promise.resolve().then(function () { return require('./selfCheck-DFC8fzhF.cjs'); });
63
63
  process.exit(await selfCheckMain({ verbose: isSelfCheckRequest(args) }));
64
64
  }
65
- const { main } = await Promise.resolve().then(function () { return require('./main-CEu9zJ4x.cjs'); });
65
+ const { main } = await Promise.resolve().then(function () { return require('./main-DoJIcSOh.cjs'); });
66
66
  await main();
67
67
  }
68
68
  void run(process.argv.slice(2));
@@ -1,4 +1,4 @@
1
- import { p as packageJson } from './package-CCF6FHr2.mjs';
1
+ import { p as packageJson } from './package-DbGqY8Ej.mjs';
2
2
  import module$1 from 'node:module';
3
3
  import { existsSync } from 'node:fs';
4
4
  import { readdir, rm } from 'node:fs/promises';
@@ -57,10 +57,10 @@ async function pruneStaleCompileCaches(happyHomeDir, cliVersion) {
57
57
  async function run(args) {
58
58
  enableCompileCacheIfPossible(packageJson.version);
59
59
  if (isStandaloneVersionRequest(args) || isSelfCheckRequest(args)) {
60
- const { selfCheckMain } = await import('./selfCheck-NWjxjpSx.mjs');
60
+ const { selfCheckMain } = await import('./selfCheck-B-hKig8I.mjs');
61
61
  process.exit(await selfCheckMain({ verbose: isSelfCheckRequest(args) }));
62
62
  }
63
- const { main } = await import('./main-CzItRviV.mjs');
63
+ const { main } = await import('./main-c0fCuBON.mjs');
64
64
  await main();
65
65
  }
66
66
  void run(process.argv.slice(2));