very-happy-cli 0.2.204 → 0.2.205
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-BBfcpIDj.mjs → AcpBackend-BqkDMgcN.mjs} +3 -3
- package/dist/{AcpBackend-BupxHXGp.cjs → AcpBackend-Do37yiZg.cjs} +3 -3
- package/dist/{AcpSessionManager-JJrnenKM.cjs → AcpSessionManager-BpQKu2_m.cjs} +1 -1
- package/dist/{AcpSessionManager-B9UkPYGi.mjs → AcpSessionManager-CvEO7Yex.mjs} +1 -1
- package/dist/{BasePermissionHandler-tGylJLUH.mjs → BasePermissionHandler-BpaIn9ko.mjs} +1 -1
- package/dist/{BasePermissionHandler-86_xnisC.cjs → BasePermissionHandler-CUXi-tq4.cjs} +1 -1
- package/dist/{account-BRqUOj_D.mjs → account-C1nsl3ij.mjs} +5 -5
- package/dist/{account-C91_R-kw.cjs → account-SwG5Yefp.cjs} +5 -5
- package/dist/{acpSessionResume-DK8EjIY0.cjs → acpSessionResume-BCEol11N.cjs} +1 -1
- package/dist/{acpSessionResume-CZQ91ano.mjs → acpSessionResume-DvDKsJTV.mjs} +1 -1
- package/dist/{agentHome-BZvbPuy1.cjs → agentHome-8wzmbm0H.cjs} +4 -4
- package/dist/{agentHome-71zGywwx.mjs → agentHome-BuFxooEg.mjs} +4 -4
- package/dist/{api-BYh1VGBa.mjs → api-20GbdpxY.mjs} +9 -9
- package/dist/{api-BoJA-zK3.cjs → api-BnTF8fkj.cjs} +9 -9
- package/dist/{apiMachine--_eI4PTv.mjs → apiMachine-C8NGJHHd.mjs} +13 -13
- package/dist/{apiMachine-CA58NM_V.cjs → apiMachine-cyDRM_S-.cjs} +13 -13
- package/dist/{attachmentContent-y621KwMz.cjs → attachmentContent-B7zz_LPF.cjs} +2 -2
- package/dist/{attachmentContent-D95cCBX5.mjs → attachmentContent-Coo9lUxK.mjs} +2 -2
- package/dist/{auth-DCzFx5BN.mjs → auth-75rP3vc0.mjs} +8 -8
- package/dist/{auth-DRJ_WPn3.mjs → auth-BX6xrdHv.mjs} +5 -5
- package/dist/{auth-CAkpHr8F.cjs → auth-By6u_iKB.cjs} +5 -5
- package/dist/{auth-Dofm64Kp.cjs → auth-w4UTRbIf.cjs} +8 -8
- package/dist/{auto-CrgOy5OR.mjs → auto-BhmWtRvv.mjs} +14 -14
- package/dist/{auto-D4IBwJEE.cjs → auto-xr_gqUoy.cjs} +14 -14
- package/dist/{bootstrap-D16MMPNP.cjs → bootstrap-3ti7LXMz.cjs} +2 -2
- package/dist/{bootstrap-PnL2FX64.mjs → bootstrap-Dn_VvHSt.mjs} +2 -2
- package/dist/{browser-DK2GfyEr.cjs → browser-C4PVyjGe.cjs} +1 -1
- package/dist/{browser-D2enJJfv.mjs → browser-C4wWGXH7.mjs} +1 -1
- package/dist/{claudeLocal-BbzN1qly.mjs → claudeLocal-B8rOA-EB.mjs} +4 -4
- package/dist/{claudeLocal-DaqiRW9N.cjs → claudeLocal-DZALKVVc.cjs} +4 -4
- package/dist/{claudeLocalLauncher-B0qbyOUc.cjs → claudeLocalLauncher-Bf5uj0EA.cjs} +9 -9
- package/dist/{claudeLocalLauncher-D7bhZ9rp.mjs → claudeLocalLauncher-CJPRSv3z.mjs} +9 -9
- package/dist/{claudeSessionFork-BPF3cpGs.mjs → claudeSessionFork-BK4U655i.mjs} +1 -1
- package/dist/{claudeSessionFork-lcajftLB.cjs → claudeSessionFork-unEBLW0t.cjs} +1 -1
- package/dist/{client-CqmT_ur8.cjs → client-BKjBr6pc.cjs} +2 -2
- package/dist/{client-Og5iNZ6S.mjs → client-BbYds4AV.mjs} +4 -4
- package/dist/{client-xA44FUnf.cjs → client-Bh-y6cVc.cjs} +4 -4
- package/dist/{client-BH4s6mzX.mjs → client-BxtaglBR.mjs} +2 -2
- package/dist/{client-BHt14nix.mjs → client-CvLm25Wq.mjs} +2 -2
- package/dist/{client-D5_YDMpA.cjs → client-DGsdLx8L.cjs} +2 -2
- package/dist/{client-t1vQ7gho.mjs → client-m-K1b6Qa.mjs} +2 -2
- package/dist/{client-ByK8-iRd.cjs → client-wMlUPnrV.cjs} +2 -2
- package/dist/codex/happyMcpStdioBridge.cjs +18 -18
- package/dist/codex/happyMcpStdioBridge.mjs +18 -18
- package/dist/{codexAppServerClient-CyLtj1kP.cjs → codexAppServerClient-6aQelpRl.cjs} +3 -3
- package/dist/{codexAppServerClient-CvL3eBlM.mjs → codexAppServerClient-BeRimnu9.mjs} +3 -3
- package/dist/{codexCommand-B0Slfvne.cjs → codexCommand-CYVaGmhh.cjs} +43 -43
- package/dist/{codexCommand-CXytYlk9.mjs → codexCommand-CmGNDs45.mjs} +43 -43
- package/dist/{codexTermination-CykPnK3G.cjs → codexTermination-B09HyYIB.cjs} +1 -1
- package/dist/{codexTermination-D0sBaTvW.mjs → codexTermination-Z18pGkkl.mjs} +1 -1
- package/dist/{config-DeXK_5y4.mjs → config-4b-sF37g.mjs} +3 -3
- package/dist/{config-7Z5qIB3k.cjs → config-Dq_N615Z.cjs} +3 -3
- package/dist/{configuration-CDqmWkHO.cjs → configuration-Fx61b4MJ.cjs} +1 -1
- package/dist/{configuration-D_YrWa_i.mjs → configuration-H8q1sMwk.mjs} +1 -1
- package/dist/{connect-CivOym_v.mjs → connect-BwSwKPzI.mjs} +12 -12
- package/dist/{connect-D_tzdR4l.cjs → connect-D54AnDIT.cjs} +12 -12
- package/dist/{context-DXfkj_FL.mjs → context-CM1Xd_HO.mjs} +1 -1
- package/dist/{context-k2CbuBtp.cjs → context-D-QOcYuX.cjs} +1 -1
- package/dist/{controlClient-BS86Ksm8.cjs → controlClient-D04wXKoQ.cjs} +3 -3
- package/dist/{controlClient-Daki7wgo.mjs → controlClient-D9DYqW02.mjs} +3 -3
- package/dist/{createSessionMetadata-B_hQ8lDn.mjs → createSessionMetadata-CHa4pufa.mjs} +2 -2
- package/dist/{createSessionMetadata-2s80RDL1.cjs → createSessionMetadata-Ce539QXK.cjs} +2 -2
- package/dist/{deterministicJson-DKiOtrSA.mjs → deterministicJson-BEeXnWCF.mjs} +54 -19
- package/dist/{deterministicJson-lwG_VzWd.cjs → deterministicJson-D34CnNHO.cjs} +53 -18
- package/dist/{doctor-DegBfYjz.mjs → doctor-BI0Iywt_.mjs} +7 -7
- package/dist/{doctor-C0kONAQn.cjs → doctor-BX8oWKZq.cjs} +7 -7
- package/dist/{downloadTarget-osakJyyA.mjs → downloadTarget-DX3m00OE.mjs} +6 -6
- package/dist/{downloadTarget-BTEVg8t6.cjs → downloadTarget-TzXJEh6W.cjs} +6 -6
- package/dist/{ensureDaemonRunning-ED6UVEbk.mjs → ensureDaemonRunning-BBBqZ6vQ.mjs} +5 -5
- package/dist/{ensureDaemonRunning-vxHxmXo2.cjs → ensureDaemonRunning-Bvu-yyFn.cjs} +5 -5
- package/dist/{exitNotice-BhRrv8dx.cjs → exitNotice-M4UjtWkr.cjs} +11 -4
- package/dist/{exitNotice-D1tMULzu.mjs → exitNotice-gOAdDcL3.mjs} +10 -5
- package/dist/{format-9KvRMdvY.cjs → format-BEktLc45.cjs} +1 -1
- package/dist/{format-DJwRUrQm.mjs → format-BPAREVhi.mjs} +1 -1
- package/dist/{handleResumeCommand-0lsgLgBB.cjs → handleResumeCommand-6dYW_WOi.cjs} +5 -5
- package/dist/{handleResumeCommand-PfKmR-hv.mjs → handleResumeCommand-DziiqogX.mjs} +5 -5
- package/dist/{index-BNcFxRSt.mjs → index-BRq5iitn.mjs} +4 -4
- package/dist/{index-B_narjYR.cjs → index-BmacwzcK.cjs} +40 -40
- package/dist/{index-l8Xg3Mbf.cjs → index-Cawt-fgZ.cjs} +4 -4
- package/dist/{index-C7yXrMau.cjs → index-CoW4RNEb.cjs} +3 -3
- package/dist/{index-CUJZx4cs.mjs → index-CzBvl9py.mjs} +3 -3
- package/dist/{index-CUeuMsap.mjs → index-DCvq8Cfw.mjs} +4 -4
- package/dist/{index-D1rxFJ2b.mjs → index-UuWDafdi.mjs} +41 -41
- package/dist/{index-Bm_9wBaO.cjs → index-bVMcFi7v.cjs} +4 -4
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-B593oYZs.mjs → install-B4OVUIw5.mjs} +3 -3
- package/dist/{install-C0I1a5sL.cjs → install-BQc4Hwuo.cjs} +3 -3
- package/dist/{issue-CJrXCpnf.cjs → issue-WpLZYxUQ.cjs} +7 -7
- package/dist/{issue-D9ukoK-U.mjs → issue-h_BIrzLs.mjs} +7 -7
- package/dist/lib.cjs +11 -11
- package/dist/lib.mjs +11 -11
- package/dist/{localHappyAgentAuth-D3GKuEC2.cjs → localHappyAgentAuth-DQRWBUxQ.cjs} +1 -1
- package/dist/{localHappyAgentAuth-CxNcSjMM.mjs → localHappyAgentAuth-DgLh3xzW.mjs} +1 -1
- package/dist/{logger-BcdURxNR.mjs → logger-BKAKIZdy.mjs} +2 -2
- package/dist/{logger-C8anCmdW.cjs → logger-DP35yx-C.cjs} +2 -2
- package/dist/{machineMetadata-DYWtdEtE.cjs → machineMetadata-CZj0XwM_.cjs} +3 -3
- package/dist/{machineMetadata-BQaQQk6Z.mjs → machineMetadata-DTlMMhj_.mjs} +3 -3
- package/dist/{main-KsUdHnwc.mjs → main-BIE1zeaH.mjs} +48 -48
- package/dist/{main-Bw7qSCWA.cjs → main-l_nP9IQq.cjs} +48 -48
- package/dist/{mcp-OeLaQ2XR.mjs → mcp-B5F6-_7o.mjs} +15 -15
- package/dist/{mcp-CxPUFOEd.cjs → mcp-KQHODyR3.cjs} +15 -15
- package/dist/{mirrorProtocol-Sj0yEHHU.mjs → mirrorProtocol-DDOUSWqL.mjs} +2 -2
- package/dist/{mirrorProtocol-cTQcrW55.cjs → mirrorProtocol-duXHJeBW.cjs} +2 -2
- package/dist/{package-DkpXQvp1.cjs → package-BCJfNMlt.cjs} +7 -7
- package/dist/{package-Dx3hbh9J.mjs → package-CMmhJwSf.mjs} +7 -7
- package/dist/{panels-DKYO14Sq.mjs → panels-BWxZMb_x.mjs} +5 -5
- package/dist/{panels-CPNZnwCH.cjs → panels-CBlIJIu8.cjs} +5 -5
- package/dist/{peerTools-DpCWFxI6.cjs → peerTools-C6Y28jqG.cjs} +5 -5
- package/dist/{peerTools-DYFslv6R.mjs → peerTools-ZJzoM48N.mjs} +5 -5
- package/dist/{persistence-3iZXGbfb.mjs → persistence-dLgWDclq.mjs} +2 -2
- package/dist/{persistence-Ch78xygf.cjs → persistence-iiVFxhbt.cjs} +2 -2
- package/dist/{piRunnerArgs-DEuYl6FL.mjs → piRunnerArgs-DuWYye4f.mjs} +1 -1
- package/dist/{piRunnerArgs-CA6jqQ0k.cjs → piRunnerArgs-DxWxgOSZ.cjs} +1 -1
- package/dist/{piRuntime-BIVHf-hN.cjs → piRuntime-6UnkPaS1.cjs} +1 -1
- package/dist/{piRuntime-CyN43ILm.mjs → piRuntime-Cbwk6bN0.mjs} +1 -1
- package/dist/{piTerminal-Hw4StZWN.cjs → piTerminal-BaoUqlM0.cjs} +17 -17
- package/dist/{piTerminal-DXz5L73L.mjs → piTerminal-Dn0qN9nb.mjs} +17 -17
- package/dist/{pushNotifications-Db1NGJiA.mjs → pushNotifications-DD9Z0CoN.mjs} +2 -2
- package/dist/{pushNotifications-D2ejrxlN.cjs → pushNotifications-gcQv61e6.cjs} +2 -2
- package/dist/{query-velpFYxW.cjs → query-12momZSq.cjs} +1 -1
- package/dist/{query-CeYpZWVb.mjs → query-CFdlRD7b.mjs} +1 -1
- package/dist/{rateLimitWindows-BSQttrPk.mjs → rateLimitWindows-CVS-btq-.mjs} +1 -1
- package/dist/{rateLimitWindows-C78D8Uf-.cjs → rateLimitWindows-D2Gmg7jU.cjs} +1 -1
- package/dist/{reconnectGate-S9yNiuY7.cjs → reconnectGate-BkSaZdIx.cjs} +1 -1
- package/dist/{reconnectGate-Ie4nSKNl.mjs → reconnectGate-m81ySKhh.mjs} +1 -1
- package/dist/{registerCommonHandlers-51llVpLx.cjs → registerCommonHandlers-B5p3ZZmp.cjs} +2 -2
- package/dist/{registerCommonHandlers-BR7BeGX3.mjs → registerCommonHandlers-CqLHkmG2.mjs} +2 -2
- package/dist/{registerKillSessionHandler-BjY79qBi.cjs → registerKillSessionHandler-Bf_Q9yii.cjs} +5 -5
- package/dist/{registerKillSessionHandler-RbWPmKnK.mjs → registerKillSessionHandler-jYSuGIP1.mjs} +5 -5
- package/dist/{registerSideQuestionHandler-BbYT7QfR.mjs → registerSideQuestionHandler-CPR29B9d.mjs} +4 -4
- package/dist/{registerSideQuestionHandler-B1Xk7dFK.cjs → registerSideQuestionHandler-DSIw3xPW.cjs} +4 -4
- package/dist/{remoteSessionClient-Ddns3U8M.mjs → remoteSessionClient-CLuxs0_y.mjs} +5 -5
- package/dist/{remoteSessionClient-r-UnqHor.cjs → remoteSessionClient-DX-60nto.cjs} +5 -5
- package/dist/{reportProgressTool-ByadxJtc.cjs → reportProgressTool-D1XAxeY1.cjs} +4 -4
- package/dist/{reportProgressTool-C3sf9D8m.mjs → reportProgressTool-k3g3D6cX.mjs} +4 -4
- package/dist/{run-jsINwBOz.mjs → run-BBJqaIoY.mjs} +34 -34
- package/dist/{run-r5sY3wHk.cjs → run-DOb_agpA.cjs} +34 -34
- package/dist/{runClaude-CRKsRfnq.cjs → runClaude-BU3Lrd5o.cjs} +20 -20
- package/dist/{runClaude-D8CuiZhi.mjs → runClaude-NTvReMNp.mjs} +20 -20
- package/dist/{runClaudeDeps-BiVzNIE6.cjs → runClaudeDeps-DQV-QdDi.cjs} +38 -38
- package/dist/{runClaudeDeps-CUuPWcg9.mjs → runClaudeDeps-Dh2LVY2w.mjs} +44 -44
- package/dist/{runGemini-cqVZjPT6.mjs → runGemini-CGD4bqQ3.mjs} +35 -35
- package/dist/{runGemini-DANnc0BW.cjs → runGemini-dk877ztP.cjs} +35 -35
- package/dist/{runOpenClaw-B6V2nz8J.mjs → runOpenClaw-6MAJ_tHi.mjs} +17 -17
- package/dist/{runOpenClaw-CGwc6mfJ.cjs → runOpenClaw-CQakHPPq.cjs} +17 -17
- package/dist/{sandbox-CNheYPva.cjs → sandbox-8DeDre0R.cjs} +4 -4
- package/dist/{sandbox-JYBMckKE.mjs → sandbox-B3YMD9I6.mjs} +4 -4
- package/dist/selfCheck-BCKIF6ST.mjs +89 -0
- package/dist/{selfCheck-DtSEBt0g.cjs → selfCheck-BpvUNBmv.cjs} +39 -39
- package/dist/{send-DNdJR3n8.cjs → send-Bym_IU4n.cjs} +8 -8
- package/dist/{send-BHrbbGJ7.mjs → send-DgrbVZzC.mjs} +8 -8
- package/dist/{server-CvP_b3eb.cjs → server-BY-FubRe.cjs} +6 -6
- package/dist/{server-DhQjVsyZ.mjs → server-CmAgeEhS.mjs} +4 -4
- package/dist/{sessionLock-5i516L-w.mjs → sessionLock-BMtAQ4bW.mjs} +3 -3
- package/dist/{sessionLock-UkF8M3j5.cjs → sessionLock-WXtjQC9q.cjs} +3 -3
- package/dist/{sessionOps-D77IeFSt.cjs → sessionOps-BEVzE38e.cjs} +4 -4
- package/dist/{sessionOps-DX49XNAT.mjs → sessionOps-BxLhHEhM.mjs} +4 -4
- package/dist/{sessionProvider-C5xW4Dt3.mjs → sessionProvider-B1tL5K5f.mjs} +5 -5
- package/dist/{sessionProvider-mSI2UgLX.cjs → sessionProvider-DCnZFxwe.cjs} +5 -5
- package/dist/{sessionScanner-BZkOnp5a.mjs → sessionScanner-Ctm9w-AJ.mjs} +3 -3
- package/dist/{sessionScanner-B1Am8D4Y.cjs → sessionScanner-eX2f-j0u.cjs} +3 -3
- package/dist/{sessions-DDDEiHVR.cjs → sessions-BG8r7uht.cjs} +10 -10
- package/dist/{sessions-ClQFpjcA.mjs → sessions-BuxOqRcc.mjs} +10 -10
- package/dist/{setupOfflineReconnection-Cn2_vuvO.cjs → setupOfflineReconnection-65k1yEFn.cjs} +2 -2
- package/dist/{setupOfflineReconnection-PjK9laDd.mjs → setupOfflineReconnection-Dd4NCN9i.mjs} +2 -2
- package/dist/{spawn-DOj-sY6W.cjs → spawn-0YaC-DQg.cjs} +12 -12
- package/dist/{spawn-BJGaxdot.mjs → spawn-wys_MPgK.mjs} +12 -12
- package/dist/{spawnHappyCLI-DvxZ7elP.cjs → spawnHappyCLI-Bf_N42fi.cjs} +1 -1
- package/dist/{spawnHappyCLI-CpOMz9hX.mjs → spawnHappyCLI-EvPb0jB3.mjs} +1 -1
- package/dist/{startFileWatcher-CPbPNFGY.mjs → startFileWatcher-GF4BNFA1.mjs} +1 -1
- package/dist/{startFileWatcher-1ar7WS96.cjs → startFileWatcher-ikipjpDk.cjs} +1 -1
- package/dist/{startupSessionCreate-COc5Nnr9.cjs → startupSessionCreate-CHU23k6u.cjs} +3 -3
- package/dist/{startupSessionCreate-CnVaUZ16.mjs → startupSessionCreate-Dp3_kvi_.mjs} +3 -3
- package/dist/{sync-BZji3J2r.mjs → sync-Co0wRhGu.mjs} +1 -1
- package/dist/{sync-DzInYE_l.cjs → sync-Dm6GaS8P.cjs} +1 -1
- package/dist/{systemPrompt-Dhdq8hGf.mjs → systemPrompt-5cZbY0sf.mjs} +1 -1
- package/dist/{systemPrompt-CvpjNmQL.cjs → systemPrompt-Ds7HcfDZ.cjs} +1 -1
- package/dist/{teams-CVW4ZvmW.mjs → teams-DBWFUOC3.mjs} +8 -8
- package/dist/{teams-CRCbDPob.cjs → teams-nrcZL-1X.cjs} +8 -8
- package/dist/{time-BWVJTcWI.mjs → time-Cn0mV-di.mjs} +1 -1
- package/dist/{time-UUMqbIq8.cjs → time-NSglRbyr.cjs} +1 -1
- package/dist/{titleGenerator-BHOA2Wkx.cjs → titleGenerator-CMIUB04_.cjs} +2 -2
- package/dist/{titleGenerator-Ck82YoB7.mjs → titleGenerator-hmxUR3rU.mjs} +1 -1
- package/dist/{todo-Cf52TlmX.mjs → todo-CDdBityL.mjs} +7 -7
- package/dist/{todo-Cwo7joub.cjs → todo-D5BoNMb7.cjs} +7 -7
- package/dist/{tools-DmNaOlUF.mjs → tools-BmQbzAfY.mjs} +1 -1
- package/dist/{tools-DEErCtZG.cjs → tools-CLkNfafW.cjs} +1 -1
- package/dist/{uninstall-CoAK4ANz.cjs → uninstall-DCx_qNMZ.cjs} +3 -3
- package/dist/{uninstall-B85MiNK2.mjs → uninstall-DE0SH2qs.mjs} +3 -3
- package/package.json +7 -7
- package/dist/selfCheck-Jjy_wMw3.mjs +0 -89
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
1
|
+
import { l as logger } from './logger-BKAKIZdy.mjs';
|
|
2
2
|
import { p as prependToMessage, b as buildDigestLine, a as buildFirstTurnPrefix } from './prompt-QHuFx9j6.mjs';
|
|
3
|
-
import { P as ProjectsUnsupportedError } from './client-
|
|
4
|
-
import { s as sharedIssuesClient, I as IssuesUnsupportedError } from './client-
|
|
3
|
+
import { P as ProjectsUnsupportedError } from './client-BxtaglBR.mjs';
|
|
4
|
+
import { s as sharedIssuesClient, I as IssuesUnsupportedError } from './client-m-K1b6Qa.mjs';
|
|
5
5
|
import { r as readSessionIssueMetadata } from './sessionMetadata-C1eoAi89.mjs';
|
|
6
|
-
import { c as configuration, f as ensurePrivateDirectorySync, w as writePrivateFileSync } from './configuration-
|
|
6
|
+
import { c as configuration, f as ensurePrivateDirectorySync, w as writePrivateFileSync } from './configuration-H8q1sMwk.mjs';
|
|
7
7
|
import { join, dirname } from 'node:path';
|
|
8
|
-
import { readdirSync, statSync, unlinkSync, readFileSync, constants } from 'node:fs';
|
|
9
|
-
import {
|
|
10
|
-
import { d as createSelfReportState, A as AUTOMATION_TOOL_NAMES, P as PROJECT_TOOL_NAMES, I as ISSUE_TOOL_NAMES, r as registerAutomationTools, a as registerProjectTools, e as createProjectToolExecutor, b as registerIssueTools, f as createIssueToolExecutor, c as registerReportProgressTool, n as normalizeAttention, g as normalizePhase, h as normalizeProgress, s as shouldAcceptSelfReport } from './reportProgressTool-
|
|
8
|
+
import { readdirSync, statSync, unlinkSync, readFileSync, existsSync, constants } from 'node:fs';
|
|
9
|
+
import { r as readTeamExitMarker, T as TEAM_LANGUAGE_RULE_HEADING, a as teamLanguageRule, b as TEAM_LANGUAGES, c as teamLanguageReminder, d as detectTeamUserLanguage, e as createTeamExitNotice } from './exitNotice-gOAdDcL3.mjs';
|
|
10
|
+
import { d as createSelfReportState, A as AUTOMATION_TOOL_NAMES, P as PROJECT_TOOL_NAMES, I as ISSUE_TOOL_NAMES, r as registerAutomationTools, a as registerProjectTools, e as createProjectToolExecutor, b as registerIssueTools, f as createIssueToolExecutor, c as registerReportProgressTool, n as normalizeAttention, g as normalizePhase, h as normalizeProgress, s as shouldAcceptSelfReport } from './reportProgressTool-k3g3D6cX.mjs';
|
|
11
11
|
import { homedir } from 'node:os';
|
|
12
12
|
import { z } from 'zod';
|
|
13
13
|
import { p as piAgentDir } from './pi-CqyoZMjI.mjs';
|
|
14
14
|
import { unlink, mkdir, open, rename } from 'node:fs/promises';
|
|
15
15
|
import { randomUUID, createHash } from 'node:crypto';
|
|
16
|
-
import { T as TeamConnectionPreflightError, S as SessionInOtherTeamError, c as createTeamsClient, t as teamRequest } from './client-
|
|
17
|
-
import { t as teamScopePath, r as readTeamScope } from './context-
|
|
18
|
-
import { g as waitForSessionKey, e as sendUserMessage } from './sessionOps-
|
|
16
|
+
import { T as TeamConnectionPreflightError, S as SessionInOtherTeamError, c as createTeamsClient, t as teamRequest } from './client-BbYds4AV.mjs';
|
|
17
|
+
import { t as teamScopePath, r as readTeamScope } from './context-CM1Xd_HO.mjs';
|
|
18
|
+
import { g as waitForSessionKey, e as sendUserMessage } from './sessionOps-BxLhHEhM.mjs';
|
|
19
19
|
import { T as TEAM_SKILL, a as TEAM_LEAD_PLAYBOOK } from './resources-CLP_MpK4.mjs';
|
|
20
|
-
import { T as TEAM_TOOL_NAMES, r as registerTeamsTools } from './tools-
|
|
21
|
-
import { S as SESSION_PEER_TOOL_NAMES, r as registerSessionPeerTools, a as createSessionPeerToolExecutor } from './peerTools-
|
|
20
|
+
import { T as TEAM_TOOL_NAMES, r as registerTeamsTools } from './tools-BmQbzAfY.mjs';
|
|
21
|
+
import { S as SESSION_PEER_TOOL_NAMES, r as registerSessionPeerTools, a as createSessionPeerToolExecutor } from './peerTools-ZJzoM48N.mjs';
|
|
22
22
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
23
23
|
import { createServer } from 'node:http';
|
|
24
24
|
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
25
25
|
import { C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, c as CLIPBOARD_MAX_BYTES } from './limits-DIo7rEBR.mjs';
|
|
26
|
-
import { A as ASSISTANT_TOOL_NAMES, a as registerAssistantTools, c as checkDownloadTarget } from './downloadTarget-
|
|
26
|
+
import { A as ASSISTANT_TOOL_NAMES, a as registerAssistantTools, c as checkDownloadTarget } from './downloadTarget-DX3m00OE.mjs';
|
|
27
27
|
import { P as PREVIEW_TOOL_NAME, R as REPORT_PROGRESS_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION, c as PREVIEW_DOWNLOAD_PARAM_DESCRIPTION } from './agentGuidance-BDYt2Qy2.mjs';
|
|
28
28
|
import { n as normalizeWebPanels, w as webPanelPath } from './webPanels-B2_C2-3g.mjs';
|
|
29
|
-
import { b as readCredentialsForConfiguredRelay, r as readSettings } from './persistence-
|
|
30
|
-
import { g as getSessionNotificationBody } from './pushNotifications-
|
|
29
|
+
import { b as readCredentialsForConfiguredRelay, r as readSettings } from './persistence-dLgWDclq.mjs';
|
|
30
|
+
import { g as getSessionNotificationBody } from './pushNotifications-DD9Z0CoN.mjs';
|
|
31
31
|
import { c as checkPreviewPath } from './previewPath-CXN4Vag0.mjs';
|
|
32
32
|
import { a7 as ATTENTION_DISABLED_ERROR, a8 as ATTENTION_LIMITS, a9 as ownerBoardPostToRest, aa as isAttentionBoardLocalId, ab as OwnerBoardPostInputSchema, ac as OwnerBoardUpdateInputSchema, ad as OwnerBoardResolveInputSchema, ae as OwnerBoardListInputSchema, af as ATTENTION_SESSION_CAPABILITY } from './index-DWk-WTU-.mjs';
|
|
33
33
|
import { createHash as createHash$1 } from 'crypto';
|
|
@@ -49,14 +49,14 @@ function buildIssueDigestLine(issue, entries) {
|
|
|
49
49
|
if (!parts.length) return null;
|
|
50
50
|
return `[Issue ${issue.key} ${parts.join("; ")}]`;
|
|
51
51
|
}
|
|
52
|
-
const SESSION_ID = /^[A-Za-z0-9_-]{1,128}$/;
|
|
52
|
+
const SESSION_ID$1 = /^[A-Za-z0-9_-]{1,128}$/;
|
|
53
53
|
const ISSUE_DIGEST_CURSOR_TTL_MS = 30 * 24 * 36e5;
|
|
54
54
|
function fileIssueDigestCursorStore(home, now = Date.now) {
|
|
55
55
|
const dir = join(home, "issues", "digest");
|
|
56
56
|
let pruned = false;
|
|
57
57
|
return {
|
|
58
58
|
read(sessionId) {
|
|
59
|
-
if (!SESSION_ID.test(sessionId)) return null;
|
|
59
|
+
if (!SESSION_ID$1.test(sessionId)) return null;
|
|
60
60
|
try {
|
|
61
61
|
const asOf = JSON.parse(readFileSync(join(dir, `${sessionId}.json`), "utf8")).asOf;
|
|
62
62
|
return typeof asOf === "number" && Number.isFinite(asOf) ? asOf : null;
|
|
@@ -65,7 +65,7 @@ function fileIssueDigestCursorStore(home, now = Date.now) {
|
|
|
65
65
|
}
|
|
66
66
|
},
|
|
67
67
|
write(sessionId, asOf) {
|
|
68
|
-
if (!SESSION_ID.test(sessionId)) return;
|
|
68
|
+
if (!SESSION_ID$1.test(sessionId)) return;
|
|
69
69
|
try {
|
|
70
70
|
ensurePrivateDirectorySync(dir);
|
|
71
71
|
writePrivateFileSync(join(dir, `${sessionId}.json`), JSON.stringify({ asOf }));
|
|
@@ -123,6 +123,39 @@ function createIssueDigest(deps) {
|
|
|
123
123
|
};
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
+
const SESSION_ID = /^[a-zA-Z0-9_-]{1,128}$/;
|
|
127
|
+
const ENVELOPE = "[Very Happy team message ";
|
|
128
|
+
const BOARD_LINE = /^\[Briefing board\].*\n?/gm;
|
|
129
|
+
function teamLanguageMarkerPath(home, sessionId) {
|
|
130
|
+
return join(home, "teams", "language", `${sessionId}.json`);
|
|
131
|
+
}
|
|
132
|
+
function backfillLanguage(message) {
|
|
133
|
+
if (message.includes(ENVELOPE)) return TEAM_LANGUAGES.find((language) => message.includes(teamLanguageReminder(language))) ?? null;
|
|
134
|
+
return detectTeamUserLanguage(message.replace(BOARD_LINE, ""));
|
|
135
|
+
}
|
|
136
|
+
function createTeamLanguageBackfill(deps) {
|
|
137
|
+
const home = deps.home ?? configuration.happyHomeDir;
|
|
138
|
+
const scopeFile = deps.scopeFile ?? ((sid) => process.env.VH_TEAM_SCOPE_FILE || join(home, "teams", "scopes", `${sid}.json`));
|
|
139
|
+
return {
|
|
140
|
+
/** `source` is the message before other injections: their text says nothing about the user's language. */
|
|
141
|
+
decorate(message, source) {
|
|
142
|
+
const sid = deps.sessionId();
|
|
143
|
+
if (!sid || !SESSION_ID.test(sid)) return message;
|
|
144
|
+
const marker = teamLanguageMarkerPath(home, sid);
|
|
145
|
+
if (existsSync(marker) || !existsSync(scopeFile(sid)) || readTeamExitMarker(home, sid)) return message;
|
|
146
|
+
const hasRule = source.includes(TEAM_LANGUAGE_RULE_HEADING);
|
|
147
|
+
try {
|
|
148
|
+
ensurePrivateDirectorySync(join(home, "teams", "language"));
|
|
149
|
+
writePrivateFileSync(marker, JSON.stringify({ at: Date.now(), via: hasRule ? "prompt" : "backfill" }));
|
|
150
|
+
} catch (error) {
|
|
151
|
+
logger.debug(`[teams] language rule not recorded, skipping it: ${String(error)}`);
|
|
152
|
+
return message;
|
|
153
|
+
}
|
|
154
|
+
return hasRule ? message : prependToMessage(message, teamLanguageRule(backfillLanguage(source)));
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
|
|
126
159
|
function createProjectInjector(deps) {
|
|
127
160
|
const timeoutMs = deps.timeoutMs ?? 1500;
|
|
128
161
|
const now = deps.now ?? Date.now;
|
|
@@ -134,6 +167,7 @@ function createProjectInjector(deps) {
|
|
|
134
167
|
const label = (id) => titles.get(id) ?? id.slice(0, 8);
|
|
135
168
|
const issueDigest = deps.issueDigest === void 0 ? createIssueDigest({ sessionId: deps.sessionId, metadata: () => deps.metadata?.() ?? null, timeoutMs }) : deps.issueDigest;
|
|
136
169
|
const teamExitNotice = deps.teamExitNotice === void 0 ? createTeamExitNotice({ sessionId: deps.sessionId }) : deps.teamExitNotice;
|
|
170
|
+
const teamLanguageBackfill = deps.teamLanguageBackfill === void 0 ? createTeamLanguageBackfill({ sessionId: deps.sessionId }) : deps.teamLanguageBackfill;
|
|
137
171
|
function withTimeout(p) {
|
|
138
172
|
return Promise.race([p, new Promise((_, reject) => setTimeout(() => reject(new Error("project injection timeout")), timeoutMs).unref?.())]);
|
|
139
173
|
}
|
|
@@ -207,7 +241,8 @@ function createProjectInjector(deps) {
|
|
|
207
241
|
if (typeof message !== "string") return message;
|
|
208
242
|
const withIssue = async (text) => {
|
|
209
243
|
const digested = issueDigest ? await issueDigest.decorate(text) : text;
|
|
210
|
-
|
|
244
|
+
const noticed = teamExitNotice ? teamExitNotice.decorate(digested) : digested;
|
|
245
|
+
return teamLanguageBackfill ? teamLanguageBackfill.decorate(noticed, message) : noticed;
|
|
211
246
|
};
|
|
212
247
|
const sid = deps.sessionId();
|
|
213
248
|
if (!sid || deps.client.isDisabled()) return await withIssue(message);
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var logger = require('./logger-
|
|
3
|
+
var logger = require('./logger-DP35yx-C.cjs');
|
|
4
4
|
var prompt = require('./prompt-Bof2aQkI.cjs');
|
|
5
|
-
var client$1 = require('./client-
|
|
6
|
-
var client = require('./client-
|
|
5
|
+
var client$1 = require('./client-BKjBr6pc.cjs');
|
|
6
|
+
var client = require('./client-wMlUPnrV.cjs');
|
|
7
7
|
var sessionMetadata = require('./sessionMetadata-B44cL4Xj.cjs');
|
|
8
|
-
var configuration = require('./configuration-
|
|
8
|
+
var configuration = require('./configuration-Fx61b4MJ.cjs');
|
|
9
9
|
var path = require('node:path');
|
|
10
10
|
var node_fs = require('node:fs');
|
|
11
|
-
var exitNotice = require('./exitNotice-
|
|
12
|
-
var reportProgressTool = require('./reportProgressTool-
|
|
11
|
+
var exitNotice = require('./exitNotice-M4UjtWkr.cjs');
|
|
12
|
+
var reportProgressTool = require('./reportProgressTool-D1XAxeY1.cjs');
|
|
13
13
|
var os = require('node:os');
|
|
14
14
|
var z = require('zod');
|
|
15
15
|
var pi = require('./pi-DlsrPCTa.cjs');
|
|
16
16
|
var promises = require('node:fs/promises');
|
|
17
17
|
var node_crypto = require('node:crypto');
|
|
18
|
-
var client$2 = require('./client-
|
|
19
|
-
var context = require('./context-
|
|
20
|
-
var sessionOps = require('./sessionOps-
|
|
18
|
+
var client$2 = require('./client-Bh-y6cVc.cjs');
|
|
19
|
+
var context = require('./context-D-QOcYuX.cjs');
|
|
20
|
+
var sessionOps = require('./sessionOps-BEVzE38e.cjs');
|
|
21
21
|
var resources = require('./resources-BZ_Be0qM.cjs');
|
|
22
|
-
var tools = require('./tools-
|
|
23
|
-
var peerTools = require('./peerTools-
|
|
22
|
+
var tools = require('./tools-CLkNfafW.cjs');
|
|
23
|
+
var peerTools = require('./peerTools-C6Y28jqG.cjs');
|
|
24
24
|
var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
25
25
|
var node_http = require('node:http');
|
|
26
26
|
var streamableHttp_js = require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
27
27
|
var limits = require('./limits-C-a7gr04.cjs');
|
|
28
|
-
var downloadTarget = require('./downloadTarget-
|
|
28
|
+
var downloadTarget = require('./downloadTarget-TzXJEh6W.cjs');
|
|
29
29
|
var agentGuidance = require('./agentGuidance-BtBx2xxE.cjs');
|
|
30
30
|
var webPanels = require('./webPanels-FCgFKvVe.cjs');
|
|
31
|
-
var persistence = require('./persistence-
|
|
32
|
-
var pushNotifications = require('./pushNotifications-
|
|
31
|
+
var persistence = require('./persistence-iiVFxhbt.cjs');
|
|
32
|
+
var pushNotifications = require('./pushNotifications-gcQv61e6.cjs');
|
|
33
33
|
var previewPath = require('./previewPath-B0rBdhy1.cjs');
|
|
34
34
|
var index = require('./index-BYL_X3gP.cjs');
|
|
35
35
|
var require$$3 = require('crypto');
|
|
@@ -51,14 +51,14 @@ function buildIssueDigestLine(issue, entries) {
|
|
|
51
51
|
if (!parts.length) return null;
|
|
52
52
|
return `[Issue ${issue.key} ${parts.join("; ")}]`;
|
|
53
53
|
}
|
|
54
|
-
const SESSION_ID = /^[A-Za-z0-9_-]{1,128}$/;
|
|
54
|
+
const SESSION_ID$1 = /^[A-Za-z0-9_-]{1,128}$/;
|
|
55
55
|
const ISSUE_DIGEST_CURSOR_TTL_MS = 30 * 24 * 36e5;
|
|
56
56
|
function fileIssueDigestCursorStore(home, now = Date.now) {
|
|
57
57
|
const dir = path.join(home, "issues", "digest");
|
|
58
58
|
let pruned = false;
|
|
59
59
|
return {
|
|
60
60
|
read(sessionId) {
|
|
61
|
-
if (!SESSION_ID.test(sessionId)) return null;
|
|
61
|
+
if (!SESSION_ID$1.test(sessionId)) return null;
|
|
62
62
|
try {
|
|
63
63
|
const asOf = JSON.parse(node_fs.readFileSync(path.join(dir, `${sessionId}.json`), "utf8")).asOf;
|
|
64
64
|
return typeof asOf === "number" && Number.isFinite(asOf) ? asOf : null;
|
|
@@ -67,7 +67,7 @@ function fileIssueDigestCursorStore(home, now = Date.now) {
|
|
|
67
67
|
}
|
|
68
68
|
},
|
|
69
69
|
write(sessionId, asOf) {
|
|
70
|
-
if (!SESSION_ID.test(sessionId)) return;
|
|
70
|
+
if (!SESSION_ID$1.test(sessionId)) return;
|
|
71
71
|
try {
|
|
72
72
|
configuration.ensurePrivateDirectorySync(dir);
|
|
73
73
|
configuration.writePrivateFileSync(path.join(dir, `${sessionId}.json`), JSON.stringify({ asOf }));
|
|
@@ -125,6 +125,39 @@ function createIssueDigest(deps) {
|
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
+
const SESSION_ID = /^[a-zA-Z0-9_-]{1,128}$/;
|
|
129
|
+
const ENVELOPE = "[Very Happy team message ";
|
|
130
|
+
const BOARD_LINE = /^\[Briefing board\].*\n?/gm;
|
|
131
|
+
function teamLanguageMarkerPath(home, sessionId) {
|
|
132
|
+
return path.join(home, "teams", "language", `${sessionId}.json`);
|
|
133
|
+
}
|
|
134
|
+
function backfillLanguage(message) {
|
|
135
|
+
if (message.includes(ENVELOPE)) return exitNotice.TEAM_LANGUAGES.find((language) => message.includes(exitNotice.teamLanguageReminder(language))) ?? null;
|
|
136
|
+
return exitNotice.detectTeamUserLanguage(message.replace(BOARD_LINE, ""));
|
|
137
|
+
}
|
|
138
|
+
function createTeamLanguageBackfill(deps) {
|
|
139
|
+
const home = deps.home ?? configuration.configuration.happyHomeDir;
|
|
140
|
+
const scopeFile = deps.scopeFile ?? ((sid) => process.env.VH_TEAM_SCOPE_FILE || path.join(home, "teams", "scopes", `${sid}.json`));
|
|
141
|
+
return {
|
|
142
|
+
/** `source` is the message before other injections: their text says nothing about the user's language. */
|
|
143
|
+
decorate(message, source) {
|
|
144
|
+
const sid = deps.sessionId();
|
|
145
|
+
if (!sid || !SESSION_ID.test(sid)) return message;
|
|
146
|
+
const marker = teamLanguageMarkerPath(home, sid);
|
|
147
|
+
if (node_fs.existsSync(marker) || !node_fs.existsSync(scopeFile(sid)) || exitNotice.readTeamExitMarker(home, sid)) return message;
|
|
148
|
+
const hasRule = source.includes(exitNotice.TEAM_LANGUAGE_RULE_HEADING);
|
|
149
|
+
try {
|
|
150
|
+
configuration.ensurePrivateDirectorySync(path.join(home, "teams", "language"));
|
|
151
|
+
configuration.writePrivateFileSync(marker, JSON.stringify({ at: Date.now(), via: hasRule ? "prompt" : "backfill" }));
|
|
152
|
+
} catch (error) {
|
|
153
|
+
logger.logger.debug(`[teams] language rule not recorded, skipping it: ${String(error)}`);
|
|
154
|
+
return message;
|
|
155
|
+
}
|
|
156
|
+
return hasRule ? message : prompt.prependToMessage(message, exitNotice.teamLanguageRule(backfillLanguage(source)));
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
|
|
128
161
|
function createProjectInjector(deps) {
|
|
129
162
|
const timeoutMs = deps.timeoutMs ?? 1500;
|
|
130
163
|
const now = deps.now ?? Date.now;
|
|
@@ -136,6 +169,7 @@ function createProjectInjector(deps) {
|
|
|
136
169
|
const label = (id) => titles.get(id) ?? id.slice(0, 8);
|
|
137
170
|
const issueDigest = deps.issueDigest === void 0 ? createIssueDigest({ sessionId: deps.sessionId, metadata: () => deps.metadata?.() ?? null, timeoutMs }) : deps.issueDigest;
|
|
138
171
|
const teamExitNotice = deps.teamExitNotice === void 0 ? exitNotice.createTeamExitNotice({ sessionId: deps.sessionId }) : deps.teamExitNotice;
|
|
172
|
+
const teamLanguageBackfill = deps.teamLanguageBackfill === void 0 ? createTeamLanguageBackfill({ sessionId: deps.sessionId }) : deps.teamLanguageBackfill;
|
|
139
173
|
function withTimeout(p) {
|
|
140
174
|
return Promise.race([p, new Promise((_, reject) => setTimeout(() => reject(new Error("project injection timeout")), timeoutMs).unref?.())]);
|
|
141
175
|
}
|
|
@@ -209,7 +243,8 @@ function createProjectInjector(deps) {
|
|
|
209
243
|
if (typeof message !== "string") return message;
|
|
210
244
|
const withIssue = async (text) => {
|
|
211
245
|
const digested = issueDigest ? await issueDigest.decorate(text) : text;
|
|
212
|
-
|
|
246
|
+
const noticed = teamExitNotice ? teamExitNotice.decorate(digested) : digested;
|
|
247
|
+
return teamLanguageBackfill ? teamLanguageBackfill.decorate(noticed, message) : noticed;
|
|
213
248
|
};
|
|
214
249
|
const sid = deps.sessionId();
|
|
215
250
|
if (!sid || deps.client.isDisabled()) return await withIssue(message);
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import { c as configuration } from './configuration-
|
|
3
|
-
import { r as readSettings, g as readCredentials, d as readDaemonState } from './persistence-
|
|
4
|
-
import { a as checkIfDaemonRunningAndCleanupStaleState } from './controlClient-
|
|
2
|
+
import { c as configuration } from './configuration-H8q1sMwk.mjs';
|
|
3
|
+
import { r as readSettings, g as readCredentials, d as readDaemonState } from './persistence-dLgWDclq.mjs';
|
|
4
|
+
import { a as checkIfDaemonRunningAndCleanupStaleState } from './controlClient-D9DYqW02.mjs';
|
|
5
5
|
import { findAllHappyProcesses } from './doctor-GN5mPOn5.mjs';
|
|
6
6
|
import { statSync, realpathSync, existsSync, readdirSync } from 'node:fs';
|
|
7
7
|
import { isAbsolute, resolve, dirname, basename, delimiter, join } from 'node:path';
|
|
8
8
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
9
|
-
import { p as packageJson } from './package-
|
|
9
|
+
import { p as packageJson } from './package-CMmhJwSf.mjs';
|
|
10
10
|
import { s as shareableSettingsSummary, c as collectRuntimeReadiness, S as SUPPORTED_NODE_LABEL, r as resolveClaudeCredentialReadiness, a as toolProbeLabel, b as daemonReadiness, d as daemonEndpointsMatch } from './doctorReadiness-C208SMN9.mjs';
|
|
11
11
|
import { c as credentialRelayProblem } from './authRelay-DhQhkBvX.mjs';
|
|
12
12
|
import { d as deriveLocalCliUpdateSummary } from './cliUpdate-Y34VGe9Y.mjs';
|
|
13
13
|
import { spawnSync } from 'node:child_process';
|
|
14
|
-
import { p as piInstallCommand } from './piRunnerArgs-
|
|
14
|
+
import { p as piInstallCommand } from './piRunnerArgs-DuWYye4f.mjs';
|
|
15
15
|
|
|
16
16
|
function shareSafeProcessLine(process2) {
|
|
17
17
|
return `PID ${process2.pid}: command arguments hidden for privacy`;
|
|
@@ -311,8 +311,8 @@ ${typeLabels[type] || type}:`));
|
|
|
311
311
|
}
|
|
312
312
|
console.log(chalk.gray(" An external claude command is only needed for native terminal/mirror use."));
|
|
313
313
|
try {
|
|
314
|
-
const { resolveAgentHomesForCli } = await import('./agentHome-
|
|
315
|
-
const { describeAgentHome } = await import('./index-
|
|
314
|
+
const { resolveAgentHomesForCli } = await import('./agentHome-BuFxooEg.mjs');
|
|
315
|
+
const { describeAgentHome } = await import('./index-DCvq8Cfw.mjs');
|
|
316
316
|
const homes = await resolveAgentHomesForCli();
|
|
317
317
|
console.log(chalk.green(`\u2713 Claude config dir: ${describeAgentHome(homes.claudeConfigDir)}`));
|
|
318
318
|
console.log(chalk.green(`\u2713 Codex home: ${describeAgentHome(homes.codexHome)}`));
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
|
-
var configuration = require('./configuration-
|
|
5
|
-
var persistence = require('./persistence-
|
|
6
|
-
var controlClient = require('./controlClient-
|
|
4
|
+
var configuration = require('./configuration-Fx61b4MJ.cjs');
|
|
5
|
+
var persistence = require('./persistence-iiVFxhbt.cjs');
|
|
6
|
+
var controlClient = require('./controlClient-D04wXKoQ.cjs');
|
|
7
7
|
var doctor$1 = require('./doctor-CJpFhHoK.cjs');
|
|
8
8
|
var node_fs = require('node:fs');
|
|
9
9
|
var path = require('node:path');
|
|
10
10
|
var projectPath = require('./projectPath-C3ioB4Bu.cjs');
|
|
11
|
-
var _package = require('./package-
|
|
11
|
+
var _package = require('./package-BCJfNMlt.cjs');
|
|
12
12
|
var doctorReadiness = require('./doctorReadiness-Dl6yRQCy.cjs');
|
|
13
13
|
var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
14
14
|
var cliUpdate = require('./cliUpdate-DsKXPFYp.cjs');
|
|
15
15
|
var node_child_process = require('node:child_process');
|
|
16
|
-
var piRunnerArgs = require('./piRunnerArgs-
|
|
16
|
+
var piRunnerArgs = require('./piRunnerArgs-DxWxgOSZ.cjs');
|
|
17
17
|
|
|
18
18
|
function shareSafeProcessLine(process2) {
|
|
19
19
|
return `PID ${process2.pid}: command arguments hidden for privacy`;
|
|
@@ -313,8 +313,8 @@ ${typeLabels[type] || type}:`));
|
|
|
313
313
|
}
|
|
314
314
|
console.log(chalk.gray(" An external claude command is only needed for native terminal/mirror use."));
|
|
315
315
|
try {
|
|
316
|
-
const { resolveAgentHomesForCli } = await Promise.resolve().then(function () { return require('./agentHome-
|
|
317
|
-
const { describeAgentHome } = await Promise.resolve().then(function () { return require('./index-
|
|
316
|
+
const { resolveAgentHomesForCli } = await Promise.resolve().then(function () { return require('./agentHome-8wzmbm0H.cjs'); });
|
|
317
|
+
const { describeAgentHome } = await Promise.resolve().then(function () { return require('./index-bVMcFi7v.cjs'); });
|
|
318
318
|
const homes = await resolveAgentHomesForCli();
|
|
319
319
|
console.log(chalk.green(`\u2713 Claude config dir: ${describeAgentHome(homes.claudeConfigDir)}`));
|
|
320
320
|
console.log(chalk.green(`\u2713 Codex home: ${describeAgentHome(homes.codexHome)}`));
|
|
@@ -1,14 +1,14 @@
|
|
|
1
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 { c as 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-BKAKIZdy.mjs';
|
|
5
|
+
import { c as readPersistedSessions } from './persistence-dLgWDclq.mjs';
|
|
6
|
+
import { e as spawnDaemonSession } from './controlClient-D9DYqW02.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-BxLhHEhM.mjs';
|
|
8
|
+
import { r as readRemoteTranscript, s as sendRemoteMessage, d as deliverToSession, R as RemoteSessionOpsError } from './remoteSessionClient-CLuxs0_y.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-Dc38XmZv.mjs';
|
|
11
|
-
import { bootstrapAssistantHome, assistantPersonalMemoryPath } from './bootstrap-
|
|
11
|
+
import { bootstrapAssistantHome, assistantPersonalMemoryPath } from './bootstrap-Dn_VvHSt.mjs';
|
|
12
12
|
import { join, isAbsolute, normalize } from 'node:path';
|
|
13
13
|
|
|
14
14
|
const PERSONAL_MEMORY_SOFT_LIMIT_CHARS = 2e3;
|
|
@@ -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-DP35yx-C.cjs');
|
|
7
|
+
var persistence = require('./persistence-iiVFxhbt.cjs');
|
|
8
|
+
var controlClient = require('./controlClient-D04wXKoQ.cjs');
|
|
9
|
+
var sessionOps = require('./sessionOps-BEVzE38e.cjs');
|
|
10
|
+
var remoteSessionClient = require('./remoteSessionClient-DX-60nto.cjs');
|
|
11
11
|
var ids = require('./ids-B6ZC0HGt.cjs');
|
|
12
12
|
var terminals = require('./terminals-dK3Lrjfp.cjs');
|
|
13
|
-
var bootstrap = require('./bootstrap-
|
|
13
|
+
var bootstrap = require('./bootstrap-3ti7LXMz.cjs');
|
|
14
14
|
var path = require('node:path');
|
|
15
15
|
|
|
16
16
|
const PERSONAL_MEMORY_SOFT_LIMIT_CHARS = 2e3;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
2
|
-
import { i as isDaemonRunningCurrentlyInstalledHappyVersion, a as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-
|
|
3
|
-
import { s as spawnHappyCLI } from './spawnHappyCLI-
|
|
4
|
-
import { d as readDaemonState } from './persistence-
|
|
5
|
-
import { c as configuration } from './configuration-
|
|
1
|
+
import { l as logger } from './logger-BKAKIZdy.mjs';
|
|
2
|
+
import { i as isDaemonRunningCurrentlyInstalledHappyVersion, a as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-D9DYqW02.mjs';
|
|
3
|
+
import { s as spawnHappyCLI } from './spawnHappyCLI-EvPb0jB3.mjs';
|
|
4
|
+
import { d as readDaemonState } from './persistence-dLgWDclq.mjs';
|
|
5
|
+
import { c as configuration } from './configuration-H8q1sMwk.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-DP35yx-C.cjs');
|
|
4
|
+
var controlClient = require('./controlClient-D04wXKoQ.cjs');
|
|
5
|
+
var spawnHappyCLI = require('./spawnHappyCLI-Bf_N42fi.cjs');
|
|
6
|
+
var persistence = require('./persistence-iiVFxhbt.cjs');
|
|
7
|
+
var configuration = require('./configuration-Fx61b4MJ.cjs');
|
|
8
8
|
var doctorReadiness = require('./doctorReadiness-Dl6yRQCy.cjs');
|
|
9
9
|
|
|
10
10
|
function extractNoSandboxFlag(args) {
|
|
@@ -2,10 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
var node_fs = require('node:fs');
|
|
4
4
|
var path = require('node:path');
|
|
5
|
-
var configuration = require('./configuration-
|
|
6
|
-
var logger = require('./logger-
|
|
5
|
+
var configuration = require('./configuration-Fx61b4MJ.cjs');
|
|
6
|
+
var logger = require('./logger-DP35yx-C.cjs');
|
|
7
7
|
var prompt = require('./prompt-Bof2aQkI.cjs');
|
|
8
8
|
|
|
9
|
+
const TEAM_LANGUAGES = [
|
|
10
|
+
{ name: "Chinese (\u4E2D\u6587)", code: "zh" },
|
|
11
|
+
{ name: "Japanese (\u65E5\u672C\u8A9E)", code: "ja" },
|
|
12
|
+
{ name: "Korean (\uD55C\uAD6D\uC5B4)", code: "ko" }
|
|
13
|
+
];
|
|
9
14
|
const PATH = /[\w.\-~@:…]*[\/\\][\w.\-~@:…\/\\]*/g;
|
|
10
15
|
const IDENTIFIER = /\b[\w$]*(?:[a-z][A-Z]|_|\.[A-Za-z]|\d[A-Za-z]|[A-Za-z]\d)[\w$.]*\b/g;
|
|
11
16
|
function detectTeamUserLanguage(text) {
|
|
@@ -21,10 +26,10 @@ function detectTeamUserLanguage(text) {
|
|
|
21
26
|
if (han >= 4 && han >= words) return { name: "Chinese (\u4E2D\u6587)", code: "zh" };
|
|
22
27
|
return null;
|
|
23
28
|
}
|
|
29
|
+
const TEAM_LANGUAGE_RULE_HEADING = "## Language\nThe user works in ";
|
|
24
30
|
function teamLanguageRule(language) {
|
|
25
31
|
const target = language ? language.name : "the language the user wrote the goal in";
|
|
26
|
-
return
|
|
27
|
-
The user works in ${target}. Write everything people read in ${language ? language.name : "that language"}: replies, notes between tool calls, task goals, messages, submissions and reports. Think in it too. The team instructions, tool texts and message envelopes are English only for maintenance; never switch language because of them. Code, commands, identifiers and quoted text stay as they are.`;
|
|
32
|
+
return `${TEAM_LANGUAGE_RULE_HEADING}${target}. Write everything people read in ${language ? language.name : "that language"}: replies, notes between tool calls, task goals, messages, submissions and reports. Think in it too. The team instructions, tool texts and message envelopes are English only for maintenance; never switch language because of them. Code, commands, identifiers and quoted text stay as they are.`;
|
|
28
33
|
}
|
|
29
34
|
function teamLanguageReminder(language) {
|
|
30
35
|
return language ? `Reply in ${language.name}, the user's language.` : "Reply in the user's language, not this envelope's.";
|
|
@@ -78,6 +83,8 @@ function createTeamExitNotice(deps) {
|
|
|
78
83
|
};
|
|
79
84
|
}
|
|
80
85
|
|
|
86
|
+
exports.TEAM_LANGUAGES = TEAM_LANGUAGES;
|
|
87
|
+
exports.TEAM_LANGUAGE_RULE_HEADING = TEAM_LANGUAGE_RULE_HEADING;
|
|
81
88
|
exports.createTeamExitNotice = createTeamExitNotice;
|
|
82
89
|
exports.detectTeamUserLanguage = detectTeamUserLanguage;
|
|
83
90
|
exports.readTeamExitMarker = readTeamExitMarker;
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
-
import { c as configuration, w as writePrivateFileSync } from './configuration-
|
|
4
|
-
import { l as logger } from './logger-
|
|
3
|
+
import { c as configuration, w as writePrivateFileSync } from './configuration-H8q1sMwk.mjs';
|
|
4
|
+
import { l as logger } from './logger-BKAKIZdy.mjs';
|
|
5
5
|
import { p as prependToMessage } from './prompt-QHuFx9j6.mjs';
|
|
6
6
|
|
|
7
|
+
const TEAM_LANGUAGES = [
|
|
8
|
+
{ name: "Chinese (\u4E2D\u6587)", code: "zh" },
|
|
9
|
+
{ name: "Japanese (\u65E5\u672C\u8A9E)", code: "ja" },
|
|
10
|
+
{ name: "Korean (\uD55C\uAD6D\uC5B4)", code: "ko" }
|
|
11
|
+
];
|
|
7
12
|
const PATH = /[\w.\-~@:…]*[\/\\][\w.\-~@:…\/\\]*/g;
|
|
8
13
|
const IDENTIFIER = /\b[\w$]*(?:[a-z][A-Z]|_|\.[A-Za-z]|\d[A-Za-z]|[A-Za-z]\d)[\w$.]*\b/g;
|
|
9
14
|
function detectTeamUserLanguage(text) {
|
|
@@ -19,10 +24,10 @@ function detectTeamUserLanguage(text) {
|
|
|
19
24
|
if (han >= 4 && han >= words) return { name: "Chinese (\u4E2D\u6587)", code: "zh" };
|
|
20
25
|
return null;
|
|
21
26
|
}
|
|
27
|
+
const TEAM_LANGUAGE_RULE_HEADING = "## Language\nThe user works in ";
|
|
22
28
|
function teamLanguageRule(language) {
|
|
23
29
|
const target = language ? language.name : "the language the user wrote the goal in";
|
|
24
|
-
return
|
|
25
|
-
The user works in ${target}. Write everything people read in ${language ? language.name : "that language"}: replies, notes between tool calls, task goals, messages, submissions and reports. Think in it too. The team instructions, tool texts and message envelopes are English only for maintenance; never switch language because of them. Code, commands, identifiers and quoted text stay as they are.`;
|
|
30
|
+
return `${TEAM_LANGUAGE_RULE_HEADING}${target}. Write everything people read in ${language ? language.name : "that language"}: replies, notes between tool calls, task goals, messages, submissions and reports. Think in it too. The team instructions, tool texts and message envelopes are English only for maintenance; never switch language because of them. Code, commands, identifiers and quoted text stay as they are.`;
|
|
26
31
|
}
|
|
27
32
|
function teamLanguageReminder(language) {
|
|
28
33
|
return language ? `Reply in ${language.name}, the user's language.` : "Reply in the user's language, not this envelope's.";
|
|
@@ -76,4 +81,4 @@ function createTeamExitNotice(deps) {
|
|
|
76
81
|
};
|
|
77
82
|
}
|
|
78
83
|
|
|
79
|
-
export { teamLanguageRule as a,
|
|
84
|
+
export { TEAM_LANGUAGE_RULE_HEADING as T, teamLanguageRule as a, TEAM_LANGUAGES as b, teamLanguageReminder as c, detectTeamUserLanguage as d, createTeamExitNotice as e, teamExitMarkerPath as f, teamOwnerText as g, readTeamExitMarker as r, teamExitedMessage as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var client = require('./client-
|
|
3
|
+
var client = require('./client-wMlUPnrV.cjs');
|
|
4
4
|
|
|
5
5
|
const MESSAGES = {
|
|
6
6
|
issue_status_forbidden: "Agents may only set in_progress, in_review or blocked. Only the owner sets done or cancelled; move it to in_review with a summary instead.",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { I as IssuesUnsupportedError, a as IssueRequestError } from './client-
|
|
1
|
+
import { I as IssuesUnsupportedError, a as IssueRequestError } from './client-m-K1b6Qa.mjs';
|
|
2
2
|
|
|
3
3
|
const MESSAGES = {
|
|
4
4
|
issue_status_forbidden: "Agents may only set in_progress, in_review or blocked. Only the owner sets done or cancelled; move it to in_review with a summary instead.",
|
|
@@ -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-Bf_N42fi.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-Fx61b4MJ.cjs');
|
|
10
|
+
var localHappyAgentAuth = require('./localHappyAgentAuth-DQRWBUxQ.cjs');
|
|
11
11
|
require('cross-spawn');
|
|
12
12
|
require('node:path');
|
|
13
13
|
require('./projectPath-C3ioB4Bu.cjs');
|
|
14
14
|
require('path');
|
|
15
15
|
require('url');
|
|
16
|
-
require('./logger-
|
|
16
|
+
require('./logger-DP35yx-C.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-BCJfNMlt.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-EvPb0jB3.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-H8q1sMwk.mjs';
|
|
8
|
+
import { g as getLocalHappyAgentCredentialPath, r as readLocalHappyAgentCredentials } from './localHappyAgentAuth-DgLh3xzW.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-BKAKIZdy.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-CMmhJwSf.mjs';
|
|
20
20
|
import 'node:fs/promises';
|
|
21
21
|
|
|
22
22
|
const ResumableMetadataSchema = z.object({
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { q as query } from './query-
|
|
1
|
+
import { q as query } from './query-CFdlRD7b.mjs';
|
|
2
2
|
export { AbortError } from '@anthropic-ai/claude-agent-sdk';
|
|
3
3
|
import './promptCacheTtl-Ce0TVbrx.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:os';
|
|
6
6
|
import 'node:path';
|
|
7
|
-
import './logger-
|
|
7
|
+
import './logger-BKAKIZdy.mjs';
|
|
8
8
|
import 'chalk';
|
|
9
9
|
import 'node:util';
|
|
10
|
-
import './configuration-
|
|
11
|
-
import './package-
|
|
10
|
+
import './configuration-H8q1sMwk.mjs';
|
|
11
|
+
import './package-CMmhJwSf.mjs';
|
|
12
12
|
import 'node:fs/promises';
|
|
13
13
|
import './processTreeSnapshot-fuwxC0fr.mjs';
|
|
14
14
|
import 'node:child_process';
|