very-happy-cli 0.2.162 → 0.2.164

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 (174) hide show
  1. package/dist/{AcpBackend--TmFHgRH.mjs → AcpBackend-B8l1ZePt.mjs} +3 -3
  2. package/dist/{AcpBackend-9asD_DL7.cjs → AcpBackend-CHDqSii9.cjs} +3 -3
  3. package/dist/{AcpSessionManager-BvIuBzoO.cjs → AcpSessionManager-9yN2iH4b.cjs} +1 -1
  4. package/dist/{AcpSessionManager-BSIBnWUb.mjs → AcpSessionManager-BQnDJvct.mjs} +1 -1
  5. package/dist/{BasePermissionHandler-D4B-NNu2.cjs → BasePermissionHandler-DGQYvBPg.cjs} +1 -1
  6. package/dist/{BasePermissionHandler-DUBySe0f.mjs → BasePermissionHandler-DgtAtJTV.mjs} +1 -1
  7. package/dist/{BaseReasoningProcessor-CqLl-ikP.cjs → BaseReasoningProcessor-BqalZhQO.cjs} +1 -1
  8. package/dist/{BaseReasoningProcessor-9TybUGTq.mjs → BaseReasoningProcessor-Dfacnfhj.mjs} +1 -1
  9. package/dist/{agentHome-DQrq_FG1.mjs → agentHome-DM0urHEI.mjs} +4 -4
  10. package/dist/{agentHome-BohNUYnE.cjs → agentHome-DtsPKfTS.cjs} +4 -4
  11. package/dist/{api-CQnLOqRS.cjs → api-EKlS0r1w.cjs} +57 -15
  12. package/dist/{api-D57dsd6_.mjs → api-Yoh_zKdR.mjs} +57 -15
  13. package/dist/{apiMachine-fFFaWxYy.cjs → apiMachine-q71suojS.cjs} +20 -17
  14. package/dist/{apiMachine-78Aqzg--.mjs → apiMachine-s3HiV-SL.mjs} +20 -17
  15. package/dist/{assistantTools-mEz6uNqL.mjs → assistantTools-BWfAV349.mjs} +6 -6
  16. package/dist/{assistantTools-CwESq24n.cjs → assistantTools-D3cZvgUX.cjs} +6 -6
  17. package/dist/{attachmentContent-s1xPha4Q.mjs → attachmentContent-BLyyo1al.mjs} +2 -2
  18. package/dist/{attachmentContent-GHOk6Muq.cjs → attachmentContent-Bakb0XV3.cjs} +2 -2
  19. package/dist/{attachmentLimits-D5pgmASK.mjs → attachmentLimits-B8nzhw-i.mjs} +1 -1
  20. package/dist/{attachmentLimits-DzlBPyJP.cjs → attachmentLimits-eJZ4ZBjF.cjs} +1 -1
  21. package/dist/{auth-BOaHWquu.mjs → auth-BTfv8yW0.mjs} +8 -8
  22. package/dist/{auth-BbSdXMQ_.cjs → auth-Cn3dQInF.cjs} +5 -5
  23. package/dist/{auth-C8V7-oUT.mjs → auth-Cxhx5evk.mjs} +5 -5
  24. package/dist/{auth-B8EagV6G.cjs → auth-Hpg4Yxfa.cjs} +8 -8
  25. package/dist/{auto-CWDOX35m.mjs → auto-BAAEVGZa.mjs} +15 -14
  26. package/dist/{auto-Bw_h0yVc.cjs → auto-CK8irHum.cjs} +15 -14
  27. package/dist/{bootstrap-BKmsYSwh.mjs → bootstrap-CTNjn_aj.mjs} +2 -2
  28. package/dist/{bootstrap-DvZjEa9_.cjs → bootstrap-D9SUykG_.cjs} +2 -2
  29. package/dist/{browser-CBZj-1Wx.cjs → browser-C8ztaIkm.cjs} +1 -1
  30. package/dist/{browser-CrMAr5fI.mjs → browser-DydXWySF.mjs} +1 -1
  31. package/dist/{claudeLocal-dhdlcQ6F.mjs → claudeLocal-CdJJovWq.mjs} +5 -5
  32. package/dist/{claudeLocal-Bpw-u9et.cjs → claudeLocal-CsLFMvFU.cjs} +5 -5
  33. package/dist/{claudeLocalLauncher-BFfGT4eY.mjs → claudeLocalLauncher-CKazNnl0.mjs} +10 -10
  34. package/dist/{claudeLocalLauncher-DWFWuLhY.cjs → claudeLocalLauncher-DRc-tET5.cjs} +10 -10
  35. package/dist/{claudeSessionFork-D9-mANmu.cjs → claudeSessionFork-BWdhyy9B.cjs} +1 -1
  36. package/dist/{claudeSessionFork-_DUrXaqd.mjs → claudeSessionFork-BfPW9D2S.mjs} +1 -1
  37. package/dist/{client-CVQJWqjx.cjs → client-BZtKFCJr.cjs} +2 -2
  38. package/dist/{client-DiBTHWNU.cjs → client-C1GAIJ04.cjs} +3 -3
  39. package/dist/{client-DwqHDsLb.mjs → client-DkoV3VWl.mjs} +2 -2
  40. package/dist/{client-Dk7x-s-O.mjs → client-Do5CHQnZ.mjs} +3 -3
  41. package/dist/codex/happyMcpStdioBridge.cjs +15 -15
  42. package/dist/codex/happyMcpStdioBridge.mjs +15 -15
  43. package/dist/{codexAppServerClient-C2ybs2mZ.mjs → codexAppServerClient-CfF33X-8.mjs} +2 -2
  44. package/dist/{codexAppServerClient-DlKv5TjG.cjs → codexAppServerClient-JddkV_aP.cjs} +2 -2
  45. package/dist/{codexCommand-4vLE31fj.cjs → codexCommand-Bdj3XZbi.cjs} +43 -40
  46. package/dist/{codexCommand-DnmFr9Qx.mjs → codexCommand-btJso8yC.mjs} +43 -40
  47. package/dist/{config-Btd4B05_.cjs → config-DpCNivmg.cjs} +3 -3
  48. package/dist/{config-CSOG_ZcP.mjs → config-nziuMb7g.mjs} +3 -3
  49. package/dist/{configuration-A5gW_0GE.mjs → configuration-CiBUH72C.mjs} +1 -1
  50. package/dist/{configuration-UsI0sxEv.cjs → configuration-PXAE4-FP.cjs} +1 -1
  51. package/dist/{connect-C9yxp8Om.cjs → connect-D7ehaW2C.cjs} +13 -13
  52. package/dist/{connect-DWYj8LP_.mjs → connect-XHdi6Vtc.mjs} +13 -13
  53. package/dist/{context-BXnxalWW.mjs → context-BpEYcuLv.mjs} +1 -1
  54. package/dist/{context-0FjjA4vJ.cjs → context-DhvXl1oC.cjs} +1 -1
  55. package/dist/{controlClient-BXktrQ4z.cjs → controlClient-DI-Er-Ww.cjs} +3 -3
  56. package/dist/{controlClient-CYzHrh3e.mjs → controlClient-DzmCQrY_.mjs} +3 -3
  57. package/dist/{createSessionMetadata-Dyg33ZlU.mjs → createSessionMetadata-B47GrTX6.mjs} +2 -2
  58. package/dist/{createSessionMetadata-EX1eAlHx.cjs → createSessionMetadata-D04x6OMW.cjs} +2 -2
  59. package/dist/{deterministicJson-eha_oMZ2.cjs → deterministicJson-BM8e8QwP.cjs} +9 -9
  60. package/dist/{deterministicJson-DiR7EOMO.mjs → deterministicJson-CKqT3awl.mjs} +9 -9
  61. package/dist/{doctor-FuCvKdRa.mjs → doctor-CSgzbG5L.mjs} +6 -6
  62. package/dist/{doctor-DunLBgVi.cjs → doctor-Cl6cqvok.cjs} +6 -6
  63. package/dist/{ensureDaemonRunning-B4dZFmUy.cjs → ensureDaemonRunning-CJ4-U32n.cjs} +5 -5
  64. package/dist/{ensureDaemonRunning-EZkb-CAF.mjs → ensureDaemonRunning-fPVSsjIm.mjs} +5 -5
  65. package/dist/forkBackfill-8eLDeS73.cjs +66 -0
  66. package/dist/forkBackfill-DYIjlN1Z.mjs +62 -0
  67. package/dist/{handleResumeCommand-CsXendKb.mjs → handleResumeCommand-B84dt2aH.mjs} +5 -5
  68. package/dist/{handleResumeCommand-CKMIw4pE.cjs → handleResumeCommand-bX-aNF_z.cjs} +5 -5
  69. package/dist/{index-DRhWHEuW.cjs → index-B2UvSWo_.cjs} +3 -3
  70. package/dist/{index-BOhgL3rh.cjs → index-CP2fh7JX.cjs} +38 -38
  71. package/dist/{index-9L39wqYR.mjs → index-CRJtZCK-.mjs} +39 -39
  72. package/dist/{index-CvXcVQ06.mjs → index-CbF87SeZ.mjs} +3 -3
  73. package/dist/{index-CZWAiydF.cjs → index-DaTxsAC3.cjs} +4 -4
  74. package/dist/{index-DJ-oV52i.cjs → index-DqlyNgt4.cjs} +6 -1
  75. package/dist/{index-DK2JpTJf.mjs → index-OEGj3BxE.mjs} +4 -4
  76. package/dist/{index-BBg9j0XK.mjs → index-vVWpCoTr.mjs} +6 -1
  77. package/dist/index.cjs +2 -2
  78. package/dist/index.mjs +2 -2
  79. package/dist/{install-B2duVo9a.mjs → install-CurvoW2u.mjs} +3 -3
  80. package/dist/{install-C8WyZI9K.cjs → install-__Mni4NU.cjs} +3 -3
  81. package/dist/lib.cjs +17 -17
  82. package/dist/lib.d.cts +47 -0
  83. package/dist/lib.d.mts +47 -0
  84. package/dist/lib.mjs +17 -17
  85. package/dist/{lidState-CigXWxhe.mjs → lidState-BbR6y9rq.mjs} +66 -2
  86. package/dist/{lidState-Ds-6ytZV.cjs → lidState-De2HP6nu.cjs} +67 -1
  87. package/dist/{localHappyAgentAuth-CaCyKzYp.mjs → localHappyAgentAuth-C7rDePjF.mjs} +1 -1
  88. package/dist/{localHappyAgentAuth-l0Na-5Ys.cjs → localHappyAgentAuth-CboZb3_a.cjs} +1 -1
  89. package/dist/{logger-CGE4C8ho.mjs → logger-8dtZPn3n.mjs} +2 -2
  90. package/dist/{logger-7ucWm9wp.cjs → logger-B1k7eZnq.cjs} +2 -2
  91. package/dist/{machineMetadata-ue1nkowa.mjs → machineMetadata-Bhp_w3-_.mjs} +3 -3
  92. package/dist/{machineMetadata-lMPtpF16.cjs → machineMetadata-C4OfKn6I.cjs} +3 -3
  93. package/dist/{main-3fIFXD-t.mjs → main-BQTaUrz0.mjs} +44 -44
  94. package/dist/{main-CFI0datL.cjs → main-eAiLspBM.cjs} +44 -44
  95. package/dist/{mcp-DARQBZ7l.mjs → mcp-DXCdbQHM.mjs} +14 -14
  96. package/dist/{mcp-DfxLAc1G.cjs → mcp-fapbM7Q4.cjs} +14 -14
  97. package/dist/{package-D1A-8ZJy.cjs → package-CC_txQ31.cjs} +8 -8
  98. package/dist/{package-DQsvY1XN.mjs → package-tVYgFJoK.mjs} +8 -8
  99. package/dist/{peerTools-D19hhSQF.mjs → peerTools-C1cduHh1.mjs} +4 -4
  100. package/dist/{peerTools-DLwNaEEV.cjs → peerTools-CqIcCEIg.cjs} +4 -4
  101. package/dist/{persistence-Cw8aLoyL.mjs → persistence-C_xFQLsD.mjs} +3 -3
  102. package/dist/{persistence-i0nQMLlk.cjs → persistence-d3ZyER6o.cjs} +3 -3
  103. package/dist/{piRunnerArgs-BUyxPxjZ.cjs → piRunnerArgs-DSxolPlV.cjs} +1 -1
  104. package/dist/{piRunnerArgs-58t454gw.mjs → piRunnerArgs-aq0zJX1Q.mjs} +1 -1
  105. package/dist/{piRuntime-DVPixFjl.mjs → piRuntime-BnNl5Lmb.mjs} +1 -1
  106. package/dist/{piRuntime-Dff73XCb.cjs → piRuntime-Dne1LPu-.cjs} +1 -1
  107. package/dist/{piTerminal-gHWFAyzq.mjs → piTerminal-CKWxWtW-.mjs} +16 -16
  108. package/dist/{piTerminal-Dz1RrO70.cjs → piTerminal-fjado4cR.cjs} +16 -16
  109. package/dist/{registerCommonHandlers-CMROPdJz.cjs → registerCommonHandlers-Dausbdsb.cjs} +2 -2
  110. package/dist/{registerCommonHandlers-Ckv5boQI.mjs → registerCommonHandlers-bSskMveZ.mjs} +2 -2
  111. package/dist/{registerKillSessionHandler-Cll4-o8Y.mjs → registerKillSessionHandler-Ben5lAsN.mjs} +6 -6
  112. package/dist/{registerKillSessionHandler-CA9-oelM.cjs → registerKillSessionHandler-CgKyzwqw.cjs} +6 -6
  113. package/dist/{remoteSessionClient-DX9jHLeW.cjs → remoteSessionClient-BkJt8SHa.cjs} +5 -5
  114. package/dist/{remoteSessionClient-BMjsbuBh.mjs → remoteSessionClient-DnCIuZpQ.mjs} +5 -5
  115. package/dist/{run-CjbGo2wb.cjs → run-B8dxbDsg.cjs} +33 -33
  116. package/dist/{run-CrunzDlt.mjs → run-BEYMVE4J.mjs} +32 -32
  117. package/dist/{runClaude-KN-4Y4LH.cjs → runClaude-Cy_HzLyO.cjs} +26 -23
  118. package/dist/{runClaude-WDBWRtnF.mjs → runClaude-Dd_P1c0f.mjs} +26 -23
  119. package/dist/{runClaudeDeps-QaEx8y5r.mjs → runClaudeDeps-JG7EUH7B.mjs} +441 -49
  120. package/dist/{runClaudeDeps-DW-8lnHv.cjs → runClaudeDeps-dxv910DR.cjs} +436 -44
  121. package/dist/{runGemini-Nf6SKBpw.mjs → runGemini-CpaBuvoW.mjs} +34 -34
  122. package/dist/{runGemini-Djmwjdv1.cjs → runGemini-DY1IDW_f.cjs} +34 -34
  123. package/dist/{runOpenClaw-CAqP5KFH.cjs → runOpenClaw-C0VARcYj.cjs} +20 -20
  124. package/dist/{runOpenClaw-9nHtmYbN.mjs → runOpenClaw-C7vrDQbq.mjs} +20 -20
  125. package/dist/{sandbox-C8Dd8GPM.cjs → sandbox-Bx9-M9rN.cjs} +4 -4
  126. package/dist/{sandbox-SP0THMt0.mjs → sandbox-DRUJZuaM.mjs} +4 -4
  127. package/dist/{selfCheck-D9ZXrK7h.cjs → selfCheck-Ba1sECTO.cjs} +34 -34
  128. package/dist/selfCheck-DdT8r263.mjs +84 -0
  129. package/dist/{send-DOx9aQsx.mjs → send-BrzkbMy2.mjs} +8 -8
  130. package/dist/{send-LPk6Q5HI.cjs → send-Dqdpx-w5.cjs} +8 -8
  131. package/dist/{server-BZNi8Hq_.mjs → server-CPMPoEAA.mjs} +4 -4
  132. package/dist/{server-CxT8jNyn.cjs → server-CfB8EWCg.cjs} +6 -6
  133. package/dist/{sessionLock-y9rnA4LK.cjs → sessionLock-BsP3Y_nG.cjs} +2 -2
  134. package/dist/{sessionLock-CfLqJfeI.mjs → sessionLock-DukLVzAQ.mjs} +2 -2
  135. package/dist/{sessionModeFile-BKxgNH3P.mjs → sessionModeFile-CSvi4H_t.mjs} +1 -1
  136. package/dist/{sessionModeFile-B5YeoQJh.cjs → sessionModeFile-JWWF6Nn7.cjs} +1 -1
  137. package/dist/{sessionOps-CdwVPSZz.mjs → sessionOps-BlMg1uAa.mjs} +5 -5
  138. package/dist/{sessionOps-GsELm2PZ.cjs → sessionOps-HuoMXcIZ.cjs} +4 -4
  139. package/dist/{sessionScanner-aLEv7mD3.cjs → sessionScanner-BWU6KvZw.cjs} +3 -3
  140. package/dist/{sessionScanner-Cdukzo70.mjs → sessionScanner-Ct-JoNHP.mjs} +3 -3
  141. package/dist/{sessions-Dne-OiRL.mjs → sessions-3Hw1xXMV.mjs} +9 -9
  142. package/dist/{sessions-CfG4WGN0.cjs → sessions-AjflCj5y.cjs} +9 -9
  143. package/dist/{setupOfflineReconnection-DiQma2Cc.mjs → setupOfflineReconnection-B_9xp36H.mjs} +2 -2
  144. package/dist/{setupOfflineReconnection-CFwltTcP.cjs → setupOfflineReconnection-Cxh9Sz9M.cjs} +2 -2
  145. package/dist/{spawn-DkgP2BGF.mjs → spawn-BXEVKCQK.mjs} +38 -18
  146. package/dist/{spawn-BI_sdgWs.cjs → spawn-CN8PH11G.cjs} +38 -17
  147. package/dist/{spawnAgents-Y1LjnCt9.mjs → spawnAgents-Czi2VDzj.mjs} +1 -1
  148. package/dist/{spawnAgents-iSu1Xzs5.cjs → spawnAgents-McixdtV1.cjs} +1 -1
  149. package/dist/{spawnHappyCLI-9mx4lPxh.mjs → spawnHappyCLI-BFN0h2fK.mjs} +1 -1
  150. package/dist/{spawnHappyCLI-BRdx0sAX.cjs → spawnHappyCLI-Cj-9-d_7.cjs} +1 -1
  151. package/dist/{startFileWatcher-C2HC2_Dg.cjs → startFileWatcher-BfMu444W.cjs} +1 -1
  152. package/dist/{startFileWatcher-COD5UKNs.mjs → startFileWatcher-Csql7gdv.mjs} +1 -1
  153. package/dist/{streamRelay-BLgU9X3R.mjs → streamRelay-BzMEEvJU.mjs} +1 -1
  154. package/dist/{streamRelay-DnObXZZj.cjs → streamRelay-C0AffuX6.cjs} +1 -1
  155. package/dist/{sync-Dj92ZJ8Y.cjs → sync--uxtLWbo.cjs} +5 -1
  156. package/dist/{sync-BpLasLu2.mjs → sync-SCvDzRy6.mjs} +5 -1
  157. package/dist/{systemPrompt-CyEz_IfR.cjs → systemPrompt-C1tRiZ-u.cjs} +2 -2
  158. package/dist/{systemPrompt-DsQoUgQw.mjs → systemPrompt-D0KMySrK.mjs} +2 -2
  159. package/dist/{teams-BETNMjpZ.mjs → teams-By-hcvMF.mjs} +6 -6
  160. package/dist/{teams-Ctx9zXn4.cjs → teams-CYDIFXEC.cjs} +6 -6
  161. package/dist/{time-CLwVAz6s.cjs → time-C7BplxuS.cjs} +1 -1
  162. package/dist/{time-CVvxdEDh.mjs → time-CRvAaC5H.mjs} +1 -1
  163. package/dist/{titleGenerator-B4AW3dLr.mjs → titleGenerator-CUG-n2r3.mjs} +1 -1
  164. package/dist/{titleGenerator-FDpdizn7.cjs → titleGenerator-Kw3sTnNQ.cjs} +2 -2
  165. package/dist/{todo-C3tyFeq1.cjs → todo-B7a7J5Ng.cjs} +6 -6
  166. package/dist/{todo-Jk4Vs7hP.mjs → todo-yuIsUvU8.mjs} +6 -6
  167. package/dist/{tools-CGxq3I52.cjs → tools-BTBgpiRc.cjs} +2 -2
  168. package/dist/{tools-O5beDK-s.cjs → tools-D7UeLMZ7.cjs} +1 -1
  169. package/dist/{tools-_kFe4m_l.mjs → tools-RvMKw7yx.mjs} +1 -1
  170. package/dist/{tools-BA1qkiV1.mjs → tools-gUjkPpCw.mjs} +2 -2
  171. package/dist/{uninstall-DHKF90lo.cjs → uninstall-D5D16-KM.cjs} +3 -3
  172. package/dist/{uninstall-C_mdAZlm.mjs → uninstall-Dx9FmLXs.mjs} +3 -3
  173. package/package.json +8 -8
  174. package/dist/selfCheck-7FaZtVu2.mjs +0 -84
@@ -3,22 +3,22 @@
3
3
  var chalk = require('chalk');
4
4
  var node_fs = require('node:fs');
5
5
  var path = require('node:path');
6
- var persistence = require('./persistence-i0nQMLlk.cjs');
7
- var sessionOps = require('./sessionOps-GsELm2PZ.cjs');
8
- var remoteSessionClient = require('./remoteSessionClient-DX9jHLeW.cjs');
6
+ var persistence = require('./persistence-d3ZyER6o.cjs');
7
+ var sessionOps = require('./sessionOps-HuoMXcIZ.cjs');
8
+ var remoteSessionClient = require('./remoteSessionClient-BkJt8SHa.cjs');
9
9
  require('node:fs/promises');
10
- require('./configuration-UsI0sxEv.cjs');
10
+ require('./configuration-PXAE4-FP.cjs');
11
11
  require('node:os');
12
- require('./package-D1A-8ZJy.cjs');
12
+ require('./package-CC_txQ31.cjs');
13
13
  require('zod');
14
14
  require('./authRelay-BdYkC1Po.cjs');
15
15
  require('node:crypto');
16
16
  require('tweetnacl');
17
- require('./logger-7ucWm9wp.cjs');
17
+ require('./logger-B1k7eZnq.cjs');
18
18
  require('node:util');
19
19
  require('axios');
20
- require('./controlClient-BXktrQ4z.cjs');
21
- require('./time-CLwVAz6s.cjs');
20
+ require('./controlClient-DI-Er-Ww.cjs');
21
+ require('./time-C7BplxuS.cjs');
22
22
  require('socket.io-client');
23
23
  require('./backgroundTaskActivity-CBvUdj39.cjs');
24
24
 
@@ -6,15 +6,15 @@ import { createRequire } from 'node:module';
6
6
  import { randomBytes } from 'node:crypto';
7
7
  import { spawn } from 'node:child_process';
8
8
  import { createInterface } from 'node:readline/promises';
9
- import { c as configuration } from './configuration-A5gW_0GE.mjs';
10
- import { updateSettings } from './persistence-Cw8aLoyL.mjs';
9
+ import { c as configuration } from './configuration-CiBUH72C.mjs';
10
+ import { updateSettings } from './persistence-C_xFQLsD.mjs';
11
11
  import 'node:os';
12
- import './package-DQsvY1XN.mjs';
12
+ import './package-tVYgFJoK.mjs';
13
13
  import 'node:fs/promises';
14
14
  import 'zod';
15
15
  import './authRelay-DSAvg1uv.mjs';
16
16
  import 'tweetnacl';
17
- import './logger-CGE4C8ho.mjs';
17
+ import './logger-8dtZPn3n.mjs';
18
18
  import 'node:util';
19
19
 
20
20
  function resolveLocalSignupBootstrap(configuredMode, configuredInviteCodes, generatedInviteCode) {
@@ -8,15 +8,15 @@ var module$1 = require('node:module');
8
8
  var node_crypto = require('node:crypto');
9
9
  var node_child_process = require('node:child_process');
10
10
  var promises = require('node:readline/promises');
11
- var configuration = require('./configuration-UsI0sxEv.cjs');
12
- var persistence = require('./persistence-i0nQMLlk.cjs');
11
+ var configuration = require('./configuration-PXAE4-FP.cjs');
12
+ var persistence = require('./persistence-d3ZyER6o.cjs');
13
13
  require('node:os');
14
- require('./package-D1A-8ZJy.cjs');
14
+ require('./package-CC_txQ31.cjs');
15
15
  require('node:fs/promises');
16
16
  require('zod');
17
17
  require('./authRelay-BdYkC1Po.cjs');
18
18
  require('tweetnacl');
19
- require('./logger-7ucWm9wp.cjs');
19
+ require('./logger-B1k7eZnq.cjs');
20
20
  require('node:util');
21
21
 
22
22
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
@@ -33,9 +33,9 @@ function resolveLocalSignupBootstrap(configuredMode, configuredInviteCodes, gene
33
33
  };
34
34
  }
35
35
 
36
- const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('server-CxT8jNyn.cjs', document.baseURI).href)));
36
+ const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('server-CfB8EWCg.cjs', document.baseURI).href)));
37
37
  const __dirname$1 = path.dirname(__filename$1);
38
- const require_ = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('server-CxT8jNyn.cjs', document.baseURI).href)));
38
+ const require_ = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('server-CfB8EWCg.cjs', document.baseURI).href)));
39
39
  const PRISMA_QUERY_ENGINE_FILES = {
40
40
  "arm64-darwin": "libquery_engine-darwin-arm64.dylib.node",
41
41
  "x64-darwin": "libquery_engine-darwin.dylib.node",
@@ -2,8 +2,8 @@
2
2
 
3
3
  var node_fs = require('node:fs');
4
4
  var path = require('node:path');
5
- var configuration = require('./configuration-UsI0sxEv.cjs');
6
- var logger = require('./logger-7ucWm9wp.cjs');
5
+ var configuration = require('./configuration-PXAE4-FP.cjs');
6
+ var logger = require('./logger-B1k7eZnq.cjs');
7
7
 
8
8
  const PROCESS_IDENTITY_FIELDS = [
9
9
  "hostPid",
@@ -1,7 +1,7 @@
1
1
  import { existsSync, readFileSync, unlinkSync, mkdirSync, renameSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- import { c as configuration, w as writePrivateFileSync } from './configuration-A5gW_0GE.mjs';
4
- import { l as logger } from './logger-CGE4C8ho.mjs';
3
+ import { c as configuration, w as writePrivateFileSync } from './configuration-CiBUH72C.mjs';
4
+ import { l as logger } from './logger-8dtZPn3n.mjs';
5
5
 
6
6
  const PROCESS_IDENTITY_FIELDS = [
7
7
  "hostPid",
@@ -1,6 +1,6 @@
1
1
  import { mkdirSync, renameSync, existsSync, unlinkSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- import { w as writePrivateFileSync, c as configuration } from './configuration-A5gW_0GE.mjs';
3
+ import { w as writePrivateFileSync, c as configuration } from './configuration-CiBUH72C.mjs';
4
4
 
5
5
  const SESSION_MODE_DIR = "session-modes";
6
6
  const ACP_PERMISSION_MODES = ["default", "acceptEdits", "plan", "bypassPermissions"];
@@ -2,7 +2,7 @@
2
2
 
3
3
  var node_fs = require('node:fs');
4
4
  var path = require('node:path');
5
- var configuration = require('./configuration-UsI0sxEv.cjs');
5
+ var configuration = require('./configuration-PXAE4-FP.cjs');
6
6
 
7
7
  const SESSION_MODE_DIR = "session-modes";
8
8
  const ACP_PERMISSION_MODES = ["default", "acceptEdits", "plan", "bypassPermissions"];
@@ -1,10 +1,10 @@
1
1
  import axios from 'axios';
2
- import { c as configuration } from './configuration-A5gW_0GE.mjs';
2
+ import { c as configuration } from './configuration-CiBUH72C.mjs';
3
3
  import { e as encodeBase64, g as encrypt, d as decodeBase64, h as decrypt } from './authRelay-DSAvg1uv.mjs';
4
- import { l as listDaemonSessions, s as stopDaemonSession } from './controlClient-CYzHrh3e.mjs';
5
- import { readCredentialsForConfiguredRelay, readPersistedSessions } from './persistence-Cw8aLoyL.mjs';
4
+ import { l as listDaemonSessions, s as stopDaemonSession } from './controlClient-DzmCQrY_.mjs';
5
+ import { readCredentialsForConfiguredRelay, readPersistedSessions } from './persistence-C_xFQLsD.mjs';
6
6
  import { randomUUID } from 'node:crypto';
7
- import { d as delay } from './time-CVvxdEDh.mjs';
7
+ import { d as delay } from './time-CRvAaC5H.mjs';
8
8
  import { io } from 'socket.io-client';
9
9
  import { b as backgroundTasksReport } from './backgroundTaskActivity-8PdPxrvy.mjs';
10
10
 
@@ -757,4 +757,4 @@ async function unarchiveSession(sessionId) {
757
757
  );
758
758
  }
759
759
 
760
- export { DEFAULT_RECENT_LIMIT as D, MAX_READ_LIMIT as M, TurnWaitTimeoutError as T, listSessions as a, stopSession as b, resolvePermissionRequest as c, archiveSession as d, readSessionMetadata as e, waitForSessionKey as f, sendUserMessage as g, sessionLiveness as h, readSessionState as i, analyzeLatestTurn as j, readSessionLog as k, listAccountSessions as l, TURN_WINDOW as m, userPromptText as n, openUserScopedSocket as o, readSessionTranscript as r, sessionWebUrl as s, unarchiveSession as u, waitForTurnEnd as w };
760
+ export { DEFAULT_RECENT_LIMIT as D, MAX_READ_LIMIT as M, TurnWaitTimeoutError as T, listSessions as a, stopSession as b, resolvePermissionRequest as c, archiveSession as d, sendUserMessage as e, readSessionMetadata as f, waitForSessionKey as g, sessionLiveness as h, readSessionState as i, analyzeLatestTurn as j, readSessionLog as k, listAccountSessions as l, TURN_WINDOW as m, userPromptText as n, openUserScopedSocket as o, readSessionTranscript as r, sessionWebUrl as s, unarchiveSession as u, waitForTurnEnd as w };
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var axios = require('axios');
4
- var configuration = require('./configuration-UsI0sxEv.cjs');
4
+ var configuration = require('./configuration-PXAE4-FP.cjs');
5
5
  var authRelay = require('./authRelay-BdYkC1Po.cjs');
6
- var controlClient = require('./controlClient-BXktrQ4z.cjs');
7
- var persistence = require('./persistence-i0nQMLlk.cjs');
6
+ var controlClient = require('./controlClient-DI-Er-Ww.cjs');
7
+ var persistence = require('./persistence-d3ZyER6o.cjs');
8
8
  var node_crypto = require('node:crypto');
9
- var time = require('./time-CLwVAz6s.cjs');
9
+ var time = require('./time-C7BplxuS.cjs');
10
10
  var socket_ioClient = require('socket.io-client');
11
11
  var backgroundTaskActivity = require('./backgroundTaskActivity-CBvUdj39.cjs');
12
12
 
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var sync = require('./sync-Dj92ZJ8Y.cjs');
3
+ var sync = require('./sync--uxtLWbo.cjs');
4
4
  var types = require('./types-CRS-srZK.cjs');
5
5
  var path$1 = require('node:path');
6
6
  var promises = require('node:fs/promises');
7
- var logger = require('./logger-7ucWm9wp.cjs');
8
- var startFileWatcher = require('./startFileWatcher-C2HC2_Dg.cjs');
7
+ var logger = require('./logger-B1k7eZnq.cjs');
8
+ var startFileWatcher = require('./startFileWatcher-BfMu444W.cjs');
9
9
  var path = require('./path-B7zW-WwE.cjs');
10
10
 
11
11
  class Future {
@@ -1,9 +1,9 @@
1
- import { I as InvalidateSync } from './sync-BpLasLu2.mjs';
1
+ import { I as InvalidateSync } from './sync-SCvDzRy6.mjs';
2
2
  import { R as RawJSONLinesSchema } from './types-CkqAACXx.mjs';
3
3
  import { join } from 'node:path';
4
4
  import { readFile } from 'node:fs/promises';
5
- import { l as logger } from './logger-CGE4C8ho.mjs';
6
- import { s as startFileWatcher } from './startFileWatcher-COD5UKNs.mjs';
5
+ import { l as logger } from './logger-8dtZPn3n.mjs';
6
+ import { s as startFileWatcher } from './startFileWatcher-Csql7gdv.mjs';
7
7
  import { g as getProjectPath } from './path-D2wdaNSk.mjs';
8
8
 
9
9
  class Future {
@@ -1,23 +1,23 @@
1
1
  import chalk from 'chalk';
2
- import { D as DEFAULT_RECENT_LIMIT, M as MAX_READ_LIMIT, l as listAccountSessions, a as listSessions, w as waitForTurnEnd, T as TurnWaitTimeoutError, r as readSessionTranscript, b as stopSession, c as resolvePermissionRequest, d as archiveSession } from './sessionOps-CdwVPSZz.mjs';
2
+ import { D as DEFAULT_RECENT_LIMIT, M as MAX_READ_LIMIT, l as listAccountSessions, a as listSessions, w as waitForTurnEnd, T as TurnWaitTimeoutError, r as readSessionTranscript, b as stopSession, c as resolvePermissionRequest, d as archiveSession } from './sessionOps-BlMg1uAa.mjs';
3
3
  import { i as isValidSessionId } from './ids-DU6sLx4C.mjs';
4
- import { c as cliPeerSelf, l as listPeerSessions, s as sendPeerMessage, P as PEER_SCOPES } from './peerTools-D19hhSQF.mjs';
5
- import { readPersistedSessions } from './persistence-Cw8aLoyL.mjs';
4
+ import { c as cliPeerSelf, l as listPeerSessions, s as sendPeerMessage, P as PEER_SCOPES } from './peerTools-C1cduHh1.mjs';
5
+ import { readPersistedSessions } from './persistence-C_xFQLsD.mjs';
6
6
  import { resolve } from 'node:path';
7
- import { f as fillForeignAccountRows, l as listRemoteSessions, a as listRemotePeers, w as waitForRemoteTurnEnd, r as readRemoteTranscript } from './remoteSessionClient-BMjsbuBh.mjs';
7
+ import { f as fillForeignAccountRows, l as listRemoteSessions, a as listRemotePeers, w as waitForRemoteTurnEnd, r as readRemoteTranscript } from './remoteSessionClient-DnCIuZpQ.mjs';
8
8
  import 'axios';
9
- import './configuration-A5gW_0GE.mjs';
9
+ import './configuration-CiBUH72C.mjs';
10
10
  import 'node:fs';
11
11
  import 'node:os';
12
- import './package-DQsvY1XN.mjs';
12
+ import './package-tVYgFJoK.mjs';
13
13
  import 'node:fs/promises';
14
14
  import './authRelay-DSAvg1uv.mjs';
15
15
  import 'node:crypto';
16
16
  import 'tweetnacl';
17
- import './controlClient-CYzHrh3e.mjs';
18
- import './logger-CGE4C8ho.mjs';
17
+ import './controlClient-DzmCQrY_.mjs';
18
+ import './logger-8dtZPn3n.mjs';
19
19
  import 'node:util';
20
- import './time-CVvxdEDh.mjs';
20
+ import './time-CRvAaC5H.mjs';
21
21
  import 'socket.io-client';
22
22
  import './backgroundTaskActivity-8PdPxrvy.mjs';
23
23
  import 'zod';
@@ -1,25 +1,25 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var sessionOps = require('./sessionOps-GsELm2PZ.cjs');
4
+ var sessionOps = require('./sessionOps-HuoMXcIZ.cjs');
5
5
  var ids = require('./ids-B6ZC0HGt.cjs');
6
- var peerTools = require('./peerTools-DLwNaEEV.cjs');
7
- var persistence = require('./persistence-i0nQMLlk.cjs');
6
+ var peerTools = require('./peerTools-CqIcCEIg.cjs');
7
+ var persistence = require('./persistence-d3ZyER6o.cjs');
8
8
  var path = require('node:path');
9
- var remoteSessionClient = require('./remoteSessionClient-DX9jHLeW.cjs');
9
+ var remoteSessionClient = require('./remoteSessionClient-BkJt8SHa.cjs');
10
10
  require('axios');
11
- require('./configuration-UsI0sxEv.cjs');
11
+ require('./configuration-PXAE4-FP.cjs');
12
12
  require('node:fs');
13
13
  require('node:os');
14
- require('./package-D1A-8ZJy.cjs');
14
+ require('./package-CC_txQ31.cjs');
15
15
  require('node:fs/promises');
16
16
  require('./authRelay-BdYkC1Po.cjs');
17
17
  require('node:crypto');
18
18
  require('tweetnacl');
19
- require('./controlClient-BXktrQ4z.cjs');
20
- require('./logger-7ucWm9wp.cjs');
19
+ require('./controlClient-DI-Er-Ww.cjs');
20
+ require('./logger-B1k7eZnq.cjs');
21
21
  require('node:util');
22
- require('./time-CLwVAz6s.cjs');
22
+ require('./time-C7BplxuS.cjs');
23
23
  require('socket.io-client');
24
24
  require('./backgroundTaskActivity-CBvUdj39.cjs');
25
25
  require('zod');
@@ -1,5 +1,5 @@
1
- import { c as configuration } from './configuration-A5gW_0GE.mjs';
2
- import { s as startOfflineReconnection } from './api-D57dsd6_.mjs';
1
+ import { c as configuration } from './configuration-CiBUH72C.mjs';
2
+ import { s as startOfflineReconnection } from './api-Yoh_zKdR.mjs';
3
3
 
4
4
  function createOfflineSessionStub(sessionTag) {
5
5
  return {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var configuration = require('./configuration-UsI0sxEv.cjs');
4
- var api = require('./api-CQnLOqRS.cjs');
3
+ var configuration = require('./configuration-PXAE4-FP.cjs');
4
+ var api = require('./api-EKlS0r1w.cjs');
5
5
 
6
6
  function createOfflineSessionStub(sessionTag) {
7
7
  return {
@@ -1,26 +1,27 @@
1
1
  import chalk from 'chalk';
2
2
  import { readFileSync, statSync } from 'node:fs';
3
3
  import { resolve } from 'node:path';
4
- import { c as checkIfDaemonRunningAndCleanupStaleState, e as spawnDaemonSession, s as stopDaemonSession } from './controlClient-CYzHrh3e.mjs';
5
- import { readPersistedSessions } from './persistence-Cw8aLoyL.mjs';
6
- import { r as resolveSpawnPermissionMode, a as resolveFirstMessageMeta, s as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES, S as SPAWN_AGENTS } from './spawnAgents-Y1LjnCt9.mjs';
4
+ import { c as checkIfDaemonRunningAndCleanupStaleState, e as spawnDaemonSession, s as stopDaemonSession } from './controlClient-DzmCQrY_.mjs';
5
+ import { readPersistedSessions } from './persistence-C_xFQLsD.mjs';
6
+ import { r as resolveSpawnPermissionMode, a as resolveFirstMessageMeta, s as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES, S as SPAWN_AGENTS } from './spawnAgents-Czi2VDzj.mjs';
7
7
  import { g as getProjectPath } from './path-D2wdaNSk.mjs';
8
- import { f as forkSession, F as ForkSourceMissingError } from './claudeSessionFork-_DUrXaqd.mjs';
9
- import { C as CodexAppServerClient } from './codexAppServerClient-C2ybs2mZ.mjs';
8
+ import { f as forkSession, F as ForkSourceMissingError } from './claudeSessionFork-BfPW9D2S.mjs';
9
+ import { C as CodexAppServerClient } from './codexAppServerClient-CfF33X-8.mjs';
10
10
  import { f as forkCodexThread } from './codexThreadFork-R76RU5H0.mjs';
11
- import { e as readSessionMetadata, s as sessionWebUrl, f as waitForSessionKey, g as sendUserMessage } from './sessionOps-CdwVPSZz.mjs';
12
- import { i as isValidSpawnOrigin } from './createSessionMetadata-Dyg33ZlU.mjs';
13
- import { l as logger } from './logger-CGE4C8ho.mjs';
14
- import './configuration-A5gW_0GE.mjs';
11
+ import { e as sendUserMessage, f as readSessionMetadata, g as waitForSessionKey, s as sessionWebUrl } from './sessionOps-BlMg1uAa.mjs';
12
+ import { i as isValidSpawnOrigin } from './createSessionMetadata-B47GrTX6.mjs';
13
+ import { l as logger } from './logger-8dtZPn3n.mjs';
14
+ import { w as waitForForkBackfill } from './forkBackfill-DYIjlN1Z.mjs';
15
+ import './configuration-CiBUH72C.mjs';
15
16
  import 'node:os';
16
- import './package-DQsvY1XN.mjs';
17
+ import './package-tVYgFJoK.mjs';
17
18
  import 'node:fs/promises';
18
19
  import 'zod';
19
20
  import './authRelay-DSAvg1uv.mjs';
20
21
  import 'node:crypto';
21
22
  import 'tweetnacl';
22
23
  import 'node:util';
23
- import './index-BBg9j0XK.mjs';
24
+ import './index-vVWpCoTr.mjs';
24
25
  import '@paralleldrive/cuid2';
25
26
  import 'node:readline';
26
27
  import 'node:child_process';
@@ -29,7 +30,7 @@ import './contentLogMetadata-BlWI0egu.mjs';
29
30
  import './manager-BQ4flvQZ.mjs';
30
31
  import '@anthropic-ai/sandbox-runtime';
31
32
  import 'axios';
32
- import './time-CVvxdEDh.mjs';
33
+ import './time-CRvAaC5H.mjs';
33
34
  import 'socket.io-client';
34
35
  import './backgroundTaskActivity-8PdPxrvy.mjs';
35
36
  import './projectPath-BTBIMB57.mjs';
@@ -202,13 +203,32 @@ ${chalk.bold("Behavior:")}
202
203
  ${chalk.bold("Exit codes:")}
203
204
  0 success
204
205
  1 spawn failed (no session created)
205
- 2 session spawned but first message failed (session URL still printed)
206
+ 2 session spawned but first message failed (session URL still printed).
207
+ For --fork this includes: the forked history was not confirmed uploaded
208
+ within 120s \u2014 the message is then NOT sent, so it cannot land inside
209
+ that history; send it later with \`very-happy send\`.
206
210
  `);
207
211
  }
208
- async function sendFirstMessage(sessionId, text, metaFor) {
209
- const persisted = await waitForSessionKey(sessionId, 15e3);
212
+ const defaultFirstMessageDeps = {
213
+ waitForSessionKey,
214
+ readSessionMetadata,
215
+ sendUserMessage,
216
+ warn: (message) => console.error(chalk.yellow("Warning:"), message)
217
+ };
218
+ async function sendFirstMessage(sessionId, text, metaFor, opts, deps = defaultFirstMessageDeps) {
219
+ const persisted = await deps.waitForSessionKey(sessionId, 15e3);
220
+ if (opts.fork) {
221
+ const gate = await waitForForkBackfill({
222
+ capabilities: persisted.metadata?.capabilities,
223
+ readMetadata: () => deps.readSessionMetadata(sessionId, persisted),
224
+ ...deps.forkWait
225
+ });
226
+ if (gate.kind === "legacy-wrapper") {
227
+ deps.warn?.("the forked session runs an older wrapper that cannot confirm its replayed history is uploaded; sending now, so the first message may appear inside that history. Restart the daemon on this CLI version to fix.");
228
+ }
229
+ }
210
230
  const meta = metaFor(persisted.metadata?.capabilities ?? null);
211
- await sendUserMessage(sessionId, persisted, text, "cli-spawn", meta);
231
+ await deps.sendUserMessage(sessionId, persisted, text, "cli-spawn", meta);
212
232
  return meta;
213
233
  }
214
234
  async function handleSpawnCommand(args) {
@@ -324,7 +344,7 @@ async function handleSpawnCommand(args) {
324
344
  permissionMode,
325
345
  explicitModel: options.model,
326
346
  capabilities
327
- }));
347
+ }), { fork: forkSource !== null });
328
348
  } catch (error) {
329
349
  promptError = error instanceof Error ? error.message : String(error);
330
350
  }
@@ -365,4 +385,4 @@ async function handleSpawnCommand(args) {
365
385
  process.exit(0);
366
386
  }
367
387
 
368
- export { SPAWN_AGENTS, handleSpawnCommand, parseEnvAssignment, parseSpawnArgs, sessionWebUrl, spawnEnvironmentVariables };
388
+ export { SPAWN_AGENTS, handleSpawnCommand, parseEnvAssignment, parseSpawnArgs, sendFirstMessage, sessionWebUrl, spawnEnvironmentVariables };
@@ -3,26 +3,27 @@
3
3
  var chalk = require('chalk');
4
4
  var node_fs = require('node:fs');
5
5
  var path$1 = require('node:path');
6
- var controlClient = require('./controlClient-BXktrQ4z.cjs');
7
- var persistence = require('./persistence-i0nQMLlk.cjs');
8
- var spawnAgents = require('./spawnAgents-iSu1Xzs5.cjs');
6
+ var controlClient = require('./controlClient-DI-Er-Ww.cjs');
7
+ var persistence = require('./persistence-d3ZyER6o.cjs');
8
+ var spawnAgents = require('./spawnAgents-McixdtV1.cjs');
9
9
  var path = require('./path-B7zW-WwE.cjs');
10
- var claudeSessionFork = require('./claudeSessionFork-D9-mANmu.cjs');
11
- var codexAppServerClient = require('./codexAppServerClient-DlKv5TjG.cjs');
10
+ var claudeSessionFork = require('./claudeSessionFork-BWdhyy9B.cjs');
11
+ var codexAppServerClient = require('./codexAppServerClient-JddkV_aP.cjs');
12
12
  var codexThreadFork = require('./codexThreadFork-DNekT4nQ.cjs');
13
- var sessionOps = require('./sessionOps-GsELm2PZ.cjs');
14
- var createSessionMetadata = require('./createSessionMetadata-EX1eAlHx.cjs');
15
- var logger = require('./logger-7ucWm9wp.cjs');
16
- require('./configuration-UsI0sxEv.cjs');
13
+ var sessionOps = require('./sessionOps-HuoMXcIZ.cjs');
14
+ var createSessionMetadata = require('./createSessionMetadata-D04x6OMW.cjs');
15
+ var logger = require('./logger-B1k7eZnq.cjs');
16
+ var forkBackfill = require('./forkBackfill-8eLDeS73.cjs');
17
+ require('./configuration-PXAE4-FP.cjs');
17
18
  require('node:os');
18
- require('./package-D1A-8ZJy.cjs');
19
+ require('./package-CC_txQ31.cjs');
19
20
  require('node:fs/promises');
20
21
  require('zod');
21
22
  require('./authRelay-BdYkC1Po.cjs');
22
23
  require('node:crypto');
23
24
  require('tweetnacl');
24
25
  require('node:util');
25
- require('./index-DJ-oV52i.cjs');
26
+ require('./index-DqlyNgt4.cjs');
26
27
  require('@paralleldrive/cuid2');
27
28
  require('node:readline');
28
29
  require('node:child_process');
@@ -31,7 +32,7 @@ require('./contentLogMetadata-ZSFk_NjQ.cjs');
31
32
  require('./manager-Cly8xVIR.cjs');
32
33
  require('@anthropic-ai/sandbox-runtime');
33
34
  require('axios');
34
- require('./time-CLwVAz6s.cjs');
35
+ require('./time-C7BplxuS.cjs');
35
36
  require('socket.io-client');
36
37
  require('./backgroundTaskActivity-CBvUdj39.cjs');
37
38
  require('./projectPath-ChLhdOyt.cjs');
@@ -204,13 +205,32 @@ ${chalk.bold("Behavior:")}
204
205
  ${chalk.bold("Exit codes:")}
205
206
  0 success
206
207
  1 spawn failed (no session created)
207
- 2 session spawned but first message failed (session URL still printed)
208
+ 2 session spawned but first message failed (session URL still printed).
209
+ For --fork this includes: the forked history was not confirmed uploaded
210
+ within 120s \u2014 the message is then NOT sent, so it cannot land inside
211
+ that history; send it later with \`very-happy send\`.
208
212
  `);
209
213
  }
210
- async function sendFirstMessage(sessionId, text, metaFor) {
211
- const persisted = await sessionOps.waitForSessionKey(sessionId, 15e3);
214
+ const defaultFirstMessageDeps = {
215
+ waitForSessionKey: sessionOps.waitForSessionKey,
216
+ readSessionMetadata: sessionOps.readSessionMetadata,
217
+ sendUserMessage: sessionOps.sendUserMessage,
218
+ warn: (message) => console.error(chalk.yellow("Warning:"), message)
219
+ };
220
+ async function sendFirstMessage(sessionId, text, metaFor, opts, deps = defaultFirstMessageDeps) {
221
+ const persisted = await deps.waitForSessionKey(sessionId, 15e3);
222
+ if (opts.fork) {
223
+ const gate = await forkBackfill.waitForForkBackfill({
224
+ capabilities: persisted.metadata?.capabilities,
225
+ readMetadata: () => deps.readSessionMetadata(sessionId, persisted),
226
+ ...deps.forkWait
227
+ });
228
+ if (gate.kind === "legacy-wrapper") {
229
+ deps.warn?.("the forked session runs an older wrapper that cannot confirm its replayed history is uploaded; sending now, so the first message may appear inside that history. Restart the daemon on this CLI version to fix.");
230
+ }
231
+ }
212
232
  const meta = metaFor(persisted.metadata?.capabilities ?? null);
213
- await sessionOps.sendUserMessage(sessionId, persisted, text, "cli-spawn", meta);
233
+ await deps.sendUserMessage(sessionId, persisted, text, "cli-spawn", meta);
214
234
  return meta;
215
235
  }
216
236
  async function handleSpawnCommand(args) {
@@ -326,7 +346,7 @@ async function handleSpawnCommand(args) {
326
346
  permissionMode,
327
347
  explicitModel: options.model,
328
348
  capabilities
329
- }));
349
+ }), { fork: forkSource !== null });
330
350
  } catch (error) {
331
351
  promptError = error instanceof Error ? error.message : String(error);
332
352
  }
@@ -372,4 +392,5 @@ exports.sessionWebUrl = sessionOps.sessionWebUrl;
372
392
  exports.handleSpawnCommand = handleSpawnCommand;
373
393
  exports.parseEnvAssignment = parseEnvAssignment;
374
394
  exports.parseSpawnArgs = parseSpawnArgs;
395
+ exports.sendFirstMessage = sendFirstMessage;
375
396
  exports.spawnEnvironmentVariables = spawnEnvironmentVariables;
@@ -1,4 +1,4 @@
1
- import { g as getAgentCodeDefaults, n as normalizeAgentKey, h as isClaudeOpus55Model, j as supportsClaudeOpus55 } from './index-BBg9j0XK.mjs';
1
+ import { g as getAgentCodeDefaults, n as normalizeAgentKey, h as isClaudeOpus55Model, j as supportsClaudeOpus55 } from './index-vVWpCoTr.mjs';
2
2
 
3
3
  function resolveSpawnPermissionMode(agent, explicit) {
4
4
  return explicit ?? getAgentCodeDefaults(agent ?? "claude").permissionMode;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DJ-oV52i.cjs');
3
+ var index = require('./index-DqlyNgt4.cjs');
4
4
 
5
5
  function resolveSpawnPermissionMode(agent, explicit) {
6
6
  return explicit ?? index.getAgentCodeDefaults(agent ?? "claude").permissionMode;
@@ -1,7 +1,7 @@
1
1
  import { spawn } from 'cross-spawn';
2
2
  import { join } from 'node:path';
3
3
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
4
- import { l as logger } from './logger-CGE4C8ho.mjs';
4
+ import { l as logger } from './logger-8dtZPn3n.mjs';
5
5
  import { existsSync } from 'node:fs';
6
6
 
7
7
  let cachedRuntime = null;
@@ -3,7 +3,7 @@
3
3
  var spawn = require('cross-spawn');
4
4
  var path = require('node:path');
5
5
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
6
- var logger = require('./logger-7ucWm9wp.cjs');
6
+ var logger = require('./logger-B1k7eZnq.cjs');
7
7
  var node_fs = require('node:fs');
8
8
 
9
9
  let cachedRuntime = null;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-7ucWm9wp.cjs');
3
+ var logger = require('./logger-B1k7eZnq.cjs');
4
4
  var fs = require('fs/promises');
5
5
 
6
6
  function startFileWatcher(file, onFileChange, options = {}) {
@@ -1,4 +1,4 @@
1
- import { l as logger } from './logger-CGE4C8ho.mjs';
1
+ import { l as logger } from './logger-8dtZPn3n.mjs';
2
2
  import { watch } from 'fs/promises';
3
3
 
4
4
  function startFileWatcher(file, onFileChange, options = {}) {
@@ -1,4 +1,4 @@
1
- import { S as STREAM_DELTA_MAX_CHARS } from './index-BBg9j0XK.mjs';
1
+ import { S as STREAM_DELTA_MAX_CHARS } from './index-vVWpCoTr.mjs';
2
2
 
3
3
  const STREAM_FLUSH_MS = 80;
4
4
  const PROGRESS_FLUSH_MS = 250;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DJ-oV52i.cjs');
3
+ var index = require('./index-DqlyNgt4.cjs');
4
4
 
5
5
  const STREAM_FLUSH_MS = 80;
6
6
  const PROGRESS_FLUSH_MS = 250;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var time = require('./time-CLwVAz6s.cjs');
3
+ var time = require('./time-C7BplxuS.cjs');
4
4
 
5
5
  class InvalidateSync {
6
6
  _invalidated = false;
@@ -34,6 +34,10 @@ class InvalidateSync {
34
34
  this.invalidate();
35
35
  });
36
36
  }
37
+ /** B-531: after stop() no pending invalidateAndAwait() can mean "synced". */
38
+ get stopped() {
39
+ return this._stopped;
40
+ }
37
41
  stop() {
38
42
  if (this._stopped) {
39
43
  return;
@@ -1,4 +1,4 @@
1
- import { b as backoff } from './time-CVvxdEDh.mjs';
1
+ import { b as backoff } from './time-CRvAaC5H.mjs';
2
2
 
3
3
  class InvalidateSync {
4
4
  _invalidated = false;
@@ -32,6 +32,10 @@ class InvalidateSync {
32
32
  this.invalidate();
33
33
  });
34
34
  }
35
+ /** B-531: after stop() no pending invalidateAndAwait() can mean "synced". */
36
+ get stopped() {
37
+ return this._stopped;
38
+ }
35
39
  stop() {
36
40
  if (this._stopped) {
37
41
  return;
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-7ucWm9wp.cjs');
3
+ var logger = require('./logger-B1k7eZnq.cjs');
4
4
  var node_fs = require('node:fs');
5
5
  var path$1 = require('node:path');
6
6
  var path = require('./path-B7zW-WwE.cjs');
7
- var index = require('./index-DJ-oV52i.cjs');
7
+ var index = require('./index-DqlyNgt4.cjs');
8
8
  var trimIdent = require('./trimIdent-4gvk9Wk6.cjs');
9
9
  var os = require('node:os');
10
10
  var agentGuidance = require('./agentGuidance-B5NATuFa.cjs');
@@ -1,8 +1,8 @@
1
- import { l as logger } from './logger-CGE4C8ho.mjs';
1
+ import { l as logger } from './logger-8dtZPn3n.mjs';
2
2
  import { existsSync, readFileSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
4
  import { g as getProjectPath } from './path-D2wdaNSk.mjs';
5
- import { l as BUILTIN_TODO_DISCOVERY } from './index-BBg9j0XK.mjs';
5
+ import { l as BUILTIN_TODO_DISCOVERY } from './index-vVWpCoTr.mjs';
6
6
  import { t as trimIdent } from './trimIdent-BAjmv_TG.mjs';
7
7
  import { homedir } from 'node:os';
8
8
  import { A as AGENT_GUIDANCE } from './agentGuidance-CQuNlNx8.mjs';