very-happy-cli 0.2.183 → 0.2.184

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 (194) hide show
  1. package/dist/{AcpBackend-9c-Jeaxd.mjs → AcpBackend-Csg7Sy2P.mjs} +3 -3
  2. package/dist/{AcpBackend-B-aMuEzO.cjs → AcpBackend-DOzn74zn.cjs} +3 -3
  3. package/dist/{AcpSessionManager-CS0FOSQk.mjs → AcpSessionManager-BRK2F2yN.mjs} +2 -2
  4. package/dist/{AcpSessionManager-BxXe24AV.cjs → AcpSessionManager-CJXDNNtq.cjs} +2 -2
  5. package/dist/{BasePermissionHandler-BJ1ID_Br.mjs → BasePermissionHandler-BqYwrCra.mjs} +1 -1
  6. package/dist/{BasePermissionHandler-BREjppjP.cjs → BasePermissionHandler-CfrnkG3v.cjs} +1 -1
  7. package/dist/{acpSessionResume-mVoJ75vI.cjs → acpSessionResume-DZ65DBeE.cjs} +1 -1
  8. package/dist/{acpSessionResume-BKtI9Jq_.mjs → acpSessionResume-Dz1myMbR.mjs} +1 -1
  9. package/dist/{agentHome-B8Ctr_Nu.mjs → agentHome-B_tu3tFJ.mjs} +4 -4
  10. package/dist/{agentHome-rzjm56o4.cjs → agentHome-CKAXhc8P.cjs} +4 -4
  11. package/dist/{api-C29WLYkW.mjs → api-BpTDU2BO.mjs} +10 -10
  12. package/dist/{api-xZiqVynF.cjs → api-rw5xkzxo.cjs} +10 -10
  13. package/dist/{apiMachine-B-FNBIYG.cjs → apiMachine-Bs1XXHKs.cjs} +14 -14
  14. package/dist/{apiMachine-Dz6Yfk0m.mjs → apiMachine-wp0hWG3F.mjs} +14 -14
  15. package/dist/{attachmentContent-DwY0uIg6.mjs → attachmentContent-CWSSGMMo.mjs} +2 -2
  16. package/dist/{attachmentContent-COV4LF8k.cjs → attachmentContent-K_Up4InS.cjs} +2 -2
  17. package/dist/{auth-D_qsnVr3.cjs → auth-C4_mXYgj.cjs} +8 -8
  18. package/dist/{auth-DvbSDalm.mjs → auth-CBESCCCn.mjs} +8 -8
  19. package/dist/{auth-xT70IYMx.mjs → auth-D6kSt2sR.mjs} +5 -5
  20. package/dist/{auth-CYtk9_ga.cjs → auth-gGryJImw.cjs} +5 -5
  21. package/dist/{auto-IiPqvIsN.mjs → auto-CEucVmFR.mjs} +17 -17
  22. package/dist/{auto-DT_PfpCx.cjs → auto-Do43AOza.cjs} +17 -17
  23. package/dist/{bootstrap-C50NkfPx.cjs → bootstrap-BPz1iX77.cjs} +2 -2
  24. package/dist/{bootstrap-DS8Acdhm.mjs → bootstrap-CodyCmGt.mjs} +2 -2
  25. package/dist/{browser-1j9gdZoD.mjs → browser-CqMhj8Gm.mjs} +1 -1
  26. package/dist/{browser-CxKZLd2T.cjs → browser-D9D-1eqa.cjs} +1 -1
  27. package/dist/{claudeLocal-U1Fa9sJo.mjs → claudeLocal-BgIRtT3Q.mjs} +5 -5
  28. package/dist/{claudeLocal-CgNWpepB.cjs → claudeLocal-Dywp8NKr.cjs} +5 -5
  29. package/dist/{claudeLocalLauncher-BjCsfZUE.mjs → claudeLocalLauncher-CaHjZ8HW.mjs} +10 -10
  30. package/dist/{claudeLocalLauncher-IyFm0D6a.cjs → claudeLocalLauncher-_TOL73g5.cjs} +10 -10
  31. package/dist/{claudeSessionFork-6-1vKISn.mjs → claudeSessionFork-C9nB7fs5.mjs} +1 -1
  32. package/dist/{claudeSessionFork-BUO1XdSm.cjs → claudeSessionFork-jq-_WiAu.cjs} +1 -1
  33. package/dist/{client-DYGDBD0M.cjs → client-BFDji81N.cjs} +2 -2
  34. package/dist/{client-BgHvK7lo.mjs → client-BdbVizjk.mjs} +2 -2
  35. package/dist/{client--vZueZYF.cjs → client-ByZFACEw.cjs} +18 -5
  36. package/dist/{client-DcKJ0ul_.cjs → client-C49zFRkX.cjs} +2 -2
  37. package/dist/{client-5_zDNdOh.mjs → client-CX-_2myt.mjs} +2 -2
  38. package/dist/{client-DfDyE322.mjs → client-DwlYk8uJ.mjs} +18 -5
  39. package/dist/codex/happyMcpStdioBridge.cjs +16 -16
  40. package/dist/codex/happyMcpStdioBridge.mjs +16 -16
  41. package/dist/{codexAppServerClient-DvBg4hGc.mjs → codexAppServerClient-CmOIqiNQ.mjs} +3 -3
  42. package/dist/{codexAppServerClient-C3nrTfwY.cjs → codexAppServerClient-DF12ZSw1.cjs} +3 -3
  43. package/dist/{codexCommand-Bqp2--g_.mjs → codexCommand-BN05uEyv.mjs} +42 -42
  44. package/dist/{codexCommand-DSiU6MNt.cjs → codexCommand-H-ObWTtx.cjs} +42 -42
  45. package/dist/{codexTermination-DsliWl_s.mjs → codexTermination-Byohgj8h.mjs} +1 -1
  46. package/dist/{codexTermination-D9TRTglF.cjs → codexTermination-RwKa8pKk.cjs} +1 -1
  47. package/dist/{config-DeaqRn3o.mjs → config-ChHLh-hf.mjs} +3 -3
  48. package/dist/{config-CRhWiOwi.cjs → config-D_wNqwxX.cjs} +3 -3
  49. package/dist/{configuration-K3I6yOjZ.cjs → configuration-C9Sx-Foo.cjs} +1 -1
  50. package/dist/{configuration-elzht62L.mjs → configuration-CVgUe2qN.mjs} +1 -1
  51. package/dist/{connect-B5UbfmO3.cjs → connect-B61xJDRq.cjs} +13 -13
  52. package/dist/{connect-CT5cOlnC.mjs → connect-DJEQjS7C.mjs} +13 -13
  53. package/dist/{context-DNKNF8Yh.cjs → context-Bf3BG7w8.cjs} +1 -1
  54. package/dist/{context-CLj1_RYF.mjs → context-CDPfhHTo.mjs} +1 -1
  55. package/dist/{controlClient-ChqmxgbB.cjs → controlClient-BLO1_pPx.cjs} +14 -3
  56. package/dist/{controlClient-CuYQs2aZ.mjs → controlClient-DMCxtwq2.mjs} +14 -4
  57. package/dist/{createSessionMetadata-QfiRx4Tf.cjs → createSessionMetadata-5Mde6Dfh.cjs} +2 -2
  58. package/dist/{createSessionMetadata-C1MbLQnh.mjs → createSessionMetadata-BYroCdrU.mjs} +2 -2
  59. package/dist/{defaultPermissionMode-DQmdZZIg.cjs → defaultPermissionMode-B7mjHQKp.cjs} +2 -2
  60. package/dist/{defaultPermissionMode-U9LuUeQh.mjs → defaultPermissionMode-CTdxUV_3.mjs} +2 -2
  61. package/dist/{deterministicJson-BBRUcB8i.cjs → deterministicJson-C1Z9MlDX.cjs} +13 -13
  62. package/dist/{deterministicJson-BixlyPWV.mjs → deterministicJson-C3QXOc1N.mjs} +13 -13
  63. package/dist/{doctor-CKgHUV4W.cjs → doctor-DRdV3thy.cjs} +7 -7
  64. package/dist/{doctor-Dban2oE2.mjs → doctor-OwNmTpYh.mjs} +7 -7
  65. package/dist/{downloadTarget-VUTd9lEO.mjs → downloadTarget-CNtQ8rhV.mjs} +6 -6
  66. package/dist/{downloadTarget-CmC11Y7E.cjs → downloadTarget-Di5bf7r0.cjs} +6 -6
  67. package/dist/{ensureDaemonRunning-L0fl0cLE.cjs → ensureDaemonRunning-CMY--T9Q.cjs} +5 -5
  68. package/dist/{ensureDaemonRunning-khb8Nr1n.mjs → ensureDaemonRunning-IRV-w0wH.mjs} +5 -5
  69. package/dist/{handleResumeCommand-CLDGWpTJ.mjs → handleResumeCommand-BO00SYjG.mjs} +5 -5
  70. package/dist/{handleResumeCommand-D9myBN2N.cjs → handleResumeCommand-z7wY7QVM.cjs} +5 -5
  71. package/dist/{index-DgA79dVw.cjs → index-B4cyX2by.cjs} +39 -39
  72. package/dist/{index-y4JNyz9H.cjs → index-BsoUsrKS.cjs} +4 -4
  73. package/dist/{index-GkkbUZX-.mjs → index-C7zgeuLP.mjs} +4 -4
  74. package/dist/{index-CtwqBeH6.mjs → index-CVUiytNq.mjs} +3 -3
  75. package/dist/{index-BMZx-699.mjs → index-DZvi6_tB.mjs} +4 -4
  76. package/dist/{index-BptfFoXM.mjs → index-DisBaRvM.mjs} +10 -1
  77. package/dist/{index-BdJs0465.cjs → index-NhmqjrGv.cjs} +3 -3
  78. package/dist/{index-Fq-jxjsB.cjs → index-Ub-5xbcU.cjs} +10 -1
  79. package/dist/{index-IRI8s8kz.mjs → index-_LfuIz-O.mjs} +40 -40
  80. package/dist/{index-COSjJPIv.cjs → index-wYJu2yGc.cjs} +4 -4
  81. package/dist/index.cjs +2 -2
  82. package/dist/index.mjs +2 -2
  83. package/dist/{install-cn98bTCs.cjs → install-CGYDeYes.cjs} +3 -3
  84. package/dist/{install-JvCk2PJV.mjs → install-DeUM6h8X.mjs} +3 -3
  85. package/dist/lib.cjs +12 -12
  86. package/dist/lib.mjs +12 -12
  87. package/dist/{lidState-Bcs5kRHi.cjs → lidState-C4YgPn6y.cjs} +1 -1
  88. package/dist/{lidState-DXeYTsrm.mjs → lidState-CBjQEwTt.mjs} +1 -1
  89. package/dist/{localHappyAgentAuth-CypTSe42.cjs → localHappyAgentAuth-BzCuIkzi.cjs} +1 -1
  90. package/dist/{localHappyAgentAuth-C1A4ChCR.mjs → localHappyAgentAuth-CcWGU_lS.mjs} +1 -1
  91. package/dist/{logger-Cgwz30rK.cjs → logger-CrtT0opS.cjs} +2 -2
  92. package/dist/{logger-RMPh5aqe.mjs → logger-D2qd0mMg.mjs} +2 -2
  93. package/dist/{machineMetadata-BTUtPRth.mjs → machineMetadata-B2czDiTd.mjs} +3 -3
  94. package/dist/{machineMetadata-BSOGMNRi.cjs → machineMetadata-D1hlm_oF.cjs} +3 -3
  95. package/dist/{main-DNDL6t8z.mjs → main-BNYWELul.mjs} +53 -45
  96. package/dist/{main-4iiwYpCR.cjs → main-BWgWN5d1.cjs} +53 -45
  97. package/dist/{mcp-C7eEoGhz.cjs → mcp-C18unjs1.cjs} +15 -15
  98. package/dist/{mcp-DXYDPOpJ.mjs → mcp-ColtiH23.mjs} +15 -15
  99. package/dist/{mirrorProtocol-c5g5MgNc.cjs → mirrorProtocol-D4CR5I5W.cjs} +3 -3
  100. package/dist/{mirrorProtocol-DQRy5PaT.mjs → mirrorProtocol-DTHWtAE5.mjs} +3 -3
  101. package/dist/{package-3aPiSpZj.cjs → package-DczR1k0c.cjs} +7 -7
  102. package/dist/{package-CTrz6U3C.mjs → package-Ek5FOyEo.mjs} +7 -7
  103. package/dist/{panels-B5sZ84vA.mjs → panels-BIQ7FrCB.mjs} +5 -5
  104. package/dist/{panels-BmsmKHbw.cjs → panels-DYSMHhdb.cjs} +5 -5
  105. package/dist/{peerTools-DIPOX033.mjs → peerTools-CABQ6iKd.mjs} +5 -5
  106. package/dist/{peerTools-Dxe7iCi_.cjs → peerTools-Cufh4Qp_.cjs} +5 -5
  107. package/dist/{persistence-zJo4r7YI.mjs → persistence-DFtgQvr6.mjs} +2 -2
  108. package/dist/{persistence-DZRMUZZS.cjs → persistence-IYH6bAXY.cjs} +2 -2
  109. package/dist/{piRunnerArgs-IVdoHUB6.mjs → piRunnerArgs-CIWprC1S.mjs} +1 -1
  110. package/dist/{piRunnerArgs-BSPiS6tZ.cjs → piRunnerArgs-Dgjmj8KL.cjs} +1 -1
  111. package/dist/{piRuntime-BJzjlMcN.cjs → piRuntime-C_nX977w.cjs} +1 -1
  112. package/dist/{piRuntime-BvHO3vgO.mjs → piRuntime-K6o4GPZ9.mjs} +1 -1
  113. package/dist/{piTerminal-D7vBOpkE.mjs → piTerminal-CRl0EZc3.mjs} +17 -17
  114. package/dist/{piTerminal-Cz4pW55d.cjs → piTerminal-CYhcmkyi.cjs} +17 -17
  115. package/dist/providerBinding-B-Qbx9W2.cjs +140 -0
  116. package/dist/providerBinding-CYubGg-Z.mjs +132 -0
  117. package/dist/{pushNotifications-CgIrYml3.cjs → pushNotifications-BgQ_QTgS.cjs} +3 -3
  118. package/dist/{pushNotifications-C4R9-1hU.mjs → pushNotifications-gVJWGFBP.mjs} +3 -3
  119. package/dist/{query-DKPmDsHS.mjs → query-CGp9vY4e.mjs} +1 -1
  120. package/dist/{query-CZQG1PdU.cjs → query-DFreaScb.cjs} +1 -1
  121. package/dist/{rateLimitWindows-CPV0nLeq.cjs → rateLimitWindows-CeogT1b6.cjs} +1 -1
  122. package/dist/{rateLimitWindows-HlHATOQ0.mjs → rateLimitWindows-DM_gshI4.mjs} +1 -1
  123. package/dist/{registerCommonHandlers-D1pC83Op.cjs → registerCommonHandlers-CRqKXwQt.cjs} +2 -2
  124. package/dist/{registerCommonHandlers-a9lHojSV.mjs → registerCommonHandlers-CyAtDNvs.mjs} +2 -2
  125. package/dist/{registerKillSessionHandler-nTi2vVJy.cjs → registerKillSessionHandler-CX49N52L.cjs} +6 -6
  126. package/dist/{registerKillSessionHandler-Bp-fuH-w.mjs → registerKillSessionHandler-DGWADNla.mjs} +6 -6
  127. package/dist/{remoteSessionClient-Cwrddscy.mjs → remoteSessionClient-1nycIdrG.mjs} +5 -5
  128. package/dist/{remoteSessionClient-HQAKAvVd.cjs → remoteSessionClient-CuAkp19e.cjs} +5 -5
  129. package/dist/{reportProgressTool-Be-8ADI4.cjs → reportProgressTool-BS7TkeEk.cjs} +3 -3
  130. package/dist/{reportProgressTool-CcZ32nrd.mjs → reportProgressTool-CdSi-uSC.mjs} +3 -3
  131. package/dist/{run-BBU8GyxE.mjs → run-DqjEj8M2.mjs} +77 -40
  132. package/dist/{run-CxRJk9qq.cjs → run-gVwkplx0.cjs} +77 -40
  133. package/dist/{runClaude-Dd5zJaUZ.cjs → runClaude-CtVoFstP.cjs} +39 -24
  134. package/dist/{runClaude-DR6pEQwd.mjs → runClaude-CuSjrZSf.mjs} +39 -24
  135. package/dist/{runClaudeDeps-CTtZ_1mC.cjs → runClaudeDeps-DqOgRuKq.cjs} +42 -38
  136. package/dist/{runClaudeDeps-COgZaUZm.mjs → runClaudeDeps-eazOhb6g.mjs} +47 -43
  137. package/dist/{runGemini-DX72qB92.cjs → runGemini-81wkPvMv.cjs} +33 -33
  138. package/dist/{runGemini-DVoVUfPp.mjs → runGemini-B4EqAd1U.mjs} +33 -33
  139. package/dist/{runOpenClaw-BSg4hFVt.cjs → runOpenClaw-BK7ZQEKj.cjs} +18 -18
  140. package/dist/{runOpenClaw-BHjzmzeC.mjs → runOpenClaw-Brb1KKAA.mjs} +18 -18
  141. package/dist/{sandbox-D1T_hmgZ.cjs → sandbox-DFD6an8o.cjs} +4 -4
  142. package/dist/{sandbox-CWR9EqoN.mjs → sandbox-t43Exd4t.mjs} +4 -4
  143. package/dist/{selfCheck-CE7vlnNS.cjs → selfCheck-Bel50SH3.cjs} +37 -36
  144. package/dist/selfCheck-CwpZepG-.mjs +86 -0
  145. package/dist/{send-BDF0Zvxo.mjs → send-Co9jxmc4.mjs} +8 -8
  146. package/dist/{send-BxZqRCcG.cjs → send-IR5DnG9V.cjs} +8 -8
  147. package/dist/{server-DB7_70Mi.cjs → server-CAo6a3Vw.cjs} +6 -6
  148. package/dist/{server-B4JtnDLF.mjs → server-KnIeKeTb.mjs} +4 -4
  149. package/dist/{sessionLock-BXvFN6uw.cjs → sessionLock-DNGDn9oj.cjs} +3 -3
  150. package/dist/{sessionLock-CXOOX-VD.mjs → sessionLock-ha9gsQEn.mjs} +3 -3
  151. package/dist/{sessionOps-ByVggB_q.mjs → sessionOps-Di9MC0FP.mjs} +4 -4
  152. package/dist/{sessionOps-BWlDlFYP.cjs → sessionOps-hRqzcMXB.cjs} +4 -4
  153. package/dist/sessionProvider-4Nn6e9Kd.mjs +109 -0
  154. package/dist/sessionProvider-LqE7Y_cf.cjs +114 -0
  155. package/dist/{sessionScanner-DkxPB5VA.cjs → sessionScanner-BzEtrHB8.cjs} +3 -3
  156. package/dist/{sessionScanner-r66RtF95.mjs → sessionScanner-DKFKDsrW.mjs} +3 -3
  157. package/dist/{sessions-BiJTxFy9.cjs → sessions-CmLiagcb.cjs} +10 -10
  158. package/dist/{sessions-C1lLK_a9.mjs → sessions-DzgMNXo5.mjs} +10 -10
  159. package/dist/{setupOfflineReconnection-Bl3DuakT.mjs → setupOfflineReconnection-D4NGi3Jf.mjs} +2 -2
  160. package/dist/{setupOfflineReconnection-CecTiFZ-.cjs → setupOfflineReconnection-Dq4N2Txp.cjs} +2 -2
  161. package/dist/{spawn-D-8MlEM6.mjs → spawn-C6CE5PsI.mjs} +14 -14
  162. package/dist/{spawn-D79mVa3h.cjs → spawn-tmoekkOW.cjs} +14 -14
  163. package/dist/{spawnAgents-Sfnf-4pN.cjs → spawnAgents-D15n6tAj.cjs} +1 -1
  164. package/dist/{spawnAgents-DJHjq01u.mjs → spawnAgents-jXo9jIYo.mjs} +1 -1
  165. package/dist/{spawnHappyCLI-v_bJwZ4Z.mjs → spawnHappyCLI-66grqHO0.mjs} +1 -1
  166. package/dist/{spawnHappyCLI-CQwQs9G5.cjs → spawnHappyCLI-8NcKgkuy.cjs} +1 -1
  167. package/dist/{specialCommands-yMnFvS-W.mjs → specialCommands-BO8ipH0n.mjs} +3 -3
  168. package/dist/{specialCommands-CWMVfT5s.cjs → specialCommands-Dq0TmY1Z.cjs} +3 -3
  169. package/dist/{startFileWatcher-BCDkT_tr.mjs → startFileWatcher-BLDkieUW.mjs} +1 -1
  170. package/dist/{startFileWatcher-GW4_E7dV.cjs → startFileWatcher-CjgKvec9.cjs} +1 -1
  171. package/dist/{startupSessionCreate-BcAGYo51.mjs → startupSessionCreate-B60THeNz.mjs} +1 -1
  172. package/dist/{startupSessionCreate-tBRa_ze8.cjs → startupSessionCreate-CXRVahaU.cjs} +1 -1
  173. package/dist/{streamRelay-BZ8drtof.cjs → streamRelay-CtTpf-Li.cjs} +1 -1
  174. package/dist/{streamRelay-BEDiy6_b.mjs → streamRelay-GzHxvMem.mjs} +1 -1
  175. package/dist/{sync--QUIOuf8.mjs → sync-DJvx7RbO.mjs} +1 -1
  176. package/dist/{sync-BMDkyo75.cjs → sync-DKSZOi6w.cjs} +1 -1
  177. package/dist/{systemPrompt-DoHSXrH0.cjs → systemPrompt-Duos1BtM.cjs} +2 -2
  178. package/dist/{systemPrompt-O0Kd6vbA.mjs → systemPrompt-dOOpz8L7.mjs} +2 -2
  179. package/dist/{teams-BkZop-sP.cjs → teams-pO5rjvPO.cjs} +7 -7
  180. package/dist/{teams-CTF1gT48.mjs → teams-uWiMJEe1.mjs} +7 -7
  181. package/dist/{template-CeC1dYe-.cjs → template-BLJxflCH.cjs} +1 -1
  182. package/dist/{template-D1fm22em.mjs → template-YlpbYGeQ.mjs} +1 -1
  183. package/dist/{time-CdCotzKU.cjs → time-D-8GFCE7.cjs} +1 -1
  184. package/dist/{time-B2KKdAym.mjs → time-Du0scQeJ.mjs} +1 -1
  185. package/dist/{titleGenerator-BFDczskR.mjs → titleGenerator-DKYj8rLY.mjs} +1 -1
  186. package/dist/{titleGenerator-DZH1XqAf.cjs → titleGenerator-DnKygjBP.cjs} +2 -2
  187. package/dist/{todo-DnTFTHmV.cjs → todo-BFDb7O8q.cjs} +6 -6
  188. package/dist/{todo-C2gyOUom.mjs → todo-Du5dAwnt.mjs} +6 -6
  189. package/dist/{tools-DUjkqSQL.mjs → tools-DHvMVL0a.mjs} +1 -1
  190. package/dist/{tools-C8rpwyIl.cjs → tools-DK_x86Kl.cjs} +1 -1
  191. package/dist/{uninstall-B5Ew50mZ.mjs → uninstall-CLDEXir0.mjs} +3 -3
  192. package/dist/{uninstall-CKMPWTMv.cjs → uninstall-c3zjum2o.cjs} +3 -3
  193. package/package.json +7 -7
  194. package/dist/selfCheck-ZGgBtxFQ.mjs +0 -85
@@ -0,0 +1,140 @@
1
+ 'use strict';
2
+
3
+ var node_fs = require('node:fs');
4
+ var os = require('node:os');
5
+ var path = require('node:path');
6
+
7
+ const PROVIDER_STRIPPED_ENV_KEYS = [
8
+ "ANTHROPIC_API_KEY",
9
+ "CLAUDE_CODE_OAUTH_TOKEN",
10
+ "CLAUDE_CODE_OAUTH_REFRESH_TOKEN",
11
+ "CLAUDE_CODE_OAUTH_SCOPES",
12
+ "CLAUDE_CODE_USE_BEDROCK",
13
+ "CLAUDE_CODE_USE_VERTEX",
14
+ "ANTHROPIC_CUSTOM_HEADERS",
15
+ "ANTHROPIC_SMALL_FAST_MODEL",
16
+ "CLAUDE_CODE_MAX_CONTEXT_TOKENS"
17
+ ];
18
+ function providersPath(happyHomeDir) {
19
+ return path.join(happyHomeDir, "providers.json");
20
+ }
21
+ function sessionProvidersPath(happyHomeDir) {
22
+ return path.join(happyHomeDir, "session-providers.json");
23
+ }
24
+ function expandHome(path$1, home = os.homedir()) {
25
+ return path$1 === "~" ? home : path$1.startsWith("~/") ? path.join(home, path$1.slice(2)) : path$1;
26
+ }
27
+ function readJson(path) {
28
+ if (!node_fs.existsSync(path)) return void 0;
29
+ return JSON.parse(node_fs.readFileSync(path, "utf8"));
30
+ }
31
+ function parseProvidersFile(raw) {
32
+ const profiles = {};
33
+ const src = raw && typeof raw === "object" ? raw.profiles : void 0;
34
+ if (src && typeof src === "object") {
35
+ for (const [id, p] of Object.entries(src)) {
36
+ if (!p || typeof p !== "object") continue;
37
+ const { name, baseUrl, apiKeyFile, models } = p;
38
+ if (typeof baseUrl !== "string" || !/^https?:\/\//.test(baseUrl) || typeof apiKeyFile !== "string" || !apiKeyFile) continue;
39
+ const ids = [];
40
+ const contextWindows = {};
41
+ for (const m of Array.isArray(models) ? models : []) {
42
+ if (typeof m === "string") ids.push(m);
43
+ else if (m && typeof m === "object" && typeof m.id === "string") {
44
+ const { id: modelId, contextWindow } = m;
45
+ ids.push(modelId);
46
+ if (typeof contextWindow === "number" && Number.isInteger(contextWindow) && contextWindow > 0) contextWindows[modelId] = contextWindow;
47
+ }
48
+ }
49
+ profiles[id] = {
50
+ ...typeof name === "string" ? { name } : {},
51
+ baseUrl: baseUrl.replace(/\/+$/, ""),
52
+ apiKeyFile,
53
+ ...Array.isArray(models) ? { models: ids } : {},
54
+ ...Object.keys(contextWindows).length > 0 ? { contextWindows } : {}
55
+ };
56
+ }
57
+ }
58
+ return { profiles };
59
+ }
60
+ function parseSessionProvidersFile(raw) {
61
+ const out = {};
62
+ if (!raw || typeof raw !== "object") return out;
63
+ for (const [sessionId, b] of Object.entries(raw)) {
64
+ if (!b || typeof b !== "object") continue;
65
+ const { profile, model } = b;
66
+ if (typeof profile === "string" && profile && typeof model === "string" && model) out[sessionId] = { profile, model };
67
+ }
68
+ return out;
69
+ }
70
+ function readProviders(happyHomeDir) {
71
+ return parseProvidersFile(readJson(providersPath(happyHomeDir)));
72
+ }
73
+ function readSessionProviders(happyHomeDir) {
74
+ return parseSessionProvidersFile(readJson(sessionProvidersPath(happyHomeDir)));
75
+ }
76
+ function buildProviderEnv(profile, model, token) {
77
+ const contextWindow = profile.contextWindows?.[model];
78
+ return {
79
+ ANTHROPIC_BASE_URL: profile.baseUrl,
80
+ ANTHROPIC_AUTH_TOKEN: token,
81
+ ANTHROPIC_MODEL: model,
82
+ ANTHROPIC_DEFAULT_OPUS_MODEL: model,
83
+ ANTHROPIC_DEFAULT_SONNET_MODEL: model,
84
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: model,
85
+ ANTHROPIC_SMALL_FAST_MODEL: model,
86
+ CLAUDE_CODE_SUBAGENT_MODEL: model,
87
+ CLAUDE_CODE_NO_MODEL_FALLBACK: "1",
88
+ ...contextWindow ? { CLAUDE_CODE_MAX_CONTEXT_TOKENS: String(contextWindow) } : {}
89
+ };
90
+ }
91
+ function resolveSessionProvider(sessionId, deps) {
92
+ const binding = deps.bindings[sessionId];
93
+ if (!binding) return null;
94
+ const profile = deps.providers.profiles[binding.profile];
95
+ if (!profile) throw new Error(`provider profile "${binding.profile}" is not defined in providers.json`);
96
+ const token = deps.readKey(profile.apiKeyFile).trim();
97
+ if (!token) throw new Error(`provider profile "${binding.profile}": api key file is empty`);
98
+ return {
99
+ profile: binding.profile,
100
+ model: binding.model,
101
+ baseUrl: profile.baseUrl,
102
+ env: buildProviderEnv(profile, binding.model, token),
103
+ unset: PROVIDER_STRIPPED_ENV_KEYS
104
+ };
105
+ }
106
+ function loadSessionProvider(happyHomeDir, sessionId) {
107
+ const bindings = readSessionProviders(happyHomeDir);
108
+ if (!bindings[sessionId]) return null;
109
+ return resolveSessionProvider(sessionId, {
110
+ providers: readProviders(happyHomeDir),
111
+ bindings,
112
+ readKey: (p) => node_fs.readFileSync(expandHome(p), "utf8")
113
+ });
114
+ }
115
+ function applyProviderEnv(env, provider) {
116
+ for (const key of provider.unset) delete env[key];
117
+ Object.assign(env, provider.env);
118
+ }
119
+ function updateBindings(current, sessionId, binding) {
120
+ const next = { ...current };
121
+ if (binding) next[sessionId] = binding;
122
+ else delete next[sessionId];
123
+ return next;
124
+ }
125
+ function writeSessionProviders(happyHomeDir, bindings) {
126
+ const path$1 = sessionProvidersPath(happyHomeDir);
127
+ node_fs.mkdirSync(path.dirname(path$1), { recursive: true });
128
+ const tmp = `${path$1}.${process.pid}.tmp`;
129
+ node_fs.writeFileSync(tmp, JSON.stringify(bindings, null, 2) + "\n", { mode: 384 });
130
+ node_fs.chmodSync(tmp, 384);
131
+ node_fs.renameSync(tmp, path$1);
132
+ }
133
+
134
+ exports.applyProviderEnv = applyProviderEnv;
135
+ exports.loadSessionProvider = loadSessionProvider;
136
+ exports.readProviders = readProviders;
137
+ exports.readSessionProviders = readSessionProviders;
138
+ exports.sessionProvidersPath = sessionProvidersPath;
139
+ exports.updateBindings = updateBindings;
140
+ exports.writeSessionProviders = writeSessionProviders;
@@ -0,0 +1,132 @@
1
+ import { mkdirSync, writeFileSync, chmodSync, renameSync, existsSync, readFileSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { dirname, join } from 'node:path';
4
+
5
+ const PROVIDER_STRIPPED_ENV_KEYS = [
6
+ "ANTHROPIC_API_KEY",
7
+ "CLAUDE_CODE_OAUTH_TOKEN",
8
+ "CLAUDE_CODE_OAUTH_REFRESH_TOKEN",
9
+ "CLAUDE_CODE_OAUTH_SCOPES",
10
+ "CLAUDE_CODE_USE_BEDROCK",
11
+ "CLAUDE_CODE_USE_VERTEX",
12
+ "ANTHROPIC_CUSTOM_HEADERS",
13
+ "ANTHROPIC_SMALL_FAST_MODEL",
14
+ "CLAUDE_CODE_MAX_CONTEXT_TOKENS"
15
+ ];
16
+ function providersPath(happyHomeDir) {
17
+ return join(happyHomeDir, "providers.json");
18
+ }
19
+ function sessionProvidersPath(happyHomeDir) {
20
+ return join(happyHomeDir, "session-providers.json");
21
+ }
22
+ function expandHome(path, home = homedir()) {
23
+ return path === "~" ? home : path.startsWith("~/") ? join(home, path.slice(2)) : path;
24
+ }
25
+ function readJson(path) {
26
+ if (!existsSync(path)) return void 0;
27
+ return JSON.parse(readFileSync(path, "utf8"));
28
+ }
29
+ function parseProvidersFile(raw) {
30
+ const profiles = {};
31
+ const src = raw && typeof raw === "object" ? raw.profiles : void 0;
32
+ if (src && typeof src === "object") {
33
+ for (const [id, p] of Object.entries(src)) {
34
+ if (!p || typeof p !== "object") continue;
35
+ const { name, baseUrl, apiKeyFile, models } = p;
36
+ if (typeof baseUrl !== "string" || !/^https?:\/\//.test(baseUrl) || typeof apiKeyFile !== "string" || !apiKeyFile) continue;
37
+ const ids = [];
38
+ const contextWindows = {};
39
+ for (const m of Array.isArray(models) ? models : []) {
40
+ if (typeof m === "string") ids.push(m);
41
+ else if (m && typeof m === "object" && typeof m.id === "string") {
42
+ const { id: modelId, contextWindow } = m;
43
+ ids.push(modelId);
44
+ if (typeof contextWindow === "number" && Number.isInteger(contextWindow) && contextWindow > 0) contextWindows[modelId] = contextWindow;
45
+ }
46
+ }
47
+ profiles[id] = {
48
+ ...typeof name === "string" ? { name } : {},
49
+ baseUrl: baseUrl.replace(/\/+$/, ""),
50
+ apiKeyFile,
51
+ ...Array.isArray(models) ? { models: ids } : {},
52
+ ...Object.keys(contextWindows).length > 0 ? { contextWindows } : {}
53
+ };
54
+ }
55
+ }
56
+ return { profiles };
57
+ }
58
+ function parseSessionProvidersFile(raw) {
59
+ const out = {};
60
+ if (!raw || typeof raw !== "object") return out;
61
+ for (const [sessionId, b] of Object.entries(raw)) {
62
+ if (!b || typeof b !== "object") continue;
63
+ const { profile, model } = b;
64
+ if (typeof profile === "string" && profile && typeof model === "string" && model) out[sessionId] = { profile, model };
65
+ }
66
+ return out;
67
+ }
68
+ function readProviders(happyHomeDir) {
69
+ return parseProvidersFile(readJson(providersPath(happyHomeDir)));
70
+ }
71
+ function readSessionProviders(happyHomeDir) {
72
+ return parseSessionProvidersFile(readJson(sessionProvidersPath(happyHomeDir)));
73
+ }
74
+ function buildProviderEnv(profile, model, token) {
75
+ const contextWindow = profile.contextWindows?.[model];
76
+ return {
77
+ ANTHROPIC_BASE_URL: profile.baseUrl,
78
+ ANTHROPIC_AUTH_TOKEN: token,
79
+ ANTHROPIC_MODEL: model,
80
+ ANTHROPIC_DEFAULT_OPUS_MODEL: model,
81
+ ANTHROPIC_DEFAULT_SONNET_MODEL: model,
82
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: model,
83
+ ANTHROPIC_SMALL_FAST_MODEL: model,
84
+ CLAUDE_CODE_SUBAGENT_MODEL: model,
85
+ CLAUDE_CODE_NO_MODEL_FALLBACK: "1",
86
+ ...contextWindow ? { CLAUDE_CODE_MAX_CONTEXT_TOKENS: String(contextWindow) } : {}
87
+ };
88
+ }
89
+ function resolveSessionProvider(sessionId, deps) {
90
+ const binding = deps.bindings[sessionId];
91
+ if (!binding) return null;
92
+ const profile = deps.providers.profiles[binding.profile];
93
+ if (!profile) throw new Error(`provider profile "${binding.profile}" is not defined in providers.json`);
94
+ const token = deps.readKey(profile.apiKeyFile).trim();
95
+ if (!token) throw new Error(`provider profile "${binding.profile}": api key file is empty`);
96
+ return {
97
+ profile: binding.profile,
98
+ model: binding.model,
99
+ baseUrl: profile.baseUrl,
100
+ env: buildProviderEnv(profile, binding.model, token),
101
+ unset: PROVIDER_STRIPPED_ENV_KEYS
102
+ };
103
+ }
104
+ function loadSessionProvider(happyHomeDir, sessionId) {
105
+ const bindings = readSessionProviders(happyHomeDir);
106
+ if (!bindings[sessionId]) return null;
107
+ return resolveSessionProvider(sessionId, {
108
+ providers: readProviders(happyHomeDir),
109
+ bindings,
110
+ readKey: (p) => readFileSync(expandHome(p), "utf8")
111
+ });
112
+ }
113
+ function applyProviderEnv(env, provider) {
114
+ for (const key of provider.unset) delete env[key];
115
+ Object.assign(env, provider.env);
116
+ }
117
+ function updateBindings(current, sessionId, binding) {
118
+ const next = { ...current };
119
+ if (binding) next[sessionId] = binding;
120
+ else delete next[sessionId];
121
+ return next;
122
+ }
123
+ function writeSessionProviders(happyHomeDir, bindings) {
124
+ const path = sessionProvidersPath(happyHomeDir);
125
+ mkdirSync(dirname(path), { recursive: true });
126
+ const tmp = `${path}.${process.pid}.tmp`;
127
+ writeFileSync(tmp, JSON.stringify(bindings, null, 2) + "\n", { mode: 384 });
128
+ chmodSync(tmp, 384);
129
+ renameSync(tmp, path);
130
+ }
131
+
132
+ export { applyProviderEnv as a, readProviders as b, loadSessionProvider as l, readSessionProviders as r, sessionProvidersPath as s, updateBindings as u, writeSessionProviders as w };
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var z = require('zod');
4
- var index = require('./index-Fq-jxjsB.cjs');
4
+ var index = require('./index-Ub-5xbcU.cjs');
5
5
  var axios = require('axios');
6
- var logger = require('./logger-Cgwz30rK.cjs');
7
- var configuration = require('./configuration-K3I6yOjZ.cjs');
6
+ var logger = require('./logger-CrtT0opS.cjs');
7
+ var configuration = require('./configuration-C9Sx-Foo.cjs');
8
8
  var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
9
9
 
10
10
  z.z.object({
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod';
2
- import { u as AgentVersionsSchema } from './index-BptfFoXM.mjs';
2
+ import { u as AgentVersionsSchema } from './index-DisBaRvM.mjs';
3
3
  import axios from 'axios';
4
- import { l as logger } from './logger-RMPh5aqe.mjs';
5
- import { c as configuration } from './configuration-elzht62L.mjs';
4
+ import { l as logger } from './logger-D2qd0mMg.mjs';
5
+ import { c as configuration } from './configuration-CVgUe2qN.mjs';
6
6
  import { c as contentLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
7
7
 
8
8
  z.object({
@@ -1,6 +1,6 @@
1
1
  import { query as query$1 } from '@anthropic-ai/claude-agent-sdk';
2
2
  import { p as pinSmallFastModel, e as ensureLocalProxyBypass } from './smallFastModel-BLNgMrwR.mjs';
3
- import { l as logger } from './logger-RMPh5aqe.mjs';
3
+ import { l as logger } from './logger-D2qd0mMg.mjs';
4
4
  import { s as snapshotTree, k as killSurvivors } from './processTreeSnapshot-CuLJDNC-.mjs';
5
5
 
6
6
  const HAPPY_DEFAULT_ENTRYPOINT = "remote_mobile";
@@ -2,7 +2,7 @@
2
2
 
3
3
  var claudeAgentSdk = require('@anthropic-ai/claude-agent-sdk');
4
4
  var smallFastModel = require('./smallFastModel-D_uxGMo3.cjs');
5
- var logger = require('./logger-Cgwz30rK.cjs');
5
+ var logger = require('./logger-CrtT0opS.cjs');
6
6
  var processTreeSnapshot = require('./processTreeSnapshot-mDbnuojn.cjs');
7
7
 
8
8
  const HAPPY_DEFAULT_ENTRYPOINT = "remote_mobile";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-Cgwz30rK.cjs');
3
+ var logger = require('./logger-CrtT0opS.cjs');
4
4
 
5
5
  const MAX_WINDOWS_PER_PROVIDER = 8;
6
6
  function finite(value) {
@@ -1,4 +1,4 @@
1
- import { l as logger } from './logger-RMPh5aqe.mjs';
1
+ import { l as logger } from './logger-D2qd0mMg.mjs';
2
2
 
3
3
  const MAX_WINDOWS_PER_PROVIDER = 8;
4
4
  function finite(value) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-Cgwz30rK.cjs');
3
+ var logger = require('./logger-CrtT0opS.cjs');
4
4
  var child_process = require('child_process');
5
5
  var util = require('util');
6
6
  var fs = require('fs/promises');
@@ -9,7 +9,7 @@ var require$$1 = require('path');
9
9
  var spawn = require('cross-spawn');
10
10
  var projectPath = require('./projectPath-C3ioB4Bu.cjs');
11
11
  var os = require('os');
12
- var configuration = require('./configuration-K3I6yOjZ.cjs');
12
+ var configuration = require('./configuration-C9Sx-Foo.cjs');
13
13
 
14
14
  function run$1(args, options) {
15
15
  const RUNNER_PATH = require$$1.resolve(require$$1.join(projectPath.projectPath(), "scripts", "ripgrep_launcher.cjs"));
@@ -1,4 +1,4 @@
1
- import { l as logger } from './logger-RMPh5aqe.mjs';
1
+ import { l as logger } from './logger-D2qd0mMg.mjs';
2
2
  import { spawn as spawn$1, exec } from 'child_process';
3
3
  import { promisify } from 'util';
4
4
  import { mkdir, writeFile, appendFile, stat, rename, unlink, readdir, readFile } from 'fs/promises';
@@ -7,7 +7,7 @@ import { resolve, join, sep } from 'path';
7
7
  import { spawn } from 'cross-spawn';
8
8
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
9
9
  import { platform } from 'os';
10
- import { c as configuration } from './configuration-elzht62L.mjs';
10
+ import { c as configuration } from './configuration-CVgUe2qN.mjs';
11
11
 
12
12
  function run$1(args, options) {
13
13
  const RUNNER_PATH = resolve(join(projectPath(), "scripts", "ripgrep_launcher.cjs"));
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-Cgwz30rK.cjs');
3
+ var logger = require('./logger-CrtT0opS.cjs');
4
4
  require('axios');
5
5
  require('node:events');
6
6
  require('socket.io-client');
7
- require('./pushNotifications-CgIrYml3.cjs');
7
+ require('./pushNotifications-BgQ_QTgS.cjs');
8
8
  require('node:crypto');
9
9
  require('tweetnacl');
10
- require('./configuration-K3I6yOjZ.cjs');
11
- require('./index-Fq-jxjsB.cjs');
12
- require('./registerCommonHandlers-D1pC83Op.cjs');
10
+ require('./configuration-C9Sx-Foo.cjs');
11
+ require('./index-Ub-5xbcU.cjs');
12
+ require('./registerCommonHandlers-CRqKXwQt.cjs');
13
13
  require('os');
14
14
  require('child_process');
15
15
  require('@paralleldrive/cuid2');
16
- require('./persistence-DZRMUZZS.cjs');
16
+ require('./persistence-IYH6bAXY.cjs');
17
17
  require('chalk');
18
18
  require('./types-CRS-srZK.cjs');
19
19
 
@@ -1,17 +1,17 @@
1
- import { l as logger } from './logger-RMPh5aqe.mjs';
1
+ import { l as logger } from './logger-D2qd0mMg.mjs';
2
2
  import 'axios';
3
3
  import 'node:events';
4
4
  import 'socket.io-client';
5
- import './pushNotifications-C4R9-1hU.mjs';
5
+ import './pushNotifications-gVJWGFBP.mjs';
6
6
  import 'node:crypto';
7
7
  import 'tweetnacl';
8
- import './configuration-elzht62L.mjs';
9
- import './index-BptfFoXM.mjs';
10
- import './registerCommonHandlers-a9lHojSV.mjs';
8
+ import './configuration-CVgUe2qN.mjs';
9
+ import './index-DisBaRvM.mjs';
10
+ import './registerCommonHandlers-CyAtDNvs.mjs';
11
11
  import 'os';
12
12
  import 'child_process';
13
13
  import '@paralleldrive/cuid2';
14
- import './persistence-zJo4r7YI.mjs';
14
+ import './persistence-DFtgQvr6.mjs';
15
15
  import 'chalk';
16
16
  import './types-CkqAACXx.mjs';
17
17
 
@@ -1,10 +1,10 @@
1
- import { h as resumeDaemonSession, l as listDaemonSessions } from './controlClient-CuYQs2aZ.mjs';
2
- import { d as archiveSession, u as unarchiveSession, h as sessionLiveness, e as sendUserMessage, i as readSessionState, o as openUserScopedSocket } from './sessionOps-ByVggB_q.mjs';
3
- import { d as delay } from './time-B2KKdAym.mjs';
1
+ import { j as resumeDaemonSession, l as listDaemonSessions } from './controlClient-DMCxtwq2.mjs';
2
+ import { d as archiveSession, u as unarchiveSession, h as sessionLiveness, e as sendUserMessage, i as readSessionState, o as openUserScopedSocket } from './sessionOps-Di9MC0FP.mjs';
3
+ import { d as delay } from './time-Du0scQeJ.mjs';
4
4
  import axios from 'axios';
5
5
  import { hostname } from 'node:os';
6
- import { c as configuration } from './configuration-elzht62L.mjs';
7
- import { r as readSettings, b as readCredentialsForConfiguredRelay } from './persistence-zJo4r7YI.mjs';
6
+ import { c as configuration } from './configuration-CVgUe2qN.mjs';
7
+ import { r as readSettings, b as readCredentialsForConfiguredRelay } from './persistence-DFtgQvr6.mjs';
8
8
  import { randomUUID } from 'node:crypto';
9
9
 
10
10
  const ACTIVE_FRESH_WINDOW_MS = 15 * 60 * 1e3;
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var controlClient = require('./controlClient-ChqmxgbB.cjs');
4
- var sessionOps = require('./sessionOps-BWlDlFYP.cjs');
5
- var time = require('./time-CdCotzKU.cjs');
3
+ var controlClient = require('./controlClient-BLO1_pPx.cjs');
4
+ var sessionOps = require('./sessionOps-hRqzcMXB.cjs');
5
+ var time = require('./time-D-8GFCE7.cjs');
6
6
  var axios = require('axios');
7
7
  var os = require('node:os');
8
- var configuration = require('./configuration-K3I6yOjZ.cjs');
9
- var persistence = require('./persistence-DZRMUZZS.cjs');
8
+ var configuration = require('./configuration-C9Sx-Foo.cjs');
9
+ var persistence = require('./persistence-IYH6bAXY.cjs');
10
10
  var node_crypto = require('node:crypto');
11
11
 
12
12
  const ACTIVE_FRESH_WINDOW_MS = 15 * 60 * 1e3;
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var z = require('zod');
4
- var index = require('./index-Fq-jxjsB.cjs');
5
- var client = require('./client-DYGDBD0M.cjs');
4
+ var index = require('./index-Ub-5xbcU.cjs');
5
+ var client = require('./client-BFDji81N.cjs');
6
6
  var precheckCompat = require('./precheckCompat-CWOi5c9L.cjs');
7
- var client$1 = require('./client-DcKJ0ul_.cjs');
7
+ var client$1 = require('./client-C49zFRkX.cjs');
8
8
  var prompt = require('./prompt-Bof2aQkI.cjs');
9
9
  var agentGuidance = require('./agentGuidance-BtBx2xxE.cjs');
10
10
 
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod';
2
- import { o as AutomationNameSchema, d as AUTOMATION_ATTENTION_REASON_MAX_CHARS, e as AUTOMATION_SUMMARY_MAX_CHARS, c as AutomationPrecheckSchema, p as AutomationConcurrencySchema, q as AutomationActionSchema, t as AutomationTriggerSchema } from './index-BptfFoXM.mjs';
3
- import { a as authenticatedAutomationsClient, b as automationRunIdFromEnv } from './client-BgHvK7lo.mjs';
2
+ import { o as AutomationNameSchema, d as AUTOMATION_ATTENTION_REASON_MAX_CHARS, e as AUTOMATION_SUMMARY_MAX_CHARS, c as AutomationPrecheckSchema, p as AutomationConcurrencySchema, q as AutomationActionSchema, t as AutomationTriggerSchema } from './index-DisBaRvM.mjs';
3
+ import { a as authenticatedAutomationsClient, b as automationRunIdFromEnv } from './client-BdbVizjk.mjs';
4
4
  import { u as updateAutomationChecked, c as createAutomationChecked } from './precheckCompat-DeEbilbr.mjs';
5
- import { P as ProjectsUnsupportedError, a as ProjectRequestError, s as sharedProjectsClient } from './client-5_zDNdOh.mjs';
5
+ import { P as ProjectsUnsupportedError, a as ProjectRequestError, s as sharedProjectsClient } from './client-CX-_2myt.mjs';
6
6
  import { f as formatContextForTool } from './prompt-QHuFx9j6.mjs';
7
7
  import { R as REPORT_PROGRESS_TOOL_NAME, d as REPORT_PROGRESS_TOOL_TITLE, e as REPORT_PROGRESS_TOOL_DESCRIPTION } from './agentGuidance-BDYt2Qy2.mjs';
8
8