very-happy-cli 0.2.162 → 0.2.163

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 (164) hide show
  1. package/dist/{AcpBackend-9asD_DL7.cjs → AcpBackend-C2rzKnvT.cjs} +3 -3
  2. package/dist/{AcpBackend--TmFHgRH.mjs → AcpBackend-CuOUXVRX.mjs} +3 -3
  3. package/dist/{BasePermissionHandler-D4B-NNu2.cjs → BasePermissionHandler-D6PdH-OU.cjs} +1 -1
  4. package/dist/{BasePermissionHandler-DUBySe0f.mjs → BasePermissionHandler-Ng5h8JpY.mjs} +1 -1
  5. package/dist/{BaseReasoningProcessor-CqLl-ikP.cjs → BaseReasoningProcessor-C0cXz1mg.cjs} +1 -1
  6. package/dist/{BaseReasoningProcessor-9TybUGTq.mjs → BaseReasoningProcessor-CM-ijU4F.mjs} +1 -1
  7. package/dist/{agentHome-DQrq_FG1.mjs → agentHome-Bt4lOwFE.mjs} +4 -4
  8. package/dist/{agentHome-BohNUYnE.cjs → agentHome-CAMEVRZZ.cjs} +4 -4
  9. package/dist/{api-D57dsd6_.mjs → api-D5kfP3JF.mjs} +24 -8
  10. package/dist/{api-CQnLOqRS.cjs → api-DGFBAPr7.cjs} +24 -8
  11. package/dist/{apiMachine-fFFaWxYy.cjs → apiMachine-BxCy5_No.cjs} +11 -11
  12. package/dist/{apiMachine-78Aqzg--.mjs → apiMachine-C58eizxs.mjs} +11 -11
  13. package/dist/{assistantTools-mEz6uNqL.mjs → assistantTools-BvKH9eRc.mjs} +6 -6
  14. package/dist/{assistantTools-CwESq24n.cjs → assistantTools-NC7DMNvV.cjs} +6 -6
  15. package/dist/{attachmentContent-s1xPha4Q.mjs → attachmentContent-CCE0Y3gR.mjs} +1 -1
  16. package/dist/{attachmentContent-GHOk6Muq.cjs → attachmentContent-CUKdzh4v.cjs} +1 -1
  17. package/dist/{auth-B8EagV6G.cjs → auth-CILb5DeW.cjs} +8 -8
  18. package/dist/{auth-C8V7-oUT.mjs → auth-CRm8yNv6.mjs} +5 -5
  19. package/dist/{auth-BbSdXMQ_.cjs → auth-Ddz597Rw.cjs} +5 -5
  20. package/dist/{auth-BOaHWquu.mjs → auth-gdc8gI9D.mjs} +8 -8
  21. package/dist/{auto-Bw_h0yVc.cjs → auto-CXtt6MfS.cjs} +13 -12
  22. package/dist/{auto-CWDOX35m.mjs → auto-lLjHfAOO.mjs} +13 -12
  23. package/dist/{bootstrap-DvZjEa9_.cjs → bootstrap-CccIDvh4.cjs} +2 -2
  24. package/dist/{bootstrap-BKmsYSwh.mjs → bootstrap-DSWZAtGy.mjs} +2 -2
  25. package/dist/{browser-CrMAr5fI.mjs → browser-DU9kI-Q-.mjs} +1 -1
  26. package/dist/{browser-CBZj-1Wx.cjs → browser-lizgdXYj.cjs} +1 -1
  27. package/dist/{claudeLocal-Bpw-u9et.cjs → claudeLocal-Bp-lf6yb.cjs} +4 -4
  28. package/dist/{claudeLocal-dhdlcQ6F.mjs → claudeLocal-CTR2xlPT.mjs} +4 -4
  29. package/dist/{claudeLocalLauncher-BFfGT4eY.mjs → claudeLocalLauncher-DFkwLMqU.mjs} +9 -9
  30. package/dist/{claudeLocalLauncher-DWFWuLhY.cjs → claudeLocalLauncher-aQyL3g7I.cjs} +9 -9
  31. package/dist/{claudeSessionFork-_DUrXaqd.mjs → claudeSessionFork-DABSCbkf.mjs} +1 -1
  32. package/dist/{claudeSessionFork-D9-mANmu.cjs → claudeSessionFork-DdJFvxwf.cjs} +1 -1
  33. package/dist/{client-Dk7x-s-O.mjs → client-BbNFS1WW.mjs} +3 -3
  34. package/dist/{client-CVQJWqjx.cjs → client-CQzHoynf.cjs} +2 -2
  35. package/dist/{client-DiBTHWNU.cjs → client-CXvsRLAz.cjs} +3 -3
  36. package/dist/{client-DwqHDsLb.mjs → client-CyUhxs-0.mjs} +2 -2
  37. package/dist/codex/happyMcpStdioBridge.cjs +14 -14
  38. package/dist/codex/happyMcpStdioBridge.mjs +14 -14
  39. package/dist/{codexAppServerClient-DlKv5TjG.cjs → codexAppServerClient-5jNbTlE5.cjs} +2 -2
  40. package/dist/{codexAppServerClient-C2ybs2mZ.mjs → codexAppServerClient-Dto99RVH.mjs} +2 -2
  41. package/dist/{codexCommand-DnmFr9Qx.mjs → codexCommand-BHfrAyds.mjs} +39 -36
  42. package/dist/{codexCommand-4vLE31fj.cjs → codexCommand-LUp0vkNi.cjs} +39 -36
  43. package/dist/{config-CSOG_ZcP.mjs → config-BEvt_OYR.mjs} +3 -3
  44. package/dist/{config-Btd4B05_.cjs → config-CAD5NR1h.cjs} +3 -3
  45. package/dist/{configuration-A5gW_0GE.mjs → configuration-B0c-OP_h.mjs} +1 -1
  46. package/dist/{configuration-UsI0sxEv.cjs → configuration-CepfrPZ_.cjs} +1 -1
  47. package/dist/{connect-C9yxp8Om.cjs → connect-BPMzMoiQ.cjs} +11 -11
  48. package/dist/{connect-DWYj8LP_.mjs → connect-BeK0dMYB.mjs} +11 -11
  49. package/dist/{context-0FjjA4vJ.cjs → context-BhZMRQho.cjs} +1 -1
  50. package/dist/{context-BXnxalWW.mjs → context-mMg17HJv.mjs} +1 -1
  51. package/dist/{controlClient-CYzHrh3e.mjs → controlClient-BKmjlbGs.mjs} +3 -3
  52. package/dist/{controlClient-BXktrQ4z.cjs → controlClient-HPMsyxLb.cjs} +3 -3
  53. package/dist/{createSessionMetadata-EX1eAlHx.cjs → createSessionMetadata-CGuyVxsM.cjs} +2 -2
  54. package/dist/{createSessionMetadata-Dyg33ZlU.mjs → createSessionMetadata-KOL67aSN.mjs} +2 -2
  55. package/dist/{deterministicJson-eha_oMZ2.cjs → deterministicJson-BFzPcsCh.cjs} +8 -8
  56. package/dist/{deterministicJson-DiR7EOMO.mjs → deterministicJson-CaWami7M.mjs} +8 -8
  57. package/dist/{doctor-DunLBgVi.cjs → doctor-BHNVY9DE.cjs} +6 -6
  58. package/dist/{doctor-FuCvKdRa.mjs → doctor-DX2P7IlL.mjs} +6 -6
  59. package/dist/{ensureDaemonRunning-B4dZFmUy.cjs → ensureDaemonRunning-BahhZpQ1.cjs} +5 -5
  60. package/dist/{ensureDaemonRunning-EZkb-CAF.mjs → ensureDaemonRunning-CnWMrL5b.mjs} +5 -5
  61. package/dist/forkBackfill-8eLDeS73.cjs +66 -0
  62. package/dist/forkBackfill-DYIjlN1Z.mjs +62 -0
  63. package/dist/{handleResumeCommand-CKMIw4pE.cjs → handleResumeCommand-Ca334R4t.cjs} +5 -5
  64. package/dist/{handleResumeCommand-CsXendKb.mjs → handleResumeCommand-bToC6FDH.mjs} +5 -5
  65. package/dist/{index-9L39wqYR.mjs → index-B5v5fZi6.mjs} +33 -33
  66. package/dist/{index-DRhWHEuW.cjs → index-B6MVw_Xb.cjs} +3 -3
  67. package/dist/{index-DK2JpTJf.mjs → index-CpFreRx8.mjs} +4 -4
  68. package/dist/{index-CvXcVQ06.mjs → index-D3AsOj4j.mjs} +3 -3
  69. package/dist/{index-CZWAiydF.cjs → index-DoMsO8_G.cjs} +4 -4
  70. package/dist/{index-BOhgL3rh.cjs → index-vFMUVtSL.cjs} +32 -32
  71. package/dist/index.cjs +2 -2
  72. package/dist/index.mjs +2 -2
  73. package/dist/{install-C8WyZI9K.cjs → install-BnTP73AE.cjs} +3 -3
  74. package/dist/{install-B2duVo9a.mjs → install-Dixfzmb_.mjs} +3 -3
  75. package/dist/lib.cjs +10 -10
  76. package/dist/lib.d.cts +21 -0
  77. package/dist/lib.d.mts +21 -0
  78. package/dist/lib.mjs +10 -10
  79. package/dist/{lidState-Ds-6ytZV.cjs → lidState-BGWXfx1e.cjs} +1 -1
  80. package/dist/{lidState-CigXWxhe.mjs → lidState-X7iQg4y5.mjs} +1 -1
  81. package/dist/{localHappyAgentAuth-l0Na-5Ys.cjs → localHappyAgentAuth-D_Gc4K7h.cjs} +1 -1
  82. package/dist/{localHappyAgentAuth-CaCyKzYp.mjs → localHappyAgentAuth-r83bTscW.mjs} +1 -1
  83. package/dist/{logger-CGE4C8ho.mjs → logger-BIzr7JN0.mjs} +2 -2
  84. package/dist/{logger-7ucWm9wp.cjs → logger-Ca5eRZ2j.cjs} +2 -2
  85. package/dist/{machineMetadata-ue1nkowa.mjs → machineMetadata-DakW9c61.mjs} +3 -3
  86. package/dist/{machineMetadata-lMPtpF16.cjs → machineMetadata-GlObivJ-.cjs} +3 -3
  87. package/dist/{main-3fIFXD-t.mjs → main-BJlGidfv.mjs} +44 -44
  88. package/dist/{main-CFI0datL.cjs → main-BfA1Vtqq.cjs} +44 -44
  89. package/dist/{mcp-DfxLAc1G.cjs → mcp-BVzt1llv.cjs} +14 -14
  90. package/dist/{mcp-DARQBZ7l.mjs → mcp-Bb7AD1SD.mjs} +14 -14
  91. package/dist/{package-D1A-8ZJy.cjs → package-BfnmIH4b.cjs} +7 -7
  92. package/dist/{package-DQsvY1XN.mjs → package-D-W_r_pd.mjs} +7 -7
  93. package/dist/{peerTools-D19hhSQF.mjs → peerTools-C1cELmtZ.mjs} +4 -4
  94. package/dist/{peerTools-DLwNaEEV.cjs → peerTools-CADjnFDx.cjs} +4 -4
  95. package/dist/{persistence-i0nQMLlk.cjs → persistence-Ceb-BPk6.cjs} +3 -3
  96. package/dist/{persistence-Cw8aLoyL.mjs → persistence-DgBhXxu7.mjs} +3 -3
  97. package/dist/{piRunnerArgs-BUyxPxjZ.cjs → piRunnerArgs-Bem-saSg.cjs} +1 -1
  98. package/dist/{piRunnerArgs-58t454gw.mjs → piRunnerArgs-CH6oh6w0.mjs} +1 -1
  99. package/dist/{piRuntime-DVPixFjl.mjs → piRuntime-BRKG6Yoz.mjs} +1 -1
  100. package/dist/{piRuntime-Dff73XCb.cjs → piRuntime-Be0UP44z.cjs} +1 -1
  101. package/dist/{piTerminal-gHWFAyzq.mjs → piTerminal-DVOAWiZx.mjs} +16 -16
  102. package/dist/{piTerminal-Dz1RrO70.cjs → piTerminal-ibKBMmuK.cjs} +16 -16
  103. package/dist/{registerCommonHandlers-CMROPdJz.cjs → registerCommonHandlers-DPOHFlxp.cjs} +2 -2
  104. package/dist/{registerCommonHandlers-Ckv5boQI.mjs → registerCommonHandlers-t15dS7xt.mjs} +2 -2
  105. package/dist/{registerKillSessionHandler-Cll4-o8Y.mjs → registerKillSessionHandler-BS5afGeA.mjs} +4 -4
  106. package/dist/{registerKillSessionHandler-CA9-oelM.cjs → registerKillSessionHandler-DGDubZLv.cjs} +4 -4
  107. package/dist/{remoteSessionClient-DX9jHLeW.cjs → remoteSessionClient-DbnVs1Tv.cjs} +5 -5
  108. package/dist/{remoteSessionClient-BMjsbuBh.mjs → remoteSessionClient-N7JsQ0XS.mjs} +5 -5
  109. package/dist/{run-CjbGo2wb.cjs → run-CptLbkQ4.cjs} +29 -29
  110. package/dist/{run-CrunzDlt.mjs → run-FZRugy70.mjs} +28 -28
  111. package/dist/{runClaude-KN-4Y4LH.cjs → runClaude-Cnv0SnA4.cjs} +22 -19
  112. package/dist/{runClaude-WDBWRtnF.mjs → runClaude-DNW3i-k4.mjs} +22 -19
  113. package/dist/{runClaudeDeps-QaEx8y5r.mjs → runClaudeDeps-CpAiml84.mjs} +32 -32
  114. package/dist/{runClaudeDeps-DW-8lnHv.cjs → runClaudeDeps-lb6LlVPa.cjs} +28 -28
  115. package/dist/{runGemini-Djmwjdv1.cjs → runGemini-BzS_Yw3F.cjs} +30 -30
  116. package/dist/{runGemini-Nf6SKBpw.mjs → runGemini-CRn8exeY.mjs} +30 -30
  117. package/dist/{runOpenClaw-9nHtmYbN.mjs → runOpenClaw-DuS_zRVT.mjs} +15 -15
  118. package/dist/{runOpenClaw-CAqP5KFH.cjs → runOpenClaw-QoDQpR9a.cjs} +15 -15
  119. package/dist/{sandbox-C8Dd8GPM.cjs → sandbox-CT9CGjEI.cjs} +4 -4
  120. package/dist/{sandbox-SP0THMt0.mjs → sandbox-DysMM_pn.mjs} +4 -4
  121. package/dist/selfCheck-BTltA-ZZ.mjs +84 -0
  122. package/dist/{selfCheck-D9ZXrK7h.cjs → selfCheck-DIn7j8MD.cjs} +34 -34
  123. package/dist/{send-LPk6Q5HI.cjs → send-97xYN_Yw.cjs} +8 -8
  124. package/dist/{send-DOx9aQsx.mjs → send-CA6fSF3S.mjs} +8 -8
  125. package/dist/{server-CxT8jNyn.cjs → server-C67NGJoX.cjs} +6 -6
  126. package/dist/{server-BZNi8Hq_.mjs → server-r50NNW9e.mjs} +4 -4
  127. package/dist/{sessionLock-y9rnA4LK.cjs → sessionLock-CS4fdsmu.cjs} +2 -2
  128. package/dist/{sessionLock-CfLqJfeI.mjs → sessionLock-Dab6_dCd.mjs} +2 -2
  129. package/dist/{sessionModeFile-BKxgNH3P.mjs → sessionModeFile-3yV7P9R-.mjs} +1 -1
  130. package/dist/{sessionModeFile-B5YeoQJh.cjs → sessionModeFile-BhqlFlHZ.cjs} +1 -1
  131. package/dist/{sessionOps-CdwVPSZz.mjs → sessionOps-DJSwzwP-.mjs} +5 -5
  132. package/dist/{sessionOps-GsELm2PZ.cjs → sessionOps-DWsGWwfZ.cjs} +4 -4
  133. package/dist/{sessionScanner-aLEv7mD3.cjs → sessionScanner-D6WqRtJQ.cjs} +3 -3
  134. package/dist/{sessionScanner-Cdukzo70.mjs → sessionScanner-jilpq2aE.mjs} +3 -3
  135. package/dist/{sessions-CfG4WGN0.cjs → sessions-C22q-Z_s.cjs} +9 -9
  136. package/dist/{sessions-Dne-OiRL.mjs → sessions-RXTp4x0o.mjs} +9 -9
  137. package/dist/{setupOfflineReconnection-CFwltTcP.cjs → setupOfflineReconnection-BrnWBRUP.cjs} +2 -2
  138. package/dist/{setupOfflineReconnection-DiQma2Cc.mjs → setupOfflineReconnection-rd1PCWiN.mjs} +2 -2
  139. package/dist/{spawn-BI_sdgWs.cjs → spawn-Ccy5qAtp.cjs} +36 -15
  140. package/dist/{spawn-DkgP2BGF.mjs → spawn-D8CEQPbN.mjs} +36 -16
  141. package/dist/{spawnHappyCLI-BRdx0sAX.cjs → spawnHappyCLI-Dz2ZHrsN.cjs} +1 -1
  142. package/dist/{spawnHappyCLI-9mx4lPxh.mjs → spawnHappyCLI-wowHF2IL.mjs} +1 -1
  143. package/dist/{startFileWatcher-COD5UKNs.mjs → startFileWatcher-C1wjDI_o.mjs} +1 -1
  144. package/dist/{startFileWatcher-C2HC2_Dg.cjs → startFileWatcher-Ce17H9pG.cjs} +1 -1
  145. package/dist/{sync-BpLasLu2.mjs → sync-DnmsgL3w.mjs} +5 -1
  146. package/dist/{sync-Dj92ZJ8Y.cjs → sync-fDRF_nO1.cjs} +5 -1
  147. package/dist/{systemPrompt-CyEz_IfR.cjs → systemPrompt-9PWg4OU6.cjs} +1 -1
  148. package/dist/{systemPrompt-DsQoUgQw.mjs → systemPrompt-Db9O7KGe.mjs} +1 -1
  149. package/dist/{teams-BETNMjpZ.mjs → teams-C5PwKr4K.mjs} +6 -6
  150. package/dist/{teams-Ctx9zXn4.cjs → teams-DkHPUc6j.cjs} +6 -6
  151. package/dist/{time-CVvxdEDh.mjs → time-TxDyvAKk.mjs} +1 -1
  152. package/dist/{time-CLwVAz6s.cjs → time-xNkWLTSj.cjs} +1 -1
  153. package/dist/{titleGenerator-FDpdizn7.cjs → titleGenerator-C8arvXNG.cjs} +2 -2
  154. package/dist/{titleGenerator-B4AW3dLr.mjs → titleGenerator-oK414IZc.mjs} +1 -1
  155. package/dist/{todo-Jk4Vs7hP.mjs → todo-CLHIGRUf.mjs} +5 -5
  156. package/dist/{todo-C3tyFeq1.cjs → todo-VqQuYyFq.cjs} +5 -5
  157. package/dist/{tools-BA1qkiV1.mjs → tools-BSzD246o.mjs} +1 -1
  158. package/dist/{tools-CGxq3I52.cjs → tools-GnqHEZHb.cjs} +1 -1
  159. package/dist/{tools-_kFe4m_l.mjs → tools-sPgOmLr_.mjs} +1 -1
  160. package/dist/{tools-O5beDK-s.cjs → tools-xQ38ufgo.cjs} +1 -1
  161. package/dist/{uninstall-DHKF90lo.cjs → uninstall-DKM0j1qI.cjs} +3 -3
  162. package/dist/{uninstall-C_mdAZlm.mjs → uninstall-DyoXxpgI.mjs} +3 -3
  163. package/package.json +7 -7
  164. package/dist/selfCheck-7FaZtVu2.mjs +0 -84
@@ -0,0 +1,62 @@
1
+ const FORK_BACKFILL_CAPABILITY = "fork-backfill-ack-v1";
2
+ const FORK_BACKFILL_WAIT_TIMEOUT_MS = 12e4;
3
+ const FORK_BACKFILL_POLL_MS = 500;
4
+ function readForkBackfillMarker(metadata) {
5
+ if (!metadata || typeof metadata !== "object") return null;
6
+ const marker = metadata.forkBackfill;
7
+ if (!marker || typeof marker !== "object") return null;
8
+ const value = marker;
9
+ if (value.done !== true) return null;
10
+ return {
11
+ done: true,
12
+ count: typeof value.count === "number" ? value.count : 0,
13
+ ...value.failed === true ? { failed: true } : {},
14
+ completedAt: typeof value.completedAt === "number" ? value.completedAt : 0
15
+ };
16
+ }
17
+ async function publishForkBackfillWhenCommitted(session, result, now = Date.now) {
18
+ let drained = false;
19
+ try {
20
+ drained = await session.drainOutbox();
21
+ } catch {
22
+ drained = false;
23
+ }
24
+ if (!drained) return false;
25
+ const marker = {
26
+ done: true,
27
+ count: result.count,
28
+ ...result.failed ? { failed: true } : {},
29
+ completedAt: now()
30
+ };
31
+ session.updateMetadata((metadata) => ({ ...metadata, forkBackfill: marker }));
32
+ return true;
33
+ }
34
+ class ForkBackfillTimeoutError extends Error {
35
+ constructor(timeoutMs, lastError) {
36
+ const cause = lastError === void 0 ? "" : ` (last read error: ${lastError instanceof Error ? lastError.message : String(lastError)})`;
37
+ super(`the forked history was not confirmed on the server within ${Math.round(timeoutMs / 1e3)}s${cause}; the first message was NOT sent, so it cannot land in the middle of the replayed history`);
38
+ this.name = "ForkBackfillTimeoutError";
39
+ }
40
+ }
41
+ async function waitForForkBackfill(opts) {
42
+ if (!opts.capabilities?.includes(FORK_BACKFILL_CAPABILITY)) return { kind: "legacy-wrapper" };
43
+ const timeoutMs = opts.timeoutMs ?? FORK_BACKFILL_WAIT_TIMEOUT_MS;
44
+ const pollMs = opts.pollMs ?? FORK_BACKFILL_POLL_MS;
45
+ const sleep = opts.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
46
+ const now = opts.now ?? Date.now;
47
+ const deadline = now() + timeoutMs;
48
+ let lastError;
49
+ while (true) {
50
+ try {
51
+ const marker = readForkBackfillMarker(await opts.readMetadata());
52
+ if (marker) return { kind: "confirmed", marker };
53
+ lastError = void 0;
54
+ } catch (error) {
55
+ lastError = error;
56
+ }
57
+ if (now() >= deadline) throw new ForkBackfillTimeoutError(timeoutMs, lastError);
58
+ await sleep(pollMs);
59
+ }
60
+ }
61
+
62
+ export { FORK_BACKFILL_CAPABILITY as F, publishForkBackfillWhenCommitted as p, waitForForkBackfill as w };
@@ -1,24 +1,24 @@
1
1
  'use strict';
2
2
 
3
3
  var node_fs = require('node:fs');
4
- var spawnHappyCLI = require('./spawnHappyCLI-BRdx0sAX.cjs');
4
+ var spawnHappyCLI = require('./spawnHappyCLI-Dz2ZHrsN.cjs');
5
5
  var axios = require('axios');
6
6
  var tweetnacl = require('tweetnacl');
7
7
  var z = require('zod');
8
8
  var authRelay = require('./authRelay-BdYkC1Po.cjs');
9
- var configuration = require('./configuration-UsI0sxEv.cjs');
10
- var localHappyAgentAuth = require('./localHappyAgentAuth-l0Na-5Ys.cjs');
9
+ var configuration = require('./configuration-CepfrPZ_.cjs');
10
+ var localHappyAgentAuth = require('./localHappyAgentAuth-D_Gc4K7h.cjs');
11
11
  require('cross-spawn');
12
12
  require('node:path');
13
13
  require('./projectPath-ChLhdOyt.cjs');
14
14
  require('path');
15
15
  require('url');
16
- require('./logger-7ucWm9wp.cjs');
16
+ require('./logger-Ca5eRZ2j.cjs');
17
17
  require('chalk');
18
18
  require('node:util');
19
19
  require('node:crypto');
20
20
  require('node:os');
21
- require('./package-D1A-8ZJy.cjs');
21
+ require('./package-BfnmIH4b.cjs');
22
22
  require('node:fs/promises');
23
23
 
24
24
  const ResumableMetadataSchema = z.z.object({
@@ -1,22 +1,22 @@
1
1
  import { existsSync } from 'node:fs';
2
- import { s as spawnHappyCLI } from './spawnHappyCLI-9mx4lPxh.mjs';
2
+ import { s as spawnHappyCLI } from './spawnHappyCLI-wowHF2IL.mjs';
3
3
  import axios, { AxiosError } from 'axios';
4
4
  import tweetnacl from 'tweetnacl';
5
5
  import { z } from 'zod';
6
6
  import { d as decodeBase64, a as decryptWithDataKey, b as decryptLegacy } from './authRelay-DSAvg1uv.mjs';
7
- import { c as configuration } from './configuration-A5gW_0GE.mjs';
8
- import { g as getLocalHappyAgentCredentialPath, r as readLocalHappyAgentCredentials } from './localHappyAgentAuth-CaCyKzYp.mjs';
7
+ import { c as configuration } from './configuration-B0c-OP_h.mjs';
8
+ import { g as getLocalHappyAgentCredentialPath, r as readLocalHappyAgentCredentials } from './localHappyAgentAuth-r83bTscW.mjs';
9
9
  import 'cross-spawn';
10
10
  import 'node:path';
11
11
  import './projectPath-BTBIMB57.mjs';
12
12
  import 'path';
13
13
  import 'url';
14
- import './logger-CGE4C8ho.mjs';
14
+ import './logger-BIzr7JN0.mjs';
15
15
  import 'chalk';
16
16
  import 'node:util';
17
17
  import 'node:crypto';
18
18
  import 'node:os';
19
- import './package-DQsvY1XN.mjs';
19
+ import './package-D-W_r_pd.mjs';
20
20
  import 'node:fs/promises';
21
21
 
22
22
  const ResumableMetadataSchema = z.object({
@@ -1,34 +1,34 @@
1
- import { D as DefaultTransport, A as AcpBackend } from './AcpBackend--TmFHgRH.mjs';
2
- export { a as DEFAULT_IDLE_TIMEOUT_MS, b as DEFAULT_TOOL_CALL_TIMEOUT_MS, e as extractErrorDetail, f as formatDuration, c as formatDurationMinutes, h as handleAgentMessageChunk, d as handleAgentThoughtChunk, g as handleLegacyMessageChunk, i as handlePlanUpdate, j as handleThinkingUpdate, k as handleToolCall, l as handleToolCallUpdate, p as parseArgsFromContent } from './AcpBackend--TmFHgRH.mjs';
3
- import { l as logger } from './logger-CGE4C8ho.mjs';
1
+ import { D as DefaultTransport, A as AcpBackend } from './AcpBackend-CuOUXVRX.mjs';
2
+ export { a as DEFAULT_IDLE_TIMEOUT_MS, b as DEFAULT_TOOL_CALL_TIMEOUT_MS, e as extractErrorDetail, f as formatDuration, c as formatDurationMinutes, h as handleAgentMessageChunk, d as handleAgentThoughtChunk, g as handleLegacyMessageChunk, i as handlePlanUpdate, j as handleThinkingUpdate, k as handleToolCall, l as handleToolCallUpdate, p as parseArgsFromContent } from './AcpBackend-CuOUXVRX.mjs';
3
+ import { l as logger } from './logger-BIzr7JN0.mjs';
4
4
  import { A as AcpSessionManager } from './AcpSessionManager-BSIBnWUb.mjs';
5
5
  import { l as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY } from './index-BBg9j0XK.mjs';
6
6
  import { r as registerAgentAttachmentDownloads } from './agentAttachments-M_B5qEF2.mjs';
7
- import { c as configuration } from './configuration-A5gW_0GE.mjs';
8
- import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-s1xPha4Q.mjs';
9
- import { p as preparePiTeamsRuntime } from './piRuntime-DVPixFjl.mjs';
7
+ import { c as configuration } from './configuration-B0c-OP_h.mjs';
8
+ import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-CCE0Y3gR.mjs';
9
+ import { p as preparePiTeamsRuntime } from './piRuntime-BRKG6Yoz.mjs';
10
10
  import { randomUUID } from 'node:crypto';
11
11
  import { join } from 'node:path';
12
- import { c as connectionState, A as ApiClient } from './api-D57dsd6_.mjs';
13
- import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-Cll4-o8Y.mjs';
14
- import { h as hashObject, s as startHappyServer } from './deterministicJson-DiR7EOMO.mjs';
15
- import { readSettings } from './persistence-Cw8aLoyL.mjs';
16
- import { g as getInitialMachineMetadata } from './machineMetadata-ue1nkowa.mjs';
17
- import { c as createSessionMetadata } from './createSessionMetadata-Dyg33ZlU.mjs';
18
- import { s as setupOfflineReconnection } from './setupOfflineReconnection-DiQma2Cc.mjs';
19
- import { n as notifyDaemonSessionStarted, g as reportSessionEditToDaemon } from './controlClient-CYzHrh3e.mjs';
12
+ import { c as connectionState, A as ApiClient } from './api-D5kfP3JF.mjs';
13
+ import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-BS5afGeA.mjs';
14
+ import { h as hashObject, s as startHappyServer } from './deterministicJson-CaWami7M.mjs';
15
+ import { readSettings } from './persistence-DgBhXxu7.mjs';
16
+ import { g as getInitialMachineMetadata } from './machineMetadata-DakW9c61.mjs';
17
+ import { c as createSessionMetadata } from './createSessionMetadata-KOL67aSN.mjs';
18
+ import { s as setupOfflineReconnection } from './setupOfflineReconnection-rd1PCWiN.mjs';
19
+ import { n as notifyDaemonSessionStarted, g as reportSessionEditToDaemon } from './controlClient-BKmjlbGs.mjs';
20
20
  import { e as encodeBase64 } from './authRelay-DSAvg1uv.mjs';
21
21
  import { S as StreamRelay } from './streamRelay-BLgU9X3R.mjs';
22
22
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
23
- import { B as BasePermissionHandler } from './BasePermissionHandler-DUBySe0f.mjs';
24
- import { T as TitleGenerator } from './titleGenerator-B4AW3dLr.mjs';
25
- import { w as writeSessionModeFile, n as normalizeAcpPermissionMode, r as removeSessionModeFile } from './sessionModeFile-BKxgNH3P.mjs';
23
+ import { B as BasePermissionHandler } from './BasePermissionHandler-Ng5h8JpY.mjs';
24
+ import { T as TitleGenerator } from './titleGenerator-oK414IZc.mjs';
25
+ import { w as writeSessionModeFile, n as normalizeAcpPermissionMode, r as removeSessionModeFile } from './sessionModeFile-3yV7P9R-.mjs';
26
26
  import { E as EditReportThrottle, e as extractAcpEditPaths } from './editPaths-BVfS_FFL.mjs';
27
27
  import 'node:child_process';
28
28
  import '@agentclientprotocol/sdk';
29
- import './time-CVvxdEDh.mjs';
29
+ import './time-TxDyvAKk.mjs';
30
30
  import './contentLogMetadata-BlWI0egu.mjs';
31
- import './package-DQsvY1XN.mjs';
31
+ import './package-D-W_r_pd.mjs';
32
32
  import 'chalk';
33
33
  import 'node:util';
34
34
  import 'node:fs';
@@ -42,42 +42,42 @@ import 'axios';
42
42
  import 'node:events';
43
43
  import 'socket.io-client';
44
44
  import './limits-DIo7rEBR.mjs';
45
- import './lidState-CigXWxhe.mjs';
45
+ import './lidState-X7iQg4y5.mjs';
46
46
  import 'os';
47
47
  import 'child_process';
48
- import './registerCommonHandlers-Ckv5boQI.mjs';
48
+ import './registerCommonHandlers-t15dS7xt.mjs';
49
49
  import 'util';
50
50
  import 'fs/promises';
51
51
  import 'crypto';
52
52
  import 'path';
53
53
  import 'cross-spawn';
54
- import './sync-BpLasLu2.mjs';
54
+ import './sync-DnmsgL3w.mjs';
55
55
  import './backgroundTaskActivity-8PdPxrvy.mjs';
56
56
  import 'tweetnacl';
57
57
  import './types-CkqAACXx.mjs';
58
- import './client-Dk7x-s-O.mjs';
59
- import './context-BXnxalWW.mjs';
60
- import './sessionOps-CdwVPSZz.mjs';
61
- import './tools-_kFe4m_l.mjs';
62
- import './tools-BA1qkiV1.mjs';
63
- import './client-DwqHDsLb.mjs';
64
- import './peerTools-D19hhSQF.mjs';
58
+ import './client-BbNFS1WW.mjs';
59
+ import './context-mMg17HJv.mjs';
60
+ import './sessionOps-DJSwzwP-.mjs';
61
+ import './tools-sPgOmLr_.mjs';
62
+ import './tools-BSzD246o.mjs';
63
+ import './client-CyUhxs-0.mjs';
64
+ import './peerTools-C1cELmtZ.mjs';
65
65
  import './ids-DU6sLx4C.mjs';
66
- import './remoteSessionClient-BMjsbuBh.mjs';
66
+ import './remoteSessionClient-N7JsQ0XS.mjs';
67
67
  import '@modelcontextprotocol/sdk/server/mcp.js';
68
68
  import 'node:http';
69
69
  import '@modelcontextprotocol/sdk/server/streamableHttp.js';
70
- import './assistantTools-mEz6uNqL.mjs';
70
+ import './assistantTools-BvKH9eRc.mjs';
71
71
  import './terminals-Dlg0x3nY.mjs';
72
72
  import './terminalTitleSuggest-CeKsX_V6.mjs';
73
73
  import './tmuxSocket-B8Yx20sT.mjs';
74
- import './bootstrap-BKmsYSwh.mjs';
74
+ import './bootstrap-DSWZAtGy.mjs';
75
75
  import './agentGuidance-CQuNlNx8.mjs';
76
76
  import './trimIdent-BAjmv_TG.mjs';
77
77
  import './previewPath-CXN4Vag0.mjs';
78
78
  import './detectCLI-CSGMlV51.mjs';
79
79
  import 'fs';
80
- import './localHappyAgentAuth-CaCyKzYp.mjs';
80
+ import './localHappyAgentAuth-r83bTscW.mjs';
81
81
  import 'url';
82
82
  import 'node:module';
83
83
  import './oneShotPrompts-DT4p6RNd.mjs';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var _package = require('./package-D1A-8ZJy.cjs');
3
+ var _package = require('./package-BfnmIH4b.cjs');
4
4
  var module$1 = require('node:module');
5
5
  var node_fs = require('node:fs');
6
6
  var promises = require('node:fs/promises');
@@ -59,10 +59,10 @@ async function pruneStaleCompileCaches(happyHomeDir, cliVersion) {
59
59
  async function run(args) {
60
60
  enableCompileCacheIfPossible(_package.packageJson.version);
61
61
  if (isStandaloneVersionRequest(args) || isSelfCheckRequest(args)) {
62
- const { selfCheckMain } = await Promise.resolve().then(function () { return require('./selfCheck-D9ZXrK7h.cjs'); });
62
+ const { selfCheckMain } = await Promise.resolve().then(function () { return require('./selfCheck-DIn7j8MD.cjs'); });
63
63
  process.exit(await selfCheckMain({ verbose: isSelfCheckRequest(args) }));
64
64
  }
65
- const { main } = await Promise.resolve().then(function () { return require('./main-CFI0datL.cjs'); });
65
+ const { main } = await Promise.resolve().then(function () { return require('./main-BfA1Vtqq.cjs'); });
66
66
  await main();
67
67
  }
68
68
  void run(process.argv.slice(2));
@@ -1,14 +1,14 @@
1
1
  import { statSync, readdirSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
- import { l as logger } from './logger-CGE4C8ho.mjs';
4
- import { readSettings } from './persistence-Cw8aLoyL.mjs';
3
+ import { l as logger } from './logger-BIzr7JN0.mjs';
4
+ import { readSettings } from './persistence-DgBhXxu7.mjs';
5
5
  import { d as describeAgentHome, C as CLAUDE_CONFIG_DIR_ENV, a as CODEX_HOME_ENV, f as findClaudeConversation, b as agentHomeCandidates, c as findCodexThread, r as resolveAgentHomes, A as AGENT_HOME_ENV_NAMES, g as agentHomeEnv, p as probeLoginShellEnv } from './loginShellEnv-Dw8M7tkI.mjs';
6
6
  export { h as claudeConversationPath, i as claudeProjectDirName, j as codexRolloutFileMatches, e as expandHomePath } from './loginShellEnv-Dw8M7tkI.mjs';
7
7
  import 'chalk';
8
8
  import 'node:util';
9
- import './configuration-A5gW_0GE.mjs';
9
+ import './configuration-B0c-OP_h.mjs';
10
10
  import 'node:path';
11
- import './package-DQsvY1XN.mjs';
11
+ import './package-D-W_r_pd.mjs';
12
12
  import 'node:fs/promises';
13
13
  import 'zod';
14
14
  import './authRelay-DSAvg1uv.mjs';
@@ -1,4 +1,4 @@
1
- import { p as packageJson } from './package-DQsvY1XN.mjs';
1
+ import { p as packageJson } from './package-D-W_r_pd.mjs';
2
2
  import module$1 from 'node:module';
3
3
  import { existsSync } from 'node:fs';
4
4
  import { readdir, rm } from 'node:fs/promises';
@@ -57,10 +57,10 @@ async function pruneStaleCompileCaches(happyHomeDir, cliVersion) {
57
57
  async function run(args) {
58
58
  enableCompileCacheIfPossible(packageJson.version);
59
59
  if (isStandaloneVersionRequest(args) || isSelfCheckRequest(args)) {
60
- const { selfCheckMain } = await import('./selfCheck-7FaZtVu2.mjs');
60
+ const { selfCheckMain } = await import('./selfCheck-BTltA-ZZ.mjs');
61
61
  process.exit(await selfCheckMain({ verbose: isSelfCheckRequest(args) }));
62
62
  }
63
- const { main } = await import('./main-3fIFXD-t.mjs');
63
+ const { main } = await import('./main-BJlGidfv.mjs');
64
64
  await main();
65
65
  }
66
66
  void run(process.argv.slice(2));
@@ -2,14 +2,14 @@
2
2
 
3
3
  var node_fs = require('node:fs');
4
4
  var os = require('node:os');
5
- var logger = require('./logger-7ucWm9wp.cjs');
6
- var persistence = require('./persistence-i0nQMLlk.cjs');
5
+ var logger = require('./logger-Ca5eRZ2j.cjs');
6
+ var persistence = require('./persistence-Ceb-BPk6.cjs');
7
7
  var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
8
8
  require('chalk');
9
9
  require('node:util');
10
- require('./configuration-UsI0sxEv.cjs');
10
+ require('./configuration-CepfrPZ_.cjs');
11
11
  require('node:path');
12
- require('./package-D1A-8ZJy.cjs');
12
+ require('./package-BfnmIH4b.cjs');
13
13
  require('node:fs/promises');
14
14
  require('zod');
15
15
  require('./authRelay-BdYkC1Po.cjs');
@@ -1,35 +1,35 @@
1
1
  'use strict';
2
2
 
3
- var AcpBackend = require('./AcpBackend-9asD_DL7.cjs');
4
- var logger = require('./logger-7ucWm9wp.cjs');
3
+ var AcpBackend = require('./AcpBackend-C2rzKnvT.cjs');
4
+ var logger = require('./logger-Ca5eRZ2j.cjs');
5
5
  var AcpSessionManager = require('./AcpSessionManager-BvIuBzoO.cjs');
6
6
  var index = require('./index-DJ-oV52i.cjs');
7
7
  var agentAttachments = require('./agentAttachments-Dbw8iMCZ.cjs');
8
- var configuration = require('./configuration-UsI0sxEv.cjs');
9
- var attachmentContent = require('./attachmentContent-GHOk6Muq.cjs');
10
- var piRuntime = require('./piRuntime-Dff73XCb.cjs');
8
+ var configuration = require('./configuration-CepfrPZ_.cjs');
9
+ var attachmentContent = require('./attachmentContent-CUKdzh4v.cjs');
10
+ var piRuntime = require('./piRuntime-Be0UP44z.cjs');
11
11
  var node_crypto = require('node:crypto');
12
12
  var path = require('node:path');
13
- var api = require('./api-CQnLOqRS.cjs');
14
- var registerKillSessionHandler = require('./registerKillSessionHandler-CA9-oelM.cjs');
15
- var deterministicJson = require('./deterministicJson-eha_oMZ2.cjs');
16
- var persistence = require('./persistence-i0nQMLlk.cjs');
17
- var machineMetadata = require('./machineMetadata-lMPtpF16.cjs');
18
- var createSessionMetadata = require('./createSessionMetadata-EX1eAlHx.cjs');
19
- var setupOfflineReconnection = require('./setupOfflineReconnection-CFwltTcP.cjs');
20
- var controlClient = require('./controlClient-BXktrQ4z.cjs');
13
+ var api = require('./api-DGFBAPr7.cjs');
14
+ var registerKillSessionHandler = require('./registerKillSessionHandler-DGDubZLv.cjs');
15
+ var deterministicJson = require('./deterministicJson-BFzPcsCh.cjs');
16
+ var persistence = require('./persistence-Ceb-BPk6.cjs');
17
+ var machineMetadata = require('./machineMetadata-GlObivJ-.cjs');
18
+ var createSessionMetadata = require('./createSessionMetadata-CGuyVxsM.cjs');
19
+ var setupOfflineReconnection = require('./setupOfflineReconnection-BrnWBRUP.cjs');
20
+ var controlClient = require('./controlClient-HPMsyxLb.cjs');
21
21
  var authRelay = require('./authRelay-BdYkC1Po.cjs');
22
22
  var streamRelay = require('./streamRelay-DnObXZZj.cjs');
23
23
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
24
- var BasePermissionHandler = require('./BasePermissionHandler-D4B-NNu2.cjs');
25
- var titleGenerator = require('./titleGenerator-FDpdizn7.cjs');
26
- var sessionModeFile = require('./sessionModeFile-B5YeoQJh.cjs');
24
+ var BasePermissionHandler = require('./BasePermissionHandler-D6PdH-OU.cjs');
25
+ var titleGenerator = require('./titleGenerator-C8arvXNG.cjs');
26
+ var sessionModeFile = require('./sessionModeFile-BhqlFlHZ.cjs');
27
27
  var editPaths = require('./editPaths-Bqp4OFPw.cjs');
28
28
  require('node:child_process');
29
29
  require('@agentclientprotocol/sdk');
30
- require('./time-CLwVAz6s.cjs');
30
+ require('./time-xNkWLTSj.cjs');
31
31
  require('./contentLogMetadata-ZSFk_NjQ.cjs');
32
- require('./package-D1A-8ZJy.cjs');
32
+ require('./package-BfnmIH4b.cjs');
33
33
  require('chalk');
34
34
  require('node:util');
35
35
  require('node:fs');
@@ -43,42 +43,42 @@ require('axios');
43
43
  require('node:events');
44
44
  require('socket.io-client');
45
45
  require('./limits-C-a7gr04.cjs');
46
- require('./lidState-Ds-6ytZV.cjs');
46
+ require('./lidState-BGWXfx1e.cjs');
47
47
  require('os');
48
48
  require('child_process');
49
- require('./registerCommonHandlers-CMROPdJz.cjs');
49
+ require('./registerCommonHandlers-DPOHFlxp.cjs');
50
50
  require('util');
51
51
  require('fs/promises');
52
52
  require('crypto');
53
53
  require('path');
54
54
  require('cross-spawn');
55
- require('./sync-Dj92ZJ8Y.cjs');
55
+ require('./sync-fDRF_nO1.cjs');
56
56
  require('./backgroundTaskActivity-CBvUdj39.cjs');
57
57
  require('tweetnacl');
58
58
  require('./types-CRS-srZK.cjs');
59
- require('./client-DiBTHWNU.cjs');
60
- require('./context-0FjjA4vJ.cjs');
61
- require('./sessionOps-GsELm2PZ.cjs');
62
- require('./tools-O5beDK-s.cjs');
63
- require('./tools-CGxq3I52.cjs');
64
- require('./client-CVQJWqjx.cjs');
65
- require('./peerTools-DLwNaEEV.cjs');
59
+ require('./client-CXvsRLAz.cjs');
60
+ require('./context-BhZMRQho.cjs');
61
+ require('./sessionOps-DWsGWwfZ.cjs');
62
+ require('./tools-xQ38ufgo.cjs');
63
+ require('./tools-GnqHEZHb.cjs');
64
+ require('./client-CQzHoynf.cjs');
65
+ require('./peerTools-CADjnFDx.cjs');
66
66
  require('./ids-B6ZC0HGt.cjs');
67
- require('./remoteSessionClient-DX9jHLeW.cjs');
67
+ require('./remoteSessionClient-DbnVs1Tv.cjs');
68
68
  require('@modelcontextprotocol/sdk/server/mcp.js');
69
69
  require('node:http');
70
70
  require('@modelcontextprotocol/sdk/server/streamableHttp.js');
71
- require('./assistantTools-CwESq24n.cjs');
71
+ require('./assistantTools-NC7DMNvV.cjs');
72
72
  require('./terminals-B_bfC9c2.cjs');
73
73
  require('./terminalTitleSuggest-DhvRFX3H.cjs');
74
74
  require('./tmuxSocket-D-Xt6Vn-.cjs');
75
- require('./bootstrap-DvZjEa9_.cjs');
75
+ require('./bootstrap-CccIDvh4.cjs');
76
76
  require('./agentGuidance-B5NATuFa.cjs');
77
77
  require('./trimIdent-4gvk9Wk6.cjs');
78
78
  require('./previewPath-B0rBdhy1.cjs');
79
79
  require('./detectCLI-DR9ZaN6B.cjs');
80
80
  require('fs');
81
- require('./localHappyAgentAuth-l0Na-5Ys.cjs');
81
+ require('./localHappyAgentAuth-D_Gc4K7h.cjs');
82
82
  require('url');
83
83
  require('node:module');
84
84
  require('./oneShotPrompts-CL0dip9C.cjs');
package/dist/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- require('./package-D1A-8ZJy.cjs');
4
- require('./index-DRhWHEuW.cjs');
3
+ require('./package-BfnmIH4b.cjs');
4
+ require('./index-B6MVw_Xb.cjs');
5
5
  require('node:module');
6
6
  require('node:fs');
7
7
  require('node:fs/promises');
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import './package-DQsvY1XN.mjs';
2
- import './index-CvXcVQ06.mjs';
1
+ import './package-D-W_r_pd.mjs';
2
+ import './index-D3AsOj4j.mjs';
3
3
  import 'node:module';
4
4
  import 'node:fs';
5
5
  import 'node:fs/promises';
@@ -1,17 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-7ucWm9wp.cjs');
3
+ var logger = require('./logger-Ca5eRZ2j.cjs');
4
4
  var fs = require('fs');
5
5
  var child_process = require('child_process');
6
6
  var trimIdent = require('./trimIdent-4gvk9Wk6.cjs');
7
7
  var os = require('os');
8
8
  require('chalk');
9
9
  require('node:util');
10
- require('./configuration-UsI0sxEv.cjs');
10
+ require('./configuration-CepfrPZ_.cjs');
11
11
  require('node:fs');
12
12
  require('node:os');
13
13
  require('node:path');
14
- require('./package-D1A-8ZJy.cjs');
14
+ require('./package-BfnmIH4b.cjs');
15
15
  require('node:fs/promises');
16
16
 
17
17
  const PLIST_LABEL = "com.happy-cli.daemon";
@@ -1,15 +1,15 @@
1
- import { l as logger } from './logger-CGE4C8ho.mjs';
1
+ import { l as logger } from './logger-BIzr7JN0.mjs';
2
2
  import { existsSync, writeFileSync, chmodSync } from 'fs';
3
3
  import { execSync } from 'child_process';
4
4
  import { t as trimIdent } from './trimIdent-BAjmv_TG.mjs';
5
5
  import os from 'os';
6
6
  import 'chalk';
7
7
  import 'node:util';
8
- import './configuration-A5gW_0GE.mjs';
8
+ import './configuration-B0c-OP_h.mjs';
9
9
  import 'node:fs';
10
10
  import 'node:os';
11
11
  import 'node:path';
12
- import './package-DQsvY1XN.mjs';
12
+ import './package-D-W_r_pd.mjs';
13
13
  import 'node:fs/promises';
14
14
 
15
15
  const PLIST_LABEL = "com.happy-cli.daemon";
package/dist/lib.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var api = require('./api-CQnLOqRS.cjs');
4
- var logger = require('./logger-7ucWm9wp.cjs');
5
- var configuration = require('./configuration-UsI0sxEv.cjs');
3
+ var api = require('./api-DGFBAPr7.cjs');
4
+ var logger = require('./logger-Ca5eRZ2j.cjs');
5
+ var configuration = require('./configuration-CepfrPZ_.cjs');
6
6
  var types = require('./types-CRS-srZK.cjs');
7
7
  require('axios');
8
8
  require('node:events');
@@ -15,11 +15,11 @@ require('./authRelay-BdYkC1Po.cjs');
15
15
  require('node:crypto');
16
16
  require('tweetnacl');
17
17
  require('./limits-C-a7gr04.cjs');
18
- require('./time-CLwVAz6s.cjs');
19
- require('./lidState-Ds-6ytZV.cjs');
18
+ require('./time-xNkWLTSj.cjs');
19
+ require('./lidState-BGWXfx1e.cjs');
20
20
  require('os');
21
21
  require('child_process');
22
- require('./registerCommonHandlers-CMROPdJz.cjs');
22
+ require('./registerCommonHandlers-DPOHFlxp.cjs');
23
23
  require('util');
24
24
  require('fs/promises');
25
25
  require('crypto');
@@ -27,10 +27,10 @@ require('path');
27
27
  require('cross-spawn');
28
28
  require('./projectPath-ChLhdOyt.cjs');
29
29
  require('url');
30
- require('./sync-Dj92ZJ8Y.cjs');
30
+ require('./sync-fDRF_nO1.cjs');
31
31
  require('./backgroundTaskActivity-CBvUdj39.cjs');
32
- require('./controlClient-BXktrQ4z.cjs');
33
- require('./persistence-i0nQMLlk.cjs');
32
+ require('./controlClient-HPMsyxLb.cjs');
33
+ require('./persistence-Ceb-BPk6.cjs');
34
34
  require('node:fs/promises');
35
35
  require('node:fs');
36
36
  require('./contentLogMetadata-ZSFk_NjQ.cjs');
@@ -38,7 +38,7 @@ require('chalk');
38
38
  require('node:util');
39
39
  require('node:path');
40
40
  require('node:os');
41
- require('./package-D1A-8ZJy.cjs');
41
+ require('./package-BfnmIH4b.cjs');
42
42
 
43
43
 
44
44
 
package/dist/lib.d.cts CHANGED
@@ -719,6 +719,18 @@ type Metadata = {
719
719
  /** Lineage for sessions created via the fork / duplicate flow. */
720
720
  parentSessionId?: string;
721
721
  forkedFromMessageId?: string;
722
+ /**
723
+ * B-531: written by a fork's wrapper once the server accepted every replayed
724
+ * history message (capability fork-backfill-ack-v1). `very-happy spawn
725
+ * --fork --prompt` waits for it before sending, so the prompt cannot get a
726
+ * seq inside the replay. Absent on non-fork sessions and old wrappers.
727
+ */
728
+ forkBackfill?: {
729
+ done: true;
730
+ count: number;
731
+ failed?: boolean;
732
+ completedAt: number;
733
+ };
722
734
  /**
723
735
  * B-290: the Claude conversation this session was imported from (the
724
736
  * on-disk transcript written by claude CLI / desktop / claude.ai that was
@@ -1169,6 +1181,15 @@ declare class ApiSessionClient extends EventEmitter {
1169
1181
  private fetchMessages;
1170
1182
  private static readonly MAX_OUTBOX_BATCH_SIZE;
1171
1183
  private flushOutbox;
1184
+ /**
1185
+ * B-531: resolve once the server has accepted (POST answered, seq assigned)
1186
+ * every message that was in the outbox when this was called. Messages
1187
+ * enqueued later do not extend the wait. Returns false when the client was
1188
+ * closed first — the caller must not treat that as "committed". Retries are
1189
+ * the outbox's own (InvalidateSync backoff), so a server that keeps failing
1190
+ * keeps this pending rather than resolving early.
1191
+ */
1192
+ drainOutbox(): Promise<boolean>;
1172
1193
  private rememberRoutedInbound;
1173
1194
  private rememberDirectInbound;
1174
1195
  private connectSessionRelay;
package/dist/lib.d.mts CHANGED
@@ -719,6 +719,18 @@ type Metadata = {
719
719
  /** Lineage for sessions created via the fork / duplicate flow. */
720
720
  parentSessionId?: string;
721
721
  forkedFromMessageId?: string;
722
+ /**
723
+ * B-531: written by a fork's wrapper once the server accepted every replayed
724
+ * history message (capability fork-backfill-ack-v1). `very-happy spawn
725
+ * --fork --prompt` waits for it before sending, so the prompt cannot get a
726
+ * seq inside the replay. Absent on non-fork sessions and old wrappers.
727
+ */
728
+ forkBackfill?: {
729
+ done: true;
730
+ count: number;
731
+ failed?: boolean;
732
+ completedAt: number;
733
+ };
722
734
  /**
723
735
  * B-290: the Claude conversation this session was imported from (the
724
736
  * on-disk transcript written by claude CLI / desktop / claude.ai that was
@@ -1169,6 +1181,15 @@ declare class ApiSessionClient extends EventEmitter {
1169
1181
  private fetchMessages;
1170
1182
  private static readonly MAX_OUTBOX_BATCH_SIZE;
1171
1183
  private flushOutbox;
1184
+ /**
1185
+ * B-531: resolve once the server has accepted (POST answered, seq assigned)
1186
+ * every message that was in the outbox when this was called. Messages
1187
+ * enqueued later do not extend the wait. Returns false when the client was
1188
+ * closed first — the caller must not treat that as "committed". Retries are
1189
+ * the outbox's own (InvalidateSync backoff), so a server that keeps failing
1190
+ * keeps this pending rather than resolving early.
1191
+ */
1192
+ drainOutbox(): Promise<boolean>;
1172
1193
  private rememberRoutedInbound;
1173
1194
  private rememberDirectInbound;
1174
1195
  private connectSessionRelay;