very-happy-cli 0.2.177 → 0.2.179

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 (203) hide show
  1. package/dist/{AcpBackend-B0K0WrtW.mjs → AcpBackend-CHp3y7cb.mjs} +135 -16
  2. package/dist/{AcpBackend-B-ny68XM.cjs → AcpBackend-DFipFF7-.cjs} +135 -16
  3. package/dist/{AcpSessionManager-CjdJLofq.cjs → AcpSessionManager-0zpvRJXc.cjs} +38 -4
  4. package/dist/{AcpSessionManager-DykjzBM4.mjs → AcpSessionManager-d2-rKWWa.mjs} +38 -4
  5. package/dist/{BasePermissionHandler-DR6nxuEn.cjs → BasePermissionHandler-CH3zuEkA.cjs} +5 -2
  6. package/dist/{BasePermissionHandler-hdY7kTqX.mjs → BasePermissionHandler-DdZBYIR4.mjs} +5 -2
  7. package/dist/acpSessionResume-DTGmAPLt.mjs +67 -0
  8. package/dist/acpSessionResume-oiCBnAVA.cjs +74 -0
  9. package/dist/{agentHome-BdTXEUPe.cjs → agentHome-BWcz8mz0.cjs} +5 -5
  10. package/dist/{agentHome-GRN2VfHv.mjs → agentHome-CghLvL_1.mjs} +5 -5
  11. package/dist/{api-BWX10o97.cjs → api-Cmjfr8Z7.cjs} +29 -261
  12. package/dist/{api-CKBViqI3.mjs → api-CzwFpJQc.mjs} +22 -254
  13. package/dist/{apiMachine-DttO4UFj.mjs → apiMachine-DJkTEiqy.mjs} +53 -16
  14. package/dist/{apiMachine-BYYFGgFs.cjs → apiMachine-G6OogT08.cjs} +53 -16
  15. package/dist/{attachmentContent-cPVF463_.mjs → attachmentContent-B2os4HbA.mjs} +2 -2
  16. package/dist/{attachmentContent-kJKXpkMX.cjs → attachmentContent-Bo0UAsSu.cjs} +4 -4
  17. package/dist/{auth-BmESeKuM.mjs → auth-BS6PaOOG.mjs} +6 -6
  18. package/dist/{auth-CTECt2Oz.cjs → auth-D6bBUwZa.cjs} +6 -6
  19. package/dist/{auth-CKdXb9zp.mjs → auth-DMX0xPNK.mjs} +9 -9
  20. package/dist/{auth-DNxVmVbn.cjs → auth-HEhRaNgL.cjs} +9 -9
  21. package/dist/{authRelay-DSAvg1uv.mjs → authRelay-DhQhkBvX.mjs} +1 -1
  22. package/dist/{authRelay-BdYkC1Po.cjs → authRelay-Dy1qU9td.cjs} +1 -0
  23. package/dist/{auto-D1ypjjfx.cjs → auto-C6I55iOh.cjs} +19 -18
  24. package/dist/{auto-Ch3203qd.mjs → auto-Cl1SEDcD.mjs} +19 -18
  25. package/dist/{bootstrap-6OI698q9.cjs → bootstrap-exVucYav.cjs} +2 -2
  26. package/dist/{bootstrap-C0s2bPFQ.mjs → bootstrap-iuyufnp3.mjs} +2 -2
  27. package/dist/{browser-DG6Uof5O.cjs → browser-BohJK12g.cjs} +1 -1
  28. package/dist/{browser-BlLWZUMx.mjs → browser-CSYum7xH.mjs} +1 -1
  29. package/dist/{claudeLocal-CcWcKnoo.mjs → claudeLocal-Dq_R3Ax_.mjs} +6 -5
  30. package/dist/{claudeLocal-CemsIArT.cjs → claudeLocal-re4yjSTx.cjs} +6 -5
  31. package/dist/{claudeLocalLauncher-A4VuevIi.cjs → claudeLocalLauncher-B4hJHpCA.cjs} +11 -10
  32. package/dist/{claudeLocalLauncher-7p6y88nj.mjs → claudeLocalLauncher-CN67lN7-.mjs} +11 -10
  33. package/dist/{claudeSessionFork-BtROOjqf.mjs → claudeSessionFork-BihfD0Ik.mjs} +1 -1
  34. package/dist/{claudeSessionFork-CbDfm8Fz.cjs → claudeSessionFork-DiSMYerV.cjs} +1 -1
  35. package/dist/{client-DyvBTYee.cjs → client-BKcK1Bi-.cjs} +3 -3
  36. package/dist/client-BhoEBnuN.mjs +71 -0
  37. package/dist/{client-COmgDDy0.cjs → client-CuVdN6PP.cjs} +2 -2
  38. package/dist/{client-BPMWutfs.mjs → client-DuTDwWSQ.mjs} +3 -3
  39. package/dist/client-ZjOsn6nZ.cjs +76 -0
  40. package/dist/{client-DG5ndWLw.mjs → client-wo9nbxuf.mjs} +2 -2
  41. package/dist/codex/happyMcpStdioBridge.cjs +25 -16
  42. package/dist/codex/happyMcpStdioBridge.mjs +25 -16
  43. package/dist/{codexAppServerClient-D-Z8qSfI.mjs → codexAppServerClient-BK3zra_1.mjs} +3 -3
  44. package/dist/{codexAppServerClient-R24WZZfg.cjs → codexAppServerClient-Dt5zxrun.cjs} +3 -3
  45. package/dist/{codexCommand-CVTkZJ1o.mjs → codexCommand-B6pY7CMh.mjs} +66 -61
  46. package/dist/{codexCommand-6hW19gsq.cjs → codexCommand-CAZ1SLjg.cjs} +89 -84
  47. package/dist/{codexTermination-CCIfwzcx.mjs → codexTermination-Cd1Eon_4.mjs} +1 -1
  48. package/dist/{codexTermination-BBU7e92y.cjs → codexTermination-DmGbHxcD.cjs} +1 -1
  49. package/dist/{config-CvsNChKX.mjs → config-2oMG_fEI.mjs} +3 -3
  50. package/dist/{config-DhdrvOLV.cjs → config-B0uK6K7n.cjs} +3 -3
  51. package/dist/{configuration-DZPy0T9Z.cjs → configuration-CMHZnp6G.cjs} +1 -1
  52. package/dist/{configuration-D55F0t16.mjs → configuration-WMi4idBB.mjs} +1 -1
  53. package/dist/{connect-CwCXMRmD.mjs → connect-BLVHhHzA.mjs} +15 -15
  54. package/dist/{connect-Wz-XZYXW.cjs → connect-uaglGrde.cjs} +15 -15
  55. package/dist/{context-BKbrZ55r.cjs → context-DXzU5bFM.cjs} +1 -1
  56. package/dist/{context-CCRpVXFo.mjs → context-DploEcoN.mjs} +1 -1
  57. package/dist/{controlClient-C4xB5J6O.mjs → controlClient-BWUJrj3t.mjs} +3 -3
  58. package/dist/{controlClient-SX8gSza2.cjs → controlClient-C-5qCt8W.cjs} +3 -3
  59. package/dist/{createSessionMetadata-Bi-m0Y_O.mjs → createSessionMetadata-3uXrJgOW.mjs} +2 -2
  60. package/dist/{createSessionMetadata-BCFmYlBo.cjs → createSessionMetadata-BkIzHALd.cjs} +2 -2
  61. package/dist/{defaultPermissionMode-wBcbBezm.mjs → defaultPermissionMode-BzxLh20a.mjs} +2 -2
  62. package/dist/{defaultPermissionMode-DMBEnXll.cjs → defaultPermissionMode-pS3vmiSg.cjs} +2 -2
  63. package/dist/{deterministicJson-ChGfQEF6.cjs → deterministicJson-B8z2GPi9.cjs} +220 -14
  64. package/dist/{deterministicJson-BkQETt8_.mjs → deterministicJson-D_whDMFd.mjs} +217 -12
  65. package/dist/{doctor-BsN3JZJn.cjs → doctor-Br1Kcy2J.cjs} +8 -8
  66. package/dist/{doctor-B9c2C9dF.mjs → doctor-CmtSsR2-.mjs} +8 -8
  67. package/dist/{downloadTarget-Dj3WoVJa.cjs → downloadTarget-BQJK_6oH.cjs} +6 -6
  68. package/dist/{downloadTarget-ByXzbDK4.mjs → downloadTarget-BoNwTIH_.mjs} +6 -6
  69. package/dist/{ensureDaemonRunning-7Wb8M7Lv.cjs → ensureDaemonRunning-BRUmsq6J.cjs} +5 -5
  70. package/dist/{ensureDaemonRunning--HYzs5Ce.mjs → ensureDaemonRunning-Czo9IHJQ.mjs} +5 -5
  71. package/dist/{handleResumeCommand-DHddBkNJ.mjs → handleResumeCommand-C8thKjqf.mjs} +22 -6
  72. package/dist/{handleResumeCommand-OmuUGYjQ.cjs → handleResumeCommand-tKD_Hpxc.cjs} +22 -6
  73. package/dist/{index-CrR4JISa.cjs → index-B0UjHlAe.cjs} +5 -5
  74. package/dist/{index-BzJNDsJq.mjs → index-BTxHphpV.mjs} +254 -49
  75. package/dist/index-BiyC7cZ3.mjs +18 -0
  76. package/dist/{index-De8L5lFK.cjs → index-C6O2vVjm.cjs} +156 -34
  77. package/dist/index-CUuc6iCn.cjs +24 -0
  78. package/dist/{index-Dhl6_bw7.mjs → index-CdQI0C9p.mjs} +5 -5
  79. package/dist/{index-D9NoYc5I.cjs → index-D09T1m8Y.cjs} +3 -3
  80. package/dist/{index-CEm0MYiS.mjs → index-D3bidoG8.mjs} +3 -3
  81. package/dist/{index-BRJzH4sc.cjs → index-DMqDMT1Q.cjs} +257 -52
  82. package/dist/{index-DMy3OCBe.mjs → index-DPOa4NhL.mjs} +154 -35
  83. package/dist/index.cjs +2 -2
  84. package/dist/index.mjs +2 -2
  85. package/dist/{install-BdvKiOQw.mjs → install-BX3lv3NO.mjs} +1 -1
  86. package/dist/{install-Cf6AFSWC.cjs → install-BXvf2E3o.cjs} +1 -1
  87. package/dist/{install-1qn-D9FS.cjs → install-CYRZxS87.cjs} +3 -3
  88. package/dist/{install-BDIUtPXi.mjs → install-hnve_9vq.mjs} +3 -3
  89. package/dist/lib.cjs +14 -14
  90. package/dist/lib.d.cts +65 -1
  91. package/dist/lib.d.mts +65 -1
  92. package/dist/lib.mjs +14 -14
  93. package/dist/{lidState-BqVsw7H1.mjs → lidState-Bb8fgXg3.mjs} +2 -2
  94. package/dist/{lidState-DxbK0qfu.cjs → lidState-Dv2wwFTj.cjs} +2 -2
  95. package/dist/{localHappyAgentAuth-D5tANdRD.cjs → localHappyAgentAuth-DjYvkXvV.cjs} +2 -2
  96. package/dist/{localHappyAgentAuth-Ce8kO2yc.mjs → localHappyAgentAuth-NEU7fax7.mjs} +2 -2
  97. package/dist/{logger-13cBr_ew.mjs → logger-BtVhHnD8.mjs} +2 -2
  98. package/dist/{logger-LvwVeATU.cjs → logger-C1GWx3gi.cjs} +2 -2
  99. package/dist/{machineMetadata-29h7vgf4.cjs → machineMetadata-CLHS9sv_.cjs} +3 -3
  100. package/dist/{machineMetadata-dMida2qq.mjs → machineMetadata-D-g--oU_.mjs} +3 -3
  101. package/dist/{main-x4nAhdH5.mjs → main-B2LWV8DI.mjs} +59 -46
  102. package/dist/{main-DpM5jaFH.cjs → main-CWhSsbtU.cjs} +59 -46
  103. package/dist/{mcp-DQv3caXs.cjs → mcp-CARUsXHV.cjs} +15 -15
  104. package/dist/{mcp-DMiFGYMT.mjs → mcp-ext92q3Y.mjs} +15 -15
  105. package/dist/{mirrorProtocol-Bz8tEabR.mjs → mirrorProtocol-BwYibqry.mjs} +3 -3
  106. package/dist/{mirrorProtocol-BfrERW7Z.cjs → mirrorProtocol-DEy2g1CB.cjs} +3 -3
  107. package/dist/{package-CjlsAaRe.mjs → package-BPPebGQF.mjs} +7 -7
  108. package/dist/{package-Ch9WGDV_.cjs → package-SgqTYsjn.cjs} +7 -7
  109. package/dist/panels-BZ0_Tt7B.mjs +137 -0
  110. package/dist/panels-D1c7q2dD.cjs +142 -0
  111. package/dist/{peerTools-CxmrKnfV.mjs → peerTools-CWKzcQ7u.mjs} +60 -10
  112. package/dist/{peerTools-DtGKWli5.cjs → peerTools-DRQETXaz.cjs} +60 -9
  113. package/dist/{persistence-DXbKOHxl.cjs → persistence-BegE7NPa.cjs} +14 -3
  114. package/dist/{persistence-C_tYtOqK.mjs → persistence-Cr-wutZ4.mjs} +14 -4
  115. package/dist/{piRunnerArgs-BVRZe2AR.cjs → piRunnerArgs-Cs-378Vz.cjs} +8 -2
  116. package/dist/{piRunnerArgs-BpHc-JZl.mjs → piRunnerArgs-DwvM_yWA.mjs} +7 -1
  117. package/dist/{piRuntime-D7eio8Ix.cjs → piRuntime-BG-1td_n.cjs} +2 -2
  118. package/dist/{piRuntime-DOdGF395.mjs → piRuntime-Bue5mnlc.mjs} +2 -2
  119. package/dist/{piTerminal-dpxz4Q8D.mjs → piTerminal-B5x9X5yV.mjs} +18 -18
  120. package/dist/{piTerminal-y_PRo2NY.cjs → piTerminal-G4z-xVyy.cjs} +18 -18
  121. package/dist/processTreeSnapshot-CuLJDNC-.mjs +101 -0
  122. package/dist/processTreeSnapshot-mDbnuojn.cjs +105 -0
  123. package/dist/prompt-BOouDaTM.mjs +99 -0
  124. package/dist/prompt-lgF9IE82.cjs +105 -0
  125. package/dist/{attachmentLimits-Di1Z93lN.mjs → pushNotifications-BdFjDjQe.mjs} +303 -3
  126. package/dist/{attachmentLimits-DtFqqiwR.cjs → pushNotifications-DaLQUyi0.cjs} +304 -2
  127. package/dist/{index-DFPT4HOO.cjs → query-Ctfg-5gy.cjs} +25 -5
  128. package/dist/{index-CEjJnq05.mjs → query-DYP_W1wp.mjs} +26 -3
  129. package/dist/{rateLimitWindows-DYHDGuzQ.mjs → rateLimitWindows-CuEqk_0g.mjs} +1 -1
  130. package/dist/{rateLimitWindows-DFnMU2Vt.cjs → rateLimitWindows-Dj_8voBK.cjs} +1 -1
  131. package/dist/{registerCommonHandlers-D8OMpBbQ.mjs → registerCommonHandlers-BAlP7SGc.mjs} +2 -2
  132. package/dist/{registerCommonHandlers-60VuTkdg.cjs → registerCommonHandlers-Cj084Sg7.cjs} +2 -2
  133. package/dist/{registerKillSessionHandler-Drhf7-Vz.mjs → registerKillSessionHandler-PD0jWtQo.mjs} +6 -6
  134. package/dist/{registerKillSessionHandler-pqChBKwO.cjs → registerKillSessionHandler-qMju0ZfF.cjs} +6 -6
  135. package/dist/{remoteSessionClient-B7NvjHD3.cjs → remoteSessionClient-B7i7MkYV.cjs} +5 -5
  136. package/dist/{remoteSessionClient-D01Hso2-.mjs → remoteSessionClient-Bn2qu5C5.mjs} +5 -5
  137. package/dist/{reportProgressTool-Du_zAK4h.cjs → reportProgressTool-CM1JFAHg.cjs} +84 -2
  138. package/dist/{reportProgressTool-B203EZCR.mjs → reportProgressTool-gHItlSzz.mjs} +82 -3
  139. package/dist/{resources-JDPugcDq.cjs → resources-CvIlkzpP.cjs} +30 -0
  140. package/dist/{resources-BdFBQi8r.mjs → resources-y9jfyO-_.mjs} +30 -0
  141. package/dist/{run-DX4Zs3Ug.mjs → run-BM4TxiyN.mjs} +249 -45
  142. package/dist/{run-DZ5jU53c.cjs → run-CNXwIe0A.cjs} +263 -59
  143. package/dist/{runClaude-ClRhHpwR.cjs → runClaude-CWhj2V4Q.cjs} +37 -41
  144. package/dist/{runClaude-CgPHXP0L.mjs → runClaude-C_3I8hvR.mjs} +37 -41
  145. package/dist/{runClaudeDeps-D2v_WDSL.cjs → runClaudeDeps-B81cOKnH.cjs} +295 -157
  146. package/dist/{runClaudeDeps-Dz2iydq4.mjs → runClaudeDeps-QGrOeDe2.mjs} +295 -160
  147. package/dist/{runGemini-DBXxpoY8.mjs → runGemini-BEdWEZLR.mjs} +61 -55
  148. package/dist/{runGemini-BtZqGFkp.cjs → runGemini-CgRLYbt5.cjs} +61 -55
  149. package/dist/{runOpenClaw-D8q8G57u.cjs → runOpenClaw-C1NVmzOL.cjs} +19 -19
  150. package/dist/{runOpenClaw-BOHpzCEU.mjs → runOpenClaw-DdQZAYj1.mjs} +19 -19
  151. package/dist/{sandbox-C452Vrsc.mjs → sandbox-DjQUdCMG.mjs} +5 -5
  152. package/dist/{sandbox-Cu9mMzjx.cjs → sandbox-nocIjliq.cjs} +5 -5
  153. package/dist/selfCheck-CjCF4C3v.mjs +85 -0
  154. package/dist/{selfCheck-gKa3uVr1.cjs → selfCheck-DCt4Uzbq.cjs} +36 -35
  155. package/dist/{send-B8HARi7x.mjs → send-Ct7X4pPU.mjs} +9 -9
  156. package/dist/{send-2Vb5eppI.cjs → send-Dydf_hwZ.cjs} +9 -9
  157. package/dist/{server-Db9Wuam3.cjs → server-CosABFbd.cjs} +7 -7
  158. package/dist/{server-BBWCIZyS.mjs → server-DTQGZMxh.mjs} +5 -5
  159. package/dist/{sessionLock-6qL_N6Rn.cjs → sessionLock-DokGab2R.cjs} +16 -3
  160. package/dist/{sessionLock-ZfvFVdUi.mjs → sessionLock-WYIyaVO4.mjs} +16 -4
  161. package/dist/{sessionOps-CdgbEJgf.mjs → sessionOps-BIGgRube.mjs} +11 -6
  162. package/dist/{sessionOps-Dmt7WUUs.cjs → sessionOps-S-qPBLFf.cjs} +11 -6
  163. package/dist/{sessionScanner-CQL_WSaC.cjs → sessionScanner-CIMM2hvZ.cjs} +3 -3
  164. package/dist/{sessionScanner-CNVaSNOn.mjs → sessionScanner-o5hnMi5e.mjs} +3 -3
  165. package/dist/{sessions-DTomHfFg.mjs → sessions-BJHEZpi2.mjs} +40 -18
  166. package/dist/{sessions-BJblG_Hx.cjs → sessions-JchI1w3z.cjs} +40 -17
  167. package/dist/{setupOfflineReconnection-DVA0VpQL.cjs → setupOfflineReconnection-CNiAt5ZP.cjs} +2 -2
  168. package/dist/{setupOfflineReconnection-C5trsV-j.mjs → setupOfflineReconnection-DMiBO2y9.mjs} +2 -2
  169. package/dist/{spawn-DRyNAqD8.cjs → spawn-6PD7nnoC.cjs} +49 -18
  170. package/dist/{spawn-CQJFgoOq.mjs → spawn-DgvUNYEo.mjs} +49 -18
  171. package/dist/{spawnAgents-CCjJifAW.cjs → spawnAgents-DsXgegHM.cjs} +37 -1
  172. package/dist/spawnAgents-P006Hqio.mjs +79 -0
  173. package/dist/{spawnHappyCLI-B_0RWxD4.mjs → spawnHappyCLI-CCOrEtf9.mjs} +1 -1
  174. package/dist/{spawnHappyCLI-ChniczJ5.cjs → spawnHappyCLI-Dywezwk6.cjs} +1 -1
  175. package/dist/{specialCommands-DkdFJi4N.mjs → specialCommands-DPcd9edP.mjs} +3 -3
  176. package/dist/{specialCommands-DbntVs0d.cjs → specialCommands-QxPpkGKf.cjs} +3 -3
  177. package/dist/{startFileWatcher-UQyTSRAP.mjs → startFileWatcher-DghDOCO4.mjs} +1 -1
  178. package/dist/{startFileWatcher-C292fhra.cjs → startFileWatcher-RECH5qY8.cjs} +1 -1
  179. package/dist/{streamRelay-_qCd873P.mjs → streamRelay-DMV_TXfS.mjs} +1 -1
  180. package/dist/{streamRelay-Cx01enfe.cjs → streamRelay-DlUWKUpo.cjs} +1 -1
  181. package/dist/{sync-C3p7-KLn.mjs → sync-CSe0Rf45.mjs} +1 -1
  182. package/dist/{sync-C7sxoUYG.cjs → sync-D23jbqVa.cjs} +1 -1
  183. package/dist/{systemPrompt-DtibzbRU.cjs → systemPrompt-BOy4kU4P.cjs} +4 -3
  184. package/dist/{systemPrompt-CdHOlyVW.mjs → systemPrompt-CFNKnh65.mjs} +4 -3
  185. package/dist/{teams-ujXr3AFn.mjs → teams-DyY669f0.mjs} +9 -9
  186. package/dist/{teams-D7O7TpVU.cjs → teams-Ov2BDT-A.cjs} +9 -9
  187. package/dist/{time-yEL6wHUF.mjs → time-65DcU6Jx.mjs} +1 -1
  188. package/dist/{time-Dg5tVB8S.cjs → time-CrwIMHta.cjs} +1 -1
  189. package/dist/{titleGenerator-BMEaDTwU.cjs → titleGenerator-CS_rh2_J.cjs} +9 -8
  190. package/dist/{titleGenerator-Dr-BtjzO.mjs → titleGenerator-CiAMxf7s.mjs} +9 -8
  191. package/dist/{todo-CvJe4M2C.mjs → todo-BDONw0sK.mjs} +7 -7
  192. package/dist/{todo-CUcFamGs.cjs → todo-KY-okGii.cjs} +7 -7
  193. package/dist/{tools-BrM3bZW5.mjs → tools-D8-PnZEG.mjs} +1 -1
  194. package/dist/{tools-DDKTB5aQ.cjs → tools-_w52DZG6.cjs} +1 -1
  195. package/dist/{uninstall-7oLuhYIu.cjs → uninstall-8vnLN-IE.cjs} +3 -3
  196. package/dist/{uninstall-CEcMMQGz.mjs → uninstall-_fjGRP9b.mjs} +3 -3
  197. package/dist/webPanels-B2_C2-3g.mjs +49 -0
  198. package/dist/webPanels-FCgFKvVe.cjs +53 -0
  199. package/package.json +7 -7
  200. package/dist/selfCheck-BAvqBwBR.mjs +0 -84
  201. package/dist/sessionModeFile-CWVq8AT9.mjs +0 -32
  202. package/dist/sessionModeFile-CsLtn_PL.cjs +0 -36
  203. package/dist/spawnAgents-BjtmjBvP.mjs +0 -45
@@ -1,5 +1,5 @@
1
- import { c as configuration } from './configuration-D55F0t16.mjs';
2
- import { c as readCredentialsForConfiguredRelay, r as readSettings } from './persistence-C_tYtOqK.mjs';
1
+ import { c as configuration } from './configuration-WMi4idBB.mjs';
2
+ import { b as readCredentialsForConfiguredRelay, r as readSettings } from './persistence-Cr-wutZ4.mjs';
3
3
 
4
4
  class AutomationsRequestError extends Error {
5
5
  constructor(status, code, runStatus) {
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var tools = require('../tools-DDKTB5aQ.cjs');
4
- var reportProgressTool = require('../reportProgressTool-Du_zAK4h.cjs');
5
- var peerTools = require('../peerTools-DtGKWli5.cjs');
3
+ var tools = require('../tools-_w52DZG6.cjs');
4
+ var reportProgressTool = require('../reportProgressTool-CM1JFAHg.cjs');
5
+ var peerTools = require('../peerTools-DRQETXaz.cjs');
6
6
  var agentGuidance = require('../agentGuidance-BtBx2xxE.cjs');
7
7
  var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
8
8
  var stdio_js = require('@modelcontextprotocol/sdk/server/stdio.js');
@@ -10,33 +10,35 @@ var index_js = require('@modelcontextprotocol/sdk/client/index.js');
10
10
  var streamableHttp_js = require('@modelcontextprotocol/sdk/client/streamableHttp.js');
11
11
  var z = require('zod');
12
12
  var limits = require('../limits-C-a7gr04.cjs');
13
- require('../client-DyvBTYee.cjs');
13
+ require('../client-BKcK1Bi-.cjs');
14
14
  require('node:crypto');
15
- require('../configuration-DZPy0T9Z.cjs');
15
+ require('../configuration-CMHZnp6G.cjs');
16
16
  require('node:fs');
17
17
  require('node:os');
18
18
  require('node:path');
19
- require('../package-Ch9WGDV_.cjs');
19
+ require('../package-SgqTYsjn.cjs');
20
20
  require('node:fs/promises');
21
- require('../persistence-DXbKOHxl.cjs');
22
- require('../authRelay-BdYkC1Po.cjs');
21
+ require('../persistence-BegE7NPa.cjs');
22
+ require('../authRelay-Dy1qU9td.cjs');
23
23
  require('tweetnacl');
24
- require('../logger-LvwVeATU.cjs');
24
+ require('../logger-C1GWx3gi.cjs');
25
25
  require('chalk');
26
26
  require('node:util');
27
- require('../context-BKbrZ55r.cjs');
28
- require('../index-De8L5lFK.cjs');
27
+ require('../context-DXzU5bFM.cjs');
28
+ require('../index-C6O2vVjm.cjs');
29
29
  require('@paralleldrive/cuid2');
30
- require('../client-COmgDDy0.cjs');
30
+ require('../client-CuVdN6PP.cjs');
31
31
  require('../precheckCompat-CWOi5c9L.cjs');
32
+ require('../client-ZjOsn6nZ.cjs');
33
+ require('../prompt-lgF9IE82.cjs');
32
34
  require('../ids-B6ZC0HGt.cjs');
33
- require('../controlClient-SX8gSza2.cjs');
34
- require('../sessionOps-Dmt7WUUs.cjs');
35
+ require('../controlClient-C-5qCt8W.cjs');
36
+ require('../sessionOps-S-qPBLFf.cjs');
35
37
  require('axios');
36
- require('../time-Dg5tVB8S.cjs');
38
+ require('../time-CrwIMHta.cjs');
37
39
  require('socket.io-client');
38
40
  require('../backgroundTaskActivity-CBvUdj39.cjs');
39
- require('../remoteSessionClient-B7NvjHD3.cjs');
41
+ require('../remoteSessionClient-B7i7MkYV.cjs');
40
42
  require('../trimIdent-4gvk9Wk6.cjs');
41
43
 
42
44
  function parseArgs(argv) {
@@ -168,6 +170,13 @@ async function main() {
168
170
  });
169
171
  reportProgressTool.registerAutomationTools(server, (name, args) => forwardTeam(name, args));
170
172
  peerTools.registerSessionPeerTools(server, (name, args) => forwardTeam(name, args));
173
+ reportProgressTool.registerProjectTools(server, async (name, args) => {
174
+ const response = await (await ensureHttpClient()).callTool({ name, arguments: args });
175
+ const content = response.content;
176
+ const text = content.filter((block) => block.type === "text").map((block) => block.text ?? "").join("\n");
177
+ if (response.isError) throw new Error(text || "Project request failed");
178
+ return { text };
179
+ });
171
180
  reportProgressTool.registerReportProgressTool(server, async (args) => (await ensureHttpClient()).callTool({ name: agentGuidance.REPORT_PROGRESS_TOOL_NAME, arguments: args }));
172
181
  const stdio = new stdio_js.StdioServerTransport();
173
182
  await server.connect(stdio);
@@ -1,6 +1,6 @@
1
- import { r as registerTeamsTools } from '../tools-BrM3bZW5.mjs';
2
- import { r as registerAutomationTools, a as registerReportProgressTool } from '../reportProgressTool-B203EZCR.mjs';
3
- import { r as registerSessionPeerTools } from '../peerTools-CxmrKnfV.mjs';
1
+ import { r as registerTeamsTools } from '../tools-D8-PnZEG.mjs';
2
+ import { r as registerAutomationTools, a as registerProjectTools, b as registerReportProgressTool } from '../reportProgressTool-gHItlSzz.mjs';
3
+ import { r as registerSessionPeerTools } from '../peerTools-CWKzcQ7u.mjs';
4
4
  import { P as PREVIEW_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION, c as PREVIEW_DOWNLOAD_PARAM_DESCRIPTION, R as REPORT_PROGRESS_TOOL_NAME } from '../agentGuidance-BDYt2Qy2.mjs';
5
5
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
6
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
@@ -8,33 +8,35 @@ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
8
8
  import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
9
9
  import { z } from 'zod';
10
10
  import { C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION } from '../limits-DIo7rEBR.mjs';
11
- import '../client-BPMWutfs.mjs';
11
+ import '../client-DuTDwWSQ.mjs';
12
12
  import 'node:crypto';
13
- import '../configuration-D55F0t16.mjs';
13
+ import '../configuration-WMi4idBB.mjs';
14
14
  import 'node:fs';
15
15
  import 'node:os';
16
16
  import 'node:path';
17
- import '../package-CjlsAaRe.mjs';
17
+ import '../package-BPPebGQF.mjs';
18
18
  import 'node:fs/promises';
19
- import '../persistence-C_tYtOqK.mjs';
20
- import '../authRelay-DSAvg1uv.mjs';
19
+ import '../persistence-Cr-wutZ4.mjs';
20
+ import '../authRelay-DhQhkBvX.mjs';
21
21
  import 'tweetnacl';
22
- import '../logger-13cBr_ew.mjs';
22
+ import '../logger-BtVhHnD8.mjs';
23
23
  import 'chalk';
24
24
  import 'node:util';
25
- import '../context-CCRpVXFo.mjs';
26
- import '../index-DMy3OCBe.mjs';
25
+ import '../context-DploEcoN.mjs';
26
+ import '../index-DPOa4NhL.mjs';
27
27
  import '@paralleldrive/cuid2';
28
- import '../client-DG5ndWLw.mjs';
28
+ import '../client-wo9nbxuf.mjs';
29
29
  import '../precheckCompat-DeEbilbr.mjs';
30
+ import '../client-BhoEBnuN.mjs';
31
+ import '../prompt-BOouDaTM.mjs';
30
32
  import '../ids-DU6sLx4C.mjs';
31
- import '../controlClient-C4xB5J6O.mjs';
32
- import '../sessionOps-CdgbEJgf.mjs';
33
+ import '../controlClient-BWUJrj3t.mjs';
34
+ import '../sessionOps-BIGgRube.mjs';
33
35
  import 'axios';
34
- import '../time-yEL6wHUF.mjs';
36
+ import '../time-65DcU6Jx.mjs';
35
37
  import 'socket.io-client';
36
38
  import '../backgroundTaskActivity-BVwJBl02.mjs';
37
- import '../remoteSessionClient-D01Hso2-.mjs';
39
+ import '../remoteSessionClient-Bn2qu5C5.mjs';
38
40
  import '../trimIdent-BAjmv_TG.mjs';
39
41
 
40
42
  function parseArgs(argv) {
@@ -166,6 +168,13 @@ async function main() {
166
168
  });
167
169
  registerAutomationTools(server, (name, args) => forwardTeam(name, args));
168
170
  registerSessionPeerTools(server, (name, args) => forwardTeam(name, args));
171
+ registerProjectTools(server, async (name, args) => {
172
+ const response = await (await ensureHttpClient()).callTool({ name, arguments: args });
173
+ const content = response.content;
174
+ const text = content.filter((block) => block.type === "text").map((block) => block.text ?? "").join("\n");
175
+ if (response.isError) throw new Error(text || "Project request failed");
176
+ return { text };
177
+ });
169
178
  registerReportProgressTool(server, async (args) => (await ensureHttpClient()).callTool({ name: REPORT_PROGRESS_TOOL_NAME, arguments: args }));
170
179
  const stdio = new StdioServerTransport();
171
180
  await server.connect(stdio);
@@ -1,11 +1,11 @@
1
1
  import { execSync } from 'node:child_process';
2
2
  import { spawn } from 'cross-spawn';
3
3
  import { createInterface } from 'node:readline';
4
- import { l as logger } from './logger-13cBr_ew.mjs';
4
+ import { l as logger } from './logger-BtVhHnD8.mjs';
5
5
  import { e as errorLogMetadata, c as contentLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
6
6
  import { i as initializeSandbox, w as wrapForMcpTransport } from './manager-BEsI4qt3.mjs';
7
- import { p as packageJson } from './package-CjlsAaRe.mjs';
8
- import { s as shouldReadCodexRateLimits, i as isUnsupportedCodexMethodError } from './rateLimitWindows-DYHDGuzQ.mjs';
7
+ import { p as packageJson } from './package-BPPebGQF.mjs';
8
+ import { s as shouldReadCodexRateLimits, i as isUnsupportedCodexMethodError } from './rateLimitWindows-CuEqk_0g.mjs';
9
9
  import { s as stopProcessGracefully, k as killProcessTree } from './processTree-CP5IvQ2Z.mjs';
10
10
 
11
11
  const CODEX_HELPER_LABEL_MAX_CHARS = 80;
@@ -3,11 +3,11 @@
3
3
  var node_child_process = require('node:child_process');
4
4
  var spawn = require('cross-spawn');
5
5
  var node_readline = require('node:readline');
6
- var logger = require('./logger-LvwVeATU.cjs');
6
+ var logger = require('./logger-C1GWx3gi.cjs');
7
7
  var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
8
8
  var manager = require('./manager-HrEj442o.cjs');
9
- var _package = require('./package-Ch9WGDV_.cjs');
10
- var rateLimitWindows = require('./rateLimitWindows-DFnMU2Vt.cjs');
9
+ var _package = require('./package-SgqTYsjn.cjs');
10
+ var rateLimitWindows = require('./rateLimitWindows-Dj_8voBK.cjs');
11
11
  var processTree = require('./processTree-CMHWlVse.cjs');
12
12
 
13
13
  const CODEX_HELPER_LABEL_MAX_CHARS = 80;
@@ -1,97 +1,101 @@
1
- import { a as authAndSetupMachineIfNeeded } from './auth-BmESeKuM.mjs';
2
- import { c as createEnvelope, o as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY, r as CODEX_STEER_CAPABILITY } from './index-DMy3OCBe.mjs';
1
+ import { a as authAndSetupMachineIfNeeded } from './auth-BS6PaOOG.mjs';
2
+ import { d as createEnvelope, f as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY, u as CODEX_STEER_CAPABILITY, a as PROJECT_SESSION_CAPABILITY } from './index-DPOa4NhL.mjs';
3
+ import { h as hashObject, s as startHappyServer, c as createProjectInjector } from './deterministicJson-D_whDMFd.mjs';
4
+ import { s as sharedProjectsClient } from './client-BhoEBnuN.mjs';
3
5
  import { unlink } from 'node:fs/promises';
4
6
  import { p as publishForkBackfillWhenCommitted, F as FORK_BACKFILL_CAPABILITY } from './forkBackfill-DYIjlN1Z.mjs';
5
7
  import { randomUUID } from 'node:crypto';
6
8
  import { createId } from '@paralleldrive/cuid2';
7
9
  import { r as registerAgentAttachmentDownloads } from './agentAttachments-M_B5qEF2.mjs';
8
- import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-cPVF463_.mjs';
10
+ import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-B2os4HbA.mjs';
9
11
  import { useStdout, useInput, Box, Text, render } from 'ink';
10
- import { c as claimSessionOrExit, a as applyServerSnapshot, b as applyHibernationReplay, w as withoutServerSnapshot, m as mergeReconnectMetadata } from './sessionLock-ZfvFVdUi.mjs';
12
+ import { c as claimSessionOrExit, a as applyServerSnapshot, b as applyHibernationReplay, w as withoutServerSnapshot, m as mergeReconnectMetadata } from './sessionLock-WYIyaVO4.mjs';
11
13
  import React, { useState, useRef, useEffect, useCallback } from 'react';
12
- import { c as connectionState, A as ApiClient } from './api-CKBViqI3.mjs';
13
- import { C as CodexAppServerClient } from './codexAppServerClient-D-Z8qSfI.mjs';
14
- import { p as parseSpecialCommand, w as wrapperRateLimitReporter } from './specialCommands-DkdFJi4N.mjs';
15
- import { l as logger } from './logger-13cBr_ew.mjs';
16
- import { B as BasePermissionHandler } from './BasePermissionHandler-hdY7kTqX.mjs';
17
- import { B as BaseReasoningProcessor, s as settleCodexSession } from './codexTermination-CCIfwzcx.mjs';
14
+ import { c as connectionState, A as ApiClient } from './api-CzwFpJQc.mjs';
15
+ import { C as CodexAppServerClient } from './codexAppServerClient-BK3zra_1.mjs';
16
+ import { p as parseSpecialCommand, w as wrapperRateLimitReporter } from './specialCommands-DPcd9edP.mjs';
17
+ import { l as logger } from './logger-BtVhHnD8.mjs';
18
+ import { B as BasePermissionHandler } from './BasePermissionHandler-DdZBYIR4.mjs';
19
+ import { B as BaseReasoningProcessor, s as settleCodexSession } from './codexTermination-Cd1Eon_4.mjs';
18
20
  import { execSync } from 'node:child_process';
19
- import { r as readSettings, l as latchKeepAwake, e as evaluateWrapperIdle, a as resolveCheckMs, H as HIBERNATION_CAPABILITY } from './persistence-C_tYtOqK.mjs';
20
- import { g as getInitialMachineMetadata } from './machineMetadata-dMida2qq.mjs';
21
- import { c as configuration } from './configuration-D55F0t16.mjs';
22
- import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-Drhf7-Vz.mjs';
21
+ import { r as readSettings, l as latchKeepAwake, e as evaluateWrapperIdle, a as resolveCheckMs, H as HIBERNATION_CAPABILITY } from './persistence-Cr-wutZ4.mjs';
22
+ import { g as getInitialMachineMetadata } from './machineMetadata-D-g--oU_.mjs';
23
+ import { c as configuration } from './configuration-WMi4idBB.mjs';
24
+ import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-PD0jWtQo.mjs';
23
25
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
24
26
  import { join } from 'node:path';
25
- import { c as createSessionMetadata } from './createSessionMetadata-Bi-m0Y_O.mjs';
26
- import { h as hashObject, s as startHappyServer } from './deterministicJson-BkQETt8_.mjs';
27
+ import { c as createSessionMetadata } from './createSessionMetadata-3uXrJgOW.mjs';
27
28
  import { M as MessageBuffer } from './messageBuffer-BWlGgR3A.mjs';
28
- import { n as notifyDaemonSessionStarted, j as reportSessionEditToDaemon, c as checkDaemonHibernation } from './controlClient-C4xB5J6O.mjs';
29
- import { a as HibernationExitLatch, H as HibernationProbe, c as commitHibernation, b as DEFAULT_CODEX_PERMISSION_MODE } from './defaultPermissionMode-wBcbBezm.mjs';
30
- import { d as decodeBase64, e as encodeBase64 } from './authRelay-DSAvg1uv.mjs';
31
- import { s as setupOfflineReconnection } from './setupOfflineReconnection-C5trsV-j.mjs';
29
+ import { n as notifyDaemonSessionStarted, j as reportSessionEditToDaemon, c as checkDaemonHibernation } from './controlClient-BWUJrj3t.mjs';
30
+ import { a as HibernationExitLatch, H as HibernationProbe, c as commitHibernation, b as DEFAULT_CODEX_PERMISSION_MODE } from './defaultPermissionMode-BzxLh20a.mjs';
31
+ import { d as decodeBase64, e as encodeBase64 } from './authRelay-DhQhkBvX.mjs';
32
+ import { s as setupOfflineReconnection } from './setupOfflineReconnection-DMiBO2y9.mjs';
32
33
  import { t as trimIdent } from './trimIdent-BAjmv_TG.mjs';
33
34
  import { C as CHANGE_TITLE_INSTRUCTION } from './constants-BC4St0xd.mjs';
34
35
  import { E as EditReportThrottle, a as extractCodexPatchPaths } from './editPaths-BVfS_FFL.mjs';
35
- import { a as extractNoSandboxFlag, e as ensureDaemonRunning } from './ensureDaemonRunning--HYzs5Ce.mjs';
36
+ import { a as extractNoSandboxFlag, e as ensureDaemonRunning } from './ensureDaemonRunning-Czo9IHJQ.mjs';
36
37
  import 'tweetnacl';
37
38
  import 'axios';
38
- import './time-yEL6wHUF.mjs';
39
- import './browser-BlLWZUMx.mjs';
39
+ import './time-65DcU6Jx.mjs';
40
+ import './browser-CSYum7xH.mjs';
40
41
  import 'open';
41
42
  import 'zod';
42
- import './attachmentLimits-Di1Z93lN.mjs';
43
+ import './prompt-BOouDaTM.mjs';
44
+ import './reportProgressTool-gHItlSzz.mjs';
45
+ import './client-wo9nbxuf.mjs';
46
+ import './precheckCompat-DeEbilbr.mjs';
47
+ import './agentGuidance-BDYt2Qy2.mjs';
43
48
  import 'node:fs';
44
- import './lidState-BqVsw7H1.mjs';
49
+ import './client-DuTDwWSQ.mjs';
50
+ import './context-DploEcoN.mjs';
51
+ import './sessionOps-BIGgRube.mjs';
52
+ import 'socket.io-client';
53
+ import './backgroundTaskActivity-BVwJBl02.mjs';
54
+ import './resources-y9jfyO-_.mjs';
55
+ import './tools-D8-PnZEG.mjs';
56
+ import './peerTools-CWKzcQ7u.mjs';
57
+ import 'node:os';
58
+ import './ids-DU6sLx4C.mjs';
59
+ import './remoteSessionClient-Bn2qu5C5.mjs';
60
+ import '@modelcontextprotocol/sdk/server/mcp.js';
61
+ import 'node:http';
62
+ import '@modelcontextprotocol/sdk/server/streamableHttp.js';
63
+ import './limits-DIo7rEBR.mjs';
64
+ import './downloadTarget-BoNwTIH_.mjs';
65
+ import './terminals-Dlg0x3nY.mjs';
66
+ import './terminalTitleSuggest-CeKsX_V6.mjs';
67
+ import './tmuxSocket-B8Yx20sT.mjs';
68
+ import './bootstrap-iuyufnp3.mjs';
69
+ import './package-BPPebGQF.mjs';
70
+ import './webPanels-B2_C2-3g.mjs';
71
+ import './pushNotifications-BdFjDjQe.mjs';
72
+ import './contentLogMetadata-BlWI0egu.mjs';
73
+ import './previewPath-CXN4Vag0.mjs';
74
+ import 'crypto';
75
+ import './processTreeSnapshot-CuLJDNC-.mjs';
76
+ import './lidState-Bb8fgXg3.mjs';
45
77
  import 'os';
46
78
  import 'child_process';
47
79
  import 'node:events';
48
- import 'socket.io-client';
49
- import './limits-DIo7rEBR.mjs';
50
- import './registerCommonHandlers-D8OMpBbQ.mjs';
80
+ import './registerCommonHandlers-BAlP7SGc.mjs';
51
81
  import 'util';
52
82
  import 'fs/promises';
53
- import 'crypto';
54
83
  import 'path';
55
84
  import 'cross-spawn';
56
- import './sync-C3p7-KLn.mjs';
57
- import './backgroundTaskActivity-BVwJBl02.mjs';
58
- import './contentLogMetadata-BlWI0egu.mjs';
85
+ import './sync-CSe0Rf45.mjs';
59
86
  import 'chalk';
60
87
  import 'node:readline';
61
88
  import './manager-BEsI4qt3.mjs';
62
89
  import '@anthropic-ai/sandbox-runtime';
63
- import 'node:os';
64
- import './package-CjlsAaRe.mjs';
65
- import './rateLimitWindows-DYHDGuzQ.mjs';
90
+ import './rateLimitWindows-CuEqk_0g.mjs';
66
91
  import './processTree-CP5IvQ2Z.mjs';
67
92
  import 'node:util';
68
93
  import './detectCLI-CSGMlV51.mjs';
69
94
  import 'fs';
70
- import './localHappyAgentAuth-Ce8kO2yc.mjs';
95
+ import './localHappyAgentAuth-NEU7fax7.mjs';
71
96
  import './types-CkqAACXx.mjs';
72
97
  import 'url';
73
- import './client-BPMWutfs.mjs';
74
- import './context-CCRpVXFo.mjs';
75
- import './sessionOps-CdgbEJgf.mjs';
76
- import './resources-BdFBQi8r.mjs';
77
- import './tools-BrM3bZW5.mjs';
78
- import './reportProgressTool-B203EZCR.mjs';
79
- import './client-DG5ndWLw.mjs';
80
- import './precheckCompat-DeEbilbr.mjs';
81
- import './agentGuidance-BDYt2Qy2.mjs';
82
- import './peerTools-CxmrKnfV.mjs';
83
- import './ids-DU6sLx4C.mjs';
84
- import './remoteSessionClient-D01Hso2-.mjs';
85
- import '@modelcontextprotocol/sdk/server/mcp.js';
86
- import 'node:http';
87
- import '@modelcontextprotocol/sdk/server/streamableHttp.js';
88
- import './downloadTarget-ByXzbDK4.mjs';
89
- import './terminals-Dlg0x3nY.mjs';
90
- import './terminalTitleSuggest-CeKsX_V6.mjs';
91
- import './tmuxSocket-B8Yx20sT.mjs';
92
- import './bootstrap-C0s2bPFQ.mjs';
93
- import './previewPath-CXN4Vag0.mjs';
94
- import './spawnHappyCLI-B_0RWxD4.mjs';
98
+ import './spawnHappyCLI-CCOrEtf9.mjs';
95
99
  import './doctorReadiness-C208SMN9.mjs';
96
100
 
97
101
  function getStartedSubagents(state) {
@@ -1394,7 +1398,7 @@ async function runCodex(opts) {
1394
1398
  dangerouslySkipPermissions: initialPermissionMode === "yolo" || initialPermissionMode === "bypassPermissions",
1395
1399
  ...forkedFromSessionId ? { parentSessionId: forkedFromSessionId } : {},
1396
1400
  ...forkedFromMessageId ? { forkedFromMessageId } : {},
1397
- capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY, CODEX_STEER_CAPABILITY]
1401
+ capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY, CODEX_STEER_CAPABILITY, PROJECT_SESSION_CAPABILITY]
1398
1402
  });
1399
1403
  metadata.attachmentKinds = [...CLAUDE_ATTACHMENT_KINDS];
1400
1404
  const importCodexThreadId = process.env[IMPORT_CODEX_THREAD_ENV];
@@ -1917,7 +1921,7 @@ async function runCodex(opts) {
1917
1921
  }
1918
1922
  }
1919
1923
  });
1920
- const happyServer = await startHappyServer(session);
1924
+ const happyServer = await startHappyServer(session, { push: { sendAttention: (input) => api.push().sendAttention(input) } });
1921
1925
  const bridgeEntrypoint = join(projectPath(), "bin", "very-happy-mcp.mjs");
1922
1926
  const mcpServers = {
1923
1927
  [HAPPY_MCP_SERVER_NAME]: {
@@ -1927,6 +1931,7 @@ async function runCodex(opts) {
1927
1931
  };
1928
1932
  let first = true;
1929
1933
  let appendSystemPromptInjected = false;
1934
+ const projectInjector = createProjectInjector({ client: sharedProjectsClient(), sessionId: () => session?.sessionId, metadata: () => session?.getMetadata?.() ?? null, agent: "codex" });
1930
1935
  process.env.VH_PEER_SESSION_ID = session.sessionId;
1931
1936
  try {
1932
1937
  logger.debug("[codex]: client.connect begin");
@@ -2133,7 +2138,7 @@ async function runCodex(opts) {
2133
2138
  message.mode.appendSystemPrompt && !appendSystemPromptInjected
2134
2139
  );
2135
2140
  const turnPrompt = buildCodexTurnPrompt({
2136
- message: message.message,
2141
+ message: await projectInjector.decorate(message.message),
2137
2142
  mode: message.mode,
2138
2143
  includeAppendSystemPrompt,
2139
2144
  includeTitleInstruction: first