very-happy-cli 0.2.187 → 0.2.189
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-B2-ReWTo.cjs → AcpBackend-DRPJ2g9G.cjs} +3 -3
- package/dist/{AcpBackend-C4Emg-H3.mjs → AcpBackend-fj16v_cf.mjs} +3 -3
- package/dist/{AcpSessionManager-Nard_zFS.mjs → AcpSessionManager-BZPmUDL5.mjs} +4 -4
- package/dist/{AcpSessionManager-DR4-oZCz.cjs → AcpSessionManager-DM-KKg6v.cjs} +4 -4
- package/dist/{BasePermissionHandler-Bk9DmVZH.mjs → BasePermissionHandler-CVtH-snr.mjs} +1 -1
- package/dist/{BasePermissionHandler-CZ19WzsP.cjs → BasePermissionHandler-DjM16uJz.cjs} +1 -1
- package/dist/{acpSessionResume-Hto_b8MK.cjs → acpSessionResume-2BTMsB7_.cjs} +1 -1
- package/dist/{acpSessionResume-DPSfMe7r.mjs → acpSessionResume-Dxl1LRAT.mjs} +1 -1
- package/dist/{agentHome-4-odnrAk.mjs → agentHome-CHctmMzZ.mjs} +4 -4
- package/dist/{agentHome-Mveyfa24.cjs → agentHome-W17n1gnH.cjs} +4 -4
- package/dist/{api-cVvbFZVK.mjs → api-B0yN68XH.mjs} +10 -10
- package/dist/{api-DVEzYcoy.cjs → api-BDuuyys8.cjs} +10 -10
- package/dist/{apiMachine-Bd1C_JN6.cjs → apiMachine-iddD-F19.cjs} +14 -14
- package/dist/{apiMachine-M7qY1izH.mjs → apiMachine-mc9CsKuS.mjs} +14 -14
- package/dist/{attachmentContent-D8hViGiA.cjs → attachmentContent-Cc5b7TPr.cjs} +2 -2
- package/dist/{attachmentContent-NNF-Eo4O.mjs → attachmentContent-CcIdMfAx.mjs} +2 -2
- package/dist/{auth-BHw8be0X.cjs → auth-B7tVmyfX.cjs} +8 -8
- package/dist/{auth-BCHL8Fx5.mjs → auth-CyrVvWHF.mjs} +5 -5
- package/dist/{auth-CKNEKwEV.mjs → auth-DNAgkUkB.mjs} +8 -8
- package/dist/{auth-b_1h0677.cjs → auth-DQKSpaEf.cjs} +5 -5
- package/dist/{auto-D716QYa3.mjs → auto-BklCipw1.mjs} +18 -17
- package/dist/{auto-Da4rCLal.cjs → auto-CetlumDo.cjs} +18 -17
- package/dist/{bootstrap-j2RuoHVy.cjs → bootstrap-CDY-Vz8q.cjs} +2 -2
- package/dist/{bootstrap-CndcegDb.mjs → bootstrap-DfXwkUQb.mjs} +2 -2
- package/dist/{browser-DIYTnD_T.cjs → browser-D1yzC0Tu.cjs} +1 -1
- package/dist/{browser-CLsM513o.mjs → browser-vb0k1zfI.mjs} +1 -1
- package/dist/{claudeLocal-C_uUbEO_.cjs → claudeLocal-2dJIiTIq.cjs} +5 -5
- package/dist/{claudeLocal-3HbTx7K-.mjs → claudeLocal-Bid_rC_v.mjs} +5 -5
- package/dist/{claudeLocalLauncher-DXh2chq3.mjs → claudeLocalLauncher-5pzpETxd.mjs} +10 -10
- package/dist/{claudeLocalLauncher-BxWouVYk.cjs → claudeLocalLauncher-Jm5oQX5Z.cjs} +10 -10
- package/dist/{claudeSessionFork-CsU96yXX.cjs → claudeSessionFork-DsbcuDEJ.cjs} +1 -1
- package/dist/{claudeSessionFork-B4olbwfj.mjs → claudeSessionFork-DzecSBO4.mjs} +1 -1
- package/dist/{client-C8w9aQYe.mjs → client-B161HwAk.mjs} +2 -2
- package/dist/{client-CCy72Phz.cjs → client-BNmFaRXZ.cjs} +4 -4
- package/dist/{client-D8p1YjVt.mjs → client-C9Ecbtko.mjs} +4 -4
- package/dist/{client-Zqg7DXHl.mjs → client-CvjjadIE.mjs} +2 -2
- package/dist/{client-CWSfPlGD.cjs → client-D0aYWt53.cjs} +2 -2
- package/dist/{client-q1aNOKgy.cjs → client-DIfxYk7B.cjs} +2 -2
- package/dist/codex/happyMcpStdioBridge.cjs +17 -16
- package/dist/codex/happyMcpStdioBridge.mjs +17 -16
- package/dist/{codexAppServerClient-Csc-XsRV.mjs → codexAppServerClient-BlVmpjR-.mjs} +63 -5
- package/dist/{codexAppServerClient-g8npaIU9.cjs → codexAppServerClient-CO9f4Jr8.cjs} +63 -5
- package/dist/{codexCommand-BV8pTAtv.cjs → codexCommand-BfoRP6E9.cjs} +189 -68
- package/dist/{codexCommand-BS-foS_R.mjs → codexCommand-CAMR4g5o.mjs} +188 -67
- package/dist/{codexTermination-lOO15mt2.mjs → codexTermination-BvGlN02_.mjs} +1 -1
- package/dist/{codexTermination-B5WgZAWO.cjs → codexTermination-IrLZQzKC.cjs} +1 -1
- package/dist/{config-BOnZRJIG.cjs → config-BGFqQGvh.cjs} +3 -3
- package/dist/{config-Ba5ufl-D.mjs → config-CtMgGPvf.mjs} +3 -3
- package/dist/{configuration-8EAa2X9P.mjs → configuration-1FabKklB.mjs} +1 -1
- package/dist/{configuration-CAfdO4IC.cjs → configuration-C0ctLGW2.cjs} +1 -1
- package/dist/{connect-BHWHNe54.mjs → connect-0lSugpjf.mjs} +13 -13
- package/dist/{connect-2hWuvxRM.cjs → connect-DSw-2f52.cjs} +13 -13
- package/dist/{context-B-jybQhf.mjs → context-BgxbXWKS.mjs} +1 -1
- package/dist/{context-BtCz06PX.cjs → context-D-hEk5pC.cjs} +1 -1
- package/dist/{controlClient-O-vf2MkJ.mjs → controlClient-DwNnNAUx.mjs} +4 -4
- package/dist/{controlClient-mH9AxBwT.cjs → controlClient-F7hAEEy2.cjs} +3 -3
- package/dist/{createSessionMetadata-HlzlfP0U.mjs → createSessionMetadata-CG6Klinp.mjs} +2 -2
- package/dist/{createSessionMetadata-Bcn7b8QB.cjs → createSessionMetadata-DezS33OM.cjs} +2 -2
- package/dist/{defaultPermissionMode-BN3PdltF.cjs → defaultPermissionMode-5EvgRq38.cjs} +2 -2
- package/dist/{defaultPermissionMode-BPDeX4S8.mjs → defaultPermissionMode-e2bIIJG4.mjs} +2 -2
- package/dist/{deterministicJson-CruOxFA6.mjs → deterministicJson-BMwgK21e.mjs} +13 -13
- package/dist/{deterministicJson-D9pZQhU9.cjs → deterministicJson-D0LU_XbO.cjs} +13 -13
- package/dist/{doctor-BNhLBBTK.mjs → doctor-D16hySse.mjs} +7 -7
- package/dist/{doctor-lHD1YZH6.cjs → doctor-wVNvRarN.cjs} +7 -7
- package/dist/{downloadTarget-ByTxs_N5.mjs → downloadTarget-C6tqaXGm.mjs} +6 -6
- package/dist/{downloadTarget-BhkQxTa8.cjs → downloadTarget-aNcCxVRL.cjs} +6 -6
- package/dist/{ensureDaemonRunning-BiCK6RiS.cjs → ensureDaemonRunning-CIghxgDR.cjs} +5 -5
- package/dist/{ensureDaemonRunning-Cv0AMaHK.mjs → ensureDaemonRunning-DZq8bvsp.mjs} +5 -5
- package/dist/{handleResumeCommand-Cy_KW0LN.mjs → handleResumeCommand-BNnD7EuD.mjs} +5 -5
- package/dist/{handleResumeCommand-WB4VDeKk.cjs → handleResumeCommand-CMUTygsm.cjs} +5 -5
- package/dist/{index-BpWESchl.cjs → index-4TpmBb2Q.cjs} +3 -3
- package/dist/{index-Vtcax4oD.cjs → index-B81qV_F_.cjs} +4 -4
- package/dist/{index-CVMbboXv.mjs → index-BCQr-5Ei.mjs} +4 -4
- package/dist/{index-BumVulwx.cjs → index-BOe6dKnL.cjs} +215 -18
- package/dist/{index-CdOz1uDl.mjs → index-BuiG8hmg.mjs} +94 -45
- package/dist/{index-BpSpw6jG.mjs → index-CKd20r1W.mjs} +3 -3
- package/dist/{index-B44ft-m4.cjs → index-CnzsOD19.cjs} +93 -44
- package/dist/{index-Bcp-PEGc.cjs → index-De02DNu5.cjs} +4 -4
- package/dist/{index-lWXWV0H2.mjs → index-Df0bc_et.mjs} +4 -4
- package/dist/{index-B9f1vKcC.mjs → index-WKyN-bNy.mjs} +212 -17
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-mK93DJ6L.mjs → install-23ehAdTD.mjs} +3 -3
- package/dist/{install-DdRVv9IS.cjs → install-DNbIEJUk.cjs} +3 -3
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +14 -0
- package/dist/lib.d.mts +14 -0
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-XyjQaZtU.cjs → lidState-B4dHJCeS.cjs} +1 -1
- package/dist/{lidState-LtdUCXi-.mjs → lidState-q5Its2Hm.mjs} +1 -1
- package/dist/{localHappyAgentAuth-C9Aj_wGD.cjs → localHappyAgentAuth-CG2nPD_H.cjs} +1 -1
- package/dist/{localHappyAgentAuth-DqFE0Adr.mjs → localHappyAgentAuth-C_G5u5lY.mjs} +1 -1
- package/dist/{logger-BILSzq2s.cjs → logger-BP1SW7Cs.cjs} +2 -2
- package/dist/{logger-SAU4uSs4.mjs → logger-DOKH3Zbh.mjs} +2 -2
- package/dist/{machineMetadata-C5TgUTpD.cjs → machineMetadata-BKX3ov9g.cjs} +3 -3
- package/dist/{machineMetadata-ZVnihOuL.mjs → machineMetadata-D-5qeIqd.mjs} +3 -3
- package/dist/{main-BjOHtX8u.mjs → main-DODz8DQE.mjs} +46 -46
- package/dist/{main-CVfx_-l7.cjs → main-ndpVIaSG.cjs} +46 -46
- package/dist/{mcp-CWVr7KbQ.mjs → mcp-BBwbSODp.mjs} +16 -15
- package/dist/{mcp-By9XK193.cjs → mcp-Bc4U4exu.cjs} +16 -15
- package/dist/{mirrorProtocol-C0wyaesn.cjs → mirrorProtocol-CiA3hO2y.cjs} +3 -3
- package/dist/{mirrorProtocol-BI6XbokT.mjs → mirrorProtocol-D2vTWteS.mjs} +3 -3
- package/dist/{package-Bbfq2KR7.cjs → package-CYDdLA6R.cjs} +7 -7
- package/dist/{package-BMBwnCn3.mjs → package-DTcaIhjW.mjs} +7 -7
- package/dist/{panels-rQmysHlY.cjs → panels-C2xZ8rqU.cjs} +5 -5
- package/dist/{panels-CbIUwV6q.mjs → panels-DCaLxlSL.mjs} +5 -5
- package/dist/{peerTools-CZfiq_Dx.cjs → peerTools-B4315xjX.cjs} +5 -5
- package/dist/{peerTools-CyruQrOo.mjs → peerTools-BtrUnSwz.mjs} +5 -5
- package/dist/{persistence-C7T3HYjq.mjs → persistence-0INrP3aB.mjs} +2 -2
- package/dist/{persistence-DPeSC0SK.cjs → persistence-CrzC7yr_.cjs} +2 -2
- package/dist/{piRunnerArgs-DAq8vIpP.cjs → piRunnerArgs-BtzW_kfh.cjs} +1 -1
- package/dist/{piRunnerArgs-CsWompo8.mjs → piRunnerArgs-DRuxMlX1.mjs} +1 -1
- package/dist/{piRuntime-Dxd8Gfun.mjs → piRuntime-BMAFpIBV.mjs} +1 -1
- package/dist/{piRuntime-CFqlQFoz.cjs → piRuntime-DEbPE_kW.cjs} +1 -1
- package/dist/{piTerminal-BssuKDtJ.mjs → piTerminal-DQXV8_we.mjs} +18 -17
- package/dist/{piTerminal-DHG3Kzve.cjs → piTerminal-MtxDtBE2.cjs} +18 -17
- package/dist/{pushNotifications-CsSyhnHu.cjs → pushNotifications-CalIS9sq.cjs} +3 -3
- package/dist/{pushNotifications-Bi72c41d.mjs → pushNotifications-Cq1s8YVK.mjs} +3 -3
- package/dist/{query-BQOwsKS1.mjs → query-BYiPBHPC.mjs} +1 -1
- package/dist/{query-Cuef299f.cjs → query-CE2XDhhw.cjs} +1 -1
- package/dist/{specialCommands-35KxDNE8.cjs → rateLimitReporter-BKmoOZQi.cjs} +3 -55
- package/dist/{specialCommands-CTtmGCCf.mjs → rateLimitReporter-DR5LXuiQ.mjs} +4 -55
- package/dist/{rateLimitWindows-B6IAWYN5.mjs → rateLimitWindows-5vIuNjko.mjs} +1 -1
- package/dist/{rateLimitWindows-bfwC81Z-.cjs → rateLimitWindows-Cs56YJCH.cjs} +1 -1
- package/dist/{registerCommonHandlers-qzb6TQqo.mjs → registerCommonHandlers-DWkTysjD.mjs} +2 -2
- package/dist/{registerCommonHandlers-CQC04iF3.cjs → registerCommonHandlers-DZPozYxc.cjs} +2 -2
- package/dist/{registerKillSessionHandler-DMPrrNKX.mjs → registerKillSessionHandler-CSCTRIbI.mjs} +34 -6
- package/dist/{registerKillSessionHandler-BraKB5Ks.cjs → registerKillSessionHandler-DhCjrs44.cjs} +34 -6
- package/dist/{remoteSessionClient-DffolBcQ.cjs → remoteSessionClient-Dq8XTLQP.cjs} +5 -5
- package/dist/{remoteSessionClient-D3XhN_sd.mjs → remoteSessionClient-Vfj_5g2-.mjs} +5 -5
- package/dist/{reportProgressTool-irHR-XEW.mjs → reportProgressTool-B7zmX7NJ.mjs} +3 -3
- package/dist/{reportProgressTool-BieTXE_R.cjs → reportProgressTool-DznxPKES.cjs} +3 -3
- package/dist/{run-Ck_WA6Nj.cjs → run-Ca8BiNCp.cjs} +36 -35
- package/dist/{run-DCUaxe2S.mjs → run-DSfNcR62.mjs} +36 -35
- package/dist/{runClaude-BUGku2Qp.cjs → runClaude-ClQQcgoO.cjs} +22 -22
- package/dist/{runClaude-BryAvfNV.mjs → runClaude-hoepv-0X.mjs} +22 -22
- package/dist/{runClaudeDeps-BZkWM9_u.mjs → runClaudeDeps-D_v8t2SK.mjs} +88 -55
- package/dist/{runClaudeDeps-Dbk1VrOW.cjs → runClaudeDeps-ck5_GYlP.cjs} +85 -52
- package/dist/{runGemini-DT379gpi.mjs → runGemini-CTr2-cYG.mjs} +38 -33
- package/dist/{runGemini-B6AZ2bv0.cjs → runGemini-Cj0XsMiM.cjs} +38 -33
- package/dist/{runOpenClaw-eBUYlIVJ.cjs → runOpenClaw-BoN1e3lP.cjs} +23 -18
- package/dist/{runOpenClaw-Bpp9mkyO.mjs → runOpenClaw-CdDMntiV.mjs} +23 -18
- package/dist/{sandbox-Bv4H1P6u.cjs → sandbox-BY2h19gc.cjs} +4 -4
- package/dist/{sandbox-Z8TM9eUg.mjs → sandbox-DcaWB-Ou.mjs} +4 -4
- package/dist/selfCheck-BQ_H2Sns.mjs +86 -0
- package/dist/{selfCheck--1k2Ptf6.cjs → selfCheck-DFS_GUaQ.cjs} +37 -37
- package/dist/{send-BG4KYe6f.cjs → send-BMsUYU6g.cjs} +9 -8
- package/dist/{send-CKTovWuQ.mjs → send-UBTHHNvZ.mjs} +9 -8
- package/dist/{server-DLpXtoiZ.mjs → server-Dt3mCtfQ.mjs} +4 -4
- package/dist/{server-BTNwH-sA.cjs → server-YrHMHNz1.cjs} +6 -6
- package/dist/{sessionLock-Cf6RlgfF.cjs → sessionLock-DSqiP2lH.cjs} +3 -3
- package/dist/{sessionLock-DhzB5ZI9.mjs → sessionLock-tEFvFXLD.mjs} +3 -3
- package/dist/{sessionOps-R52JWMnX.cjs → sessionOps-BzeOKIEF.cjs} +27 -4
- package/dist/{sessionOps-CiFjBCMa.mjs → sessionOps-CljctDs5.mjs} +27 -4
- package/dist/{sessionProvider-f2tUhwBc.mjs → sessionProvider-BnUFSJXM.mjs} +5 -5
- package/dist/{sessionProvider-LATn-lZL.cjs → sessionProvider-ORgzmkXy.cjs} +5 -5
- package/dist/{sessionScanner-DRzZtGtu.cjs → sessionScanner-Cr6PJ3PT.cjs} +3 -3
- package/dist/{sessionScanner-lS1puA5H.mjs → sessionScanner-DZUlkdF6.mjs} +3 -3
- package/dist/{sessions-D01nnjOE.mjs → sessions-15cag-su.mjs} +11 -10
- package/dist/{sessions-DGd8Fin6.cjs → sessions-aIo_HjmY.cjs} +11 -10
- package/dist/{setupOfflineReconnection-UApZjcU5.mjs → setupOfflineReconnection-B7I8R2Ex.mjs} +2 -2
- package/dist/{setupOfflineReconnection-Ds7ywGwR.cjs → setupOfflineReconnection-tV0Q1dgR.cjs} +2 -2
- package/dist/{spawn-ct8aSMA8.mjs → spawn-ByrQgruJ.mjs} +70 -28
- package/dist/{spawn-CT3g4p8A.cjs → spawn-VG-HjJiR.cjs} +70 -27
- package/dist/{spawnAgents-f2q31uUV.mjs → spawnAgents-Bh1RPShN.mjs} +24 -11
- package/dist/{spawnAgents-DsJSyLDl.cjs → spawnAgents-C1-4m7aN.cjs} +24 -10
- package/dist/{spawnHappyCLI-Dp05fHcp.mjs → spawnHappyCLI-CEsXwz5V.mjs} +1 -1
- package/dist/{spawnHappyCLI-DedrWByd.cjs → spawnHappyCLI-CxiR2Qoy.cjs} +1 -1
- package/dist/specialCommands-J3JFOq0J.cjs +60 -0
- package/dist/specialCommands-MXUN0wfI.mjs +54 -0
- package/dist/{startFileWatcher-72w11DP_.cjs → startFileWatcher-C-XCZ5t2.cjs} +1 -1
- package/dist/{startFileWatcher-BLdxJdgu.mjs → startFileWatcher-DkEeeAtL.mjs} +1 -1
- package/dist/{startupSessionCreate-Cy4J4-Ep.cjs → startupSessionCreate-CYc8mra-.cjs} +1 -1
- package/dist/{startupSessionCreate-CJFR_Zom.mjs → startupSessionCreate-npXe2TdN.mjs} +1 -1
- package/dist/{streamRelay-B3FloUTT.mjs → streamRelay-CqBynIon.mjs} +1 -1
- package/dist/{streamRelay-Cn_uGG6m.cjs → streamRelay-D9a4cBEa.cjs} +1 -1
- package/dist/{sync-BWX1OVQi.mjs → sync-BvDMkKAN.mjs} +1 -1
- package/dist/{sync-lxDpbIh3.cjs → sync-CoChLEIg.cjs} +1 -1
- package/dist/{systemPrompt-BIilbjt_.mjs → systemPrompt-CgDaPigN.mjs} +2 -2
- package/dist/{systemPrompt-0DqWPGY6.cjs → systemPrompt-Dy_Rf-0Z.cjs} +2 -2
- package/dist/{teams-CvpB8Rdm.mjs → teams-BC4_e5hR.mjs} +7 -7
- package/dist/{teams-CImmJLlM.cjs → teams-DPvfLAk8.cjs} +7 -7
- package/dist/{template-DPsqlHJQ.cjs → template-17HATY_Y.cjs} +1 -1
- package/dist/{template-DuKZw-Sz.mjs → template-CEK8MEjo.mjs} +1 -1
- package/dist/{time-DjS5me2q.mjs → time-CUK37wiV.mjs} +1 -1
- package/dist/{time-BbQJi3Eh.cjs → time-XwEZxKGc.cjs} +1 -1
- package/dist/{titleGenerator-CfJme6ep.cjs → titleGenerator-DVX0NZUn.cjs} +2 -2
- package/dist/{titleGenerator-CGdBp5lQ.mjs → titleGenerator-DWRVdqMU.mjs} +1 -1
- package/dist/{todo-BxfUKwTM.mjs → todo-BNMGXneA.mjs} +6 -6
- package/dist/{todo-rN20m9lT.cjs → todo-CKGrSrRE.cjs} +6 -6
- package/dist/{tools-B_W7xJNh.mjs → tools-CCIEAVbB.mjs} +1 -1
- package/dist/{tools-kGtSjG8h.cjs → tools-CjMafO_D.cjs} +1 -1
- package/dist/{uninstall-CBQsxEmD.cjs → uninstall-BdFbTXnL.cjs} +3 -3
- package/dist/{uninstall-DUjvgLlg.mjs → uninstall-CJvJ7gjr.mjs} +3 -3
- package/package.json +7 -7
- package/dist/selfCheck-DIGghfQz.mjs +0 -86
|
@@ -1,105 +1,106 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
2
|
-
import { q as notifyDaemonSessionEvent, t as notifyDaemonClaudeAuthFailed } from './controlClient-
|
|
3
|
-
export { k as reportSessionEditToDaemon } from './controlClient-
|
|
1
|
+
import { l as logger } from './logger-DOKH3Zbh.mjs';
|
|
2
|
+
import { q as notifyDaemonSessionEvent, t as notifyDaemonClaudeAuthFailed } from './controlClient-DwNnNAUx.mjs';
|
|
3
|
+
export { k as reportSessionEditToDaemon } from './controlClient-DwNnNAUx.mjs';
|
|
4
4
|
import { s as sameBackgroundTasks, c as createBackgroundTaskTracker } from './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
5
|
-
import { c as createProjectInjector, h as hashObject, l as leadBoardFor } from './deterministicJson-
|
|
6
|
-
export { s as startHappyServer } from './deterministicJson-
|
|
7
|
-
import { s as sharedProjectsClient } from './client-
|
|
5
|
+
import { c as createProjectInjector, h as hashObject, l as leadBoardFor } from './deterministicJson-BMwgK21e.mjs';
|
|
6
|
+
export { s as startHappyServer } from './deterministicJson-BMwgK21e.mjs';
|
|
7
|
+
import { s as sharedProjectsClient } from './client-B161HwAk.mjs';
|
|
8
8
|
import { randomInt, randomUUID, createHash } from 'node:crypto';
|
|
9
|
+
import { a as parseSpecialCommand } from './specialCommands-MXUN0wfI.mjs';
|
|
9
10
|
import { M as MessageBuffer } from './sessionExitLifecycle-CzkLIgNZ.mjs';
|
|
10
11
|
export { S as SessionExitGate, e as exitIntentFromArchiveFlag, s as settleSessionOnExit } from './sessionExitLifecycle-CzkLIgNZ.mjs';
|
|
11
|
-
import { q as query } from './query-
|
|
12
|
+
import { q as query } from './query-BYiPBHPC.mjs';
|
|
12
13
|
import { AbortError } from '@anthropic-ai/claude-agent-sdk';
|
|
13
14
|
import { m as mapToClaudeMode, p as parseClaudePermissionMode, c as resolveRemoteClaudePermissionMode } from './permissionMode-CH4FoZfU.mjs';
|
|
14
|
-
import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-
|
|
15
|
+
import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-CgDaPigN.mjs';
|
|
15
16
|
import { join, resolve, dirname } from 'node:path';
|
|
16
|
-
import { p as parseSpecialCommand, w as wrapperRateLimitReporter } from './specialCommands-CTtmGCCf.mjs';
|
|
17
17
|
import 'axios';
|
|
18
18
|
import 'node:events';
|
|
19
19
|
import 'socket.io-client';
|
|
20
|
-
import { A as AsyncLock } from './pushNotifications-
|
|
20
|
+
import { A as AsyncLock } from './pushNotifications-Cq1s8YVK.mjs';
|
|
21
21
|
import 'tweetnacl';
|
|
22
|
-
import { c as configuration, e as ensurePrivateDirectory } from './configuration-
|
|
23
|
-
import './index-
|
|
24
|
-
import './registerCommonHandlers-
|
|
22
|
+
import { c as configuration, e as ensurePrivateDirectory } from './configuration-1FabKklB.mjs';
|
|
23
|
+
import './index-WKyN-bNy.mjs';
|
|
24
|
+
import './registerCommonHandlers-DWkTysjD.mjs';
|
|
25
25
|
import 'os';
|
|
26
26
|
import 'child_process';
|
|
27
27
|
import '@paralleldrive/cuid2';
|
|
28
|
-
import './persistence-
|
|
28
|
+
import './persistence-0INrP3aB.mjs';
|
|
29
29
|
import { c as contentLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
|
|
30
30
|
import 'chalk';
|
|
31
31
|
import { R as RawJSONLinesSchema } from './types-CkqAACXx.mjs';
|
|
32
32
|
import { g as getProjectPath } from './path-D2wdaNSk.mjs';
|
|
33
33
|
import { access } from 'fs/promises';
|
|
34
|
-
import { d as delay } from './time-
|
|
34
|
+
import { d as delay } from './time-CUK37wiV.mjs';
|
|
35
35
|
import { mkdirSync, writeFileSync, readFileSync, unlinkSync, renameSync, statSync, existsSync } from 'node:fs';
|
|
36
|
-
import { F as Future, d as describeClaudeProcessExit } from './sessionScanner-
|
|
37
|
-
export { c as createSessionScanner } from './sessionScanner-
|
|
36
|
+
import { F as Future, d as describeClaudeProcessExit } from './sessionScanner-DZUlkdF6.mjs';
|
|
37
|
+
export { c as createSessionScanner } from './sessionScanner-DZUlkdF6.mjs';
|
|
38
38
|
import { execSync } from 'node:child_process';
|
|
39
|
-
import { S as StreamRelay } from './streamRelay-
|
|
40
|
-
import { C as CLAUDE_ATTACHMENT_KINDS, c as chatAttachmentDirectory, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-
|
|
39
|
+
import { S as StreamRelay } from './streamRelay-CqBynIon.mjs';
|
|
40
|
+
import { C as CLAUDE_ATTACHMENT_KINDS, c as chatAttachmentDirectory, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-CcIdMfAx.mjs';
|
|
41
41
|
import { writeFile, rename, unlink, readFile } from 'node:fs/promises';
|
|
42
|
-
import { F as ForkSourceMissingError } from './claudeSessionFork-
|
|
43
|
-
|
|
44
|
-
export {
|
|
42
|
+
import { F as ForkSourceMissingError } from './claudeSessionFork-DzecSBO4.mjs';
|
|
43
|
+
import { w as wrapperRateLimitReporter } from './rateLimitReporter-DR5LXuiQ.mjs';
|
|
44
|
+
export { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-CSCTRIbI.mjs';
|
|
45
|
+
export { g as getEnvironmentInfo } from './doctor-D16hySse.mjs';
|
|
45
46
|
import { createServer } from 'node:http';
|
|
46
47
|
export { E as EditReportThrottle, b as extractClaudeEditPaths } from './editPaths-BVfS_FFL.mjs';
|
|
47
48
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
48
49
|
export { s as snapshotTree, t as terminateSurvivors } from './processTreeSnapshot-CuLJDNC-.mjs';
|
|
49
|
-
import { r as resolveClaudeBinary, a as runClaudeOneShot } from './titleGenerator-
|
|
50
|
-
export { T as TitleGenerator } from './titleGenerator-
|
|
50
|
+
import { r as resolveClaudeBinary, a as runClaudeOneShot } from './titleGenerator-DWRVdqMU.mjs';
|
|
51
|
+
export { T as TitleGenerator } from './titleGenerator-DWRVdqMU.mjs';
|
|
51
52
|
import { B as BOARD_ANALYZER_PROMPT_PREFIX } from './oneShotPrompts-DT4p6RNd.mjs';
|
|
52
|
-
import { i as isSelfReportFresh } from './reportProgressTool-
|
|
53
|
-
export { c as createSelfReportState } from './reportProgressTool-
|
|
53
|
+
import { i as isSelfReportFresh } from './reportProgressTool-B7zmX7NJ.mjs';
|
|
54
|
+
export { c as createSelfReportState } from './reportProgressTool-B7zmX7NJ.mjs';
|
|
54
55
|
import 'node:util';
|
|
55
56
|
import './prompt-QHuFx9j6.mjs';
|
|
56
57
|
import 'node:os';
|
|
57
58
|
import 'zod';
|
|
58
59
|
import './pi-CqyoZMjI.mjs';
|
|
59
60
|
import './fileStore-5qpetZS0.mjs';
|
|
60
|
-
import './client-
|
|
61
|
-
import './context-
|
|
62
|
-
import './sessionOps-
|
|
61
|
+
import './client-C9Ecbtko.mjs';
|
|
62
|
+
import './context-BgxbXWKS.mjs';
|
|
63
|
+
import './sessionOps-CljctDs5.mjs';
|
|
63
64
|
import './authRelay-DhQhkBvX.mjs';
|
|
64
65
|
import './resources-CLP_MpK4.mjs';
|
|
65
|
-
import './tools-
|
|
66
|
-
import './peerTools-
|
|
66
|
+
import './tools-CCIEAVbB.mjs';
|
|
67
|
+
import './peerTools-BtrUnSwz.mjs';
|
|
67
68
|
import './ids-DU6sLx4C.mjs';
|
|
68
|
-
import './remoteSessionClient-
|
|
69
|
+
import './remoteSessionClient-Vfj_5g2-.mjs';
|
|
69
70
|
import '@modelcontextprotocol/sdk/server/mcp.js';
|
|
70
71
|
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
71
72
|
import './limits-DIo7rEBR.mjs';
|
|
72
|
-
import './downloadTarget-
|
|
73
|
+
import './downloadTarget-C6tqaXGm.mjs';
|
|
73
74
|
import './terminals-Dlg0x3nY.mjs';
|
|
74
75
|
import './terminalTitleSuggest-CeKsX_V6.mjs';
|
|
75
76
|
import './tmuxSocket-B8Yx20sT.mjs';
|
|
76
|
-
import './bootstrap-
|
|
77
|
-
import './package-
|
|
77
|
+
import './bootstrap-DfXwkUQb.mjs';
|
|
78
|
+
import './package-DTcaIhjW.mjs';
|
|
78
79
|
import './agentGuidance-BDYt2Qy2.mjs';
|
|
79
80
|
import './trimIdent-BAjmv_TG.mjs';
|
|
80
81
|
import './webPanels-B2_C2-3g.mjs';
|
|
81
82
|
import './previewPath-CXN4Vag0.mjs';
|
|
82
83
|
import 'crypto';
|
|
83
84
|
import './promptCacheTtl-Ce0TVbrx.mjs';
|
|
84
|
-
import './rateLimitWindows-B6IAWYN5.mjs';
|
|
85
85
|
import 'util';
|
|
86
86
|
import 'path';
|
|
87
87
|
import 'cross-spawn';
|
|
88
|
-
import './sync-
|
|
88
|
+
import './sync-BvDMkKAN.mjs';
|
|
89
89
|
import './transcriptCursor-B7T_gkQ0.mjs';
|
|
90
|
-
import './startFileWatcher-
|
|
90
|
+
import './startFileWatcher-DkEeeAtL.mjs';
|
|
91
91
|
import 'node:readline';
|
|
92
|
+
import './rateLimitWindows-5vIuNjko.mjs';
|
|
92
93
|
import './doctor-BPkYWSuq.mjs';
|
|
93
94
|
import 'ps-list';
|
|
94
95
|
import './doctorReadiness-C208SMN9.mjs';
|
|
95
96
|
import './detectCLI-CSGMlV51.mjs';
|
|
96
97
|
import 'fs';
|
|
97
98
|
import './cliUpdate-Y34VGe9Y.mjs';
|
|
98
|
-
import './piRunnerArgs-
|
|
99
|
-
import './acpSessionResume-
|
|
99
|
+
import './piRunnerArgs-DRuxMlX1.mjs';
|
|
100
|
+
import './acpSessionResume-Dxl1LRAT.mjs';
|
|
100
101
|
import 'url';
|
|
101
102
|
import 'node:module';
|
|
102
|
-
import './client-
|
|
103
|
+
import './client-CvjjadIE.mjs';
|
|
103
104
|
import './precheckCompat-DeEbilbr.mjs';
|
|
104
105
|
|
|
105
106
|
const SCHEDULE_WAKEUP_GRACE_MS = 6e4;
|
|
@@ -455,10 +456,13 @@ class Session {
|
|
|
455
456
|
}
|
|
456
457
|
};
|
|
457
458
|
/**
|
|
458
|
-
* Clear the current session ID (used by /clear command)
|
|
459
|
+
* Clear the current session ID (used by /clear command). The next turn
|
|
460
|
+
* starts a conversation that never saw the project prefix, so it carries
|
|
461
|
+
* the full prefix again instead of only a digest (B-845).
|
|
459
462
|
*/
|
|
460
463
|
clearSessionId = () => {
|
|
461
464
|
this.sessionId = null;
|
|
465
|
+
this._projectInjector?.reset();
|
|
462
466
|
logger.debug("[Session] Session ID cleared");
|
|
463
467
|
};
|
|
464
468
|
/**
|
|
@@ -655,6 +659,14 @@ function createRuntimeControls(isThinking) {
|
|
|
655
659
|
return { setQuery, observe, request, stopRunningTasks };
|
|
656
660
|
}
|
|
657
661
|
|
|
662
|
+
async function finalizeRemotePrompt(prompt, deps) {
|
|
663
|
+
const command = parseSpecialCommand(prompt).type;
|
|
664
|
+
if (command === "compact" || command === "clear") return prompt;
|
|
665
|
+
deps.board?.onTurnStart(deps.sourceIds);
|
|
666
|
+
const text = deps.board ? await deps.board.decorate(prompt) : prompt;
|
|
667
|
+
return deps.project.decorate(text);
|
|
668
|
+
}
|
|
669
|
+
|
|
658
670
|
const CLAUDE_COMMAND_LIFECYCLE_STATES = ["queued", "started", "completed", "cancelled", "discarded", "refused"];
|
|
659
671
|
function readClaudeCommandLifecycle(frame) {
|
|
660
672
|
const m = frame;
|
|
@@ -914,6 +926,18 @@ async function awaitFileExist(file, timeout = 1e4) {
|
|
|
914
926
|
return false;
|
|
915
927
|
}
|
|
916
928
|
|
|
929
|
+
function readCompactStatus(message) {
|
|
930
|
+
if (!message || typeof message !== "object") return null;
|
|
931
|
+
const frame = message;
|
|
932
|
+
if (frame.type !== "system" || frame.subtype !== "status" || typeof frame.compact_result !== "string") return null;
|
|
933
|
+
return typeof frame.compact_error === "string" && frame.compact_error.trim() ? { result: frame.compact_result, error: frame.compact_error.trim() } : { result: frame.compact_result };
|
|
934
|
+
}
|
|
935
|
+
function compactOutcomeEvent(result, status) {
|
|
936
|
+
if (result.subtype !== "success") return `Compaction failed: ${result.errors?.join("\n") || result.subtype}`;
|
|
937
|
+
if (status && status.result !== "success") return `Compaction failed: ${status.error ?? status.result}`;
|
|
938
|
+
return "Compaction completed";
|
|
939
|
+
}
|
|
940
|
+
|
|
917
941
|
const SDK_TIMING_FIELDS = ["ttft_ms", "time_to_request_ms", "time_to_request_from_spawn_ms"];
|
|
918
942
|
function delta(from, to) {
|
|
919
943
|
if (typeof from !== "number" || typeof to !== "number" || to < from) return "-";
|
|
@@ -1449,10 +1473,12 @@ async function claudeRemote(opts) {
|
|
|
1449
1473
|
if (opts.onSessionReset) {
|
|
1450
1474
|
opts.onSessionReset();
|
|
1451
1475
|
}
|
|
1476
|
+
opts.onStartArgsUsed?.();
|
|
1452
1477
|
opts.onReady();
|
|
1453
1478
|
return;
|
|
1454
1479
|
}
|
|
1455
1480
|
let isCompactCommand = false;
|
|
1481
|
+
let compactStatus = null;
|
|
1456
1482
|
if (specialCommand.type === "compact") {
|
|
1457
1483
|
logger.debug("[claudeRemote] /compact command detected - will process as normal but with compaction behavior");
|
|
1458
1484
|
isCompactCommand = true;
|
|
@@ -1503,6 +1529,7 @@ async function claudeRemote(opts) {
|
|
|
1503
1529
|
}
|
|
1504
1530
|
warm = null;
|
|
1505
1531
|
w.lease.adopt();
|
|
1532
|
+
opts.onStartArgsUsed?.();
|
|
1506
1533
|
adopted = { response: w.response, messages: w.messages, models: hs.models };
|
|
1507
1534
|
logger.debug(formatPrewarmLine("adopted", {
|
|
1508
1535
|
warmForMs: adoptStart - w.startedAt,
|
|
@@ -1537,6 +1564,7 @@ async function claudeRemote(opts) {
|
|
|
1537
1564
|
messages = new PushableAsyncIterable();
|
|
1538
1565
|
messages.push(initialUserMessage);
|
|
1539
1566
|
timingMarks.spawnAt = Date.now();
|
|
1567
|
+
opts.onStartArgsUsed?.();
|
|
1540
1568
|
response = query({
|
|
1541
1569
|
prompt: messages,
|
|
1542
1570
|
options: buildSdkOptions(initial.mode, { settingsPath: opts.hookSettingsPath, abort: opts.signal })
|
|
@@ -1711,6 +1739,7 @@ async function claudeRemote(opts) {
|
|
|
1711
1739
|
opts.onStreamFrame({ type: "system", subtype: "status", status: status.status });
|
|
1712
1740
|
}
|
|
1713
1741
|
}
|
|
1742
|
+
if (isCompactCommand) compactStatus = readCompactStatus(message) ?? compactStatus;
|
|
1714
1743
|
const outboundMessage = isCompactCommand && message.type === "assistant" ? { ...message, isCompactSummary: true } : message;
|
|
1715
1744
|
opts.onMessage(outboundMessage);
|
|
1716
1745
|
const lifecycle = readClaudeCommandLifecycle(message);
|
|
@@ -1778,12 +1807,11 @@ async function claudeRemote(opts) {
|
|
|
1778
1807
|
logger.warn(`[claudeRemote] ${denials.length} tool call(s) auto-denied by Claude Code policy: ${denials.map((d) => d.tool_name ?? "?").join(", ")}`);
|
|
1779
1808
|
}
|
|
1780
1809
|
if (isCompactCommand) {
|
|
1781
|
-
const
|
|
1782
|
-
logger.debug(`[claudeRemote]
|
|
1783
|
-
|
|
1784
|
-
opts.onCompletionEvent(message.subtype === "success" ? "Compaction completed" : `Compaction failed: ${message.errors?.join("\n") || message.subtype}`);
|
|
1785
|
-
}
|
|
1810
|
+
const outcome = compactOutcomeEvent(message, compactStatus);
|
|
1811
|
+
logger.debug(`[claudeRemote] ${outcome}`);
|
|
1812
|
+
opts.onCompletionEvent?.(outcome);
|
|
1786
1813
|
isCompactCommand = false;
|
|
1814
|
+
compactStatus = null;
|
|
1787
1815
|
}
|
|
1788
1816
|
if (endsTurn) opts.onReady(message);
|
|
1789
1817
|
if (recycleIfPoisoned(message)) continue;
|
|
@@ -4087,6 +4115,7 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
|
|
|
4087
4115
|
const attachmentDirectory = chatAttachmentDirectory(configuration.happyHomeDir, session.client.sessionId);
|
|
4088
4116
|
await ensurePrivateDirectory(attachmentDirectory);
|
|
4089
4117
|
launchPrewarm = session.takeClaudePrewarm();
|
|
4118
|
+
let startArgsUsed = false;
|
|
4090
4119
|
const remoteResult = await claudeRemote({
|
|
4091
4120
|
prewarm: launchPrewarm ?? void 0,
|
|
4092
4121
|
sessionId: session.sessionId,
|
|
@@ -4105,10 +4134,11 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
|
|
|
4105
4134
|
nextMessage: async () => {
|
|
4106
4135
|
let batchSourceIds;
|
|
4107
4136
|
const finalize = async (prompt) => {
|
|
4108
|
-
const
|
|
4109
|
-
|
|
4110
|
-
|
|
4111
|
-
|
|
4137
|
+
const out = await finalizeRemotePrompt(prompt, {
|
|
4138
|
+
board: leadBoardFor(session.client),
|
|
4139
|
+
project: session.projectInjector,
|
|
4140
|
+
sourceIds: batchSourceIds
|
|
4141
|
+
});
|
|
4112
4142
|
onPromptFinalized?.(out);
|
|
4113
4143
|
return out;
|
|
4114
4144
|
};
|
|
@@ -4283,9 +4313,12 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
|
|
|
4283
4313
|
}
|
|
4284
4314
|
});
|
|
4285
4315
|
},
|
|
4286
|
-
signal: abortController.signal
|
|
4316
|
+
signal: abortController.signal,
|
|
4317
|
+
onStartArgsUsed: () => {
|
|
4318
|
+
startArgsUsed = true;
|
|
4319
|
+
}
|
|
4287
4320
|
});
|
|
4288
|
-
session.consumeOneTimeFlags();
|
|
4321
|
+
if (startArgsUsed) session.consumeOneTimeFlags();
|
|
4289
4322
|
if (!exitReason && abortController.signal.aborted && !silentRelaunch) {
|
|
4290
4323
|
session.client.closeClaudeSessionTurn("cancelled");
|
|
4291
4324
|
session.client.sendSessionEvent({ type: "message", message: "Aborted by user" });
|
|
@@ -4390,7 +4423,7 @@ async function loop(opts) {
|
|
|
4390
4423
|
logger.debug(`[loop] Iteration with mode: ${mode}`);
|
|
4391
4424
|
switch (mode) {
|
|
4392
4425
|
case "local": {
|
|
4393
|
-
const { claudeLocalLauncher } = await import('./claudeLocalLauncher-
|
|
4426
|
+
const { claudeLocalLauncher } = await import('./claudeLocalLauncher-5pzpETxd.mjs');
|
|
4394
4427
|
const result = await claudeLocalLauncher(session);
|
|
4395
4428
|
switch (result.type) {
|
|
4396
4429
|
case "switch":
|
|
@@ -4731,7 +4764,7 @@ function registerSideQuestionHandler(rpc, deps) {
|
|
|
4731
4764
|
const retainMs = deps.retainMs ?? SIDE_QUESTION_RETAIN_MS;
|
|
4732
4765
|
const maxRunMs = deps.maxRunMs ?? SIDE_QUESTION_MAX_RUN_MS;
|
|
4733
4766
|
const fork = deps.run ?? (async (input) => {
|
|
4734
|
-
const { query } = await import('./index-
|
|
4767
|
+
const { query } = await import('./index-BCQr-5Ei.mjs');
|
|
4735
4768
|
return runSideQuestion(query, input);
|
|
4736
4769
|
});
|
|
4737
4770
|
const run = async (input, live) => {
|
|
@@ -1,101 +1,102 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var logger = require('./logger-
|
|
4
|
-
var controlClient = require('./controlClient-
|
|
3
|
+
var logger = require('./logger-BP1SW7Cs.cjs');
|
|
4
|
+
var controlClient = require('./controlClient-F7hAEEy2.cjs');
|
|
5
5
|
var backgroundTaskActivity = require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
6
|
-
var deterministicJson = require('./deterministicJson-
|
|
7
|
-
var client = require('./client-
|
|
6
|
+
var deterministicJson = require('./deterministicJson-D0LU_XbO.cjs');
|
|
7
|
+
var client = require('./client-DIfxYk7B.cjs');
|
|
8
8
|
var node_crypto = require('node:crypto');
|
|
9
|
+
var specialCommands = require('./specialCommands-J3JFOq0J.cjs');
|
|
9
10
|
var sessionExitLifecycle = require('./sessionExitLifecycle-DFltxXU8.cjs');
|
|
10
|
-
var query = require('./query-
|
|
11
|
+
var query = require('./query-CE2XDhhw.cjs');
|
|
11
12
|
var claudeAgentSdk = require('@anthropic-ai/claude-agent-sdk');
|
|
12
13
|
var permissionMode = require('./permissionMode-CrV-XuMs.cjs');
|
|
13
|
-
var systemPrompt = require('./systemPrompt-
|
|
14
|
+
var systemPrompt = require('./systemPrompt-Dy_Rf-0Z.cjs');
|
|
14
15
|
var path$1 = require('node:path');
|
|
15
|
-
var specialCommands = require('./specialCommands-35KxDNE8.cjs');
|
|
16
16
|
require('axios');
|
|
17
17
|
require('node:events');
|
|
18
18
|
require('socket.io-client');
|
|
19
|
-
var pushNotifications = require('./pushNotifications-
|
|
19
|
+
var pushNotifications = require('./pushNotifications-CalIS9sq.cjs');
|
|
20
20
|
require('tweetnacl');
|
|
21
|
-
var configuration = require('./configuration-
|
|
22
|
-
require('./index-
|
|
23
|
-
require('./registerCommonHandlers-
|
|
21
|
+
var configuration = require('./configuration-C0ctLGW2.cjs');
|
|
22
|
+
require('./index-BOe6dKnL.cjs');
|
|
23
|
+
require('./registerCommonHandlers-DZPozYxc.cjs');
|
|
24
24
|
require('os');
|
|
25
25
|
require('child_process');
|
|
26
26
|
require('@paralleldrive/cuid2');
|
|
27
|
-
require('./persistence-
|
|
27
|
+
require('./persistence-CrzC7yr_.cjs');
|
|
28
28
|
var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
29
29
|
require('chalk');
|
|
30
30
|
var types = require('./types-CRS-srZK.cjs');
|
|
31
31
|
var path = require('./path-B7zW-WwE.cjs');
|
|
32
32
|
var fs = require('fs/promises');
|
|
33
|
-
var time = require('./time-
|
|
33
|
+
var time = require('./time-XwEZxKGc.cjs');
|
|
34
34
|
var node_fs = require('node:fs');
|
|
35
|
-
var sessionScanner = require('./sessionScanner-
|
|
35
|
+
var sessionScanner = require('./sessionScanner-Cr6PJ3PT.cjs');
|
|
36
36
|
var node_child_process = require('node:child_process');
|
|
37
|
-
var streamRelay = require('./streamRelay-
|
|
38
|
-
var attachmentContent = require('./attachmentContent-
|
|
37
|
+
var streamRelay = require('./streamRelay-D9a4cBEa.cjs');
|
|
38
|
+
var attachmentContent = require('./attachmentContent-Cc5b7TPr.cjs');
|
|
39
39
|
var promises = require('node:fs/promises');
|
|
40
|
-
var claudeSessionFork = require('./claudeSessionFork-
|
|
41
|
-
var
|
|
42
|
-
var
|
|
40
|
+
var claudeSessionFork = require('./claudeSessionFork-DsbcuDEJ.cjs');
|
|
41
|
+
var rateLimitReporter = require('./rateLimitReporter-BKmoOZQi.cjs');
|
|
42
|
+
var registerKillSessionHandler = require('./registerKillSessionHandler-DhCjrs44.cjs');
|
|
43
|
+
var doctor = require('./doctor-wVNvRarN.cjs');
|
|
43
44
|
var node_http = require('node:http');
|
|
44
45
|
var editPaths = require('./editPaths-Bqp4OFPw.cjs');
|
|
45
46
|
var projectPath = require('./projectPath-C3ioB4Bu.cjs');
|
|
46
47
|
var processTreeSnapshot = require('./processTreeSnapshot-mDbnuojn.cjs');
|
|
47
|
-
var titleGenerator = require('./titleGenerator-
|
|
48
|
+
var titleGenerator = require('./titleGenerator-DVX0NZUn.cjs');
|
|
48
49
|
var oneShotPrompts = require('./oneShotPrompts-CL0dip9C.cjs');
|
|
49
|
-
var reportProgressTool = require('./reportProgressTool-
|
|
50
|
+
var reportProgressTool = require('./reportProgressTool-DznxPKES.cjs');
|
|
50
51
|
require('node:util');
|
|
51
52
|
require('./prompt-Bof2aQkI.cjs');
|
|
52
53
|
require('node:os');
|
|
53
54
|
require('zod');
|
|
54
55
|
require('./pi-DlsrPCTa.cjs');
|
|
55
56
|
require('./fileStore-7qhnbs6N.cjs');
|
|
56
|
-
require('./client-
|
|
57
|
-
require('./context-
|
|
58
|
-
require('./sessionOps-
|
|
57
|
+
require('./client-BNmFaRXZ.cjs');
|
|
58
|
+
require('./context-D-hEk5pC.cjs');
|
|
59
|
+
require('./sessionOps-BzeOKIEF.cjs');
|
|
59
60
|
require('./authRelay-Dy1qU9td.cjs');
|
|
60
61
|
require('./resources-BZ_Be0qM.cjs');
|
|
61
|
-
require('./tools-
|
|
62
|
-
require('./peerTools-
|
|
62
|
+
require('./tools-CjMafO_D.cjs');
|
|
63
|
+
require('./peerTools-B4315xjX.cjs');
|
|
63
64
|
require('./ids-B6ZC0HGt.cjs');
|
|
64
|
-
require('./remoteSessionClient-
|
|
65
|
+
require('./remoteSessionClient-Dq8XTLQP.cjs');
|
|
65
66
|
require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
66
67
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
67
68
|
require('./limits-C-a7gr04.cjs');
|
|
68
|
-
require('./downloadTarget-
|
|
69
|
+
require('./downloadTarget-aNcCxVRL.cjs');
|
|
69
70
|
require('./terminals-B_bfC9c2.cjs');
|
|
70
71
|
require('./terminalTitleSuggest-DhvRFX3H.cjs');
|
|
71
72
|
require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
72
|
-
require('./bootstrap-
|
|
73
|
-
require('./package-
|
|
73
|
+
require('./bootstrap-CDY-Vz8q.cjs');
|
|
74
|
+
require('./package-CYDdLA6R.cjs');
|
|
74
75
|
require('./agentGuidance-BtBx2xxE.cjs');
|
|
75
76
|
require('./trimIdent-4gvk9Wk6.cjs');
|
|
76
77
|
require('./webPanels-FCgFKvVe.cjs');
|
|
77
78
|
require('./previewPath-B0rBdhy1.cjs');
|
|
78
79
|
require('crypto');
|
|
79
80
|
require('./promptCacheTtl-B8PCzE6k.cjs');
|
|
80
|
-
require('./rateLimitWindows-bfwC81Z-.cjs');
|
|
81
81
|
require('util');
|
|
82
82
|
require('path');
|
|
83
83
|
require('cross-spawn');
|
|
84
|
-
require('./sync-
|
|
84
|
+
require('./sync-CoChLEIg.cjs');
|
|
85
85
|
require('./transcriptCursor-DcXGLeSc.cjs');
|
|
86
|
-
require('./startFileWatcher-
|
|
86
|
+
require('./startFileWatcher-C-XCZ5t2.cjs');
|
|
87
87
|
require('node:readline');
|
|
88
|
+
require('./rateLimitWindows-Cs56YJCH.cjs');
|
|
88
89
|
require('./doctor-u46qYYKX.cjs');
|
|
89
90
|
require('ps-list');
|
|
90
91
|
require('./doctorReadiness-Dl6yRQCy.cjs');
|
|
91
92
|
require('./detectCLI-BuYR_Qxe.cjs');
|
|
92
93
|
require('fs');
|
|
93
94
|
require('./cliUpdate-DsKXPFYp.cjs');
|
|
94
|
-
require('./piRunnerArgs-
|
|
95
|
-
require('./acpSessionResume-
|
|
95
|
+
require('./piRunnerArgs-BtzW_kfh.cjs');
|
|
96
|
+
require('./acpSessionResume-2BTMsB7_.cjs');
|
|
96
97
|
require('url');
|
|
97
98
|
require('node:module');
|
|
98
|
-
require('./client-
|
|
99
|
+
require('./client-D0aYWt53.cjs');
|
|
99
100
|
require('./precheckCompat-CWOi5c9L.cjs');
|
|
100
101
|
|
|
101
102
|
const SCHEDULE_WAKEUP_GRACE_MS = 6e4;
|
|
@@ -451,10 +452,13 @@ class Session {
|
|
|
451
452
|
}
|
|
452
453
|
};
|
|
453
454
|
/**
|
|
454
|
-
* Clear the current session ID (used by /clear command)
|
|
455
|
+
* Clear the current session ID (used by /clear command). The next turn
|
|
456
|
+
* starts a conversation that never saw the project prefix, so it carries
|
|
457
|
+
* the full prefix again instead of only a digest (B-845).
|
|
455
458
|
*/
|
|
456
459
|
clearSessionId = () => {
|
|
457
460
|
this.sessionId = null;
|
|
461
|
+
this._projectInjector?.reset();
|
|
458
462
|
logger.logger.debug("[Session] Session ID cleared");
|
|
459
463
|
};
|
|
460
464
|
/**
|
|
@@ -651,6 +655,14 @@ function createRuntimeControls(isThinking) {
|
|
|
651
655
|
return { setQuery, observe, request, stopRunningTasks };
|
|
652
656
|
}
|
|
653
657
|
|
|
658
|
+
async function finalizeRemotePrompt(prompt, deps) {
|
|
659
|
+
const command = specialCommands.parseSpecialCommand(prompt).type;
|
|
660
|
+
if (command === "compact" || command === "clear") return prompt;
|
|
661
|
+
deps.board?.onTurnStart(deps.sourceIds);
|
|
662
|
+
const text = deps.board ? await deps.board.decorate(prompt) : prompt;
|
|
663
|
+
return deps.project.decorate(text);
|
|
664
|
+
}
|
|
665
|
+
|
|
654
666
|
const CLAUDE_COMMAND_LIFECYCLE_STATES = ["queued", "started", "completed", "cancelled", "discarded", "refused"];
|
|
655
667
|
function readClaudeCommandLifecycle(frame) {
|
|
656
668
|
const m = frame;
|
|
@@ -910,6 +922,18 @@ async function awaitFileExist(file, timeout = 1e4) {
|
|
|
910
922
|
return false;
|
|
911
923
|
}
|
|
912
924
|
|
|
925
|
+
function readCompactStatus(message) {
|
|
926
|
+
if (!message || typeof message !== "object") return null;
|
|
927
|
+
const frame = message;
|
|
928
|
+
if (frame.type !== "system" || frame.subtype !== "status" || typeof frame.compact_result !== "string") return null;
|
|
929
|
+
return typeof frame.compact_error === "string" && frame.compact_error.trim() ? { result: frame.compact_result, error: frame.compact_error.trim() } : { result: frame.compact_result };
|
|
930
|
+
}
|
|
931
|
+
function compactOutcomeEvent(result, status) {
|
|
932
|
+
if (result.subtype !== "success") return `Compaction failed: ${result.errors?.join("\n") || result.subtype}`;
|
|
933
|
+
if (status && status.result !== "success") return `Compaction failed: ${status.error ?? status.result}`;
|
|
934
|
+
return "Compaction completed";
|
|
935
|
+
}
|
|
936
|
+
|
|
913
937
|
const SDK_TIMING_FIELDS = ["ttft_ms", "time_to_request_ms", "time_to_request_from_spawn_ms"];
|
|
914
938
|
function delta(from, to) {
|
|
915
939
|
if (typeof from !== "number" || typeof to !== "number" || to < from) return "-";
|
|
@@ -1445,10 +1469,12 @@ async function claudeRemote(opts) {
|
|
|
1445
1469
|
if (opts.onSessionReset) {
|
|
1446
1470
|
opts.onSessionReset();
|
|
1447
1471
|
}
|
|
1472
|
+
opts.onStartArgsUsed?.();
|
|
1448
1473
|
opts.onReady();
|
|
1449
1474
|
return;
|
|
1450
1475
|
}
|
|
1451
1476
|
let isCompactCommand = false;
|
|
1477
|
+
let compactStatus = null;
|
|
1452
1478
|
if (specialCommand.type === "compact") {
|
|
1453
1479
|
logger.logger.debug("[claudeRemote] /compact command detected - will process as normal but with compaction behavior");
|
|
1454
1480
|
isCompactCommand = true;
|
|
@@ -1499,6 +1525,7 @@ async function claudeRemote(opts) {
|
|
|
1499
1525
|
}
|
|
1500
1526
|
warm = null;
|
|
1501
1527
|
w.lease.adopt();
|
|
1528
|
+
opts.onStartArgsUsed?.();
|
|
1502
1529
|
adopted = { response: w.response, messages: w.messages, models: hs.models };
|
|
1503
1530
|
logger.logger.debug(formatPrewarmLine("adopted", {
|
|
1504
1531
|
warmForMs: adoptStart - w.startedAt,
|
|
@@ -1533,6 +1560,7 @@ async function claudeRemote(opts) {
|
|
|
1533
1560
|
messages = new PushableAsyncIterable();
|
|
1534
1561
|
messages.push(initialUserMessage);
|
|
1535
1562
|
timingMarks.spawnAt = Date.now();
|
|
1563
|
+
opts.onStartArgsUsed?.();
|
|
1536
1564
|
response = query.query({
|
|
1537
1565
|
prompt: messages,
|
|
1538
1566
|
options: buildSdkOptions(initial.mode, { settingsPath: opts.hookSettingsPath, abort: opts.signal })
|
|
@@ -1707,6 +1735,7 @@ async function claudeRemote(opts) {
|
|
|
1707
1735
|
opts.onStreamFrame({ type: "system", subtype: "status", status: status.status });
|
|
1708
1736
|
}
|
|
1709
1737
|
}
|
|
1738
|
+
if (isCompactCommand) compactStatus = readCompactStatus(message) ?? compactStatus;
|
|
1710
1739
|
const outboundMessage = isCompactCommand && message.type === "assistant" ? { ...message, isCompactSummary: true } : message;
|
|
1711
1740
|
opts.onMessage(outboundMessage);
|
|
1712
1741
|
const lifecycle = readClaudeCommandLifecycle(message);
|
|
@@ -1774,12 +1803,11 @@ async function claudeRemote(opts) {
|
|
|
1774
1803
|
logger.logger.warn(`[claudeRemote] ${denials.length} tool call(s) auto-denied by Claude Code policy: ${denials.map((d) => d.tool_name ?? "?").join(", ")}`);
|
|
1775
1804
|
}
|
|
1776
1805
|
if (isCompactCommand) {
|
|
1777
|
-
const
|
|
1778
|
-
logger.logger.debug(`[claudeRemote]
|
|
1779
|
-
|
|
1780
|
-
opts.onCompletionEvent(message.subtype === "success" ? "Compaction completed" : `Compaction failed: ${message.errors?.join("\n") || message.subtype}`);
|
|
1781
|
-
}
|
|
1806
|
+
const outcome = compactOutcomeEvent(message, compactStatus);
|
|
1807
|
+
logger.logger.debug(`[claudeRemote] ${outcome}`);
|
|
1808
|
+
opts.onCompletionEvent?.(outcome);
|
|
1782
1809
|
isCompactCommand = false;
|
|
1810
|
+
compactStatus = null;
|
|
1783
1811
|
}
|
|
1784
1812
|
if (endsTurn) opts.onReady(message);
|
|
1785
1813
|
if (recycleIfPoisoned(message)) continue;
|
|
@@ -3907,7 +3935,7 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
|
|
|
3907
3935
|
let notifiedQuestionToolCalls = /* @__PURE__ */ new Set();
|
|
3908
3936
|
function onMessage(message) {
|
|
3909
3937
|
if (message.type === "rate_limit_event") {
|
|
3910
|
-
|
|
3938
|
+
rateLimitReporter.wrapperRateLimitReporter().observeClaude(message.rate_limit_info);
|
|
3911
3939
|
}
|
|
3912
3940
|
runtimeControls.observe(message);
|
|
3913
3941
|
backgroundTasks.observe(message);
|
|
@@ -4083,6 +4111,7 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
|
|
|
4083
4111
|
const attachmentDirectory = attachmentContent.chatAttachmentDirectory(configuration.configuration.happyHomeDir, session.client.sessionId);
|
|
4084
4112
|
await configuration.ensurePrivateDirectory(attachmentDirectory);
|
|
4085
4113
|
launchPrewarm = session.takeClaudePrewarm();
|
|
4114
|
+
let startArgsUsed = false;
|
|
4086
4115
|
const remoteResult = await claudeRemote({
|
|
4087
4116
|
prewarm: launchPrewarm ?? void 0,
|
|
4088
4117
|
sessionId: session.sessionId,
|
|
@@ -4101,10 +4130,11 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
|
|
|
4101
4130
|
nextMessage: async () => {
|
|
4102
4131
|
let batchSourceIds;
|
|
4103
4132
|
const finalize = async (prompt) => {
|
|
4104
|
-
const
|
|
4105
|
-
|
|
4106
|
-
|
|
4107
|
-
|
|
4133
|
+
const out = await finalizeRemotePrompt(prompt, {
|
|
4134
|
+
board: deterministicJson.leadBoardFor(session.client),
|
|
4135
|
+
project: session.projectInjector,
|
|
4136
|
+
sourceIds: batchSourceIds
|
|
4137
|
+
});
|
|
4108
4138
|
onPromptFinalized?.(out);
|
|
4109
4139
|
return out;
|
|
4110
4140
|
};
|
|
@@ -4279,9 +4309,12 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
|
|
|
4279
4309
|
}
|
|
4280
4310
|
});
|
|
4281
4311
|
},
|
|
4282
|
-
signal: abortController.signal
|
|
4312
|
+
signal: abortController.signal,
|
|
4313
|
+
onStartArgsUsed: () => {
|
|
4314
|
+
startArgsUsed = true;
|
|
4315
|
+
}
|
|
4283
4316
|
});
|
|
4284
|
-
session.consumeOneTimeFlags();
|
|
4317
|
+
if (startArgsUsed) session.consumeOneTimeFlags();
|
|
4285
4318
|
if (!exitReason && abortController.signal.aborted && !silentRelaunch) {
|
|
4286
4319
|
session.client.closeClaudeSessionTurn("cancelled");
|
|
4287
4320
|
session.client.sendSessionEvent({ type: "message", message: "Aborted by user" });
|
|
@@ -4386,7 +4419,7 @@ async function loop(opts) {
|
|
|
4386
4419
|
logger.logger.debug(`[loop] Iteration with mode: ${mode}`);
|
|
4387
4420
|
switch (mode) {
|
|
4388
4421
|
case "local": {
|
|
4389
|
-
const { claudeLocalLauncher } = await Promise.resolve().then(function () { return require('./claudeLocalLauncher-
|
|
4422
|
+
const { claudeLocalLauncher } = await Promise.resolve().then(function () { return require('./claudeLocalLauncher-Jm5oQX5Z.cjs'); });
|
|
4390
4423
|
const result = await claudeLocalLauncher(session);
|
|
4391
4424
|
switch (result.type) {
|
|
4392
4425
|
case "switch":
|
|
@@ -4727,7 +4760,7 @@ function registerSideQuestionHandler(rpc, deps) {
|
|
|
4727
4760
|
const retainMs = deps.retainMs ?? SIDE_QUESTION_RETAIN_MS;
|
|
4728
4761
|
const maxRunMs = deps.maxRunMs ?? SIDE_QUESTION_MAX_RUN_MS;
|
|
4729
4762
|
const fork = deps.run ?? (async (input) => {
|
|
4730
|
-
const { query } = await Promise.resolve().then(function () { return require('./index-
|
|
4763
|
+
const { query } = await Promise.resolve().then(function () { return require('./index-B81qV_F_.cjs'); });
|
|
4731
4764
|
return runSideQuestion(query, input);
|
|
4732
4765
|
});
|
|
4733
4766
|
const run = async (input, live) => {
|
|
@@ -5154,11 +5187,11 @@ function resolveMessageMode(current, meta, ctx) {
|
|
|
5154
5187
|
|
|
5155
5188
|
exports.reportSessionEditToDaemon = controlClient.reportSessionEditToDaemon;
|
|
5156
5189
|
exports.startHappyServer = deterministicJson.startHappyServer;
|
|
5190
|
+
exports.parseSpecialCommand = specialCommands.parseSpecialCommand;
|
|
5157
5191
|
exports.SessionExitGate = sessionExitLifecycle.SessionExitGate;
|
|
5158
5192
|
exports.exitIntentFromArchiveFlag = sessionExitLifecycle.exitIntentFromArchiveFlag;
|
|
5159
5193
|
exports.settleSessionOnExit = sessionExitLifecycle.settleSessionOnExit;
|
|
5160
5194
|
exports.claudeCheckSession = systemPrompt.claudeCheckSession;
|
|
5161
|
-
exports.parseSpecialCommand = specialCommands.parseSpecialCommand;
|
|
5162
5195
|
exports.contentLogMetadata = contentLogMetadata.contentLogMetadata;
|
|
5163
5196
|
exports.RawJSONLinesSchema = types.RawJSONLinesSchema;
|
|
5164
5197
|
exports.getProjectPath = path.getProjectPath;
|