very-happy-cli 0.2.179 → 0.2.181
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-DFipFF7-.cjs → AcpBackend-CgHb_ya5.cjs} +3 -3
- package/dist/{AcpBackend-CHp3y7cb.mjs → AcpBackend-DZGCSuXF.mjs} +3 -3
- package/dist/{AcpSessionManager-0zpvRJXc.cjs → AcpSessionManager-CacC2EVn.cjs} +1 -1
- package/dist/{AcpSessionManager-d2-rKWWa.mjs → AcpSessionManager-DwuPzWBh.mjs} +1 -1
- package/dist/{BasePermissionHandler-CH3zuEkA.cjs → BasePermissionHandler-DCP8ZEB4.cjs} +1 -1
- package/dist/{BasePermissionHandler-DdZBYIR4.mjs → BasePermissionHandler-Uo-GUjbb.mjs} +1 -1
- package/dist/{acpSessionResume-DTGmAPLt.mjs → acpSessionResume-9OLTD6kT.mjs} +1 -1
- package/dist/{acpSessionResume-oiCBnAVA.cjs → acpSessionResume-BaVMD80f.cjs} +1 -1
- package/dist/{agentHome-CghLvL_1.mjs → agentHome-B1BsKeqD.mjs} +4 -4
- package/dist/{agentHome-BWcz8mz0.cjs → agentHome-BtUmGcPX.cjs} +4 -4
- package/dist/{api-Cmjfr8Z7.cjs → api-COHFAkb_.cjs} +20 -12
- package/dist/{api-CzwFpJQc.mjs → api-Dr3wXL_7.mjs} +21 -13
- package/dist/{apiMachine-DJkTEiqy.mjs → apiMachine-CHEzPQdS.mjs} +73 -32
- package/dist/{apiMachine-G6OogT08.cjs → apiMachine-D8H7CXaz.cjs} +75 -34
- package/dist/{attachmentContent-B2os4HbA.mjs → attachmentContent-1YwtKgWl.mjs} +2 -2
- package/dist/{attachmentContent-Bo0UAsSu.cjs → attachmentContent-mIhbtRKl.cjs} +2 -2
- package/dist/{auth-DMX0xPNK.mjs → auth-CbZkcMAb.mjs} +8 -8
- package/dist/{auth-D6bBUwZa.cjs → auth-CgQP7d0q.cjs} +5 -5
- package/dist/{auth-BS6PaOOG.mjs → auth-DZsthtSk.mjs} +5 -5
- package/dist/{auth-HEhRaNgL.cjs → auth-Fg8fLadK.cjs} +8 -8
- package/dist/{auto-C6I55iOh.cjs → auto-BB7kqSh5.cjs} +19 -19
- package/dist/{auto-Cl1SEDcD.mjs → auto-_T-Ud-z5.mjs} +19 -19
- package/dist/{backgroundTaskActivity-BVwJBl02.mjs → backgroundTaskActivity-8PdPxrvy.mjs} +1 -1
- package/dist/{bootstrap-iuyufnp3.mjs → bootstrap-B6EkZh4u.mjs} +2 -2
- package/dist/{bootstrap-exVucYav.cjs → bootstrap-CYtOtbi7.cjs} +2 -2
- package/dist/{browser-CSYum7xH.mjs → browser-C2qhUHSE.mjs} +1 -1
- package/dist/{browser-BohJK12g.cjs → browser-DjNNQQk2.cjs} +1 -1
- package/dist/{claudeCliPath-U4HHmV4r.cjs → claudeCliPath-GaP3UUz1.cjs} +1 -1
- package/dist/{claudeLocal-Dq_R3Ax_.mjs → claudeLocal-BAFjWhZ8.mjs} +6 -6
- package/dist/{claudeLocal-re4yjSTx.cjs → claudeLocal-O_w7-fBh.cjs} +8 -8
- package/dist/{claudeLocalLauncher-CN67lN7-.mjs → claudeLocalLauncher-CWn30LZR.mjs} +11 -11
- package/dist/{claudeLocalLauncher-B4hJHpCA.cjs → claudeLocalLauncher-Df3zg1q0.cjs} +13 -13
- package/dist/{claudeSessionFork-BihfD0Ik.mjs → claudeSessionFork-2ZkSTOGn.mjs} +1 -1
- package/dist/{claudeSessionFork-DiSMYerV.cjs → claudeSessionFork-pwcKqB-e.cjs} +1 -1
- package/dist/{client-BhoEBnuN.mjs → client-BKyU66lg.mjs} +2 -2
- package/dist/{client-BKcK1Bi-.cjs → client-CUO3ItoB.cjs} +34 -8
- package/dist/{client-wo9nbxuf.mjs → client-CXOnzuOy.mjs} +2 -2
- package/dist/{client-ZjOsn6nZ.cjs → client-DWs6k041.cjs} +2 -2
- package/dist/{client-CuVdN6PP.cjs → client-D_U2VjO3.cjs} +2 -2
- package/dist/{client-DuTDwWSQ.mjs → client-DsQcxVUV.mjs} +34 -9
- package/dist/codex/happyMcpStdioBridge.cjs +17 -17
- package/dist/codex/happyMcpStdioBridge.mjs +18 -18
- package/dist/{codexAppServerClient-Dt5zxrun.cjs → codexAppServerClient-BRX3JZ_5.cjs} +3 -3
- package/dist/{codexAppServerClient-BK3zra_1.mjs → codexAppServerClient-C3JO3pwM.mjs} +3 -3
- package/dist/{codexCommand-B6pY7CMh.mjs → codexCommand-BZIAAqKS.mjs} +59 -51
- package/dist/{codexCommand-CAZ1SLjg.cjs → codexCommand-dKOc5iQl.cjs} +85 -77
- package/dist/{codexTermination-DmGbHxcD.cjs → codexTermination-BVR9HeVI.cjs} +7 -2
- package/dist/{codexTermination-Cd1Eon_4.mjs → codexTermination-ztFkwHrG.mjs} +7 -2
- package/dist/{config-2oMG_fEI.mjs → config-NbHjx8ge.mjs} +3 -3
- package/dist/{config-B0uK6K7n.cjs → config-cftYxLC7.cjs} +26 -26
- package/dist/{configuration-WMi4idBB.mjs → configuration-BPrfb17M.mjs} +1 -1
- package/dist/{configuration-CMHZnp6G.cjs → configuration-C8JgseHy.cjs} +1 -1
- package/dist/{connect-uaglGrde.cjs → connect-Br8VMrK1.cjs} +27 -27
- package/dist/{connect-BLVHhHzA.mjs → connect-CLD1ai0k.mjs} +14 -14
- package/dist/{context-DXzU5bFM.cjs → context-D1lgQTJC.cjs} +1 -1
- package/dist/{context-DploEcoN.mjs → context-_YGq8xdH.mjs} +1 -1
- package/dist/{controlClient-BWUJrj3t.mjs → controlClient-CkNpT5zS.mjs} +4 -4
- package/dist/{controlClient-C-5qCt8W.cjs → controlClient-D68Zj7Q-.cjs} +3 -3
- package/dist/{createSessionMetadata-3uXrJgOW.mjs → createSessionMetadata-3WAj3_xl.mjs} +2 -2
- package/dist/{createSessionMetadata-BkIzHALd.cjs → createSessionMetadata-DNIbKLHg.cjs} +3 -3
- package/dist/{defaultPermissionMode-pS3vmiSg.cjs → defaultPermissionMode-BmvjP32v.cjs} +2 -2
- package/dist/{defaultPermissionMode-BzxLh20a.mjs → defaultPermissionMode-DXMznl8v.mjs} +2 -2
- package/dist/{detectCLI-DR9ZaN6B.cjs → detectCLI-BuYR_Qxe.cjs} +4 -4
- package/dist/{deterministicJson-B8z2GPi9.cjs → deterministicJson-BS7D7URE.cjs} +89 -24
- package/dist/{deterministicJson-D_whDMFd.mjs → deterministicJson-BcBIKKf1.mjs} +87 -24
- package/dist/{doctor-Br1Kcy2J.cjs → doctor-Be7zC0AF.cjs} +10 -9
- package/dist/{doctor-CmtSsR2-.mjs → doctor-CoOaPq6w.mjs} +8 -8
- package/dist/{doctorReadiness-BCZGcN0a.cjs → doctorReadiness-Dl6yRQCy.cjs} +1 -1
- package/dist/{downloadTarget-BoNwTIH_.mjs → downloadTarget-CeaAXdJj.mjs} +6 -6
- package/dist/{downloadTarget-BQJK_6oH.cjs → downloadTarget-LyOiucn_.cjs} +6 -6
- package/dist/{ensureDaemonRunning-Czo9IHJQ.mjs → ensureDaemonRunning--98j7-17.mjs} +5 -5
- package/dist/{ensureDaemonRunning-BRUmsq6J.cjs → ensureDaemonRunning-B8z37VKD.cjs} +6 -6
- package/dist/fileStore-5qpetZS0.mjs +146 -0
- package/dist/fileStore-7qhnbs6N.cjs +152 -0
- package/dist/{handleResumeCommand-tKD_Hpxc.cjs → handleResumeCommand-BFZlrFVH.cjs} +7 -7
- package/dist/{handleResumeCommand-C8thKjqf.mjs → handleResumeCommand-gO8I4keP.mjs} +6 -6
- package/dist/{index-DMqDMT1Q.cjs → index-B5PXbZjW.cjs} +80 -62
- package/dist/{index-D09T1m8Y.cjs → index-BRMq9gOe.cjs} +3 -3
- package/dist/{index-B0UjHlAe.cjs → index-BkluinoS.cjs} +4 -4
- package/dist/{index-CdQI0C9p.mjs → index-CO0n9ue6.mjs} +4 -4
- package/dist/{index-DPOa4NhL.mjs → index-CeRXrGnH.mjs} +41 -6
- package/dist/{index-C6O2vVjm.cjs → index-Df2eHm3O.cjs} +42 -6
- package/dist/{index-BTxHphpV.mjs → index-DneHoQXf.mjs} +80 -62
- package/dist/{index-BiyC7cZ3.mjs → index-WUj3954m.mjs} +4 -4
- package/dist/{index-D3bidoG8.mjs → index-hQ8LP1C2.mjs} +3 -3
- package/dist/{index-CUuc6iCn.cjs → index-jF2t3ACW.cjs} +4 -4
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-BX3lv3NO.mjs → install-D0inLCv-.mjs} +1 -1
- package/dist/{install-BXvf2E3o.cjs → install-D2NCbeJ-.cjs} +1 -1
- package/dist/{install-hnve_9vq.mjs → install-DkYFiVK4.mjs} +3 -3
- package/dist/{install-CYRZxS87.cjs → install-FqkSUjPC.cjs} +7 -7
- package/dist/{installPiTools-BKnXjrVu.cjs → installPiTools-CL_axh_6.cjs} +1 -1
- package/dist/{installTerminalHooks-BQZbvxsZ.cjs → installTerminalHooks-BETLKAtd.cjs} +3 -3
- package/dist/lib.cjs +13 -13
- package/dist/lib.d.cts +216 -2
- package/dist/lib.d.mts +216 -2
- package/dist/lib.mjs +13 -13
- package/dist/{lidState-Bb8fgXg3.mjs → lidState-DghbfRbr.mjs} +1 -1
- package/dist/{lidState-Dv2wwFTj.cjs → lidState-x8cJ8J_9.cjs} +1 -1
- package/dist/{localHappyAgentAuth-DjYvkXvV.cjs → localHappyAgentAuth-DZ2kb9uq.cjs} +1 -1
- package/dist/{localHappyAgentAuth-NEU7fax7.mjs → localHappyAgentAuth-IKmeRpuQ.mjs} +1 -1
- package/dist/{logger-C1GWx3gi.cjs → logger-DgBwUSgS.cjs} +2 -2
- package/dist/{logger-BtVhHnD8.mjs → logger-LFr8iPgl.mjs} +2 -2
- package/dist/machineMetadata-BglCsfvf.mjs +75 -0
- package/dist/machineMetadata-DB03ez4K.cjs +87 -0
- package/dist/{main-CWhSsbtU.cjs → main-YQ-Vkakw.cjs} +99 -132
- package/dist/{main-B2LWV8DI.mjs → main-_1LSzlLv.mjs} +93 -126
- package/dist/{mcp-CARUsXHV.cjs → mcp-BIY80jSc.cjs} +15 -15
- package/dist/{mcp-ext92q3Y.mjs → mcp-Csj-mT5Y.mjs} +15 -15
- package/dist/{mirrorProtocol-DEy2g1CB.cjs → mirrorProtocol-BphKIAK9.cjs} +15 -6
- package/dist/{mirrorProtocol-BwYibqry.mjs → mirrorProtocol-CAxOMBkb.mjs} +15 -6
- package/dist/{package-BPPebGQF.mjs → package-DYGwlmXl.mjs} +9 -8
- package/dist/{package-SgqTYsjn.cjs → package-NoD8QOOM.cjs} +9 -8
- package/dist/{panels-BZ0_Tt7B.mjs → panels-B8zRm7_d.mjs} +5 -5
- package/dist/{panels-D1c7q2dD.cjs → panels-DYEc1NyQ.cjs} +5 -5
- package/dist/{peerTools-CWKzcQ7u.mjs → peerTools-CK3JYu1k.mjs} +5 -5
- package/dist/{peerTools-DRQETXaz.cjs → peerTools-CP-x-Peu.cjs} +5 -5
- package/dist/{persistence-BegE7NPa.cjs → persistence-BY-D00wT.cjs} +2 -2
- package/dist/{persistence-Cr-wutZ4.mjs → persistence-D2Djrf7t.mjs} +2 -2
- package/dist/pi-CqyoZMjI.mjs +380 -0
- package/dist/pi-DlsrPCTa.cjs +400 -0
- package/dist/{piRunnerArgs-DwvM_yWA.mjs → piRunnerArgs-IZLoL7TG.mjs} +1 -1
- package/dist/{piRunnerArgs-Cs-378Vz.cjs → piRunnerArgs-gxLYIZH4.cjs} +1 -1
- package/dist/{piRuntime-Bue5mnlc.mjs → piRuntime-D7Y4oHVL.mjs} +2 -2
- package/dist/{piRuntime-BG-1td_n.cjs → piRuntime-o5L8uX-W.cjs} +2 -2
- package/dist/{piTerminal-G4z-xVyy.cjs → piTerminal-C_-JDkLN.cjs} +18 -18
- package/dist/{piTerminal-B5x9X5yV.mjs → piTerminal-Kphx8Uhw.mjs} +18 -18
- package/dist/projectPath-C3ioB4Bu.cjs +13 -0
- package/dist/{prompt-lgF9IE82.cjs → prompt-Bof2aQkI.cjs} +7 -2
- package/dist/{prompt-BOouDaTM.mjs → prompt-QHuFx9j6.mjs} +7 -2
- package/dist/{pushNotifications-DaLQUyi0.cjs → pushNotifications-BXoOSq_G.cjs} +14 -4
- package/dist/{pushNotifications-BdFjDjQe.mjs → pushNotifications-DXGIhE-A.mjs} +14 -4
- package/dist/{query-DYP_W1wp.mjs → query-CcA6DVZK.mjs} +1 -1
- package/dist/{query-Ctfg-5gy.cjs → query-CdCxzuaB.cjs} +1 -1
- package/dist/{rateLimitWindows-Dj_8voBK.cjs → rateLimitWindows-OpAmdOtC.cjs} +1 -1
- package/dist/{rateLimitWindows-CuEqk_0g.mjs → rateLimitWindows-ZtHZHe-l.mjs} +1 -1
- package/dist/{registerCommonHandlers-Cj084Sg7.cjs → registerCommonHandlers-CRjBoJLK.cjs} +30 -30
- package/dist/{registerCommonHandlers-BAlP7SGc.mjs → registerCommonHandlers-DF6bdDtd.mjs} +2 -2
- package/dist/{registerKillSessionHandler-qMju0ZfF.cjs → registerKillSessionHandler-7fOm6ooh.cjs} +6 -6
- package/dist/{registerKillSessionHandler-PD0jWtQo.mjs → registerKillSessionHandler-DDCKL3wf.mjs} +6 -6
- package/dist/{remoteSessionClient-Bn2qu5C5.mjs → remoteSessionClient-B2POSKFT.mjs} +5 -5
- package/dist/{remoteSessionClient-B7i7MkYV.cjs → remoteSessionClient-CFCn42bs.cjs} +5 -5
- package/dist/{reportProgressTool-gHItlSzz.mjs → reportProgressTool-tPxEvh6x.mjs} +4 -4
- package/dist/{reportProgressTool-CM1JFAHg.cjs → reportProgressTool-th4trcET.cjs} +4 -4
- package/dist/{resources-CvIlkzpP.cjs → resources-BPyN59Iv.cjs} +23 -2
- package/dist/{resources-y9jfyO-_.mjs → resources-CH1iP6Cv.mjs} +22 -3
- package/dist/{run-CNXwIe0A.cjs → run-C_FumCQk.cjs} +2767 -183
- package/dist/{run-BM4TxiyN.mjs → run-cKQBbVi4.mjs} +2762 -178
- package/dist/{runClaude-C_3I8hvR.mjs → runClaude-CYnM6krL.mjs} +34 -28
- package/dist/{runClaude-CWhj2V4Q.cjs → runClaude-z_2YC_aa.cjs} +35 -29
- package/dist/{runClaudeDeps-B81cOKnH.cjs → runClaudeDeps-CLubzWnA.cjs} +59 -122
- package/dist/{runClaudeDeps-QGrOeDe2.mjs → runClaudeDeps-duS06Pb4.mjs} +52 -114
- package/dist/{runGemini-BEdWEZLR.mjs → runGemini-C_Pc2EhH.mjs} +39 -37
- package/dist/{runGemini-CgRLYbt5.cjs → runGemini-vEoXV6qT.cjs} +67 -65
- package/dist/{runOpenClaw-C1NVmzOL.cjs → runOpenClaw-CXJCtMgB.cjs} +20 -20
- package/dist/{runOpenClaw-DdQZAYj1.mjs → runOpenClaw-Cxun1qLC.mjs} +19 -19
- package/dist/{sandbox-nocIjliq.cjs → sandbox-CO46H2tK.cjs} +4 -4
- package/dist/{sandbox-DjQUdCMG.mjs → sandbox-CsvPnTmz.mjs} +4 -4
- package/dist/{selfCheck-DCt4Uzbq.cjs → selfCheck-DIr7Gc0i.cjs} +39 -39
- package/dist/selfCheck-NamtBHVB.mjs +85 -0
- package/dist/{send-Ct7X4pPU.mjs → send-DMoFg6F1.mjs} +9 -9
- package/dist/{send-Dydf_hwZ.cjs → send-X2mfVEyr.cjs} +8 -8
- package/dist/{server-CosABFbd.cjs → server-BwTEdbkr.cjs} +6 -6
- package/dist/{server-DTQGZMxh.mjs → server-CkqQ0sRH.mjs} +4 -4
- package/dist/sessionExitLifecycle-CzkLIgNZ.mjs +142 -0
- package/dist/sessionExitLifecycle-DFltxXU8.cjs +148 -0
- package/dist/{sessionLock-DokGab2R.cjs → sessionLock-CdIRJlHH.cjs} +25 -5
- package/dist/{sessionLock-WYIyaVO4.mjs → sessionLock-JIfwCqMk.mjs} +24 -5
- package/dist/{sessionOps-S-qPBLFf.cjs → sessionOps-DVA-00nR.cjs} +4 -4
- package/dist/{sessionOps-BIGgRube.mjs → sessionOps-DqlftXxe.mjs} +5 -5
- package/dist/{sessionScanner-o5hnMi5e.mjs → sessionScanner-BI0Vo1xT.mjs} +3 -3
- package/dist/{sessionScanner-CIMM2hvZ.cjs → sessionScanner-BMwgGAhY.cjs} +3 -3
- package/dist/{sessions-BJHEZpi2.mjs → sessions-D6IimX7b.mjs} +11 -11
- package/dist/{sessions-JchI1w3z.cjs → sessions-DjgEcHaT.cjs} +10 -10
- package/dist/{setupOfflineReconnection-CNiAt5ZP.cjs → setupOfflineReconnection-CjuCiKY3.cjs} +2 -2
- package/dist/{setupOfflineReconnection-DMiBO2y9.mjs → setupOfflineReconnection-DgJK_4m1.mjs} +2 -2
- package/dist/{spawn-DgvUNYEo.mjs → spawn-Dvzy-tzc.mjs} +15 -15
- package/dist/{spawn-6PD7nnoC.cjs → spawn-rhF28shY.cjs} +15 -15
- package/dist/{spawnAgents-P006Hqio.mjs → spawnAgents-CCnlq-FI.mjs} +1 -1
- package/dist/{spawnAgents-DsXgegHM.cjs → spawnAgents-iwuqrgR9.cjs} +1 -1
- package/dist/{spawnHappyCLI-Dywezwk6.cjs → spawnHappyCLI-DnKmIsEt.cjs} +2 -2
- package/dist/{spawnHappyCLI-CCOrEtf9.mjs → spawnHappyCLI-Dq3LLXLb.mjs} +1 -1
- package/dist/{specialCommands-DPcd9edP.mjs → specialCommands-CcyZ1hGA.mjs} +3 -3
- package/dist/{specialCommands-QxPpkGKf.cjs → specialCommands-Zwr2C6A2.cjs} +3 -3
- package/dist/{startFileWatcher-DghDOCO4.mjs → startFileWatcher-4thXDK9d.mjs} +1 -1
- package/dist/{startFileWatcher-RECH5qY8.cjs → startFileWatcher-K6hJSyiR.cjs} +1 -1
- package/dist/startupSessionCreate-BfByJ16A.mjs +24 -0
- package/dist/startupSessionCreate-CKEbq0tL.cjs +26 -0
- package/dist/{streamRelay-DlUWKUpo.cjs → streamRelay-Gy8Xfnon.cjs} +1 -1
- package/dist/{streamRelay-DMV_TXfS.mjs → streamRelay-LcDvyEjK.mjs} +1 -1
- package/dist/{sync-D23jbqVa.cjs → sync-1hQ5KHpL.cjs} +1 -1
- package/dist/{sync-CSe0Rf45.mjs → sync-DO-2PU45.mjs} +1 -1
- package/dist/{systemPrompt-CFNKnh65.mjs → systemPrompt-BctLfMZs.mjs} +3 -3
- package/dist/{systemPrompt-BOy4kU4P.cjs → systemPrompt-Dj7pgkMK.cjs} +3 -3
- package/dist/{teams-DyY669f0.mjs → teams-Bu8YeOoF.mjs} +8 -8
- package/dist/{teams-Ov2BDT-A.cjs → teams-uQxUlyyz.cjs} +8 -8
- package/dist/{time-65DcU6Jx.mjs → time-BcoJaG8E.mjs} +1 -1
- package/dist/{time-CrwIMHta.cjs → time-nqa9shu8.cjs} +1 -1
- package/dist/{titleGenerator-CS_rh2_J.cjs → titleGenerator-D09XyYYG.cjs} +3 -3
- package/dist/{titleGenerator-CiAMxf7s.mjs → titleGenerator-D5r06bhf.mjs} +1 -1
- package/dist/{todo-KY-okGii.cjs → todo-CCOnL7pT.cjs} +6 -6
- package/dist/{todo-BDONw0sK.mjs → todo-D1q8146q.mjs} +6 -6
- package/dist/{tools-D8-PnZEG.mjs → tools-D2E--n1x.mjs} +3 -3
- package/dist/{tools-_w52DZG6.cjs → tools-DiCXnAC5.cjs} +3 -3
- package/dist/{uninstall-8vnLN-IE.cjs → uninstall-BrNwwwSD.cjs} +6 -6
- package/dist/{uninstall-_fjGRP9b.mjs → uninstall-CtwXi1Rt.mjs} +3 -3
- package/package.json +9 -8
- package/dist/machineMetadata-CLHS9sv_.cjs +0 -42
- package/dist/machineMetadata-D-g--oU_.mjs +0 -39
- package/dist/messageBuffer-BWlGgR3A.mjs +0 -71
- package/dist/messageBuffer-fJMH6uY8.cjs +0 -73
- package/dist/projectPath-ChLhdOyt.cjs +0 -13
- package/dist/selfCheck-CjCF4C3v.mjs +0 -85
|
@@ -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-DnKmIsEt.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-Dy1qU9td.cjs');
|
|
9
|
-
var configuration = require('./configuration-
|
|
10
|
-
var localHappyAgentAuth = require('./localHappyAgentAuth-
|
|
9
|
+
var configuration = require('./configuration-C8JgseHy.cjs');
|
|
10
|
+
var localHappyAgentAuth = require('./localHappyAgentAuth-DZ2kb9uq.cjs');
|
|
11
11
|
require('cross-spawn');
|
|
12
12
|
require('node:path');
|
|
13
|
-
require('./projectPath-
|
|
13
|
+
require('./projectPath-C3ioB4Bu.cjs');
|
|
14
14
|
require('path');
|
|
15
15
|
require('url');
|
|
16
|
-
require('./logger-
|
|
16
|
+
require('./logger-DgBwUSgS.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-NoD8QOOM.cjs');
|
|
22
22
|
require('node:fs/promises');
|
|
23
23
|
|
|
24
24
|
const ResumableMetadataSchema = z.z.object({
|
|
@@ -148,7 +148,7 @@ function resolveFlavor(metadata) {
|
|
|
148
148
|
if (metadata.flavor === "codex" || metadata.codexThreadId) {
|
|
149
149
|
return "codex";
|
|
150
150
|
}
|
|
151
|
-
if (metadata.flavor === "claude" || metadata.claudeSessionId) {
|
|
151
|
+
if (metadata.flavor === "claude" || metadata.claudeSessionId || metadata.flavor === void 0) {
|
|
152
152
|
return "claude";
|
|
153
153
|
}
|
|
154
154
|
return null;
|
|
@@ -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-Dq3LLXLb.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-DhQhkBvX.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-BPrfb17M.mjs';
|
|
8
|
+
import { g as getLocalHappyAgentCredentialPath, r as readLocalHappyAgentCredentials } from './localHappyAgentAuth-IKmeRpuQ.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-LFr8iPgl.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-DYGwlmXl.mjs';
|
|
20
20
|
import 'node:fs/promises';
|
|
21
21
|
|
|
22
22
|
const ResumableMetadataSchema = z.object({
|
|
@@ -146,7 +146,7 @@ function resolveFlavor(metadata) {
|
|
|
146
146
|
if (metadata.flavor === "codex" || metadata.codexThreadId) {
|
|
147
147
|
return "codex";
|
|
148
148
|
}
|
|
149
|
-
if (metadata.flavor === "claude" || metadata.claudeSessionId) {
|
|
149
|
+
if (metadata.flavor === "claude" || metadata.claudeSessionId || metadata.flavor === void 0) {
|
|
150
150
|
return "claude";
|
|
151
151
|
}
|
|
152
152
|
return null;
|
|
@@ -1,90 +1,93 @@
|
|
|
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-CgHb_ya5.cjs');
|
|
4
|
+
var logger = require('./logger-DgBwUSgS.cjs');
|
|
5
|
+
var AcpSessionManager = require('./AcpSessionManager-CacC2EVn.cjs');
|
|
6
|
+
var index = require('./index-Df2eHm3O.cjs');
|
|
7
|
+
var deterministicJson = require('./deterministicJson-BS7D7URE.cjs');
|
|
7
8
|
var agentAttachments = require('./agentAttachments-Dbw8iMCZ.cjs');
|
|
8
|
-
var configuration = require('./configuration-
|
|
9
|
-
var attachmentContent = require('./attachmentContent-
|
|
10
|
-
var piRuntime = require('./piRuntime-
|
|
9
|
+
var configuration = require('./configuration-C8JgseHy.cjs');
|
|
10
|
+
var attachmentContent = require('./attachmentContent-mIhbtRKl.cjs');
|
|
11
|
+
var piRuntime = require('./piRuntime-o5L8uX-W.cjs');
|
|
11
12
|
var node_crypto = require('node:crypto');
|
|
12
13
|
var path = require('node:path');
|
|
13
|
-
var api = require('./api-
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
var controlClient = require('./controlClient-
|
|
14
|
+
var api = require('./api-COHFAkb_.cjs');
|
|
15
|
+
var client = require('./client-DWs6k041.cjs');
|
|
16
|
+
var registerKillSessionHandler = require('./registerKillSessionHandler-7fOm6ooh.cjs');
|
|
17
|
+
var persistence = require('./persistence-BY-D00wT.cjs');
|
|
18
|
+
var machineMetadata = require('./machineMetadata-DB03ez4K.cjs');
|
|
19
|
+
var createSessionMetadata = require('./createSessionMetadata-DNIbKLHg.cjs');
|
|
20
|
+
var setupOfflineReconnection = require('./setupOfflineReconnection-CjuCiKY3.cjs');
|
|
21
|
+
var startupSessionCreate = require('./startupSessionCreate-CKEbq0tL.cjs');
|
|
22
|
+
var controlClient = require('./controlClient-D68Zj7Q-.cjs');
|
|
22
23
|
var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
23
|
-
var sessionLock = require('./sessionLock-
|
|
24
|
-
var acpSessionResume = require('./acpSessionResume-
|
|
25
|
-
var streamRelay = require('./streamRelay-
|
|
26
|
-
var projectPath = require('./projectPath-
|
|
27
|
-
var BasePermissionHandler = require('./BasePermissionHandler-
|
|
28
|
-
var titleGenerator = require('./titleGenerator-
|
|
24
|
+
var sessionLock = require('./sessionLock-CdIRJlHH.cjs');
|
|
25
|
+
var acpSessionResume = require('./acpSessionResume-BaVMD80f.cjs');
|
|
26
|
+
var streamRelay = require('./streamRelay-Gy8Xfnon.cjs');
|
|
27
|
+
var projectPath = require('./projectPath-C3ioB4Bu.cjs');
|
|
28
|
+
var BasePermissionHandler = require('./BasePermissionHandler-DCP8ZEB4.cjs');
|
|
29
|
+
var titleGenerator = require('./titleGenerator-D09XyYYG.cjs');
|
|
29
30
|
var editPaths = require('./editPaths-Bqp4OFPw.cjs');
|
|
30
31
|
require('node:child_process');
|
|
31
32
|
require('@agentclientprotocol/sdk');
|
|
32
|
-
require('./time-
|
|
33
|
+
require('./time-nqa9shu8.cjs');
|
|
33
34
|
require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
34
35
|
require('./processTree-CMHWlVse.cjs');
|
|
35
|
-
require('./package-
|
|
36
|
+
require('./package-NoD8QOOM.cjs');
|
|
36
37
|
require('chalk');
|
|
37
38
|
require('node:util');
|
|
38
39
|
require('node:fs');
|
|
39
40
|
require('@paralleldrive/cuid2');
|
|
40
41
|
require('zod');
|
|
42
|
+
require('./prompt-Bof2aQkI.cjs');
|
|
43
|
+
require('./reportProgressTool-th4trcET.cjs');
|
|
44
|
+
require('./client-D_U2VjO3.cjs');
|
|
45
|
+
require('./precheckCompat-CWOi5c9L.cjs');
|
|
46
|
+
require('./agentGuidance-BtBx2xxE.cjs');
|
|
47
|
+
require('./trimIdent-4gvk9Wk6.cjs');
|
|
41
48
|
require('node:os');
|
|
49
|
+
require('./pi-DlsrPCTa.cjs');
|
|
50
|
+
require('./fileStore-7qhnbs6N.cjs');
|
|
42
51
|
require('node:fs/promises');
|
|
43
|
-
require('./
|
|
52
|
+
require('./client-CUO3ItoB.cjs');
|
|
53
|
+
require('./context-D1lgQTJC.cjs');
|
|
54
|
+
require('./sessionOps-DVA-00nR.cjs');
|
|
44
55
|
require('axios');
|
|
45
|
-
require('./resources-CvIlkzpP.cjs');
|
|
46
|
-
require('./lidState-Dv2wwFTj.cjs');
|
|
47
|
-
require('os');
|
|
48
|
-
require('child_process');
|
|
49
|
-
require('node:events');
|
|
50
56
|
require('socket.io-client');
|
|
51
|
-
require('./limits-C-a7gr04.cjs');
|
|
52
|
-
require('./registerCommonHandlers-Cj084Sg7.cjs');
|
|
53
|
-
require('util');
|
|
54
|
-
require('fs/promises');
|
|
55
|
-
require('crypto');
|
|
56
|
-
require('path');
|
|
57
|
-
require('cross-spawn');
|
|
58
|
-
require('./sync-D23jbqVa.cjs');
|
|
59
57
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
60
|
-
require('./
|
|
61
|
-
require('./
|
|
62
|
-
require('./
|
|
63
|
-
require('./precheckCompat-CWOi5c9L.cjs');
|
|
64
|
-
require('./agentGuidance-BtBx2xxE.cjs');
|
|
65
|
-
require('./trimIdent-4gvk9Wk6.cjs');
|
|
66
|
-
require('./client-BKcK1Bi-.cjs');
|
|
67
|
-
require('./context-DXzU5bFM.cjs');
|
|
68
|
-
require('./sessionOps-S-qPBLFf.cjs');
|
|
69
|
-
require('./tools-_w52DZG6.cjs');
|
|
70
|
-
require('./peerTools-DRQETXaz.cjs');
|
|
58
|
+
require('./resources-BPyN59Iv.cjs');
|
|
59
|
+
require('./tools-DiCXnAC5.cjs');
|
|
60
|
+
require('./peerTools-CP-x-Peu.cjs');
|
|
71
61
|
require('./ids-B6ZC0HGt.cjs');
|
|
72
|
-
require('./remoteSessionClient-
|
|
62
|
+
require('./remoteSessionClient-CFCn42bs.cjs');
|
|
73
63
|
require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
74
64
|
require('node:http');
|
|
75
65
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
76
|
-
require('./
|
|
66
|
+
require('./limits-C-a7gr04.cjs');
|
|
67
|
+
require('./downloadTarget-LyOiucn_.cjs');
|
|
77
68
|
require('./terminals-B_bfC9c2.cjs');
|
|
78
69
|
require('./terminalTitleSuggest-DhvRFX3H.cjs');
|
|
79
70
|
require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
80
|
-
require('./bootstrap-
|
|
71
|
+
require('./bootstrap-CYtOtbi7.cjs');
|
|
81
72
|
require('./webPanels-FCgFKvVe.cjs');
|
|
73
|
+
require('./pushNotifications-BXoOSq_G.cjs');
|
|
82
74
|
require('./previewPath-B0rBdhy1.cjs');
|
|
75
|
+
require('crypto');
|
|
76
|
+
require('./lidState-x8cJ8J_9.cjs');
|
|
77
|
+
require('os');
|
|
78
|
+
require('child_process');
|
|
79
|
+
require('node:events');
|
|
80
|
+
require('./registerCommonHandlers-CRjBoJLK.cjs');
|
|
81
|
+
require('util');
|
|
82
|
+
require('fs/promises');
|
|
83
|
+
require('path');
|
|
84
|
+
require('cross-spawn');
|
|
85
|
+
require('./sync-1hQ5KHpL.cjs');
|
|
83
86
|
require('tweetnacl');
|
|
84
87
|
require('./types-CRS-srZK.cjs');
|
|
85
|
-
require('./detectCLI-
|
|
88
|
+
require('./detectCLI-BuYR_Qxe.cjs');
|
|
86
89
|
require('fs');
|
|
87
|
-
require('./localHappyAgentAuth-
|
|
90
|
+
require('./localHappyAgentAuth-DZ2kb9uq.cjs');
|
|
88
91
|
require('./processTreeSnapshot-mDbnuojn.cjs');
|
|
89
92
|
require('url');
|
|
90
93
|
require('node:module');
|
|
@@ -104,6 +107,18 @@ function createAcpBackend(options) {
|
|
|
104
107
|
return new AcpBackend.AcpBackend(backendOptions);
|
|
105
108
|
}
|
|
106
109
|
|
|
110
|
+
const SLASH_COMMAND = /^\/[A-Za-z][A-Za-z0-9_.:-]*(?:\s|$)/;
|
|
111
|
+
function isAgentSlashCommand(message) {
|
|
112
|
+
return typeof message === "string" && SLASH_COMMAND.test(message.trimStart());
|
|
113
|
+
}
|
|
114
|
+
async function buildAcpPrompt(message, opts) {
|
|
115
|
+
if (isAgentSlashCommand(message)) return { prompt: message, slashCommand: true };
|
|
116
|
+
const projected = await opts.decorate(message);
|
|
117
|
+
return { prompt: opts.todoNoteSent ? projected : `${projected}
|
|
118
|
+
|
|
119
|
+
${opts.todoNote}`, slashCommand: false };
|
|
120
|
+
}
|
|
121
|
+
|
|
107
122
|
const MAX_DETAIL_CHARS = 400;
|
|
108
123
|
function detailOf(error) {
|
|
109
124
|
if (error instanceof Error) return error.message;
|
|
@@ -796,7 +811,7 @@ async function runAcp(opts) {
|
|
|
796
811
|
agentStateVersion: reconnect.agentStateVersion
|
|
797
812
|
};
|
|
798
813
|
} else {
|
|
799
|
-
response = await api$1.getOrCreateSession({ tag: sessionTag, metadata, state });
|
|
814
|
+
response = await startupSessionCreate.createSessionForStartup(() => api$1.getOrCreateSession({ tag: sessionTag, metadata, state }), { startedBy: opts.startedBy, log: (m) => logger.logger.debug(m) });
|
|
800
815
|
}
|
|
801
816
|
if (response) {
|
|
802
817
|
logAcp("muted", `Happy Session ID: ${response.id}`);
|
|
@@ -910,8 +925,10 @@ async function runAcp(opts) {
|
|
|
910
925
|
assistant: isAssistantVariant,
|
|
911
926
|
...piSteer ? { piSteer } : {},
|
|
912
927
|
push: { sendAttention: (input) => api$1.push().sendAttention(input) },
|
|
913
|
-
|
|
914
|
-
|
|
928
|
+
// B-727: pi's report is resolved against models.json (pi's 128k default ≠ a configured window).
|
|
929
|
+
...opts.agentName === "pi" ? { onContextUsage: (report) => {
|
|
930
|
+
const modelsJson = deterministicJson.readPiModelsJson();
|
|
931
|
+
session.updateAgentState((state2) => ({ ...state2, contextUsage: deterministicJson.resolvePiContextUsage(report, modelsJson, state2.contextUsage, Date.now()) }));
|
|
915
932
|
} } : {}
|
|
916
933
|
});
|
|
917
934
|
if (opts.agentName === "pi") session.updateAgentState((state2) => ({ ...state2, contextUsage: null }));
|
|
@@ -1454,10 +1471,11 @@ async function runAcp(opts) {
|
|
|
1454
1471
|
if (typeof batch.mode.effort === "string") {
|
|
1455
1472
|
await switchEffortIfRequested(batch.mode.effort, modelChanged);
|
|
1456
1473
|
}
|
|
1457
|
-
const
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1474
|
+
const { prompt, slashCommand } = await buildAcpPrompt(batch.message, {
|
|
1475
|
+
todoNoteSent: todoDiscoverySent,
|
|
1476
|
+
todoNote: index.BUILTIN_TODO_DISCOVERY,
|
|
1477
|
+
decorate: (m) => projectInjector.decorate(m)
|
|
1478
|
+
});
|
|
1461
1479
|
const attachments = batch.attachments ?? [];
|
|
1462
1480
|
const staged = attachments.length ? await attachmentContent.stageClaudeAttachments(attachments, {
|
|
1463
1481
|
happyHomeDir: configuration.configuration.happyHomeDir,
|
|
@@ -1470,7 +1488,7 @@ ${index.BUILTIN_TODO_DISCOVERY}`;
|
|
|
1470
1488
|
} finally {
|
|
1471
1489
|
promptInFlight = false;
|
|
1472
1490
|
}
|
|
1473
|
-
todoDiscoverySent = true;
|
|
1491
|
+
if (!slashCommand) todoDiscoverySent = true;
|
|
1474
1492
|
const stopReason = outcome && typeof outcome === "object" ? outcome.stopReason : void 0;
|
|
1475
1493
|
if (stopReason === "error") {
|
|
1476
1494
|
throw new Error("the turn ended with an error reported by the agent");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _package = require('./package-
|
|
3
|
+
var _package = require('./package-NoD8QOOM.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-DIr7Gc0i.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-YQ-Vkakw.cjs'); });
|
|
66
66
|
await main();
|
|
67
67
|
}
|
|
68
68
|
void run(process.argv.slice(2));
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var node_fs = require('node:fs');
|
|
4
4
|
var os = require('node:os');
|
|
5
|
-
var logger = require('./logger-
|
|
6
|
-
var persistence = require('./persistence-
|
|
5
|
+
var logger = require('./logger-DgBwUSgS.cjs');
|
|
6
|
+
var persistence = require('./persistence-BY-D00wT.cjs');
|
|
7
7
|
var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
|
|
8
8
|
require('chalk');
|
|
9
9
|
require('node:util');
|
|
10
|
-
require('./configuration-
|
|
10
|
+
require('./configuration-C8JgseHy.cjs');
|
|
11
11
|
require('node:path');
|
|
12
|
-
require('./package-
|
|
12
|
+
require('./package-NoD8QOOM.cjs');
|
|
13
13
|
require('node:fs/promises');
|
|
14
14
|
require('zod');
|
|
15
15
|
require('./authRelay-Dy1qU9td.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 { r as readSettings } from './persistence-
|
|
3
|
+
import { l as logger } from './logger-LFr8iPgl.mjs';
|
|
4
|
+
import { r as readSettings } from './persistence-D2Djrf7t.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-BPrfb17M.mjs';
|
|
10
10
|
import 'node:path';
|
|
11
|
-
import './package-
|
|
11
|
+
import './package-DYGwlmXl.mjs';
|
|
12
12
|
import 'node:fs/promises';
|
|
13
13
|
import 'zod';
|
|
14
14
|
import './authRelay-DhQhkBvX.mjs';
|
|
@@ -443,7 +443,10 @@ const TeamActionSchema = z$1.discriminatedUnion("type", [
|
|
|
443
443
|
z$1.object({ type: z$1.literal("schedule-resume"), scheduleId: id$2, version: z$1.number().int().positive() }),
|
|
444
444
|
z$1.object({ type: z$1.literal("schedule-cancel"), scheduleId: id$2, version: z$1.number().int().positive() }),
|
|
445
445
|
z$1.object({ type: z$1.literal("reconcile-operation"), operationId: id$2, claimId: id$2, note: z$1.string().trim().min(1).max(4e3) }),
|
|
446
|
-
|
|
446
|
+
// B-689: owner asks the execution computer to run a failed/uncertain operation again.
|
|
447
|
+
z$1.object({ type: z$1.literal("retry-operation"), operationId: id$2, claimId: id$2 }),
|
|
448
|
+
/** B-730: `transfer` = the owner confirmed moving a session that is bound in another live team (Web adopt); without it the server answers `session_in_other_team`. An old server strips it. */
|
|
449
|
+
z$1.object({ type: z$1.literal("join"), name: id$2, sessionId: id$2, botId: id$2.optional(), transfer: z$1.literal(true).optional() }),
|
|
447
450
|
z$1.object({ type: z$1.literal("delegate"), goal: text$1, acceptance: z$1.array(text$1).min(1).max(32), parentTaskId: id$2.optional(), assigneeBotId: id$2.optional(), botName: id$2.optional(), directory: z$1.string().min(1).max(4096).optional(), assistant: TeamAssistantSchema.optional(), model: TeamModelSchema.optional() }),
|
|
448
451
|
z$1.object({ type: z$1.literal("message"), taskId: id$2, body: text$1, recipientBotId: id$2.optional() }),
|
|
449
452
|
z$1.object({ type: z$1.literal("submit"), taskId: id$2, attemptId: id$2, goalVersion: z$1.number().int().positive(), result: text$1 }),
|
|
@@ -458,7 +461,18 @@ const TeamActionSchema = z$1.discriminatedUnion("type", [
|
|
|
458
461
|
z$1.object({ type: z$1.literal("message-delivered"), messageId: id$2, recipientBotId: id$2, generation: z$1.number().int().positive(), sessionId: id$2 })
|
|
459
462
|
]);
|
|
460
463
|
z$1.object({ requestId: id$2, action: TeamActionSchema });
|
|
461
|
-
z$1.object({
|
|
464
|
+
const TeamProjectChoiceSchema = z$1.object({
|
|
465
|
+
projectId: id$2.optional(),
|
|
466
|
+
inheritFromSessionId: id$2.optional(),
|
|
467
|
+
create: z$1.boolean().optional(),
|
|
468
|
+
directory: z$1.string().min(1).max(4096).optional()
|
|
469
|
+
});
|
|
470
|
+
z$1.object({ name: id$2, machineId: id$2, requestId: id$2.optional(), launch: TeamLaunchSchema.optional(), project: TeamProjectChoiceSchema.optional(), sessionId: id$2.optional(), transfer: z$1.literal(true).optional() });
|
|
471
|
+
z$1.object({
|
|
472
|
+
projectId: id$2.nullable().optional(),
|
|
473
|
+
create: z$1.boolean().optional(),
|
|
474
|
+
requestId: id$2.optional()
|
|
475
|
+
}).refine((v) => v.projectId !== void 0 !== (v.create === true), "exactly one of projectId / create");
|
|
462
476
|
const id$1 = z$1.string().min(1).max(128);
|
|
463
477
|
const text = z$1.string().min(1).max(32e3);
|
|
464
478
|
const AUTOMATION_NAME_PATTERN = /^[a-z0-9][a-z0-9-_.]{0,63}$/;
|
|
@@ -1001,11 +1015,17 @@ For edit/status/delete, a conflict means the version changed. Read the task and
|
|
|
1001
1015
|
Restricted team workers cannot use account-wide Todo credentials. Ask the user or supervising session to perform the account operation; do not clear scope variables or seek another credential to bypass that boundary.
|
|
1002
1016
|
`;
|
|
1003
1017
|
const BUILTIN_TODO_DISCOVERY = "For the user\u2019s Very Happy My todos, run `very-happy todo skill` to read the official skill, then use its CLI commands. Do not confuse account todos with your execution plan; restricted team workers must not bypass their scope.";
|
|
1004
|
-
|
|
1018
|
+
z$1.object({
|
|
1005
1019
|
source: z$1.literal("pi"),
|
|
1006
1020
|
tokens: z$1.number().finite().nonnegative().nullable(),
|
|
1007
1021
|
contextWindow: z$1.number().finite().positive(),
|
|
1008
|
-
updatedAt: z$1.number().finite().nonnegative()
|
|
1022
|
+
updatedAt: z$1.number().finite().nonnegative(),
|
|
1023
|
+
/** 'configured' (the harness's own model entry) | 'inferred' (same model id in a known table) | 'unknown' (harness default). Absent = older CLI → configured. */
|
|
1024
|
+
windowSource: z$1.string().nullable().optional(),
|
|
1025
|
+
/** Model id the snapshot was measured on (lets the web consult its own table when the window is unknown). */
|
|
1026
|
+
model: z$1.string().nullable().optional(),
|
|
1027
|
+
/** When the harness last compacted; tokens stay null until the next answer measures the new context. */
|
|
1028
|
+
compactedAt: z$1.number().finite().nonnegative().nullable().optional()
|
|
1009
1029
|
});
|
|
1010
1030
|
const AgentVersionsSchema = z$1.object({
|
|
1011
1031
|
checkedAt: z$1.number(),
|
|
@@ -1020,12 +1040,27 @@ const AgentVersionsSchema = z$1.object({
|
|
|
1020
1040
|
const AGENT_VERSION_SOURCES = [
|
|
1021
1041
|
{ id: "claude", label: "Claude Code", command: "claude", package: "@anthropic-ai/claude-code", docs: "https://code.claude.com/docs/en/setup" },
|
|
1022
1042
|
{ id: "codex", label: "Codex", command: "codex", package: "@openai/codex", docs: "https://github.com/openai/codex#installation-and-usage" },
|
|
1023
|
-
|
|
1043
|
+
// B-719: @mariozechner/pi-coding-agent is deprecated at 0.73.1 ("use @earendil-works/pi-coding-agent"),
|
|
1044
|
+
// so comparing against it reported every newer pi as current.
|
|
1045
|
+
{ id: "pi", label: "Pi", command: "pi", package: "@earendil-works/pi-coding-agent", docs: "https://github.com/earendil-works/pi" },
|
|
1024
1046
|
{ id: "gemini", label: "Gemini CLI", command: "gemini", package: "@google/gemini-cli", docs: "https://github.com/google-gemini/gemini-cli#installation" },
|
|
1025
1047
|
{ id: "opencode", label: "OpenCode", command: "opencode", package: "opencode-ai", docs: "https://opencode.ai/docs/" },
|
|
1026
1048
|
{ id: "openclaw", label: "OpenClaw", command: "openclaw", package: "openclaw", docs: "https://docs.openclaw.ai/install/updating" },
|
|
1027
1049
|
{ id: "claude-sdk", label: "Claude Agent SDK", command: null, package: "@anthropic-ai/claude-agent-sdk", docs: "https://github.com/anthropics/claude-agent-sdk-typescript" }
|
|
1028
1050
|
];
|
|
1051
|
+
const HARNESS_INSTALL_IDS = ["claude", "codex", "gemini", "pi"];
|
|
1052
|
+
function isHarnessInstallId(value) {
|
|
1053
|
+
return typeof value === "string" && HARNESS_INSTALL_IDS.includes(value);
|
|
1054
|
+
}
|
|
1055
|
+
const HARNESS_INSTALL_CAPABILITY_VERSION = 1;
|
|
1056
|
+
z$1.object({
|
|
1057
|
+
harness: z$1.string(),
|
|
1058
|
+
state: z$1.string(),
|
|
1059
|
+
// 'installing' | 'installed' | 'failed' (open: older Web shows unknown states as failed)
|
|
1060
|
+
detail: z$1.string().optional(),
|
|
1061
|
+
startedAt: z$1.number(),
|
|
1062
|
+
at: z$1.number()
|
|
1063
|
+
});
|
|
1029
1064
|
const CLAUDE_OPUS_55_MODEL = "claude-opus-5-5";
|
|
1030
1065
|
const CLAUDE_OPUS_55_CAPABILITY = "claude-opus-5-5-v1";
|
|
1031
1066
|
function supportsClaudeOpus55(metadata) {
|
|
@@ -1103,4 +1138,4 @@ const ServerMigrateNoticeSchema = z$1.object({
|
|
|
1103
1138
|
issuedAt: z$1.number().int().positive()
|
|
1104
1139
|
});
|
|
1105
1140
|
|
|
1106
|
-
export { AUTOMATION_NAME_PATTERN as A, BUILTIN_TODO_SKILL as B,
|
|
1141
|
+
export { AUTOMATION_NAME_PATTERN as A, BUILTIN_TODO_SKILL as B, CODEX_STEER_CAPABILITY as C, AUTOMATION_CLAIM_MAX_RUNS as D, AUTOMATION_DAEMON_CAPABILITY_PRECHECK as E, AUTOMATION_DEFAULT_LEASE_MS as F, HARNESS_INSTALL_CAPABILITY_VERSION as H, PROMPT_QUEUE_CAPABILITY as P, ReleaseDrainNoticeSchema as R, STREAM_DELTA_MAX_CHARS as S, PROJECT_SESSION_CAPABILITY as a, AUTOMATION_PRECHECK_MAX_TIMEOUT_MS as b, AutomationPrecheckSchema as c, createEnvelope as d, createBuiltinTodoClient as e, BUILTIN_TODO_DISCOVERY as f, getAgentCodeDefaults as g, isClaudeOpus55Model as h, isAutomationRunTerminal as i, supportsClaudeOpus55 as j, AutomationNameSchema as k, AutomationConcurrencySchema as l, AutomationActionSchema as m, normalizeAgentKey as n, AutomationTriggerSchema as o, AgentVersionsSchema as p, PI_STEER_CAPABILITY as q, AGENT_VERSION_SOURCES as r, streamKeyOf as s, RelayAssignmentResponseSchema as t, RelayCandidatesResponseSchema as u, ServerMigrateNoticeSchema as v, isHarnessInstallId as w, AUTOMATION_SUMMARY_MAX_CHARS as x, AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS as y, AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS as z };
|
|
@@ -463,7 +463,10 @@ const TeamActionSchema = z.z.discriminatedUnion("type", [
|
|
|
463
463
|
z.z.object({ type: z.z.literal("schedule-resume"), scheduleId: id$2, version: z.z.number().int().positive() }),
|
|
464
464
|
z.z.object({ type: z.z.literal("schedule-cancel"), scheduleId: id$2, version: z.z.number().int().positive() }),
|
|
465
465
|
z.z.object({ type: z.z.literal("reconcile-operation"), operationId: id$2, claimId: id$2, note: z.z.string().trim().min(1).max(4e3) }),
|
|
466
|
-
|
|
466
|
+
// B-689: owner asks the execution computer to run a failed/uncertain operation again.
|
|
467
|
+
z.z.object({ type: z.z.literal("retry-operation"), operationId: id$2, claimId: id$2 }),
|
|
468
|
+
/** B-730: `transfer` = the owner confirmed moving a session that is bound in another live team (Web adopt); without it the server answers `session_in_other_team`. An old server strips it. */
|
|
469
|
+
z.z.object({ type: z.z.literal("join"), name: id$2, sessionId: id$2, botId: id$2.optional(), transfer: z.z.literal(true).optional() }),
|
|
467
470
|
z.z.object({ type: z.z.literal("delegate"), goal: text$1, acceptance: z.z.array(text$1).min(1).max(32), parentTaskId: id$2.optional(), assigneeBotId: id$2.optional(), botName: id$2.optional(), directory: z.z.string().min(1).max(4096).optional(), assistant: TeamAssistantSchema.optional(), model: TeamModelSchema.optional() }),
|
|
468
471
|
z.z.object({ type: z.z.literal("message"), taskId: id$2, body: text$1, recipientBotId: id$2.optional() }),
|
|
469
472
|
z.z.object({ type: z.z.literal("submit"), taskId: id$2, attemptId: id$2, goalVersion: z.z.number().int().positive(), result: text$1 }),
|
|
@@ -478,7 +481,18 @@ const TeamActionSchema = z.z.discriminatedUnion("type", [
|
|
|
478
481
|
z.z.object({ type: z.z.literal("message-delivered"), messageId: id$2, recipientBotId: id$2, generation: z.z.number().int().positive(), sessionId: id$2 })
|
|
479
482
|
]);
|
|
480
483
|
z.z.object({ requestId: id$2, action: TeamActionSchema });
|
|
481
|
-
z.z.object({
|
|
484
|
+
const TeamProjectChoiceSchema = z.z.object({
|
|
485
|
+
projectId: id$2.optional(),
|
|
486
|
+
inheritFromSessionId: id$2.optional(),
|
|
487
|
+
create: z.z.boolean().optional(),
|
|
488
|
+
directory: z.z.string().min(1).max(4096).optional()
|
|
489
|
+
});
|
|
490
|
+
z.z.object({ name: id$2, machineId: id$2, requestId: id$2.optional(), launch: TeamLaunchSchema.optional(), project: TeamProjectChoiceSchema.optional(), sessionId: id$2.optional(), transfer: z.z.literal(true).optional() });
|
|
491
|
+
z.z.object({
|
|
492
|
+
projectId: id$2.nullable().optional(),
|
|
493
|
+
create: z.z.boolean().optional(),
|
|
494
|
+
requestId: id$2.optional()
|
|
495
|
+
}).refine((v) => v.projectId !== void 0 !== (v.create === true), "exactly one of projectId / create");
|
|
482
496
|
const id$1 = z.z.string().min(1).max(128);
|
|
483
497
|
const text = z.z.string().min(1).max(32e3);
|
|
484
498
|
const AUTOMATION_NAME_PATTERN = /^[a-z0-9][a-z0-9-_.]{0,63}$/;
|
|
@@ -1021,11 +1035,17 @@ For edit/status/delete, a conflict means the version changed. Read the task and
|
|
|
1021
1035
|
Restricted team workers cannot use account-wide Todo credentials. Ask the user or supervising session to perform the account operation; do not clear scope variables or seek another credential to bypass that boundary.
|
|
1022
1036
|
`;
|
|
1023
1037
|
const BUILTIN_TODO_DISCOVERY = "For the user\u2019s Very Happy My todos, run `very-happy todo skill` to read the official skill, then use its CLI commands. Do not confuse account todos with your execution plan; restricted team workers must not bypass their scope.";
|
|
1024
|
-
|
|
1038
|
+
z.z.object({
|
|
1025
1039
|
source: z.z.literal("pi"),
|
|
1026
1040
|
tokens: z.z.number().finite().nonnegative().nullable(),
|
|
1027
1041
|
contextWindow: z.z.number().finite().positive(),
|
|
1028
|
-
updatedAt: z.z.number().finite().nonnegative()
|
|
1042
|
+
updatedAt: z.z.number().finite().nonnegative(),
|
|
1043
|
+
/** 'configured' (the harness's own model entry) | 'inferred' (same model id in a known table) | 'unknown' (harness default). Absent = older CLI → configured. */
|
|
1044
|
+
windowSource: z.z.string().nullable().optional(),
|
|
1045
|
+
/** Model id the snapshot was measured on (lets the web consult its own table when the window is unknown). */
|
|
1046
|
+
model: z.z.string().nullable().optional(),
|
|
1047
|
+
/** When the harness last compacted; tokens stay null until the next answer measures the new context. */
|
|
1048
|
+
compactedAt: z.z.number().finite().nonnegative().nullable().optional()
|
|
1029
1049
|
});
|
|
1030
1050
|
const AgentVersionsSchema = z.z.object({
|
|
1031
1051
|
checkedAt: z.z.number(),
|
|
@@ -1040,12 +1060,27 @@ const AgentVersionsSchema = z.z.object({
|
|
|
1040
1060
|
const AGENT_VERSION_SOURCES = [
|
|
1041
1061
|
{ id: "claude", label: "Claude Code", command: "claude", package: "@anthropic-ai/claude-code", docs: "https://code.claude.com/docs/en/setup" },
|
|
1042
1062
|
{ id: "codex", label: "Codex", command: "codex", package: "@openai/codex", docs: "https://github.com/openai/codex#installation-and-usage" },
|
|
1043
|
-
|
|
1063
|
+
// B-719: @mariozechner/pi-coding-agent is deprecated at 0.73.1 ("use @earendil-works/pi-coding-agent"),
|
|
1064
|
+
// so comparing against it reported every newer pi as current.
|
|
1065
|
+
{ id: "pi", label: "Pi", command: "pi", package: "@earendil-works/pi-coding-agent", docs: "https://github.com/earendil-works/pi" },
|
|
1044
1066
|
{ id: "gemini", label: "Gemini CLI", command: "gemini", package: "@google/gemini-cli", docs: "https://github.com/google-gemini/gemini-cli#installation" },
|
|
1045
1067
|
{ id: "opencode", label: "OpenCode", command: "opencode", package: "opencode-ai", docs: "https://opencode.ai/docs/" },
|
|
1046
1068
|
{ id: "openclaw", label: "OpenClaw", command: "openclaw", package: "openclaw", docs: "https://docs.openclaw.ai/install/updating" },
|
|
1047
1069
|
{ id: "claude-sdk", label: "Claude Agent SDK", command: null, package: "@anthropic-ai/claude-agent-sdk", docs: "https://github.com/anthropics/claude-agent-sdk-typescript" }
|
|
1048
1070
|
];
|
|
1071
|
+
const HARNESS_INSTALL_IDS = ["claude", "codex", "gemini", "pi"];
|
|
1072
|
+
function isHarnessInstallId(value) {
|
|
1073
|
+
return typeof value === "string" && HARNESS_INSTALL_IDS.includes(value);
|
|
1074
|
+
}
|
|
1075
|
+
const HARNESS_INSTALL_CAPABILITY_VERSION = 1;
|
|
1076
|
+
z.z.object({
|
|
1077
|
+
harness: z.z.string(),
|
|
1078
|
+
state: z.z.string(),
|
|
1079
|
+
// 'installing' | 'installed' | 'failed' (open: older Web shows unknown states as failed)
|
|
1080
|
+
detail: z.z.string().optional(),
|
|
1081
|
+
startedAt: z.z.number(),
|
|
1082
|
+
at: z.z.number()
|
|
1083
|
+
});
|
|
1049
1084
|
const CLAUDE_OPUS_55_MODEL = "claude-opus-5-5";
|
|
1050
1085
|
const CLAUDE_OPUS_55_CAPABILITY = "claude-opus-5-5-v1";
|
|
1051
1086
|
function supportsClaudeOpus55(metadata) {
|
|
@@ -1141,7 +1176,7 @@ exports.AutomationTriggerSchema = AutomationTriggerSchema;
|
|
|
1141
1176
|
exports.BUILTIN_TODO_DISCOVERY = BUILTIN_TODO_DISCOVERY;
|
|
1142
1177
|
exports.BUILTIN_TODO_SKILL = BUILTIN_TODO_SKILL;
|
|
1143
1178
|
exports.CODEX_STEER_CAPABILITY = CODEX_STEER_CAPABILITY;
|
|
1144
|
-
exports.
|
|
1179
|
+
exports.HARNESS_INSTALL_CAPABILITY_VERSION = HARNESS_INSTALL_CAPABILITY_VERSION;
|
|
1145
1180
|
exports.PI_STEER_CAPABILITY = PI_STEER_CAPABILITY;
|
|
1146
1181
|
exports.PROJECT_SESSION_CAPABILITY = PROJECT_SESSION_CAPABILITY;
|
|
1147
1182
|
exports.PROMPT_QUEUE_CAPABILITY = PROMPT_QUEUE_CAPABILITY;
|
|
@@ -1155,6 +1190,7 @@ exports.createEnvelope = createEnvelope;
|
|
|
1155
1190
|
exports.getAgentCodeDefaults = getAgentCodeDefaults;
|
|
1156
1191
|
exports.isAutomationRunTerminal = isAutomationRunTerminal;
|
|
1157
1192
|
exports.isClaudeOpus55Model = isClaudeOpus55Model;
|
|
1193
|
+
exports.isHarnessInstallId = isHarnessInstallId;
|
|
1158
1194
|
exports.normalizeAgentKey = normalizeAgentKey;
|
|
1159
1195
|
exports.streamKeyOf = streamKeyOf;
|
|
1160
1196
|
exports.supportsClaudeOpus55 = supportsClaudeOpus55;
|