very-happy-cli 0.2.180 → 0.2.182

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 (202) hide show
  1. package/dist/{AcpBackend-B8Zi30Zh.mjs → AcpBackend-DLk3gMYH.mjs} +3 -3
  2. package/dist/{AcpBackend-DfRDtMcG.cjs → AcpBackend-JA5eu8Y0.cjs} +3 -3
  3. package/dist/{AcpSessionManager-CASKOnOj.cjs → AcpSessionManager-DjYidq4C.cjs} +1 -1
  4. package/dist/{AcpSessionManager-i8Rab0xT.mjs → AcpSessionManager-OrCww-Qv.mjs} +1 -1
  5. package/dist/{BasePermissionHandler-BlM_tfej.cjs → BasePermissionHandler-D3PMKLBS.cjs} +1 -1
  6. package/dist/{BasePermissionHandler-26fKbRCm.mjs → BasePermissionHandler-u-neo-iN.mjs} +1 -1
  7. package/dist/{acpSessionResume-CR5pmgVo.cjs → acpSessionResume-Dxo8222T.cjs} +1 -1
  8. package/dist/{acpSessionResume-B9l54P-X.mjs → acpSessionResume-u2TwX5Jd.mjs} +1 -1
  9. package/dist/{agentHome-C7Sb7-Tz.cjs → agentHome-CP1tCBXz.cjs} +4 -4
  10. package/dist/{agentHome-CmGy0NWv.mjs → agentHome-D3hNrnoA.mjs} +4 -4
  11. package/dist/{api-DM7b1OKj.cjs → api-CZWcG7uh.cjs} +10 -10
  12. package/dist/{api-Hov8p7CA.mjs → api-C_YSQnsi.mjs} +10 -10
  13. package/dist/{apiMachine-CwGEhQDT.mjs → apiMachine-C_GA5Bm-.mjs} +59 -32
  14. package/dist/{apiMachine-DkGRj-Ai.cjs → apiMachine-DPGrED5C.cjs} +60 -33
  15. package/dist/{attachmentContent-CIn4iPEk.mjs → attachmentContent-Ckzyb1Uy.mjs} +2 -2
  16. package/dist/{attachmentContent-CEm13_gF.cjs → attachmentContent-I_dJIevE.cjs} +2 -2
  17. package/dist/{auth-Dawj7pP5.cjs → auth-BKnE7uv7.cjs} +8 -8
  18. package/dist/{auth-BG1DY0gj.mjs → auth-CGgpiJ5-.mjs} +5 -5
  19. package/dist/{auth-rggxMpEE.mjs → auth-DOXMI-xp.mjs} +8 -8
  20. package/dist/{auth-CBXnm-Mj.cjs → auth-Lw_utSMV.cjs} +5 -5
  21. package/dist/{auto-CbYOfoPS.cjs → auto-CIgFHIyQ.cjs} +18 -18
  22. package/dist/{auto-CXXLXGeL.mjs → auto-Z56mMZnH.mjs} +18 -18
  23. package/dist/{bootstrap-Dt5I1SOl.mjs → bootstrap-D3vlOROj.mjs} +2 -2
  24. package/dist/{bootstrap-DoA7okld.cjs → bootstrap-DsXp74wv.cjs} +2 -2
  25. package/dist/{browser-DUNetFT4.mjs → browser-CUxGoATV.mjs} +1 -1
  26. package/dist/{browser-DZ6qRtfH.cjs → browser-CZlA9AkO.cjs} +1 -1
  27. package/dist/{claudeLocal-OHWQigCl.mjs → claudeLocal-FnTUgwCi.mjs} +6 -6
  28. package/dist/{claudeLocal--DNyMOSv.cjs → claudeLocal-oELvwiZL.cjs} +6 -6
  29. package/dist/{claudeLocalLauncher-BStvfa7M.mjs → claudeLocalLauncher-CO5YHCzi.mjs} +11 -11
  30. package/dist/{claudeLocalLauncher-BhvPbcyH.cjs → claudeLocalLauncher-QsVXEVdE.cjs} +11 -11
  31. package/dist/{claudeSessionFork-Be16vzGc.cjs → claudeSessionFork-BA4GE5AL.cjs} +1 -1
  32. package/dist/{claudeSessionFork-GAVWhiKG.mjs → claudeSessionFork-Cspr6QW0.mjs} +1 -1
  33. package/dist/{client-D4uPb1uu.mjs → client-BGfmSbWc.mjs} +44 -9
  34. package/dist/{client-BWjaHKtj.cjs → client-CDuW4MS9.cjs} +2 -2
  35. package/dist/{client-CnB7kRCT.mjs → client-Ctbw05Xj.mjs} +2 -2
  36. package/dist/{client-DJplzPjD.cjs → client-DK8CzUry.cjs} +2 -2
  37. package/dist/{client-Ca5Pcgy_.mjs → client-o-meK7-a.mjs} +2 -2
  38. package/dist/{client-D_loZ9IK.cjs → client-xnWiHqdb.cjs} +44 -8
  39. package/dist/codex/happyMcpStdioBridge.cjs +21 -20
  40. package/dist/codex/happyMcpStdioBridge.mjs +21 -20
  41. package/dist/{codexAppServerClient-CO4G6OS4.mjs → codexAppServerClient-BlsOZLul.mjs} +3 -3
  42. package/dist/{codexAppServerClient-PE-12AsW.cjs → codexAppServerClient-DhNDTU_i.cjs} +3 -3
  43. package/dist/{codexCommand-B_xUH79E.mjs → codexCommand-BGx5NMQR.mjs} +49 -46
  44. package/dist/{codexCommand-BNoD1t1C.cjs → codexCommand-DJDPfpIs.cjs} +49 -46
  45. package/dist/{codexTermination-Dx48ma6e.mjs → codexTermination-CVhhwHZU.mjs} +1 -1
  46. package/dist/{codexTermination-BmBbizFK.cjs → codexTermination-CqPMuokw.cjs} +1 -1
  47. package/dist/{config-CtwEUxUP.cjs → config-CHpxzXBL.cjs} +3 -3
  48. package/dist/{config-DSu0Blos.mjs → config-CWAe08-Q.mjs} +3 -3
  49. package/dist/{configuration-CYO-kPOS.cjs → configuration-B-CugKJ3.cjs} +1 -1
  50. package/dist/{configuration-PxzEJumr.mjs → configuration-YXw_Dcsb.mjs} +1 -1
  51. package/dist/{connect-Dq7wndzR.cjs → connect-BmHvMXH2.cjs} +13 -13
  52. package/dist/{connect-BQrg3TB6.mjs → connect-CPeJXHha.mjs} +13 -13
  53. package/dist/{context-6TP-iz_c.cjs → context-BtIVqHI5.cjs} +1 -1
  54. package/dist/{context-CJGRRGWW.mjs → context-Drzs_Z38.mjs} +1 -1
  55. package/dist/{controlClient-DoeYovwP.mjs → controlClient-BL4hb4l3.mjs} +3 -3
  56. package/dist/{controlClient-Bqv5v5OM.cjs → controlClient-D0kGwKYx.cjs} +3 -3
  57. package/dist/{createSessionMetadata-DDIChCx8.mjs → createSessionMetadata-DvGDsnsn.mjs} +2 -2
  58. package/dist/{createSessionMetadata-xz767pcG.cjs → createSessionMetadata-L499emJn.cjs} +2 -2
  59. package/dist/{defaultPermissionMode-i5KzdK09.mjs → defaultPermissionMode-BLfxu-Yz.mjs} +2 -2
  60. package/dist/{defaultPermissionMode-PkZGsQDk.cjs → defaultPermissionMode-MXpZlXud.cjs} +2 -2
  61. package/dist/{deterministicJson-CTEJDqtS.mjs → deterministicJson-B_UAbmQ4.mjs} +87 -24
  62. package/dist/{deterministicJson-xqA6DaOm.cjs → deterministicJson-CfLkBRvU.cjs} +87 -22
  63. package/dist/{doctor-BrgSlfXn.cjs → doctor-DMvlzmnE.cjs} +8 -7
  64. package/dist/{doctor-IctjVh9T.mjs → doctor-bKScPtZu.mjs} +8 -8
  65. package/dist/{downloadTarget-CEb9che-.cjs → downloadTarget-D33BFvew.cjs} +6 -6
  66. package/dist/{downloadTarget-jbOz1egC.mjs → downloadTarget-J9j37eFG.mjs} +6 -6
  67. package/dist/{ensureDaemonRunning-D-HyjGIX.cjs → ensureDaemonRunning-2IqWROJp.cjs} +5 -5
  68. package/dist/{ensureDaemonRunning-b1e8LCSM.mjs → ensureDaemonRunning-DLvwhpNg.mjs} +5 -5
  69. package/dist/fileStore-5qpetZS0.mjs +146 -0
  70. package/dist/fileStore-7qhnbs6N.cjs +152 -0
  71. package/dist/fsMkdir-0K3yENml.cjs +56 -0
  72. package/dist/fsMkdir-DumgLTzR.mjs +53 -0
  73. package/dist/{handleResumeCommand-DpaZvm2c.mjs → handleResumeCommand-CjtjQ_I7.mjs} +5 -5
  74. package/dist/{handleResumeCommand-BvWVuRwH.cjs → handleResumeCommand-Dp2Y-p6V.cjs} +5 -5
  75. package/dist/{index-C6Vn5Eac.mjs → index-BI0h2Zks.mjs} +54 -6
  76. package/dist/{index-CMf5VbzG.mjs → index-BOT0Tg5E.mjs} +4 -4
  77. package/dist/{index-C64Ufj4D.cjs → index-B_aNaW9w.cjs} +4 -4
  78. package/dist/{index-F2UejqYs.cjs → index-CZC7egJA.cjs} +3 -3
  79. package/dist/{index-Bsvbgh9e.mjs → index-Cllzqoes.mjs} +4 -4
  80. package/dist/{index-B2p2Mut7.cjs → index-DYVIbhAJ.cjs} +78 -60
  81. package/dist/{index-wCbtF4BK.mjs → index-D_LvOWUN.mjs} +3 -3
  82. package/dist/{index-DmTlDRSL.cjs → index-DymOv3kK.cjs} +4 -4
  83. package/dist/{index-BUNnpGFF.mjs → index-kA46KMxN.mjs} +79 -61
  84. package/dist/{index-Dv0Q48P3.cjs → index-oh8XEozJ.cjs} +57 -6
  85. package/dist/index.cjs +2 -2
  86. package/dist/index.mjs +2 -2
  87. package/dist/{install-C0ANcEAW.cjs → install-BAa_Xmof.cjs} +3 -3
  88. package/dist/{install-CdzSV7qO.mjs → install-C46mkr9a.mjs} +3 -3
  89. package/dist/{install-BX3lv3NO.mjs → install-D0inLCv-.mjs} +1 -1
  90. package/dist/{install-BXvf2E3o.cjs → install-D2NCbeJ-.cjs} +1 -1
  91. package/dist/lib.cjs +12 -12
  92. package/dist/lib.d.cts +40 -1
  93. package/dist/lib.d.mts +40 -1
  94. package/dist/lib.mjs +12 -12
  95. package/dist/{lidState-bBrmaQd2.mjs → lidState-D8Iuvjgl.mjs} +1 -1
  96. package/dist/{lidState-DWGnm2H4.cjs → lidState-DcPvwniz.cjs} +1 -1
  97. package/dist/{localHappyAgentAuth-Dn1jYDpt.mjs → localHappyAgentAuth-D3rQDRd9.mjs} +1 -1
  98. package/dist/{localHappyAgentAuth-DZHQnIW9.cjs → localHappyAgentAuth-SD6GM97y.cjs} +1 -1
  99. package/dist/{logger-CphW5nUE.cjs → logger-DK1ytCz6.cjs} +2 -2
  100. package/dist/{logger-BUngm5Xg.mjs → logger-DpqihN1f.mjs} +2 -2
  101. package/dist/{machineMetadata-BXN_bKU3.mjs → machineMetadata-D4E3qoIG.mjs} +13 -4
  102. package/dist/{machineMetadata-BQm9YTcI.cjs → machineMetadata-IJc6_iyx.cjs} +13 -3
  103. package/dist/{main-DGkdYfEq.mjs → main-CpUmw7hm.mjs} +45 -45
  104. package/dist/{main-B2UV51nK.cjs → main-DUXh2rgW.cjs} +45 -45
  105. package/dist/{mcp-CbTtbs0f.mjs → mcp-66g1TJ8P.mjs} +17 -15
  106. package/dist/{mcp-BFvAEIRz.cjs → mcp-D5f3Vd-z.cjs} +17 -15
  107. package/dist/{mirrorProtocol-HKPivs5o.cjs → mirrorProtocol-DkWOcZh9.cjs} +16 -153
  108. package/dist/{mirrorProtocol-BR4luBC0.mjs → mirrorProtocol-bsCUcaCY.mjs} +19 -151
  109. package/dist/{package-KhLqBDX9.cjs → package-BfeqAzyJ.cjs} +8 -8
  110. package/dist/{package-7Ld1YMhh.mjs → package-CKj8zndE.mjs} +8 -8
  111. package/dist/{panels-Njf6GelF.cjs → panels-2PXsw9-d.cjs} +5 -5
  112. package/dist/{panels-C7IVqpJk.mjs → panels-r8LmaBs6.mjs} +5 -5
  113. package/dist/{peerTools-DQNlrcqM.cjs → peerTools-BVp1z0T_.cjs} +5 -5
  114. package/dist/{peerTools-BOlDRyhi.mjs → peerTools-D_id4d41.mjs} +5 -5
  115. package/dist/{persistence-9BMYspxG.cjs → persistence-BdpwWXKh.cjs} +2 -2
  116. package/dist/{persistence-BFUOHW5h.mjs → persistence-jOEuAFTS.mjs} +2 -2
  117. package/dist/pi-CqyoZMjI.mjs +380 -0
  118. package/dist/pi-DlsrPCTa.cjs +400 -0
  119. package/dist/{piRunnerArgs-H2pgpA5z.mjs → piRunnerArgs-68I5F_M1.mjs} +1 -1
  120. package/dist/{piRunnerArgs-DGaq6VYM.cjs → piRunnerArgs-vxCHKnSA.cjs} +1 -1
  121. package/dist/{piRuntime-CT5xv_3h.cjs → piRuntime-C3Dg5uni.cjs} +2 -2
  122. package/dist/{piRuntime-CdN0JAsa.mjs → piRuntime-DgLIard1.mjs} +2 -2
  123. package/dist/{piTerminal-0FBtXTHK.cjs → piTerminal-C135BcLP.cjs} +20 -18
  124. package/dist/{piTerminal-C4m9YXAV.mjs → piTerminal-DJL0w-uA.mjs} +20 -18
  125. package/dist/{prompt-lgF9IE82.cjs → prompt-Bof2aQkI.cjs} +7 -2
  126. package/dist/{prompt-BOouDaTM.mjs → prompt-QHuFx9j6.mjs} +7 -2
  127. package/dist/{pushNotifications-DCiBEVeC.mjs → pushNotifications-CMmRsbKv.mjs} +12 -4
  128. package/dist/{pushNotifications-DI92havG.cjs → pushNotifications-CyQVDThC.cjs} +12 -4
  129. package/dist/{query-BETKBrnz.cjs → query-CK--1fbL.cjs} +1 -1
  130. package/dist/{query-ywZbQUzR.mjs → query-CPXnDURZ.mjs} +1 -1
  131. package/dist/{rateLimitWindows-BkfuUB1a.mjs → rateLimitWindows-Cqa4AGaB.mjs} +1 -1
  132. package/dist/{rateLimitWindows-YRIYVdo4.cjs → rateLimitWindows-DJxnNw-X.cjs} +1 -1
  133. package/dist/{registerCommonHandlers-C7a_dUWs.cjs → registerCommonHandlers-DbNoM39q.cjs} +2 -2
  134. package/dist/{registerCommonHandlers-CTkCvjxt.mjs → registerCommonHandlers-K8dICQO2.mjs} +2 -2
  135. package/dist/{registerKillSessionHandler-CIsvBrVe.cjs → registerKillSessionHandler-DiS_go8d.cjs} +6 -6
  136. package/dist/{registerKillSessionHandler-CaqqRYq6.mjs → registerKillSessionHandler-O1iriOMO.mjs} +6 -6
  137. package/dist/{remoteSessionClient-PP-mOKmw.mjs → remoteSessionClient-BlURPulk.mjs} +5 -5
  138. package/dist/{remoteSessionClient-D843fkzL.cjs → remoteSessionClient-CtV9mDko.cjs} +5 -5
  139. package/dist/{reportProgressTool-14AXr959.cjs → reportProgressTool-DlD_xjzU.cjs} +4 -4
  140. package/dist/{reportProgressTool-ZOCNjWHr.mjs → reportProgressTool-nCExrHZH.mjs} +4 -4
  141. package/dist/{resources-CvIlkzpP.cjs → resources-BPyN59Iv.cjs} +23 -2
  142. package/dist/{resources-y9jfyO-_.mjs → resources-CH1iP6Cv.mjs} +22 -3
  143. package/dist/{run-CAOCYYfT.cjs → run-BBNrcCfI.cjs} +621 -594
  144. package/dist/{run-Dajw2E5j.mjs → run-drtwHYkO.mjs} +557 -530
  145. package/dist/{runClaude-CRRKt-tm.cjs → runClaude-B3KSeby4.cjs} +23 -22
  146. package/dist/{runClaude-C6oxWYbp.mjs → runClaude-CFp27Tyi.mjs} +23 -22
  147. package/dist/{runClaudeDeps-B1ysqTvx.cjs → runClaudeDeps-C_C9TCI0.cjs} +43 -41
  148. package/dist/{runClaudeDeps-BcZ68cX3.mjs → runClaudeDeps-DMcv93lA.mjs} +48 -46
  149. package/dist/{runGemini-D7yKc4wD.mjs → runGemini-Bc6SY-hd.mjs} +40 -37
  150. package/dist/{runGemini-DtKFXqf-.cjs → runGemini-DzdSBAr9.cjs} +40 -37
  151. package/dist/{runOpenClaw-C8ilyLP9.mjs → runOpenClaw-DI0qMlgF.mjs} +19 -18
  152. package/dist/{runOpenClaw-Cq29mryb.cjs → runOpenClaw-DN6rEVqC.cjs} +19 -18
  153. package/dist/{sandbox-gIj-EuF4.cjs → sandbox-DtttPBMA.cjs} +4 -4
  154. package/dist/{sandbox-CbCutma4.mjs → sandbox-v-ffe8LR.mjs} +4 -4
  155. package/dist/{selfCheck-BTGBVthv.cjs → selfCheck-B-yy6bW3.cjs} +36 -36
  156. package/dist/selfCheck-BDfTwxqB.mjs +85 -0
  157. package/dist/{send-YZRMQvMJ.mjs → send-DpBwSZuj.mjs} +8 -8
  158. package/dist/{send-CZf5lLw_.cjs → send-ShzXYPRu.cjs} +8 -8
  159. package/dist/{server-CknFq6xG.cjs → server-CEzKrfKj.cjs} +6 -6
  160. package/dist/{server-BqwXRzFZ.mjs → server-DScgJXxa.mjs} +4 -4
  161. package/dist/{sessionLock-nBXdJxJm.mjs → sessionLock-B6K4SBZD.mjs} +3 -3
  162. package/dist/{sessionLock-DRZUcKHT.cjs → sessionLock-Dc0fadGG.cjs} +3 -3
  163. package/dist/{sessionOps-C58iDeD5.mjs → sessionOps-D0BPWPoh.mjs} +4 -4
  164. package/dist/{sessionOps-BrGiU9-s.cjs → sessionOps-Dx7wARjI.cjs} +4 -4
  165. package/dist/{sessionScanner-Bm57LEXe.mjs → sessionScanner-9Fpgaxtf.mjs} +3 -3
  166. package/dist/{sessionScanner-CaO8bLaG.cjs → sessionScanner-BJ35TVG6.cjs} +3 -3
  167. package/dist/{sessions-BXyBHo8n.mjs → sessions-CFtDlyZd.mjs} +10 -10
  168. package/dist/{sessions-uzqPCc37.cjs → sessions-TZGGAry1.cjs} +10 -10
  169. package/dist/{setupOfflineReconnection-DvvVX3TB.cjs → setupOfflineReconnection-B1GsVA8P.cjs} +2 -2
  170. package/dist/{setupOfflineReconnection-1Qlek3wl.mjs → setupOfflineReconnection-Biaus-0T.mjs} +2 -2
  171. package/dist/{spawn-DBkodJEO.cjs → spawn-BRTuypQ2.cjs} +14 -14
  172. package/dist/{spawn-vn93PhYL.mjs → spawn-CsoQ-Ecz.mjs} +14 -14
  173. package/dist/{spawnAgents-DLNMlhWJ.cjs → spawnAgents-CG211IW7.cjs} +1 -1
  174. package/dist/{spawnAgents-CgPMWexP.mjs → spawnAgents-Co-SLcx-.mjs} +1 -1
  175. package/dist/{spawnHappyCLI-BjFZc_7V.mjs → spawnHappyCLI-D1doCjkZ.mjs} +1 -1
  176. package/dist/{spawnHappyCLI-DnUZv0X2.cjs → spawnHappyCLI-D47kX6jg.cjs} +1 -1
  177. package/dist/{specialCommands-BRufxlqe.cjs → specialCommands-Ch-Gvy-i.cjs} +3 -3
  178. package/dist/{specialCommands-D3ND9bdg.mjs → specialCommands-xSmqT_Fu.mjs} +3 -3
  179. package/dist/{startFileWatcher-DXJ7yB5v.mjs → startFileWatcher-CCl2fFxT.mjs} +1 -1
  180. package/dist/{startFileWatcher-D9cYzZOq.cjs → startFileWatcher-gKQTstR6.cjs} +1 -1
  181. package/dist/{startupSessionCreate-kdr3m1uX.cjs → startupSessionCreate-BXqoUX30.cjs} +1 -1
  182. package/dist/{startupSessionCreate-uZ6BM0ty.mjs → startupSessionCreate-DlZc8yPl.mjs} +1 -1
  183. package/dist/{streamRelay-Dy6amlzx.cjs → streamRelay-B-J-4St1.cjs} +1 -1
  184. package/dist/{streamRelay-DnMCMMfV.mjs → streamRelay-DnJXsi36.mjs} +1 -1
  185. package/dist/{sync-BvVhDO40.mjs → sync-BbjMC3sR.mjs} +1 -1
  186. package/dist/{sync-Bn-idAoy.cjs → sync-BxMdnZzz.cjs} +1 -1
  187. package/dist/{systemPrompt-DlyEk35T.cjs → systemPrompt-C2KojRmK.cjs} +3 -3
  188. package/dist/{systemPrompt-CIZcJuJF.mjs → systemPrompt-CmSDAoIx.mjs} +3 -3
  189. package/dist/{teams-BLeRpDxv.cjs → teams-DESdalox.cjs} +13 -10
  190. package/dist/{teams-DLY3B5yi.mjs → teams-lRy1MS0Z.mjs} +13 -10
  191. package/dist/{time-D3ETL7Jb.mjs → time-Cfknl7xG.mjs} +1 -1
  192. package/dist/{time-Cjv0zxQO.cjs → time-DNLeIRgR.cjs} +1 -1
  193. package/dist/{titleGenerator-Uzbd4utr.mjs → titleGenerator-ClnMSzwC.mjs} +1 -1
  194. package/dist/{titleGenerator-Cgp5ihFb.cjs → titleGenerator-YNutaU88.cjs} +2 -2
  195. package/dist/{todo-pOMcEECE.cjs → todo-DS75Mboz.cjs} +6 -6
  196. package/dist/{todo-C9Ga-oEM.mjs → todo-DZbK5POc.mjs} +6 -6
  197. package/dist/{tools-Cho7iIWf.mjs → tools-BgdU0dWp.mjs} +3 -3
  198. package/dist/{tools-BL7Byl_x.cjs → tools-ClYcb1YQ.cjs} +3 -3
  199. package/dist/{uninstall-CbayEVoV.cjs → uninstall-Di1vPBLV.cjs} +3 -3
  200. package/dist/{uninstall-CvZHVY9C.mjs → uninstall-bXenFevR.mjs} +3 -3
  201. package/package.json +8 -8
  202. package/dist/selfCheck-Smt-5Xiq.mjs +0 -85
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
3
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
4
- var configuration = require('./configuration-CYO-kPOS.cjs');
4
+ var configuration = require('./configuration-B-CugKJ3.cjs');
5
5
  var node_crypto = require('node:crypto');
6
6
  var tweetnacl = require('tweetnacl');
7
7
  var axios = require('axios');
8
- var time = require('./time-Cjv0zxQO.cjs');
9
- var persistence = require('./persistence-9BMYspxG.cjs');
10
- var browser = require('./browser-DZ6qRtfH.cjs');
11
- var logger = require('./logger-CphW5nUE.cjs');
8
+ var time = require('./time-DNLeIRgR.cjs');
9
+ var persistence = require('./persistence-BdpwWXKh.cjs');
10
+ var browser = require('./browser-CZlA9AkO.cjs');
11
+ var logger = require('./logger-DK1ytCz6.cjs');
12
12
 
13
13
  function generateWebAuthUrl(publicKey) {
14
14
  const publicKeyBase64 = authRelay.encodeBase64(publicKey, "base64url");
@@ -4,45 +4,45 @@ var chalk = require('chalk');
4
4
  var os = require('node:os');
5
5
  var node_fs = require('node:fs');
6
6
  var path = require('node:path');
7
- var index = require('./index-Dv0Q48P3.cjs');
8
- var configuration = require('./configuration-CYO-kPOS.cjs');
9
- var client = require('./client-BWjaHKtj.cjs');
7
+ var index = require('./index-oh8XEozJ.cjs');
8
+ var configuration = require('./configuration-B-CugKJ3.cjs');
9
+ var client = require('./client-CDuW4MS9.cjs');
10
10
  var template = require('./template-BaHAmH2K.cjs');
11
- var install = require('./install-BXvf2E3o.cjs');
11
+ var install = require('./install-D2NCbeJ-.cjs');
12
12
  var precheckCompat = require('./precheckCompat-CWOi5c9L.cjs');
13
- var sessionOps = require('./sessionOps-BrGiU9-s.cjs');
14
- var spawn = require('./spawn-DBkodJEO.cjs');
15
- var spawnAgents = require('./spawnAgents-DLNMlhWJ.cjs');
16
- var time = require('./time-Cjv0zxQO.cjs');
13
+ var sessionOps = require('./sessionOps-Dx7wARjI.cjs');
14
+ var spawn = require('./spawn-BRTuypQ2.cjs');
15
+ var spawnAgents = require('./spawnAgents-CG211IW7.cjs');
16
+ var time = require('./time-DNLeIRgR.cjs');
17
17
  require('zod');
18
18
  require('@paralleldrive/cuid2');
19
- require('./package-KhLqBDX9.cjs');
19
+ require('./package-BfeqAzyJ.cjs');
20
20
  require('node:fs/promises');
21
- require('./persistence-9BMYspxG.cjs');
21
+ require('./persistence-BdpwWXKh.cjs');
22
22
  require('./authRelay-Dy1qU9td.cjs');
23
23
  require('node:crypto');
24
24
  require('tweetnacl');
25
- require('./logger-CphW5nUE.cjs');
25
+ require('./logger-DK1ytCz6.cjs');
26
26
  require('node:util');
27
- require('./resources-CvIlkzpP.cjs');
27
+ require('./resources-BPyN59Iv.cjs');
28
28
  require('axios');
29
- require('./controlClient-Bqv5v5OM.cjs');
29
+ require('./controlClient-D0kGwKYx.cjs');
30
30
  require('socket.io-client');
31
31
  require('./backgroundTaskActivity-CBvUdj39.cjs');
32
- require('./client-DJplzPjD.cjs');
32
+ require('./client-DK8CzUry.cjs');
33
33
  require('./path-B7zW-WwE.cjs');
34
- require('./claudeSessionFork-Be16vzGc.cjs');
34
+ require('./claudeSessionFork-BA4GE5AL.cjs');
35
35
  require('node:readline');
36
- require('./codexAppServerClient-PE-12AsW.cjs');
36
+ require('./codexAppServerClient-DhNDTU_i.cjs');
37
37
  require('node:child_process');
38
38
  require('cross-spawn');
39
39
  require('./contentLogMetadata-ZSFk_NjQ.cjs');
40
40
  require('./manager-HrEj442o.cjs');
41
41
  require('@anthropic-ai/sandbox-runtime');
42
- require('./rateLimitWindows-YRIYVdo4.cjs');
42
+ require('./rateLimitWindows-DJxnNw-X.cjs');
43
43
  require('./processTree-CMHWlVse.cjs');
44
44
  require('./codexThreadFork-DNekT4nQ.cjs');
45
- require('./createSessionMetadata-xz767pcG.cjs');
45
+ require('./createSessionMetadata-L499emJn.cjs');
46
46
  require('./projectPath-C3ioB4Bu.cjs');
47
47
  require('path');
48
48
  require('url');
@@ -2,45 +2,45 @@ import chalk from 'chalk';
2
2
  import { homedir } from 'node:os';
3
3
  import { readFileSync } from 'node:fs';
4
4
  import { resolve } from 'node:path';
5
- import { A as AUTOMATION_NAME_PATTERN, i as isAutomationRunTerminal, b as AUTOMATION_PRECHECK_MAX_TIMEOUT_MS, c as AutomationPrecheckSchema } from './index-C6Vn5Eac.mjs';
6
- import { c as configuration } from './configuration-PxzEJumr.mjs';
7
- import { a as authenticatedAutomationsClient, b as automationRunIdFromEnv, i as isAutomationsUnavailable, A as AUTOMATIONS_UNAVAILABLE_MESSAGE } from './client-CnB7kRCT.mjs';
5
+ import { A as AUTOMATION_NAME_PATTERN, i as isAutomationRunTerminal, b as AUTOMATION_PRECHECK_MAX_TIMEOUT_MS, c as AutomationPrecheckSchema } from './index-BI0h2Zks.mjs';
6
+ import { c as configuration } from './configuration-YXw_Dcsb.mjs';
7
+ import { a as authenticatedAutomationsClient, b as automationRunIdFromEnv, i as isAutomationsUnavailable, A as AUTOMATIONS_UNAVAILABLE_MESSAGE } from './client-Ctbw05Xj.mjs';
8
8
  import { p as parseDuration, t as triggerFromFlags, d as describeTrigger, a as describeAction } from './template-CiOPa2rd.mjs';
9
- import { A as AUTOMATION_SKILL, i as installAutomationSkill } from './install-BX3lv3NO.mjs';
9
+ import { A as AUTOMATION_SKILL, i as installAutomationSkill } from './install-D0inLCv-.mjs';
10
10
  import { u as updateAutomationChecked, c as createAutomationChecked } from './precheckCompat-DeEbilbr.mjs';
11
- import { s as sessionWebUrl } from './sessionOps-C58iDeD5.mjs';
12
- import { parseEnvAssignment } from './spawn-vn93PhYL.mjs';
13
- import { S as SPAWN_AGENTS, s as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES } from './spawnAgents-CgPMWexP.mjs';
14
- import { d as delay } from './time-D3ETL7Jb.mjs';
11
+ import { s as sessionWebUrl } from './sessionOps-D0BPWPoh.mjs';
12
+ import { parseEnvAssignment } from './spawn-CsoQ-Ecz.mjs';
13
+ import { S as SPAWN_AGENTS, s as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES } from './spawnAgents-Co-SLcx-.mjs';
14
+ import { d as delay } from './time-Cfknl7xG.mjs';
15
15
  import 'zod';
16
16
  import '@paralleldrive/cuid2';
17
- import './package-7Ld1YMhh.mjs';
17
+ import './package-CKj8zndE.mjs';
18
18
  import 'node:fs/promises';
19
- import './persistence-BFUOHW5h.mjs';
19
+ import './persistence-jOEuAFTS.mjs';
20
20
  import './authRelay-DhQhkBvX.mjs';
21
21
  import 'node:crypto';
22
22
  import 'tweetnacl';
23
- import './logger-BUngm5Xg.mjs';
23
+ import './logger-DpqihN1f.mjs';
24
24
  import 'node:util';
25
- import './resources-y9jfyO-_.mjs';
25
+ import './resources-CH1iP6Cv.mjs';
26
26
  import 'axios';
27
- import './controlClient-DoeYovwP.mjs';
27
+ import './controlClient-BL4hb4l3.mjs';
28
28
  import 'socket.io-client';
29
29
  import './backgroundTaskActivity-8PdPxrvy.mjs';
30
- import './client-Ca5Pcgy_.mjs';
30
+ import './client-o-meK7-a.mjs';
31
31
  import './path-D2wdaNSk.mjs';
32
- import './claudeSessionFork-GAVWhiKG.mjs';
32
+ import './claudeSessionFork-Cspr6QW0.mjs';
33
33
  import 'node:readline';
34
- import './codexAppServerClient-CO4G6OS4.mjs';
34
+ import './codexAppServerClient-BlsOZLul.mjs';
35
35
  import 'node:child_process';
36
36
  import 'cross-spawn';
37
37
  import './contentLogMetadata-BlWI0egu.mjs';
38
38
  import './manager-BEsI4qt3.mjs';
39
39
  import '@anthropic-ai/sandbox-runtime';
40
- import './rateLimitWindows-BkfuUB1a.mjs';
40
+ import './rateLimitWindows-Cqa4AGaB.mjs';
41
41
  import './processTree-CP5IvQ2Z.mjs';
42
42
  import './codexThreadFork-R76RU5H0.mjs';
43
- import './createSessionMetadata-DDIChCx8.mjs';
43
+ import './createSessionMetadata-DvGDsnsn.mjs';
44
44
  import './projectPath-BTBIMB57.mjs';
45
45
  import 'path';
46
46
  import 'url';
@@ -1,9 +1,9 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { mkdir, writeFile } from 'node:fs/promises';
3
3
  import { join } from 'node:path';
4
- import { c as configuration } from './configuration-PxzEJumr.mjs';
4
+ import { c as configuration } from './configuration-YXw_Dcsb.mjs';
5
5
  import 'node:os';
6
- import './package-7Ld1YMhh.mjs';
6
+ import './package-CKj8zndE.mjs';
7
7
 
8
8
  const ASSISTANT_CLAUDE_MD = `# very-happy \u8C03\u5EA6\u4E2D\u5FC3\uFF08\u8BED\u97F3\u52A9\u624B\uFF09
9
9
 
@@ -3,9 +3,9 @@
3
3
  var node_fs = require('node:fs');
4
4
  var promises = require('node:fs/promises');
5
5
  var path = require('node:path');
6
- var configuration = require('./configuration-CYO-kPOS.cjs');
6
+ var configuration = require('./configuration-B-CugKJ3.cjs');
7
7
  require('node:os');
8
- require('./package-KhLqBDX9.cjs');
8
+ require('./package-BfeqAzyJ.cjs');
9
9
 
10
10
  const ASSISTANT_CLAUDE_MD = `# very-happy \u8C03\u5EA6\u4E2D\u5FC3\uFF08\u8BED\u97F3\u52A9\u624B\uFF09
11
11
 
@@ -1,5 +1,5 @@
1
1
  import open from 'open';
2
- import { l as logger } from './logger-BUngm5Xg.mjs';
2
+ import { l as logger } from './logger-DpqihN1f.mjs';
3
3
 
4
4
  async function openBrowser(url) {
5
5
  try {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var open = require('open');
4
- var logger = require('./logger-CphW5nUE.cjs');
4
+ var logger = require('./logger-DK1ytCz6.cjs');
5
5
 
6
6
  async function openBrowser(url) {
7
7
  try {
@@ -2,26 +2,26 @@ import { spawn } from 'cross-spawn';
2
2
  import { createInterface } from 'node:readline';
3
3
  import { readdirSync, statSync, mkdirSync, existsSync } from 'node:fs';
4
4
  import { randomUUID } from 'node:crypto';
5
- import { l as logger } from './logger-BUngm5Xg.mjs';
5
+ import { l as logger } from './logger-DpqihN1f.mjs';
6
6
  import { p as pinSmallFastModel, e as ensureLocalProxyBypass } from './smallFastModel-BLNgMrwR.mjs';
7
7
  import { join } from 'node:path';
8
8
  import { g as getProjectPath } from './path-D2wdaNSk.mjs';
9
- import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-CIZcJuJF.mjs';
9
+ import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-CmSDAoIx.mjs';
10
10
  import { i as initializeSandbox, a as wrapCommand } from './manager-BEsI4qt3.mjs';
11
11
  import { c as contentLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
12
12
  import { claudeCliPath } from './claudeCliPath-BqkaH2oR.mjs';
13
13
  import 'chalk';
14
14
  import 'node:util';
15
- import './configuration-PxzEJumr.mjs';
15
+ import './configuration-YXw_Dcsb.mjs';
16
16
  import 'node:os';
17
- import './package-7Ld1YMhh.mjs';
17
+ import './package-CKj8zndE.mjs';
18
18
  import 'node:fs/promises';
19
- import './index-C6Vn5Eac.mjs';
19
+ import './index-BI0h2Zks.mjs';
20
20
  import 'zod';
21
21
  import '@paralleldrive/cuid2';
22
22
  import './trimIdent-BAjmv_TG.mjs';
23
23
  import './agentGuidance-BDYt2Qy2.mjs';
24
- import './prompt-BOouDaTM.mjs';
24
+ import './prompt-QHuFx9j6.mjs';
25
25
  import '@anthropic-ai/sandbox-runtime';
26
26
  import './projectPath-BTBIMB57.mjs';
27
27
  import 'path';
@@ -4,26 +4,26 @@ var spawn = require('cross-spawn');
4
4
  var node_readline = require('node:readline');
5
5
  var node_fs = require('node:fs');
6
6
  var node_crypto = require('node:crypto');
7
- var logger = require('./logger-CphW5nUE.cjs');
7
+ var logger = require('./logger-DK1ytCz6.cjs');
8
8
  var smallFastModel = require('./smallFastModel-D_uxGMo3.cjs');
9
9
  var path$1 = require('node:path');
10
10
  var path = require('./path-B7zW-WwE.cjs');
11
- var systemPrompt = require('./systemPrompt-DlyEk35T.cjs');
11
+ var systemPrompt = require('./systemPrompt-C2KojRmK.cjs');
12
12
  var manager = require('./manager-HrEj442o.cjs');
13
13
  var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
14
14
  var claudeCliPath = require('./claudeCliPath-GaP3UUz1.cjs');
15
15
  require('chalk');
16
16
  require('node:util');
17
- require('./configuration-CYO-kPOS.cjs');
17
+ require('./configuration-B-CugKJ3.cjs');
18
18
  require('node:os');
19
- require('./package-KhLqBDX9.cjs');
19
+ require('./package-BfeqAzyJ.cjs');
20
20
  require('node:fs/promises');
21
- require('./index-Dv0Q48P3.cjs');
21
+ require('./index-oh8XEozJ.cjs');
22
22
  require('zod');
23
23
  require('@paralleldrive/cuid2');
24
24
  require('./trimIdent-4gvk9Wk6.cjs');
25
25
  require('./agentGuidance-BtBx2xxE.cjs');
26
- require('./prompt-lgF9IE82.cjs');
26
+ require('./prompt-Bof2aQkI.cjs');
27
27
  require('@anthropic-ai/sandbox-runtime');
28
28
  require('./projectPath-C3ioB4Bu.cjs');
29
29
  require('path');
@@ -1,26 +1,26 @@
1
- import { l as logger } from './logger-BUngm5Xg.mjs';
2
- import { claudeLocal, ExitCodeError } from './claudeLocal-OHWQigCl.mjs';
3
- import { c as createSessionScanner, F as Future, d as describeClaudeProcessExit } from './sessionScanner-Bm57LEXe.mjs';
1
+ import { l as logger } from './logger-DpqihN1f.mjs';
2
+ import { claudeLocal, ExitCodeError } from './claudeLocal-FnTUgwCi.mjs';
3
+ import { c as createSessionScanner, F as Future, d as describeClaudeProcessExit } from './sessionScanner-9Fpgaxtf.mjs';
4
4
  import 'chalk';
5
5
  import 'node:util';
6
- import './configuration-PxzEJumr.mjs';
6
+ import './configuration-YXw_Dcsb.mjs';
7
7
  import 'node:fs';
8
8
  import 'node:os';
9
9
  import 'node:path';
10
- import './package-7Ld1YMhh.mjs';
10
+ import './package-CKj8zndE.mjs';
11
11
  import 'node:fs/promises';
12
12
  import 'cross-spawn';
13
13
  import 'node:readline';
14
14
  import 'node:crypto';
15
15
  import './smallFastModel-BLNgMrwR.mjs';
16
16
  import './path-D2wdaNSk.mjs';
17
- import './systemPrompt-CIZcJuJF.mjs';
18
- import './index-C6Vn5Eac.mjs';
17
+ import './systemPrompt-CmSDAoIx.mjs';
18
+ import './index-BI0h2Zks.mjs';
19
19
  import 'zod';
20
20
  import '@paralleldrive/cuid2';
21
21
  import './trimIdent-BAjmv_TG.mjs';
22
22
  import './agentGuidance-BDYt2Qy2.mjs';
23
- import './prompt-BOouDaTM.mjs';
23
+ import './prompt-QHuFx9j6.mjs';
24
24
  import './manager-BEsI4qt3.mjs';
25
25
  import '@anthropic-ai/sandbox-runtime';
26
26
  import './contentLogMetadata-BlWI0egu.mjs';
@@ -28,11 +28,11 @@ import './claudeCliPath-BqkaH2oR.mjs';
28
28
  import './projectPath-BTBIMB57.mjs';
29
29
  import 'path';
30
30
  import 'url';
31
- import './sync-BvVhDO40.mjs';
32
- import './time-D3ETL7Jb.mjs';
31
+ import './sync-BbjMC3sR.mjs';
32
+ import './time-Cfknl7xG.mjs';
33
33
  import './types-CkqAACXx.mjs';
34
34
  import './transcriptCursor-B7T_gkQ0.mjs';
35
- import './startFileWatcher-DXJ7yB5v.mjs';
35
+ import './startFileWatcher-CCl2fFxT.mjs';
36
36
  import 'fs/promises';
37
37
 
38
38
  async function claudeLocalLauncher(session) {
@@ -1,28 +1,28 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-CphW5nUE.cjs');
4
- var claudeLocal = require('./claudeLocal--DNyMOSv.cjs');
5
- var sessionScanner = require('./sessionScanner-CaO8bLaG.cjs');
3
+ var logger = require('./logger-DK1ytCz6.cjs');
4
+ var claudeLocal = require('./claudeLocal-oELvwiZL.cjs');
5
+ var sessionScanner = require('./sessionScanner-BJ35TVG6.cjs');
6
6
  require('chalk');
7
7
  require('node:util');
8
- require('./configuration-CYO-kPOS.cjs');
8
+ require('./configuration-B-CugKJ3.cjs');
9
9
  require('node:fs');
10
10
  require('node:os');
11
11
  require('node:path');
12
- require('./package-KhLqBDX9.cjs');
12
+ require('./package-BfeqAzyJ.cjs');
13
13
  require('node:fs/promises');
14
14
  require('cross-spawn');
15
15
  require('node:readline');
16
16
  require('node:crypto');
17
17
  require('./smallFastModel-D_uxGMo3.cjs');
18
18
  require('./path-B7zW-WwE.cjs');
19
- require('./systemPrompt-DlyEk35T.cjs');
20
- require('./index-Dv0Q48P3.cjs');
19
+ require('./systemPrompt-C2KojRmK.cjs');
20
+ require('./index-oh8XEozJ.cjs');
21
21
  require('zod');
22
22
  require('@paralleldrive/cuid2');
23
23
  require('./trimIdent-4gvk9Wk6.cjs');
24
24
  require('./agentGuidance-BtBx2xxE.cjs');
25
- require('./prompt-lgF9IE82.cjs');
25
+ require('./prompt-Bof2aQkI.cjs');
26
26
  require('./manager-HrEj442o.cjs');
27
27
  require('@anthropic-ai/sandbox-runtime');
28
28
  require('./contentLogMetadata-ZSFk_NjQ.cjs');
@@ -30,11 +30,11 @@ require('./claudeCliPath-GaP3UUz1.cjs');
30
30
  require('./projectPath-C3ioB4Bu.cjs');
31
31
  require('path');
32
32
  require('url');
33
- require('./sync-Bn-idAoy.cjs');
34
- require('./time-Cjv0zxQO.cjs');
33
+ require('./sync-BxMdnZzz.cjs');
34
+ require('./time-DNLeIRgR.cjs');
35
35
  require('./types-CRS-srZK.cjs');
36
36
  require('./transcriptCursor-DcXGLeSc.cjs');
37
- require('./startFileWatcher-D9cYzZOq.cjs');
37
+ require('./startFileWatcher-gKQTstR6.cjs');
38
38
  require('fs/promises');
39
39
 
40
40
  async function claudeLocalLauncher(session) {
@@ -5,7 +5,7 @@ var promises = require('node:fs/promises');
5
5
  var node_fs = require('node:fs');
6
6
  var path = require('node:path');
7
7
  var node_readline = require('node:readline');
8
- var logger = require('./logger-CphW5nUE.cjs');
8
+ var logger = require('./logger-DK1ytCz6.cjs');
9
9
 
10
10
  class ForkTruncateUuidNotFoundError extends Error {
11
11
  constructor(cutAfterUuid, sourcePath) {
@@ -3,7 +3,7 @@ import { copyFile, unlink, readFile, rename, writeFile } from 'node:fs/promises'
3
3
  import { createReadStream, createWriteStream } from 'node:fs';
4
4
  import { join } from 'node:path';
5
5
  import { createInterface } from 'node:readline';
6
- import { l as logger } from './logger-BUngm5Xg.mjs';
6
+ import { l as logger } from './logger-DpqihN1f.mjs';
7
7
 
8
8
  class ForkTruncateUuidNotFoundError extends Error {
9
9
  constructor(cutAfterUuid, sourcePath) {
@@ -1,7 +1,11 @@
1
1
  import { randomUUID } from 'node:crypto';
2
- import { c as configuration } from './configuration-PxzEJumr.mjs';
3
- import { r as readSettings, c as readPersistedSessions, b as readCredentialsForConfiguredRelay } from './persistence-BFUOHW5h.mjs';
4
- import { r as readTeamScope, t as teamScopePath, w as writeTeamScope } from './context-CJGRRGWW.mjs';
2
+ import { execFile } from 'node:child_process';
3
+ import { promisify } from 'node:util';
4
+ import { basename, dirname } from 'node:path';
5
+ import { d as isInsideTeamWorktree, r as rebaseTeamWorktreePath } from './index-BI0h2Zks.mjs';
6
+ import { c as configuration } from './configuration-YXw_Dcsb.mjs';
7
+ import { r as readSettings, c as readPersistedSessions, b as readCredentialsForConfiguredRelay } from './persistence-jOEuAFTS.mjs';
8
+ import { r as readTeamScope, t as teamScopePath, w as writeTeamScope } from './context-Drzs_Z38.mjs';
5
9
 
6
10
  async function teamRequest(path, method, token, scoped, body) {
7
11
  const response = await fetch(`${configuration.serverUrl}${path}`, {
@@ -13,7 +17,11 @@ async function teamRequest(path, method, token, scoped, body) {
13
17
  }).catch(() => {
14
18
  throw new Error("Teams connection failed; outcome may be unknown. Reuse the request ID when retrying.");
15
19
  });
16
- if (!response.ok) throw new Error(`Teams request failed (HTTP ${response.status})`);
20
+ if (!response.ok) {
21
+ const body2 = response.status === 409 ? await response.json().catch(() => null) : null;
22
+ if (body2?.error === "session_in_other_team") throw new SessionInOtherTeamError(typeof body2.teamId === "string" ? body2.teamId : "", typeof body2.teamName === "string" ? body2.teamName : "");
23
+ throw new Error(`Teams request failed (HTTP ${response.status})`);
24
+ }
17
25
  try {
18
26
  return await response.json();
19
27
  } catch {
@@ -22,6 +30,21 @@ async function teamRequest(path, method, token, scoped, body) {
22
30
  }
23
31
  class TeamConnectionPreflightError extends Error {
24
32
  }
33
+ class SessionInOtherTeamError extends TeamConnectionPreflightError {
34
+ code = "session_in_other_team";
35
+ teamId;
36
+ teamName;
37
+ constructor(teamId, teamName) {
38
+ const safe = (value) => value.replace(/[\u0000-\u001f\u007f]/g, " ").slice(0, 128);
39
+ super(sessionInOtherTeamMessage(safe(teamName) || "another team", safe(teamId)));
40
+ this.teamId = safe(teamId);
41
+ this.teamName = safe(teamName);
42
+ }
43
+ }
44
+ function sessionInOtherTeamMessage(teamName, teamId) {
45
+ return `This session is already the lead or a member of team "${teamName}"${teamId ? ` (${teamId})` : ""}. Call team_inspect and use team_delegate to assign work inside that team; do not create or join another team. \u4F60\u5DF2\u7ECF\u662F\u56E2\u961F\u300C${teamName}\u300D\u7684\u6210\u5458\u6216\u8D1F\u8D23\u4EBA\uFF0C\u8BF7\u5148 team_inspect\uFF0C\u518D\u7528 team_delegate \u5728\u672C\u56E2\u961F\u5185\u6D3E\u6D3B\uFF0C\u4E0D\u8981\u65B0\u5EFA\u6216\u52A0\u5165\u5176\u4ED6\u56E2\u961F\u3002`;
46
+ }
47
+ const NO_TEAM_SCOPE_MESSAGE = "This session has no team scope. Do not create a team to get one: if you lead or work in a team (for example after a restart), call team_inspect again or tell the user; use team_create or team_join only when the user asks for a new team.";
25
48
  const initializationLocks = /* @__PURE__ */ new Map();
26
49
  async function serializeInitialization(path, work) {
27
50
  const previous = initializationLocks.get(path) ?? Promise.resolve();
@@ -34,6 +57,18 @@ async function serializeInitialization(path, work) {
34
57
  if (initializationLocks.get(path) === next) initializationLocks.delete(path);
35
58
  }
36
59
  }
60
+ function teamCreateBody(input, machineId, sessionId, directory) {
61
+ const body = { name: input.name, machineId, requestId: input.requestId, sessionId, ...input.transfer ? { transfer: true } : {} };
62
+ if (input.noProject) return body;
63
+ if (input.projectId) return { ...body, project: { projectId: input.projectId } };
64
+ return { ...body, project: { inheritFromSessionId: sessionId, ...directory ? { directory } : {} } };
65
+ }
66
+ const gitCommonDir = async (directory) => (await promisify(execFile)("git", ["-C", directory, "rev-parse", "--path-format=absolute", "--git-common-dir"], { timeout: 1e4 })).stdout.trim();
67
+ async function teamProjectDirectory(path, commonDir = gitCommonDir) {
68
+ if (!path || !isInsideTeamWorktree(path)) return path;
69
+ const common = await commonDir(path).catch(() => null);
70
+ return common && basename(common) === ".git" ? rebaseTeamWorktreePath(path, dirname(common)) : path;
71
+ }
37
72
  function createTeamsClient(sessionId) {
38
73
  const scopePath = () => teamScopePath(sessionId ?? process.env.HAPPY_SESSION_ID);
39
74
  return {
@@ -55,7 +90,7 @@ function createTeamsClient(sessionId) {
55
90
  if (priorScope && !options?.expectedTeamId) throw new Error("This session already belongs to another team scope");
56
91
  let teamId = input.teamId ?? options?.expectedTeamId;
57
92
  if (!teamId) {
58
- const created = await teamRequest("/v1/teams", "POST", credentials.token, false, { name: input.name, machineId, requestId: input.requestId });
93
+ const created = await teamRequest("/v1/teams", "POST", credentials.token, false, teamCreateBody(input, machineId, sid, await teamProjectDirectory(persisted.metadata.path)));
59
94
  teamId = created.team.id;
60
95
  } else {
61
96
  const existing = await teamRequest(`/v1/teams/${encodeURIComponent(teamId)}`, "GET", credentials.token, false);
@@ -74,7 +109,7 @@ function createTeamsClient(sessionId) {
74
109
  "POST",
75
110
  credentials.token,
76
111
  false,
77
- { requestId: input.requestId, action: { type: "join", name: input.name, sessionId: sid, ...input.botId ? { botId: input.botId } : {} } }
112
+ { requestId: input.requestId, action: { type: "join", name: input.name, sessionId: sid, ...input.botId ? { botId: input.botId } : {}, ...input.transfer ? { transfer: true } : {} } }
78
113
  );
79
114
  if (!result.credential?.token || !result.credential?.botId) throw new Error("Team join did not issue a credential");
80
115
  await writeTeamScope(path, { serverUrl: configuration.serverUrl, teamId, botId: result.credential.botId, scopeToken: result.credential.token });
@@ -83,13 +118,13 @@ function createTeamsClient(sessionId) {
83
118
  },
84
119
  async inspect() {
85
120
  const scope = await readTeamScope(scopePath());
86
- if (!scope) throw new Error("Join or create a team first");
121
+ if (!scope) throw new Error(NO_TEAM_SCOPE_MESSAGE);
87
122
  const { credential: _credential, ...safe } = await teamRequest(`/v1/teams/${encodeURIComponent(scope.teamId)}/agent`, "GET", scope.scopeToken, true);
88
123
  return safe;
89
124
  },
90
125
  async action(action, requestId = randomUUID()) {
91
126
  const scope = await readTeamScope(scopePath());
92
- if (!scope) throw new Error("Join or create a team first");
127
+ if (!scope) throw new Error(NO_TEAM_SCOPE_MESSAGE);
93
128
  const result = await teamRequest(`/v1/teams/${encodeURIComponent(scope.teamId)}/agent`, "POST", scope.scopeToken, true, { requestId, action });
94
129
  const { credential: _credential, ...safe } = result;
95
130
  return safe;
@@ -97,4 +132,4 @@ function createTeamsClient(sessionId) {
97
132
  };
98
133
  }
99
134
 
100
- export { TeamConnectionPreflightError as T, createTeamsClient as c, teamRequest as t };
135
+ export { SessionInOtherTeamError as S, TeamConnectionPreflightError as T, createTeamsClient as c, teamRequest as t };
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var configuration = require('./configuration-CYO-kPOS.cjs');
4
- var persistence = require('./persistence-9BMYspxG.cjs');
3
+ var configuration = require('./configuration-B-CugKJ3.cjs');
4
+ var persistence = require('./persistence-BdpwWXKh.cjs');
5
5
 
6
6
  class AutomationsRequestError extends Error {
7
7
  constructor(status, code, runStatus) {
@@ -1,5 +1,5 @@
1
- import { c as configuration } from './configuration-PxzEJumr.mjs';
2
- import { b as readCredentialsForConfiguredRelay, r as readSettings } from './persistence-BFUOHW5h.mjs';
1
+ import { c as configuration } from './configuration-YXw_Dcsb.mjs';
2
+ import { b as readCredentialsForConfiguredRelay, r as readSettings } from './persistence-jOEuAFTS.mjs';
3
3
 
4
4
  class AutomationsRequestError extends Error {
5
5
  constructor(status, code, runStatus) {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var configuration = require('./configuration-CYO-kPOS.cjs');
4
- var persistence = require('./persistence-9BMYspxG.cjs');
3
+ var configuration = require('./configuration-B-CugKJ3.cjs');
4
+ var persistence = require('./persistence-BdpwWXKh.cjs');
5
5
 
6
6
  const UNSUPPORTED_BACKOFF_MS = 10 * 6e4;
7
7
  class ProjectsUnsupportedError extends Error {
@@ -1,5 +1,5 @@
1
- import { c as configuration } from './configuration-PxzEJumr.mjs';
2
- import { b as readCredentialsForConfiguredRelay } from './persistence-BFUOHW5h.mjs';
1
+ import { c as configuration } from './configuration-YXw_Dcsb.mjs';
2
+ import { b as readCredentialsForConfiguredRelay } from './persistence-jOEuAFTS.mjs';
3
3
 
4
4
  const UNSUPPORTED_BACKOFF_MS = 10 * 6e4;
5
5
  class ProjectsUnsupportedError extends Error {