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
@@ -1,48 +1,50 @@
1
- import { l as logger } from './logger-fXoNzNuB.mjs';
2
- import { k as notifyDaemonSessionEvent, m as notifyDaemonClaudeAuthFailed } from './controlClient-DjoKTtgK.mjs';
3
- export { g as reportSessionEditToDaemon } from './controlClient-DjoKTtgK.mjs';
1
+ import { l as logger } from './logger-CGE4C8ho.mjs';
2
+ import { k as notifyDaemonSessionEvent, m as notifyDaemonClaudeAuthFailed } from './controlClient-CYzHrh3e.mjs';
3
+ export { g as reportSessionEditToDaemon } from './controlClient-CYzHrh3e.mjs';
4
4
  import { s as sameBackgroundTasks, c as createBackgroundTaskTracker } from './backgroundTaskActivity-8PdPxrvy.mjs';
5
5
  import { randomInt, randomUUID, createHash } from 'node:crypto';
6
6
  import { M as MessageBuffer } from './messageBuffer-BWlGgR3A.mjs';
7
7
  import { query } from './index-B6UGRQ7h.mjs';
8
8
  import { AbortError } from '@anthropic-ai/claude-agent-sdk';
9
9
  import { m as mapToClaudeMode, p as parseClaudePermissionMode, c as resolveRemoteClaudePermissionMode } from './permissionMode-CH4FoZfU.mjs';
10
- import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-DmtypUc7.mjs';
10
+ import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-DsQoUgQw.mjs';
11
11
  import { join, resolve, dirname } from 'node:path';
12
12
  import { p as parseSpecialCommand } from './specialCommands-BSqhYg5X.mjs';
13
13
  import 'axios';
14
14
  import 'node:events';
15
15
  import 'socket.io-client';
16
- import { A as AsyncLock } from './attachmentLimits-yba1uHFO.mjs';
16
+ import { A as AsyncLock } from './attachmentLimits-D5pgmASK.mjs';
17
17
  import 'tweetnacl';
18
- import { c as configuration, e as ensurePrivateDirectory } from './configuration-DoWFJUPm.mjs';
19
- import './index-qdS1friN.mjs';
20
- import './registerCommonHandlers-CrgvJsOy.mjs';
18
+ import { c as configuration, e as ensurePrivateDirectory } from './configuration-A5gW_0GE.mjs';
19
+ import './index-BBg9j0XK.mjs';
20
+ import './registerCommonHandlers-Ckv5boQI.mjs';
21
21
  import 'os';
22
22
  import 'child_process';
23
23
  import '@paralleldrive/cuid2';
24
- import './persistence-oET5n61f.mjs';
24
+ import './persistence-Cw8aLoyL.mjs';
25
25
  import { c as contentLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
26
26
  import 'chalk';
27
27
  export { R as RawJSONLinesSchema } from './types-CkqAACXx.mjs';
28
28
  import { g as getProjectPath } from './path-D2wdaNSk.mjs';
29
29
  import { access } from 'fs/promises';
30
- import { d as delay } from './time-BZNdNiIV.mjs';
30
+ import { d as delay } from './time-CVvxdEDh.mjs';
31
31
  import { mkdirSync, writeFileSync, readFileSync, unlinkSync, renameSync, statSync, existsSync } from 'node:fs';
32
- import { h as hashObject, i as isSelfReportFresh } from './deterministicJson-p835AdAU.mjs';
33
- export { c as createSelfReportState, s as startHappyServer } from './deterministicJson-p835AdAU.mjs';
34
- import { F as Future } from './sessionScanner-CaAHLyNV.mjs';
35
- export { c as createSessionScanner } from './sessionScanner-CaAHLyNV.mjs';
32
+ import { h as hashObject, i as isSelfReportFresh } from './deterministicJson-DiR7EOMO.mjs';
33
+ export { c as createSelfReportState, s as startHappyServer } from './deterministicJson-DiR7EOMO.mjs';
34
+ import { F as Future } from './sessionScanner-Cdukzo70.mjs';
35
+ export { c as createSessionScanner } from './sessionScanner-Cdukzo70.mjs';
36
36
  import { execSync } from 'node:child_process';
37
- import { S as StreamRelay } from './streamRelay-FPVbHpbM.mjs';
38
- import { C as CLAUDE_ATTACHMENT_KINDS, c as chatAttachmentDirectory, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-CSGxr71v.mjs';
39
- export { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-Cbc8Rgtd.mjs';
40
- export { g as getEnvironmentInfo } from './doctor-BeUuQXFs.mjs';
37
+ import { S as StreamRelay } from './streamRelay-BLgU9X3R.mjs';
38
+ import { C as CLAUDE_ATTACHMENT_KINDS, c as chatAttachmentDirectory, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-s1xPha4Q.mjs';
39
+ import { readFile, writeFile, rename, unlink } from 'node:fs/promises';
40
+ import { F as ForkSourceMissingError } from './claudeSessionFork-_DUrXaqd.mjs';
41
+ export { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-Cll4-o8Y.mjs';
42
+ export { g as getEnvironmentInfo } from './doctor-FuCvKdRa.mjs';
41
43
  import { createServer } from 'node:http';
42
44
  export { E as EditReportThrottle, b as extractClaudeEditPaths } from './editPaths-BVfS_FFL.mjs';
43
45
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
44
- import { r as resolveClaudeBinary, a as runClaudeOneShot } from './titleGenerator-ox6ptCsp.mjs';
45
- export { T as TitleGenerator } from './titleGenerator-ox6ptCsp.mjs';
46
+ import { r as resolveClaudeBinary, a as runClaudeOneShot } from './titleGenerator-B4AW3dLr.mjs';
47
+ export { T as TitleGenerator } from './titleGenerator-B4AW3dLr.mjs';
46
48
  import { B as BOARD_ANALYZER_PROMPT_PREFIX } from './oneShotPrompts-DT4p6RNd.mjs';
47
49
  import 'node:util';
48
50
  import './smallFastModel-BLNgMrwR.mjs';
@@ -50,34 +52,34 @@ import './trimIdent-BAjmv_TG.mjs';
50
52
  import 'node:os';
51
53
  import './agentGuidance-CQuNlNx8.mjs';
52
54
  import 'zod';
53
- import './package-uOg9SCKi.mjs';
54
- import 'node:fs/promises';
55
+ import './package-DQsvY1XN.mjs';
55
56
  import 'util';
56
57
  import 'crypto';
57
58
  import 'path';
58
59
  import 'cross-spawn';
59
60
  import './authRelay-DSAvg1uv.mjs';
60
- import './client-Brn-UwVk.mjs';
61
- import './context-C9GHPLEm.mjs';
62
- import './sessionOps-C_f1wKOr.mjs';
61
+ import './client-Dk7x-s-O.mjs';
62
+ import './context-BXnxalWW.mjs';
63
+ import './sessionOps-CdwVPSZz.mjs';
63
64
  import './resources-BdFBQi8r.mjs';
64
- import './tools-BmQQUATY.mjs';
65
- import './tools-BZabNIid.mjs';
66
- import './client-CXb1VJui.mjs';
67
- import './peerTools-Dz3_7Bkk.mjs';
65
+ import './tools-_kFe4m_l.mjs';
66
+ import './tools-BA1qkiV1.mjs';
67
+ import './client-DwqHDsLb.mjs';
68
+ import './peerTools-D19hhSQF.mjs';
68
69
  import './ids-DU6sLx4C.mjs';
69
- import './remoteSessionClient-CO7qOjR0.mjs';
70
+ import './remoteSessionClient-BMjsbuBh.mjs';
70
71
  import '@modelcontextprotocol/sdk/server/mcp.js';
71
72
  import '@modelcontextprotocol/sdk/server/streamableHttp.js';
72
73
  import './limits-DIo7rEBR.mjs';
73
- import './assistantTools-CgiTbnWb.mjs';
74
+ import './assistantTools-mEz6uNqL.mjs';
74
75
  import './terminals-Dlg0x3nY.mjs';
75
76
  import './terminalTitleSuggest-CeKsX_V6.mjs';
76
77
  import './tmuxSocket-B8Yx20sT.mjs';
77
- import './bootstrap-BNQq05jR.mjs';
78
+ import './bootstrap-BKmsYSwh.mjs';
78
79
  import './previewPath-CXN4Vag0.mjs';
79
- import './sync-CxD-w_40.mjs';
80
- import './startFileWatcher-CdegMbJj.mjs';
80
+ import './sync-BpLasLu2.mjs';
81
+ import './startFileWatcher-COD5UKNs.mjs';
82
+ import 'node:readline';
81
83
  import './doctor-BPkYWSuq.mjs';
82
84
  import 'ps-list';
83
85
  import './doctorReadiness-C208SMN9.mjs';
@@ -989,6 +991,10 @@ function withTimeout(promise, ms) {
989
991
  if (timer) clearTimeout(timer);
990
992
  });
991
993
  }
994
+ const PROMPT_UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
995
+ function promptUuid(uuid) {
996
+ return uuid && PROMPT_UUID_RE.test(uuid) ? { uuid } : {};
997
+ }
992
998
  async function claudeRemote(opts) {
993
999
  let startFrom = opts.sessionId;
994
1000
  if (opts.sessionId && !claudeCheckSession(opts.sessionId, opts.path)) {
@@ -1241,6 +1247,7 @@ async function claudeRemote(opts) {
1241
1247
  type: "user",
1242
1248
  parent_tool_use_id: null,
1243
1249
  origin: { kind: "human" },
1250
+ ...promptUuid(initial.uuid),
1244
1251
  message: {
1245
1252
  role: "user",
1246
1253
  content: initial.message
@@ -1429,6 +1436,7 @@ async function claudeRemote(opts) {
1429
1436
  type: "user",
1430
1437
  parent_tool_use_id: null,
1431
1438
  origin: { kind: "human" },
1439
+ ...promptUuid(next.uuid),
1432
1440
  message: { role: "user", content: next.message }
1433
1441
  });
1434
1442
  }).catch(() => {
@@ -2806,6 +2814,146 @@ class LaunchModeGate {
2806
2814
  }
2807
2815
  }
2808
2816
 
2817
+ class ConversationRewindError extends Error {
2818
+ constructor(code, message) {
2819
+ super(message);
2820
+ this.code = code;
2821
+ this.name = "ConversationRewindError";
2822
+ }
2823
+ }
2824
+ function transcriptPromptText(parsed) {
2825
+ if (parsed?.type !== "user" || parsed.isSidechain || parsed.isMeta || parsed.isSynthetic) return null;
2826
+ const content = parsed.message?.content;
2827
+ if (typeof content === "string") return content.trim() ? content : null;
2828
+ if (!Array.isArray(content) || content.some((block) => block?.type === "tool_result")) return null;
2829
+ const text = content.filter((block) => block?.type === "text" && typeof block.text === "string").map((block) => block.text).join("\n");
2830
+ if (!text.trim()) return content.length > 0 ? "" : null;
2831
+ return text;
2832
+ }
2833
+ function isConversationEntry(parsed) {
2834
+ return !parsed?.isSidechain && !parsed?.isMeta && !parsed?.isSynthetic && (parsed?.type === "user" || parsed?.type === "assistant");
2835
+ }
2836
+ function resolveRewindTarget(entries, target) {
2837
+ for (const uuid of target.uuids) {
2838
+ const index = entries.findIndex((entry) => entry.parsed?.uuid === uuid && transcriptPromptText(entry.parsed) !== null);
2839
+ if (index >= 0) return index;
2840
+ }
2841
+ const wanted = target.text?.trim();
2842
+ if (!wanted) throw new ConversationRewindError("not-found", "This message is not in the agent conversation");
2843
+ const matches = [];
2844
+ entries.forEach((entry, index) => {
2845
+ if (transcriptPromptText(entry.parsed)?.trim() === wanted) matches.push(index);
2846
+ });
2847
+ if (matches.length === 1) return matches[0];
2848
+ if (matches.length === 0) throw new ConversationRewindError("not-found", "This message is not in the agent conversation");
2849
+ throw new ConversationRewindError("ambiguous", "Several earlier messages have the same text; cannot tell which one to change");
2850
+ }
2851
+ function rewindTranscriptLines(lines, action, target) {
2852
+ const entries = [];
2853
+ for (const line of lines) {
2854
+ if (!line) continue;
2855
+ let parsed = null;
2856
+ try {
2857
+ parsed = JSON.parse(line);
2858
+ } catch {
2859
+ }
2860
+ entries.push({ line, parsed });
2861
+ }
2862
+ const cut = resolveRewindTarget(entries, target);
2863
+ let end = entries.length;
2864
+ for (let i = cut + 1; i < entries.length; i++) {
2865
+ if (transcriptPromptText(entries[i].parsed) !== null) {
2866
+ end = i;
2867
+ break;
2868
+ }
2869
+ }
2870
+ const before = entries.slice(0, cut);
2871
+ const after = action === "delete" ? entries.slice(end) : [];
2872
+ if (![...before, ...after].some((entry) => isConversationEntry(entry.parsed))) return null;
2873
+ if (before.some((entry) => isConversationEntry(entry.parsed)) && !before.some((entry) => transcriptPromptText(entry.parsed) !== null)) {
2874
+ throw new ConversationRewindError("unsafe", "Cannot safely rewind: earlier history has no user prompt");
2875
+ }
2876
+ if (after.length === 0) return before.map((entry) => entry.line);
2877
+ const dropped = /* @__PURE__ */ new Set();
2878
+ for (const entry of entries.slice(cut, end)) {
2879
+ if (typeof entry.parsed?.uuid === "string") dropped.add(entry.parsed.uuid);
2880
+ }
2881
+ const reparentTo = typeof entries[cut].parsed?.parentUuid === "string" ? entries[cut].parsed.parentUuid : null;
2882
+ const relinked = after.map((entry) => {
2883
+ const parsed = entry.parsed;
2884
+ if (!parsed || typeof parsed !== "object") return entry.line;
2885
+ let next = parsed;
2886
+ for (const key of ["parentUuid", "logicalParentUuid"]) {
2887
+ if (typeof parsed[key] === "string" && dropped.has(parsed[key])) {
2888
+ next = next === parsed ? { ...parsed } : next;
2889
+ next[key] = reparentTo;
2890
+ }
2891
+ }
2892
+ return next === parsed ? entry.line : JSON.stringify(next);
2893
+ });
2894
+ return [...before.map((entry) => entry.line), ...relinked];
2895
+ }
2896
+ async function rewindClaudeTranscript(projectDir, claudeSessionId, action, target) {
2897
+ const source = join(projectDir, `${claudeSessionId}.jsonl`);
2898
+ let raw;
2899
+ try {
2900
+ raw = await readFile(source, "utf-8");
2901
+ } catch (error) {
2902
+ if (error.code === "ENOENT") throw new ForkSourceMissingError(source);
2903
+ throw error;
2904
+ }
2905
+ const kept = rewindTranscriptLines(raw.split("\n"), action, target);
2906
+ if (kept === null) return null;
2907
+ const newId = randomUUID();
2908
+ const destination = join(projectDir, `${newId}.jsonl`);
2909
+ const temporary = `${destination}.tmp-${process.pid}`;
2910
+ try {
2911
+ await writeFile(temporary, kept.join("\n") + "\n", { encoding: "utf-8", flag: "wx" });
2912
+ await rename(temporary, destination);
2913
+ } catch (error) {
2914
+ await unlink(temporary).catch(() => void 0);
2915
+ throw error;
2916
+ }
2917
+ return newId;
2918
+ }
2919
+
2920
+ const STOP_WAIT_MS = 8e3;
2921
+ function createConversationRewind(deps) {
2922
+ let inFlight = false;
2923
+ const rewrite = deps.rewrite ?? rewindClaudeTranscript;
2924
+ return async (input) => {
2925
+ const request = input && typeof input === "object" ? input : {};
2926
+ const action = request.action;
2927
+ const sourceId = typeof request.sourceId === "string" && request.sourceId.length > 0 && request.sourceId.length <= 200 ? request.sourceId : void 0;
2928
+ const text = typeof request.text === "string" && request.text.length <= 2e5 ? request.text : void 0;
2929
+ if (action !== "edit" && action !== "delete" || !sourceId && !text?.trim()) {
2930
+ return { ok: false, code: "invalid", error: "Invalid rewind request" };
2931
+ }
2932
+ if (inFlight) return { ok: false, code: "busy", error: "Another edit is still being applied" };
2933
+ inFlight = true;
2934
+ try {
2935
+ if (deps.isThinking()) {
2936
+ await deps.stopTurn();
2937
+ if (!await deps.waitIdle(STOP_WAIT_MS)) {
2938
+ return { ok: false, code: "running", error: "The agent did not stop; try again after it finishes" };
2939
+ }
2940
+ }
2941
+ const current = deps.claudeSessionId();
2942
+ if (!current) return { ok: false, code: "no-conversation", error: "The agent has no conversation to change yet" };
2943
+ const uuids = sourceId ? [sourceId, ...deps.aliases(sourceId)] : [];
2944
+ const next = await rewrite(deps.projectDir(), current, action, { uuids, text });
2945
+ await deps.switchConversation(next);
2946
+ return { ok: true, action, freshConversation: next === null };
2947
+ } catch (error) {
2948
+ if (error instanceof ConversationRewindError) return { ok: false, code: error.code, error: error.message };
2949
+ if (error instanceof ForkSourceMissingError) return { ok: false, code: "no-conversation", error: "The agent conversation file is missing on this machine" };
2950
+ throw error;
2951
+ } finally {
2952
+ inFlight = false;
2953
+ }
2954
+ };
2955
+ }
2956
+
2809
2957
  const ABORT_INTERRUPT_GRACE_MS = 4e3;
2810
2958
  async function claudeRemoteLauncher(session, onPermissionModeChange, onEffectivePermissionMode, onPromptFinalized) {
2811
2959
  logger.debug("[claudeRemoteLauncher] Starting remote launcher");
@@ -2900,6 +3048,31 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
2900
3048
  await turnSteering.steer();
2901
3049
  });
2902
3050
  session.client.rpcHandlerManager.registerHandler("switch", doSwitch);
3051
+ const promptAliases = /* @__PURE__ */ new Map();
3052
+ const promptUuidFor = (sourceIds) => {
3053
+ const [first, ...rest] = sourceIds ?? [];
3054
+ if (first) for (const id of rest) promptAliases.set(id, first);
3055
+ if (promptAliases.size > 2e3) promptAliases.delete(promptAliases.keys().next().value);
3056
+ return first;
3057
+ };
3058
+ let silentRelaunch = false;
3059
+ session.client.rpcHandlerManager.registerHandler("conversation-rewind", createConversationRewind({
3060
+ claudeSessionId: () => session.sessionId,
3061
+ projectDir: () => getProjectPath(session.path),
3062
+ isThinking: () => session.thinking,
3063
+ stopTurn: doAbort,
3064
+ waitIdle: waitForThinkingToStop,
3065
+ aliases: (sourceId) => {
3066
+ const alias = promptAliases.get(sourceId);
3067
+ return alias ? [alias] : [];
3068
+ },
3069
+ switchConversation: async (claudeSessionId) => {
3070
+ if (claudeSessionId) session.onSessionFound(claudeSessionId);
3071
+ else session.clearSessionId();
3072
+ silentRelaunch = true;
3073
+ await abort();
3074
+ }
3075
+ }));
2903
3076
  let livePermissionModeHandler = null;
2904
3077
  let idlePermissionModeHandler = null;
2905
3078
  session.client.rpcHandlerManager.registerHandler(
@@ -3123,7 +3296,8 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
3123
3296
  }) : [];
3124
3297
  modeGate.park({
3125
3298
  message: parkedStaged.length > 0 ? appendStagedAttachmentsToPrompt(msg.message, parkedStaged) : msg.message,
3126
- mode: msg.mode
3299
+ mode: msg.mode,
3300
+ uuid: promptUuidFor(msg.sourceIds)
3127
3301
  });
3128
3302
  return null;
3129
3303
  }
@@ -3141,14 +3315,16 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
3141
3315
  return {
3142
3316
  message: withAttachments,
3143
3317
  mode: msg.mode,
3144
- enqueuedAt: msg.enqueuedAt
3318
+ enqueuedAt: msg.enqueuedAt,
3319
+ uuid: promptUuidFor(msg.sourceIds)
3145
3320
  };
3146
3321
  }
3147
3322
  onPromptFinalized?.(msg.message);
3148
3323
  return {
3149
3324
  message: msg.message,
3150
3325
  mode: msg.mode,
3151
- enqueuedAt: msg.enqueuedAt
3326
+ enqueuedAt: msg.enqueuedAt,
3327
+ uuid: promptUuidFor(msg.sourceIds)
3152
3328
  };
3153
3329
  }
3154
3330
  return null;
@@ -3249,7 +3425,7 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
3249
3425
  signal: abortController.signal
3250
3426
  });
3251
3427
  session.consumeOneTimeFlags();
3252
- if (!exitReason && abortController.signal.aborted) {
3428
+ if (!exitReason && abortController.signal.aborted && !silentRelaunch) {
3253
3429
  session.client.closeClaudeSessionTurn("cancelled");
3254
3430
  session.client.sendSessionEvent({ type: "message", message: "Aborted by user" });
3255
3431
  }
@@ -3292,6 +3468,7 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
3292
3468
  streamRelay.endTurn();
3293
3469
  streamRelay.dispose();
3294
3470
  abortController = null;
3471
+ silentRelaunch = false;
3295
3472
  abortFuture?.resolve(void 0);
3296
3473
  abortFuture = null;
3297
3474
  logger.debug("[remote]: launch done");
@@ -3349,7 +3526,7 @@ async function loop(opts) {
3349
3526
  logger.debug(`[loop] Iteration with mode: ${mode}`);
3350
3527
  switch (mode) {
3351
3528
  case "local": {
3352
- const { claudeLocalLauncher } = await import('./claudeLocalLauncher-CDqQI9ak.mjs');
3529
+ const { claudeLocalLauncher } = await import('./claudeLocalLauncher-BFfGT4eY.mjs');
3353
3530
  const result = await claudeLocalLauncher(session);
3354
3531
  switch (result.type) {
3355
3532
  case "switch":
@@ -4,75 +4,75 @@ var ink = require('ink');
4
4
  var React = require('react');
5
5
  var node_crypto = require('node:crypto');
6
6
  var path = require('node:path');
7
- var api = require('./api-B2vLMS-z.cjs');
8
- var logger = require('./logger-Bc8-u1w0.cjs');
9
- var persistence = require('./persistence-CBNMzSa8.cjs');
10
- var createSessionMetadata = require('./createSessionMetadata-BRLB9CNO.cjs');
7
+ var api = require('./api-CQnLOqRS.cjs');
8
+ var logger = require('./logger-7ucWm9wp.cjs');
9
+ var persistence = require('./persistence-i0nQMLlk.cjs');
10
+ var createSessionMetadata = require('./createSessionMetadata-EX1eAlHx.cjs');
11
11
  var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
12
- var machineMetadata = require('./machineMetadata-BibDMFVx.cjs');
13
- var registerKillSessionHandler = require('./registerKillSessionHandler-6TC2S3lf.cjs');
14
- var deterministicJson = require('./deterministicJson-DKDP_mM-.cjs');
12
+ var machineMetadata = require('./machineMetadata-lMPtpF16.cjs');
13
+ var registerKillSessionHandler = require('./registerKillSessionHandler-CA9-oelM.cjs');
14
+ var deterministicJson = require('./deterministicJson-eha_oMZ2.cjs');
15
15
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
16
16
  var messageBuffer = require('./messageBuffer-fJMH6uY8.cjs');
17
- var controlClient = require('./controlClient-fEHE85bH.cjs');
17
+ var controlClient = require('./controlClient-BXktrQ4z.cjs');
18
18
  var authRelay = require('./authRelay-BdYkC1Po.cjs');
19
- var setupOfflineReconnection = require('./setupOfflineReconnection-R7XuR_sj.cjs');
20
- var AcpBackend = require('./AcpBackend-Ba98QDif.cjs');
19
+ var setupOfflineReconnection = require('./setupOfflineReconnection-CFwltTcP.cjs');
20
+ var AcpBackend = require('./AcpBackend-9asD_DL7.cjs');
21
21
  var constants = require('./constants-VJ0N6WuG.cjs');
22
- var config = require('./config-CYpL1Ahd.cjs');
23
- var BasePermissionHandler = require('./BasePermissionHandler-2R0uH2CI.cjs');
24
- var BaseReasoningProcessor = require('./BaseReasoningProcessor-fsVNmCEF.cjs');
22
+ var config = require('./config-Btd4B05_.cjs');
23
+ var BasePermissionHandler = require('./BasePermissionHandler-D4B-NNu2.cjs');
24
+ var BaseReasoningProcessor = require('./BaseReasoningProcessor-CqLl-ikP.cjs');
25
25
  require('axios');
26
26
  require('node:events');
27
27
  require('socket.io-client');
28
- require('./attachmentLimits-CzVrqgLR.cjs');
28
+ require('./attachmentLimits-DzlBPyJP.cjs');
29
29
  require('zod');
30
- require('./index-DA7yINuk.cjs');
30
+ require('./index-DJ-oV52i.cjs');
31
31
  require('@paralleldrive/cuid2');
32
32
  require('./limits-C-a7gr04.cjs');
33
- require('./time-CNRE4ChD.cjs');
34
- require('./lidState-KHHu1015.cjs');
33
+ require('./time-CLwVAz6s.cjs');
34
+ require('./lidState-Ds-6ytZV.cjs');
35
35
  require('os');
36
36
  require('child_process');
37
- require('./configuration-v9f8LM9T.cjs');
37
+ require('./configuration-UsI0sxEv.cjs');
38
38
  require('node:fs');
39
39
  require('node:os');
40
- require('./package-Cl5BEP5x.cjs');
40
+ require('./package-D1A-8ZJy.cjs');
41
41
  require('node:fs/promises');
42
- require('./registerCommonHandlers-BjSV2Skz.cjs');
42
+ require('./registerCommonHandlers-CMROPdJz.cjs');
43
43
  require('util');
44
44
  require('fs/promises');
45
45
  require('crypto');
46
46
  require('path');
47
47
  require('cross-spawn');
48
- require('./sync-CVk4QERO.cjs');
48
+ require('./sync-Dj92ZJ8Y.cjs');
49
49
  require('./backgroundTaskActivity-CBvUdj39.cjs');
50
50
  require('chalk');
51
51
  require('node:util');
52
52
  require('tweetnacl');
53
53
  require('./detectCLI-DR9ZaN6B.cjs');
54
54
  require('fs');
55
- require('./localHappyAgentAuth-BXiHPXdC.cjs');
55
+ require('./localHappyAgentAuth-l0Na-5Ys.cjs');
56
56
  require('./types-CRS-srZK.cjs');
57
- require('./client-C_axwRry.cjs');
58
- require('./context-B45vMtSZ.cjs');
59
- require('./sessionOps-DJdExmBy.cjs');
57
+ require('./client-DiBTHWNU.cjs');
58
+ require('./context-0FjjA4vJ.cjs');
59
+ require('./sessionOps-GsELm2PZ.cjs');
60
60
  require('./resources-JDPugcDq.cjs');
61
- require('./tools-lMDra4Pv.cjs');
62
- require('./tools-CsSovyNp.cjs');
63
- require('./client-DOBWJL3u.cjs');
64
- require('./peerTools-CIeiy9wn.cjs');
61
+ require('./tools-O5beDK-s.cjs');
62
+ require('./tools-CGxq3I52.cjs');
63
+ require('./client-CVQJWqjx.cjs');
64
+ require('./peerTools-DLwNaEEV.cjs');
65
65
  require('./ids-B6ZC0HGt.cjs');
66
- require('./remoteSessionClient-BNx78NLb.cjs');
66
+ require('./remoteSessionClient-DX9jHLeW.cjs');
67
67
  require('@modelcontextprotocol/sdk/server/mcp.js');
68
68
  require('node:http');
69
69
  require('@modelcontextprotocol/sdk/server/streamableHttp.js');
70
- require('./assistantTools-BfA0R3_m.cjs');
70
+ require('./assistantTools-CwESq24n.cjs');
71
71
  require('./terminals-B_bfC9c2.cjs');
72
72
  require('node:child_process');
73
73
  require('./terminalTitleSuggest-DhvRFX3H.cjs');
74
74
  require('./tmuxSocket-D-Xt6Vn-.cjs');
75
- require('./bootstrap-CkgIq8N3.cjs');
75
+ require('./bootstrap-DvZjEa9_.cjs');
76
76
  require('./agentGuidance-B5NATuFa.cjs');
77
77
  require('./trimIdent-4gvk9Wk6.cjs');
78
78
  require('./previewPath-B0rBdhy1.cjs');
@@ -2,75 +2,75 @@ import { useStdout, useInput, Box, Text, render } from 'ink';
2
2
  import React, { useState, useRef, useEffect, useCallback } from 'react';
3
3
  import { randomUUID } from 'node:crypto';
4
4
  import { join } from 'node:path';
5
- import { c as connectionState, A as ApiClient } from './api-SffjRQ1b.mjs';
6
- import { l as logger } from './logger-fXoNzNuB.mjs';
7
- import { readSettings } from './persistence-oET5n61f.mjs';
8
- import { c as createSessionMetadata } from './createSessionMetadata-mIeehclp.mjs';
5
+ import { c as connectionState, A as ApiClient } from './api-D57dsd6_.mjs';
6
+ import { l as logger } from './logger-CGE4C8ho.mjs';
7
+ import { readSettings } from './persistence-Cw8aLoyL.mjs';
8
+ import { c as createSessionMetadata } from './createSessionMetadata-Dyg33ZlU.mjs';
9
9
  import { e as errorLogMetadata, c as contentLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
10
- import { g as getInitialMachineMetadata } from './machineMetadata-BHjehxJY.mjs';
11
- import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-Cbc8Rgtd.mjs';
12
- import { h as hashObject, s as startHappyServer } from './deterministicJson-p835AdAU.mjs';
10
+ import { g as getInitialMachineMetadata } from './machineMetadata-ue1nkowa.mjs';
11
+ import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-Cll4-o8Y.mjs';
12
+ import { h as hashObject, s as startHappyServer } from './deterministicJson-DiR7EOMO.mjs';
13
13
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
14
14
  import { M as MessageBuffer } from './messageBuffer-BWlGgR3A.mjs';
15
- import { n as notifyDaemonSessionStarted } from './controlClient-DjoKTtgK.mjs';
15
+ import { n as notifyDaemonSessionStarted } from './controlClient-CYzHrh3e.mjs';
16
16
  import { e as encodeBase64 } from './authRelay-DSAvg1uv.mjs';
17
- import { s as setupOfflineReconnection } from './setupOfflineReconnection-CVViqZft.mjs';
18
- import { A as AcpBackend } from './AcpBackend-6U6pQgx1.mjs';
17
+ import { s as setupOfflineReconnection } from './setupOfflineReconnection-DiQma2Cc.mjs';
18
+ import { A as AcpBackend } from './AcpBackend--TmFHgRH.mjs';
19
19
  import { a as GEMINI_API_KEY_ENV, b as GOOGLE_API_KEY_ENV, G as GEMINI_MODEL_ENV, C as CHANGE_TITLE_INSTRUCTION } from './constants-BC4St0xd.mjs';
20
- import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-BglnktIo.mjs';
21
- import { B as BasePermissionHandler } from './BasePermissionHandler-BvvhBTja.mjs';
22
- import { B as BaseReasoningProcessor } from './BaseReasoningProcessor-DyhO1uoU.mjs';
20
+ import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-CSOG_ZcP.mjs';
21
+ import { B as BasePermissionHandler } from './BasePermissionHandler-DUBySe0f.mjs';
22
+ import { B as BaseReasoningProcessor } from './BaseReasoningProcessor-9TybUGTq.mjs';
23
23
  import 'axios';
24
24
  import 'node:events';
25
25
  import 'socket.io-client';
26
- import './attachmentLimits-yba1uHFO.mjs';
26
+ import './attachmentLimits-D5pgmASK.mjs';
27
27
  import 'zod';
28
- import './index-qdS1friN.mjs';
28
+ import './index-BBg9j0XK.mjs';
29
29
  import '@paralleldrive/cuid2';
30
30
  import './limits-DIo7rEBR.mjs';
31
- import './time-BZNdNiIV.mjs';
32
- import './lidState-C2dI0FAN.mjs';
31
+ import './time-CVvxdEDh.mjs';
32
+ import './lidState-CigXWxhe.mjs';
33
33
  import 'os';
34
34
  import 'child_process';
35
- import './configuration-DoWFJUPm.mjs';
35
+ import './configuration-A5gW_0GE.mjs';
36
36
  import 'node:fs';
37
37
  import 'node:os';
38
- import './package-uOg9SCKi.mjs';
38
+ import './package-DQsvY1XN.mjs';
39
39
  import 'node:fs/promises';
40
- import './registerCommonHandlers-CrgvJsOy.mjs';
40
+ import './registerCommonHandlers-Ckv5boQI.mjs';
41
41
  import 'util';
42
42
  import 'fs/promises';
43
43
  import 'crypto';
44
44
  import 'path';
45
45
  import 'cross-spawn';
46
- import './sync-CxD-w_40.mjs';
46
+ import './sync-BpLasLu2.mjs';
47
47
  import './backgroundTaskActivity-8PdPxrvy.mjs';
48
48
  import 'chalk';
49
49
  import 'node:util';
50
50
  import 'tweetnacl';
51
51
  import './detectCLI-CSGMlV51.mjs';
52
52
  import 'fs';
53
- import './localHappyAgentAuth-DCsetiyG.mjs';
53
+ import './localHappyAgentAuth-CaCyKzYp.mjs';
54
54
  import './types-CkqAACXx.mjs';
55
- import './client-Brn-UwVk.mjs';
56
- import './context-C9GHPLEm.mjs';
57
- import './sessionOps-C_f1wKOr.mjs';
55
+ import './client-Dk7x-s-O.mjs';
56
+ import './context-BXnxalWW.mjs';
57
+ import './sessionOps-CdwVPSZz.mjs';
58
58
  import './resources-BdFBQi8r.mjs';
59
- import './tools-BmQQUATY.mjs';
60
- import './tools-BZabNIid.mjs';
61
- import './client-CXb1VJui.mjs';
62
- import './peerTools-Dz3_7Bkk.mjs';
59
+ import './tools-_kFe4m_l.mjs';
60
+ import './tools-BA1qkiV1.mjs';
61
+ import './client-DwqHDsLb.mjs';
62
+ import './peerTools-D19hhSQF.mjs';
63
63
  import './ids-DU6sLx4C.mjs';
64
- import './remoteSessionClient-CO7qOjR0.mjs';
64
+ import './remoteSessionClient-BMjsbuBh.mjs';
65
65
  import '@modelcontextprotocol/sdk/server/mcp.js';
66
66
  import 'node:http';
67
67
  import '@modelcontextprotocol/sdk/server/streamableHttp.js';
68
- import './assistantTools-CgiTbnWb.mjs';
68
+ import './assistantTools-mEz6uNqL.mjs';
69
69
  import './terminals-Dlg0x3nY.mjs';
70
70
  import 'node:child_process';
71
71
  import './terminalTitleSuggest-CeKsX_V6.mjs';
72
72
  import './tmuxSocket-B8Yx20sT.mjs';
73
- import './bootstrap-BNQq05jR.mjs';
73
+ import './bootstrap-BKmsYSwh.mjs';
74
74
  import './agentGuidance-CQuNlNx8.mjs';
75
75
  import './trimIdent-BAjmv_TG.mjs';
76
76
  import './previewPath-CXN4Vag0.mjs';