very-happy-cli 0.2.161 → 0.2.162

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-6U6pQgx1.mjs → AcpBackend--TmFHgRH.mjs} +3 -3
  2. package/dist/{AcpBackend-Ba98QDif.cjs → AcpBackend-9asD_DL7.cjs} +3 -3
  3. package/dist/{AcpSessionManager-CoMWFVw3.mjs → AcpSessionManager-BSIBnWUb.mjs} +1 -1
  4. package/dist/{AcpSessionManager-BAY1Pggx.cjs → AcpSessionManager-BvIuBzoO.cjs} +1 -1
  5. package/dist/{BasePermissionHandler-2R0uH2CI.cjs → BasePermissionHandler-D4B-NNu2.cjs} +1 -1
  6. package/dist/{BasePermissionHandler-BvvhBTja.mjs → BasePermissionHandler-DUBySe0f.mjs} +1 -1
  7. package/dist/{BaseReasoningProcessor-DyhO1uoU.mjs → BaseReasoningProcessor-9TybUGTq.mjs} +1 -1
  8. package/dist/{BaseReasoningProcessor-fsVNmCEF.cjs → BaseReasoningProcessor-CqLl-ikP.cjs} +1 -1
  9. package/dist/{agentHome-DvNnGphb.cjs → agentHome-BohNUYnE.cjs} +4 -4
  10. package/dist/{agentHome-Ck1i1TQB.mjs → agentHome-DQrq_FG1.mjs} +4 -4
  11. package/dist/{api-B2vLMS-z.cjs → api-CQnLOqRS.cjs} +10 -10
  12. package/dist/{api-SffjRQ1b.mjs → api-D57dsd6_.mjs} +10 -10
  13. package/dist/{apiMachine-BpW9t8MO.mjs → apiMachine-78Aqzg--.mjs} +21 -14
  14. package/dist/{apiMachine-gFA54X7y.cjs → apiMachine-fFFaWxYy.cjs} +33 -26
  15. package/dist/{assistantTools-BfA0R3_m.cjs → assistantTools-CwESq24n.cjs} +6 -6
  16. package/dist/{assistantTools-CgiTbnWb.mjs → assistantTools-mEz6uNqL.mjs} +6 -6
  17. package/dist/{attachmentContent-DMMZzevR.cjs → attachmentContent-GHOk6Muq.cjs} +2 -2
  18. package/dist/{attachmentContent-CSGxr71v.mjs → attachmentContent-s1xPha4Q.mjs} +2 -2
  19. package/dist/{attachmentLimits-yba1uHFO.mjs → attachmentLimits-D5pgmASK.mjs} +1 -1
  20. package/dist/{attachmentLimits-CzVrqgLR.cjs → attachmentLimits-DzlBPyJP.cjs} +1 -1
  21. package/dist/{auth-x4CEoysH.cjs → auth-B8EagV6G.cjs} +8 -8
  22. package/dist/{auth-DdyVZSo6.mjs → auth-BOaHWquu.mjs} +8 -8
  23. package/dist/{auth-Bt4ceBBy.cjs → auth-BbSdXMQ_.cjs} +5 -5
  24. package/dist/{auth-CYHjQ8oQ.mjs → auth-C8V7-oUT.mjs} +5 -5
  25. package/dist/{auto-BDXDUnjB.cjs → auto-Bw_h0yVc.cjs} +15 -14
  26. package/dist/{auto-CXLlRi3a.mjs → auto-CWDOX35m.mjs} +15 -14
  27. package/dist/{bootstrap-BNQq05jR.mjs → bootstrap-BKmsYSwh.mjs} +2 -2
  28. package/dist/{bootstrap-CkgIq8N3.cjs → bootstrap-DvZjEa9_.cjs} +2 -2
  29. package/dist/{browser-BDOlKWYe.cjs → browser-CBZj-1Wx.cjs} +1 -1
  30. package/dist/{browser-9pyhQr1R.mjs → browser-CrMAr5fI.mjs} +1 -1
  31. package/dist/{claudeLocal-BDuGFnjJ.cjs → claudeLocal-Bpw-u9et.cjs} +5 -5
  32. package/dist/{claudeLocal-CQa8qnwq.mjs → claudeLocal-dhdlcQ6F.mjs} +5 -5
  33. package/dist/{claudeLocalLauncher-CDqQI9ak.mjs → claudeLocalLauncher-BFfGT4eY.mjs} +10 -10
  34. package/dist/{claudeLocalLauncher-Bd5I2-j6.cjs → claudeLocalLauncher-DWFWuLhY.cjs} +10 -10
  35. package/dist/{codexThreadFork-BZqF-9bX.cjs → claudeSessionFork-D9-mANmu.cjs} +1 -137
  36. package/dist/{codexThreadFork-BCaEMBiM.mjs → claudeSessionFork-_DUrXaqd.mjs} +2 -134
  37. package/dist/{client-DOBWJL3u.cjs → client-CVQJWqjx.cjs} +2 -2
  38. package/dist/{client-C_axwRry.cjs → client-DiBTHWNU.cjs} +3 -3
  39. package/dist/{client-Brn-UwVk.mjs → client-Dk7x-s-O.mjs} +3 -3
  40. package/dist/{client-CXb1VJui.mjs → client-DwqHDsLb.mjs} +2 -2
  41. package/dist/codex/happyMcpStdioBridge.cjs +15 -15
  42. package/dist/codex/happyMcpStdioBridge.mjs +15 -15
  43. package/dist/{codexAppServerClient-oeQKD6Qf.mjs → codexAppServerClient-C2ybs2mZ.mjs} +2 -2
  44. package/dist/{codexAppServerClient-ZzhUTWPo.cjs → codexAppServerClient-DlKv5TjG.cjs} +2 -2
  45. package/dist/{codexCommand-C7H0NpBe.cjs → codexCommand-4vLE31fj.cjs} +45 -40
  46. package/dist/{codexCommand-CJ82bl3l.mjs → codexCommand-DnmFr9Qx.mjs} +45 -40
  47. package/dist/codexThreadFork-DNekT4nQ.cjs +138 -0
  48. package/dist/codexThreadFork-R76RU5H0.mjs +133 -0
  49. package/dist/{config-CYpL1Ahd.cjs → config-Btd4B05_.cjs} +3 -3
  50. package/dist/{config-BglnktIo.mjs → config-CSOG_ZcP.mjs} +3 -3
  51. package/dist/{configuration-DoWFJUPm.mjs → configuration-A5gW_0GE.mjs} +1 -1
  52. package/dist/{configuration-v9f8LM9T.cjs → configuration-UsI0sxEv.cjs} +1 -1
  53. package/dist/{connect-yEvjdRvx.cjs → connect-C9yxp8Om.cjs} +13 -13
  54. package/dist/{connect-hgcNjyAB.mjs → connect-DWYj8LP_.mjs} +13 -13
  55. package/dist/{context-B45vMtSZ.cjs → context-0FjjA4vJ.cjs} +1 -1
  56. package/dist/{context-C9GHPLEm.mjs → context-BXnxalWW.mjs} +1 -1
  57. package/dist/{controlClient-fEHE85bH.cjs → controlClient-BXktrQ4z.cjs} +3 -3
  58. package/dist/{controlClient-DjoKTtgK.mjs → controlClient-CYzHrh3e.mjs} +3 -3
  59. package/dist/{createSessionMetadata-mIeehclp.mjs → createSessionMetadata-Dyg33ZlU.mjs} +2 -2
  60. package/dist/{createSessionMetadata-BRLB9CNO.cjs → createSessionMetadata-EX1eAlHx.cjs} +2 -2
  61. package/dist/{deterministicJson-p835AdAU.mjs → deterministicJson-DiR7EOMO.mjs} +9 -9
  62. package/dist/{deterministicJson-DKDP_mM-.cjs → deterministicJson-eha_oMZ2.cjs} +9 -9
  63. package/dist/{doctor-hVNnSZJn.cjs → doctor-DunLBgVi.cjs} +6 -6
  64. package/dist/{doctor-BeUuQXFs.mjs → doctor-FuCvKdRa.mjs} +6 -6
  65. package/dist/{ensureDaemonRunning-Dg9aZfjs.cjs → ensureDaemonRunning-B4dZFmUy.cjs} +5 -5
  66. package/dist/{ensureDaemonRunning-CO7d1gOC.mjs → ensureDaemonRunning-EZkb-CAF.mjs} +5 -5
  67. package/dist/{handleResumeCommand-DnVmy7a3.cjs → handleResumeCommand-CKMIw4pE.cjs} +5 -5
  68. package/dist/{handleResumeCommand-BiTPK0qd.mjs → handleResumeCommand-CsXendKb.mjs} +5 -5
  69. package/dist/{index-CAFwetLk.mjs → index-9L39wqYR.mjs} +37 -37
  70. package/dist/{index-qdS1friN.mjs → index-BBg9j0XK.mjs} +8 -1
  71. package/dist/{index-LIn6nCcq.cjs → index-BOhgL3rh.cjs} +36 -36
  72. package/dist/{index-Pf2cV9cn.cjs → index-CZWAiydF.cjs} +4 -4
  73. package/dist/{index-Cqx-Raq6.mjs → index-CvXcVQ06.mjs} +3 -3
  74. package/dist/{index-DA7yINuk.cjs → index-DJ-oV52i.cjs} +8 -1
  75. package/dist/{index-SPGPenK5.mjs → index-DK2JpTJf.mjs} +4 -4
  76. package/dist/{index-gNTWtSKN.cjs → index-DRhWHEuW.cjs} +3 -3
  77. package/dist/index.cjs +2 -2
  78. package/dist/index.mjs +2 -2
  79. package/dist/{install-ClUUl3yp.mjs → install-B2duVo9a.mjs} +3 -3
  80. package/dist/{install-Bu85vlHD.cjs → install-C8WyZI9K.cjs} +3 -3
  81. package/dist/lib.cjs +12 -12
  82. package/dist/lib.d.cts +5 -0
  83. package/dist/lib.d.mts +5 -0
  84. package/dist/lib.mjs +12 -12
  85. package/dist/{lidState-C2dI0FAN.mjs → lidState-CigXWxhe.mjs} +1 -1
  86. package/dist/{lidState-KHHu1015.cjs → lidState-Ds-6ytZV.cjs} +1 -1
  87. package/dist/{localHappyAgentAuth-DCsetiyG.mjs → localHappyAgentAuth-CaCyKzYp.mjs} +1 -1
  88. package/dist/{localHappyAgentAuth-BXiHPXdC.cjs → localHappyAgentAuth-l0Na-5Ys.cjs} +1 -1
  89. package/dist/{logger-Bc8-u1w0.cjs → logger-7ucWm9wp.cjs} +2 -2
  90. package/dist/{logger-fXoNzNuB.mjs → logger-CGE4C8ho.mjs} +2 -2
  91. package/dist/{machineMetadata-BibDMFVx.cjs → machineMetadata-lMPtpF16.cjs} +3 -3
  92. package/dist/{machineMetadata-BHjehxJY.mjs → machineMetadata-ue1nkowa.mjs} +3 -3
  93. package/dist/{main-BktM4A1K.mjs → main-3fIFXD-t.mjs} +44 -44
  94. package/dist/{main-CLaX-t-b.cjs → main-CFI0datL.cjs} +44 -44
  95. package/dist/{mcp-CeUd9KDr.mjs → mcp-DARQBZ7l.mjs} +14 -14
  96. package/dist/{mcp-GBfE70nk.cjs → mcp-DfxLAc1G.cjs} +14 -14
  97. package/dist/{package-Cl5BEP5x.cjs → package-D1A-8ZJy.cjs} +7 -7
  98. package/dist/{package-uOg9SCKi.mjs → package-DQsvY1XN.mjs} +7 -7
  99. package/dist/{peerTools-Dz3_7Bkk.mjs → peerTools-D19hhSQF.mjs} +4 -4
  100. package/dist/{peerTools-CIeiy9wn.cjs → peerTools-DLwNaEEV.cjs} +4 -4
  101. package/dist/{persistence-oET5n61f.mjs → persistence-Cw8aLoyL.mjs} +3 -3
  102. package/dist/{persistence-CBNMzSa8.cjs → persistence-i0nQMLlk.cjs} +3 -3
  103. package/dist/{piRunnerArgs-Dk1ncwHF.mjs → piRunnerArgs-58t454gw.mjs} +1 -1
  104. package/dist/{piRunnerArgs-Bf7RUF__.cjs → piRunnerArgs-BUyxPxjZ.cjs} +1 -1
  105. package/dist/{piRuntime-BwRdhK_N.mjs → piRuntime-DVPixFjl.mjs} +1 -1
  106. package/dist/{piRuntime-B_6TE9Eb.cjs → piRuntime-Dff73XCb.cjs} +1 -1
  107. package/dist/{piTerminal-CagmEoez.cjs → piTerminal-Dz1RrO70.cjs} +16 -16
  108. package/dist/{piTerminal-Bap3R8Re.mjs → piTerminal-gHWFAyzq.mjs} +16 -16
  109. package/dist/{registerCommonHandlers-BjSV2Skz.cjs → registerCommonHandlers-CMROPdJz.cjs} +2 -2
  110. package/dist/{registerCommonHandlers-CrgvJsOy.mjs → registerCommonHandlers-Ckv5boQI.mjs} +2 -2
  111. package/dist/{registerKillSessionHandler-6TC2S3lf.cjs → registerKillSessionHandler-CA9-oelM.cjs} +11 -7
  112. package/dist/{registerKillSessionHandler-Cbc8Rgtd.mjs → registerKillSessionHandler-Cll4-o8Y.mjs} +11 -7
  113. package/dist/{remoteSessionClient-CO7qOjR0.mjs → remoteSessionClient-BMjsbuBh.mjs} +5 -5
  114. package/dist/{remoteSessionClient-BNx78NLb.cjs → remoteSessionClient-DX9jHLeW.cjs} +5 -5
  115. package/dist/{run-D5xAEWSB.cjs → run-CjbGo2wb.cjs} +32 -32
  116. package/dist/{run-2l5vSt2h.mjs → run-CrunzDlt.mjs} +31 -31
  117. package/dist/{runClaude-BX6ixjtW.cjs → runClaude-KN-4Y4LH.cjs} +20 -20
  118. package/dist/{runClaude-BgN6xo05.mjs → runClaude-WDBWRtnF.mjs} +20 -20
  119. package/dist/{runClaudeDeps-Bp20MScE.cjs → runClaudeDeps-DW-8lnHv.cjs} +212 -35
  120. package/dist/{runClaudeDeps-COBBhD9o.mjs → runClaudeDeps-QaEx8y5r.mjs} +216 -39
  121. package/dist/{runGemini-CSMPkt0p.cjs → runGemini-Djmwjdv1.cjs} +32 -32
  122. package/dist/{runGemini-Cc2jq-uh.mjs → runGemini-Nf6SKBpw.mjs} +32 -32
  123. package/dist/{runOpenClaw-CIlCwdW2.mjs → runOpenClaw-9nHtmYbN.mjs} +18 -18
  124. package/dist/{runOpenClaw-YBwua4Rf.cjs → runOpenClaw-CAqP5KFH.cjs} +18 -18
  125. package/dist/{sandbox-C4gXLP1p.cjs → sandbox-C8Dd8GPM.cjs} +4 -4
  126. package/dist/{sandbox-CNkwOtHI.mjs → sandbox-SP0THMt0.mjs} +4 -4
  127. package/dist/selfCheck-7FaZtVu2.mjs +84 -0
  128. package/dist/{selfCheck-CU8xSDsl.cjs → selfCheck-D9ZXrK7h.cjs} +34 -34
  129. package/dist/{send-CGHcKZ-w.mjs → send-DOx9aQsx.mjs} +8 -8
  130. package/dist/{send-DY9Nr-x4.cjs → send-LPk6Q5HI.cjs} +8 -8
  131. package/dist/{server-m2b5pamZ.mjs → server-BZNi8Hq_.mjs} +4 -4
  132. package/dist/{server-II51Mimf.cjs → server-CxT8jNyn.cjs} +6 -6
  133. package/dist/{sessionLock-Cw6FmbMv.mjs → sessionLock-CfLqJfeI.mjs} +2 -2
  134. package/dist/{sessionLock-7ePAYDOg.cjs → sessionLock-y9rnA4LK.cjs} +2 -2
  135. package/dist/{sessionModeFile-BVCV5f7E.cjs → sessionModeFile-B5YeoQJh.cjs} +1 -1
  136. package/dist/{sessionModeFile-CDmDyRkD.mjs → sessionModeFile-BKxgNH3P.mjs} +1 -1
  137. package/dist/{sessionOps-C_f1wKOr.mjs → sessionOps-CdwVPSZz.mjs} +4 -4
  138. package/dist/{sessionOps-DJdExmBy.cjs → sessionOps-GsELm2PZ.cjs} +4 -4
  139. package/dist/{sessionScanner-CaAHLyNV.mjs → sessionScanner-Cdukzo70.mjs} +3 -3
  140. package/dist/{sessionScanner-D1goKdd3.cjs → sessionScanner-aLEv7mD3.cjs} +3 -3
  141. package/dist/{sessions-DGs6ALNo.cjs → sessions-CfG4WGN0.cjs} +9 -9
  142. package/dist/{sessions-DnvmWUel.mjs → sessions-Dne-OiRL.mjs} +9 -9
  143. package/dist/{setupOfflineReconnection-R7XuR_sj.cjs → setupOfflineReconnection-CFwltTcP.cjs} +2 -2
  144. package/dist/{setupOfflineReconnection-CVViqZft.mjs → setupOfflineReconnection-DiQma2Cc.mjs} +2 -2
  145. package/dist/{spawn-CXTH7qg1.cjs → spawn-BI_sdgWs.cjs} +15 -14
  146. package/dist/{spawn-DNYSvFtC.mjs → spawn-DkgP2BGF.mjs} +13 -12
  147. package/dist/{spawnAgents-DZzZ9jMI.mjs → spawnAgents-Y1LjnCt9.mjs} +1 -1
  148. package/dist/{spawnAgents-BGQiEF-w.cjs → spawnAgents-iSu1Xzs5.cjs} +1 -1
  149. package/dist/{spawnHappyCLI-cqWQbwsb.mjs → spawnHappyCLI-9mx4lPxh.mjs} +1 -1
  150. package/dist/{spawnHappyCLI-BhYj84rv.cjs → spawnHappyCLI-BRdx0sAX.cjs} +1 -1
  151. package/dist/{startFileWatcher-CKKx-8ZO.cjs → startFileWatcher-C2HC2_Dg.cjs} +1 -1
  152. package/dist/{startFileWatcher-CdegMbJj.mjs → startFileWatcher-COD5UKNs.mjs} +1 -1
  153. package/dist/{streamRelay-FPVbHpbM.mjs → streamRelay-BLgU9X3R.mjs} +1 -1
  154. package/dist/{streamRelay-BiKw59Cc.cjs → streamRelay-DnObXZZj.cjs} +1 -1
  155. package/dist/{sync-CxD-w_40.mjs → sync-BpLasLu2.mjs} +1 -1
  156. package/dist/{sync-CVk4QERO.cjs → sync-Dj92ZJ8Y.cjs} +1 -1
  157. package/dist/{systemPrompt-BygJcmbi.cjs → systemPrompt-CyEz_IfR.cjs} +2 -2
  158. package/dist/{systemPrompt-DmtypUc7.mjs → systemPrompt-DsQoUgQw.mjs} +2 -2
  159. package/dist/{teams-BOC6nIPL.mjs → teams-BETNMjpZ.mjs} +6 -6
  160. package/dist/{teams-BsvpOBfn.cjs → teams-Ctx9zXn4.cjs} +6 -6
  161. package/dist/{time-CNRE4ChD.cjs → time-CLwVAz6s.cjs} +1 -1
  162. package/dist/{time-BZNdNiIV.mjs → time-CVvxdEDh.mjs} +1 -1
  163. package/dist/{titleGenerator-ox6ptCsp.mjs → titleGenerator-B4AW3dLr.mjs} +12 -2
  164. package/dist/{titleGenerator-CFRhU-xq.cjs → titleGenerator-FDpdizn7.cjs} +13 -3
  165. package/dist/{todo-B-KB7oAB.cjs → todo-C3tyFeq1.cjs} +6 -6
  166. package/dist/{todo-C5KBVbUw.mjs → todo-Jk4Vs7hP.mjs} +6 -6
  167. package/dist/{tools-BZabNIid.mjs → tools-BA1qkiV1.mjs} +2 -2
  168. package/dist/{tools-CsSovyNp.cjs → tools-CGxq3I52.cjs} +2 -2
  169. package/dist/{tools-lMDra4Pv.cjs → tools-O5beDK-s.cjs} +1 -1
  170. package/dist/{tools-BmQQUATY.mjs → tools-_kFe4m_l.mjs} +1 -1
  171. package/dist/{uninstall-B1WLtC1d.mjs → uninstall-C_mdAZlm.mjs} +3 -3
  172. package/dist/{uninstall-fvA5aWpU.cjs → uninstall-DHKF90lo.cjs} +3 -3
  173. package/package.json +7 -7
  174. package/dist/selfCheck-hJ6PCh7v.mjs +0 -84
@@ -0,0 +1,133 @@
1
+ class CodexForkRewindPointNotFoundError extends Error {
2
+ constructor(itemId, threadId) {
3
+ super(`Codex rewind point ${itemId} not found in thread ${threadId}`);
4
+ this.itemId = itemId;
5
+ this.threadId = threadId;
6
+ this.name = "CodexForkRewindPointNotFoundError";
7
+ }
8
+ }
9
+ function hasUserAttachments(item) {
10
+ const content = item.content;
11
+ return Array.isArray(content) && content.some((part) => !part || typeof part !== "object" || part.type !== "text" || typeof part.text === "string" && part.text.includes("<attached_files>"));
12
+ }
13
+ function rejectAttachedTarget(thread, itemId) {
14
+ const item = thread.turns?.flatMap((turn) => turn.items ?? []).find((item2) => item2.id === itemId);
15
+ if (item && hasUserAttachments(item)) throw new Error("Cannot edit and rerun a message with attachments");
16
+ }
17
+ function textFromUserItem(item) {
18
+ if (item.type !== "userMessage") {
19
+ return null;
20
+ }
21
+ const content = item.content;
22
+ if (!Array.isArray(content)) {
23
+ return null;
24
+ }
25
+ const textParts = content.filter((part) => Boolean(part) && typeof part === "object" && part.type === "text" && typeof part.text === "string").map((part) => part.text).join("\n").trim();
26
+ return textParts.length > 0 ? textParts : null;
27
+ }
28
+ function timestampFromTurn(turn) {
29
+ const seconds = turn.startedAt ?? turn.completedAt;
30
+ return typeof seconds === "number" && Number.isFinite(seconds) ? seconds * 1e3 : Date.now();
31
+ }
32
+ function listCodexRewindPoints(thread) {
33
+ const points = [];
34
+ for (const turn of thread.turns ?? []) {
35
+ for (const item of turn.items ?? []) {
36
+ const text = textFromUserItem(item);
37
+ if (!text) {
38
+ continue;
39
+ }
40
+ points.push({
41
+ itemId: item.id,
42
+ text,
43
+ ...hasUserAttachments(item) ? { hasAttachments: true } : {},
44
+ timestamp: timestampFromTurn(turn)
45
+ });
46
+ }
47
+ }
48
+ return points;
49
+ }
50
+ function findCutTurn(thread, itemId) {
51
+ const turns = thread.turns ?? [];
52
+ for (let index = 0; index < turns.length; index++) {
53
+ const turn = turns[index];
54
+ const item = (turn.items ?? []).find((candidate) => candidate.id === itemId);
55
+ if (!item) {
56
+ continue;
57
+ }
58
+ const text = textFromUserItem(item);
59
+ if (text) {
60
+ return { index, text };
61
+ }
62
+ }
63
+ return null;
64
+ }
65
+ async function forkCodexThread(client, opts) {
66
+ const forked = await client.forkThread({
67
+ threadId: opts.threadId,
68
+ ...opts.cwd ? { cwd: opts.cwd } : {},
69
+ ...opts.model ? { model: opts.model } : {},
70
+ ...opts.approvalPolicy ? { approvalPolicy: opts.approvalPolicy } : {},
71
+ ...opts.sandbox ? { sandbox: opts.sandbox } : {},
72
+ ...opts.mcpServers ? { mcpServers: opts.mcpServers } : {}
73
+ });
74
+ if (opts.cutAfterItemId) {
75
+ const cutTurn = findCutTurn(forked.thread, opts.cutAfterItemId);
76
+ if (!cutTurn) {
77
+ throw new CodexForkRewindPointNotFoundError(opts.cutAfterItemId, opts.threadId);
78
+ }
79
+ const turns = forked.thread.turns ?? [];
80
+ const turnsToDrop = turns.length - cutTurn.index;
81
+ if (turnsToDrop > 0) {
82
+ await client.rollbackThread({
83
+ threadId: forked.threadId,
84
+ numTurns: turnsToDrop
85
+ });
86
+ }
87
+ await client.injectItems({
88
+ threadId: forked.threadId,
89
+ items: [{
90
+ type: "message",
91
+ role: "user",
92
+ content: [{ type: "input_text", text: cutTurn.text }]
93
+ }]
94
+ });
95
+ }
96
+ return {
97
+ type: "success",
98
+ newCodexThreadId: forked.threadId
99
+ };
100
+ }
101
+ async function forkCodexBeforeUserMessage(client, opts) {
102
+ const { thread: source } = await client.readThread({ threadId: opts.threadId, includeTurns: true });
103
+ rejectAttachedTarget(source, opts.cutBeforeItemId);
104
+ const sourceCut = findCutTurn(source, opts.cutBeforeItemId);
105
+ if (!sourceCut) throw new CodexForkRewindPointNotFoundError(opts.cutBeforeItemId, opts.threadId);
106
+ if ((source.turns?.[sourceCut.index].items ?? []).findIndex((item) => item.id === opts.cutBeforeItemId) !== 0) {
107
+ throw new Error("Cannot safely rewind a user message inside an existing turn");
108
+ }
109
+ if (sourceCut.index === 0) return { type: "success", startFresh: true };
110
+ const forked = await client.forkThread({ threadId: opts.threadId, cwd: opts.cwd });
111
+ if (forked.threadId === opts.threadId) throw new Error("Codex did not create an independent fork");
112
+ rejectAttachedTarget(forked.thread, opts.cutBeforeItemId);
113
+ const cut = findCutTurn(forked.thread, opts.cutBeforeItemId);
114
+ if (!cut) throw new CodexForkRewindPointNotFoundError(opts.cutBeforeItemId, opts.threadId);
115
+ const turns = forked.thread.turns ?? [];
116
+ const items = turns[cut.index].items ?? [];
117
+ if (items.findIndex((item) => item.id === opts.cutBeforeItemId) !== 0) {
118
+ throw new Error("Cannot safely rewind a user message inside an existing turn");
119
+ }
120
+ if (cut.index === 0) return { type: "success", startFresh: true };
121
+ const expectedTurnIds = turns.slice(0, cut.index).map((turn) => turn.id);
122
+ const { thread } = await client.rollbackThread({
123
+ threadId: forked.threadId,
124
+ numTurns: turns.length - cut.index
125
+ });
126
+ const remaining = thread.turns ?? [];
127
+ if (remaining.length !== cut.index || remaining.some((turn, index) => turn.id !== expectedTurnIds[index])) {
128
+ throw new Error("Codex rollback did not preserve the expected history");
129
+ }
130
+ return { type: "success", newCodexThreadId: forked.threadId };
131
+ }
132
+
133
+ export { CodexForkRewindPointNotFoundError as C, forkCodexBeforeUserMessage as a, forkCodexThread as f, listCodexRewindPoints as l };
@@ -4,15 +4,15 @@ var fs = require('fs');
4
4
  var path = require('path');
5
5
  var os = require('os');
6
6
  var child_process = require('child_process');
7
- var logger = require('./logger-Bc8-u1w0.cjs');
7
+ var logger = require('./logger-7ucWm9wp.cjs');
8
8
  var constants = require('./constants-VJ0N6WuG.cjs');
9
9
  require('chalk');
10
10
  require('node:util');
11
- require('./configuration-v9f8LM9T.cjs');
11
+ require('./configuration-UsI0sxEv.cjs');
12
12
  require('node:fs');
13
13
  require('node:os');
14
14
  require('node:path');
15
- require('./package-Cl5BEP5x.cjs');
15
+ require('./package-D1A-8ZJy.cjs');
16
16
  require('node:fs/promises');
17
17
  require('./trimIdent-4gvk9Wk6.cjs');
18
18
 
@@ -2,15 +2,15 @@ import { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
2
2
  import { join } from 'path';
3
3
  import { homedir } from 'os';
4
4
  import { execSync } from 'child_process';
5
- import { l as logger } from './logger-fXoNzNuB.mjs';
5
+ import { l as logger } from './logger-CGE4C8ho.mjs';
6
6
  import { D as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './constants-BC4St0xd.mjs';
7
7
  import 'chalk';
8
8
  import 'node:util';
9
- import './configuration-DoWFJUPm.mjs';
9
+ import './configuration-A5gW_0GE.mjs';
10
10
  import 'node:fs';
11
11
  import 'node:os';
12
12
  import 'node:path';
13
- import './package-uOg9SCKi.mjs';
13
+ import './package-DQsvY1XN.mjs';
14
14
  import 'node:fs/promises';
15
15
  import './trimIdent-BAjmv_TG.mjs';
16
16
 
@@ -1,7 +1,7 @@
1
1
  import { mkdirSync, chmodSync, readdirSync, statSync, appendFileSync, writeFileSync, existsSync, readFileSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
3
  import { join } from 'node:path';
4
- import { p as packageJson } from './package-uOg9SCKi.mjs';
4
+ import { p as packageJson } from './package-DQsvY1XN.mjs';
5
5
  import { mkdir, chmod, writeFile } from 'node:fs/promises';
6
6
 
7
7
  const PRIVATE_DIRECTORY_MODE = 448;
@@ -3,7 +3,7 @@
3
3
  var node_fs = require('node:fs');
4
4
  var os = require('node:os');
5
5
  var path = require('node:path');
6
- var _package = require('./package-Cl5BEP5x.cjs');
6
+ var _package = require('./package-D1A-8ZJy.cjs');
7
7
  var promises = require('node:fs/promises');
8
8
 
9
9
  const PRIVATE_DIRECTORY_MODE = 448;
@@ -3,12 +3,12 @@
3
3
  var chalk = require('chalk');
4
4
  var os = require('os');
5
5
  var path = require('path');
6
- var persistence = require('./persistence-CBNMzSa8.cjs');
7
- var api = require('./api-B2vLMS-z.cjs');
8
- var configuration = require('./configuration-v9f8LM9T.cjs');
6
+ var persistence = require('./persistence-i0nQMLlk.cjs');
7
+ var api = require('./api-CQnLOqRS.cjs');
8
+ var configuration = require('./configuration-UsI0sxEv.cjs');
9
9
  var http = require('http');
10
10
  var crypto = require('crypto');
11
- var browser = require('./browser-BDOlKWYe.cjs');
11
+ var browser = require('./browser-CBZj-1Wx.cjs');
12
12
  var child_process = require('child_process');
13
13
  var util = require('util');
14
14
  require('node:fs/promises');
@@ -17,28 +17,28 @@ require('zod');
17
17
  require('./authRelay-BdYkC1Po.cjs');
18
18
  require('node:crypto');
19
19
  require('tweetnacl');
20
- require('./logger-Bc8-u1w0.cjs');
20
+ require('./logger-7ucWm9wp.cjs');
21
21
  require('node:util');
22
22
  require('node:path');
23
23
  require('node:os');
24
- require('./package-Cl5BEP5x.cjs');
24
+ require('./package-D1A-8ZJy.cjs');
25
25
  require('axios');
26
26
  require('node:events');
27
27
  require('socket.io-client');
28
- require('./attachmentLimits-CzVrqgLR.cjs');
29
- require('./index-DA7yINuk.cjs');
28
+ require('./attachmentLimits-DzlBPyJP.cjs');
29
+ require('./index-DJ-oV52i.cjs');
30
30
  require('@paralleldrive/cuid2');
31
31
  require('./limits-C-a7gr04.cjs');
32
- require('./time-CNRE4ChD.cjs');
33
- require('./lidState-KHHu1015.cjs');
34
- require('./registerCommonHandlers-BjSV2Skz.cjs');
32
+ require('./time-CLwVAz6s.cjs');
33
+ require('./lidState-Ds-6ytZV.cjs');
34
+ require('./registerCommonHandlers-CMROPdJz.cjs');
35
35
  require('fs/promises');
36
36
  require('cross-spawn');
37
37
  require('./projectPath-ChLhdOyt.cjs');
38
38
  require('url');
39
- require('./sync-CVk4QERO.cjs');
39
+ require('./sync-Dj92ZJ8Y.cjs');
40
40
  require('./backgroundTaskActivity-CBvUdj39.cjs');
41
- require('./controlClient-fEHE85bH.cjs');
41
+ require('./controlClient-BXktrQ4z.cjs');
42
42
  require('./contentLogMetadata-ZSFk_NjQ.cjs');
43
43
  require('open');
44
44
 
@@ -1,12 +1,12 @@
1
1
  import chalk from 'chalk';
2
2
  import { homedir } from 'os';
3
3
  import { join } from 'path';
4
- import { readCredentialsForConfiguredRelay } from './persistence-oET5n61f.mjs';
5
- import { A as ApiClient } from './api-SffjRQ1b.mjs';
6
- import { f as ensurePrivateDirectorySync, w as writePrivateFileSync } from './configuration-DoWFJUPm.mjs';
4
+ import { readCredentialsForConfiguredRelay } from './persistence-Cw8aLoyL.mjs';
5
+ import { A as ApiClient } from './api-D57dsd6_.mjs';
6
+ import { f as ensurePrivateDirectorySync, w as writePrivateFileSync } from './configuration-A5gW_0GE.mjs';
7
7
  import { createServer } from 'http';
8
8
  import { randomBytes, createHash } from 'crypto';
9
- import { o as openBrowser } from './browser-9pyhQr1R.mjs';
9
+ import { o as openBrowser } from './browser-CrMAr5fI.mjs';
10
10
  import { exec } from 'child_process';
11
11
  import { promisify } from 'util';
12
12
  import 'node:fs/promises';
@@ -15,28 +15,28 @@ import 'zod';
15
15
  import './authRelay-DSAvg1uv.mjs';
16
16
  import 'node:crypto';
17
17
  import 'tweetnacl';
18
- import './logger-fXoNzNuB.mjs';
18
+ import './logger-CGE4C8ho.mjs';
19
19
  import 'node:util';
20
20
  import 'node:path';
21
21
  import 'node:os';
22
- import './package-uOg9SCKi.mjs';
22
+ import './package-DQsvY1XN.mjs';
23
23
  import 'axios';
24
24
  import 'node:events';
25
25
  import 'socket.io-client';
26
- import './attachmentLimits-yba1uHFO.mjs';
27
- import './index-qdS1friN.mjs';
26
+ import './attachmentLimits-D5pgmASK.mjs';
27
+ import './index-BBg9j0XK.mjs';
28
28
  import '@paralleldrive/cuid2';
29
29
  import './limits-DIo7rEBR.mjs';
30
- import './time-BZNdNiIV.mjs';
31
- import './lidState-C2dI0FAN.mjs';
32
- import './registerCommonHandlers-CrgvJsOy.mjs';
30
+ import './time-CVvxdEDh.mjs';
31
+ import './lidState-CigXWxhe.mjs';
32
+ import './registerCommonHandlers-Ckv5boQI.mjs';
33
33
  import 'fs/promises';
34
34
  import 'cross-spawn';
35
35
  import './projectPath-BTBIMB57.mjs';
36
36
  import 'url';
37
- import './sync-CxD-w_40.mjs';
37
+ import './sync-BpLasLu2.mjs';
38
38
  import './backgroundTaskActivity-8PdPxrvy.mjs';
39
- import './controlClient-DjoKTtgK.mjs';
39
+ import './controlClient-CYzHrh3e.mjs';
40
40
  import './contentLogMetadata-BlWI0egu.mjs';
41
41
  import 'open';
42
42
 
@@ -5,7 +5,7 @@ var node_fs = require('node:fs');
5
5
  var path = require('node:path');
6
6
  var node_crypto = require('node:crypto');
7
7
  var z = require('zod');
8
- var configuration = require('./configuration-v9f8LM9T.cjs');
8
+ var configuration = require('./configuration-UsI0sxEv.cjs');
9
9
 
10
10
  const TeamScopeSchema = z.z.object({
11
11
  serverUrl: z.z.string(),
@@ -3,7 +3,7 @@ import { constants } from 'node:fs';
3
3
  import { isAbsolute, join, dirname } from 'node:path';
4
4
  import { randomUUID } from 'node:crypto';
5
5
  import { z } from 'zod';
6
- import { n as normalizeHttpEndpoint, c as configuration } from './configuration-DoWFJUPm.mjs';
6
+ import { n as normalizeHttpEndpoint, c as configuration } from './configuration-A5gW_0GE.mjs';
7
7
 
8
8
  const TeamScopeSchema = z.object({
9
9
  serverUrl: z.string(),
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-Bc8-u1w0.cjs');
4
- var persistence = require('./persistence-CBNMzSa8.cjs');
5
- var configuration = require('./configuration-v9f8LM9T.cjs');
3
+ var logger = require('./logger-7ucWm9wp.cjs');
4
+ var persistence = require('./persistence-i0nQMLlk.cjs');
5
+ var configuration = require('./configuration-UsI0sxEv.cjs');
6
6
 
7
7
  function daemonControlHeaders(controlToken) {
8
8
  return {
@@ -1,6 +1,6 @@
1
- import { l as logger } from './logger-fXoNzNuB.mjs';
2
- import { readDaemonState, clearDaemonState } from './persistence-oET5n61f.mjs';
3
- import { c as configuration } from './configuration-DoWFJUPm.mjs';
1
+ import { l as logger } from './logger-CGE4C8ho.mjs';
2
+ import { readDaemonState, clearDaemonState } from './persistence-Cw8aLoyL.mjs';
3
+ import { c as configuration } from './configuration-A5gW_0GE.mjs';
4
4
 
5
5
  function daemonControlHeaders(controlToken) {
6
6
  return {
@@ -1,8 +1,8 @@
1
1
  import os from 'node:os';
2
2
  import { resolve } from 'node:path';
3
- import { c as configuration } from './configuration-DoWFJUPm.mjs';
3
+ import { c as configuration } from './configuration-A5gW_0GE.mjs';
4
4
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
5
- import { p as packageJson } from './package-uOg9SCKi.mjs';
5
+ import { p as packageJson } from './package-DQsvY1XN.mjs';
6
6
 
7
7
  const SPAWN_ORIGIN_TAG_MAX = 24;
8
8
  function spawnOriginTags(env = process.env, flavor = void 0) {
@@ -2,9 +2,9 @@
2
2
 
3
3
  var os = require('node:os');
4
4
  var path = require('node:path');
5
- var configuration = require('./configuration-v9f8LM9T.cjs');
5
+ var configuration = require('./configuration-UsI0sxEv.cjs');
6
6
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
7
- var _package = require('./package-Cl5BEP5x.cjs');
7
+ var _package = require('./package-D1A-8ZJy.cjs');
8
8
 
9
9
  const SPAWN_ORIGIN_TAG_MAX = 24;
10
10
  function spawnOriginTags(env = process.env, flavor = void 0) {
@@ -1,22 +1,22 @@
1
- import { C as ContextUsageSchema } from './index-qdS1friN.mjs';
1
+ import { C as ContextUsageSchema } from './index-BBg9j0XK.mjs';
2
2
  import { unlink, mkdir, open, rename } from 'node:fs/promises';
3
3
  import { randomUUID } from 'node:crypto';
4
4
  import { constants } from 'node:fs';
5
5
  import { dirname } from 'node:path';
6
6
  import { z } from 'zod';
7
- import { T as TeamConnectionPreflightError, c as createTeamsClient } from './client-Brn-UwVk.mjs';
8
- import { t as teamScopePath } from './context-C9GHPLEm.mjs';
9
- import { f as waitForSessionKey, g as sendUserMessage } from './sessionOps-C_f1wKOr.mjs';
7
+ import { T as TeamConnectionPreflightError, c as createTeamsClient } from './client-Dk7x-s-O.mjs';
8
+ import { t as teamScopePath } from './context-BXnxalWW.mjs';
9
+ import { f as waitForSessionKey, g as sendUserMessage } from './sessionOps-CdwVPSZz.mjs';
10
10
  import { T as TEAM_SKILL } from './resources-BdFBQi8r.mjs';
11
- import { T as TEAM_TOOL_NAMES, r as registerTeamsTools } from './tools-BmQQUATY.mjs';
12
- import { A as AUTOMATION_TOOL_NAMES, r as registerAutomationTools } from './tools-BZabNIid.mjs';
13
- import { S as SESSION_PEER_TOOL_NAMES, r as registerSessionPeerTools, a as createSessionPeerToolExecutor } from './peerTools-Dz3_7Bkk.mjs';
11
+ import { T as TEAM_TOOL_NAMES, r as registerTeamsTools } from './tools-_kFe4m_l.mjs';
12
+ import { A as AUTOMATION_TOOL_NAMES, r as registerAutomationTools } from './tools-BA1qkiV1.mjs';
13
+ import { S as SESSION_PEER_TOOL_NAMES, r as registerSessionPeerTools, a as createSessionPeerToolExecutor } from './peerTools-D19hhSQF.mjs';
14
14
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
15
15
  import { createServer } from 'node:http';
16
16
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
17
- import { l as logger } from './logger-fXoNzNuB.mjs';
17
+ import { l as logger } from './logger-CGE4C8ho.mjs';
18
18
  import { C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, c as CLIPBOARD_MAX_BYTES } from './limits-DIo7rEBR.mjs';
19
- import { A as ASSISTANT_TOOL_NAMES, a as registerAssistantTools } from './assistantTools-CgiTbnWb.mjs';
19
+ import { A as ASSISTANT_TOOL_NAMES, a as registerAssistantTools } from './assistantTools-mEz6uNqL.mjs';
20
20
  import { P as PREVIEW_TOOL_NAME, R as REPORT_PROGRESS_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION, c as REPORT_PROGRESS_TOOL_TITLE, d as REPORT_PROGRESS_TOOL_DESCRIPTION } from './agentGuidance-CQuNlNx8.mjs';
21
21
  import { c as checkPreviewPath } from './previewPath-CXN4Vag0.mjs';
22
22
  import { createHash } from 'crypto';
@@ -1,24 +1,24 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DA7yINuk.cjs');
3
+ var index = require('./index-DJ-oV52i.cjs');
4
4
  var promises = require('node:fs/promises');
5
5
  var node_crypto = require('node:crypto');
6
6
  var node_fs = require('node:fs');
7
7
  var path = require('node:path');
8
8
  var z = require('zod');
9
- var client = require('./client-C_axwRry.cjs');
10
- var context = require('./context-B45vMtSZ.cjs');
11
- var sessionOps = require('./sessionOps-DJdExmBy.cjs');
9
+ var client = require('./client-DiBTHWNU.cjs');
10
+ var context = require('./context-0FjjA4vJ.cjs');
11
+ var sessionOps = require('./sessionOps-GsELm2PZ.cjs');
12
12
  var resources = require('./resources-JDPugcDq.cjs');
13
- var tools = require('./tools-lMDra4Pv.cjs');
14
- var tools$1 = require('./tools-CsSovyNp.cjs');
15
- var peerTools = require('./peerTools-CIeiy9wn.cjs');
13
+ var tools = require('./tools-O5beDK-s.cjs');
14
+ var tools$1 = require('./tools-CGxq3I52.cjs');
15
+ var peerTools = require('./peerTools-DLwNaEEV.cjs');
16
16
  var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
17
17
  var node_http = require('node:http');
18
18
  var streamableHttp_js = require('@modelcontextprotocol/sdk/server/streamableHttp.js');
19
- var logger = require('./logger-Bc8-u1w0.cjs');
19
+ var logger = require('./logger-7ucWm9wp.cjs');
20
20
  var limits = require('./limits-C-a7gr04.cjs');
21
- var assistantTools = require('./assistantTools-BfA0R3_m.cjs');
21
+ var assistantTools = require('./assistantTools-CwESq24n.cjs');
22
22
  var agentGuidance = require('./agentGuidance-B5NATuFa.cjs');
23
23
  var previewPath = require('./previewPath-B0rBdhy1.cjs');
24
24
  var crypto = require('crypto');
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var configuration = require('./configuration-v9f8LM9T.cjs');
5
- var persistence = require('./persistence-CBNMzSa8.cjs');
6
- var controlClient = require('./controlClient-fEHE85bH.cjs');
4
+ var configuration = require('./configuration-UsI0sxEv.cjs');
5
+ var persistence = require('./persistence-i0nQMLlk.cjs');
6
+ var controlClient = require('./controlClient-BXktrQ4z.cjs');
7
7
  var doctor$1 = require('./doctor-u46qYYKX.cjs');
8
8
  var node_fs = require('node:fs');
9
9
  var path = require('node:path');
10
10
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
11
- var _package = require('./package-Cl5BEP5x.cjs');
11
+ var _package = require('./package-D1A-8ZJy.cjs');
12
12
  var doctorReadiness = require('./doctorReadiness-BCZGcN0a.cjs');
13
13
  var authRelay = require('./authRelay-BdYkC1Po.cjs');
14
14
  var cliUpdate = require('./cliUpdate-DsKXPFYp.cjs');
@@ -312,8 +312,8 @@ ${typeLabels[type] || type}:`));
312
312
  }
313
313
  console.log(chalk.gray(" An external claude command is only needed for native terminal/mirror use."));
314
314
  try {
315
- const { resolveAgentHomesForCli } = await Promise.resolve().then(function () { return require('./agentHome-DvNnGphb.cjs'); });
316
- const { describeAgentHome } = await Promise.resolve().then(function () { return require('./index-Pf2cV9cn.cjs'); });
315
+ const { resolveAgentHomesForCli } = await Promise.resolve().then(function () { return require('./agentHome-BohNUYnE.cjs'); });
316
+ const { describeAgentHome } = await Promise.resolve().then(function () { return require('./index-CZWAiydF.cjs'); });
317
317
  const homes = await resolveAgentHomesForCli();
318
318
  console.log(chalk.green(`\u2713 Claude config dir: ${describeAgentHome(homes.claudeConfigDir)}`));
319
319
  console.log(chalk.green(`\u2713 Codex home: ${describeAgentHome(homes.codexHome)}`));
@@ -1,12 +1,12 @@
1
1
  import chalk from 'chalk';
2
- import { c as configuration } from './configuration-DoWFJUPm.mjs';
3
- import { readSettings, readCredentials, readDaemonState } from './persistence-oET5n61f.mjs';
4
- import { c as checkIfDaemonRunningAndCleanupStaleState } from './controlClient-DjoKTtgK.mjs';
2
+ import { c as configuration } from './configuration-A5gW_0GE.mjs';
3
+ import { readSettings, readCredentials, readDaemonState } from './persistence-Cw8aLoyL.mjs';
4
+ import { c as checkIfDaemonRunningAndCleanupStaleState } from './controlClient-CYzHrh3e.mjs';
5
5
  import { findAllHappyProcesses } from './doctor-BPkYWSuq.mjs';
6
6
  import { statSync, realpathSync, existsSync, readdirSync } from 'node:fs';
7
7
  import { isAbsolute, resolve, dirname, basename, delimiter, join } from 'node:path';
8
8
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
9
- import { p as packageJson } from './package-uOg9SCKi.mjs';
9
+ import { p as packageJson } from './package-DQsvY1XN.mjs';
10
10
  import { s as shareableSettingsSummary, c as collectRuntimeReadiness, S as SUPPORTED_NODE_LABEL, r as resolveClaudeCredentialReadiness, a as toolProbeLabel, b as daemonReadiness, d as daemonEndpointsMatch } from './doctorReadiness-C208SMN9.mjs';
11
11
  import { c as credentialRelayProblem } from './authRelay-DSAvg1uv.mjs';
12
12
  import { d as deriveLocalCliUpdateSummary } from './cliUpdate-Y34VGe9Y.mjs';
@@ -310,8 +310,8 @@ ${typeLabels[type] || type}:`));
310
310
  }
311
311
  console.log(chalk.gray(" An external claude command is only needed for native terminal/mirror use."));
312
312
  try {
313
- const { resolveAgentHomesForCli } = await import('./agentHome-Ck1i1TQB.mjs');
314
- const { describeAgentHome } = await import('./index-SPGPenK5.mjs');
313
+ const { resolveAgentHomesForCli } = await import('./agentHome-DQrq_FG1.mjs');
314
+ const { describeAgentHome } = await import('./index-DK2JpTJf.mjs');
315
315
  const homes = await resolveAgentHomesForCli();
316
316
  console.log(chalk.green(`\u2713 Claude config dir: ${describeAgentHome(homes.claudeConfigDir)}`));
317
317
  console.log(chalk.green(`\u2713 Codex home: ${describeAgentHome(homes.codexHome)}`));
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-Bc8-u1w0.cjs');
4
- var controlClient = require('./controlClient-fEHE85bH.cjs');
5
- var spawnHappyCLI = require('./spawnHappyCLI-BhYj84rv.cjs');
6
- var persistence = require('./persistence-CBNMzSa8.cjs');
7
- var configuration = require('./configuration-v9f8LM9T.cjs');
3
+ var logger = require('./logger-7ucWm9wp.cjs');
4
+ var controlClient = require('./controlClient-BXktrQ4z.cjs');
5
+ var spawnHappyCLI = require('./spawnHappyCLI-BRdx0sAX.cjs');
6
+ var persistence = require('./persistence-i0nQMLlk.cjs');
7
+ var configuration = require('./configuration-UsI0sxEv.cjs');
8
8
  var doctorReadiness = require('./doctorReadiness-BCZGcN0a.cjs');
9
9
 
10
10
  function extractNoSandboxFlag(args) {
@@ -1,8 +1,8 @@
1
- import { l as logger } from './logger-fXoNzNuB.mjs';
2
- import { i as isDaemonRunningCurrentlyInstalledHappyVersion, c as checkIfDaemonRunningAndCleanupStaleState, a as stopDaemon } from './controlClient-DjoKTtgK.mjs';
3
- import { s as spawnHappyCLI } from './spawnHappyCLI-cqWQbwsb.mjs';
4
- import { readDaemonState } from './persistence-oET5n61f.mjs';
5
- import { c as configuration } from './configuration-DoWFJUPm.mjs';
1
+ import { l as logger } from './logger-CGE4C8ho.mjs';
2
+ import { i as isDaemonRunningCurrentlyInstalledHappyVersion, c as checkIfDaemonRunningAndCleanupStaleState, a as stopDaemon } from './controlClient-CYzHrh3e.mjs';
3
+ import { s as spawnHappyCLI } from './spawnHappyCLI-9mx4lPxh.mjs';
4
+ import { readDaemonState } from './persistence-Cw8aLoyL.mjs';
5
+ import { c as configuration } from './configuration-A5gW_0GE.mjs';
6
6
  import { d as daemonEndpointsMatch } from './doctorReadiness-C208SMN9.mjs';
7
7
 
8
8
  function extractNoSandboxFlag(args) {
@@ -1,24 +1,24 @@
1
1
  'use strict';
2
2
 
3
3
  var node_fs = require('node:fs');
4
- var spawnHappyCLI = require('./spawnHappyCLI-BhYj84rv.cjs');
4
+ var spawnHappyCLI = require('./spawnHappyCLI-BRdx0sAX.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-v9f8LM9T.cjs');
10
- var localHappyAgentAuth = require('./localHappyAgentAuth-BXiHPXdC.cjs');
9
+ var configuration = require('./configuration-UsI0sxEv.cjs');
10
+ var localHappyAgentAuth = require('./localHappyAgentAuth-l0Na-5Ys.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-Bc8-u1w0.cjs');
16
+ require('./logger-7ucWm9wp.cjs');
17
17
  require('chalk');
18
18
  require('node:util');
19
19
  require('node:crypto');
20
20
  require('node:os');
21
- require('./package-Cl5BEP5x.cjs');
21
+ require('./package-D1A-8ZJy.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-cqWQbwsb.mjs';
2
+ import { s as spawnHappyCLI } from './spawnHappyCLI-9mx4lPxh.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-DoWFJUPm.mjs';
8
- import { g as getLocalHappyAgentCredentialPath, r as readLocalHappyAgentCredentials } from './localHappyAgentAuth-DCsetiyG.mjs';
7
+ import { c as configuration } from './configuration-A5gW_0GE.mjs';
8
+ import { g as getLocalHappyAgentCredentialPath, r as readLocalHappyAgentCredentials } from './localHappyAgentAuth-CaCyKzYp.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-fXoNzNuB.mjs';
14
+ import './logger-CGE4C8ho.mjs';
15
15
  import 'chalk';
16
16
  import 'node:util';
17
17
  import 'node:crypto';
18
18
  import 'node:os';
19
- import './package-uOg9SCKi.mjs';
19
+ import './package-DQsvY1XN.mjs';
20
20
  import 'node:fs/promises';
21
21
 
22
22
  const ResumableMetadataSchema = z.object({