very-happy-cli 0.2.177 → 0.2.178

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 (182) hide show
  1. package/dist/{AcpBackend-B-ny68XM.cjs → AcpBackend-CDkAQXYf.cjs} +3 -3
  2. package/dist/{AcpBackend-B0K0WrtW.mjs → AcpBackend-DCQXHRzT.mjs} +3 -3
  3. package/dist/{AcpSessionManager-DykjzBM4.mjs → AcpSessionManager-BXrQcqwC.mjs} +1 -1
  4. package/dist/{AcpSessionManager-CjdJLofq.cjs → AcpSessionManager-DckmUZza.cjs} +1 -1
  5. package/dist/{BasePermissionHandler-hdY7kTqX.mjs → BasePermissionHandler-BVlrEhIi.mjs} +1 -1
  6. package/dist/{BasePermissionHandler-DR6nxuEn.cjs → BasePermissionHandler-DyLmKKtO.cjs} +1 -1
  7. package/dist/{agentHome-GRN2VfHv.mjs → agentHome-C1xi37as.mjs} +5 -5
  8. package/dist/{agentHome-BdTXEUPe.cjs → agentHome-CEp9RMyK.cjs} +5 -5
  9. package/dist/{api-CKBViqI3.mjs → api-Dib0dmqC.mjs} +11 -11
  10. package/dist/{api-BWX10o97.cjs → api-JANhFdZV.cjs} +11 -11
  11. package/dist/{apiMachine-DttO4UFj.mjs → apiMachine-DNTJidYH.mjs} +24 -15
  12. package/dist/{apiMachine-BYYFGgFs.cjs → apiMachine-QhK-sKcr.cjs} +24 -15
  13. package/dist/{attachmentContent-cPVF463_.mjs → attachmentContent-DkkdpSSJ.mjs} +2 -2
  14. package/dist/{attachmentContent-kJKXpkMX.cjs → attachmentContent-bpQTBJ0y.cjs} +2 -2
  15. package/dist/{attachmentLimits-DtFqqiwR.cjs → attachmentLimits-SqeAHrVC.cjs} +1 -1
  16. package/dist/{attachmentLimits-Di1Z93lN.mjs → attachmentLimits-UyFn8fkQ.mjs} +1 -1
  17. package/dist/{auth-BmESeKuM.mjs → auth-BRjd2esb.mjs} +6 -6
  18. package/dist/{auth-CKdXb9zp.mjs → auth-DNct7VUi.mjs} +9 -9
  19. package/dist/{auth-CTECt2Oz.cjs → auth-DgIV0Cvt.cjs} +6 -6
  20. package/dist/{auth-DNxVmVbn.cjs → auth-omWDtgR8.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-CI16FZmX.cjs} +16 -16
  24. package/dist/{auto-Ch3203qd.mjs → auto-DKGFOJBo.mjs} +16 -16
  25. package/dist/{bootstrap-C0s2bPFQ.mjs → bootstrap-BUagGC_-.mjs} +2 -2
  26. package/dist/{bootstrap-6OI698q9.cjs → bootstrap-DCQ87Aan.cjs} +2 -2
  27. package/dist/{browser-DG6Uof5O.cjs → browser-CSKhc0Bl.cjs} +1 -1
  28. package/dist/{browser-BlLWZUMx.mjs → browser-Dj_DYQEh.mjs} +1 -1
  29. package/dist/{claudeLocal-CcWcKnoo.mjs → claudeLocal-CCCvAeMd.mjs} +5 -5
  30. package/dist/{claudeLocal-CemsIArT.cjs → claudeLocal-CdIVnOZp.cjs} +5 -5
  31. package/dist/{claudeLocalLauncher-A4VuevIi.cjs → claudeLocalLauncher-21-xh5gc.cjs} +10 -10
  32. package/dist/{claudeLocalLauncher-7p6y88nj.mjs → claudeLocalLauncher-BmrpaRYJ.mjs} +10 -10
  33. package/dist/{claudeSessionFork-BtROOjqf.mjs → claudeSessionFork-DvxMKAmY.mjs} +1 -1
  34. package/dist/{claudeSessionFork-CbDfm8Fz.cjs → claudeSessionFork-kYCP1IJB.cjs} +1 -1
  35. package/dist/{client-BPMWutfs.mjs → client-BTX9hsbr.mjs} +3 -3
  36. package/dist/{client-COmgDDy0.cjs → client-C4zKGjiJ.cjs} +2 -2
  37. package/dist/{client-DG5ndWLw.mjs → client-CnlkkrZO.mjs} +2 -2
  38. package/dist/{client-DyvBTYee.cjs → client-Dnza1hgN.cjs} +3 -3
  39. package/dist/codex/happyMcpStdioBridge.cjs +16 -16
  40. package/dist/codex/happyMcpStdioBridge.mjs +16 -16
  41. package/dist/{codexAppServerClient-R24WZZfg.cjs → codexAppServerClient-CRlBWGn3.cjs} +3 -3
  42. package/dist/{codexAppServerClient-D-Z8qSfI.mjs → codexAppServerClient-DvkpQgyv.mjs} +3 -3
  43. package/dist/{codexCommand-CVTkZJ1o.mjs → codexCommand-BxjogBzU.mjs} +41 -41
  44. package/dist/{codexCommand-6hW19gsq.cjs → codexCommand-DzxIWXIT.cjs} +41 -41
  45. package/dist/{codexTermination-BBU7e92y.cjs → codexTermination-C28FzlLb.cjs} +1 -1
  46. package/dist/{codexTermination-CCIfwzcx.mjs → codexTermination-ySDNMEhd.mjs} +1 -1
  47. package/dist/{config-DhdrvOLV.cjs → config-BFB5uJ4t.cjs} +3 -3
  48. package/dist/{config-CvsNChKX.mjs → config-DwfEpFr3.mjs} +3 -3
  49. package/dist/{configuration-DZPy0T9Z.cjs → configuration-4TGMrjul.cjs} +1 -1
  50. package/dist/{configuration-D55F0t16.mjs → configuration-DVrb61aY.mjs} +1 -1
  51. package/dist/{connect-CwCXMRmD.mjs → connect-C7FPY0PI.mjs} +14 -14
  52. package/dist/{connect-Wz-XZYXW.cjs → connect-QH2VJGBG.cjs} +14 -14
  53. package/dist/{context-CCRpVXFo.mjs → context-B3XPVJlj.mjs} +1 -1
  54. package/dist/{context-BKbrZ55r.cjs → context-JoKu0V54.cjs} +1 -1
  55. package/dist/{controlClient-SX8gSza2.cjs → controlClient-BTaZlbC6.cjs} +3 -3
  56. package/dist/{controlClient-C4xB5J6O.mjs → controlClient-BYKyGyxj.mjs} +3 -3
  57. package/dist/{createSessionMetadata-Bi-m0Y_O.mjs → createSessionMetadata-8Fuj2-IV.mjs} +2 -2
  58. package/dist/{createSessionMetadata-BCFmYlBo.cjs → createSessionMetadata-B2NynaWZ.cjs} +2 -2
  59. package/dist/{defaultPermissionMode-wBcbBezm.mjs → defaultPermissionMode-B8kJG9uI.mjs} +2 -2
  60. package/dist/{defaultPermissionMode-DMBEnXll.cjs → defaultPermissionMode-BEWCqJU-.cjs} +2 -2
  61. package/dist/{deterministicJson-ChGfQEF6.cjs → deterministicJson-BjNQsAjO.cjs} +9 -9
  62. package/dist/{deterministicJson-BkQETt8_.mjs → deterministicJson-C5ZwZ7hu.mjs} +9 -9
  63. package/dist/{doctor-B9c2C9dF.mjs → doctor-0BiGwJXk.mjs} +8 -8
  64. package/dist/{doctor-BsN3JZJn.cjs → doctor-BshRnjLi.cjs} +8 -8
  65. package/dist/{downloadTarget-Dj3WoVJa.cjs → downloadTarget-BN5vZt3K.cjs} +6 -6
  66. package/dist/{downloadTarget-ByXzbDK4.mjs → downloadTarget-DJPwAZlu.mjs} +6 -6
  67. package/dist/{ensureDaemonRunning-7Wb8M7Lv.cjs → ensureDaemonRunning-C5QfToCe.cjs} +5 -5
  68. package/dist/{ensureDaemonRunning--HYzs5Ce.mjs → ensureDaemonRunning-CSmb_mqt.mjs} +5 -5
  69. package/dist/{handleResumeCommand-OmuUGYjQ.cjs → handleResumeCommand-BwnUZmbo.cjs} +6 -6
  70. package/dist/{handleResumeCommand-DHddBkNJ.mjs → handleResumeCommand-CgjpsdDe.mjs} +6 -6
  71. package/dist/{index-D9NoYc5I.cjs → index-BRClDe07.cjs} +3 -3
  72. package/dist/{index-CrR4JISa.cjs → index-BYOZ_8WZ.cjs} +5 -5
  73. package/dist/{index-CEm0MYiS.mjs → index-BYgfern_.mjs} +3 -3
  74. package/dist/{index-BzJNDsJq.mjs → index-BehVbAsA.mjs} +38 -38
  75. package/dist/{index-Dhl6_bw7.mjs → index-Bvldtdny.mjs} +5 -5
  76. package/dist/{index-DMy3OCBe.mjs → index-Clqlu17M.mjs} +2 -2
  77. package/dist/{index-De8L5lFK.cjs → index-_l1Sdmbi.cjs} +2 -1
  78. package/dist/{index-BRJzH4sc.cjs → index-piJPsTsm.cjs} +37 -37
  79. package/dist/index.cjs +2 -2
  80. package/dist/index.mjs +2 -2
  81. package/dist/{install-1qn-D9FS.cjs → install-TO4taKW7.cjs} +3 -3
  82. package/dist/{install-BDIUtPXi.mjs → install-fYWHrPcC.mjs} +3 -3
  83. package/dist/lib.cjs +13 -13
  84. package/dist/lib.d.cts +3 -0
  85. package/dist/lib.d.mts +3 -0
  86. package/dist/lib.mjs +13 -13
  87. package/dist/{lidState-DxbK0qfu.cjs → lidState-BeOwj6eW.cjs} +2 -2
  88. package/dist/{lidState-BqVsw7H1.mjs → lidState-DNMlIhX0.mjs} +2 -2
  89. package/dist/{localHappyAgentAuth-Ce8kO2yc.mjs → localHappyAgentAuth-BezKSFDi.mjs} +2 -2
  90. package/dist/{localHappyAgentAuth-D5tANdRD.cjs → localHappyAgentAuth-Br-mgogg.cjs} +2 -2
  91. package/dist/{logger-13cBr_ew.mjs → logger--vAVtXB_.mjs} +2 -2
  92. package/dist/{logger-LvwVeATU.cjs → logger-DXTWlPzP.cjs} +2 -2
  93. package/dist/{machineMetadata-dMida2qq.mjs → machineMetadata-B1H9gNbN.mjs} +3 -3
  94. package/dist/{machineMetadata-29h7vgf4.cjs → machineMetadata-DcUupMje.cjs} +3 -3
  95. package/dist/{main-x4nAhdH5.mjs → main-CshDb5-1.mjs} +45 -45
  96. package/dist/{main-DpM5jaFH.cjs → main-DoMFJ2Cl.cjs} +45 -45
  97. package/dist/{mcp-DMiFGYMT.mjs → mcp-DKT_lrvQ.mjs} +15 -15
  98. package/dist/{mcp-DQv3caXs.cjs → mcp-pNc1EbQf.cjs} +15 -15
  99. package/dist/{mirrorProtocol-Bz8tEabR.mjs → mirrorProtocol-6IFGPpjJ.mjs} +3 -3
  100. package/dist/{mirrorProtocol-BfrERW7Z.cjs → mirrorProtocol-qKflWTX_.cjs} +3 -3
  101. package/dist/{package-CjlsAaRe.mjs → package-B7B03ejW.mjs} +7 -7
  102. package/dist/{package-Ch9WGDV_.cjs → package-DY4zTbKS.cjs} +7 -7
  103. package/dist/{peerTools-CxmrKnfV.mjs → peerTools-3R9RUARX.mjs} +4 -4
  104. package/dist/{peerTools-DtGKWli5.cjs → peerTools-iy3_6Yc5.cjs} +4 -4
  105. package/dist/{persistence-DXbKOHxl.cjs → persistence-BfX72dne.cjs} +14 -3
  106. package/dist/{persistence-C_tYtOqK.mjs → persistence-DTk4sNpd.mjs} +14 -4
  107. package/dist/{piRunnerArgs-BpHc-JZl.mjs → piRunnerArgs-AT8QJY7x.mjs} +1 -1
  108. package/dist/{piRunnerArgs-BVRZe2AR.cjs → piRunnerArgs-CRQVR9o-.cjs} +1 -1
  109. package/dist/{piRuntime-D7eio8Ix.cjs → piRuntime-BHRT5MKO.cjs} +1 -1
  110. package/dist/{piRuntime-DOdGF395.mjs → piRuntime-E44qTVQ4.mjs} +1 -1
  111. package/dist/{piTerminal-dpxz4Q8D.mjs → piTerminal-De8nbciM.mjs} +17 -17
  112. package/dist/{piTerminal-y_PRo2NY.cjs → piTerminal-hI4WFdWm.cjs} +17 -17
  113. package/dist/{rateLimitWindows-DFnMU2Vt.cjs → rateLimitWindows-Czb7_7cK.cjs} +1 -1
  114. package/dist/{rateLimitWindows-DYHDGuzQ.mjs → rateLimitWindows-XrJiiBpU.mjs} +1 -1
  115. package/dist/{registerCommonHandlers-60VuTkdg.cjs → registerCommonHandlers-C0_fyBQ0.cjs} +2 -2
  116. package/dist/{registerCommonHandlers-D8OMpBbQ.mjs → registerCommonHandlers-CvIedVRf.mjs} +2 -2
  117. package/dist/{registerKillSessionHandler-pqChBKwO.cjs → registerKillSessionHandler-DYl7l4Ts.cjs} +6 -6
  118. package/dist/{registerKillSessionHandler-Drhf7-Vz.mjs → registerKillSessionHandler-gwJ5lTf0.mjs} +6 -6
  119. package/dist/{remoteSessionClient-B7NvjHD3.cjs → remoteSessionClient-BRTIOX5b.cjs} +5 -5
  120. package/dist/{remoteSessionClient-D01Hso2-.mjs → remoteSessionClient-DRb2Jr5s.mjs} +5 -5
  121. package/dist/{reportProgressTool-Du_zAK4h.cjs → reportProgressTool-B9nCzbkL.cjs} +2 -2
  122. package/dist/{reportProgressTool-B203EZCR.mjs → reportProgressTool-D5tEoXMW.mjs} +2 -2
  123. package/dist/{run-DX4Zs3Ug.mjs → run-BQ_FGaOL.mjs} +105 -37
  124. package/dist/{run-DZ5jU53c.cjs → run-CKe_WeLW.cjs} +106 -38
  125. package/dist/{runClaude-ClRhHpwR.cjs → runClaude-MHI5IKM-.cjs} +22 -22
  126. package/dist/{runClaude-CgPHXP0L.mjs → runClaude-zrrNcQC_.mjs} +22 -22
  127. package/dist/{runClaudeDeps-Dz2iydq4.mjs → runClaudeDeps-CVBCokOS.mjs} +41 -41
  128. package/dist/{runClaudeDeps-D2v_WDSL.cjs → runClaudeDeps-RRw-Nusc.cjs} +36 -36
  129. package/dist/{runGemini-BtZqGFkp.cjs → runGemini-D7Lg9yCr.cjs} +33 -33
  130. package/dist/{runGemini-DBXxpoY8.mjs → runGemini-kipag2ag.mjs} +33 -33
  131. package/dist/{runOpenClaw-BOHpzCEU.mjs → runOpenClaw-C_lRY3Do.mjs} +19 -19
  132. package/dist/{runOpenClaw-D8q8G57u.cjs → runOpenClaw-DCcQ0L2N.cjs} +19 -19
  133. package/dist/{sandbox-C452Vrsc.mjs → sandbox-BSyXFVFp.mjs} +5 -5
  134. package/dist/{sandbox-Cu9mMzjx.cjs → sandbox-dMwPTmjm.cjs} +5 -5
  135. package/dist/selfCheck-CF7XGJPb.mjs +84 -0
  136. package/dist/{selfCheck-gKa3uVr1.cjs → selfCheck-DkzDDUsE.cjs} +34 -34
  137. package/dist/{send-B8HARi7x.mjs → send-C-k9nsd3.mjs} +9 -9
  138. package/dist/{send-2Vb5eppI.cjs → send-dxC0miIA.cjs} +9 -9
  139. package/dist/{server-Db9Wuam3.cjs → server-B-W6P7Qr.cjs} +7 -7
  140. package/dist/{server-BBWCIZyS.mjs → server-DxoTYNlw.mjs} +5 -5
  141. package/dist/{sessionLock-ZfvFVdUi.mjs → sessionLock-DBdtZGOL.mjs} +3 -3
  142. package/dist/{sessionLock-6qL_N6Rn.cjs → sessionLock-DWX6BbiU.cjs} +3 -3
  143. package/dist/{sessionModeFile-CWVq8AT9.mjs → sessionModeFile-ByLbXTbg.mjs} +1 -1
  144. package/dist/{sessionModeFile-CsLtn_PL.cjs → sessionModeFile-CLLdidiJ.cjs} +1 -1
  145. package/dist/{sessionOps-Dmt7WUUs.cjs → sessionOps-BAnr7n8t.cjs} +5 -5
  146. package/dist/{sessionOps-CdgbEJgf.mjs → sessionOps-BVoXe12O.mjs} +5 -5
  147. package/dist/{sessionScanner-CNVaSNOn.mjs → sessionScanner-BtxoeluY.mjs} +3 -3
  148. package/dist/{sessionScanner-CQL_WSaC.cjs → sessionScanner-CDOYsEUD.cjs} +3 -3
  149. package/dist/{sessions-DTomHfFg.mjs → sessions-C3sZJkzI.mjs} +10 -10
  150. package/dist/{sessions-BJblG_Hx.cjs → sessions-hAitoN-m.cjs} +10 -10
  151. package/dist/{setupOfflineReconnection-DVA0VpQL.cjs → setupOfflineReconnection-C2EeYTFH.cjs} +2 -2
  152. package/dist/{setupOfflineReconnection-C5trsV-j.mjs → setupOfflineReconnection-_eD4cuUT.mjs} +2 -2
  153. package/dist/{spawn-DRyNAqD8.cjs → spawn-Bc9v7pIf.cjs} +14 -14
  154. package/dist/{spawn-CQJFgoOq.mjs → spawn-qNrB2CD_.mjs} +14 -14
  155. package/dist/{spawnAgents-CCjJifAW.cjs → spawnAgents-BVEaz35W.cjs} +1 -1
  156. package/dist/{spawnAgents-BjtmjBvP.mjs → spawnAgents-Bw6j4tqz.mjs} +1 -1
  157. package/dist/{spawnHappyCLI-B_0RWxD4.mjs → spawnHappyCLI-C2stUioM.mjs} +1 -1
  158. package/dist/{spawnHappyCLI-ChniczJ5.cjs → spawnHappyCLI-fzUagkKV.cjs} +1 -1
  159. package/dist/{specialCommands-DbntVs0d.cjs → specialCommands-BJ-nqY4s.cjs} +3 -3
  160. package/dist/{specialCommands-DkdFJi4N.mjs → specialCommands-C6W-rVyh.mjs} +3 -3
  161. package/dist/{startFileWatcher-C292fhra.cjs → startFileWatcher-Bqlqjt93.cjs} +1 -1
  162. package/dist/{startFileWatcher-UQyTSRAP.mjs → startFileWatcher-CR09Snmz.mjs} +1 -1
  163. package/dist/{streamRelay-Cx01enfe.cjs → streamRelay-9kBPpbvU.cjs} +1 -1
  164. package/dist/{streamRelay-_qCd873P.mjs → streamRelay-CJoMk_d2.mjs} +1 -1
  165. package/dist/{sync-C3p7-KLn.mjs → sync-DbW07iQS.mjs} +1 -1
  166. package/dist/{sync-C7sxoUYG.cjs → sync-Dhmtk66S.cjs} +1 -1
  167. package/dist/{systemPrompt-DtibzbRU.cjs → systemPrompt-3PYi3EUY.cjs} +2 -2
  168. package/dist/{systemPrompt-CdHOlyVW.mjs → systemPrompt-CQcuUmVp.mjs} +2 -2
  169. package/dist/{teams-ujXr3AFn.mjs → teams-CwF4Z2fA.mjs} +7 -7
  170. package/dist/{teams-D7O7TpVU.cjs → teams-DpxLcUU_.cjs} +7 -7
  171. package/dist/{time-Dg5tVB8S.cjs → time-A6zR3Iy6.cjs} +1 -1
  172. package/dist/{time-yEL6wHUF.mjs → time-BuGWTVP6.mjs} +1 -1
  173. package/dist/{titleGenerator-Dr-BtjzO.mjs → titleGenerator-BGEzNWC9.mjs} +1 -1
  174. package/dist/{titleGenerator-BMEaDTwU.cjs → titleGenerator-D26gvNaS.cjs} +2 -2
  175. package/dist/{todo-CUcFamGs.cjs → todo-73g3NCIO.cjs} +7 -7
  176. package/dist/{todo-CvJe4M2C.mjs → todo-DrZc76H5.mjs} +7 -7
  177. package/dist/{tools-BrM3bZW5.mjs → tools-BtsrQnNS.mjs} +1 -1
  178. package/dist/{tools-DDKTB5aQ.cjs → tools-CxJp4T1T.cjs} +1 -1
  179. package/dist/{uninstall-CEcMMQGz.mjs → uninstall-DOb2mTwV.mjs} +3 -3
  180. package/dist/{uninstall-7oLuhYIu.cjs → uninstall-DWNYvewQ.cjs} +3 -3
  181. package/package.json +7 -7
  182. package/dist/selfCheck-BAvqBwBR.mjs +0 -84
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var sessionModeFile = require('./sessionModeFile-CsLtn_PL.cjs');
3
+ var sessionModeFile = require('./sessionModeFile-CLLdidiJ.cjs');
4
4
 
5
5
  function sanitizeSpawnModel(value) {
6
6
  if (typeof value !== "string") return null;
@@ -3,7 +3,7 @@
3
3
  var promises = require('node:fs/promises');
4
4
  var node_crypto = require('node:crypto');
5
5
  var path = require('node:path');
6
- var configuration = require('./configuration-DZPy0T9Z.cjs');
6
+ var configuration = require('./configuration-4TGMrjul.cjs');
7
7
  var resources = require('./resources-JDPugcDq.cjs');
8
8
 
9
9
  async function publish(path, content, mode) {
@@ -1,7 +1,7 @@
1
1
  import { mkdir, chmod, writeFile, rename } from 'node:fs/promises';
2
2
  import { randomUUID } from 'node:crypto';
3
3
  import { join } from 'node:path';
4
- import { c as configuration } from './configuration-D55F0t16.mjs';
4
+ import { c as configuration } from './configuration-DVrb61aY.mjs';
5
5
  import { P as PI_TEAMS_EXTENSION } from './resources-BdFBQi8r.mjs';
6
6
 
7
7
  async function publish(path, content, mode) {
@@ -3,15 +3,15 @@ import { randomUUID } from 'node:crypto';
3
3
  import { createServer } from 'node:http';
4
4
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
5
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
6
- import { p as preparePiTeamsRuntime } from './piRuntime-DOdGF395.mjs';
7
- import { registerMcpTools, registerTerminalTitleSuggest } from './mcp-DMiFGYMT.mjs';
6
+ import { p as preparePiTeamsRuntime } from './piRuntime-E44qTVQ4.mjs';
7
+ import { registerMcpTools, registerTerminalTitleSuggest } from './mcp-DKT_lrvQ.mjs';
8
8
  import './agentGuidance-BDYt2Qy2.mjs';
9
9
  import 'node:fs/promises';
10
10
  import 'node:os';
11
11
  import 'zod';
12
- import './logger-13cBr_ew.mjs';
13
- import './persistence-C_tYtOqK.mjs';
14
- import './configuration-D55F0t16.mjs';
12
+ import './logger--vAVtXB_.mjs';
13
+ import './persistence-DTk4sNpd.mjs';
14
+ import './configuration-DVrb61aY.mjs';
15
15
  import 'axios';
16
16
  import 'tweetnacl';
17
17
  import 'socket.io-client';
@@ -20,23 +20,23 @@ import 'node:fs';
20
20
  import 'node:path';
21
21
  import { r as resolveMcpTerminalId } from './terminalToolContext-CFeGeaNm.mjs';
22
22
  import './resources-BdFBQi8r.mjs';
23
- import './tools-BrM3bZW5.mjs';
24
- import './client-BPMWutfs.mjs';
25
- import './context-CCRpVXFo.mjs';
23
+ import './tools-BtsrQnNS.mjs';
24
+ import './client-BTX9hsbr.mjs';
25
+ import './context-B3XPVJlj.mjs';
26
26
  import '@modelcontextprotocol/sdk/server/stdio.js';
27
- import './controlClient-C4xB5J6O.mjs';
27
+ import './controlClient-BYKyGyxj.mjs';
28
28
  import './limits-DIo7rEBR.mjs';
29
- import './downloadTarget-ByXzbDK4.mjs';
30
- import './sessionOps-CdgbEJgf.mjs';
31
- import './authRelay-DSAvg1uv.mjs';
32
- import './time-yEL6wHUF.mjs';
29
+ import './downloadTarget-DJPwAZlu.mjs';
30
+ import './sessionOps-BVoXe12O.mjs';
31
+ import './authRelay-DhQhkBvX.mjs';
32
+ import './time-BuGWTVP6.mjs';
33
33
  import './backgroundTaskActivity-BVwJBl02.mjs';
34
- import './remoteSessionClient-D01Hso2-.mjs';
34
+ import './remoteSessionClient-DRb2Jr5s.mjs';
35
35
  import './ids-DU6sLx4C.mjs';
36
- import './bootstrap-C0s2bPFQ.mjs';
36
+ import './bootstrap-BUagGC_-.mjs';
37
37
  import './previewPath-CXN4Vag0.mjs';
38
38
  import './terminalTitleSuggest-CeKsX_V6.mjs';
39
- import './titleGenerator-Dr-BtjzO.mjs';
39
+ import './titleGenerator-BGEzNWC9.mjs';
40
40
  import 'node:module';
41
41
  import './oneShotPrompts-DT4p6RNd.mjs';
42
42
  import './projectPath-BTBIMB57.mjs';
@@ -45,7 +45,7 @@ import 'url';
45
45
  import './trimIdent-BAjmv_TG.mjs';
46
46
  import 'chalk';
47
47
  import 'node:util';
48
- import './package-CjlsAaRe.mjs';
48
+ import './package-B7B03ejW.mjs';
49
49
  import './tmuxSocket-B8Yx20sT.mjs';
50
50
 
51
51
  async function startPiTerminalTools(terminalId) {
@@ -5,15 +5,15 @@ var node_crypto = require('node:crypto');
5
5
  var node_http = require('node:http');
6
6
  var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
7
7
  var streamableHttp_js = require('@modelcontextprotocol/sdk/server/streamableHttp.js');
8
- var piRuntime = require('./piRuntime-D7eio8Ix.cjs');
9
- var mcp = require('./mcp-DQv3caXs.cjs');
8
+ var piRuntime = require('./piRuntime-BHRT5MKO.cjs');
9
+ var mcp = require('./mcp-pNc1EbQf.cjs');
10
10
  require('./agentGuidance-BtBx2xxE.cjs');
11
11
  require('node:fs/promises');
12
12
  require('node:os');
13
13
  require('zod');
14
- require('./logger-LvwVeATU.cjs');
15
- require('./persistence-DXbKOHxl.cjs');
16
- require('./configuration-DZPy0T9Z.cjs');
14
+ require('./logger-DXTWlPzP.cjs');
15
+ require('./persistence-BfX72dne.cjs');
16
+ require('./configuration-4TGMrjul.cjs');
17
17
  require('axios');
18
18
  require('tweetnacl');
19
19
  require('socket.io-client');
@@ -22,23 +22,23 @@ require('node:fs');
22
22
  require('node:path');
23
23
  var terminalToolContext = require('./terminalToolContext-DoV9Gs7K.cjs');
24
24
  require('./resources-JDPugcDq.cjs');
25
- require('./tools-DDKTB5aQ.cjs');
26
- require('./client-DyvBTYee.cjs');
27
- require('./context-BKbrZ55r.cjs');
25
+ require('./tools-CxJp4T1T.cjs');
26
+ require('./client-Dnza1hgN.cjs');
27
+ require('./context-JoKu0V54.cjs');
28
28
  require('@modelcontextprotocol/sdk/server/stdio.js');
29
- require('./controlClient-SX8gSza2.cjs');
29
+ require('./controlClient-BTaZlbC6.cjs');
30
30
  require('./limits-C-a7gr04.cjs');
31
- require('./downloadTarget-Dj3WoVJa.cjs');
32
- require('./sessionOps-Dmt7WUUs.cjs');
33
- require('./authRelay-BdYkC1Po.cjs');
34
- require('./time-Dg5tVB8S.cjs');
31
+ require('./downloadTarget-BN5vZt3K.cjs');
32
+ require('./sessionOps-BAnr7n8t.cjs');
33
+ require('./authRelay-Dy1qU9td.cjs');
34
+ require('./time-A6zR3Iy6.cjs');
35
35
  require('./backgroundTaskActivity-CBvUdj39.cjs');
36
- require('./remoteSessionClient-B7NvjHD3.cjs');
36
+ require('./remoteSessionClient-BRTIOX5b.cjs');
37
37
  require('./ids-B6ZC0HGt.cjs');
38
- require('./bootstrap-6OI698q9.cjs');
38
+ require('./bootstrap-DCQ87Aan.cjs');
39
39
  require('./previewPath-B0rBdhy1.cjs');
40
40
  require('./terminalTitleSuggest-DhvRFX3H.cjs');
41
- require('./titleGenerator-BMEaDTwU.cjs');
41
+ require('./titleGenerator-D26gvNaS.cjs');
42
42
  require('node:module');
43
43
  require('./oneShotPrompts-CL0dip9C.cjs');
44
44
  require('./projectPath-ChLhdOyt.cjs');
@@ -47,7 +47,7 @@ require('url');
47
47
  require('./trimIdent-4gvk9Wk6.cjs');
48
48
  require('chalk');
49
49
  require('node:util');
50
- require('./package-Ch9WGDV_.cjs');
50
+ require('./package-DY4zTbKS.cjs');
51
51
  require('./tmuxSocket-D-Xt6Vn-.cjs');
52
52
 
53
53
  async function startPiTerminalTools(terminalId) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-LvwVeATU.cjs');
3
+ var logger = require('./logger-DXTWlPzP.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-13cBr_ew.mjs';
1
+ import { l as logger } from './logger--vAVtXB_.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-LvwVeATU.cjs');
3
+ var logger = require('./logger-DXTWlPzP.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 path = require('path');
9
9
  var spawn = require('cross-spawn');
10
10
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
11
11
  var os = require('os');
12
- var configuration = require('./configuration-DZPy0T9Z.cjs');
12
+ var configuration = require('./configuration-4TGMrjul.cjs');
13
13
 
14
14
  function run$1(args, options) {
15
15
  const RUNNER_PATH = path.resolve(path.join(projectPath.projectPath(), "scripts", "ripgrep_launcher.cjs"));
@@ -1,4 +1,4 @@
1
- import { l as logger } from './logger-13cBr_ew.mjs';
1
+ import { l as logger } from './logger--vAVtXB_.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-D55F0t16.mjs';
10
+ import { c as configuration } from './configuration-DVrb61aY.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-LvwVeATU.cjs');
3
+ var logger = require('./logger-DXTWlPzP.cjs');
4
4
  require('axios');
5
5
  require('node:events');
6
6
  require('socket.io-client');
7
- require('./attachmentLimits-DtFqqiwR.cjs');
7
+ require('./attachmentLimits-SqeAHrVC.cjs');
8
8
  require('node:crypto');
9
9
  require('tweetnacl');
10
- require('./configuration-DZPy0T9Z.cjs');
11
- require('./index-De8L5lFK.cjs');
12
- require('./registerCommonHandlers-60VuTkdg.cjs');
10
+ require('./configuration-4TGMrjul.cjs');
11
+ require('./index-_l1Sdmbi.cjs');
12
+ require('./registerCommonHandlers-C0_fyBQ0.cjs');
13
13
  require('os');
14
14
  require('child_process');
15
15
  require('@paralleldrive/cuid2');
16
- require('./persistence-DXbKOHxl.cjs');
16
+ require('./persistence-BfX72dne.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-13cBr_ew.mjs';
1
+ import { l as logger } from './logger--vAVtXB_.mjs';
2
2
  import 'axios';
3
3
  import 'node:events';
4
4
  import 'socket.io-client';
5
- import './attachmentLimits-Di1Z93lN.mjs';
5
+ import './attachmentLimits-UyFn8fkQ.mjs';
6
6
  import 'node:crypto';
7
7
  import 'tweetnacl';
8
- import './configuration-D55F0t16.mjs';
9
- import './index-DMy3OCBe.mjs';
10
- import './registerCommonHandlers-D8OMpBbQ.mjs';
8
+ import './configuration-DVrb61aY.mjs';
9
+ import './index-Clqlu17M.mjs';
10
+ import './registerCommonHandlers-CvIedVRf.mjs';
11
11
  import 'os';
12
12
  import 'child_process';
13
13
  import '@paralleldrive/cuid2';
14
- import './persistence-C_tYtOqK.mjs';
14
+ import './persistence-DTk4sNpd.mjs';
15
15
  import 'chalk';
16
16
  import './types-CkqAACXx.mjs';
17
17
 
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var controlClient = require('./controlClient-SX8gSza2.cjs');
4
- var sessionOps = require('./sessionOps-Dmt7WUUs.cjs');
5
- var time = require('./time-Dg5tVB8S.cjs');
3
+ var controlClient = require('./controlClient-BTaZlbC6.cjs');
4
+ var sessionOps = require('./sessionOps-BAnr7n8t.cjs');
5
+ var time = require('./time-A6zR3Iy6.cjs');
6
6
  var axios = require('axios');
7
7
  var os = require('node:os');
8
- var configuration = require('./configuration-DZPy0T9Z.cjs');
9
- var persistence = require('./persistence-DXbKOHxl.cjs');
8
+ var configuration = require('./configuration-4TGMrjul.cjs');
9
+ var persistence = require('./persistence-BfX72dne.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
- import { h as resumeDaemonSession, l as listDaemonSessions } from './controlClient-C4xB5J6O.mjs';
2
- import { d as archiveSession, u as unarchiveSession, h as sessionLiveness, e as sendUserMessage, i as readSessionState, o as openUserScopedSocket } from './sessionOps-CdgbEJgf.mjs';
3
- import { d as delay } from './time-yEL6wHUF.mjs';
1
+ import { h as resumeDaemonSession, l as listDaemonSessions } from './controlClient-BYKyGyxj.mjs';
2
+ import { d as archiveSession, u as unarchiveSession, h as sessionLiveness, e as sendUserMessage, i as readSessionState, o as openUserScopedSocket } from './sessionOps-BVoXe12O.mjs';
3
+ import { d as delay } from './time-BuGWTVP6.mjs';
4
4
  import axios from 'axios';
5
5
  import { hostname } from 'node:os';
6
- import { c as configuration } from './configuration-D55F0t16.mjs';
7
- import { r as readSettings, c as readCredentialsForConfiguredRelay } from './persistence-C_tYtOqK.mjs';
6
+ import { c as configuration } from './configuration-DVrb61aY.mjs';
7
+ import { r as readSettings, c as readCredentialsForConfiguredRelay } from './persistence-DTk4sNpd.mjs';
8
8
  import { randomUUID } from 'node:crypto';
9
9
 
10
10
  const ACTIVE_FRESH_WINDOW_MS = 15 * 60 * 1e3;
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var z = require('zod');
4
- var index = require('./index-De8L5lFK.cjs');
5
- var client = require('./client-COmgDDy0.cjs');
4
+ var index = require('./index-_l1Sdmbi.cjs');
5
+ var client = require('./client-C4zKGjiJ.cjs');
6
6
  var precheckCompat = require('./precheckCompat-CWOi5c9L.cjs');
7
7
  var agentGuidance = require('./agentGuidance-BtBx2xxE.cjs');
8
8
 
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { h as AutomationNameSchema, b as AutomationPrecheckSchema, j as AutomationConcurrencySchema, k as AutomationActionSchema, l as AutomationTriggerSchema } from './index-DMy3OCBe.mjs';
3
- import { a as authenticatedAutomationsClient, b as automationRunIdFromEnv } from './client-DG5ndWLw.mjs';
2
+ import { h as AutomationNameSchema, b as AutomationPrecheckSchema, j as AutomationConcurrencySchema, k as AutomationActionSchema, l as AutomationTriggerSchema } from './index-Clqlu17M.mjs';
3
+ import { a as authenticatedAutomationsClient, b as automationRunIdFromEnv } from './client-CnlkkrZO.mjs';
4
4
  import { u as updateAutomationChecked, c as createAutomationChecked } from './precheckCompat-DeEbilbr.mjs';
5
5
  import { R as REPORT_PROGRESS_TOOL_NAME, d as REPORT_PROGRESS_TOOL_TITLE, e as REPORT_PROGRESS_TOOL_DESCRIPTION } from './agentGuidance-BDYt2Qy2.mjs';
6
6
 
@@ -1,70 +1,70 @@
1
- import { i as isClaudeSessionId, g as extractCompleteLines, h as decideBackfill, j as parseTerminalHookPayload, k as decideMirrorBinding, M as MIRROR_BACKFILL_LINES_DEFAULT, m as mirrorLineKey, n as mirrorLocalId, o as initializeOwnedWorktree, e as summarizeSpawnSessionForLog, q as startAgentVersionChecks, W as WORKTREE_CAPABILITY_VERSION, t as currentWorktreeService } from './mirrorProtocol-Bz8tEabR.mjs';
2
- import { P as PI_ADAPTER_INSTALL_HINT, s as sanitizeSpawnModel } from './piRunnerArgs-BpHc-JZl.mjs';
1
+ import { i as isClaudeSessionId, g as extractCompleteLines, h as decideBackfill, j as parseTerminalHookPayload, k as decideMirrorBinding, M as MIRROR_BACKFILL_LINES_DEFAULT, m as mirrorLineKey, n as mirrorLocalId, o as initializeOwnedWorktree, e as summarizeSpawnSessionForLog, q as startAgentVersionChecks, W as WORKTREE_CAPABILITY_VERSION, t as currentWorktreeService } from './mirrorProtocol-6IFGPpjJ.mjs';
2
+ import { P as PI_ADAPTER_INSTALL_HINT, s as sanitizeSpawnModel } from './piRunnerArgs-AT8QJY7x.mjs';
3
3
  import fs from 'fs/promises';
4
4
  import * as tmp from 'tmp';
5
5
  import axios from 'axios';
6
- import { T as TurnActivityTracker, A as ApiClient } from './api-CKBViqI3.mjs';
7
- import { S as SPAWN_AGENTS, i as isSpawnAgent, s as sanitizeSpawnPermissionMode, r as resolveSpawnPermissionMode, a as resolveFirstMessageMeta } from './spawnAgents-BjtmjBvP.mjs';
8
- import { l as logger } from './logger-13cBr_ew.mjs';
6
+ import { T as TurnActivityTracker, A as ApiClient } from './api-Dib0dmqC.mjs';
7
+ import { S as SPAWN_AGENTS, i as isSpawnAgent, s as sanitizeSpawnPermissionMode, r as resolveSpawnPermissionMode, a as resolveFirstMessageMeta } from './spawnAgents-Bw6j4tqz.mjs';
8
+ import { l as logger } from './logger--vAVtXB_.mjs';
9
9
  import { readdirSync, statSync, unlinkSync, realpathSync, mkdirSync, writeFileSync, accessSync, constants as constants$1, existsSync, readFileSync, openSync, fsyncSync, closeSync, renameSync } from 'node:fs';
10
10
  import { join, isAbsolute, resolve, dirname, sep, basename, delimiter } from 'node:path';
11
- import { p as pruneStaleCompileCaches } from './index-CEm0MYiS.mjs';
12
- import { a as authAndSetupMachineIfNeeded } from './auth-BmESeKuM.mjs';
13
- import { c as configuration, f as ensurePrivateDirectorySync, w as writePrivateFileSync } from './configuration-D55F0t16.mjs';
11
+ import { p as pruneStaleCompileCaches } from './index-BYgfern_.mjs';
12
+ import { a as authAndSetupMachineIfNeeded } from './auth-BRjd2esb.mjs';
13
+ import { c as configuration, f as ensurePrivateDirectorySync, w as writePrivateFileSync } from './configuration-DVrb61aY.mjs';
14
14
  import { spawn, execSync } from 'child_process';
15
- import { p as packageJson } from './package-CjlsAaRe.mjs';
16
- import { g as globalPrefixForPackage, a as getEnvironmentInfo } from './doctor-B9c2C9dF.mjs';
17
- import { s as spawnHappyCLI } from './spawnHappyCLI-B_0RWxD4.mjs';
18
- import { b as readPersistedSessions, r as readSettings, l as latchKeepAwake, q as reportSignature, s as decideDaemonHibernation, t as nextCheckDelay, v as persistSession, d as readDaemonState, x as acquireDaemonLock, a as resolveCheckMs, y as resolveIdleMs, z as deletePersistedSessions, A as writeDaemonState, B as writeSettings, C as settingIdleMs, u as updateSettings, D as releaseDaemonLock } from './persistence-C_tYtOqK.mjs';
19
- import { i as isDaemonRunningCurrentlyInstalledHappyVersion, b as stopDaemon, o as cleanupDaemonState } from './controlClient-C4xB5J6O.mjs';
20
- import { e as sendUserMessage, f as readSessionMetadata, r as readSessionTranscript, l as listAccountSessions, a as listSessions, M as MAX_READ_LIMIT, s as sessionWebUrl, g as waitForSessionKey, d as archiveSession, j as analyzeLatestTurn, k as readSessionLog, m as TURN_WINDOW, n as userPromptText } from './sessionOps-CdgbEJgf.mjs';
15
+ import { p as packageJson } from './package-B7B03ejW.mjs';
16
+ import { g as globalPrefixForPackage, a as getEnvironmentInfo } from './doctor-0BiGwJXk.mjs';
17
+ import { s as spawnHappyCLI } from './spawnHappyCLI-C2stUioM.mjs';
18
+ import { b as readPersistedSessions, r as readSettings, l as latchKeepAwake, q as reportSignature, s as decideDaemonHibernation, t as nextCheckDelay, v as persistSession, d as readDaemonState, x as acquireDaemonLock, a as resolveCheckMs, y as resolveIdleMs, z as deletePersistedSessions, A as writeDaemonState, B as writeSettings, C as settingIdleMs, u as updateSettings, D as rewriteCredentialsForRelay, g as readCredentials, E as releaseDaemonLock } from './persistence-DTk4sNpd.mjs';
19
+ import { i as isDaemonRunningCurrentlyInstalledHappyVersion, b as stopDaemon, o as cleanupDaemonState } from './controlClient-BYKyGyxj.mjs';
20
+ import { e as sendUserMessage, f as readSessionMetadata, r as readSessionTranscript, l as listAccountSessions, a as listSessions, M as MAX_READ_LIMIT, s as sessionWebUrl, g as waitForSessionKey, d as archiveSession, j as analyzeLatestTurn, k as readSessionLog, m as TURN_WINDOW, n as userPromptText } from './sessionOps-BVoXe12O.mjs';
21
21
  import fastify from 'fastify';
22
22
  import { z } from 'zod';
23
23
  import { validatorCompiler, serializerCompiler } from 'fastify-type-provider-zod';
24
- import { d as decodeBase64, e as encodeBase64, h as decrypt } from './authRelay-DSAvg1uv.mjs';
24
+ import { d as decodeBase64, s as sameRelay, e as encodeBase64, h as decrypt } from './authRelay-DhQhkBvX.mjs';
25
25
  import { randomBytes, createHash, timingSafeEqual, randomUUID } from 'node:crypto';
26
26
  import { c as checkPreviewPath } from './previewPath-CXN4Vag0.mjs';
27
27
  import { a as BACKGROUND_TASKS_MAX, c as BACKGROUND_TASK_DESCRIPTION_MAX, d as BackgroundTaskTracker } from './backgroundTaskActivity-BVwJBl02.mjs';
28
- import { b as sanitizeRateLimitReport } from './rateLimitWindows-DYHDGuzQ.mjs';
29
- import { f as formatEditConflictNotice, b as SESSION_PEER_SENT_FROM, s as sendPeerMessage, l as listPeerSessions, C as CLI_PEER_SENDER_ID } from './peerTools-CxmrKnfV.mjs';
28
+ import { b as sanitizeRateLimitReport } from './rateLimitWindows-XrJiiBpU.mjs';
29
+ import { f as formatEditConflictNotice, b as SESSION_PEER_SENT_FROM, s as sendPeerMessage, l as listPeerSessions, C as CLI_PEER_SENDER_ID } from './peerTools-3R9RUARX.mjs';
30
30
  import os, { hostname, homedir, userInfo, tmpdir } from 'node:os';
31
- import { c as RemoteCallBudget, e as REMOTE_WRITE_CALLS_PER_MINUTE, d as deliverToSession, g as guardRemoteSessionOpsRequest, h as remoteError, i as REMOTE_OP_DEADLINE_MS, j as formatRemoteAuditLine, k as REMOTE_SEND_COMMIT_DEADLINE_MS, m as REMOTE_RESUME_WAIT_MS, n as capRemoteTranscript, o as capRemoteText, p as REMOTE_ANSWER_MAX_BYTES, q as REMOTE_TITLE_MAX_BYTES } from './remoteSessionClient-D01Hso2-.mjs';
32
- import { assistantHome, bootstrapAssistantHome } from './bootstrap-C0s2bPFQ.mjs';
33
- import { refreshAgentHomes, locateClaudeConversation, agentHomeSpawnEnv } from './index-Dhl6_bw7.mjs';
31
+ import { c as RemoteCallBudget, e as REMOTE_WRITE_CALLS_PER_MINUTE, d as deliverToSession, g as guardRemoteSessionOpsRequest, h as remoteError, i as REMOTE_OP_DEADLINE_MS, j as formatRemoteAuditLine, k as REMOTE_SEND_COMMIT_DEADLINE_MS, m as REMOTE_RESUME_WAIT_MS, n as capRemoteTranscript, o as capRemoteText, p as REMOTE_ANSWER_MAX_BYTES, q as REMOTE_TITLE_MAX_BYTES } from './remoteSessionClient-DRb2Jr5s.mjs';
32
+ import { assistantHome, bootstrapAssistantHome } from './bootstrap-BUagGC_-.mjs';
33
+ import { refreshAgentHomes, locateClaudeConversation, agentHomeSpawnEnv } from './index-Bvldtdny.mjs';
34
34
  import { existsSync as existsSync$1, statSync as statSync$1, mkdtempSync, rmSync } from 'fs';
35
35
  import { join as join$1 } from 'path';
36
36
  import { spawn as spawn$1, execFile, spawnSync } from 'node:child_process';
37
37
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
38
38
  import { d as daemonEndpointsMatch, r as resolveClaudeCredentialReadiness } from './doctorReadiness-C208SMN9.mjs';
39
- import { g as getInitialMachineMetadata, a as getStartupCliAvailability } from './machineMetadata-dMida2qq.mjs';
40
- import { buildResumeLaunch } from './handleResumeCommand-DHddBkNJ.mjs';
39
+ import { g as getInitialMachineMetadata, a as getStartupCliAvailability } from './machineMetadata-B1H9gNbN.mjs';
40
+ import { buildResumeLaunch } from './handleResumeCommand-CgjpsdDe.mjs';
41
+ import { u as ServerMigrateNoticeSchema, v as AUTOMATION_SUMMARY_MAX_CHARS, w as AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS, x as AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS, a as AUTOMATION_PRECHECK_MAX_TIMEOUT_MS, y as AUTOMATION_CLAIM_MAX_RUNS, z as AUTOMATION_DAEMON_CAPABILITY_PRECHECK, D as AUTOMATION_DEFAULT_LEASE_MS, i as isAutomationRunTerminal } from './index-Clqlu17M.mjs';
41
42
  import { access, symlink, readFile, rm, unlink, readlink, lstat, constants, stat, open } from 'node:fs/promises';
42
43
  import { p as parseExactVersion, c as compareExactVersions, f as fetchCliUpdateState, r as resolveCliUpdateCheckInterval, D as DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS } from './cliUpdate-Y34VGe9Y.mjs';
43
- import { c as createAutomationsClient, i as isAutomationsUnavailable, d as AutomationsRequestError } from './client-DG5ndWLw.mjs';
44
+ import { c as createAutomationsClient, i as isAutomationsUnavailable, d as AutomationsRequestError } from './client-CnlkkrZO.mjs';
44
45
  import { createRequire } from 'node:module';
45
46
  import { g as getProjectPath } from './path-D2wdaNSk.mjs';
46
47
  import { b as extractClaudeEditPaths } from './editPaths-BVfS_FFL.mjs';
47
- import { s as startFileWatcher } from './startFileWatcher-UQyTSRAP.mjs';
48
- import { I as InvalidateSync } from './sync-C3p7-KLn.mjs';
48
+ import { s as startFileWatcher } from './startFileWatcher-CR09Snmz.mjs';
49
+ import { I as InvalidateSync } from './sync-DbW07iQS.mjs';
49
50
  import { R as RawJSONLinesSchema } from './types-CkqAACXx.mjs';
50
51
  import { t as tmuxArgs, a as scrubTmuxClientEnv, s as shellescape } from './tmuxSocket-B8Yx20sT.mjs';
51
- import { p as processIdentityFields, r as readSessionLock, t as terminateProcess } from './sessionLock-ZfvFVdUi.mjs';
52
+ import { p as processIdentityFields, r as readSessionLock, t as terminateProcess } from './sessionLock-DBdtZGOL.mjs';
52
53
  import { findAllHappyProcesses } from './doctor-BPkYWSuq.mjs';
53
54
  import { T as TEAM_SKILL } from './resources-BdFBQi8r.mjs';
54
55
  import { promisify } from 'node:util';
55
- import { u as AUTOMATION_SUMMARY_MAX_CHARS, v as AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS, w as AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS, a as AUTOMATION_PRECHECK_MAX_TIMEOUT_MS, x as AUTOMATION_CLAIM_MAX_RUNS, y as AUTOMATION_DAEMON_CAPABILITY_PRECHECK, z as AUTOMATION_DEFAULT_LEASE_MS, i as isAutomationRunTerminal } from './index-DMy3OCBe.mjs';
56
56
  import { c as clipText, r as renderAction, b as renderTemplate } from './template-CiOPa2rd.mjs';
57
57
  import { d as detectDaemonSupervisor } from './daemonSupervisor-C6urv3_8.mjs';
58
58
  import { d as describeAgentHome } from './loginShellEnv-Dw8M7tkI.mjs';
59
- import './sessionModeFile-CWVq8AT9.mjs';
60
- import './lidState-BqVsw7H1.mjs';
59
+ import './sessionModeFile-ByLbXTbg.mjs';
60
+ import './lidState-DNMlIhX0.mjs';
61
61
  import 'os';
62
62
  import 'node:events';
63
63
  import 'socket.io-client';
64
- import './attachmentLimits-Di1Z93lN.mjs';
64
+ import './attachmentLimits-UyFn8fkQ.mjs';
65
65
  import './limits-DIo7rEBR.mjs';
66
- import './time-yEL6wHUF.mjs';
67
- import './registerCommonHandlers-D8OMpBbQ.mjs';
66
+ import './time-BuGWTVP6.mjs';
67
+ import './registerCommonHandlers-CvIedVRf.mjs';
68
68
  import 'util';
69
69
  import 'crypto';
70
70
  import 'cross-spawn';
@@ -72,12 +72,12 @@ import '@paralleldrive/cuid2';
72
72
  import './contentLogMetadata-BlWI0egu.mjs';
73
73
  import 'chalk';
74
74
  import 'tweetnacl';
75
- import './browser-BlLWZUMx.mjs';
75
+ import './browser-Dj_DYQEh.mjs';
76
76
  import 'open';
77
77
  import './ids-DU6sLx4C.mjs';
78
78
  import 'url';
79
79
  import './detectCLI-CSGMlV51.mjs';
80
- import './localHappyAgentAuth-Ce8kO2yc.mjs';
80
+ import './localHappyAgentAuth-BezKSFDi.mjs';
81
81
  import 'ps-list';
82
82
 
83
83
  async function resolveRelaunchMetadata(snapshot, fetchServer) {
@@ -2030,6 +2030,52 @@ function spawnAgentUnavailableError(agent, availability) {
2030
2030
  return null;
2031
2031
  }
2032
2032
 
2033
+ function isAcceptableRelayUrl(url) {
2034
+ try {
2035
+ const parsed = new URL(url);
2036
+ const loopback = parsed.hostname === "localhost" || parsed.hostname === "127.0.0.1" || parsed.hostname === "[::1]";
2037
+ return parsed.protocol === "https:" || parsed.protocol === "http:" && loopback;
2038
+ } catch {
2039
+ return false;
2040
+ }
2041
+ }
2042
+ async function applyServerMigration(raw, deps) {
2043
+ const parsed = ServerMigrateNoticeSchema.safeParse(raw);
2044
+ if (!parsed.success) return { action: "ignored", reason: "malformed notice" };
2045
+ const notice = parsed.data;
2046
+ if (sameRelay(notice.url, deps.configuredServerUrl)) return { action: "ignored", reason: "already on that relay" };
2047
+ if (!isAcceptableRelayUrl(notice.url) || !isAcceptableRelayUrl(notice.webappUrl)) {
2048
+ return refuse(deps, `relay URL must be https: ${notice.url}`);
2049
+ }
2050
+ if (deps.env.HAPPY_SERVER_URL?.trim()) {
2051
+ return refuse(deps, `HAPPY_SERVER_URL is set in this daemon's environment; unset it (or point it at ${notice.url}) and restart the daemon`);
2052
+ }
2053
+ const credentials = await deps.readCredentials();
2054
+ if (!credentials) return refuse(deps, "no credentials on disk");
2055
+ let token;
2056
+ try {
2057
+ const response = await deps.fetch(`${notice.url}/v1/auth/migrate/complete`, {
2058
+ method: "POST",
2059
+ headers: { "content-type": "application/json", "X-Happy-Client": deps.clientId },
2060
+ body: JSON.stringify({ handoff: notice.handoff })
2061
+ });
2062
+ if (!response.ok) return refuse(deps, `${notice.url} refused the handoff (HTTP ${response.status})`);
2063
+ const body = await response.json();
2064
+ if (body.kind !== "daemon" || typeof body.token !== "string" || !body.token) return refuse(deps, `${notice.url} answered without a daemon token`);
2065
+ token = body.token;
2066
+ } catch (error) {
2067
+ return refuse(deps, `${notice.url} unreachable: ${error instanceof Error ? error.message : String(error)}`);
2068
+ }
2069
+ await deps.updateSettings((current) => ({ ...current, serverUrl: notice.url, webappUrl: notice.webappUrl }));
2070
+ await deps.rewriteCredentials(credentials, { token, authServerUrl: notice.url });
2071
+ deps.log(`[RELAY MOVE] Moved this machine from ${deps.configuredServerUrl} to ${notice.url}; handing over to a new daemon`);
2072
+ return { action: "moved", serverUrl: notice.url, webappUrl: notice.webappUrl };
2073
+ }
2074
+ function refuse(deps, reason) {
2075
+ deps.log(`[RELAY MOVE] Not moving this machine: ${reason}`);
2076
+ return { action: "refused", reason };
2077
+ }
2078
+
2033
2079
  function str(value) {
2034
2080
  return typeof value === "string" && value.length > 0 ? value : void 0;
2035
2081
  }
@@ -6007,6 +6053,27 @@ async function startDaemon() {
6007
6053
  });
6008
6054
  apiMachine.setCliUpdateRetryHandler(updateController.retry);
6009
6055
  apiMachine.setCliUpdateRequestHandler(updateController.request);
6056
+ let pendingRelayMove = null;
6057
+ let relayMoveInFlight = null;
6058
+ apiMachine.setServerMigrateHandler((notice) => {
6059
+ if (relayMoveInFlight || pendingRelayMove) return;
6060
+ relayMoveInFlight = applyServerMigration(notice, {
6061
+ configuredServerUrl: configuration.serverUrl,
6062
+ env: process.env,
6063
+ clientId: `cli-daemon/${configuration.currentCliVersion}`,
6064
+ fetch,
6065
+ readCredentials,
6066
+ rewriteCredentials: rewriteCredentialsForRelay,
6067
+ updateSettings,
6068
+ log: (message) => logger.warn(message)
6069
+ }).then((outcome) => {
6070
+ if (outcome.action === "moved") pendingRelayMove = { serverUrl: outcome.serverUrl };
6071
+ }).catch((error) => {
6072
+ logger.warn("[RELAY MOVE] Failed:", error);
6073
+ }).finally(() => {
6074
+ relayMoveInFlight = null;
6075
+ });
6076
+ });
6010
6077
  const refreshCliUpdate = () => updateController.refresh().catch((error) => {
6011
6078
  logger.debug("[DAEMON RUN] CLI update policy check failed:", error);
6012
6079
  });
@@ -6044,8 +6111,9 @@ async function startDaemon() {
6044
6111
  } catch {
6045
6112
  }
6046
6113
  }
6047
- if (bundleReplaced && !teamWorker?.busy && !automationRunner?.busy && !updateController.isRunning() && !turnActivity.hasActiveTurn() && !backgroundTasks.hasAny()) {
6048
- const preflight = await preflightNewBundle(bundlePath);
6114
+ const relayMove = pendingRelayMove;
6115
+ if ((bundleReplaced || relayMove) && !teamWorker?.busy && !automationRunner?.busy && !updateController.isRunning() && !turnActivity.hasActiveTurn() && !backgroundTasks.hasAny()) {
6116
+ const preflight = bundleReplaced ? await preflightNewBundle(bundlePath) : { action: "proceed" };
6049
6117
  if (preflight.action === "hold") {
6050
6118
  if (lastHandoverHold !== preflight.reason) {
6051
6119
  lastHandoverHold = preflight.reason;
@@ -6056,7 +6124,7 @@ async function startDaemon() {
6056
6124
  }
6057
6125
  if (teamWorker?.busy || automationRunner?.busy || updateController.isRunning() || turnActivity.hasActiveTurn() || backgroundTasks.hasAny()) return;
6058
6126
  lastHandoverHold = null;
6059
- logger.debug("[DAEMON RUN] Daemon bundle replaced on disk and verified, handing off to new daemon");
6127
+ logger.debug(relayMove ? `[DAEMON RUN] Relay moved to ${relayMove.serverUrl}; handing off to a new daemon on the new settings` : "[DAEMON RUN] Daemon bundle replaced on disk and verified, handing off to new daemon");
6060
6128
  teamWorker?.stop();
6061
6129
  automationRunner?.stop();
6062
6130
  clearInterval(restartOnStaleVersionAndHeartbeat);