very-happy-cli 0.2.197 → 0.2.198

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 (206) hide show
  1. package/dist/{AcpBackend-B-CD1MrV.mjs → AcpBackend-Bm3EodAb.mjs} +3 -3
  2. package/dist/{AcpBackend-CqDg1GgF.cjs → AcpBackend-DOuWeCAx.cjs} +3 -3
  3. package/dist/{AcpSessionManager-CgomFAjk.mjs → AcpSessionManager-BiwuXpbx.mjs} +2 -2
  4. package/dist/{AcpSessionManager-Cv1KTldV.cjs → AcpSessionManager-DvsZWTXp.cjs} +2 -2
  5. package/dist/{BasePermissionHandler-D6-fZvtx.mjs → BasePermissionHandler-1QcavYFn.mjs} +1 -1
  6. package/dist/{BasePermissionHandler-BxUjjHiI.cjs → BasePermissionHandler-25RmI4dK.cjs} +1 -1
  7. package/dist/{account-Bexqa-vj.cjs → account-ChUtFYld.cjs} +11 -11
  8. package/dist/{account-CnN-iHFd.mjs → account-DA4mbX3-.mjs} +11 -11
  9. package/dist/{accountService-DL6xhVUa.cjs → accountService-BWUjgHl0.cjs} +4 -4
  10. package/dist/{accountService-DQ21IlBs.mjs → accountService-D7NZrnQd.mjs} +4 -4
  11. package/dist/{acpSessionResume-CfEw8L26.cjs → acpSessionResume-CeQu84Ol.cjs} +1 -1
  12. package/dist/{acpSessionResume-DzFELzTU.mjs → acpSessionResume-D6YgeofW.mjs} +1 -1
  13. package/dist/{agentHome-CmSA7hBC.mjs → agentHome-DM6mC64c.mjs} +4 -4
  14. package/dist/{agentHome-CBYL4J4Q.cjs → agentHome-DevJCRG9.cjs} +4 -4
  15. package/dist/{api-Do7MUIrP.mjs → api-oceym3w6.mjs} +14 -12
  16. package/dist/{api-CB3tLbbj.cjs → api-te19Pzi3.cjs} +30 -28
  17. package/dist/{apiMachine-guUGAifI.cjs → apiMachine-BjhCXg6C.cjs} +34 -32
  18. package/dist/{apiMachine-CytFlPdl.mjs → apiMachine-DCHsqtFQ.mjs} +22 -20
  19. package/dist/{attachmentContent-errR84kh.cjs → attachmentContent-BfCEgPTP.cjs} +2 -2
  20. package/dist/{attachmentContent-B8Lg7kgp.mjs → attachmentContent-Dl29U1v1.mjs} +2 -2
  21. package/dist/{auth-Dnu0Mocz.mjs → auth-BIkCWkRV.mjs} +5 -5
  22. package/dist/{auth-B-1T6w1U.mjs → auth-BJ8Tej9L.mjs} +8 -8
  23. package/dist/{auth-ZKJNs8AK.cjs → auth-SH0o7ue7.cjs} +5 -5
  24. package/dist/{auth-BhM0lHLA.cjs → auth-SshU0tNW.cjs} +8 -8
  25. package/dist/{auto-CFSmWudH.mjs → auto-Bdr4sSJk.mjs} +17 -17
  26. package/dist/{auto-eimPZ4gm.cjs → auto-t1B1Yzb3.cjs} +17 -17
  27. package/dist/{bootstrap-C2JyiPax.mjs → bootstrap-D8DYLUId.mjs} +2 -2
  28. package/dist/{bootstrap-B7mwfud6.cjs → bootstrap-GZDknvPy.cjs} +2 -2
  29. package/dist/{browser-Cnk2N81e.mjs → browser-C-H3QYV2.mjs} +1 -1
  30. package/dist/{browser-B3VVAWcC.cjs → browser-DwCi-9Ya.cjs} +1 -1
  31. package/dist/{claudeAccountEnv-_O3x5AJ1.cjs → claudeAccountEnv-DSaFKajJ.cjs} +1 -1
  32. package/dist/{claudeAccountEnv-CPO6CGNd.mjs → claudeAccountEnv-DmVbGhZb.mjs} +1 -1
  33. package/dist/{claudeLocal-gDpGeteK.mjs → claudeLocal-BiM2x9DJ.mjs} +5 -5
  34. package/dist/{claudeLocal-CvZ5Sfq_.cjs → claudeLocal-Ck1jTve1.cjs} +5 -5
  35. package/dist/{claudeLocalLauncher-e_DkguJW.mjs → claudeLocalLauncher-DzvM0jBo.mjs} +10 -10
  36. package/dist/{claudeLocalLauncher-CFSxFln_.cjs → claudeLocalLauncher-Jsupvl4V.cjs} +10 -10
  37. package/dist/{claudeSessionFork--_RtwhC2.cjs → claudeSessionFork-CDTbQmYi.cjs} +1 -1
  38. package/dist/{claudeSessionFork-BMMJmfxX.mjs → claudeSessionFork-D-BhXkRa.mjs} +1 -1
  39. package/dist/{client-CkiWUkm6.mjs → client-BRuFIwki.mjs} +2 -2
  40. package/dist/{client-BeEAF2yn.mjs → client-CISkP897.mjs} +2 -2
  41. package/dist/{client-DmO89_dS.cjs → client-D-HEr922.cjs} +2 -2
  42. package/dist/{client-Bav5WI8p.mjs → client-E4kW5qjR.mjs} +4 -4
  43. package/dist/{client-DH_mgm2T.cjs → client-oqSAKwmy.cjs} +2 -2
  44. package/dist/{client-TZ1BY7kn.cjs → client-v6rdLsBH.cjs} +4 -4
  45. package/dist/codex/happyMcpStdioBridge.cjs +16 -16
  46. package/dist/codex/happyMcpStdioBridge.mjs +16 -16
  47. package/dist/{codexAccount-CYhQir50.cjs → codexAccount-CQ4W1Ax8.cjs} +1 -1
  48. package/dist/{codexAccount-iZwmpYti.mjs → codexAccount-CnbDfCOM.mjs} +1 -1
  49. package/dist/{codexAppServerClient-C4FYS9D9.cjs → codexAppServerClient--K-ILfqM.cjs} +3 -3
  50. package/dist/{codexAppServerClient-AcMiUjlK.mjs → codexAppServerClient-BLasFGTm.mjs} +3 -3
  51. package/dist/{codexCommand-BkF16_aL.cjs → codexCommand-M1uNblJx.cjs} +46 -46
  52. package/dist/{codexCommand-CuteJvKE.mjs → codexCommand-Wv1WVNtM.mjs} +46 -46
  53. package/dist/{codexTermination-DGgKsMxj.cjs → codexTermination-BumRIUqm.cjs} +1 -1
  54. package/dist/{codexTermination-CjHWp1C_.mjs → codexTermination-DigTBSJE.mjs} +1 -1
  55. package/dist/{config-CUvb7oaW.mjs → config-Br2fCFwB.mjs} +3 -3
  56. package/dist/{config-BklFo_Cs.cjs → config-Czs0Tucv.cjs} +3 -3
  57. package/dist/{configuration-BL_fxboH.cjs → configuration-DfRs3WLd.cjs} +1 -1
  58. package/dist/{configuration-BIh6P6kB.mjs → configuration-JBFF7432.mjs} +1 -1
  59. package/dist/{connect-KIJsx0iT.mjs → connect-CbCqv-MV.mjs} +13 -13
  60. package/dist/{connect-Bi7cRXtj.cjs → connect-Cr--b0yl.cjs} +13 -13
  61. package/dist/{context-BYcZIvKn.cjs → context-C5WWlHOl.cjs} +1 -1
  62. package/dist/{context-Ct__7RAS.mjs → context-DLIjT5qU.mjs} +1 -1
  63. package/dist/{controlClient-DMtkGpc3.cjs → controlClient-B61crTpk.cjs} +3 -3
  64. package/dist/{controlClient-CPZkMKsH.mjs → controlClient-D5BYm3PU.mjs} +3 -3
  65. package/dist/{createSessionMetadata-BWr0XT-Y.cjs → createSessionMetadata-BwYysMTH.cjs} +2 -2
  66. package/dist/{createSessionMetadata-DkkddlJa.mjs → createSessionMetadata-OMKj3e48.mjs} +2 -2
  67. package/dist/{daemonAccounts-CxMJw7x2.cjs → daemonAccounts-CqAnPXDJ.cjs} +2 -2
  68. package/dist/{daemonAccounts-CnAEaJE_.mjs → daemonAccounts-asWvoPKG.mjs} +3 -3
  69. package/dist/{defaultPermissionMode-CpEJ0wlb.mjs → defaultPermissionMode-4KYZA4WF.mjs} +1 -1
  70. package/dist/{defaultPermissionMode-BCWCMONI.cjs → defaultPermissionMode-BItpIZML.cjs} +1 -1
  71. package/dist/{deterministicJson-BO6ZUUiV.cjs → deterministicJson-DIzyb1dQ.cjs} +13 -13
  72. package/dist/{deterministicJson-Dm3yDrwj.mjs → deterministicJson-DnTSkEgb.mjs} +13 -13
  73. package/dist/{doctor-DHK-5Hxm.cjs → doctor-Dn1G6QhF.cjs} +7 -7
  74. package/dist/{doctor-TK49jR60.mjs → doctor-jrvm-tl3.mjs} +7 -7
  75. package/dist/{downloadTarget-C2XcfMXb.mjs → downloadTarget-BtsN_-LN.mjs} +6 -6
  76. package/dist/{downloadTarget-QP5nnKsW.cjs → downloadTarget-DGnCGrDZ.cjs} +6 -6
  77. package/dist/{ensureDaemonRunning-Bi-PF5LL.mjs → ensureDaemonRunning-DCmXUwNi.mjs} +5 -5
  78. package/dist/{ensureDaemonRunning-pg-EYmG0.cjs → ensureDaemonRunning-DsvcjXb4.cjs} +5 -5
  79. package/dist/{handleResumeCommand-B69L6W80.mjs → handleResumeCommand-CFupxyHT.mjs} +5 -5
  80. package/dist/{handleResumeCommand-CMLpVjkl.cjs → handleResumeCommand-hzho-lp7.cjs} +5 -5
  81. package/dist/{index-DC_XlLAD.cjs → index-5TDKOvkU.cjs} +4 -4
  82. package/dist/{index-BM14YD9K.mjs → index-BMFLwBCd.mjs} +4 -4
  83. package/dist/{index-D9Hidq-g.cjs → index-BknTkVnR.cjs} +256 -89
  84. package/dist/{index-CwwDV02T.mjs → index-CHk8F9OY.mjs} +43 -43
  85. package/dist/{index-sXThJ-ic.cjs → index-CRI-_-YH.cjs} +42 -42
  86. package/dist/{index-P6modcWo.mjs → index-CZpFhEmE.mjs} +3 -3
  87. package/dist/{index-BSSAKD4Q.mjs → index-CofTgtQ3.mjs} +4 -4
  88. package/dist/{index-C27JFCbe.mjs → index-CxiisoO1.mjs} +256 -89
  89. package/dist/{index-XeWmi_Wt.cjs → index-DCfEzudP.cjs} +4 -4
  90. package/dist/{index-DgnbOqH_.cjs → index-EGwuuFdL.cjs} +3 -3
  91. package/dist/index.cjs +2 -2
  92. package/dist/index.mjs +2 -2
  93. package/dist/{install-Cyb1ZsOO.cjs → install-CB5eTmzm.cjs} +3 -3
  94. package/dist/{install-B6vD9h4Z.mjs → install-CeDqNGxI.mjs} +3 -3
  95. package/dist/lib.cjs +12 -12
  96. package/dist/lib.mjs +12 -12
  97. package/dist/{localHappyAgentAuth-Dxl6itKW.cjs → localHappyAgentAuth-B6xdH-Fr.cjs} +1 -1
  98. package/dist/{localHappyAgentAuth-BupJnMMB.mjs → localHappyAgentAuth-BiIyMoiG.mjs} +1 -1
  99. package/dist/{logger-CahcyjlK.mjs → logger-BHfBDOsy.mjs} +2 -2
  100. package/dist/{logger-CtweAuKq.cjs → logger-BrAF4iuT.cjs} +2 -2
  101. package/dist/{machineMetadata-thOCcaSv.cjs → machineMetadata-D5PO2ylb.cjs} +3 -3
  102. package/dist/{machineMetadata-jOqz4fn8.mjs → machineMetadata-Ekniv5o4.mjs} +3 -3
  103. package/dist/{main-CTIbEEsd.cjs → main-C8lsRSYS.cjs} +47 -47
  104. package/dist/{main-bCGlXj7y.mjs → main-HXdcnexS.mjs} +47 -47
  105. package/dist/{mcp-dtmpWc-Y.mjs → mcp-C2YD6mq4.mjs} +18 -18
  106. package/dist/{mcp-BOS5msHd.cjs → mcp-D9sglL02.cjs} +18 -18
  107. package/dist/{mirrorProtocol-OJPFNpbq.mjs → mirrorProtocol-BLhArCS9.mjs} +3 -3
  108. package/dist/{mirrorProtocol-CFDn3zfT.cjs → mirrorProtocol-CNF1eHsm.cjs} +3 -3
  109. package/dist/{package-DUKnh8UF.mjs → package-BGZo2vAj.mjs} +7 -7
  110. package/dist/{package-DdYN77UN.cjs → package-CStJrLG3.cjs} +7 -7
  111. package/dist/{panels-DZZTavkP.cjs → panels-D4_yGw4n.cjs} +5 -5
  112. package/dist/{panels-DQs5x77X.mjs → panels-GVnnEsow.mjs} +5 -5
  113. package/dist/{peerTools-ByJiL-w1.mjs → peerTools-BO-H0wNj.mjs} +5 -5
  114. package/dist/{peerTools-03MimWe-.cjs → peerTools-Drow2-P4.cjs} +5 -5
  115. package/dist/{persistence-CWEaFv6R.cjs → persistence-DGfEdbA5.cjs} +2 -2
  116. package/dist/{persistence-CPIj3Iha.mjs → persistence-DvD-irLh.mjs} +2 -2
  117. package/dist/{piRunnerArgs-Aqs-zKLm.cjs → piRunnerArgs-C1dLsoXF.cjs} +1 -1
  118. package/dist/{piRunnerArgs-DxbuKnFC.mjs → piRunnerArgs-DwcAwwzm.mjs} +1 -1
  119. package/dist/{piRuntime-KJn9G3Ax.mjs → piRuntime-_yRSPgnR.mjs} +1 -1
  120. package/dist/{piRuntime-BFMV2Hlg.cjs → piRuntime-d2h0Cska.cjs} +1 -1
  121. package/dist/{piTerminal-DFzQb38E.cjs → piTerminal-CVB4fa5R.cjs} +20 -20
  122. package/dist/{piTerminal-DhVFk2Hc.mjs → piTerminal-WN0AMv9u.mjs} +20 -20
  123. package/dist/{pushNotifications-BhnrQa32.cjs → pushNotifications-3YsyCEfY.cjs} +3 -3
  124. package/dist/{pushNotifications-CD5-W90c.mjs → pushNotifications-D2UZnoTB.mjs} +3 -3
  125. package/dist/{query-BRvDJTUF.cjs → query-Ba7UXc_y.cjs} +1 -1
  126. package/dist/{query-BRTHwQ1m.mjs → query-_sw0hG6A.mjs} +1 -1
  127. package/dist/{rateLimitWindows-_KfSDJdB.cjs → rateLimitWindows-DiiGHS9r.cjs} +1 -1
  128. package/dist/{rateLimitWindows-BAfkXSck.mjs → rateLimitWindows-DzXv6p_W.mjs} +1 -1
  129. package/dist/{lidState-DXy1ymL0.cjs → reconnectGate-BpePVLPu.cjs} +27 -2
  130. package/dist/{lidState-nbXgabCS.mjs → reconnectGate-CxLgZCBh.mjs} +27 -3
  131. package/dist/{registerCommonHandlers-CsMpXP1_.cjs → registerCommonHandlers-6iKpECuR.cjs} +2 -2
  132. package/dist/{registerCommonHandlers-Anq6Ma1d.mjs → registerCommonHandlers-ChdVwZW6.mjs} +2 -2
  133. package/dist/{registerKillSessionHandler-DnES0UnY.cjs → registerKillSessionHandler-BDTgrstx.cjs} +6 -6
  134. package/dist/{registerKillSessionHandler-DvA-f_D4.mjs → registerKillSessionHandler-D6wYbAIt.mjs} +6 -6
  135. package/dist/{registerSideQuestionHandler-B6EgCzBZ.mjs → registerSideQuestionHandler-C3K_qKwA.mjs} +4 -4
  136. package/dist/{registerSideQuestionHandler-GIzcFczo.cjs → registerSideQuestionHandler-U4LGga_Z.cjs} +4 -4
  137. package/dist/{remoteSessionClient-DYTwJSZR.mjs → remoteSessionClient-CFNM8UEh.mjs} +5 -5
  138. package/dist/{remoteSessionClient-BsXgrMSP.cjs → remoteSessionClient-DSC5Cj21.cjs} +5 -5
  139. package/dist/{reportProgressTool-DzmnFItq.mjs → reportProgressTool-CFmDK8ag.mjs} +3 -3
  140. package/dist/{reportProgressTool-DhTM7qvk.cjs → reportProgressTool-Cr25LWeW.cjs} +3 -3
  141. package/dist/{run-D0nDSvGo.cjs → run-Be0yicft.cjs} +40 -40
  142. package/dist/{run-Cuz34V0P.mjs → run-D0D73Dam.mjs} +40 -40
  143. package/dist/{runClaude-ySgHmPJg.mjs → runClaude-1NP467UM.mjs} +25 -25
  144. package/dist/{runClaude-DHHDBtKG.cjs → runClaude-BOxvKK4H.cjs} +25 -25
  145. package/dist/{runClaudeDeps-k-QAN7Em.mjs → runClaudeDeps-BPzLoWyT.mjs} +46 -46
  146. package/dist/{runClaudeDeps-Cfeci4al.cjs → runClaudeDeps-CkRlQx2Y.cjs} +40 -40
  147. package/dist/{runGemini-Dob7MFa2.cjs → runGemini-BowXJRXb.cjs} +33 -33
  148. package/dist/{runGemini-BpiHwTGj.mjs → runGemini-j2n5ZlOL.mjs} +33 -33
  149. package/dist/{runOpenClaw-B_7LblMr.mjs → runOpenClaw-6zrT8dPO.mjs} +18 -18
  150. package/dist/{runOpenClaw-B-BGCcbD.cjs → runOpenClaw-DLsnZnFM.cjs} +18 -18
  151. package/dist/{sandbox-D4UmUYIM.mjs → sandbox-BFbT6HDl.mjs} +4 -4
  152. package/dist/{sandbox-D9xs3oeT.cjs → sandbox-DLijcRKk.cjs} +4 -4
  153. package/dist/selfCheck-DCIqaiMu.mjs +88 -0
  154. package/dist/{selfCheck-B1ueapb2.cjs → selfCheck-U-A1DCi9.cjs} +39 -39
  155. package/dist/{send-CgIeqwqq.cjs → send-CGxo_QUR.cjs} +8 -8
  156. package/dist/{send-BZoS0m6-.mjs → send-CQGKb3Kb.mjs} +8 -8
  157. package/dist/{server-XgEG5D8c.cjs → server-CWbcDBjV.cjs} +6 -6
  158. package/dist/{server-C5zdUyIu.mjs → server-DR5bQzTq.mjs} +4 -4
  159. package/dist/{sessionLock-CbIB9WAp.cjs → sessionLock-CJiayMcZ.cjs} +3 -3
  160. package/dist/{sessionLock-C4zRSYwt.mjs → sessionLock-DqFKSW8u.mjs} +3 -3
  161. package/dist/{sessionOps-flaRRzdo.cjs → sessionOps-Cw_JivR2.cjs} +4 -4
  162. package/dist/{sessionOps-fuLJNyOT.mjs → sessionOps-D-SDNs-D.mjs} +4 -4
  163. package/dist/{sessionProvider-DPwRzcbT.mjs → sessionProvider-Cb-LtbFQ.mjs} +10 -10
  164. package/dist/{sessionProvider-DlWrak_l.cjs → sessionProvider-JEAWxBF6.cjs} +10 -10
  165. package/dist/{sessionScanner-BX7ZBVzX.mjs → sessionScanner-C2M697xz.mjs} +3 -3
  166. package/dist/{sessionScanner-I6fGycPd.cjs → sessionScanner-zJrc_Oe0.cjs} +3 -3
  167. package/dist/{sessions-Csz0_dnz.mjs → sessions-CIxnjpCM.mjs} +10 -10
  168. package/dist/{sessions-Cr0jIQ9r.cjs → sessions-D2yLkE5R.cjs} +10 -10
  169. package/dist/{setupOfflineReconnection-Pxsr7M_B.mjs → setupOfflineReconnection-DzV1wB4y.mjs} +2 -2
  170. package/dist/{setupOfflineReconnection-BawiOCUA.cjs → setupOfflineReconnection-Uu3tqISz.cjs} +2 -2
  171. package/dist/{spawn-C3wiREei.mjs → spawn-CeeM-Piz.mjs} +14 -14
  172. package/dist/{spawn-Bfw10V7R.cjs → spawn-DD1Sv8Ri.cjs} +14 -14
  173. package/dist/{spawnAgents-Cm23BW-D.cjs → spawnAgents-CrHgpAzU.cjs} +1 -1
  174. package/dist/{spawnAgents-N3jxdNJC.mjs → spawnAgents-DEBfpoPZ.mjs} +1 -1
  175. package/dist/{spawnHappyCLI-C9dzdAh0.mjs → spawnHappyCLI-CUfe8n_m.mjs} +1 -1
  176. package/dist/{spawnHappyCLI-D4_Ij_BB.cjs → spawnHappyCLI-CYzlz9Sl.cjs} +1 -1
  177. package/dist/{startFileWatcher-905w_JCn.cjs → startFileWatcher-C0u3J6Bj.cjs} +1 -1
  178. package/dist/{startFileWatcher-FjvRihwq.mjs → startFileWatcher-JdO3v65I.mjs} +1 -1
  179. package/dist/{startupSessionCreate-B-QHA-nQ.mjs → startupSessionCreate-CfBajt2k.mjs} +3 -3
  180. package/dist/{startupSessionCreate-WY7c74aG.cjs → startupSessionCreate-s1ekIs2Z.cjs} +3 -3
  181. package/dist/{store-BlPvTr_Q.mjs → store-DEhdblkI.mjs} +1 -1
  182. package/dist/{store-aa3CVNwS.cjs → store-QBBJB5Ox.cjs} +1 -1
  183. package/dist/{streamRelay-C2Lb2z39.cjs → streamRelay-BVrCYh2G.cjs} +1 -1
  184. package/dist/{streamRelay-DFZyAPD_.mjs → streamRelay-DymKR1Rk.mjs} +1 -1
  185. package/dist/{sync-CHU9HM9N.mjs → sync-BLGrIKN9.mjs} +1 -1
  186. package/dist/{sync-Dz_U1UHu.cjs → sync-BO4DRSub.cjs} +1 -1
  187. package/dist/{systemPrompt-NTIxM2Ss.cjs → systemPrompt-DTUJZOn6.cjs} +2 -2
  188. package/dist/{systemPrompt-PHD2Va2G.mjs → systemPrompt-YylizkJs.mjs} +2 -2
  189. package/dist/{teams-CqoSWbrQ.cjs → teams-DnLPBPKx.cjs} +7 -7
  190. package/dist/{teams-CgT1c65s.mjs → teams-zkGFcwsG.mjs} +7 -7
  191. package/dist/{template-CJ8uLlD8.mjs → template-BGlDAjbM.mjs} +1 -1
  192. package/dist/{template-B1AORlgU.cjs → template-uSKZ53Sv.cjs} +1 -1
  193. package/dist/{time-BTXLicT9.cjs → time-Cv4hbCLT.cjs} +1 -1
  194. package/dist/{time-DZ7wPlsL.mjs → time-DZE0879N.mjs} +1 -1
  195. package/dist/{titleGenerator-BOcHO0fW.mjs → titleGenerator-B2BbmJuc.mjs} +2 -2
  196. package/dist/{titleGenerator-DxSLdXjL.cjs → titleGenerator-D2ehxbvK.cjs} +3 -3
  197. package/dist/{todo-CqD6H2Bt.cjs → todo-9kn_9N-H.cjs} +6 -6
  198. package/dist/{todo-kBweG4H9.mjs → todo-DUpW9d8p.mjs} +6 -6
  199. package/dist/{tools-DuXYIUTD.mjs → tools-gIDXwAzk.mjs} +1 -1
  200. package/dist/{tools-C7SRJVwy.cjs → tools-rMr-wPIc.cjs} +1 -1
  201. package/dist/{uninstall-WJYYM27v.mjs → uninstall-CBlRzvNa.mjs} +3 -3
  202. package/dist/{uninstall-DHdOrwHT.cjs → uninstall-CHx5TOHi.cjs} +3 -3
  203. package/dist/{wrapperAccount-RPtq8BwD.mjs → wrapperAccount-Ce78kKMo.mjs} +2 -2
  204. package/dist/{wrapperAccount-BubTurHU.cjs → wrapperAccount-EkmR4V-v.cjs} +2 -2
  205. package/package.json +7 -7
  206. package/dist/selfCheck-BrC9vuGH.mjs +0 -88
@@ -616,7 +616,7 @@ function agentProfileUnavailableReason(error) {
616
616
  return m ? m[1] : null;
617
617
  }
618
618
  const TeamPermissionModeSchema = z$1.enum(["default", "bypassPermissions"]);
619
- const id$3 = z$1.string().min(1).max(128);
619
+ const id$4 = z$1.string().min(1).max(128);
620
620
  const text$1 = z$1.string().min(1).max(32e3);
621
621
  const TeamAssistantSchema = z$1.enum(["claude", "codex", "pi-acp"]);
622
622
  const TeamModelSchema = z$1.string().trim().min(1).max(256);
@@ -628,50 +628,50 @@ const TeamActionSchema = z$1.discriminatedUnion("type", [
628
628
  z$1.object({ type: z$1.literal("set-defaults"), defaults: TeamDefaultsSchema }),
629
629
  z$1.object({ type: z$1.literal("set-permission-mode"), permissionMode: TeamPermissionModeSchema }),
630
630
  /** B-850d: a member's account for its next spawn (absent = follow the team default). An old server answers invalid action. */
631
- z$1.object({ type: z$1.literal("set-bot-account"), botId: id$3, agentProfile: AgentProfileChoiceSchema.optional() }),
632
- z$1.object({ type: z$1.literal("schedule-create"), name: id$3, botId: id$3, body: text$1, runAt: z$1.number().int().positive().max(864e13), intervalMs: z$1.number().int().min(6e4).max(366 * 864e5).optional() }),
633
- z$1.object({ type: z$1.literal("schedule-pause"), scheduleId: id$3, version: z$1.number().int().positive() }),
634
- z$1.object({ type: z$1.literal("schedule-resume"), scheduleId: id$3, version: z$1.number().int().positive() }),
635
- z$1.object({ type: z$1.literal("schedule-cancel"), scheduleId: id$3, version: z$1.number().int().positive() }),
636
- z$1.object({ type: z$1.literal("reconcile-operation"), operationId: id$3, claimId: id$3, note: z$1.string().trim().min(1).max(4e3) }),
631
+ z$1.object({ type: z$1.literal("set-bot-account"), botId: id$4, agentProfile: AgentProfileChoiceSchema.optional() }),
632
+ z$1.object({ type: z$1.literal("schedule-create"), name: id$4, botId: id$4, body: text$1, runAt: z$1.number().int().positive().max(864e13), intervalMs: z$1.number().int().min(6e4).max(366 * 864e5).optional() }),
633
+ z$1.object({ type: z$1.literal("schedule-pause"), scheduleId: id$4, version: z$1.number().int().positive() }),
634
+ z$1.object({ type: z$1.literal("schedule-resume"), scheduleId: id$4, version: z$1.number().int().positive() }),
635
+ z$1.object({ type: z$1.literal("schedule-cancel"), scheduleId: id$4, version: z$1.number().int().positive() }),
636
+ z$1.object({ type: z$1.literal("reconcile-operation"), operationId: id$4, claimId: id$4, note: z$1.string().trim().min(1).max(4e3) }),
637
637
  // B-689: owner asks the execution computer to run a failed/uncertain operation again.
638
- z$1.object({ type: z$1.literal("retry-operation"), operationId: id$3, claimId: id$3 }),
638
+ z$1.object({ type: z$1.literal("retry-operation"), operationId: id$4, claimId: id$4 }),
639
639
  /** B-730: `transfer` = the owner confirmed moving a session that is bound in another live team (Web adopt); without it the server answers `session_in_other_team`. An old server strips it. */
640
- z$1.object({ type: z$1.literal("join"), name: id$3, sessionId: id$3, botId: id$3.optional(), transfer: z$1.literal(true).optional() }),
641
- z$1.object({ type: z$1.literal("delegate"), goal: text$1, acceptance: z$1.array(text$1).min(1).max(32), parentTaskId: id$3.optional(), assigneeBotId: id$3.optional(), botName: id$3.optional(), directory: z$1.string().min(1).max(4096).optional(), assistant: TeamAssistantSchema.optional(), model: TeamModelSchema.optional(), agentProfile: AgentProfileChoiceSchema.optional() }),
642
- z$1.object({ type: z$1.literal("message"), taskId: id$3, body: text$1, recipientBotId: id$3.optional() }),
643
- z$1.object({ type: z$1.literal("submit"), taskId: id$3, attemptId: id$3, goalVersion: z$1.number().int().positive(), result: text$1 }),
644
- z$1.object({ type: z$1.literal("accept"), taskId: id$3, attemptId: id$3, goalVersion: z$1.number().int().positive() }),
645
- z$1.object({ type: z$1.literal("return"), taskId: id$3, attemptId: id$3, goalVersion: z$1.number().int().positive(), reason: text$1 }),
646
- z$1.object({ type: z$1.literal("cancel"), taskId: id$3, attemptId: id$3, goalVersion: z$1.number().int().positive(), reason: text$1 }),
647
- z$1.object({ type: z$1.literal("handoff"), taskId: id$3, attemptId: id$3, goalVersion: z$1.number().int().positive(), assigneeBotId: id$3 }),
648
- z$1.object({ type: z$1.literal("claim-operation"), operationId: id$3, machineId: id$3, teamLaunchVersion: z$1.literal(1).optional() }),
649
- z$1.object({ type: z$1.literal("complete-operation"), operationId: id$3, machineId: id$3, claimId: id$3, sessionId: id$3.optional(), workingDirectory: z$1.string().min(1).max(4096).optional() }),
640
+ z$1.object({ type: z$1.literal("join"), name: id$4, sessionId: id$4, botId: id$4.optional(), transfer: z$1.literal(true).optional() }),
641
+ z$1.object({ type: z$1.literal("delegate"), goal: text$1, acceptance: z$1.array(text$1).min(1).max(32), parentTaskId: id$4.optional(), assigneeBotId: id$4.optional(), botName: id$4.optional(), directory: z$1.string().min(1).max(4096).optional(), assistant: TeamAssistantSchema.optional(), model: TeamModelSchema.optional(), agentProfile: AgentProfileChoiceSchema.optional() }),
642
+ z$1.object({ type: z$1.literal("message"), taskId: id$4, body: text$1, recipientBotId: id$4.optional() }),
643
+ z$1.object({ type: z$1.literal("submit"), taskId: id$4, attemptId: id$4, goalVersion: z$1.number().int().positive(), result: text$1 }),
644
+ z$1.object({ type: z$1.literal("accept"), taskId: id$4, attemptId: id$4, goalVersion: z$1.number().int().positive() }),
645
+ z$1.object({ type: z$1.literal("return"), taskId: id$4, attemptId: id$4, goalVersion: z$1.number().int().positive(), reason: text$1 }),
646
+ z$1.object({ type: z$1.literal("cancel"), taskId: id$4, attemptId: id$4, goalVersion: z$1.number().int().positive(), reason: text$1 }),
647
+ z$1.object({ type: z$1.literal("handoff"), taskId: id$4, attemptId: id$4, goalVersion: z$1.number().int().positive(), assigneeBotId: id$4 }),
648
+ z$1.object({ type: z$1.literal("claim-operation"), operationId: id$4, machineId: id$4, teamLaunchVersion: z$1.literal(1).optional() }),
649
+ z$1.object({ type: z$1.literal("complete-operation"), operationId: id$4, machineId: id$4, claimId: id$4, sessionId: id$4.optional(), workingDirectory: z$1.string().min(1).max(4096).optional() }),
650
650
  z$1.object({
651
651
  type: z$1.literal("fail-operation"),
652
- operationId: id$3,
653
- machineId: id$3,
654
- claimId: id$3,
652
+ operationId: id$4,
653
+ machineId: id$4,
654
+ claimId: id$4,
655
655
  error: text$1,
656
656
  unknown: z$1.boolean().optional(),
657
657
  /** B-775: a failed cleanup whose wrapper was already stopped (only resources retained). */
658
658
  sessionStopped: z$1.boolean().optional()
659
659
  }),
660
- z$1.object({ type: z$1.literal("session-event"), sessionId: id$3, event: z$1.enum(["idle", "blocked", "exited"]) }),
661
- z$1.object({ type: z$1.literal("message-delivered"), messageId: id$3, recipientBotId: id$3, generation: z$1.number().int().positive(), sessionId: id$3 })
660
+ z$1.object({ type: z$1.literal("session-event"), sessionId: id$4, event: z$1.enum(["idle", "blocked", "exited"]) }),
661
+ z$1.object({ type: z$1.literal("message-delivered"), messageId: id$4, recipientBotId: id$4, generation: z$1.number().int().positive(), sessionId: id$4 })
662
662
  ]);
663
- z$1.object({ requestId: id$3, action: TeamActionSchema });
663
+ z$1.object({ requestId: id$4, action: TeamActionSchema });
664
664
  const TeamProjectChoiceSchema = z$1.object({
665
- projectId: id$3.optional(),
666
- inheritFromSessionId: id$3.optional(),
665
+ projectId: id$4.optional(),
666
+ inheritFromSessionId: id$4.optional(),
667
667
  create: z$1.boolean().optional(),
668
668
  directory: z$1.string().min(1).max(4096).optional()
669
669
  });
670
- z$1.object({ name: id$3, machineId: id$3, requestId: id$3.optional(), launch: TeamLaunchSchema.optional(), project: TeamProjectChoiceSchema.optional(), sessionId: id$3.optional(), transfer: z$1.literal(true).optional() });
670
+ z$1.object({ name: id$4, machineId: id$4, requestId: id$4.optional(), launch: TeamLaunchSchema.optional(), project: TeamProjectChoiceSchema.optional(), sessionId: id$4.optional(), transfer: z$1.literal(true).optional() });
671
671
  z$1.object({
672
- projectId: id$3.nullable().optional(),
672
+ projectId: id$4.nullable().optional(),
673
673
  create: z$1.boolean().optional(),
674
- requestId: id$3.optional()
674
+ requestId: id$4.optional()
675
675
  }).refine((v) => v.projectId !== void 0 !== (v.create === true), "exactly one of projectId / create");
676
676
  const TEAM_WORKTREE = /\/teams\/worktrees\/([^/]+)(?:\/|$)/;
677
677
  function teamWorktreeId(path) {
@@ -688,7 +688,7 @@ function rebaseTeamWorktreePath(path, repository) {
688
688
  const rest = normalized.slice(match.index + match[0].length).replace(/\/+$/, "");
689
689
  return rest ? `${repository.replace(/\/+$/, "")}/${rest}` : repository;
690
690
  }
691
- const id$2 = z$1.string().min(1).max(128);
691
+ const id$3 = z$1.string().min(1).max(128);
692
692
  const text = z$1.string().min(1).max(32e3);
693
693
  const AUTOMATION_NAME_PATTERN = /^[a-z0-9][a-z0-9-_.]{0,63}$/;
694
694
  const AutomationNameSchema = z$1.string().regex(AUTOMATION_NAME_PATTERN, "automation name must match [a-z0-9][a-z0-9-_.]{0,63}");
@@ -730,7 +730,7 @@ const AutomationActionSchema = z$1.discriminatedUnion("kind", [
730
730
  /** B-850d: the account the run uses (absent = project default > machine default; null = machine login). An older daemon ignores it. */
731
731
  agentProfile: AgentProfileChoiceSchema.optional()
732
732
  }),
733
- z$1.object({ kind: z$1.literal("send"), sessionId: id$2, prompt: text }),
733
+ z$1.object({ kind: z$1.literal("send"), sessionId: id$3, prompt: text }),
734
734
  z$1.object({
735
735
  kind: z$1.literal("script"),
736
736
  command: z$1.array(z$1.string().min(1).max(4096)).min(1).max(256),
@@ -756,7 +756,7 @@ const maxRuntimeMs = z$1.number().int().min(6e4).max(7 * 864e5);
756
756
  z$1.object({
757
757
  name: AutomationNameSchema,
758
758
  description: z$1.string().max(4e3).nullable().optional(),
759
- machineId: id$2,
759
+ machineId: id$3,
760
760
  trigger: AutomationTriggerSchema,
761
761
  action: AutomationActionSchema,
762
762
  concurrency: AutomationConcurrencySchema.optional(),
@@ -765,13 +765,13 @@ z$1.object({
765
765
  /** B-548. Older servers strip it silently — clients must check the response echoes `precheck`. */
766
766
  precheck: AutomationPrecheckSchema.nullable().optional(),
767
767
  /** B-644: sessions this automation spawns join this project (quiet variant). Older servers strip it — check the echo. */
768
- projectId: id$2.nullable().optional()
768
+ projectId: id$3.nullable().optional()
769
769
  });
770
770
  z$1.object({
771
771
  version: z$1.number().int().positive(),
772
772
  name: AutomationNameSchema.optional(),
773
773
  description: z$1.string().max(4e3).nullable().optional(),
774
- machineId: id$2.optional(),
774
+ machineId: id$3.optional(),
775
775
  trigger: AutomationTriggerSchema.optional(),
776
776
  action: AutomationActionSchema.optional(),
777
777
  concurrency: AutomationConcurrencySchema.optional(),
@@ -779,22 +779,22 @@ z$1.object({
779
779
  /** B-548: omitted keeps the current precheck, `null` removes it. Changing `action` alone keeps it too. */
780
780
  precheck: AutomationPrecheckSchema.nullable().optional(),
781
781
  /** B-644: omitted keeps the current project, `null` detaches. */
782
- projectId: id$2.nullable().optional()
782
+ projectId: id$3.nullable().optional()
783
783
  });
784
784
  const payload = z$1.string().max(AUTOMATION_PAYLOAD_MAX_BYTES).refine((v) => new TextEncoder().encode(v).length <= AUTOMATION_PAYLOAD_MAX_BYTES, "payload exceeds 64KB");
785
785
  z$1.object({ payload: payload.optional(), dedupeKey: z$1.string().min(1).max(256).optional() });
786
786
  z$1.object({ payload: payload.optional() });
787
787
  z$1.object({
788
- machineId: id$2,
788
+ machineId: id$3,
789
789
  limit: z$1.number().int().min(1).max(AUTOMATION_CLAIM_MAX_RUNS).optional(),
790
790
  leaseMs: z$1.number().int().min(5e3).max(36e5).optional(),
791
791
  /** B-548: what this daemon can execute (e.g. `precheck`). Older daemons send nothing; older servers strip it. */
792
792
  capabilities: z$1.array(z$1.string().min(1).max(64)).max(32).optional()
793
793
  });
794
794
  z$1.object({
795
- claimId: id$2.optional(),
795
+ claimId: id$3.optional(),
796
796
  status: z$1.enum(["running", "done", "failed", "skipped"]).optional(),
797
- sessionId: id$2.nullable().optional(),
797
+ sessionId: id$3.nullable().optional(),
798
798
  stickyKey: z$1.string().min(1).max(512).optional(),
799
799
  summary: z$1.string().max(AUTOMATION_SUMMARY_MAX_CHARS).nullable().optional(),
800
800
  error: z$1.string().max(AUTOMATION_SUMMARY_MAX_CHARS).nullable().optional(),
@@ -804,16 +804,16 @@ z$1.object({
804
804
  leaseMs: z$1.number().int().min(5e3).max(36e5).optional()
805
805
  });
806
806
  z$1.object({ by: z$1.string().min(1).max(64).optional() });
807
- z$1.object({ key: z$1.string().min(1).max(512), sessionId: id$2 });
807
+ z$1.object({ key: z$1.string().min(1).max(512), sessionId: id$3 });
808
808
  z$1.object({ key: z$1.string().min(1).max(512) });
809
809
  z$1.object({
810
- automationId: id$2.optional(),
810
+ automationId: id$3.optional(),
811
811
  name: AutomationNameSchema.optional(),
812
812
  status: z$1.string().min(1).max(64).optional(),
813
813
  attention: z$1.enum(["1", "true", "0", "false"]).optional(),
814
814
  limit: z$1.coerce.number().int().min(1).max(200).optional()
815
815
  });
816
- z$1.object({ machineId: id$2.optional() });
816
+ z$1.object({ machineId: id$3.optional() });
817
817
  const PROJECT_SESSION_CAPABILITY = "project-v1";
818
818
  const PROJECT_LIMITS = {
819
819
  nameChars: 120,
@@ -825,11 +825,11 @@ const PROJECT_LIMITS = {
825
825
  messageBytes: 64 * 1024,
826
826
  presenceBatch: 200,
827
827
  memberBatch: 200};
828
- const id$1 = z$1.string().min(1).max(128);
829
- const utf8Bytes = (value) => new TextEncoder().encode(value).length;
830
- const boundedText = (maxBytes) => z$1.string().max(maxBytes).refine((v) => utf8Bytes(v) <= maxBytes, `exceeds ${maxBytes} bytes`);
828
+ const id$2 = z$1.string().min(1).max(128);
829
+ const utf8Bytes$1 = (value) => new TextEncoder().encode(value).length;
830
+ const boundedText$1 = (maxBytes) => z$1.string().max(maxBytes).refine((v) => utf8Bytes$1(v) <= maxBytes, `exceeds ${maxBytes} bytes`);
831
831
  const ProjectFolderSchema = z$1.object({
832
- machineId: id$1,
832
+ machineId: id$2,
833
833
  path: z$1.string().min(1).max(4096),
834
834
  primary: z$1.boolean().optional()
835
835
  });
@@ -843,17 +843,17 @@ const ProjectDefaultsSchema = z$1.object({
843
843
  });
844
844
  const PROJECT_LOG_KINDS = ["decision", "finding", "handoff"];
845
845
  const ProjectLogKindSchema = z$1.enum(PROJECT_LOG_KINDS);
846
- const ProjectMemberViaInputSchema = z$1.enum(["explicit", "lineage", "suggested-accepted", "automation"]);
846
+ const ProjectMemberViaInputSchema = z$1.enum(["explicit", "lineage", "suggested-accepted", "automation", "issue"]);
847
847
  z$1.object({
848
848
  name: z$1.string().trim().min(1).max(PROJECT_LIMITS.nameChars),
849
849
  goal: z$1.string().max(PROJECT_LIMITS.goalChars).nullable().optional(),
850
- instructions: boundedText(PROJECT_LIMITS.instructionsBytes).optional(),
850
+ instructions: boundedText$1(PROJECT_LIMITS.instructionsBytes).optional(),
851
851
  folders: z$1.array(ProjectFolderSchema).max(PROJECT_LIMITS.folders).optional(),
852
852
  defaults: ProjectDefaultsSchema.optional(),
853
853
  /** Idempotency: the same requestId returns the project it created. */
854
- requestId: id$1.optional(),
854
+ requestId: id$2.optional(),
855
855
  /** Optional initial members (e.g. "设为项目" moves a folder's sessions in one step). */
856
- sessionIds: z$1.array(id$1).max(PROJECT_LIMITS.memberBatch).optional()
856
+ sessionIds: z$1.array(id$2).max(PROJECT_LIMITS.memberBatch).optional()
857
857
  });
858
858
  z$1.object({
859
859
  name: z$1.string().trim().min(1).max(PROJECT_LIMITS.nameChars).optional(),
@@ -863,31 +863,31 @@ z$1.object({
863
863
  archived: z$1.boolean().optional()
864
864
  });
865
865
  z$1.object({
866
- instructions: boundedText(PROJECT_LIMITS.instructionsBytes),
866
+ instructions: boundedText$1(PROJECT_LIMITS.instructionsBytes),
867
867
  ifVersion: z$1.number().int().min(0),
868
868
  /** One-line summary shown in the next-turn digest ("instructions now v8 — …"). */
869
869
  summary: z$1.string().max(200).optional()
870
870
  });
871
871
  z$1.object({
872
- sessionIds: z$1.array(id$1).min(1).max(PROJECT_LIMITS.memberBatch),
872
+ sessionIds: z$1.array(id$2).min(1).max(PROJECT_LIMITS.memberBatch),
873
873
  via: ProjectMemberViaInputSchema.optional()
874
874
  });
875
875
  z$1.object({
876
876
  kind: ProjectLogKindSchema,
877
877
  title: z$1.string().trim().min(1).max(PROJECT_LIMITS.logTitleChars),
878
- body: boundedText(PROJECT_LIMITS.logBodyBytes).optional(),
878
+ body: boundedText$1(PROJECT_LIMITS.logBodyBytes).optional(),
879
879
  /** Entry id (or `#seq`) this entry replaces. */
880
880
  supersedes: z$1.string().min(1).max(128).optional(),
881
881
  /** Stamped by the wrapper (the agent cannot fill it). Absent = written by the user. */
882
- authorSessionId: id$1.optional()
882
+ authorSessionId: id$2.optional()
883
883
  });
884
884
  z$1.object({
885
885
  /** When set, only entries this session authored may be revoked. Absent = the owner. */
886
- bySessionId: id$1.optional()
886
+ bySessionId: id$2.optional()
887
887
  });
888
- z$1.object({ teamId: id$1 });
888
+ z$1.object({ teamId: id$2 });
889
889
  const ProjectPresenceEntrySchema = z$1.object({
890
- sessionId: id$1,
890
+ sessionId: id$2,
891
891
  title: z$1.string().max(200).nullable().optional(),
892
892
  agent: z$1.string().max(64).nullable().optional(),
893
893
  machine: z$1.string().max(200).nullable().optional(),
@@ -899,19 +899,19 @@ const ProjectPresenceEntrySchema = z$1.object({
899
899
  capabilities: z$1.array(z$1.string().max(64)).max(32).optional()
900
900
  });
901
901
  z$1.object({
902
- machineId: id$1,
902
+ machineId: id$2,
903
903
  sessions: z$1.array(ProjectPresenceEntrySchema).max(PROJECT_LIMITS.presenceBatch),
904
904
  /** Sessions of this machine that stopped; their presence rows are marked `offline`. */
905
- gone: z$1.array(id$1).max(PROJECT_LIMITS.presenceBatch).optional()
905
+ gone: z$1.array(id$2).max(PROJECT_LIMITS.presenceBatch).optional()
906
906
  });
907
907
  z$1.object({
908
- fromSessionId: id$1,
909
- toSessionId: id$1,
910
- body: boundedText(PROJECT_LIMITS.messageBytes).pipe(z$1.string().min(1))
908
+ fromSessionId: id$2,
909
+ toSessionId: id$2,
910
+ body: boundedText$1(PROJECT_LIMITS.messageBytes).pipe(z$1.string().min(1))
911
911
  });
912
912
  z$1.object({
913
- sessionId: id$1,
914
- messageIds: z$1.array(id$1).min(1).max(100)
913
+ sessionId: id$2,
914
+ messageIds: z$1.array(id$2).min(1).max(100)
915
915
  });
916
916
  z$1.object({
917
917
  full: z$1.enum(["0", "1", "true", "false"]).optional(),
@@ -1434,17 +1434,17 @@ function resolveLatestModel(table, agent, ctx) {
1434
1434
  const tier = getLatestModelTier(table, agent);
1435
1435
  if (!tier) return { model: null, newest: null, label: null, limited: false, configured: null };
1436
1436
  const catalogIds = catalogTierIds(tier, ctx.catalog);
1437
- const labels = /* @__PURE__ */ new Map();
1437
+ const labels2 = /* @__PURE__ */ new Map();
1438
1438
  const known = [];
1439
1439
  const runnable = [];
1440
1440
  for (const entry of tier.models) {
1441
1441
  if (!tierVersion(tier, entry.model)) continue;
1442
- labels.set(entry.model, entry.label ?? entry.model);
1442
+ labels2.set(entry.model, entry.label ?? entry.model);
1443
1443
  known.push(entry.model);
1444
1444
  if (entryRunnable(entry, ctx, catalogIds)) runnable.push(entry.model);
1445
1445
  }
1446
- for (const [id2, label] of catalogIds) {
1447
- if (!labels.has(id2)) labels.set(id2, label);
1446
+ for (const [id2, label2] of catalogIds) {
1447
+ if (!labels2.has(id2)) labels2.set(id2, label2);
1448
1448
  known.push(id2);
1449
1449
  runnable.push(id2);
1450
1450
  }
@@ -1468,7 +1468,7 @@ function resolveLatestModel(table, agent, ctx) {
1468
1468
  return {
1469
1469
  model,
1470
1470
  newest,
1471
- label: model ? labels.get(model) ?? model : null,
1471
+ label: model ? labels2.get(model) ?? model : null,
1472
1472
  limited: newest !== null && !sameVersion,
1473
1473
  configured: null
1474
1474
  };
@@ -1630,7 +1630,7 @@ const ATTENTION_LIMITS = {
1630
1630
  /** Open `needsOwner` items per session before the playbook asks the lead to merge or drop stale ones (§5.1 rule 6). */
1631
1631
  openPerSessionSoftCap: 5
1632
1632
  };
1633
- const ATTENTION_SOURCES = ["lead", "agent", "owner", "automation", "team"];
1633
+ const ATTENTION_SOURCES = ["lead", "agent", "owner", "automation", "team", "issue"];
1634
1634
  const ATTENTION_KINDS = ["decision", "todo", "blocked", "report", "answer", "question", "request", "pin"];
1635
1635
  const OWNER_BOARD_POST_KINDS = ["decision", "todo", "report", "answer"];
1636
1636
  const OWNER_BOARD_RESOLVE_OUTCOMES = ["done", "answered", "dropped", "superseded"];
@@ -1638,11 +1638,11 @@ const ATTENTION_BOARD_LOCAL_ID_PREFIX = "board-";
1638
1638
  function isAttentionBoardLocalId(localId) {
1639
1639
  return typeof localId === "string" && localId.startsWith(ATTENTION_BOARD_LOCAL_ID_PREFIX);
1640
1640
  }
1641
- const id = z$1.string().min(1).max(128);
1642
- const title = z$1.string().trim().min(1).max(ATTENTION_LIMITS.titleChars);
1641
+ const id$1 = z$1.string().min(1).max(128);
1642
+ const title$1 = z$1.string().trim().min(1).max(ATTENTION_LIMITS.titleChars);
1643
1643
  const bodyMd = z$1.string().max(ATTENTION_LIMITS.bodyBytes * 4).refine((v) => new TextEncoder().encode(v).length <= ATTENTION_LIMITS.bodyBytes, "body exceeds 8KB");
1644
1644
  const note = z$1.string().max(ATTENTION_LIMITS.noteChars);
1645
- const requestId = z$1.string().min(1).max(128);
1645
+ const requestId$1 = z$1.string().min(1).max(128);
1646
1646
  const key = z$1.string().min(1).max(ATTENTION_LIMITS.keyChars);
1647
1647
  const AttentionOptionSchema = z$1.object({
1648
1648
  id: z$1.string().trim().min(1).max(ATTENTION_LIMITS.optionIdChars),
@@ -1651,7 +1651,7 @@ const AttentionOptionSchema = z$1.object({
1651
1651
  recommended: z$1.boolean().optional()
1652
1652
  });
1653
1653
  const options = z$1.array(AttentionOptionSchema).min(ATTENTION_LIMITS.options.min).max(ATTENTION_LIMITS.options.max).refine((o) => new Set(o.map((x) => x.id)).size === o.length, "option ids must be unique");
1654
- const ATTENTION_LINK_TYPES = ["task", "pr", "commit", "url", "panel"];
1654
+ const ATTENTION_LINK_TYPES = ["task", "pr", "commit", "url", "panel", "issue"];
1655
1655
  const AttentionLinkSchema = z$1.object({
1656
1656
  type: z$1.enum(ATTENTION_LINK_TYPES),
1657
1657
  ref: z$1.string().trim().min(1).max(ATTENTION_LIMITS.linkRefChars),
@@ -1702,17 +1702,17 @@ z$1.object({
1702
1702
  item: AttentionItemSchema
1703
1703
  });
1704
1704
  z$1.object({
1705
- sessionId: id,
1705
+ sessionId: id$1,
1706
1706
  source: z$1.enum(ATTENTION_SOURCES),
1707
1707
  kind: z$1.enum(ATTENTION_KINDS),
1708
- title,
1708
+ title: title$1,
1709
1709
  bodyMd: bodyMd.optional(),
1710
1710
  options: options.optional(),
1711
1711
  links: links.optional(),
1712
1712
  anchor: AttentionAnchorSchema.optional(),
1713
- replyToId: id.optional(),
1713
+ replyToId: id$1.optional(),
1714
1714
  key: key.optional(),
1715
- requestId: requestId.optional(),
1715
+ requestId: requestId$1.optional(),
1716
1716
  /**
1717
1717
  * D5 draft: only the CLI's auto-detect path sets it (`owner_board_post` does
1718
1718
  * not expose it). A repost of the key with `false` confirms the draft (and
@@ -1721,7 +1721,7 @@ z$1.object({
1721
1721
  inferred: z$1.boolean().default(false)
1722
1722
  }).refine((p) => p.kind !== "decision" || p.options !== void 0, { message: "decision needs 2-4 options", path: ["options"] });
1723
1723
  z$1.object({
1724
- title: title.optional(),
1724
+ title: title$1.optional(),
1725
1725
  bodyMd: bodyMd.nullable().optional(),
1726
1726
  appendMd: bodyMd.optional(),
1727
1727
  options: options.nullable().optional(),
@@ -1730,14 +1730,14 @@ z$1.object({
1730
1730
  kind: z$1.literal("request").optional(),
1731
1731
  state: z$1.enum(["open", "in_progress", "answered"]).optional(),
1732
1732
  firstReply: AttentionAnchorSchema.optional(),
1733
- requestId: requestId.optional()
1733
+ requestId: requestId$1.optional()
1734
1734
  }).refine((p) => !(p.bodyMd !== void 0 && p.appendMd !== void 0), "use bodyMd or appendMd, not both");
1735
1735
  z$1.object({
1736
1736
  outcome: z$1.enum(OWNER_BOARD_RESOLVE_OUTCOMES),
1737
1737
  note: note.optional(),
1738
1738
  /** Defaults to `lead`. */
1739
1739
  by: z$1.enum(["lead", "auto-first-reply"]).optional(),
1740
- requestId: requestId.optional()
1740
+ requestId: requestId$1.optional()
1741
1741
  });
1742
1742
  z$1.discriminatedUnion("action", [
1743
1743
  z$1.object({ action: z$1.literal("choose"), choice: z$1.string().trim().min(1).max(ATTENTION_LIMITS.optionIdChars), note: note.optional() }),
@@ -1745,7 +1745,7 @@ z$1.discriminatedUnion("action", [
1745
1745
  z$1.object({ action: z$1.literal("reopen"), note: note.optional() })
1746
1746
  ]);
1747
1747
  z$1.object({
1748
- sessionId: id.optional(),
1748
+ sessionId: id$1.optional(),
1749
1749
  /** `open` (default) = open + in_progress; `active` adds the latest `answered`; `all` = everything. */
1750
1750
  state: z$1.enum(["open", "active", "all"]).optional(),
1751
1751
  needsOwner: z$1.enum(["1", "true", "0", "false"]).optional(),
@@ -1755,30 +1755,30 @@ z$1.object({
1755
1755
  });
1756
1756
  const OwnerBoardPostInputSchema = z$1.object({
1757
1757
  kind: z$1.enum(OWNER_BOARD_POST_KINDS),
1758
- title,
1758
+ title: title$1,
1759
1759
  body_md: bodyMd.optional(),
1760
1760
  options: options.optional(),
1761
1761
  links: links.optional(),
1762
- reply_to: id.optional(),
1762
+ reply_to: id$1.optional(),
1763
1763
  key: key.optional(),
1764
1764
  anchor: z$1.union([z$1.literal("this_turn"), z$1.object({ localId: z$1.string().min(1).max(256) })]).optional(),
1765
- request_id: requestId
1765
+ request_id: requestId$1
1766
1766
  }).refine((p) => p.kind !== "decision" || p.options !== void 0, { message: "decision needs 2-4 options", path: ["options"] });
1767
1767
  const OwnerBoardUpdateInputSchema = z$1.object({
1768
- id,
1769
- title: title.optional(),
1768
+ id: id$1,
1769
+ title: title$1.optional(),
1770
1770
  body_md: bodyMd.optional(),
1771
1771
  append_md: bodyMd.optional(),
1772
1772
  options: options.optional(),
1773
1773
  links: links.optional(),
1774
1774
  state: z$1.enum(["open", "in_progress"]).optional(),
1775
- request_id: requestId
1775
+ request_id: requestId$1
1776
1776
  }).refine((p) => !(p.body_md !== void 0 && p.append_md !== void 0), "use body_md or append_md, not both");
1777
1777
  const OwnerBoardResolveInputSchema = z$1.object({
1778
- id,
1778
+ id: id$1,
1779
1779
  outcome: z$1.enum(OWNER_BOARD_RESOLVE_OUTCOMES),
1780
1780
  note: note.optional(),
1781
- request_id: requestId
1781
+ request_id: requestId$1
1782
1782
  });
1783
1783
  const OwnerBoardListInputSchema = z$1.object({
1784
1784
  state: z$1.enum(["open", "all"]).optional(),
@@ -1801,6 +1801,173 @@ function ownerBoardPostToRest(sessionId, input, anchor) {
1801
1801
  inferred: false
1802
1802
  };
1803
1803
  }
1804
+ const ISSUE_LIMITS = {
1805
+ titleChars: 300,
1806
+ descriptionBytes: 32 * 1024,
1807
+ commentBytes: 16 * 1024,
1808
+ labels: 16,
1809
+ labelChars: 40,
1810
+ /** Distinct agents one comment may @ (each becomes a delivery or a run). */
1811
+ mentionsPerComment: 3,
1812
+ listMax: 500};
1813
+ const ISSUE_STATUSES = ["backlog", "todo", "in_progress", "in_review", "blocked", "done", "cancelled"];
1814
+ const ISSUE_PRIORITIES = ["urgent", "high", "medium", "low", "none"];
1815
+ const ISSUE_AGENT_STATUSES = ["in_progress", "in_review", "blocked"];
1816
+ const ISSUE_ASSIGNABLE_AGENTS = ["claude", "codex", "pi"];
1817
+ const ISSUE_ASSIGNEE_KINDS = ["none", "self", "agent", "team"];
1818
+ const id = z$1.string().min(1).max(128);
1819
+ const requestId = z$1.string().min(1).max(128);
1820
+ const utf8Bytes = (value) => new TextEncoder().encode(value).length;
1821
+ const boundedText = (maxBytes) => z$1.string().max(maxBytes).refine((v) => utf8Bytes(v) <= maxBytes, `exceeds ${maxBytes} bytes`);
1822
+ const title = z$1.string().trim().min(1).max(ISSUE_LIMITS.titleChars);
1823
+ const description = boundedText(ISSUE_LIMITS.descriptionBytes);
1824
+ const commentBody = boundedText(ISSUE_LIMITS.commentBytes).pipe(z$1.string().trim().min(1));
1825
+ const label = z$1.string().trim().min(1).max(ISSUE_LIMITS.labelChars);
1826
+ const labels = z$1.array(label).max(ISSUE_LIMITS.labels);
1827
+ const epochMs = z$1.number().int().min(0).max(864e13);
1828
+ const IssueAgentAssigneeSchema = z$1.object({
1829
+ kind: z$1.literal("agent"),
1830
+ machineId: id,
1831
+ agent: z$1.enum(ISSUE_ASSIGNABLE_AGENTS),
1832
+ agentProfile: AgentProfileChoiceSchema.optional(),
1833
+ model: z$1.string().trim().min(1).max(256).nullable().optional(),
1834
+ permissionMode: z$1.string().trim().min(1).max(64).nullable().optional(),
1835
+ directory: z$1.string().min(1).max(4096).optional(),
1836
+ /** Reserved: run each issue in its own worktree (team-style). Phase 1 servers store it; the daemon ignores it until spec §3.6 lands. */
1837
+ worktree: z$1.boolean().optional()
1838
+ });
1839
+ const IssueAssigneeSchema = z$1.discriminatedUnion("kind", [
1840
+ z$1.object({ kind: z$1.literal("none") }),
1841
+ z$1.object({ kind: z$1.literal("self") }),
1842
+ IssueAgentAssigneeSchema,
1843
+ /** Phase 3; accepted by the schema so the contract is stable, refused by a phase-1 server. */
1844
+ z$1.object({ kind: z$1.literal("team"), teamId: id })
1845
+ ]);
1846
+ const IssueMentionSchema = z$1.discriminatedUnion("kind", [
1847
+ z$1.object({ kind: z$1.literal("agent"), agent: z$1.enum(ISSUE_ASSIGNABLE_AGENTS), machineId: id.optional() }),
1848
+ /** Written by the server from an agent's `issue_comment({ mention_owner: true })`; a client may not send it. */
1849
+ z$1.object({ kind: z$1.literal("owner") })
1850
+ ]);
1851
+ const humanMentions = z$1.array(IssueMentionSchema).max(ISSUE_LIMITS.mentionsPerComment).refine((list) => list.every((m) => m.kind === "agent"), "only agent mentions may be sent");
1852
+ z$1.object({
1853
+ title,
1854
+ description: description.optional(),
1855
+ /** Default: `todo` when assigned to an agent, otherwise `backlog`. */
1856
+ status: z$1.enum(ISSUE_STATUSES).optional(),
1857
+ priority: z$1.enum(ISSUE_PRIORITIES).optional(),
1858
+ assignee: IssueAssigneeSchema.optional(),
1859
+ projectId: id.nullable().optional(),
1860
+ labels: labels.optional(),
1861
+ dueAt: epochMs.nullable().optional(),
1862
+ parentId: id.nullable().optional(),
1863
+ /** Idempotency: the same requestId returns the issue it created. */
1864
+ requestId: requestId.optional()
1865
+ });
1866
+ z$1.object({
1867
+ title: title.optional(),
1868
+ description: description.optional(),
1869
+ status: z$1.enum(ISSUE_STATUSES).optional(),
1870
+ priority: z$1.enum(ISSUE_PRIORITIES).optional(),
1871
+ assignee: IssueAssigneeSchema.optional(),
1872
+ projectId: id.nullable().optional(),
1873
+ labels: labels.optional(),
1874
+ dueAt: epochMs.nullable().optional(),
1875
+ parentId: id.nullable().optional(),
1876
+ /** Fractional board order within a status column. */
1877
+ sortOrder: z$1.number().finite().optional(),
1878
+ ifVersion: z$1.number().int().min(1).optional()
1879
+ });
1880
+ z$1.object({
1881
+ body: commentBody,
1882
+ mentions: humanMentions.optional(),
1883
+ /** A session this comment quotes / refers to (shown as a chip). */
1884
+ refSessionId: id.optional(),
1885
+ requestId: requestId.optional()
1886
+ });
1887
+ z$1.object({
1888
+ assignee: IssueAgentAssigneeSchema.optional(),
1889
+ /** Also make it the issue's assignee (換 agent). */
1890
+ reassign: z$1.boolean().optional(),
1891
+ requestId: requestId.optional()
1892
+ });
1893
+ z$1.object({ archiveSession: z$1.boolean().optional() });
1894
+ z$1.object({});
1895
+ z$1.object({
1896
+ status: z$1.string().max(200).optional(),
1897
+ projectId: id.optional(),
1898
+ assigneeKind: z$1.enum(ISSUE_ASSIGNEE_KINDS).optional(),
1899
+ label: label.optional(),
1900
+ priority: z$1.string().max(100).optional(),
1901
+ q: z$1.string().max(200).optional(),
1902
+ updatedSince: z$1.coerce.number().int().min(0).optional(),
1903
+ includeDeleted: z$1.enum(["0", "1", "true", "false"]).optional(),
1904
+ limit: z$1.coerce.number().int().min(1).max(ISSUE_LIMITS.listMax).optional(),
1905
+ cursor: z$1.string().max(256).optional()
1906
+ });
1907
+ z$1.object({
1908
+ sessionId: id,
1909
+ status: z$1.enum(ISSUE_AGENT_STATUSES).optional(),
1910
+ comment: commentBody.optional(),
1911
+ requestId: requestId.optional()
1912
+ }).refine((v) => v.status !== void 0 || v.comment !== void 0, "status or comment required");
1913
+ z$1.object({
1914
+ sessionId: id,
1915
+ body: commentBody,
1916
+ mentionOwner: z$1.boolean().optional(),
1917
+ requestId: requestId.optional()
1918
+ });
1919
+ z$1.object({
1920
+ machineId: id,
1921
+ workerVersion: z$1.coerce.number().int().min(1)
1922
+ });
1923
+ z$1.object({ machineId: id });
1924
+ z$1.object({
1925
+ machineId: id,
1926
+ claimId: id,
1927
+ /** `spawn`: the new session. `message`: the session it was delivered to. */
1928
+ sessionId: id
1929
+ });
1930
+ z$1.object({
1931
+ machineId: id,
1932
+ claimId: id,
1933
+ error: z$1.string().min(1).max(4e3),
1934
+ /** True when the outcome is unknown (e.g. timeout after the spawn RPC); the server keeps the run `claimed` for owner retry instead of failing it. */
1935
+ unknown: z$1.boolean().optional()
1936
+ });
1937
+ z$1.object({
1938
+ machineId: id,
1939
+ sessionId: id,
1940
+ event: z$1.enum(["running", "idle", "exited", "crashed"])
1941
+ });
1942
+ z$1.object({
1943
+ /** `VH-12` / id; absent = the issue this session is bound to. */
1944
+ issue: z$1.string().min(1).max(128).optional()
1945
+ });
1946
+ z$1.object({
1947
+ status: z$1.enum(ISSUE_AGENT_STATUSES).optional(),
1948
+ comment: z$1.string().min(1).max(ISSUE_LIMITS.commentBytes).optional()
1949
+ }).refine((v) => v.status !== void 0 || v.comment !== void 0, "status or comment required");
1950
+ z$1.object({
1951
+ body: z$1.string().min(1).max(ISSUE_LIMITS.commentBytes),
1952
+ mention_owner: z$1.boolean().optional()
1953
+ });
1954
+ z$1.object({
1955
+ status: z$1.array(z$1.enum(ISSUE_STATUSES)).max(ISSUE_STATUSES.length).optional(),
1956
+ project: z$1.enum(["current", "any"]).optional(),
1957
+ limit: z$1.number().int().min(1).max(50).optional()
1958
+ });
1959
+ z$1.object({
1960
+ t: z$1.literal("issue"),
1961
+ issue: z$1.object({ id: z$1.string(), version: z$1.number() }).passthrough()
1962
+ });
1963
+ z$1.object({
1964
+ t: z$1.literal("issue-comment"),
1965
+ comment: z$1.object({ id: z$1.string(), issueId: z$1.string() }).passthrough()
1966
+ });
1967
+ z$1.object({
1968
+ t: z$1.literal("issue-run"),
1969
+ run: z$1.object({ id: z$1.string(), issueId: z$1.string(), status: z$1.string() }).passthrough()
1970
+ });
1804
1971
  const SYNC_HELLO_MAX_REQUEST_SUBS = 64;
1805
1972
  const sessionIdSchema = z.string().min(1).max(128);
1806
1973
  const afterSeqSchema = z.number().int().min(0).nullable();
@@ -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-CtweAuKq.cjs');
6
- var persistence = require('./persistence-CWEaFv6R.cjs');
5
+ var logger = require('./logger-BrAF4iuT.cjs');
6
+ var persistence = require('./persistence-DGfEdbA5.cjs');
7
7
  var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
8
8
  require('chalk');
9
9
  require('node:util');
10
- require('./configuration-BL_fxboH.cjs');
10
+ require('./configuration-DfRs3WLd.cjs');
11
11
  require('node:path');
12
- require('./package-DdYN77UN.cjs');
12
+ require('./package-CStJrLG3.cjs');
13
13
  require('node:fs/promises');
14
14
  require('zod');
15
15
  require('./authRelay-Dy1qU9td.cjs');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var _package = require('./package-DdYN77UN.cjs');
3
+ var _package = require('./package-CStJrLG3.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-B1ueapb2.cjs'); });
62
+ const { selfCheckMain } = await Promise.resolve().then(function () { return require('./selfCheck-U-A1DCi9.cjs'); });
63
63
  process.exit(await selfCheckMain({ verbose: isSelfCheckRequest(args) }));
64
64
  }
65
- const { main } = await Promise.resolve().then(function () { return require('./main-CTIbEEsd.cjs'); });
65
+ const { main } = await Promise.resolve().then(function () { return require('./main-C8lsRSYS.cjs'); });
66
66
  await main();
67
67
  }
68
68
  void run(process.argv.slice(2));