very-happy-cli 0.2.164 → 0.2.166
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/README.md +1 -1
- package/dist/{AcpBackend-CHDqSii9.cjs → AcpBackend-20VHOXwb.cjs} +3 -3
- package/dist/{AcpBackend-B8l1ZePt.mjs → AcpBackend-tRWk7yi7.mjs} +3 -3
- package/dist/{AcpSessionManager-BQnDJvct.mjs → AcpSessionManager-B7FIrsys.mjs} +1 -1
- package/dist/{AcpSessionManager-9yN2iH4b.cjs → AcpSessionManager-Zf00QnlL.cjs} +1 -1
- package/dist/{BasePermissionHandler-DgtAtJTV.mjs → BasePermissionHandler-CDCLIrZJ.mjs} +1 -1
- package/dist/{BasePermissionHandler-DGQYvBPg.cjs → BasePermissionHandler-COKc4pmt.cjs} +1 -1
- package/dist/{BaseReasoningProcessor-Dfacnfhj.mjs → BaseReasoningProcessor-BDVKvooR.mjs} +1 -1
- package/dist/{BaseReasoningProcessor-BqalZhQO.cjs → BaseReasoningProcessor-DAGQdkNp.cjs} +1 -1
- package/dist/{agentGuidance-CQuNlNx8.mjs → agentGuidance-BDYt2Qy2.mjs} +4 -2
- package/dist/{agentGuidance-B5NATuFa.cjs → agentGuidance-BtBx2xxE.cjs} +4 -1
- package/dist/{agentHome-DM0urHEI.mjs → agentHome-2IbIjKCa.mjs} +4 -4
- package/dist/{agentHome-DtsPKfTS.cjs → agentHome-KVWj6nCl.cjs} +4 -4
- package/dist/{api-Yoh_zKdR.mjs → api-Cmz3XS4P.mjs} +14 -12
- package/dist/{api-EKlS0r1w.cjs → api-DnNL5fLw.cjs} +14 -12
- package/dist/{apiMachine-s3HiV-SL.mjs → apiMachine-B6ySCFe0.mjs} +2137 -65
- package/dist/{apiMachine-q71suojS.cjs → apiMachine-DeoQ8QbZ.cjs} +2134 -62
- package/dist/{attachmentContent-BLyyo1al.mjs → attachmentContent-CTXapi-_.mjs} +2 -2
- package/dist/{attachmentContent-Bakb0XV3.cjs → attachmentContent-DPWxHgX4.cjs} +2 -2
- package/dist/{attachmentLimits-eJZ4ZBjF.cjs → attachmentLimits-BfgKV5iE.cjs} +28 -2
- package/dist/{attachmentLimits-B8nzhw-i.mjs → attachmentLimits-C1PCCM79.mjs} +28 -2
- package/dist/{auth-BTfv8yW0.mjs → auth-BMaBjRAj.mjs} +8 -8
- package/dist/{auth-Hpg4Yxfa.cjs → auth-D4-eQz85.cjs} +8 -8
- package/dist/{auth-Cn3dQInF.cjs → auth-ietHtvwu.cjs} +5 -5
- package/dist/{auth-Cxhx5evk.mjs → auth-pzWIFdOD.mjs} +5 -5
- package/dist/{auto-BAAEVGZa.mjs → auto-DL75Dx3I.mjs} +83 -21
- package/dist/{auto-CK8irHum.cjs → auto-DOWTQDPa.cjs} +84 -20
- package/dist/{bootstrap-D9SUykG_.cjs → bootstrap-BpXIc2wn.cjs} +2 -2
- package/dist/{bootstrap-CTNjn_aj.mjs → bootstrap-XE8A7Ut2.mjs} +2 -2
- package/dist/{browser-C8ztaIkm.cjs → browser-CcG8GLRV.cjs} +1 -1
- package/dist/{browser-DydXWySF.mjs → browser-DDFi1T8C.mjs} +1 -1
- package/dist/{claudeLocal-CsLFMvFU.cjs → claudeLocal-DXBXwIOG.cjs} +6 -6
- package/dist/{claudeLocal-CdJJovWq.mjs → claudeLocal-DmM5Oyhv.mjs} +6 -6
- package/dist/{claudeLocalLauncher-DRc-tET5.cjs → claudeLocalLauncher-C41Y6Kp4.cjs} +14 -11
- package/dist/{claudeLocalLauncher-CKazNnl0.mjs → claudeLocalLauncher-Cs4eUC3P.mjs} +14 -11
- package/dist/{claudeSessionFork-BfPW9D2S.mjs → claudeSessionFork-BdLnc2Hv.mjs} +1 -1
- package/dist/{claudeSessionFork-BWdhyy9B.cjs → claudeSessionFork-Cs0I3eGI.cjs} +1 -1
- package/dist/{client-Do5CHQnZ.mjs → client-CbK33y_s.mjs} +3 -3
- package/dist/{client-BZtKFCJr.cjs → client-DJ0kX_8M.cjs} +2 -2
- package/dist/{client-DkoV3VWl.mjs → client-GjTnsq6F.mjs} +2 -2
- package/dist/{client-C1GAIJ04.cjs → client-JISJx2f-.cjs} +3 -3
- package/dist/codex/happyMcpStdioBridge.cjs +23 -18
- package/dist/codex/happyMcpStdioBridge.mjs +22 -17
- package/dist/{codexAppServerClient-JddkV_aP.cjs → codexAppServerClient-BTjn2ZCZ.cjs} +46 -2
- package/dist/{codexAppServerClient-CfF33X-8.mjs → codexAppServerClient-CldXEojt.mjs} +47 -3
- package/dist/{codexCommand-Bdj3XZbi.cjs → codexCommand-BpD0N1F7.cjs} +71 -51
- package/dist/{codexCommand-btJso8yC.mjs → codexCommand-DjMU-Ijf.mjs} +71 -51
- package/dist/{config-nziuMb7g.mjs → config-DjSJKatx.mjs} +3 -3
- package/dist/{config-DpCNivmg.cjs → config-DuLL0Ppe.cjs} +3 -3
- package/dist/{configuration-PXAE4-FP.cjs → configuration-B0cb3xA3.cjs} +1 -1
- package/dist/{configuration-CiBUH72C.mjs → configuration-D2v3puap.mjs} +1 -1
- package/dist/{connect-D7ehaW2C.cjs → connect-B7JWEzyg.cjs} +13 -13
- package/dist/{connect-XHdi6Vtc.mjs → connect-CnNNyM9I.mjs} +13 -13
- package/dist/{context-DhvXl1oC.cjs → context-BFUpYT39.cjs} +1 -1
- package/dist/{context-BpEYcuLv.mjs → context-DjfqLWzE.mjs} +1 -1
- package/dist/{controlClient-DzmCQrY_.mjs → controlClient-BMUJfUeF.mjs} +13 -6
- package/dist/{controlClient-DI-Er-Ww.cjs → controlClient-CmnHGcyl.cjs} +13 -5
- package/dist/{createSessionMetadata-B47GrTX6.mjs → createSessionMetadata-DU0bCg2m.mjs} +2 -2
- package/dist/{createSessionMetadata-D04x6OMW.cjs → createSessionMetadata-DbfRBhRu.cjs} +2 -2
- package/dist/{deterministicJson-CKqT3awl.mjs → deterministicJson-D-WPUrZb.mjs} +36 -52
- package/dist/{deterministicJson-BM8e8QwP.cjs → deterministicJson-Dp3TVyap.cjs} +41 -59
- package/dist/{doctor-CSgzbG5L.mjs → doctor-BlXXyQ1L.mjs} +6 -6
- package/dist/{doctor-Cl6cqvok.cjs → doctor-CkJmdPbi.cjs} +6 -6
- package/dist/{assistantTools-D3cZvgUX.cjs → downloadTarget-CiQqRIc-.cjs} +44 -6
- package/dist/{assistantTools-BWfAV349.mjs → downloadTarget-DjSwMHun.mjs} +45 -8
- package/dist/{ensureDaemonRunning-fPVSsjIm.mjs → ensureDaemonRunning-CAQag1zE.mjs} +5 -5
- package/dist/{ensureDaemonRunning-CJ4-U32n.cjs → ensureDaemonRunning-C_aIOhgG.cjs} +5 -5
- package/dist/{handleResumeCommand-bX-aNF_z.cjs → handleResumeCommand-6KzBGDnl.cjs} +5 -5
- package/dist/{handleResumeCommand-B84dt2aH.mjs → handleResumeCommand-Ci7wacT-.mjs} +5 -5
- package/dist/{index-vVWpCoTr.mjs → index-B0HEEYGh.mjs} +22 -5
- package/dist/{index-DqlyNgt4.cjs → index-C9hI8a10.cjs} +26 -4
- package/dist/{index-B2UvSWo_.cjs → index-CaFCAlX8.cjs} +3 -3
- package/dist/{index-CP2fh7JX.cjs → index-DBmNwMX9.cjs} +39 -38
- package/dist/{index-DaTxsAC3.cjs → index-DEKIgZUo.cjs} +4 -4
- package/dist/{index-OEGj3BxE.mjs → index-DQplgo0W.mjs} +4 -4
- package/dist/{index-CbF87SeZ.mjs → index-HQsigW_J.mjs} +3 -3
- package/dist/{index-CRJtZCK-.mjs → index-WGCT6SSV.mjs} +40 -39
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-BO_W7VhL.mjs → install-BdvKiOQw.mjs} +2 -0
- package/dist/{install-__Mni4NU.cjs → install-CejEiRGW.cjs} +3 -3
- package/dist/{install-Cs5qAPrB.cjs → install-Cf6AFSWC.cjs} +2 -0
- package/dist/{install-CurvoW2u.mjs → install-oJUvsFu9.mjs} +3 -3
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +55 -2
- package/dist/lib.d.mts +55 -2
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-BbR6y9rq.mjs → lidState-BfximpjX.mjs} +1 -1
- package/dist/{lidState-De2HP6nu.cjs → lidState-D8BmnJV1.cjs} +1 -1
- package/dist/{localHappyAgentAuth-C7rDePjF.mjs → localHappyAgentAuth-Ct1aXwqd.mjs} +1 -1
- package/dist/{localHappyAgentAuth-CboZb3_a.cjs → localHappyAgentAuth-d7B6S_o7.cjs} +1 -1
- package/dist/{logger-8dtZPn3n.mjs → logger-BpQcwNnt.mjs} +2 -2
- package/dist/{logger-B1k7eZnq.cjs → logger-JTcJU-uL.cjs} +2 -2
- package/dist/{machineMetadata-C4OfKn6I.cjs → machineMetadata-BBg_Njw3.cjs} +3 -3
- package/dist/{machineMetadata-Bhp_w3-_.mjs → machineMetadata-CBdxABeI.mjs} +3 -3
- package/dist/{main-BQTaUrz0.mjs → main-B5b1gA3K.mjs} +44 -44
- package/dist/{main-eAiLspBM.cjs → main-C16fOGgn.cjs} +44 -44
- package/dist/{mcp-fapbM7Q4.cjs → mcp-BnNiBBax.cjs} +24 -19
- package/dist/{mcp-DXCdbQHM.mjs → mcp-DGNWgVdv.mjs} +23 -18
- package/dist/{mirrorProtocol-BUtmg1ws.cjs → mirrorProtocol-BEGk2--0.cjs} +80 -0
- package/dist/{mirrorProtocol-BNLtoWjO.mjs → mirrorProtocol-h5WHpdhh.mjs} +79 -1
- package/dist/{package-tVYgFJoK.mjs → package-BqwrPxL0.mjs} +7 -7
- package/dist/{package-CC_txQ31.cjs → package-C1XvUQFy.cjs} +7 -7
- package/dist/{peerTools-C1cduHh1.mjs → peerTools-CeCe-3lk.mjs} +4 -4
- package/dist/{peerTools-CqIcCEIg.cjs → peerTools-DPvbcs8V.cjs} +4 -4
- package/dist/{persistence-d3ZyER6o.cjs → persistence-2Xp_o6x6.cjs} +3 -3
- package/dist/{persistence-C_xFQLsD.mjs → persistence-B9LmhAE2.mjs} +3 -3
- package/dist/{piRunnerArgs-aq0zJX1Q.mjs → piRunnerArgs-7FaTyNOq.mjs} +1 -1
- package/dist/{piRunnerArgs-DSxolPlV.cjs → piRunnerArgs-DI29dDNo.cjs} +1 -1
- package/dist/{piRuntime-BnNl5Lmb.mjs → piRuntime-0qEK5AqE.mjs} +1 -1
- package/dist/{piRuntime-Dne1LPu-.cjs → piRuntime-R8XVChxK.cjs} +1 -1
- package/dist/{piTerminal-fjado4cR.cjs → piTerminal-Ccj0KNPr.cjs} +17 -17
- package/dist/{piTerminal-CKWxWtW-.mjs → piTerminal-zcQKc8Sp.mjs} +17 -17
- package/dist/precheckCompat-CWOi5c9L.cjs +29 -0
- package/dist/precheckCompat-DeEbilbr.mjs +26 -0
- package/dist/rateLimitWindows-C2Jk3Ih7.cjs +258 -0
- package/dist/rateLimitWindows-Dhfhbtqu.mjs +248 -0
- package/dist/{registerCommonHandlers-Dausbdsb.cjs → registerCommonHandlers-Aha_KfM3.cjs} +2 -2
- package/dist/{registerCommonHandlers-bSskMveZ.mjs → registerCommonHandlers-DdfGsFbM.mjs} +2 -2
- package/dist/{registerKillSessionHandler-CgKyzwqw.cjs → registerKillSessionHandler-CjitOpUA.cjs} +6 -6
- package/dist/{registerKillSessionHandler-Ben5lAsN.mjs → registerKillSessionHandler-DboQlGcH.mjs} +6 -6
- package/dist/{remoteSessionClient-DnCIuZpQ.mjs → remoteSessionClient-B2DtWuNP.mjs} +5 -5
- package/dist/{remoteSessionClient-BkJt8SHa.cjs → remoteSessionClient-BwI8rpQw.cjs} +5 -5
- package/dist/{tools-BTBgpiRc.cjs → reportProgressTool-B-Rcy0s3.cjs} +73 -9
- package/dist/{tools-gUjkPpCw.mjs → reportProgressTool-DnAD8wOa.mjs} +67 -10
- package/dist/{run-B8dxbDsg.cjs → run-Bh66Xs40.cjs} +289 -133
- package/dist/{run-BEYMVE4J.mjs → run-DPEwJpQR.mjs} +287 -131
- package/dist/{runClaude-Cy_HzLyO.cjs → runClaude-C-lJdAKD.cjs} +25 -20
- package/dist/{runClaude-Dd_P1c0f.mjs → runClaude-DLr_nBzw.mjs} +25 -20
- package/dist/{runClaudeDeps-JG7EUH7B.mjs → runClaudeDeps-C7JV7nXG.mjs} +47 -37
- package/dist/{runClaudeDeps-dxv910DR.cjs → runClaudeDeps-vWWLod7J.cjs} +44 -35
- package/dist/{runGemini-DY1IDW_f.cjs → runGemini-o-CUSayc.cjs} +42 -35
- package/dist/{runGemini-CpaBuvoW.mjs → runGemini-tH6sLw-G.mjs} +42 -35
- package/dist/{runOpenClaw-C7vrDQbq.mjs → runOpenClaw-C5DZvVhn.mjs} +18 -18
- package/dist/{runOpenClaw-C0VARcYj.cjs → runOpenClaw-D24f35l0.cjs} +18 -18
- package/dist/{sandbox-DRUJZuaM.mjs → sandbox-BaL1aslA.mjs} +4 -4
- package/dist/{sandbox-Bx9-M9rN.cjs → sandbox-TJZJ6ngw.cjs} +4 -4
- package/dist/selfCheck-DPi4lqme.mjs +84 -0
- package/dist/{selfCheck-Ba1sECTO.cjs → selfCheck-Dugi0Nk_.cjs} +34 -34
- package/dist/{send-Dqdpx-w5.cjs → send-CkWOSYmU.cjs} +8 -8
- package/dist/{send-BrzkbMy2.mjs → send-DDcJ3ayi.mjs} +8 -8
- package/dist/{server-CfB8EWCg.cjs → server-7qFQ8J2u.cjs} +6 -6
- package/dist/{server-CPMPoEAA.mjs → server-CUjRvQSd.mjs} +4 -4
- package/dist/{sessionLock-BsP3Y_nG.cjs → sessionLock-DfhNICyS.cjs} +2 -2
- package/dist/{sessionLock-DukLVzAQ.mjs → sessionLock-DqVyHFAQ.mjs} +2 -2
- package/dist/{sessionModeFile-JWWF6Nn7.cjs → sessionModeFile-CIznKD7O.cjs} +1 -1
- package/dist/{sessionModeFile-CSvi4H_t.mjs → sessionModeFile-M4OpiyrF.mjs} +1 -1
- package/dist/{sessionOps-BlMg1uAa.mjs → sessionOps-BnaEaOKs.mjs} +4 -4
- package/dist/{sessionOps-HuoMXcIZ.cjs → sessionOps-DOyy4gkY.cjs} +4 -4
- package/dist/{sessionScanner-Ct-JoNHP.mjs → sessionScanner-CcuOn9uU.mjs} +75 -19
- package/dist/{sessionScanner-BWU6KvZw.cjs → sessionScanner-Cu1yKlj4.cjs} +75 -19
- package/dist/{sessions-AjflCj5y.cjs → sessions-BQgk5Kw8.cjs} +9 -9
- package/dist/{sessions-3Hw1xXMV.mjs → sessions-C9O91rL1.mjs} +9 -9
- package/dist/{setupOfflineReconnection-B_9xp36H.mjs → setupOfflineReconnection-Byy8aeKT.mjs} +2 -2
- package/dist/{setupOfflineReconnection-Cxh9Sz9M.cjs → setupOfflineReconnection-DFmQ8s6I.cjs} +2 -2
- package/dist/{spawn-CN8PH11G.cjs → spawn-BS7LPmSm.cjs} +13 -12
- package/dist/{spawn-BXEVKCQK.mjs → spawn-EZ2yrtWd.mjs} +13 -12
- package/dist/{spawnAgents-Czi2VDzj.mjs → spawnAgents-HDaE3C0-.mjs} +1 -1
- package/dist/{spawnAgents-McixdtV1.cjs → spawnAgents-vglexX9N.cjs} +1 -1
- package/dist/{spawnHappyCLI-BFN0h2fK.mjs → spawnHappyCLI-BAa49m0q.mjs} +1 -1
- package/dist/{spawnHappyCLI-Cj-9-d_7.cjs → spawnHappyCLI-DyaldIe5.cjs} +1 -1
- package/dist/specialCommands-CCWtwIGZ.mjs +93 -0
- package/dist/specialCommands-DouFaJ_0.cjs +96 -0
- package/dist/{startFileWatcher-BfMu444W.cjs → startFileWatcher-DQbbypJv.cjs} +1 -1
- package/dist/{startFileWatcher-Csql7gdv.mjs → startFileWatcher-Dfs4whzr.mjs} +1 -1
- package/dist/{streamRelay-C0AffuX6.cjs → streamRelay-Ce9sgcOV.cjs} +1 -1
- package/dist/{streamRelay-BzMEEvJU.mjs → streamRelay-Iogsh51a.mjs} +1 -1
- package/dist/{sync-SCvDzRy6.mjs → sync-BLpH13Kb.mjs} +1 -1
- package/dist/{sync--uxtLWbo.cjs → sync-x_lI_3j_.cjs} +1 -1
- package/dist/{systemPrompt-C1tRiZ-u.cjs → systemPrompt-4erwILTB.cjs} +3 -3
- package/dist/{systemPrompt-D0KMySrK.mjs → systemPrompt-BanyDihy.mjs} +3 -3
- package/dist/{teams-By-hcvMF.mjs → teams-D6BOT3lR.mjs} +7 -7
- package/dist/{teams-CYDIFXEC.cjs → teams-DzetlGWC.cjs} +7 -7
- package/dist/{time-CRvAaC5H.mjs → time-CfDKj6Bx.mjs} +1 -1
- package/dist/{time-C7BplxuS.cjs → time-T0YmeOhS.cjs} +1 -1
- package/dist/{titleGenerator-CUG-n2r3.mjs → titleGenerator-ChImQ4q-.mjs} +1 -1
- package/dist/{titleGenerator-Kw3sTnNQ.cjs → titleGenerator-CoMxqKfP.cjs} +2 -2
- package/dist/{todo-B7a7J5Ng.cjs → todo-CZZebKZg.cjs} +6 -6
- package/dist/{todo-yuIsUvU8.mjs → todo-SVtYxGON.mjs} +6 -6
- package/dist/{tools-RvMKw7yx.mjs → tools-3X2z3YDe.mjs} +1 -1
- package/dist/{tools-D7UeLMZ7.cjs → tools-IJ0TAcJs.cjs} +1 -1
- package/dist/transcriptCursor-B7T_gkQ0.mjs +102 -0
- package/dist/transcriptCursor-DcXGLeSc.cjs +106 -0
- package/dist/{uninstall-D5D16-KM.cjs → uninstall-CqqCWj7w.cjs} +3 -3
- package/dist/{uninstall-Dx9FmLXs.mjs → uninstall-CypD-kr1.mjs} +3 -3
- package/package.json +7 -7
- package/scripts/terminal_status_forwarder.cjs +89 -0
- package/dist/selfCheck-DdT8r263.mjs +0 -84
- package/dist/specialCommands-BSqhYg5X.mjs +0 -52
- package/dist/specialCommands-DSsTeRej.cjs +0 -54
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
var promises = require('node:fs/promises');
|
|
4
4
|
var os = require('node:os');
|
|
5
5
|
var z = require('zod');
|
|
6
|
-
var logger = require('./logger-
|
|
7
|
-
var persistence = require('./persistence-
|
|
8
|
-
var controlClient = require('./controlClient-
|
|
9
|
-
var sessionOps = require('./sessionOps-
|
|
10
|
-
var remoteSessionClient = require('./remoteSessionClient-
|
|
6
|
+
var logger = require('./logger-JTcJU-uL.cjs');
|
|
7
|
+
var persistence = require('./persistence-2Xp_o6x6.cjs');
|
|
8
|
+
var controlClient = require('./controlClient-CmnHGcyl.cjs');
|
|
9
|
+
var sessionOps = require('./sessionOps-DOyy4gkY.cjs');
|
|
10
|
+
var remoteSessionClient = require('./remoteSessionClient-BwI8rpQw.cjs');
|
|
11
11
|
var ids = require('./ids-B6ZC0HGt.cjs');
|
|
12
12
|
var terminals = require('./terminals-B_bfC9c2.cjs');
|
|
13
|
-
var bootstrap = require('./bootstrap-
|
|
13
|
+
var bootstrap = require('./bootstrap-BpXIc2wn.cjs');
|
|
14
14
|
var path = require('node:path');
|
|
15
15
|
|
|
16
16
|
const PERSONAL_MEMORY_SOFT_LIMIT_CHARS = 2e3;
|
|
@@ -375,6 +375,44 @@ ${r.text}`);
|
|
|
375
375
|
});
|
|
376
376
|
}
|
|
377
377
|
|
|
378
|
+
const WEB_DOWNLOAD_MAX_BYTES = 50 * 1024 * 1024;
|
|
379
|
+
function downloadTargetVerdict(path, target) {
|
|
380
|
+
switch (target.kind) {
|
|
381
|
+
case "missing":
|
|
382
|
+
return { error: `${path} does not exist; create the file first, then call open_preview again`, note: null };
|
|
383
|
+
case "directory":
|
|
384
|
+
return {
|
|
385
|
+
error: `${path} is a directory; the user can only download a single file. Pack it first (e.g. \`zip -r out.zip <dir>\`) and call open_preview with the archive and download: true`,
|
|
386
|
+
note: null
|
|
387
|
+
};
|
|
388
|
+
case "other":
|
|
389
|
+
return { error: `${path} is not a regular file`, note: null };
|
|
390
|
+
case "error":
|
|
391
|
+
return { error: `cannot read ${path}: ${target.code} (${target.message})`, note: null };
|
|
392
|
+
case "file":
|
|
393
|
+
return target.size > WEB_DOWNLOAD_MAX_BYTES ? {
|
|
394
|
+
error: null,
|
|
395
|
+
note: `Note: the file is ${(target.size / 1024 / 1024).toFixed(1)} MiB, above the 50 MiB web download limit, so the user will see its size but cannot download it. Offer to compress it or split it into parts under 50 MiB (e.g. \`zip -s 45m\`).`
|
|
396
|
+
} : { error: null, note: null };
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
async function statDownloadTarget(path) {
|
|
400
|
+
try {
|
|
401
|
+
const s = await promises.stat(path);
|
|
402
|
+
if (s.isDirectory()) return { kind: "directory" };
|
|
403
|
+
if (!s.isFile()) return { kind: "other" };
|
|
404
|
+
return { kind: "file", size: s.size };
|
|
405
|
+
} catch (error) {
|
|
406
|
+
const code = error?.code;
|
|
407
|
+
if (code === "ENOENT") return { kind: "missing" };
|
|
408
|
+
return { kind: "error", code: code ?? "UNKNOWN", message: error instanceof Error ? error.message : String(error) };
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
async function checkDownloadTarget(path) {
|
|
412
|
+
return downloadTargetVerdict(path, await statDownloadTarget(path));
|
|
413
|
+
}
|
|
414
|
+
|
|
378
415
|
exports.ASSISTANT_TOOL_NAMES = ASSISTANT_TOOL_NAMES;
|
|
416
|
+
exports.checkDownloadTarget = checkDownloadTarget;
|
|
379
417
|
exports.registerAssistantSessionTools = registerAssistantSessionTools;
|
|
380
418
|
exports.registerAssistantTools = registerAssistantTools;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { readFile, writeFile, appendFile } from 'node:fs/promises';
|
|
1
|
+
import { readFile, writeFile, appendFile, stat } from 'node:fs/promises';
|
|
2
2
|
import os from 'node:os';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import { l as logger } from './logger-
|
|
5
|
-
import { readPersistedSessions } from './persistence-
|
|
6
|
-
import { e as spawnDaemonSession } from './controlClient-
|
|
7
|
-
import { a as listSessions, r as readSessionTranscript, s as sessionWebUrl, g as waitForSessionKey, e as sendUserMessage, b as stopSession, d as archiveSession } from './sessionOps-
|
|
8
|
-
import { r as readRemoteTranscript, s as sendRemoteMessage, d as deliverToSession, R as RemoteSessionOpsError } from './remoteSessionClient-
|
|
4
|
+
import { l as logger } from './logger-BpQcwNnt.mjs';
|
|
5
|
+
import { readPersistedSessions } from './persistence-B9LmhAE2.mjs';
|
|
6
|
+
import { e as spawnDaemonSession } from './controlClient-BMUJfUeF.mjs';
|
|
7
|
+
import { a as listSessions, r as readSessionTranscript, s as sessionWebUrl, g as waitForSessionKey, e as sendUserMessage, b as stopSession, d as archiveSession } from './sessionOps-BnaEaOKs.mjs';
|
|
8
|
+
import { r as readRemoteTranscript, s as sendRemoteMessage, d as deliverToSession, R as RemoteSessionOpsError } from './remoteSessionClient-B2DtWuNP.mjs';
|
|
9
9
|
import { i as isValidSessionId, a as isValidTerminalId } from './ids-DU6sLx4C.mjs';
|
|
10
10
|
import { l as listVhTerminals, r as readVhTerminal, s as sendToVhTerminal } from './terminals-Dlg0x3nY.mjs';
|
|
11
|
-
import { bootstrapAssistantHome, assistantPersonalMemoryPath } from './bootstrap-
|
|
11
|
+
import { bootstrapAssistantHome, assistantPersonalMemoryPath } from './bootstrap-XE8A7Ut2.mjs';
|
|
12
12
|
import { join, isAbsolute, normalize } from 'node:path';
|
|
13
13
|
|
|
14
14
|
const PERSONAL_MEMORY_SOFT_LIMIT_CHARS = 2e3;
|
|
@@ -373,4 +373,41 @@ ${r.text}`);
|
|
|
373
373
|
});
|
|
374
374
|
}
|
|
375
375
|
|
|
376
|
-
|
|
376
|
+
const WEB_DOWNLOAD_MAX_BYTES = 50 * 1024 * 1024;
|
|
377
|
+
function downloadTargetVerdict(path, target) {
|
|
378
|
+
switch (target.kind) {
|
|
379
|
+
case "missing":
|
|
380
|
+
return { error: `${path} does not exist; create the file first, then call open_preview again`, note: null };
|
|
381
|
+
case "directory":
|
|
382
|
+
return {
|
|
383
|
+
error: `${path} is a directory; the user can only download a single file. Pack it first (e.g. \`zip -r out.zip <dir>\`) and call open_preview with the archive and download: true`,
|
|
384
|
+
note: null
|
|
385
|
+
};
|
|
386
|
+
case "other":
|
|
387
|
+
return { error: `${path} is not a regular file`, note: null };
|
|
388
|
+
case "error":
|
|
389
|
+
return { error: `cannot read ${path}: ${target.code} (${target.message})`, note: null };
|
|
390
|
+
case "file":
|
|
391
|
+
return target.size > WEB_DOWNLOAD_MAX_BYTES ? {
|
|
392
|
+
error: null,
|
|
393
|
+
note: `Note: the file is ${(target.size / 1024 / 1024).toFixed(1)} MiB, above the 50 MiB web download limit, so the user will see its size but cannot download it. Offer to compress it or split it into parts under 50 MiB (e.g. \`zip -s 45m\`).`
|
|
394
|
+
} : { error: null, note: null };
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
async function statDownloadTarget(path) {
|
|
398
|
+
try {
|
|
399
|
+
const s = await stat(path);
|
|
400
|
+
if (s.isDirectory()) return { kind: "directory" };
|
|
401
|
+
if (!s.isFile()) return { kind: "other" };
|
|
402
|
+
return { kind: "file", size: s.size };
|
|
403
|
+
} catch (error) {
|
|
404
|
+
const code = error?.code;
|
|
405
|
+
if (code === "ENOENT") return { kind: "missing" };
|
|
406
|
+
return { kind: "error", code: code ?? "UNKNOWN", message: error instanceof Error ? error.message : String(error) };
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
async function checkDownloadTarget(path) {
|
|
410
|
+
return downloadTargetVerdict(path, await statDownloadTarget(path));
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
export { ASSISTANT_TOOL_NAMES as A, registerAssistantTools as a, checkDownloadTarget as c, registerAssistantSessionTools as r };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
2
|
-
import { i as isDaemonRunningCurrentlyInstalledHappyVersion, c as checkIfDaemonRunningAndCleanupStaleState, a as stopDaemon } from './controlClient-
|
|
3
|
-
import { s as spawnHappyCLI } from './spawnHappyCLI-
|
|
4
|
-
import { readDaemonState } from './persistence-
|
|
5
|
-
import { c as configuration } from './configuration-
|
|
1
|
+
import { l as logger } from './logger-BpQcwNnt.mjs';
|
|
2
|
+
import { i as isDaemonRunningCurrentlyInstalledHappyVersion, c as checkIfDaemonRunningAndCleanupStaleState, a as stopDaemon } from './controlClient-BMUJfUeF.mjs';
|
|
3
|
+
import { s as spawnHappyCLI } from './spawnHappyCLI-BAa49m0q.mjs';
|
|
4
|
+
import { readDaemonState } from './persistence-B9LmhAE2.mjs';
|
|
5
|
+
import { c as configuration } from './configuration-D2v3puap.mjs';
|
|
6
6
|
import { d as daemonEndpointsMatch } from './doctorReadiness-C208SMN9.mjs';
|
|
7
7
|
|
|
8
8
|
function extractNoSandboxFlag(args) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var logger = require('./logger-
|
|
4
|
-
var controlClient = require('./controlClient-
|
|
5
|
-
var spawnHappyCLI = require('./spawnHappyCLI-
|
|
6
|
-
var persistence = require('./persistence-
|
|
7
|
-
var configuration = require('./configuration-
|
|
3
|
+
var logger = require('./logger-JTcJU-uL.cjs');
|
|
4
|
+
var controlClient = require('./controlClient-CmnHGcyl.cjs');
|
|
5
|
+
var spawnHappyCLI = require('./spawnHappyCLI-DyaldIe5.cjs');
|
|
6
|
+
var persistence = require('./persistence-2Xp_o6x6.cjs');
|
|
7
|
+
var configuration = require('./configuration-B0cb3xA3.cjs');
|
|
8
8
|
var doctorReadiness = require('./doctorReadiness-BCZGcN0a.cjs');
|
|
9
9
|
|
|
10
10
|
function extractNoSandboxFlag(args) {
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var node_fs = require('node:fs');
|
|
4
|
-
var spawnHappyCLI = require('./spawnHappyCLI-
|
|
4
|
+
var spawnHappyCLI = require('./spawnHappyCLI-DyaldIe5.cjs');
|
|
5
5
|
var axios = require('axios');
|
|
6
6
|
var tweetnacl = require('tweetnacl');
|
|
7
7
|
var z = require('zod');
|
|
8
8
|
var authRelay = require('./authRelay-BdYkC1Po.cjs');
|
|
9
|
-
var configuration = require('./configuration-
|
|
10
|
-
var localHappyAgentAuth = require('./localHappyAgentAuth-
|
|
9
|
+
var configuration = require('./configuration-B0cb3xA3.cjs');
|
|
10
|
+
var localHappyAgentAuth = require('./localHappyAgentAuth-d7B6S_o7.cjs');
|
|
11
11
|
require('cross-spawn');
|
|
12
12
|
require('node:path');
|
|
13
13
|
require('./projectPath-ChLhdOyt.cjs');
|
|
14
14
|
require('path');
|
|
15
15
|
require('url');
|
|
16
|
-
require('./logger-
|
|
16
|
+
require('./logger-JTcJU-uL.cjs');
|
|
17
17
|
require('chalk');
|
|
18
18
|
require('node:util');
|
|
19
19
|
require('node:crypto');
|
|
20
20
|
require('node:os');
|
|
21
|
-
require('./package-
|
|
21
|
+
require('./package-C1XvUQFy.cjs');
|
|
22
22
|
require('node:fs/promises');
|
|
23
23
|
|
|
24
24
|
const ResumableMetadataSchema = z.z.object({
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
|
-
import { s as spawnHappyCLI } from './spawnHappyCLI-
|
|
2
|
+
import { s as spawnHappyCLI } from './spawnHappyCLI-BAa49m0q.mjs';
|
|
3
3
|
import axios, { AxiosError } from 'axios';
|
|
4
4
|
import tweetnacl from 'tweetnacl';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { d as decodeBase64, a as decryptWithDataKey, b as decryptLegacy } from './authRelay-DSAvg1uv.mjs';
|
|
7
|
-
import { c as configuration } from './configuration-
|
|
8
|
-
import { g as getLocalHappyAgentCredentialPath, r as readLocalHappyAgentCredentials } from './localHappyAgentAuth-
|
|
7
|
+
import { c as configuration } from './configuration-D2v3puap.mjs';
|
|
8
|
+
import { g as getLocalHappyAgentCredentialPath, r as readLocalHappyAgentCredentials } from './localHappyAgentAuth-Ct1aXwqd.mjs';
|
|
9
9
|
import 'cross-spawn';
|
|
10
10
|
import 'node:path';
|
|
11
11
|
import './projectPath-BTBIMB57.mjs';
|
|
12
12
|
import 'path';
|
|
13
13
|
import 'url';
|
|
14
|
-
import './logger-
|
|
14
|
+
import './logger-BpQcwNnt.mjs';
|
|
15
15
|
import 'chalk';
|
|
16
16
|
import 'node:util';
|
|
17
17
|
import 'node:crypto';
|
|
18
18
|
import 'node:os';
|
|
19
|
-
import './package-
|
|
19
|
+
import './package-BqwrPxL0.mjs';
|
|
20
20
|
import 'node:fs/promises';
|
|
21
21
|
|
|
22
22
|
const ResumableMetadataSchema = z.object({
|
|
@@ -466,6 +466,10 @@ const AUTOMATION_PAYLOAD_MAX_BYTES = 65536;
|
|
|
466
466
|
const AUTOMATION_SUMMARY_MAX_CHARS = 4096;
|
|
467
467
|
const AUTOMATION_DEFAULT_LEASE_MS = 6e4;
|
|
468
468
|
const AUTOMATION_CLAIM_MAX_RUNS = 8;
|
|
469
|
+
const AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS = 6e4;
|
|
470
|
+
const AUTOMATION_PRECHECK_MAX_TIMEOUT_MS = 6e5;
|
|
471
|
+
const AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS = 4e3;
|
|
472
|
+
const AUTOMATION_DAEMON_CAPABILITY_PRECHECK = "precheck";
|
|
469
473
|
const timestamp = z$1.number().int().positive().max(AUTOMATION_MAX_TIMESTAMP);
|
|
470
474
|
const AutomationTriggerSchema = z$1.discriminatedUnion("kind", [
|
|
471
475
|
// `expr` is standard five-field cron (minute hour day-of-month month day-of-week,
|
|
@@ -499,6 +503,13 @@ const AutomationActionSchema = z$1.discriminatedUnion("kind", [
|
|
|
499
503
|
timeoutMs: z$1.number().int().min(1e3).max(7 * 864e5).optional()
|
|
500
504
|
})
|
|
501
505
|
]);
|
|
506
|
+
const AutomationPrecheckSchema = z$1.object({
|
|
507
|
+
command: z$1.array(z$1.string().min(1).max(4096)).min(1).max(256).optional(),
|
|
508
|
+
shell: z$1.string().trim().min(1).max(8e3).optional(),
|
|
509
|
+
cwd: z$1.string().min(1).max(4096).optional(),
|
|
510
|
+
timeoutMs: z$1.number().int().min(1e3).max(AUTOMATION_PRECHECK_MAX_TIMEOUT_MS).optional(),
|
|
511
|
+
includeOutput: z$1.boolean().optional()
|
|
512
|
+
}).refine((p) => p.command === void 0 !== (p.shell === void 0), "precheck needs exactly one of command (argv) or shell");
|
|
502
513
|
const AutomationConcurrencySchema = z$1.enum(["skip", "queue"]);
|
|
503
514
|
const AUTOMATION_STATUSES = ["active", "paused"];
|
|
504
515
|
const AUTOMATION_RUN_TERMINAL_STATUSES = ["done", "failed", "skipped", "expired", "cancelled"];
|
|
@@ -514,7 +525,9 @@ z$1.object({
|
|
|
514
525
|
action: AutomationActionSchema,
|
|
515
526
|
concurrency: AutomationConcurrencySchema.optional(),
|
|
516
527
|
maxRuntimeMs: maxRuntimeMs.optional(),
|
|
517
|
-
status: z$1.enum(AUTOMATION_STATUSES).optional()
|
|
528
|
+
status: z$1.enum(AUTOMATION_STATUSES).optional(),
|
|
529
|
+
/** B-548. Older servers strip it silently — clients must check the response echoes `precheck`. */
|
|
530
|
+
precheck: AutomationPrecheckSchema.nullable().optional()
|
|
518
531
|
});
|
|
519
532
|
z$1.object({
|
|
520
533
|
version: z$1.number().int().positive(),
|
|
@@ -524,7 +537,9 @@ z$1.object({
|
|
|
524
537
|
trigger: AutomationTriggerSchema.optional(),
|
|
525
538
|
action: AutomationActionSchema.optional(),
|
|
526
539
|
concurrency: AutomationConcurrencySchema.optional(),
|
|
527
|
-
maxRuntimeMs: maxRuntimeMs.optional()
|
|
540
|
+
maxRuntimeMs: maxRuntimeMs.optional(),
|
|
541
|
+
/** B-548: omitted keeps the current precheck, `null` removes it. Changing `action` alone keeps it too. */
|
|
542
|
+
precheck: AutomationPrecheckSchema.nullable().optional()
|
|
528
543
|
});
|
|
529
544
|
const payload = z$1.string().max(AUTOMATION_PAYLOAD_MAX_BYTES).refine((v) => new TextEncoder().encode(v).length <= AUTOMATION_PAYLOAD_MAX_BYTES, "payload exceeds 64KB");
|
|
530
545
|
z$1.object({ payload: payload.optional(), dedupeKey: z$1.string().min(1).max(256).optional() });
|
|
@@ -532,11 +547,13 @@ z$1.object({ payload: payload.optional() });
|
|
|
532
547
|
z$1.object({
|
|
533
548
|
machineId: id,
|
|
534
549
|
limit: z$1.number().int().min(1).max(AUTOMATION_CLAIM_MAX_RUNS).optional(),
|
|
535
|
-
leaseMs: z$1.number().int().min(5e3).max(36e5).optional()
|
|
550
|
+
leaseMs: z$1.number().int().min(5e3).max(36e5).optional(),
|
|
551
|
+
/** B-548: what this daemon can execute (e.g. `precheck`). Older daemons send nothing; older servers strip it. */
|
|
552
|
+
capabilities: z$1.array(z$1.string().min(1).max(64)).max(32).optional()
|
|
536
553
|
});
|
|
537
554
|
z$1.object({
|
|
538
555
|
claimId: id.optional(),
|
|
539
|
-
status: z$1.enum(["running", "done", "failed"]).optional(),
|
|
556
|
+
status: z$1.enum(["running", "done", "failed", "skipped"]).optional(),
|
|
540
557
|
sessionId: id.nullable().optional(),
|
|
541
558
|
stickyKey: z$1.string().min(1).max(512).optional(),
|
|
542
559
|
summary: z$1.string().max(AUTOMATION_SUMMARY_MAX_CHARS).nullable().optional(),
|
|
@@ -958,4 +975,4 @@ z$1.object({
|
|
|
958
975
|
items: z$1.array(PromptQueueItemSchema)
|
|
959
976
|
});
|
|
960
977
|
|
|
961
|
-
export { AUTOMATION_NAME_PATTERN as A, BUILTIN_TODO_SKILL as B, ContextUsageSchema as C, PROMPT_QUEUE_CAPABILITY as P, ReleaseDrainNoticeSchema as R, STREAM_DELTA_MAX_CHARS as S,
|
|
978
|
+
export { AUTOMATION_NAME_PATTERN as A, BUILTIN_TODO_SKILL as B, ContextUsageSchema as C, PROMPT_QUEUE_CAPABILITY as P, ReleaseDrainNoticeSchema as R, STREAM_DELTA_MAX_CHARS as S, AUTOMATION_PRECHECK_MAX_TIMEOUT_MS as a, AutomationPrecheckSchema as b, createEnvelope as c, createBuiltinTodoClient as d, isClaudeOpus55Model as e, supportsClaudeOpus55 as f, getAgentCodeDefaults as g, AutomationNameSchema as h, isAutomationRunTerminal as i, AutomationConcurrencySchema as j, AutomationActionSchema as k, AutomationTriggerSchema as l, AgentVersionsSchema as m, normalizeAgentKey as n, BUILTIN_TODO_DISCOVERY as o, AGENT_VERSION_SOURCES as p, RelayAssignmentResponseSchema as q, RelayCandidatesResponseSchema as r, streamKeyOf as s, AUTOMATION_SUMMARY_MAX_CHARS as t, AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS as u, AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS as v, AUTOMATION_CLAIM_MAX_RUNS as w, AUTOMATION_DAEMON_CAPABILITY_PRECHECK as x, AUTOMATION_DEFAULT_LEASE_MS as y };
|
|
@@ -486,6 +486,10 @@ const AUTOMATION_PAYLOAD_MAX_BYTES = 65536;
|
|
|
486
486
|
const AUTOMATION_SUMMARY_MAX_CHARS = 4096;
|
|
487
487
|
const AUTOMATION_DEFAULT_LEASE_MS = 6e4;
|
|
488
488
|
const AUTOMATION_CLAIM_MAX_RUNS = 8;
|
|
489
|
+
const AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS = 6e4;
|
|
490
|
+
const AUTOMATION_PRECHECK_MAX_TIMEOUT_MS = 6e5;
|
|
491
|
+
const AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS = 4e3;
|
|
492
|
+
const AUTOMATION_DAEMON_CAPABILITY_PRECHECK = "precheck";
|
|
489
493
|
const timestamp = z.z.number().int().positive().max(AUTOMATION_MAX_TIMESTAMP);
|
|
490
494
|
const AutomationTriggerSchema = z.z.discriminatedUnion("kind", [
|
|
491
495
|
// `expr` is standard five-field cron (minute hour day-of-month month day-of-week,
|
|
@@ -519,6 +523,13 @@ const AutomationActionSchema = z.z.discriminatedUnion("kind", [
|
|
|
519
523
|
timeoutMs: z.z.number().int().min(1e3).max(7 * 864e5).optional()
|
|
520
524
|
})
|
|
521
525
|
]);
|
|
526
|
+
const AutomationPrecheckSchema = z.z.object({
|
|
527
|
+
command: z.z.array(z.z.string().min(1).max(4096)).min(1).max(256).optional(),
|
|
528
|
+
shell: z.z.string().trim().min(1).max(8e3).optional(),
|
|
529
|
+
cwd: z.z.string().min(1).max(4096).optional(),
|
|
530
|
+
timeoutMs: z.z.number().int().min(1e3).max(AUTOMATION_PRECHECK_MAX_TIMEOUT_MS).optional(),
|
|
531
|
+
includeOutput: z.z.boolean().optional()
|
|
532
|
+
}).refine((p) => p.command === void 0 !== (p.shell === void 0), "precheck needs exactly one of command (argv) or shell");
|
|
522
533
|
const AutomationConcurrencySchema = z.z.enum(["skip", "queue"]);
|
|
523
534
|
const AUTOMATION_STATUSES = ["active", "paused"];
|
|
524
535
|
const AUTOMATION_RUN_TERMINAL_STATUSES = ["done", "failed", "skipped", "expired", "cancelled"];
|
|
@@ -534,7 +545,9 @@ z.z.object({
|
|
|
534
545
|
action: AutomationActionSchema,
|
|
535
546
|
concurrency: AutomationConcurrencySchema.optional(),
|
|
536
547
|
maxRuntimeMs: maxRuntimeMs.optional(),
|
|
537
|
-
status: z.z.enum(AUTOMATION_STATUSES).optional()
|
|
548
|
+
status: z.z.enum(AUTOMATION_STATUSES).optional(),
|
|
549
|
+
/** B-548. Older servers strip it silently — clients must check the response echoes `precheck`. */
|
|
550
|
+
precheck: AutomationPrecheckSchema.nullable().optional()
|
|
538
551
|
});
|
|
539
552
|
z.z.object({
|
|
540
553
|
version: z.z.number().int().positive(),
|
|
@@ -544,7 +557,9 @@ z.z.object({
|
|
|
544
557
|
trigger: AutomationTriggerSchema.optional(),
|
|
545
558
|
action: AutomationActionSchema.optional(),
|
|
546
559
|
concurrency: AutomationConcurrencySchema.optional(),
|
|
547
|
-
maxRuntimeMs: maxRuntimeMs.optional()
|
|
560
|
+
maxRuntimeMs: maxRuntimeMs.optional(),
|
|
561
|
+
/** B-548: omitted keeps the current precheck, `null` removes it. Changing `action` alone keeps it too. */
|
|
562
|
+
precheck: AutomationPrecheckSchema.nullable().optional()
|
|
548
563
|
});
|
|
549
564
|
const payload = z.z.string().max(AUTOMATION_PAYLOAD_MAX_BYTES).refine((v) => new TextEncoder().encode(v).length <= AUTOMATION_PAYLOAD_MAX_BYTES, "payload exceeds 64KB");
|
|
550
565
|
z.z.object({ payload: payload.optional(), dedupeKey: z.z.string().min(1).max(256).optional() });
|
|
@@ -552,11 +567,13 @@ z.z.object({ payload: payload.optional() });
|
|
|
552
567
|
z.z.object({
|
|
553
568
|
machineId: id,
|
|
554
569
|
limit: z.z.number().int().min(1).max(AUTOMATION_CLAIM_MAX_RUNS).optional(),
|
|
555
|
-
leaseMs: z.z.number().int().min(5e3).max(36e5).optional()
|
|
570
|
+
leaseMs: z.z.number().int().min(5e3).max(36e5).optional(),
|
|
571
|
+
/** B-548: what this daemon can execute (e.g. `precheck`). Older daemons send nothing; older servers strip it. */
|
|
572
|
+
capabilities: z.z.array(z.z.string().min(1).max(64)).max(32).optional()
|
|
556
573
|
});
|
|
557
574
|
z.z.object({
|
|
558
575
|
claimId: id.optional(),
|
|
559
|
-
status: z.z.enum(["running", "done", "failed"]).optional(),
|
|
576
|
+
status: z.z.enum(["running", "done", "failed", "skipped"]).optional(),
|
|
560
577
|
sessionId: id.nullable().optional(),
|
|
561
578
|
stickyKey: z.z.string().min(1).max(512).optional(),
|
|
562
579
|
summary: z.z.string().max(AUTOMATION_SUMMARY_MAX_CHARS).nullable().optional(),
|
|
@@ -980,13 +997,18 @@ z.z.object({
|
|
|
980
997
|
|
|
981
998
|
exports.AGENT_VERSION_SOURCES = AGENT_VERSION_SOURCES;
|
|
982
999
|
exports.AUTOMATION_CLAIM_MAX_RUNS = AUTOMATION_CLAIM_MAX_RUNS;
|
|
1000
|
+
exports.AUTOMATION_DAEMON_CAPABILITY_PRECHECK = AUTOMATION_DAEMON_CAPABILITY_PRECHECK;
|
|
983
1001
|
exports.AUTOMATION_DEFAULT_LEASE_MS = AUTOMATION_DEFAULT_LEASE_MS;
|
|
984
1002
|
exports.AUTOMATION_NAME_PATTERN = AUTOMATION_NAME_PATTERN;
|
|
1003
|
+
exports.AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS = AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS;
|
|
1004
|
+
exports.AUTOMATION_PRECHECK_MAX_TIMEOUT_MS = AUTOMATION_PRECHECK_MAX_TIMEOUT_MS;
|
|
1005
|
+
exports.AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS = AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS;
|
|
985
1006
|
exports.AUTOMATION_SUMMARY_MAX_CHARS = AUTOMATION_SUMMARY_MAX_CHARS;
|
|
986
1007
|
exports.AgentVersionsSchema = AgentVersionsSchema;
|
|
987
1008
|
exports.AutomationActionSchema = AutomationActionSchema;
|
|
988
1009
|
exports.AutomationConcurrencySchema = AutomationConcurrencySchema;
|
|
989
1010
|
exports.AutomationNameSchema = AutomationNameSchema;
|
|
1011
|
+
exports.AutomationPrecheckSchema = AutomationPrecheckSchema;
|
|
990
1012
|
exports.AutomationTriggerSchema = AutomationTriggerSchema;
|
|
991
1013
|
exports.BUILTIN_TODO_DISCOVERY = BUILTIN_TODO_DISCOVERY;
|
|
992
1014
|
exports.BUILTIN_TODO_SKILL = BUILTIN_TODO_SKILL;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _package = require('./package-
|
|
3
|
+
var _package = require('./package-C1XvUQFy.cjs');
|
|
4
4
|
var module$1 = require('node:module');
|
|
5
5
|
var node_fs = require('node:fs');
|
|
6
6
|
var promises = require('node:fs/promises');
|
|
@@ -59,10 +59,10 @@ async function pruneStaleCompileCaches(happyHomeDir, cliVersion) {
|
|
|
59
59
|
async function run(args) {
|
|
60
60
|
enableCompileCacheIfPossible(_package.packageJson.version);
|
|
61
61
|
if (isStandaloneVersionRequest(args) || isSelfCheckRequest(args)) {
|
|
62
|
-
const { selfCheckMain } = await Promise.resolve().then(function () { return require('./selfCheck-
|
|
62
|
+
const { selfCheckMain } = await Promise.resolve().then(function () { return require('./selfCheck-Dugi0Nk_.cjs'); });
|
|
63
63
|
process.exit(await selfCheckMain({ verbose: isSelfCheckRequest(args) }));
|
|
64
64
|
}
|
|
65
|
-
const { main } = await Promise.resolve().then(function () { return require('./main-
|
|
65
|
+
const { main } = await Promise.resolve().then(function () { return require('./main-C16fOGgn.cjs'); });
|
|
66
66
|
await main();
|
|
67
67
|
}
|
|
68
68
|
void run(process.argv.slice(2));
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var AcpBackend = require('./AcpBackend-
|
|
4
|
-
var logger = require('./logger-
|
|
5
|
-
var AcpSessionManager = require('./AcpSessionManager-
|
|
6
|
-
var index = require('./index-
|
|
3
|
+
var AcpBackend = require('./AcpBackend-20VHOXwb.cjs');
|
|
4
|
+
var logger = require('./logger-JTcJU-uL.cjs');
|
|
5
|
+
var AcpSessionManager = require('./AcpSessionManager-Zf00QnlL.cjs');
|
|
6
|
+
var index = require('./index-C9hI8a10.cjs');
|
|
7
7
|
var agentAttachments = require('./agentAttachments-Dbw8iMCZ.cjs');
|
|
8
|
-
var configuration = require('./configuration-
|
|
9
|
-
var attachmentContent = require('./attachmentContent-
|
|
10
|
-
var piRuntime = require('./piRuntime-
|
|
8
|
+
var configuration = require('./configuration-B0cb3xA3.cjs');
|
|
9
|
+
var attachmentContent = require('./attachmentContent-DPWxHgX4.cjs');
|
|
10
|
+
var piRuntime = require('./piRuntime-R8XVChxK.cjs');
|
|
11
11
|
var node_crypto = require('node:crypto');
|
|
12
12
|
var path = require('node:path');
|
|
13
|
-
var api = require('./api-
|
|
14
|
-
var registerKillSessionHandler = require('./registerKillSessionHandler-
|
|
15
|
-
var deterministicJson = require('./deterministicJson-
|
|
16
|
-
var persistence = require('./persistence-
|
|
17
|
-
var machineMetadata = require('./machineMetadata-
|
|
18
|
-
var createSessionMetadata = require('./createSessionMetadata-
|
|
19
|
-
var setupOfflineReconnection = require('./setupOfflineReconnection-
|
|
20
|
-
var controlClient = require('./controlClient-
|
|
13
|
+
var api = require('./api-DnNL5fLw.cjs');
|
|
14
|
+
var registerKillSessionHandler = require('./registerKillSessionHandler-CjitOpUA.cjs');
|
|
15
|
+
var deterministicJson = require('./deterministicJson-Dp3TVyap.cjs');
|
|
16
|
+
var persistence = require('./persistence-2Xp_o6x6.cjs');
|
|
17
|
+
var machineMetadata = require('./machineMetadata-BBg_Njw3.cjs');
|
|
18
|
+
var createSessionMetadata = require('./createSessionMetadata-DbfRBhRu.cjs');
|
|
19
|
+
var setupOfflineReconnection = require('./setupOfflineReconnection-DFmQ8s6I.cjs');
|
|
20
|
+
var controlClient = require('./controlClient-CmnHGcyl.cjs');
|
|
21
21
|
var authRelay = require('./authRelay-BdYkC1Po.cjs');
|
|
22
|
-
var streamRelay = require('./streamRelay-
|
|
22
|
+
var streamRelay = require('./streamRelay-Ce9sgcOV.cjs');
|
|
23
23
|
var projectPath = require('./projectPath-ChLhdOyt.cjs');
|
|
24
|
-
var BasePermissionHandler = require('./BasePermissionHandler-
|
|
25
|
-
var titleGenerator = require('./titleGenerator-
|
|
26
|
-
var sessionModeFile = require('./sessionModeFile-
|
|
24
|
+
var BasePermissionHandler = require('./BasePermissionHandler-COKc4pmt.cjs');
|
|
25
|
+
var titleGenerator = require('./titleGenerator-CoMxqKfP.cjs');
|
|
26
|
+
var sessionModeFile = require('./sessionModeFile-CIznKD7O.cjs');
|
|
27
27
|
var editPaths = require('./editPaths-Bqp4OFPw.cjs');
|
|
28
28
|
require('node:child_process');
|
|
29
29
|
require('@agentclientprotocol/sdk');
|
|
30
|
-
require('./time-
|
|
30
|
+
require('./time-T0YmeOhS.cjs');
|
|
31
31
|
require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
32
|
-
require('./package-
|
|
32
|
+
require('./package-C1XvUQFy.cjs');
|
|
33
33
|
require('chalk');
|
|
34
34
|
require('node:util');
|
|
35
35
|
require('node:fs');
|
|
@@ -37,48 +37,49 @@ require('@paralleldrive/cuid2');
|
|
|
37
37
|
require('zod');
|
|
38
38
|
require('node:os');
|
|
39
39
|
require('node:fs/promises');
|
|
40
|
-
require('./attachmentLimits-
|
|
40
|
+
require('./attachmentLimits-BfgKV5iE.cjs');
|
|
41
41
|
require('./resources-JDPugcDq.cjs');
|
|
42
42
|
require('axios');
|
|
43
|
-
require('./lidState-
|
|
43
|
+
require('./lidState-D8BmnJV1.cjs');
|
|
44
44
|
require('os');
|
|
45
45
|
require('child_process');
|
|
46
46
|
require('node:events');
|
|
47
47
|
require('socket.io-client');
|
|
48
48
|
require('./limits-C-a7gr04.cjs');
|
|
49
|
-
require('./registerCommonHandlers-
|
|
49
|
+
require('./registerCommonHandlers-Aha_KfM3.cjs');
|
|
50
50
|
require('util');
|
|
51
51
|
require('fs/promises');
|
|
52
52
|
require('crypto');
|
|
53
53
|
require('path');
|
|
54
54
|
require('cross-spawn');
|
|
55
|
-
require('./sync
|
|
55
|
+
require('./sync-x_lI_3j_.cjs');
|
|
56
56
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
57
57
|
require('tweetnacl');
|
|
58
58
|
require('./types-CRS-srZK.cjs');
|
|
59
|
-
require('./client-
|
|
60
|
-
require('./context-
|
|
61
|
-
require('./sessionOps-
|
|
62
|
-
require('./tools-
|
|
63
|
-
require('./
|
|
64
|
-
require('./client-
|
|
65
|
-
require('./
|
|
59
|
+
require('./client-JISJx2f-.cjs');
|
|
60
|
+
require('./context-BFUpYT39.cjs');
|
|
61
|
+
require('./sessionOps-DOyy4gkY.cjs');
|
|
62
|
+
require('./tools-IJ0TAcJs.cjs');
|
|
63
|
+
require('./reportProgressTool-B-Rcy0s3.cjs');
|
|
64
|
+
require('./client-DJ0kX_8M.cjs');
|
|
65
|
+
require('./precheckCompat-CWOi5c9L.cjs');
|
|
66
|
+
require('./agentGuidance-BtBx2xxE.cjs');
|
|
67
|
+
require('./trimIdent-4gvk9Wk6.cjs');
|
|
68
|
+
require('./peerTools-DPvbcs8V.cjs');
|
|
66
69
|
require('./ids-B6ZC0HGt.cjs');
|
|
67
|
-
require('./remoteSessionClient-
|
|
70
|
+
require('./remoteSessionClient-BwI8rpQw.cjs');
|
|
68
71
|
require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
69
72
|
require('node:http');
|
|
70
73
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
71
|
-
require('./
|
|
74
|
+
require('./downloadTarget-CiQqRIc-.cjs');
|
|
72
75
|
require('./terminals-B_bfC9c2.cjs');
|
|
73
76
|
require('./terminalTitleSuggest-DhvRFX3H.cjs');
|
|
74
77
|
require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
75
|
-
require('./bootstrap-
|
|
76
|
-
require('./agentGuidance-B5NATuFa.cjs');
|
|
77
|
-
require('./trimIdent-4gvk9Wk6.cjs');
|
|
78
|
+
require('./bootstrap-BpXIc2wn.cjs');
|
|
78
79
|
require('./previewPath-B0rBdhy1.cjs');
|
|
79
80
|
require('./detectCLI-DR9ZaN6B.cjs');
|
|
80
81
|
require('fs');
|
|
81
|
-
require('./localHappyAgentAuth-
|
|
82
|
+
require('./localHappyAgentAuth-d7B6S_o7.cjs');
|
|
82
83
|
require('url');
|
|
83
84
|
require('node:module');
|
|
84
85
|
require('./oneShotPrompts-CL0dip9C.cjs');
|
|
@@ -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-JTcJU-uL.cjs');
|
|
6
|
+
var persistence = require('./persistence-2Xp_o6x6.cjs');
|
|
7
7
|
var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
|
|
8
8
|
require('chalk');
|
|
9
9
|
require('node:util');
|
|
10
|
-
require('./configuration-
|
|
10
|
+
require('./configuration-B0cb3xA3.cjs');
|
|
11
11
|
require('node:path');
|
|
12
|
-
require('./package-
|
|
12
|
+
require('./package-C1XvUQFy.cjs');
|
|
13
13
|
require('node:fs/promises');
|
|
14
14
|
require('zod');
|
|
15
15
|
require('./authRelay-BdYkC1Po.cjs');
|
|
@@ -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-BpQcwNnt.mjs';
|
|
4
|
+
import { readSettings } from './persistence-B9LmhAE2.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-D2v3puap.mjs';
|
|
10
10
|
import 'node:path';
|
|
11
|
-
import './package-
|
|
11
|
+
import './package-BqwrPxL0.mjs';
|
|
12
12
|
import 'node:fs/promises';
|
|
13
13
|
import 'zod';
|
|
14
14
|
import './authRelay-DSAvg1uv.mjs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { p as packageJson } from './package-
|
|
1
|
+
import { p as packageJson } from './package-BqwrPxL0.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-DPi4lqme.mjs');
|
|
61
61
|
process.exit(await selfCheckMain({ verbose: isSelfCheckRequest(args) }));
|
|
62
62
|
}
|
|
63
|
-
const { main } = await import('./main-
|
|
63
|
+
const { main } = await import('./main-B5b1gA3K.mjs');
|
|
64
64
|
await main();
|
|
65
65
|
}
|
|
66
66
|
void run(process.argv.slice(2));
|