very-happy-cli 0.2.180 → 0.2.181

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 (200) hide show
  1. package/dist/{AcpBackend-DfRDtMcG.cjs → AcpBackend-CgHb_ya5.cjs} +3 -3
  2. package/dist/{AcpBackend-B8Zi30Zh.mjs → AcpBackend-DZGCSuXF.mjs} +3 -3
  3. package/dist/{AcpSessionManager-CASKOnOj.cjs → AcpSessionManager-CacC2EVn.cjs} +1 -1
  4. package/dist/{AcpSessionManager-i8Rab0xT.mjs → AcpSessionManager-DwuPzWBh.mjs} +1 -1
  5. package/dist/{BasePermissionHandler-BlM_tfej.cjs → BasePermissionHandler-DCP8ZEB4.cjs} +1 -1
  6. package/dist/{BasePermissionHandler-26fKbRCm.mjs → BasePermissionHandler-Uo-GUjbb.mjs} +1 -1
  7. package/dist/{acpSessionResume-B9l54P-X.mjs → acpSessionResume-9OLTD6kT.mjs} +1 -1
  8. package/dist/{acpSessionResume-CR5pmgVo.cjs → acpSessionResume-BaVMD80f.cjs} +1 -1
  9. package/dist/{agentHome-CmGy0NWv.mjs → agentHome-B1BsKeqD.mjs} +4 -4
  10. package/dist/{agentHome-C7Sb7-Tz.cjs → agentHome-BtUmGcPX.cjs} +4 -4
  11. package/dist/{api-DM7b1OKj.cjs → api-COHFAkb_.cjs} +10 -10
  12. package/dist/{api-Hov8p7CA.mjs → api-Dr3wXL_7.mjs} +10 -10
  13. package/dist/{apiMachine-CwGEhQDT.mjs → apiMachine-CHEzPQdS.mjs} +54 -32
  14. package/dist/{apiMachine-DkGRj-Ai.cjs → apiMachine-D8H7CXaz.cjs} +55 -33
  15. package/dist/{attachmentContent-CIn4iPEk.mjs → attachmentContent-1YwtKgWl.mjs} +2 -2
  16. package/dist/{attachmentContent-CEm13_gF.cjs → attachmentContent-mIhbtRKl.cjs} +2 -2
  17. package/dist/{auth-rggxMpEE.mjs → auth-CbZkcMAb.mjs} +8 -8
  18. package/dist/{auth-CBXnm-Mj.cjs → auth-CgQP7d0q.cjs} +5 -5
  19. package/dist/{auth-BG1DY0gj.mjs → auth-DZsthtSk.mjs} +5 -5
  20. package/dist/{auth-Dawj7pP5.cjs → auth-Fg8fLadK.cjs} +8 -8
  21. package/dist/{auto-CbYOfoPS.cjs → auto-BB7kqSh5.cjs} +18 -18
  22. package/dist/{auto-CXXLXGeL.mjs → auto-_T-Ud-z5.mjs} +18 -18
  23. package/dist/{bootstrap-Dt5I1SOl.mjs → bootstrap-B6EkZh4u.mjs} +2 -2
  24. package/dist/{bootstrap-DoA7okld.cjs → bootstrap-CYtOtbi7.cjs} +2 -2
  25. package/dist/{browser-DUNetFT4.mjs → browser-C2qhUHSE.mjs} +1 -1
  26. package/dist/{browser-DZ6qRtfH.cjs → browser-DjNNQQk2.cjs} +1 -1
  27. package/dist/{claudeLocal-OHWQigCl.mjs → claudeLocal-BAFjWhZ8.mjs} +6 -6
  28. package/dist/{claudeLocal--DNyMOSv.cjs → claudeLocal-O_w7-fBh.cjs} +6 -6
  29. package/dist/{claudeLocalLauncher-BStvfa7M.mjs → claudeLocalLauncher-CWn30LZR.mjs} +11 -11
  30. package/dist/{claudeLocalLauncher-BhvPbcyH.cjs → claudeLocalLauncher-Df3zg1q0.cjs} +11 -11
  31. package/dist/{claudeSessionFork-GAVWhiKG.mjs → claudeSessionFork-2ZkSTOGn.mjs} +1 -1
  32. package/dist/{claudeSessionFork-Be16vzGc.cjs → claudeSessionFork-pwcKqB-e.cjs} +1 -1
  33. package/dist/{client-Ca5Pcgy_.mjs → client-BKyU66lg.mjs} +2 -2
  34. package/dist/{client-D_loZ9IK.cjs → client-CUO3ItoB.cjs} +34 -8
  35. package/dist/{client-CnB7kRCT.mjs → client-CXOnzuOy.mjs} +2 -2
  36. package/dist/{client-DJplzPjD.cjs → client-DWs6k041.cjs} +2 -2
  37. package/dist/{client-BWjaHKtj.cjs → client-D_U2VjO3.cjs} +2 -2
  38. package/dist/{client-D4uPb1uu.mjs → client-DsQcxVUV.mjs} +34 -9
  39. package/dist/codex/happyMcpStdioBridge.cjs +17 -17
  40. package/dist/codex/happyMcpStdioBridge.mjs +17 -17
  41. package/dist/{codexAppServerClient-PE-12AsW.cjs → codexAppServerClient-BRX3JZ_5.cjs} +3 -3
  42. package/dist/{codexAppServerClient-CO4G6OS4.mjs → codexAppServerClient-C3JO3pwM.mjs} +3 -3
  43. package/dist/{codexCommand-B_xUH79E.mjs → codexCommand-BZIAAqKS.mjs} +47 -45
  44. package/dist/{codexCommand-BNoD1t1C.cjs → codexCommand-dKOc5iQl.cjs} +47 -45
  45. package/dist/{codexTermination-BmBbizFK.cjs → codexTermination-BVR9HeVI.cjs} +1 -1
  46. package/dist/{codexTermination-Dx48ma6e.mjs → codexTermination-ztFkwHrG.mjs} +1 -1
  47. package/dist/{config-DSu0Blos.mjs → config-NbHjx8ge.mjs} +3 -3
  48. package/dist/{config-CtwEUxUP.cjs → config-cftYxLC7.cjs} +3 -3
  49. package/dist/{configuration-PxzEJumr.mjs → configuration-BPrfb17M.mjs} +1 -1
  50. package/dist/{configuration-CYO-kPOS.cjs → configuration-C8JgseHy.cjs} +1 -1
  51. package/dist/{connect-Dq7wndzR.cjs → connect-Br8VMrK1.cjs} +13 -13
  52. package/dist/{connect-BQrg3TB6.mjs → connect-CLD1ai0k.mjs} +13 -13
  53. package/dist/{context-6TP-iz_c.cjs → context-D1lgQTJC.cjs} +1 -1
  54. package/dist/{context-CJGRRGWW.mjs → context-_YGq8xdH.mjs} +1 -1
  55. package/dist/{controlClient-DoeYovwP.mjs → controlClient-CkNpT5zS.mjs} +3 -3
  56. package/dist/{controlClient-Bqv5v5OM.cjs → controlClient-D68Zj7Q-.cjs} +3 -3
  57. package/dist/{createSessionMetadata-DDIChCx8.mjs → createSessionMetadata-3WAj3_xl.mjs} +2 -2
  58. package/dist/{createSessionMetadata-xz767pcG.cjs → createSessionMetadata-DNIbKLHg.cjs} +2 -2
  59. package/dist/{defaultPermissionMode-PkZGsQDk.cjs → defaultPermissionMode-BmvjP32v.cjs} +2 -2
  60. package/dist/{defaultPermissionMode-i5KzdK09.mjs → defaultPermissionMode-DXMznl8v.mjs} +2 -2
  61. package/dist/{deterministicJson-xqA6DaOm.cjs → deterministicJson-BS7D7URE.cjs} +87 -22
  62. package/dist/{deterministicJson-CTEJDqtS.mjs → deterministicJson-BcBIKKf1.mjs} +87 -24
  63. package/dist/{doctor-BrgSlfXn.cjs → doctor-Be7zC0AF.cjs} +8 -7
  64. package/dist/{doctor-IctjVh9T.mjs → doctor-CoOaPq6w.mjs} +8 -8
  65. package/dist/{downloadTarget-jbOz1egC.mjs → downloadTarget-CeaAXdJj.mjs} +6 -6
  66. package/dist/{downloadTarget-CEb9che-.cjs → downloadTarget-LyOiucn_.cjs} +6 -6
  67. package/dist/{ensureDaemonRunning-b1e8LCSM.mjs → ensureDaemonRunning--98j7-17.mjs} +5 -5
  68. package/dist/{ensureDaemonRunning-D-HyjGIX.cjs → ensureDaemonRunning-B8z37VKD.cjs} +5 -5
  69. package/dist/fileStore-5qpetZS0.mjs +146 -0
  70. package/dist/fileStore-7qhnbs6N.cjs +152 -0
  71. package/dist/{handleResumeCommand-BvWVuRwH.cjs → handleResumeCommand-BFZlrFVH.cjs} +5 -5
  72. package/dist/{handleResumeCommand-DpaZvm2c.mjs → handleResumeCommand-gO8I4keP.mjs} +5 -5
  73. package/dist/{index-B2p2Mut7.cjs → index-B5PXbZjW.cjs} +77 -60
  74. package/dist/{index-F2UejqYs.cjs → index-BRMq9gOe.cjs} +3 -3
  75. package/dist/{index-C64Ufj4D.cjs → index-BkluinoS.cjs} +4 -4
  76. package/dist/{index-Bsvbgh9e.mjs → index-CO0n9ue6.mjs} +4 -4
  77. package/dist/{index-C6Vn5Eac.mjs → index-CeRXrGnH.mjs} +39 -6
  78. package/dist/{index-Dv0Q48P3.cjs → index-Df2eHm3O.cjs} +40 -6
  79. package/dist/{index-BUNnpGFF.mjs → index-DneHoQXf.mjs} +78 -61
  80. package/dist/{index-CMf5VbzG.mjs → index-WUj3954m.mjs} +4 -4
  81. package/dist/{index-wCbtF4BK.mjs → index-hQ8LP1C2.mjs} +3 -3
  82. package/dist/{index-DmTlDRSL.cjs → index-jF2t3ACW.cjs} +4 -4
  83. package/dist/index.cjs +2 -2
  84. package/dist/index.mjs +2 -2
  85. package/dist/{install-BX3lv3NO.mjs → install-D0inLCv-.mjs} +1 -1
  86. package/dist/{install-BXvf2E3o.cjs → install-D2NCbeJ-.cjs} +1 -1
  87. package/dist/{install-CdzSV7qO.mjs → install-DkYFiVK4.mjs} +3 -3
  88. package/dist/{install-C0ANcEAW.cjs → install-FqkSUjPC.cjs} +3 -3
  89. package/dist/lib.cjs +12 -12
  90. package/dist/lib.d.cts +39 -1
  91. package/dist/lib.d.mts +39 -1
  92. package/dist/lib.mjs +12 -12
  93. package/dist/{lidState-bBrmaQd2.mjs → lidState-DghbfRbr.mjs} +1 -1
  94. package/dist/{lidState-DWGnm2H4.cjs → lidState-x8cJ8J_9.cjs} +1 -1
  95. package/dist/{localHappyAgentAuth-DZHQnIW9.cjs → localHappyAgentAuth-DZ2kb9uq.cjs} +1 -1
  96. package/dist/{localHappyAgentAuth-Dn1jYDpt.mjs → localHappyAgentAuth-IKmeRpuQ.mjs} +1 -1
  97. package/dist/{logger-CphW5nUE.cjs → logger-DgBwUSgS.cjs} +2 -2
  98. package/dist/{logger-BUngm5Xg.mjs → logger-LFr8iPgl.mjs} +2 -2
  99. package/dist/{machineMetadata-BXN_bKU3.mjs → machineMetadata-BglCsfvf.mjs} +11 -4
  100. package/dist/{machineMetadata-BQm9YTcI.cjs → machineMetadata-DB03ez4K.cjs} +11 -3
  101. package/dist/{main-B2UV51nK.cjs → main-YQ-Vkakw.cjs} +45 -45
  102. package/dist/{main-DGkdYfEq.mjs → main-_1LSzlLv.mjs} +45 -45
  103. package/dist/{mcp-BFvAEIRz.cjs → mcp-BIY80jSc.cjs} +14 -14
  104. package/dist/{mcp-CbTtbs0f.mjs → mcp-Csj-mT5Y.mjs} +14 -14
  105. package/dist/{mirrorProtocol-HKPivs5o.cjs → mirrorProtocol-BphKIAK9.cjs} +16 -153
  106. package/dist/{mirrorProtocol-BR4luBC0.mjs → mirrorProtocol-CAxOMBkb.mjs} +19 -151
  107. package/dist/{package-7Ld1YMhh.mjs → package-DYGwlmXl.mjs} +8 -8
  108. package/dist/{package-KhLqBDX9.cjs → package-NoD8QOOM.cjs} +8 -8
  109. package/dist/{panels-C7IVqpJk.mjs → panels-B8zRm7_d.mjs} +5 -5
  110. package/dist/{panels-Njf6GelF.cjs → panels-DYEc1NyQ.cjs} +5 -5
  111. package/dist/{peerTools-BOlDRyhi.mjs → peerTools-CK3JYu1k.mjs} +5 -5
  112. package/dist/{peerTools-DQNlrcqM.cjs → peerTools-CP-x-Peu.cjs} +5 -5
  113. package/dist/{persistence-9BMYspxG.cjs → persistence-BY-D00wT.cjs} +2 -2
  114. package/dist/{persistence-BFUOHW5h.mjs → persistence-D2Djrf7t.mjs} +2 -2
  115. package/dist/pi-CqyoZMjI.mjs +380 -0
  116. package/dist/pi-DlsrPCTa.cjs +400 -0
  117. package/dist/{piRunnerArgs-H2pgpA5z.mjs → piRunnerArgs-IZLoL7TG.mjs} +1 -1
  118. package/dist/{piRunnerArgs-DGaq6VYM.cjs → piRunnerArgs-gxLYIZH4.cjs} +1 -1
  119. package/dist/{piRuntime-CdN0JAsa.mjs → piRuntime-D7Y4oHVL.mjs} +2 -2
  120. package/dist/{piRuntime-CT5xv_3h.cjs → piRuntime-o5L8uX-W.cjs} +2 -2
  121. package/dist/{piTerminal-0FBtXTHK.cjs → piTerminal-C_-JDkLN.cjs} +17 -17
  122. package/dist/{piTerminal-C4m9YXAV.mjs → piTerminal-Kphx8Uhw.mjs} +17 -17
  123. package/dist/{prompt-lgF9IE82.cjs → prompt-Bof2aQkI.cjs} +7 -2
  124. package/dist/{prompt-BOouDaTM.mjs → prompt-QHuFx9j6.mjs} +7 -2
  125. package/dist/{pushNotifications-DI92havG.cjs → pushNotifications-BXoOSq_G.cjs} +10 -4
  126. package/dist/{pushNotifications-DCiBEVeC.mjs → pushNotifications-DXGIhE-A.mjs} +10 -4
  127. package/dist/{query-ywZbQUzR.mjs → query-CcA6DVZK.mjs} +1 -1
  128. package/dist/{query-BETKBrnz.cjs → query-CdCxzuaB.cjs} +1 -1
  129. package/dist/{rateLimitWindows-YRIYVdo4.cjs → rateLimitWindows-OpAmdOtC.cjs} +1 -1
  130. package/dist/{rateLimitWindows-BkfuUB1a.mjs → rateLimitWindows-ZtHZHe-l.mjs} +1 -1
  131. package/dist/{registerCommonHandlers-C7a_dUWs.cjs → registerCommonHandlers-CRjBoJLK.cjs} +2 -2
  132. package/dist/{registerCommonHandlers-CTkCvjxt.mjs → registerCommonHandlers-DF6bdDtd.mjs} +2 -2
  133. package/dist/{registerKillSessionHandler-CIsvBrVe.cjs → registerKillSessionHandler-7fOm6ooh.cjs} +6 -6
  134. package/dist/{registerKillSessionHandler-CaqqRYq6.mjs → registerKillSessionHandler-DDCKL3wf.mjs} +6 -6
  135. package/dist/{remoteSessionClient-PP-mOKmw.mjs → remoteSessionClient-B2POSKFT.mjs} +5 -5
  136. package/dist/{remoteSessionClient-D843fkzL.cjs → remoteSessionClient-CFCn42bs.cjs} +5 -5
  137. package/dist/{reportProgressTool-ZOCNjWHr.mjs → reportProgressTool-tPxEvh6x.mjs} +4 -4
  138. package/dist/{reportProgressTool-14AXr959.cjs → reportProgressTool-th4trcET.cjs} +4 -4
  139. package/dist/{resources-CvIlkzpP.cjs → resources-BPyN59Iv.cjs} +23 -2
  140. package/dist/{resources-y9jfyO-_.mjs → resources-CH1iP6Cv.mjs} +22 -3
  141. package/dist/{run-CAOCYYfT.cjs → run-C_FumCQk.cjs} +618 -594
  142. package/dist/{run-Dajw2E5j.mjs → run-cKQBbVi4.mjs} +554 -530
  143. package/dist/{runClaude-C6oxWYbp.mjs → runClaude-CYnM6krL.mjs} +22 -22
  144. package/dist/{runClaude-CRRKt-tm.cjs → runClaude-z_2YC_aa.cjs} +22 -22
  145. package/dist/{runClaudeDeps-B1ysqTvx.cjs → runClaudeDeps-CLubzWnA.cjs} +43 -41
  146. package/dist/{runClaudeDeps-BcZ68cX3.mjs → runClaudeDeps-duS06Pb4.mjs} +48 -46
  147. package/dist/{runGemini-D7yKc4wD.mjs → runGemini-C_Pc2EhH.mjs} +37 -35
  148. package/dist/{runGemini-DtKFXqf-.cjs → runGemini-vEoXV6qT.cjs} +37 -35
  149. package/dist/{runOpenClaw-Cq29mryb.cjs → runOpenClaw-CXJCtMgB.cjs} +18 -18
  150. package/dist/{runOpenClaw-C8ilyLP9.mjs → runOpenClaw-Cxun1qLC.mjs} +18 -18
  151. package/dist/{sandbox-gIj-EuF4.cjs → sandbox-CO46H2tK.cjs} +4 -4
  152. package/dist/{sandbox-CbCutma4.mjs → sandbox-CsvPnTmz.mjs} +4 -4
  153. package/dist/{selfCheck-BTGBVthv.cjs → selfCheck-DIr7Gc0i.cjs} +36 -36
  154. package/dist/selfCheck-NamtBHVB.mjs +85 -0
  155. package/dist/{send-YZRMQvMJ.mjs → send-DMoFg6F1.mjs} +8 -8
  156. package/dist/{send-CZf5lLw_.cjs → send-X2mfVEyr.cjs} +8 -8
  157. package/dist/{server-CknFq6xG.cjs → server-BwTEdbkr.cjs} +6 -6
  158. package/dist/{server-BqwXRzFZ.mjs → server-CkqQ0sRH.mjs} +4 -4
  159. package/dist/{sessionLock-DRZUcKHT.cjs → sessionLock-CdIRJlHH.cjs} +3 -3
  160. package/dist/{sessionLock-nBXdJxJm.mjs → sessionLock-JIfwCqMk.mjs} +3 -3
  161. package/dist/{sessionOps-BrGiU9-s.cjs → sessionOps-DVA-00nR.cjs} +4 -4
  162. package/dist/{sessionOps-C58iDeD5.mjs → sessionOps-DqlftXxe.mjs} +4 -4
  163. package/dist/{sessionScanner-Bm57LEXe.mjs → sessionScanner-BI0Vo1xT.mjs} +3 -3
  164. package/dist/{sessionScanner-CaO8bLaG.cjs → sessionScanner-BMwgGAhY.cjs} +3 -3
  165. package/dist/{sessions-BXyBHo8n.mjs → sessions-D6IimX7b.mjs} +10 -10
  166. package/dist/{sessions-uzqPCc37.cjs → sessions-DjgEcHaT.cjs} +10 -10
  167. package/dist/{setupOfflineReconnection-DvvVX3TB.cjs → setupOfflineReconnection-CjuCiKY3.cjs} +2 -2
  168. package/dist/{setupOfflineReconnection-1Qlek3wl.mjs → setupOfflineReconnection-DgJK_4m1.mjs} +2 -2
  169. package/dist/{spawn-vn93PhYL.mjs → spawn-Dvzy-tzc.mjs} +14 -14
  170. package/dist/{spawn-DBkodJEO.cjs → spawn-rhF28shY.cjs} +14 -14
  171. package/dist/{spawnAgents-CgPMWexP.mjs → spawnAgents-CCnlq-FI.mjs} +1 -1
  172. package/dist/{spawnAgents-DLNMlhWJ.cjs → spawnAgents-iwuqrgR9.cjs} +1 -1
  173. package/dist/{spawnHappyCLI-DnUZv0X2.cjs → spawnHappyCLI-DnKmIsEt.cjs} +1 -1
  174. package/dist/{spawnHappyCLI-BjFZc_7V.mjs → spawnHappyCLI-Dq3LLXLb.mjs} +1 -1
  175. package/dist/{specialCommands-D3ND9bdg.mjs → specialCommands-CcyZ1hGA.mjs} +3 -3
  176. package/dist/{specialCommands-BRufxlqe.cjs → specialCommands-Zwr2C6A2.cjs} +3 -3
  177. package/dist/{startFileWatcher-DXJ7yB5v.mjs → startFileWatcher-4thXDK9d.mjs} +1 -1
  178. package/dist/{startFileWatcher-D9cYzZOq.cjs → startFileWatcher-K6hJSyiR.cjs} +1 -1
  179. package/dist/{startupSessionCreate-uZ6BM0ty.mjs → startupSessionCreate-BfByJ16A.mjs} +1 -1
  180. package/dist/{startupSessionCreate-kdr3m1uX.cjs → startupSessionCreate-CKEbq0tL.cjs} +1 -1
  181. package/dist/{streamRelay-Dy6amlzx.cjs → streamRelay-Gy8Xfnon.cjs} +1 -1
  182. package/dist/{streamRelay-DnMCMMfV.mjs → streamRelay-LcDvyEjK.mjs} +1 -1
  183. package/dist/{sync-Bn-idAoy.cjs → sync-1hQ5KHpL.cjs} +1 -1
  184. package/dist/{sync-BvVhDO40.mjs → sync-DO-2PU45.mjs} +1 -1
  185. package/dist/{systemPrompt-CIZcJuJF.mjs → systemPrompt-BctLfMZs.mjs} +3 -3
  186. package/dist/{systemPrompt-DlyEk35T.cjs → systemPrompt-Dj7pgkMK.cjs} +3 -3
  187. package/dist/{teams-DLY3B5yi.mjs → teams-Bu8YeOoF.mjs} +8 -8
  188. package/dist/{teams-BLeRpDxv.cjs → teams-uQxUlyyz.cjs} +8 -8
  189. package/dist/{time-D3ETL7Jb.mjs → time-BcoJaG8E.mjs} +1 -1
  190. package/dist/{time-Cjv0zxQO.cjs → time-nqa9shu8.cjs} +1 -1
  191. package/dist/{titleGenerator-Cgp5ihFb.cjs → titleGenerator-D09XyYYG.cjs} +2 -2
  192. package/dist/{titleGenerator-Uzbd4utr.mjs → titleGenerator-D5r06bhf.mjs} +1 -1
  193. package/dist/{todo-pOMcEECE.cjs → todo-CCOnL7pT.cjs} +6 -6
  194. package/dist/{todo-C9Ga-oEM.mjs → todo-D1q8146q.mjs} +6 -6
  195. package/dist/{tools-Cho7iIWf.mjs → tools-D2E--n1x.mjs} +3 -3
  196. package/dist/{tools-BL7Byl_x.cjs → tools-DiCXnAC5.cjs} +3 -3
  197. package/dist/{uninstall-CbayEVoV.cjs → uninstall-BrNwwwSD.cjs} +3 -3
  198. package/dist/{uninstall-CvZHVY9C.mjs → uninstall-CtwXi1Rt.mjs} +3 -3
  199. package/package.json +8 -8
  200. package/dist/selfCheck-Smt-5Xiq.mjs +0 -85
package/dist/lib.d.cts CHANGED
@@ -200,12 +200,22 @@ declare const sessionStreamFrameSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
200
200
  }, z.core.$strip>], "t">;
201
201
  type SessionStreamFrame = z.infer<typeof sessionStreamFrameSchema>;
202
202
 
203
- /** Runtime context occupancy, never cumulative billing. null after compaction is unknown. */
203
+ /**
204
+ * Runtime context occupancy, never cumulative billing. null after compaction is unknown.
205
+ *
206
+ * B-727 (specs/2026-10-pi-context-usage.md): `contextWindow` stays required so
207
+ * older webs keep rendering; `windowSource` says whether it may be used as a
208
+ * denominator. Free strings + read whitelist (iron rule 14): an unknown value
209
+ * must not make the whole agentState fail to parse.
210
+ */
204
211
  declare const ContextUsageSchema: z$1.ZodObject<{
205
212
  source: z$1.ZodLiteral<"pi">;
206
213
  tokens: z$1.ZodNullable<z$1.ZodNumber>;
207
214
  contextWindow: z$1.ZodNumber;
208
215
  updatedAt: z$1.ZodNumber;
216
+ windowSource: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
217
+ model: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
218
+ compactedAt: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
209
219
  }, z$1.core.$strip>;
210
220
  type ContextUsage = z$1.infer<typeof ContextUsageSchema>;
211
221
 
@@ -370,6 +380,7 @@ declare const MachineMetadataSchema: z$1.ZodObject<{
370
380
  teamRetryVersion: z$1.ZodOptional<z$1.ZodNumber>;
371
381
  worktreeVersion: z$1.ZodOptional<z$1.ZodNumber>;
372
382
  modelConfigVersion: z$1.ZodOptional<z$1.ZodNumber>;
383
+ harnessInstallVersion: z$1.ZodOptional<z$1.ZodNumber>;
373
384
  host: z$1.ZodString;
374
385
  platform: z$1.ZodString;
375
386
  happyCliVersion: z$1.ZodString;
@@ -422,6 +433,13 @@ declare const CliUpdateStateSchema: z$1.ZodObject<{
422
433
  detail: z$1.ZodOptional<z$1.ZodString>;
423
434
  at: z$1.ZodNumber;
424
435
  }, z$1.core.$strip>>>;
436
+ autoUpdateEnabled: z$1.ZodOptional<z$1.ZodBoolean>;
437
+ lastInstall: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
438
+ from: z$1.ZodString;
439
+ to: z$1.ZodString;
440
+ at: z$1.ZodNumber;
441
+ source: z$1.ZodString;
442
+ }, z$1.core.$strip>>>;
425
443
  }, z$1.core.$strip>;
426
444
  type CliUpdateState = z$1.infer<typeof CliUpdateStateSchema>;
427
445
  /**
@@ -547,6 +565,13 @@ declare const DaemonStateSchema: z$1.ZodObject<{
547
565
  detail: z$1.ZodOptional<z$1.ZodString>;
548
566
  at: z$1.ZodNumber;
549
567
  }, z$1.core.$strip>>>;
568
+ autoUpdateEnabled: z$1.ZodOptional<z$1.ZodBoolean>;
569
+ lastInstall: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
570
+ from: z$1.ZodString;
571
+ to: z$1.ZodString;
572
+ at: z$1.ZodNumber;
573
+ source: z$1.ZodString;
574
+ }, z$1.core.$strip>>>;
550
575
  }, z$1.core.$strip>>;
551
576
  claudeAuth: z$1.ZodOptional<z$1.ZodObject<{
552
577
  probeVersion: z$1.ZodNumber;
@@ -1675,6 +1700,8 @@ interface HarnessCurrent {
1675
1700
  providerName?: string | null;
1676
1701
  api?: string | null;
1677
1702
  models?: string[];
1703
+ /** pi: explicit `contextWindow` per model of the selected provider (B-727; absent on older daemons). */
1704
+ contextWindows?: Record<string, number>;
1678
1705
  defaultModel?: string | null;
1679
1706
  /** codex/pi: provider currently selected by the harness. */
1680
1707
  activeProvider?: string | null;
@@ -1958,6 +1985,8 @@ declare class ApiMachineClient {
1958
1985
  } | {
1959
1986
  error: string;
1960
1987
  }>): void;
1988
+ /** B-719: `harness-install` — the owner asked this machine to install one harness id. */
1989
+ setHarnessInstallHandler(handler: (params: unknown) => Promise<unknown>): void;
1961
1990
  setCliUpdateRetryHandler(handler: (version: unknown) => Promise<{
1962
1991
  accepted: true;
1963
1992
  } | {
@@ -2055,12 +2084,21 @@ declare class ApiMachineClient {
2055
2084
  private createControlSocket;
2056
2085
  private activateControlSocket;
2057
2086
  private bindControlDataHandlers;
2087
+ private cliUpdatePolicyHandler;
2088
+ /** B-718: the daemon decides what a policy announcement means (update/policyAnnouncement.ts). */
2089
+ setCliUpdatePolicyHandler(handler: ((payload: unknown) => void) | null): void;
2058
2090
  private serverMigrateHandler;
2059
2091
  /** B-635: the daemon decides what to do with a relay-migration notice (daemon/serverMigration.ts). */
2060
2092
  setServerMigrateHandler(handler: ((notice: unknown) => void) | null): void;
2061
2093
  private startReleaseHandover;
2062
2094
  private releaseHandover;
2063
2095
  private startKeepAlive;
2096
+ /**
2097
+ * Re-detect CLI availability and publish it when it changed. Called on the
2098
+ * throttled keep-alive and, B-719, right after the owner installed a
2099
+ * harness so the launcher enables it without waiting up to five minutes.
2100
+ */
2101
+ recheckCliAvailability(): void;
2064
2102
  private bindRpcRequestHandler;
2065
2103
  private bindMachineCommandHandlers;
2066
2104
  private unbindMachineCommandHandlers;
package/dist/lib.d.mts CHANGED
@@ -200,12 +200,22 @@ declare const sessionStreamFrameSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
200
200
  }, z.core.$strip>], "t">;
201
201
  type SessionStreamFrame = z.infer<typeof sessionStreamFrameSchema>;
202
202
 
203
- /** Runtime context occupancy, never cumulative billing. null after compaction is unknown. */
203
+ /**
204
+ * Runtime context occupancy, never cumulative billing. null after compaction is unknown.
205
+ *
206
+ * B-727 (specs/2026-10-pi-context-usage.md): `contextWindow` stays required so
207
+ * older webs keep rendering; `windowSource` says whether it may be used as a
208
+ * denominator. Free strings + read whitelist (iron rule 14): an unknown value
209
+ * must not make the whole agentState fail to parse.
210
+ */
204
211
  declare const ContextUsageSchema: z$1.ZodObject<{
205
212
  source: z$1.ZodLiteral<"pi">;
206
213
  tokens: z$1.ZodNullable<z$1.ZodNumber>;
207
214
  contextWindow: z$1.ZodNumber;
208
215
  updatedAt: z$1.ZodNumber;
216
+ windowSource: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
217
+ model: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
218
+ compactedAt: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
209
219
  }, z$1.core.$strip>;
210
220
  type ContextUsage = z$1.infer<typeof ContextUsageSchema>;
211
221
 
@@ -370,6 +380,7 @@ declare const MachineMetadataSchema: z$1.ZodObject<{
370
380
  teamRetryVersion: z$1.ZodOptional<z$1.ZodNumber>;
371
381
  worktreeVersion: z$1.ZodOptional<z$1.ZodNumber>;
372
382
  modelConfigVersion: z$1.ZodOptional<z$1.ZodNumber>;
383
+ harnessInstallVersion: z$1.ZodOptional<z$1.ZodNumber>;
373
384
  host: z$1.ZodString;
374
385
  platform: z$1.ZodString;
375
386
  happyCliVersion: z$1.ZodString;
@@ -422,6 +433,13 @@ declare const CliUpdateStateSchema: z$1.ZodObject<{
422
433
  detail: z$1.ZodOptional<z$1.ZodString>;
423
434
  at: z$1.ZodNumber;
424
435
  }, z$1.core.$strip>>>;
436
+ autoUpdateEnabled: z$1.ZodOptional<z$1.ZodBoolean>;
437
+ lastInstall: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
438
+ from: z$1.ZodString;
439
+ to: z$1.ZodString;
440
+ at: z$1.ZodNumber;
441
+ source: z$1.ZodString;
442
+ }, z$1.core.$strip>>>;
425
443
  }, z$1.core.$strip>;
426
444
  type CliUpdateState = z$1.infer<typeof CliUpdateStateSchema>;
427
445
  /**
@@ -547,6 +565,13 @@ declare const DaemonStateSchema: z$1.ZodObject<{
547
565
  detail: z$1.ZodOptional<z$1.ZodString>;
548
566
  at: z$1.ZodNumber;
549
567
  }, z$1.core.$strip>>>;
568
+ autoUpdateEnabled: z$1.ZodOptional<z$1.ZodBoolean>;
569
+ lastInstall: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
570
+ from: z$1.ZodString;
571
+ to: z$1.ZodString;
572
+ at: z$1.ZodNumber;
573
+ source: z$1.ZodString;
574
+ }, z$1.core.$strip>>>;
550
575
  }, z$1.core.$strip>>;
551
576
  claudeAuth: z$1.ZodOptional<z$1.ZodObject<{
552
577
  probeVersion: z$1.ZodNumber;
@@ -1675,6 +1700,8 @@ interface HarnessCurrent {
1675
1700
  providerName?: string | null;
1676
1701
  api?: string | null;
1677
1702
  models?: string[];
1703
+ /** pi: explicit `contextWindow` per model of the selected provider (B-727; absent on older daemons). */
1704
+ contextWindows?: Record<string, number>;
1678
1705
  defaultModel?: string | null;
1679
1706
  /** codex/pi: provider currently selected by the harness. */
1680
1707
  activeProvider?: string | null;
@@ -1958,6 +1985,8 @@ declare class ApiMachineClient {
1958
1985
  } | {
1959
1986
  error: string;
1960
1987
  }>): void;
1988
+ /** B-719: `harness-install` — the owner asked this machine to install one harness id. */
1989
+ setHarnessInstallHandler(handler: (params: unknown) => Promise<unknown>): void;
1961
1990
  setCliUpdateRetryHandler(handler: (version: unknown) => Promise<{
1962
1991
  accepted: true;
1963
1992
  } | {
@@ -2055,12 +2084,21 @@ declare class ApiMachineClient {
2055
2084
  private createControlSocket;
2056
2085
  private activateControlSocket;
2057
2086
  private bindControlDataHandlers;
2087
+ private cliUpdatePolicyHandler;
2088
+ /** B-718: the daemon decides what a policy announcement means (update/policyAnnouncement.ts). */
2089
+ setCliUpdatePolicyHandler(handler: ((payload: unknown) => void) | null): void;
2058
2090
  private serverMigrateHandler;
2059
2091
  /** B-635: the daemon decides what to do with a relay-migration notice (daemon/serverMigration.ts). */
2060
2092
  setServerMigrateHandler(handler: ((notice: unknown) => void) | null): void;
2061
2093
  private startReleaseHandover;
2062
2094
  private releaseHandover;
2063
2095
  private startKeepAlive;
2096
+ /**
2097
+ * Re-detect CLI availability and publish it when it changed. Called on the
2098
+ * throttled keep-alive and, B-719, right after the owner installed a
2099
+ * harness so the launcher enables it without waiting up to five minutes.
2100
+ */
2101
+ recheckCliAvailability(): void;
2064
2102
  private bindRpcRequestHandler;
2065
2103
  private bindMachineCommandHandlers;
2066
2104
  private unbindMachineCommandHandlers;
package/dist/lib.mjs CHANGED
@@ -1,9 +1,9 @@
1
- export { A as ApiClient, a as ApiSessionClient } from './api-Hov8p7CA.mjs';
2
- export { l as logger } from './logger-BUngm5Xg.mjs';
3
- export { c as configuration } from './configuration-PxzEJumr.mjs';
1
+ export { A as ApiClient, a as ApiSessionClient } from './api-Dr3wXL_7.mjs';
2
+ export { l as logger } from './logger-LFr8iPgl.mjs';
3
+ export { c as configuration } from './configuration-BPrfb17M.mjs';
4
4
  export { R as RawJSONLinesSchema } from './types-CkqAACXx.mjs';
5
5
  import 'axios';
6
- import './lidState-bBrmaQd2.mjs';
6
+ import './lidState-DghbfRbr.mjs';
7
7
  import './authRelay-DhQhkBvX.mjs';
8
8
  import 'node:crypto';
9
9
  import 'tweetnacl';
@@ -11,14 +11,14 @@ import 'os';
11
11
  import 'child_process';
12
12
  import 'node:events';
13
13
  import 'socket.io-client';
14
- import './pushNotifications-DCiBEVeC.mjs';
14
+ import './pushNotifications-DXGIhE-A.mjs';
15
15
  import 'zod';
16
- import './index-C6Vn5Eac.mjs';
16
+ import './index-CeRXrGnH.mjs';
17
17
  import '@paralleldrive/cuid2';
18
18
  import './contentLogMetadata-BlWI0egu.mjs';
19
19
  import './limits-DIo7rEBR.mjs';
20
- import './time-D3ETL7Jb.mjs';
21
- import './registerCommonHandlers-CTkCvjxt.mjs';
20
+ import './time-BcoJaG8E.mjs';
21
+ import './registerCommonHandlers-DF6bdDtd.mjs';
22
22
  import 'util';
23
23
  import 'fs/promises';
24
24
  import 'crypto';
@@ -26,14 +26,14 @@ import 'path';
26
26
  import 'cross-spawn';
27
27
  import './projectPath-BTBIMB57.mjs';
28
28
  import 'url';
29
- import './sync-BvVhDO40.mjs';
29
+ import './sync-DO-2PU45.mjs';
30
30
  import './backgroundTaskActivity-8PdPxrvy.mjs';
31
- import './controlClient-DoeYovwP.mjs';
32
- import './persistence-BFUOHW5h.mjs';
31
+ import './controlClient-CkNpT5zS.mjs';
32
+ import './persistence-D2Djrf7t.mjs';
33
33
  import 'node:fs/promises';
34
34
  import 'node:fs';
35
35
  import 'chalk';
36
36
  import 'node:util';
37
37
  import 'node:path';
38
38
  import 'node:os';
39
- import './package-7Ld1YMhh.mjs';
39
+ import './package-DYGwlmXl.mjs';
@@ -1,4 +1,4 @@
1
- import { l as logger } from './logger-BUngm5Xg.mjs';
1
+ import { l as logger } from './logger-LFr8iPgl.mjs';
2
2
  import { e as encodeBase64, g as encrypt, h as decrypt, d as decodeBase64 } from './authRelay-DhQhkBvX.mjs';
3
3
  import os from 'os';
4
4
  import { execSync } from 'child_process';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-CphW5nUE.cjs');
3
+ var logger = require('./logger-DgBwUSgS.cjs');
4
4
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
5
5
  var os = require('os');
6
6
  var child_process = require('child_process');
@@ -6,7 +6,7 @@ var path = require('node:path');
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-CYO-kPOS.cjs');
9
+ var configuration = require('./configuration-C8JgseHy.cjs');
10
10
 
11
11
  const AgentCredentialsSchema = z.z.object({
12
12
  token: z.z.string().min(1),
@@ -4,7 +4,7 @@ import { join } from 'node:path';
4
4
  import tweetnacl from 'tweetnacl';
5
5
  import { z } from 'zod';
6
6
  import { c as credentialRelayProblem, d as decodeBase64 } from './authRelay-DhQhkBvX.mjs';
7
- import { c as configuration } from './configuration-PxzEJumr.mjs';
7
+ import { c as configuration } from './configuration-BPrfb17M.mjs';
8
8
 
9
9
  const AgentCredentialsSchema = z.object({
10
10
  token: z.string().min(1),
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var node_util = require('node:util');
5
- var configuration = require('./configuration-CYO-kPOS.cjs');
5
+ var configuration = require('./configuration-C8JgseHy.cjs');
6
6
  var node_fs = require('node:fs');
7
7
  var path = require('node:path');
8
8
 
@@ -238,7 +238,7 @@ async function listDaemonLogFiles(limit = 50) {
238
238
  return { file, path: fullPath, modified: stats.mtime };
239
239
  }).sort((a, b) => b.modified.getTime() - a.modified.getTime());
240
240
  try {
241
- const { readDaemonState } = await Promise.resolve().then(function () { return require('./persistence-9BMYspxG.cjs'); }).then(function (n) { return n.persistence; });
241
+ const { readDaemonState } = await Promise.resolve().then(function () { return require('./persistence-BY-D00wT.cjs'); }).then(function (n) { return n.persistence; });
242
242
  const state = await readDaemonState();
243
243
  if (!state) {
244
244
  return logs;
@@ -1,6 +1,6 @@
1
1
  import chalk from 'chalk';
2
2
  import { inspect } from 'node:util';
3
- import { d as appendPrivateFileSync, c as configuration } from './configuration-PxzEJumr.mjs';
3
+ import { d as appendPrivateFileSync, c as configuration } from './configuration-BPrfb17M.mjs';
4
4
  import { existsSync, readdirSync, statSync } from 'node:fs';
5
5
  import { join, basename } from 'node:path';
6
6
 
@@ -236,7 +236,7 @@ async function listDaemonLogFiles(limit = 50) {
236
236
  return { file, path: fullPath, modified: stats.mtime };
237
237
  }).sort((a, b) => b.modified.getTime() - a.modified.getTime());
238
238
  try {
239
- const { readDaemonState } = await import('./persistence-BFUOHW5h.mjs').then(function (n) { return n.F; });
239
+ const { readDaemonState } = await import('./persistence-D2Djrf7t.mjs').then(function (n) { return n.F; });
240
240
  const state = await readDaemonState();
241
241
  if (!state) {
242
242
  return logs;
@@ -1,9 +1,9 @@
1
1
  import os from 'node:os';
2
- import { p as packageJson } from './package-7Ld1YMhh.mjs';
3
- import { c as configuration } from './configuration-PxzEJumr.mjs';
2
+ import { p as packageJson } from './package-DYGwlmXl.mjs';
3
+ import { c as configuration } from './configuration-BPrfb17M.mjs';
4
4
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
5
5
  import { d as detectCLIAvailability } from './detectCLI-CSGMlV51.mjs';
6
- import { d as detectResumeSupport } from './localHappyAgentAuth-Dn1jYDpt.mjs';
6
+ import { d as detectResumeSupport } from './localHappyAgentAuth-IKmeRpuQ.mjs';
7
7
 
8
8
  const TEAM_RETRY_CAPABILITY_VERSION = 2;
9
9
  const TEAM_CLEANUP_RETRY_MS = 5 * 6e4;
@@ -64,5 +64,12 @@ function getInitialMachineMetadata() {
64
64
  function getStartupCliAvailability() {
65
65
  return compute().cliAvailability;
66
66
  }
67
+ function withRunningCliFacts(current, initial) {
68
+ return {
69
+ ...current ?? initial,
70
+ happyCliVersion: initial.happyCliVersion,
71
+ happyLibDir: initial.happyLibDir
72
+ };
73
+ }
67
74
 
68
- export { TEAM_SPAWN_MAX_ATTEMPTS as T, afterStartupFailure as a, startupFailureMessage as b, consumeOwnerRetry as c, TEAM_CLEANUP_RETRY_MS as d, getStartupCliAvailability as e, TEAM_RETRY_CAPABILITY_VERSION as f, getInitialMachineMetadata as g, ownerRetryPending as o, spawnGate as s };
75
+ export { TEAM_SPAWN_MAX_ATTEMPTS as T, afterStartupFailure as a, startupFailureMessage as b, consumeOwnerRetry as c, TEAM_CLEANUP_RETRY_MS as d, getStartupCliAvailability as e, TEAM_RETRY_CAPABILITY_VERSION as f, getInitialMachineMetadata as g, ownerRetryPending as o, spawnGate as s, withRunningCliFacts as w };
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var os = require('node:os');
4
- var _package = require('./package-KhLqBDX9.cjs');
5
- var configuration = require('./configuration-CYO-kPOS.cjs');
4
+ var _package = require('./package-NoD8QOOM.cjs');
5
+ var configuration = require('./configuration-C8JgseHy.cjs');
6
6
  var projectPath = require('./projectPath-C3ioB4Bu.cjs');
7
7
  var detectCLI = require('./detectCLI-BuYR_Qxe.cjs');
8
- var localHappyAgentAuth = require('./localHappyAgentAuth-DZHQnIW9.cjs');
8
+ var localHappyAgentAuth = require('./localHappyAgentAuth-DZ2kb9uq.cjs');
9
9
 
10
10
  const TEAM_RETRY_CAPABILITY_VERSION = 2;
11
11
  const TEAM_CLEANUP_RETRY_MS = 5 * 6e4;
@@ -66,6 +66,13 @@ function getInitialMachineMetadata() {
66
66
  function getStartupCliAvailability() {
67
67
  return compute().cliAvailability;
68
68
  }
69
+ function withRunningCliFacts(current, initial) {
70
+ return {
71
+ ...current ?? initial,
72
+ happyCliVersion: initial.happyCliVersion,
73
+ happyLibDir: initial.happyLibDir
74
+ };
75
+ }
69
76
 
70
77
  exports.TEAM_CLEANUP_RETRY_MS = TEAM_CLEANUP_RETRY_MS;
71
78
  exports.TEAM_RETRY_CAPABILITY_VERSION = TEAM_RETRY_CAPABILITY_VERSION;
@@ -77,3 +84,4 @@ exports.getStartupCliAvailability = getStartupCliAvailability;
77
84
  exports.ownerRetryPending = ownerRetryPending;
78
85
  exports.spawnGate = spawnGate;
79
86
  exports.startupFailureMessage = startupFailureMessage;
87
+ exports.withRunningCliFacts = withRunningCliFacts;