very-happy-cli 0.2.162 → 0.2.164
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AcpBackend--TmFHgRH.mjs → AcpBackend-B8l1ZePt.mjs} +3 -3
- package/dist/{AcpBackend-9asD_DL7.cjs → AcpBackend-CHDqSii9.cjs} +3 -3
- package/dist/{AcpSessionManager-BvIuBzoO.cjs → AcpSessionManager-9yN2iH4b.cjs} +1 -1
- package/dist/{AcpSessionManager-BSIBnWUb.mjs → AcpSessionManager-BQnDJvct.mjs} +1 -1
- package/dist/{BasePermissionHandler-D4B-NNu2.cjs → BasePermissionHandler-DGQYvBPg.cjs} +1 -1
- package/dist/{BasePermissionHandler-DUBySe0f.mjs → BasePermissionHandler-DgtAtJTV.mjs} +1 -1
- package/dist/{BaseReasoningProcessor-CqLl-ikP.cjs → BaseReasoningProcessor-BqalZhQO.cjs} +1 -1
- package/dist/{BaseReasoningProcessor-9TybUGTq.mjs → BaseReasoningProcessor-Dfacnfhj.mjs} +1 -1
- package/dist/{agentHome-DQrq_FG1.mjs → agentHome-DM0urHEI.mjs} +4 -4
- package/dist/{agentHome-BohNUYnE.cjs → agentHome-DtsPKfTS.cjs} +4 -4
- package/dist/{api-CQnLOqRS.cjs → api-EKlS0r1w.cjs} +57 -15
- package/dist/{api-D57dsd6_.mjs → api-Yoh_zKdR.mjs} +57 -15
- package/dist/{apiMachine-fFFaWxYy.cjs → apiMachine-q71suojS.cjs} +20 -17
- package/dist/{apiMachine-78Aqzg--.mjs → apiMachine-s3HiV-SL.mjs} +20 -17
- package/dist/{assistantTools-mEz6uNqL.mjs → assistantTools-BWfAV349.mjs} +6 -6
- package/dist/{assistantTools-CwESq24n.cjs → assistantTools-D3cZvgUX.cjs} +6 -6
- package/dist/{attachmentContent-s1xPha4Q.mjs → attachmentContent-BLyyo1al.mjs} +2 -2
- package/dist/{attachmentContent-GHOk6Muq.cjs → attachmentContent-Bakb0XV3.cjs} +2 -2
- package/dist/{attachmentLimits-D5pgmASK.mjs → attachmentLimits-B8nzhw-i.mjs} +1 -1
- package/dist/{attachmentLimits-DzlBPyJP.cjs → attachmentLimits-eJZ4ZBjF.cjs} +1 -1
- package/dist/{auth-BOaHWquu.mjs → auth-BTfv8yW0.mjs} +8 -8
- package/dist/{auth-BbSdXMQ_.cjs → auth-Cn3dQInF.cjs} +5 -5
- package/dist/{auth-C8V7-oUT.mjs → auth-Cxhx5evk.mjs} +5 -5
- package/dist/{auth-B8EagV6G.cjs → auth-Hpg4Yxfa.cjs} +8 -8
- package/dist/{auto-CWDOX35m.mjs → auto-BAAEVGZa.mjs} +15 -14
- package/dist/{auto-Bw_h0yVc.cjs → auto-CK8irHum.cjs} +15 -14
- package/dist/{bootstrap-BKmsYSwh.mjs → bootstrap-CTNjn_aj.mjs} +2 -2
- package/dist/{bootstrap-DvZjEa9_.cjs → bootstrap-D9SUykG_.cjs} +2 -2
- package/dist/{browser-CBZj-1Wx.cjs → browser-C8ztaIkm.cjs} +1 -1
- package/dist/{browser-CrMAr5fI.mjs → browser-DydXWySF.mjs} +1 -1
- package/dist/{claudeLocal-dhdlcQ6F.mjs → claudeLocal-CdJJovWq.mjs} +5 -5
- package/dist/{claudeLocal-Bpw-u9et.cjs → claudeLocal-CsLFMvFU.cjs} +5 -5
- package/dist/{claudeLocalLauncher-BFfGT4eY.mjs → claudeLocalLauncher-CKazNnl0.mjs} +10 -10
- package/dist/{claudeLocalLauncher-DWFWuLhY.cjs → claudeLocalLauncher-DRc-tET5.cjs} +10 -10
- package/dist/{claudeSessionFork-D9-mANmu.cjs → claudeSessionFork-BWdhyy9B.cjs} +1 -1
- package/dist/{claudeSessionFork-_DUrXaqd.mjs → claudeSessionFork-BfPW9D2S.mjs} +1 -1
- package/dist/{client-CVQJWqjx.cjs → client-BZtKFCJr.cjs} +2 -2
- package/dist/{client-DiBTHWNU.cjs → client-C1GAIJ04.cjs} +3 -3
- package/dist/{client-DwqHDsLb.mjs → client-DkoV3VWl.mjs} +2 -2
- package/dist/{client-Dk7x-s-O.mjs → client-Do5CHQnZ.mjs} +3 -3
- package/dist/codex/happyMcpStdioBridge.cjs +15 -15
- package/dist/codex/happyMcpStdioBridge.mjs +15 -15
- package/dist/{codexAppServerClient-C2ybs2mZ.mjs → codexAppServerClient-CfF33X-8.mjs} +2 -2
- package/dist/{codexAppServerClient-DlKv5TjG.cjs → codexAppServerClient-JddkV_aP.cjs} +2 -2
- package/dist/{codexCommand-4vLE31fj.cjs → codexCommand-Bdj3XZbi.cjs} +43 -40
- package/dist/{codexCommand-DnmFr9Qx.mjs → codexCommand-btJso8yC.mjs} +43 -40
- package/dist/{config-Btd4B05_.cjs → config-DpCNivmg.cjs} +3 -3
- package/dist/{config-CSOG_ZcP.mjs → config-nziuMb7g.mjs} +3 -3
- package/dist/{configuration-A5gW_0GE.mjs → configuration-CiBUH72C.mjs} +1 -1
- package/dist/{configuration-UsI0sxEv.cjs → configuration-PXAE4-FP.cjs} +1 -1
- package/dist/{connect-C9yxp8Om.cjs → connect-D7ehaW2C.cjs} +13 -13
- package/dist/{connect-DWYj8LP_.mjs → connect-XHdi6Vtc.mjs} +13 -13
- package/dist/{context-BXnxalWW.mjs → context-BpEYcuLv.mjs} +1 -1
- package/dist/{context-0FjjA4vJ.cjs → context-DhvXl1oC.cjs} +1 -1
- package/dist/{controlClient-BXktrQ4z.cjs → controlClient-DI-Er-Ww.cjs} +3 -3
- package/dist/{controlClient-CYzHrh3e.mjs → controlClient-DzmCQrY_.mjs} +3 -3
- package/dist/{createSessionMetadata-Dyg33ZlU.mjs → createSessionMetadata-B47GrTX6.mjs} +2 -2
- package/dist/{createSessionMetadata-EX1eAlHx.cjs → createSessionMetadata-D04x6OMW.cjs} +2 -2
- package/dist/{deterministicJson-eha_oMZ2.cjs → deterministicJson-BM8e8QwP.cjs} +9 -9
- package/dist/{deterministicJson-DiR7EOMO.mjs → deterministicJson-CKqT3awl.mjs} +9 -9
- package/dist/{doctor-FuCvKdRa.mjs → doctor-CSgzbG5L.mjs} +6 -6
- package/dist/{doctor-DunLBgVi.cjs → doctor-Cl6cqvok.cjs} +6 -6
- package/dist/{ensureDaemonRunning-B4dZFmUy.cjs → ensureDaemonRunning-CJ4-U32n.cjs} +5 -5
- package/dist/{ensureDaemonRunning-EZkb-CAF.mjs → ensureDaemonRunning-fPVSsjIm.mjs} +5 -5
- package/dist/forkBackfill-8eLDeS73.cjs +66 -0
- package/dist/forkBackfill-DYIjlN1Z.mjs +62 -0
- package/dist/{handleResumeCommand-CsXendKb.mjs → handleResumeCommand-B84dt2aH.mjs} +5 -5
- package/dist/{handleResumeCommand-CKMIw4pE.cjs → handleResumeCommand-bX-aNF_z.cjs} +5 -5
- package/dist/{index-DRhWHEuW.cjs → index-B2UvSWo_.cjs} +3 -3
- package/dist/{index-BOhgL3rh.cjs → index-CP2fh7JX.cjs} +38 -38
- package/dist/{index-9L39wqYR.mjs → index-CRJtZCK-.mjs} +39 -39
- package/dist/{index-CvXcVQ06.mjs → index-CbF87SeZ.mjs} +3 -3
- package/dist/{index-CZWAiydF.cjs → index-DaTxsAC3.cjs} +4 -4
- package/dist/{index-DJ-oV52i.cjs → index-DqlyNgt4.cjs} +6 -1
- package/dist/{index-DK2JpTJf.mjs → index-OEGj3BxE.mjs} +4 -4
- package/dist/{index-BBg9j0XK.mjs → index-vVWpCoTr.mjs} +6 -1
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-B2duVo9a.mjs → install-CurvoW2u.mjs} +3 -3
- package/dist/{install-C8WyZI9K.cjs → install-__Mni4NU.cjs} +3 -3
- package/dist/lib.cjs +17 -17
- package/dist/lib.d.cts +47 -0
- package/dist/lib.d.mts +47 -0
- package/dist/lib.mjs +17 -17
- package/dist/{lidState-CigXWxhe.mjs → lidState-BbR6y9rq.mjs} +66 -2
- package/dist/{lidState-Ds-6ytZV.cjs → lidState-De2HP6nu.cjs} +67 -1
- package/dist/{localHappyAgentAuth-CaCyKzYp.mjs → localHappyAgentAuth-C7rDePjF.mjs} +1 -1
- package/dist/{localHappyAgentAuth-l0Na-5Ys.cjs → localHappyAgentAuth-CboZb3_a.cjs} +1 -1
- package/dist/{logger-CGE4C8ho.mjs → logger-8dtZPn3n.mjs} +2 -2
- package/dist/{logger-7ucWm9wp.cjs → logger-B1k7eZnq.cjs} +2 -2
- package/dist/{machineMetadata-ue1nkowa.mjs → machineMetadata-Bhp_w3-_.mjs} +3 -3
- package/dist/{machineMetadata-lMPtpF16.cjs → machineMetadata-C4OfKn6I.cjs} +3 -3
- package/dist/{main-3fIFXD-t.mjs → main-BQTaUrz0.mjs} +44 -44
- package/dist/{main-CFI0datL.cjs → main-eAiLspBM.cjs} +44 -44
- package/dist/{mcp-DARQBZ7l.mjs → mcp-DXCdbQHM.mjs} +14 -14
- package/dist/{mcp-DfxLAc1G.cjs → mcp-fapbM7Q4.cjs} +14 -14
- package/dist/{package-D1A-8ZJy.cjs → package-CC_txQ31.cjs} +8 -8
- package/dist/{package-DQsvY1XN.mjs → package-tVYgFJoK.mjs} +8 -8
- package/dist/{peerTools-D19hhSQF.mjs → peerTools-C1cduHh1.mjs} +4 -4
- package/dist/{peerTools-DLwNaEEV.cjs → peerTools-CqIcCEIg.cjs} +4 -4
- package/dist/{persistence-Cw8aLoyL.mjs → persistence-C_xFQLsD.mjs} +3 -3
- package/dist/{persistence-i0nQMLlk.cjs → persistence-d3ZyER6o.cjs} +3 -3
- package/dist/{piRunnerArgs-BUyxPxjZ.cjs → piRunnerArgs-DSxolPlV.cjs} +1 -1
- package/dist/{piRunnerArgs-58t454gw.mjs → piRunnerArgs-aq0zJX1Q.mjs} +1 -1
- package/dist/{piRuntime-DVPixFjl.mjs → piRuntime-BnNl5Lmb.mjs} +1 -1
- package/dist/{piRuntime-Dff73XCb.cjs → piRuntime-Dne1LPu-.cjs} +1 -1
- package/dist/{piTerminal-gHWFAyzq.mjs → piTerminal-CKWxWtW-.mjs} +16 -16
- package/dist/{piTerminal-Dz1RrO70.cjs → piTerminal-fjado4cR.cjs} +16 -16
- package/dist/{registerCommonHandlers-CMROPdJz.cjs → registerCommonHandlers-Dausbdsb.cjs} +2 -2
- package/dist/{registerCommonHandlers-Ckv5boQI.mjs → registerCommonHandlers-bSskMveZ.mjs} +2 -2
- package/dist/{registerKillSessionHandler-Cll4-o8Y.mjs → registerKillSessionHandler-Ben5lAsN.mjs} +6 -6
- package/dist/{registerKillSessionHandler-CA9-oelM.cjs → registerKillSessionHandler-CgKyzwqw.cjs} +6 -6
- package/dist/{remoteSessionClient-DX9jHLeW.cjs → remoteSessionClient-BkJt8SHa.cjs} +5 -5
- package/dist/{remoteSessionClient-BMjsbuBh.mjs → remoteSessionClient-DnCIuZpQ.mjs} +5 -5
- package/dist/{run-CjbGo2wb.cjs → run-B8dxbDsg.cjs} +33 -33
- package/dist/{run-CrunzDlt.mjs → run-BEYMVE4J.mjs} +32 -32
- package/dist/{runClaude-KN-4Y4LH.cjs → runClaude-Cy_HzLyO.cjs} +26 -23
- package/dist/{runClaude-WDBWRtnF.mjs → runClaude-Dd_P1c0f.mjs} +26 -23
- package/dist/{runClaudeDeps-QaEx8y5r.mjs → runClaudeDeps-JG7EUH7B.mjs} +441 -49
- package/dist/{runClaudeDeps-DW-8lnHv.cjs → runClaudeDeps-dxv910DR.cjs} +436 -44
- package/dist/{runGemini-Nf6SKBpw.mjs → runGemini-CpaBuvoW.mjs} +34 -34
- package/dist/{runGemini-Djmwjdv1.cjs → runGemini-DY1IDW_f.cjs} +34 -34
- package/dist/{runOpenClaw-CAqP5KFH.cjs → runOpenClaw-C0VARcYj.cjs} +20 -20
- package/dist/{runOpenClaw-9nHtmYbN.mjs → runOpenClaw-C7vrDQbq.mjs} +20 -20
- package/dist/{sandbox-C8Dd8GPM.cjs → sandbox-Bx9-M9rN.cjs} +4 -4
- package/dist/{sandbox-SP0THMt0.mjs → sandbox-DRUJZuaM.mjs} +4 -4
- package/dist/{selfCheck-D9ZXrK7h.cjs → selfCheck-Ba1sECTO.cjs} +34 -34
- package/dist/selfCheck-DdT8r263.mjs +84 -0
- package/dist/{send-DOx9aQsx.mjs → send-BrzkbMy2.mjs} +8 -8
- package/dist/{send-LPk6Q5HI.cjs → send-Dqdpx-w5.cjs} +8 -8
- package/dist/{server-BZNi8Hq_.mjs → server-CPMPoEAA.mjs} +4 -4
- package/dist/{server-CxT8jNyn.cjs → server-CfB8EWCg.cjs} +6 -6
- package/dist/{sessionLock-y9rnA4LK.cjs → sessionLock-BsP3Y_nG.cjs} +2 -2
- package/dist/{sessionLock-CfLqJfeI.mjs → sessionLock-DukLVzAQ.mjs} +2 -2
- package/dist/{sessionModeFile-BKxgNH3P.mjs → sessionModeFile-CSvi4H_t.mjs} +1 -1
- package/dist/{sessionModeFile-B5YeoQJh.cjs → sessionModeFile-JWWF6Nn7.cjs} +1 -1
- package/dist/{sessionOps-CdwVPSZz.mjs → sessionOps-BlMg1uAa.mjs} +5 -5
- package/dist/{sessionOps-GsELm2PZ.cjs → sessionOps-HuoMXcIZ.cjs} +4 -4
- package/dist/{sessionScanner-aLEv7mD3.cjs → sessionScanner-BWU6KvZw.cjs} +3 -3
- package/dist/{sessionScanner-Cdukzo70.mjs → sessionScanner-Ct-JoNHP.mjs} +3 -3
- package/dist/{sessions-Dne-OiRL.mjs → sessions-3Hw1xXMV.mjs} +9 -9
- package/dist/{sessions-CfG4WGN0.cjs → sessions-AjflCj5y.cjs} +9 -9
- package/dist/{setupOfflineReconnection-DiQma2Cc.mjs → setupOfflineReconnection-B_9xp36H.mjs} +2 -2
- package/dist/{setupOfflineReconnection-CFwltTcP.cjs → setupOfflineReconnection-Cxh9Sz9M.cjs} +2 -2
- package/dist/{spawn-DkgP2BGF.mjs → spawn-BXEVKCQK.mjs} +38 -18
- package/dist/{spawn-BI_sdgWs.cjs → spawn-CN8PH11G.cjs} +38 -17
- package/dist/{spawnAgents-Y1LjnCt9.mjs → spawnAgents-Czi2VDzj.mjs} +1 -1
- package/dist/{spawnAgents-iSu1Xzs5.cjs → spawnAgents-McixdtV1.cjs} +1 -1
- package/dist/{spawnHappyCLI-9mx4lPxh.mjs → spawnHappyCLI-BFN0h2fK.mjs} +1 -1
- package/dist/{spawnHappyCLI-BRdx0sAX.cjs → spawnHappyCLI-Cj-9-d_7.cjs} +1 -1
- package/dist/{startFileWatcher-C2HC2_Dg.cjs → startFileWatcher-BfMu444W.cjs} +1 -1
- package/dist/{startFileWatcher-COD5UKNs.mjs → startFileWatcher-Csql7gdv.mjs} +1 -1
- package/dist/{streamRelay-BLgU9X3R.mjs → streamRelay-BzMEEvJU.mjs} +1 -1
- package/dist/{streamRelay-DnObXZZj.cjs → streamRelay-C0AffuX6.cjs} +1 -1
- package/dist/{sync-Dj92ZJ8Y.cjs → sync--uxtLWbo.cjs} +5 -1
- package/dist/{sync-BpLasLu2.mjs → sync-SCvDzRy6.mjs} +5 -1
- package/dist/{systemPrompt-CyEz_IfR.cjs → systemPrompt-C1tRiZ-u.cjs} +2 -2
- package/dist/{systemPrompt-DsQoUgQw.mjs → systemPrompt-D0KMySrK.mjs} +2 -2
- package/dist/{teams-BETNMjpZ.mjs → teams-By-hcvMF.mjs} +6 -6
- package/dist/{teams-Ctx9zXn4.cjs → teams-CYDIFXEC.cjs} +6 -6
- package/dist/{time-CLwVAz6s.cjs → time-C7BplxuS.cjs} +1 -1
- package/dist/{time-CVvxdEDh.mjs → time-CRvAaC5H.mjs} +1 -1
- package/dist/{titleGenerator-B4AW3dLr.mjs → titleGenerator-CUG-n2r3.mjs} +1 -1
- package/dist/{titleGenerator-FDpdizn7.cjs → titleGenerator-Kw3sTnNQ.cjs} +2 -2
- package/dist/{todo-C3tyFeq1.cjs → todo-B7a7J5Ng.cjs} +6 -6
- package/dist/{todo-Jk4Vs7hP.mjs → todo-yuIsUvU8.mjs} +6 -6
- package/dist/{tools-CGxq3I52.cjs → tools-BTBgpiRc.cjs} +2 -2
- package/dist/{tools-O5beDK-s.cjs → tools-D7UeLMZ7.cjs} +1 -1
- package/dist/{tools-_kFe4m_l.mjs → tools-RvMKw7yx.mjs} +1 -1
- package/dist/{tools-BA1qkiV1.mjs → tools-gUjkPpCw.mjs} +2 -2
- package/dist/{uninstall-DHKF90lo.cjs → uninstall-D5D16-KM.cjs} +3 -3
- package/dist/{uninstall-C_mdAZlm.mjs → uninstall-Dx9FmLXs.mjs} +3 -3
- package/package.json +8 -8
- package/dist/selfCheck-7FaZtVu2.mjs +0 -84
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { D as DefaultTransport, A as AcpBackend } from './AcpBackend
|
|
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
|
|
3
|
-
import { l as logger } from './logger-
|
|
4
|
-
import { A as AcpSessionManager } from './AcpSessionManager-
|
|
5
|
-
import { l as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY } from './index-
|
|
1
|
+
import { D as DefaultTransport, A as AcpBackend } from './AcpBackend-B8l1ZePt.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-B8l1ZePt.mjs';
|
|
3
|
+
import { l as logger } from './logger-8dtZPn3n.mjs';
|
|
4
|
+
import { A as AcpSessionManager } from './AcpSessionManager-BQnDJvct.mjs';
|
|
5
|
+
import { l as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY } from './index-vVWpCoTr.mjs';
|
|
6
6
|
import { r as registerAgentAttachmentDownloads } from './agentAttachments-M_B5qEF2.mjs';
|
|
7
|
-
import { c as configuration } from './configuration-
|
|
8
|
-
import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-
|
|
9
|
-
import { p as preparePiTeamsRuntime } from './piRuntime-
|
|
7
|
+
import { c as configuration } from './configuration-CiBUH72C.mjs';
|
|
8
|
+
import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-BLyyo1al.mjs';
|
|
9
|
+
import { p as preparePiTeamsRuntime } from './piRuntime-BnNl5Lmb.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-
|
|
13
|
-
import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-
|
|
14
|
-
import { h as hashObject, s as startHappyServer } from './deterministicJson-
|
|
15
|
-
import { readSettings } from './persistence-
|
|
16
|
-
import { g as getInitialMachineMetadata } from './machineMetadata-
|
|
17
|
-
import { c as createSessionMetadata } from './createSessionMetadata-
|
|
18
|
-
import { s as setupOfflineReconnection } from './setupOfflineReconnection-
|
|
19
|
-
import { n as notifyDaemonSessionStarted, g as reportSessionEditToDaemon } from './controlClient-
|
|
12
|
+
import { c as connectionState, A as ApiClient } from './api-Yoh_zKdR.mjs';
|
|
13
|
+
import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-Ben5lAsN.mjs';
|
|
14
|
+
import { h as hashObject, s as startHappyServer } from './deterministicJson-CKqT3awl.mjs';
|
|
15
|
+
import { readSettings } from './persistence-C_xFQLsD.mjs';
|
|
16
|
+
import { g as getInitialMachineMetadata } from './machineMetadata-Bhp_w3-_.mjs';
|
|
17
|
+
import { c as createSessionMetadata } from './createSessionMetadata-B47GrTX6.mjs';
|
|
18
|
+
import { s as setupOfflineReconnection } from './setupOfflineReconnection-B_9xp36H.mjs';
|
|
19
|
+
import { n as notifyDaemonSessionStarted, g as reportSessionEditToDaemon } from './controlClient-DzmCQrY_.mjs';
|
|
20
20
|
import { e as encodeBase64 } from './authRelay-DSAvg1uv.mjs';
|
|
21
|
-
import { S as StreamRelay } from './streamRelay-
|
|
21
|
+
import { S as StreamRelay } from './streamRelay-BzMEEvJU.mjs';
|
|
22
22
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
23
|
-
import { B as BasePermissionHandler } from './BasePermissionHandler-
|
|
24
|
-
import { T as TitleGenerator } from './titleGenerator-
|
|
25
|
-
import { w as writeSessionModeFile, n as normalizeAcpPermissionMode, r as removeSessionModeFile } from './sessionModeFile-
|
|
23
|
+
import { B as BasePermissionHandler } from './BasePermissionHandler-DgtAtJTV.mjs';
|
|
24
|
+
import { T as TitleGenerator } from './titleGenerator-CUG-n2r3.mjs';
|
|
25
|
+
import { w as writeSessionModeFile, n as normalizeAcpPermissionMode, r as removeSessionModeFile } from './sessionModeFile-CSvi4H_t.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-
|
|
29
|
+
import './time-CRvAaC5H.mjs';
|
|
30
30
|
import './contentLogMetadata-BlWI0egu.mjs';
|
|
31
|
-
import './package-
|
|
31
|
+
import './package-tVYgFJoK.mjs';
|
|
32
32
|
import 'chalk';
|
|
33
33
|
import 'node:util';
|
|
34
34
|
import 'node:fs';
|
|
@@ -36,48 +36,48 @@ import '@paralleldrive/cuid2';
|
|
|
36
36
|
import 'zod';
|
|
37
37
|
import 'node:os';
|
|
38
38
|
import 'node:fs/promises';
|
|
39
|
-
import './attachmentLimits-
|
|
39
|
+
import './attachmentLimits-B8nzhw-i.mjs';
|
|
40
40
|
import './resources-BdFBQi8r.mjs';
|
|
41
41
|
import 'axios';
|
|
42
|
+
import './lidState-BbR6y9rq.mjs';
|
|
43
|
+
import 'os';
|
|
44
|
+
import 'child_process';
|
|
42
45
|
import 'node:events';
|
|
43
46
|
import 'socket.io-client';
|
|
44
47
|
import './limits-DIo7rEBR.mjs';
|
|
45
|
-
import './
|
|
46
|
-
import 'os';
|
|
47
|
-
import 'child_process';
|
|
48
|
-
import './registerCommonHandlers-Ckv5boQI.mjs';
|
|
48
|
+
import './registerCommonHandlers-bSskMveZ.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-
|
|
54
|
+
import './sync-SCvDzRy6.mjs';
|
|
55
55
|
import './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
56
56
|
import 'tweetnacl';
|
|
57
57
|
import './types-CkqAACXx.mjs';
|
|
58
|
-
import './client-
|
|
59
|
-
import './context-
|
|
60
|
-
import './sessionOps-
|
|
61
|
-
import './tools-
|
|
62
|
-
import './tools-
|
|
63
|
-
import './client-
|
|
64
|
-
import './peerTools-
|
|
58
|
+
import './client-Do5CHQnZ.mjs';
|
|
59
|
+
import './context-BpEYcuLv.mjs';
|
|
60
|
+
import './sessionOps-BlMg1uAa.mjs';
|
|
61
|
+
import './tools-RvMKw7yx.mjs';
|
|
62
|
+
import './tools-gUjkPpCw.mjs';
|
|
63
|
+
import './client-DkoV3VWl.mjs';
|
|
64
|
+
import './peerTools-C1cduHh1.mjs';
|
|
65
65
|
import './ids-DU6sLx4C.mjs';
|
|
66
|
-
import './remoteSessionClient-
|
|
66
|
+
import './remoteSessionClient-DnCIuZpQ.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-
|
|
70
|
+
import './assistantTools-BWfAV349.mjs';
|
|
71
71
|
import './terminals-Dlg0x3nY.mjs';
|
|
72
72
|
import './terminalTitleSuggest-CeKsX_V6.mjs';
|
|
73
73
|
import './tmuxSocket-B8Yx20sT.mjs';
|
|
74
|
-
import './bootstrap-
|
|
74
|
+
import './bootstrap-CTNjn_aj.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-
|
|
80
|
+
import './localHappyAgentAuth-C7rDePjF.mjs';
|
|
81
81
|
import 'url';
|
|
82
82
|
import 'node:module';
|
|
83
83
|
import './oneShotPrompts-DT4p6RNd.mjs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { p as packageJson } from './package-
|
|
1
|
+
import { p as packageJson } from './package-tVYgFJoK.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-
|
|
60
|
+
const { selfCheckMain } = await import('./selfCheck-DdT8r263.mjs');
|
|
61
61
|
process.exit(await selfCheckMain({ verbose: isSelfCheckRequest(args) }));
|
|
62
62
|
}
|
|
63
|
-
const { main } = await import('./main-
|
|
63
|
+
const { main } = await import('./main-BQTaUrz0.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-
|
|
6
|
-
var persistence = require('./persistence-
|
|
5
|
+
var logger = require('./logger-B1k7eZnq.cjs');
|
|
6
|
+
var persistence = require('./persistence-d3ZyER6o.cjs');
|
|
7
7
|
var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
|
|
8
8
|
require('chalk');
|
|
9
9
|
require('node:util');
|
|
10
|
-
require('./configuration-
|
|
10
|
+
require('./configuration-PXAE4-FP.cjs');
|
|
11
11
|
require('node:path');
|
|
12
|
-
require('./package-
|
|
12
|
+
require('./package-CC_txQ31.cjs');
|
|
13
13
|
require('node:fs/promises');
|
|
14
14
|
require('zod');
|
|
15
15
|
require('./authRelay-BdYkC1Po.cjs');
|
|
@@ -131,7 +131,12 @@ const sessionTranscriptDropEventSchema = z__namespace.object({
|
|
|
131
131
|
t: z__namespace.literal("transcript-drop"),
|
|
132
132
|
fromSeq: z__namespace.number().int().nonnegative(),
|
|
133
133
|
toSeq: z__namespace.number().int().nonnegative().optional(),
|
|
134
|
-
reason: z__namespace.string().min(1).optional()
|
|
134
|
+
reason: z__namespace.string().min(1).optional(),
|
|
135
|
+
/**
|
|
136
|
+
* B-544: the `conversation-rewind` requestId this tombstone answers. The
|
|
137
|
+
* wrapper keeps a rewind provisional until it sees it; absent from old web.
|
|
138
|
+
*/
|
|
139
|
+
requestId: z__namespace.string().min(1).optional()
|
|
135
140
|
});
|
|
136
141
|
const sessionEventSchema = z__namespace.discriminatedUnion("t", [
|
|
137
142
|
sessionTextEventSchema,
|
|
@@ -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-
|
|
4
|
-
import { readSettings } from './persistence-
|
|
3
|
+
import { l as logger } from './logger-8dtZPn3n.mjs';
|
|
4
|
+
import { readSettings } from './persistence-C_xFQLsD.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-
|
|
9
|
+
import './configuration-CiBUH72C.mjs';
|
|
10
10
|
import 'node:path';
|
|
11
|
-
import './package-
|
|
11
|
+
import './package-tVYgFJoK.mjs';
|
|
12
12
|
import 'node:fs/promises';
|
|
13
13
|
import 'zod';
|
|
14
14
|
import './authRelay-DSAvg1uv.mjs';
|
|
@@ -111,7 +111,12 @@ const sessionTranscriptDropEventSchema = z.object({
|
|
|
111
111
|
t: z.literal("transcript-drop"),
|
|
112
112
|
fromSeq: z.number().int().nonnegative(),
|
|
113
113
|
toSeq: z.number().int().nonnegative().optional(),
|
|
114
|
-
reason: z.string().min(1).optional()
|
|
114
|
+
reason: z.string().min(1).optional(),
|
|
115
|
+
/**
|
|
116
|
+
* B-544: the `conversation-rewind` requestId this tombstone answers. The
|
|
117
|
+
* wrapper keeps a rewind provisional until it sees it; absent from old web.
|
|
118
|
+
*/
|
|
119
|
+
requestId: z.string().min(1).optional()
|
|
115
120
|
});
|
|
116
121
|
const sessionEventSchema = z.discriminatedUnion("t", [
|
|
117
122
|
sessionTextEventSchema,
|
package/dist/index.cjs
CHANGED
package/dist/index.mjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
1
|
+
import { l as logger } from './logger-8dtZPn3n.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-
|
|
8
|
+
import './configuration-CiBUH72C.mjs';
|
|
9
9
|
import 'node:fs';
|
|
10
10
|
import 'node:os';
|
|
11
11
|
import 'node:path';
|
|
12
|
-
import './package-
|
|
12
|
+
import './package-tVYgFJoK.mjs';
|
|
13
13
|
import 'node:fs/promises';
|
|
14
14
|
|
|
15
15
|
const PLIST_LABEL = "com.happy-cli.daemon";
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var logger = require('./logger-
|
|
3
|
+
var logger = require('./logger-B1k7eZnq.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-
|
|
10
|
+
require('./configuration-PXAE4-FP.cjs');
|
|
11
11
|
require('node:fs');
|
|
12
12
|
require('node:os');
|
|
13
13
|
require('node:path');
|
|
14
|
-
require('./package-
|
|
14
|
+
require('./package-CC_txQ31.cjs');
|
|
15
15
|
require('node:fs/promises');
|
|
16
16
|
|
|
17
17
|
const PLIST_LABEL = "com.happy-cli.daemon";
|
package/dist/lib.cjs
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var api = require('./api-
|
|
4
|
-
var logger = require('./logger-
|
|
5
|
-
var configuration = require('./configuration-
|
|
3
|
+
var api = require('./api-EKlS0r1w.cjs');
|
|
4
|
+
var logger = require('./logger-B1k7eZnq.cjs');
|
|
5
|
+
var configuration = require('./configuration-PXAE4-FP.cjs');
|
|
6
6
|
var types = require('./types-CRS-srZK.cjs');
|
|
7
7
|
require('axios');
|
|
8
|
-
require('
|
|
9
|
-
require('socket.io-client');
|
|
10
|
-
require('./attachmentLimits-DzlBPyJP.cjs');
|
|
11
|
-
require('zod');
|
|
12
|
-
require('./index-DJ-oV52i.cjs');
|
|
13
|
-
require('@paralleldrive/cuid2');
|
|
8
|
+
require('./lidState-De2HP6nu.cjs');
|
|
14
9
|
require('./authRelay-BdYkC1Po.cjs');
|
|
15
10
|
require('node:crypto');
|
|
16
11
|
require('tweetnacl');
|
|
17
|
-
require('./limits-C-a7gr04.cjs');
|
|
18
|
-
require('./time-CLwVAz6s.cjs');
|
|
19
|
-
require('./lidState-Ds-6ytZV.cjs');
|
|
20
12
|
require('os');
|
|
21
13
|
require('child_process');
|
|
22
|
-
require('
|
|
14
|
+
require('node:events');
|
|
15
|
+
require('socket.io-client');
|
|
16
|
+
require('./attachmentLimits-eJZ4ZBjF.cjs');
|
|
17
|
+
require('zod');
|
|
18
|
+
require('./index-DqlyNgt4.cjs');
|
|
19
|
+
require('@paralleldrive/cuid2');
|
|
20
|
+
require('./limits-C-a7gr04.cjs');
|
|
21
|
+
require('./time-C7BplxuS.cjs');
|
|
22
|
+
require('./registerCommonHandlers-Dausbdsb.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
|
|
30
|
+
require('./sync--uxtLWbo.cjs');
|
|
31
31
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
32
|
-
require('./controlClient-
|
|
33
|
-
require('./persistence-
|
|
32
|
+
require('./controlClient-DI-Er-Ww.cjs');
|
|
33
|
+
require('./persistence-d3ZyER6o.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-
|
|
41
|
+
require('./package-CC_txQ31.cjs');
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
package/dist/lib.d.cts
CHANGED
|
@@ -164,6 +164,7 @@ declare const sessionEnvelopeSchema: z.ZodObject<{
|
|
|
164
164
|
fromSeq: z.ZodNumber;
|
|
165
165
|
toSeq: z.ZodOptional<z.ZodNumber>;
|
|
166
166
|
reason: z.ZodOptional<z.ZodString>;
|
|
167
|
+
requestId: z.ZodOptional<z.ZodString>;
|
|
167
168
|
}, z.core.$strip>], "t">;
|
|
168
169
|
}, z.core.$strip>;
|
|
169
170
|
type SessionEnvelope = z.infer<typeof sessionEnvelopeSchema>;
|
|
@@ -719,6 +720,33 @@ type Metadata = {
|
|
|
719
720
|
/** Lineage for sessions created via the fork / duplicate flow. */
|
|
720
721
|
parentSessionId?: string;
|
|
721
722
|
forkedFromMessageId?: string;
|
|
723
|
+
/**
|
|
724
|
+
* B-531: written by a fork's wrapper once the server accepted every replayed
|
|
725
|
+
* history message (capability fork-backfill-ack-v1). `very-happy spawn
|
|
726
|
+
* --fork --prompt` waits for it before sending, so the prompt cannot get a
|
|
727
|
+
* seq inside the replay. Absent on non-fork sessions and old wrappers.
|
|
728
|
+
*/
|
|
729
|
+
forkBackfill?: {
|
|
730
|
+
done: true;
|
|
731
|
+
count: number;
|
|
732
|
+
failed?: boolean;
|
|
733
|
+
completedAt: number;
|
|
734
|
+
};
|
|
735
|
+
/**
|
|
736
|
+
* B-544: the newest in-place rewind (conversation-rewind with a requestId).
|
|
737
|
+
* `pending` until the web's transcript-drop tombstone with the same
|
|
738
|
+
* requestId confirms it; otherwise the wrapper switches back to
|
|
739
|
+
* `sourceClaudeSessionId` (`reverted`). The web reads `requestId` when the
|
|
740
|
+
* RPC ack was lost. Plain strings throughout; old web/CLI ignore it.
|
|
741
|
+
*/
|
|
742
|
+
rewind?: {
|
|
743
|
+
requestId: string;
|
|
744
|
+
action: string;
|
|
745
|
+
sourceClaudeSessionId: string;
|
|
746
|
+
claudeSessionId: string | null;
|
|
747
|
+
at: number;
|
|
748
|
+
state: string;
|
|
749
|
+
} | null;
|
|
722
750
|
/**
|
|
723
751
|
* B-290: the Claude conversation this session was imported from (the
|
|
724
752
|
* on-disk transcript written by claude CLI / desktop / claude.ai that was
|
|
@@ -1169,6 +1197,15 @@ declare class ApiSessionClient extends EventEmitter {
|
|
|
1169
1197
|
private fetchMessages;
|
|
1170
1198
|
private static readonly MAX_OUTBOX_BATCH_SIZE;
|
|
1171
1199
|
private flushOutbox;
|
|
1200
|
+
/**
|
|
1201
|
+
* B-531: resolve once the server has accepted (POST answered, seq assigned)
|
|
1202
|
+
* every message that was in the outbox when this was called. Messages
|
|
1203
|
+
* enqueued later do not extend the wait. Returns false when the client was
|
|
1204
|
+
* closed first — the caller must not treat that as "committed". Retries are
|
|
1205
|
+
* the outbox's own (InvalidateSync backoff), so a server that keeps failing
|
|
1206
|
+
* keeps this pending rather than resolving early.
|
|
1207
|
+
*/
|
|
1208
|
+
drainOutbox(): Promise<boolean>;
|
|
1172
1209
|
private rememberRoutedInbound;
|
|
1173
1210
|
private rememberDirectInbound;
|
|
1174
1211
|
private connectSessionRelay;
|
|
@@ -1310,6 +1347,16 @@ declare class ApiSessionClient extends EventEmitter {
|
|
|
1310
1347
|
*/
|
|
1311
1348
|
suppressNextArchiveSignal(): void;
|
|
1312
1349
|
skipExistingMessages(): void;
|
|
1350
|
+
/**
|
|
1351
|
+
* B-544: the newest `limit` session records, decrypted, ascending seq.
|
|
1352
|
+
* Read-only (no routing, no lastSeq change) — rewind reconcile reads the
|
|
1353
|
+
* durable log with it. Undecryptable records come back with `body: null`.
|
|
1354
|
+
*/
|
|
1355
|
+
readLogTail(limit: number): Promise<Array<{
|
|
1356
|
+
seq: number;
|
|
1357
|
+
localId: string | null;
|
|
1358
|
+
body: unknown;
|
|
1359
|
+
}>>;
|
|
1313
1360
|
updateMetadata(handler: (metadata: Metadata) => Metadata): void;
|
|
1314
1361
|
/**
|
|
1315
1362
|
* Update session agent state
|
package/dist/lib.d.mts
CHANGED
|
@@ -164,6 +164,7 @@ declare const sessionEnvelopeSchema: z.ZodObject<{
|
|
|
164
164
|
fromSeq: z.ZodNumber;
|
|
165
165
|
toSeq: z.ZodOptional<z.ZodNumber>;
|
|
166
166
|
reason: z.ZodOptional<z.ZodString>;
|
|
167
|
+
requestId: z.ZodOptional<z.ZodString>;
|
|
167
168
|
}, z.core.$strip>], "t">;
|
|
168
169
|
}, z.core.$strip>;
|
|
169
170
|
type SessionEnvelope = z.infer<typeof sessionEnvelopeSchema>;
|
|
@@ -719,6 +720,33 @@ type Metadata = {
|
|
|
719
720
|
/** Lineage for sessions created via the fork / duplicate flow. */
|
|
720
721
|
parentSessionId?: string;
|
|
721
722
|
forkedFromMessageId?: string;
|
|
723
|
+
/**
|
|
724
|
+
* B-531: written by a fork's wrapper once the server accepted every replayed
|
|
725
|
+
* history message (capability fork-backfill-ack-v1). `very-happy spawn
|
|
726
|
+
* --fork --prompt` waits for it before sending, so the prompt cannot get a
|
|
727
|
+
* seq inside the replay. Absent on non-fork sessions and old wrappers.
|
|
728
|
+
*/
|
|
729
|
+
forkBackfill?: {
|
|
730
|
+
done: true;
|
|
731
|
+
count: number;
|
|
732
|
+
failed?: boolean;
|
|
733
|
+
completedAt: number;
|
|
734
|
+
};
|
|
735
|
+
/**
|
|
736
|
+
* B-544: the newest in-place rewind (conversation-rewind with a requestId).
|
|
737
|
+
* `pending` until the web's transcript-drop tombstone with the same
|
|
738
|
+
* requestId confirms it; otherwise the wrapper switches back to
|
|
739
|
+
* `sourceClaudeSessionId` (`reverted`). The web reads `requestId` when the
|
|
740
|
+
* RPC ack was lost. Plain strings throughout; old web/CLI ignore it.
|
|
741
|
+
*/
|
|
742
|
+
rewind?: {
|
|
743
|
+
requestId: string;
|
|
744
|
+
action: string;
|
|
745
|
+
sourceClaudeSessionId: string;
|
|
746
|
+
claudeSessionId: string | null;
|
|
747
|
+
at: number;
|
|
748
|
+
state: string;
|
|
749
|
+
} | null;
|
|
722
750
|
/**
|
|
723
751
|
* B-290: the Claude conversation this session was imported from (the
|
|
724
752
|
* on-disk transcript written by claude CLI / desktop / claude.ai that was
|
|
@@ -1169,6 +1197,15 @@ declare class ApiSessionClient extends EventEmitter {
|
|
|
1169
1197
|
private fetchMessages;
|
|
1170
1198
|
private static readonly MAX_OUTBOX_BATCH_SIZE;
|
|
1171
1199
|
private flushOutbox;
|
|
1200
|
+
/**
|
|
1201
|
+
* B-531: resolve once the server has accepted (POST answered, seq assigned)
|
|
1202
|
+
* every message that was in the outbox when this was called. Messages
|
|
1203
|
+
* enqueued later do not extend the wait. Returns false when the client was
|
|
1204
|
+
* closed first — the caller must not treat that as "committed". Retries are
|
|
1205
|
+
* the outbox's own (InvalidateSync backoff), so a server that keeps failing
|
|
1206
|
+
* keeps this pending rather than resolving early.
|
|
1207
|
+
*/
|
|
1208
|
+
drainOutbox(): Promise<boolean>;
|
|
1172
1209
|
private rememberRoutedInbound;
|
|
1173
1210
|
private rememberDirectInbound;
|
|
1174
1211
|
private connectSessionRelay;
|
|
@@ -1310,6 +1347,16 @@ declare class ApiSessionClient extends EventEmitter {
|
|
|
1310
1347
|
*/
|
|
1311
1348
|
suppressNextArchiveSignal(): void;
|
|
1312
1349
|
skipExistingMessages(): void;
|
|
1350
|
+
/**
|
|
1351
|
+
* B-544: the newest `limit` session records, decrypted, ascending seq.
|
|
1352
|
+
* Read-only (no routing, no lastSeq change) — rewind reconcile reads the
|
|
1353
|
+
* durable log with it. Undecryptable records come back with `body: null`.
|
|
1354
|
+
*/
|
|
1355
|
+
readLogTail(limit: number): Promise<Array<{
|
|
1356
|
+
seq: number;
|
|
1357
|
+
localId: string | null;
|
|
1358
|
+
body: unknown;
|
|
1359
|
+
}>>;
|
|
1313
1360
|
updateMetadata(handler: (metadata: Metadata) => Metadata): void;
|
|
1314
1361
|
/**
|
|
1315
1362
|
* Update session agent state
|
package/dist/lib.mjs
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
export { A as ApiClient, a as ApiSessionClient } from './api-
|
|
2
|
-
export { l as logger } from './logger-
|
|
3
|
-
export { c as configuration } from './configuration-
|
|
1
|
+
export { A as ApiClient, a as ApiSessionClient } from './api-Yoh_zKdR.mjs';
|
|
2
|
+
export { l as logger } from './logger-8dtZPn3n.mjs';
|
|
3
|
+
export { c as configuration } from './configuration-CiBUH72C.mjs';
|
|
4
4
|
export { R as RawJSONLinesSchema } from './types-CkqAACXx.mjs';
|
|
5
5
|
import 'axios';
|
|
6
|
-
import '
|
|
7
|
-
import 'socket.io-client';
|
|
8
|
-
import './attachmentLimits-D5pgmASK.mjs';
|
|
9
|
-
import 'zod';
|
|
10
|
-
import './index-BBg9j0XK.mjs';
|
|
11
|
-
import '@paralleldrive/cuid2';
|
|
6
|
+
import './lidState-BbR6y9rq.mjs';
|
|
12
7
|
import './authRelay-DSAvg1uv.mjs';
|
|
13
8
|
import 'node:crypto';
|
|
14
9
|
import 'tweetnacl';
|
|
15
|
-
import './limits-DIo7rEBR.mjs';
|
|
16
|
-
import './time-CVvxdEDh.mjs';
|
|
17
|
-
import './lidState-CigXWxhe.mjs';
|
|
18
10
|
import 'os';
|
|
19
11
|
import 'child_process';
|
|
20
|
-
import '
|
|
12
|
+
import 'node:events';
|
|
13
|
+
import 'socket.io-client';
|
|
14
|
+
import './attachmentLimits-B8nzhw-i.mjs';
|
|
15
|
+
import 'zod';
|
|
16
|
+
import './index-vVWpCoTr.mjs';
|
|
17
|
+
import '@paralleldrive/cuid2';
|
|
18
|
+
import './limits-DIo7rEBR.mjs';
|
|
19
|
+
import './time-CRvAaC5H.mjs';
|
|
20
|
+
import './registerCommonHandlers-bSskMveZ.mjs';
|
|
21
21
|
import 'util';
|
|
22
22
|
import 'fs/promises';
|
|
23
23
|
import 'crypto';
|
|
@@ -25,10 +25,10 @@ import 'path';
|
|
|
25
25
|
import 'cross-spawn';
|
|
26
26
|
import './projectPath-BTBIMB57.mjs';
|
|
27
27
|
import 'url';
|
|
28
|
-
import './sync-
|
|
28
|
+
import './sync-SCvDzRy6.mjs';
|
|
29
29
|
import './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
30
|
-
import './controlClient-
|
|
31
|
-
import './persistence-
|
|
30
|
+
import './controlClient-DzmCQrY_.mjs';
|
|
31
|
+
import './persistence-C_xFQLsD.mjs';
|
|
32
32
|
import 'node:fs/promises';
|
|
33
33
|
import 'node:fs';
|
|
34
34
|
import './contentLogMetadata-BlWI0egu.mjs';
|
|
@@ -36,4 +36,4 @@ import 'chalk';
|
|
|
36
36
|
import 'node:util';
|
|
37
37
|
import 'node:path';
|
|
38
38
|
import 'node:os';
|
|
39
|
-
import './package-
|
|
39
|
+
import './package-tVYgFJoK.mjs';
|
|
@@ -1,8 +1,72 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
1
|
+
import { l as logger } from './logger-8dtZPn3n.mjs';
|
|
2
2
|
import { e as encodeBase64, g as encrypt, h as decrypt, d as decodeBase64 } from './authRelay-DSAvg1uv.mjs';
|
|
3
3
|
import os from 'os';
|
|
4
4
|
import { execSync } from 'child_process';
|
|
5
5
|
|
|
6
|
+
const CONNECT_PENDING_MAX_MS = 15e3;
|
|
7
|
+
function decideConnect(input) {
|
|
8
|
+
if (input.connected) return "skip-connected";
|
|
9
|
+
if (input.pendingSince === null) return "connect";
|
|
10
|
+
const maxPendingMs = input.maxPendingMs ?? CONNECT_PENDING_MAX_MS;
|
|
11
|
+
const age = input.now - input.pendingSince;
|
|
12
|
+
if (age < 0 || age >= maxPendingMs) return "restart";
|
|
13
|
+
return "skip-pending";
|
|
14
|
+
}
|
|
15
|
+
class SocketConnectGuard {
|
|
16
|
+
constructor(socket, options = {}) {
|
|
17
|
+
this.socket = socket;
|
|
18
|
+
this.options = options;
|
|
19
|
+
this.now = options.now ?? Date.now;
|
|
20
|
+
const clear = () => {
|
|
21
|
+
this.pendingSince = null;
|
|
22
|
+
};
|
|
23
|
+
socket.on("connect", clear);
|
|
24
|
+
socket.on("connect_error", clear);
|
|
25
|
+
socket.on("disconnect", clear);
|
|
26
|
+
if (socket.active && !socket.connected) this.pendingSince = this.now();
|
|
27
|
+
}
|
|
28
|
+
pendingSince = null;
|
|
29
|
+
now;
|
|
30
|
+
connect(reason) {
|
|
31
|
+
const now = this.now();
|
|
32
|
+
const decision = decideConnect({
|
|
33
|
+
connected: this.socket.connected,
|
|
34
|
+
pendingSince: this.pendingSince,
|
|
35
|
+
now,
|
|
36
|
+
maxPendingMs: this.options.maxPendingMs
|
|
37
|
+
});
|
|
38
|
+
if (decision === "skip-connected") return decision;
|
|
39
|
+
if (decision === "skip-pending") {
|
|
40
|
+
this.options.log?.(`[socket-guard] ${reason}: CONNECT pending ${now - this.pendingSince}ms \u2014 not sending another`);
|
|
41
|
+
return decision;
|
|
42
|
+
}
|
|
43
|
+
if (decision === "restart") {
|
|
44
|
+
this.options.log?.(`[socket-guard] ${reason}: CONNECT pending ${now - this.pendingSince}ms \u2014 rebuilding the engine connection`);
|
|
45
|
+
this.pendingSince = null;
|
|
46
|
+
this.socket.disconnect();
|
|
47
|
+
}
|
|
48
|
+
this.pendingSince = now;
|
|
49
|
+
this.socket.connect();
|
|
50
|
+
return decision;
|
|
51
|
+
}
|
|
52
|
+
/** Test/diagnostic view. */
|
|
53
|
+
get pendingSinceMs() {
|
|
54
|
+
return this.pendingSince;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const guards = /* @__PURE__ */ new WeakMap();
|
|
58
|
+
function socketConnectGuard(socket, options) {
|
|
59
|
+
let guard = guards.get(socket);
|
|
60
|
+
if (!guard) {
|
|
61
|
+
guard = new SocketConnectGuard(socket, options);
|
|
62
|
+
guards.set(socket, guard);
|
|
63
|
+
}
|
|
64
|
+
return guard;
|
|
65
|
+
}
|
|
66
|
+
function connectGuarded(socket, reason, options) {
|
|
67
|
+
return socketConnectGuard(socket, options).connect(reason);
|
|
68
|
+
}
|
|
69
|
+
|
|
6
70
|
function isRateQuotaCode(code) {
|
|
7
71
|
return typeof code === "string" && code.endsWith("_rate_quota_exceeded");
|
|
8
72
|
}
|
|
@@ -294,4 +358,4 @@ function shouldReconnect() {
|
|
|
294
358
|
return true;
|
|
295
359
|
}
|
|
296
360
|
|
|
297
|
-
export { RpcHandlerManager as R, answerSocketRequest as a,
|
|
361
|
+
export { RpcHandlerManager as R, answerSocketRequest as a, safeAck as b, connectGuarded as c, describeSocketAckDrop as d, shouldReconnect as e, isRateQuotaCode as i, pauseForRateQuota as p, socketConnectGuard as s };
|