very-happy-cli 0.2.160 → 0.2.162
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-mzv8Dhba.mjs → AcpBackend--TmFHgRH.mjs} +3 -3
- package/dist/{AcpBackend-Bm2rdke8.cjs → AcpBackend-9asD_DL7.cjs} +3 -3
- package/dist/{AcpSessionManager-CoMWFVw3.mjs → AcpSessionManager-BSIBnWUb.mjs} +1 -1
- package/dist/{AcpSessionManager-BAY1Pggx.cjs → AcpSessionManager-BvIuBzoO.cjs} +1 -1
- package/dist/{BasePermissionHandler-CFHAxumV.cjs → BasePermissionHandler-D4B-NNu2.cjs} +1 -1
- package/dist/{BasePermissionHandler-m3WVholL.mjs → BasePermissionHandler-DUBySe0f.mjs} +1 -1
- package/dist/{BaseReasoningProcessor-CYrKBXGm.mjs → BaseReasoningProcessor-9TybUGTq.mjs} +1 -1
- package/dist/{BaseReasoningProcessor-BFa9_rZA.cjs → BaseReasoningProcessor-CqLl-ikP.cjs} +1 -1
- package/dist/{agentHome-CboCeKWq.cjs → agentHome-BohNUYnE.cjs} +4 -4
- package/dist/{agentHome-Dj1C43aJ.mjs → agentHome-DQrq_FG1.mjs} +4 -4
- package/dist/{api-CgundNNX.cjs → api-CQnLOqRS.cjs} +10 -10
- package/dist/{api-CLMUr-SX.mjs → api-D57dsd6_.mjs} +10 -10
- package/dist/{apiMachine-B9dLW_p5.mjs → apiMachine-78Aqzg--.mjs} +21 -14
- package/dist/{apiMachine-Bn8482VM.cjs → apiMachine-fFFaWxYy.cjs} +33 -26
- package/dist/{assistantTools-BTqPnlFl.cjs → assistantTools-CwESq24n.cjs} +6 -6
- package/dist/{assistantTools-D6tuc6o4.mjs → assistantTools-mEz6uNqL.mjs} +6 -6
- package/dist/{attachmentContent-DpiTJZb4.cjs → attachmentContent-GHOk6Muq.cjs} +2 -2
- package/dist/{attachmentContent-_kxRznNf.mjs → attachmentContent-s1xPha4Q.mjs} +2 -2
- package/dist/{attachmentLimits-yba1uHFO.mjs → attachmentLimits-D5pgmASK.mjs} +1 -1
- package/dist/{attachmentLimits-CzVrqgLR.cjs → attachmentLimits-DzlBPyJP.cjs} +1 -1
- package/dist/{auth-BDOVh5h5.cjs → auth-B8EagV6G.cjs} +8 -8
- package/dist/{auth-PYHZQNPp.mjs → auth-BOaHWquu.mjs} +8 -8
- package/dist/{auth-ba4WMYrN.cjs → auth-BbSdXMQ_.cjs} +5 -5
- package/dist/{auth-Cwutmdsa.mjs → auth-C8V7-oUT.mjs} +5 -5
- package/dist/{auto-BOX_fgmR.cjs → auto-Bw_h0yVc.cjs} +15 -14
- package/dist/{auto-BXu14yP_.mjs → auto-CWDOX35m.mjs} +15 -14
- package/dist/{bootstrap-hxXPCFMx.mjs → bootstrap-BKmsYSwh.mjs} +2 -2
- package/dist/{bootstrap-B5G1TijC.cjs → bootstrap-DvZjEa9_.cjs} +2 -2
- package/dist/{browser-Y6Bl8L_O.cjs → browser-CBZj-1Wx.cjs} +1 -1
- package/dist/{browser-jh2P0UVZ.mjs → browser-CrMAr5fI.mjs} +1 -1
- package/dist/{claudeLocal-CRGG4Pea.cjs → claudeLocal-Bpw-u9et.cjs} +5 -5
- package/dist/{claudeLocal-BaY4fZKi.mjs → claudeLocal-dhdlcQ6F.mjs} +5 -5
- package/dist/{claudeLocalLauncher-D4T7MTqd.mjs → claudeLocalLauncher-BFfGT4eY.mjs} +10 -10
- package/dist/{claudeLocalLauncher-DyEbVzUN.cjs → claudeLocalLauncher-DWFWuLhY.cjs} +10 -10
- package/dist/{codexThreadFork-BH9IZPqD.cjs → claudeSessionFork-D9-mANmu.cjs} +1 -137
- package/dist/{codexThreadFork-slzAseLx.mjs → claudeSessionFork-_DUrXaqd.mjs} +2 -134
- package/dist/{client-BPNbmtvO.cjs → client-CVQJWqjx.cjs} +2 -2
- package/dist/{client-3Ac-O4pw.cjs → client-DiBTHWNU.cjs} +3 -3
- package/dist/{client-CeGKqqcJ.mjs → client-Dk7x-s-O.mjs} +3 -3
- package/dist/{client-ClR0K8zX.mjs → client-DwqHDsLb.mjs} +2 -2
- package/dist/codex/happyMcpStdioBridge.cjs +15 -15
- package/dist/codex/happyMcpStdioBridge.mjs +15 -15
- package/dist/{codexAppServerClient-I3teiV-N.mjs → codexAppServerClient-C2ybs2mZ.mjs} +2 -2
- package/dist/{codexAppServerClient-q2FjnRcK.cjs → codexAppServerClient-DlKv5TjG.cjs} +2 -2
- package/dist/{codexCommand-4zcccIoq.cjs → codexCommand-4vLE31fj.cjs} +45 -40
- package/dist/{codexCommand-Cc9gcbdX.mjs → codexCommand-DnmFr9Qx.mjs} +45 -40
- package/dist/codexThreadFork-DNekT4nQ.cjs +138 -0
- package/dist/codexThreadFork-R76RU5H0.mjs +133 -0
- package/dist/{config-Ci9Kpgwa.cjs → config-Btd4B05_.cjs} +3 -3
- package/dist/{config-CTx_jb-C.mjs → config-CSOG_ZcP.mjs} +3 -3
- package/dist/{configuration-RfeNjFmd.mjs → configuration-A5gW_0GE.mjs} +1 -1
- package/dist/{configuration-BSYpcPwE.cjs → configuration-UsI0sxEv.cjs} +1 -1
- package/dist/{connect-C2CiOUFs.cjs → connect-C9yxp8Om.cjs} +13 -13
- package/dist/{connect-BpOdzNbE.mjs → connect-DWYj8LP_.mjs} +13 -13
- package/dist/{context-DsDr6E2t.cjs → context-0FjjA4vJ.cjs} +1 -1
- package/dist/{context-H0Bcb9S_.mjs → context-BXnxalWW.mjs} +1 -1
- package/dist/{controlClient-Bcwv3D21.cjs → controlClient-BXktrQ4z.cjs} +3 -3
- package/dist/{controlClient-BGbDcgWS.mjs → controlClient-CYzHrh3e.mjs} +3 -3
- package/dist/{createSessionMetadata-CVVkGjxV.mjs → createSessionMetadata-Dyg33ZlU.mjs} +2 -2
- package/dist/{createSessionMetadata-BJxEnM-o.cjs → createSessionMetadata-EX1eAlHx.cjs} +2 -2
- package/dist/{deterministicJson-CzkFJWw1.mjs → deterministicJson-DiR7EOMO.mjs} +9 -9
- package/dist/{deterministicJson-C5CYTVpm.cjs → deterministicJson-eha_oMZ2.cjs} +9 -9
- package/dist/{doctor-D2YJ-Yn2.cjs → doctor-DunLBgVi.cjs} +6 -6
- package/dist/{doctor-DOvByjbk.mjs → doctor-FuCvKdRa.mjs} +6 -6
- package/dist/{ensureDaemonRunning-BCwNrMyv.cjs → ensureDaemonRunning-B4dZFmUy.cjs} +5 -5
- package/dist/{ensureDaemonRunning-Dqa2pOjY.mjs → ensureDaemonRunning-EZkb-CAF.mjs} +5 -5
- package/dist/{handleResumeCommand-C2cKchpX.cjs → handleResumeCommand-CKMIw4pE.cjs} +5 -5
- package/dist/{handleResumeCommand-BvXYf5El.mjs → handleResumeCommand-CsXendKb.mjs} +5 -5
- package/dist/{index-DMZqWwsP.mjs → index-9L39wqYR.mjs} +37 -37
- package/dist/{index-qdS1friN.mjs → index-BBg9j0XK.mjs} +8 -1
- package/dist/{index-B6pAdvJx.cjs → index-BOhgL3rh.cjs} +36 -36
- package/dist/{index-Bu5Zi_a9.cjs → index-CZWAiydF.cjs} +4 -4
- package/dist/{index-DVkMGPyS.mjs → index-CvXcVQ06.mjs} +3 -3
- package/dist/{index-DA7yINuk.cjs → index-DJ-oV52i.cjs} +8 -1
- package/dist/{index-DKLU_fD0.mjs → index-DK2JpTJf.mjs} +4 -4
- package/dist/{index-DDeHXrIX.cjs → index-DRhWHEuW.cjs} +3 -3
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-CFY3tYtJ.mjs → install-B2duVo9a.mjs} +3 -3
- package/dist/{install-BgoC2e_2.cjs → install-C8WyZI9K.cjs} +3 -3
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +5 -0
- package/dist/lib.d.mts +5 -0
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-CeEt442o.mjs → lidState-CigXWxhe.mjs} +1 -1
- package/dist/{lidState-BeDfxxEX.cjs → lidState-Ds-6ytZV.cjs} +1 -1
- package/dist/{localHappyAgentAuth-C-HQyiv6.mjs → localHappyAgentAuth-CaCyKzYp.mjs} +1 -1
- package/dist/{localHappyAgentAuth-D6rFhaoc.cjs → localHappyAgentAuth-l0Na-5Ys.cjs} +1 -1
- package/dist/{logger-CS0mw3fa.cjs → logger-7ucWm9wp.cjs} +2 -2
- package/dist/{logger-6HYUEXNk.mjs → logger-CGE4C8ho.mjs} +2 -2
- package/dist/{machineMetadata-DyDbODYd.cjs → machineMetadata-lMPtpF16.cjs} +3 -3
- package/dist/{machineMetadata-oOzBfDfs.mjs → machineMetadata-ue1nkowa.mjs} +3 -3
- package/dist/{main-BwNIAI1A.mjs → main-3fIFXD-t.mjs} +44 -44
- package/dist/{main-BkxJP6JQ.cjs → main-CFI0datL.cjs} +44 -44
- package/dist/{mcp-B1A4I3TK.mjs → mcp-DARQBZ7l.mjs} +14 -14
- package/dist/{mcp-Hszd7qpS.cjs → mcp-DfxLAc1G.cjs} +14 -14
- package/dist/{package-BwMrPwqH.cjs → package-D1A-8ZJy.cjs} +7 -7
- package/dist/{package-BhaKlnxz.mjs → package-DQsvY1XN.mjs} +7 -7
- package/dist/{peerTools-BTqw97Gb.mjs → peerTools-D19hhSQF.mjs} +4 -4
- package/dist/{peerTools-BvKtHXj8.cjs → peerTools-DLwNaEEV.cjs} +4 -4
- package/dist/{permissionMode-Cr5JCbB7.mjs → permissionMode-CH4FoZfU.mjs} +1 -1
- package/dist/{persistence-HGW_ZVs9.mjs → persistence-Cw8aLoyL.mjs} +3 -3
- package/dist/{persistence-yKTH3-5X.cjs → persistence-i0nQMLlk.cjs} +3 -3
- package/dist/{piRunnerArgs-BuX1UFWy.mjs → piRunnerArgs-58t454gw.mjs} +1 -1
- package/dist/{piRunnerArgs-BNloJCCg.cjs → piRunnerArgs-BUyxPxjZ.cjs} +1 -1
- package/dist/{piRuntime-CSGkwCKQ.mjs → piRuntime-DVPixFjl.mjs} +1 -1
- package/dist/{piRuntime-C_H7MJCM.cjs → piRuntime-Dff73XCb.cjs} +1 -1
- package/dist/{piTerminal-DNCZ6yTM.cjs → piTerminal-Dz1RrO70.cjs} +16 -16
- package/dist/{piTerminal-C8a1OrNQ.mjs → piTerminal-gHWFAyzq.mjs} +16 -16
- package/dist/{registerCommonHandlers-DskirN-_.cjs → registerCommonHandlers-CMROPdJz.cjs} +2 -2
- package/dist/{registerCommonHandlers-Ccvsz7Ou.mjs → registerCommonHandlers-Ckv5boQI.mjs} +2 -2
- package/dist/{registerKillSessionHandler-DZeLXWcB.cjs → registerKillSessionHandler-CA9-oelM.cjs} +19 -10
- package/dist/{registerKillSessionHandler-GYvHdipX.mjs → registerKillSessionHandler-Cll4-o8Y.mjs} +19 -10
- package/dist/{remoteSessionClient-CYnXRynE.mjs → remoteSessionClient-BMjsbuBh.mjs} +5 -5
- package/dist/{remoteSessionClient-B0LraSB9.cjs → remoteSessionClient-DX9jHLeW.cjs} +5 -5
- package/dist/{run-CJzxoHVh.cjs → run-CjbGo2wb.cjs} +36 -32
- package/dist/{run-D3ifupU3.mjs → run-CrunzDlt.mjs} +35 -31
- package/dist/{runClaude-Da3RirzE.cjs → runClaude-KN-4Y4LH.cjs} +184 -140
- package/dist/{runClaude-Ba01qT-u.mjs → runClaude-WDBWRtnF.mjs} +185 -141
- package/dist/{runClaudeDeps-DOzEBMls.cjs → runClaudeDeps-DW-8lnHv.cjs} +821 -125
- package/dist/{runClaudeDeps-DOt79DjU.mjs → runClaudeDeps-QaEx8y5r.mjs} +811 -129
- package/dist/{runGemini-DSr9LIxL.cjs → runGemini-Djmwjdv1.cjs} +32 -32
- package/dist/{runGemini-BGeTz57m.mjs → runGemini-Nf6SKBpw.mjs} +32 -32
- package/dist/{runOpenClaw-CogSedIc.mjs → runOpenClaw-9nHtmYbN.mjs} +18 -18
- package/dist/{runOpenClaw-B1mTxN35.cjs → runOpenClaw-CAqP5KFH.cjs} +18 -18
- package/dist/{sandbox-CG7IyDTU.cjs → sandbox-C8Dd8GPM.cjs} +4 -4
- package/dist/{sandbox-DTe6d54R.mjs → sandbox-SP0THMt0.mjs} +4 -4
- package/dist/selfCheck-7FaZtVu2.mjs +84 -0
- package/dist/{selfCheck-Dc-mNSLb.cjs → selfCheck-D9ZXrK7h.cjs} +34 -34
- package/dist/{send-CBXJKc6O.mjs → send-DOx9aQsx.mjs} +8 -8
- package/dist/{send-B7J_eaG3.cjs → send-LPk6Q5HI.cjs} +8 -8
- package/dist/{server-DcVBv04l.mjs → server-BZNi8Hq_.mjs} +4 -4
- package/dist/{server-CZTP_iOn.cjs → server-CxT8jNyn.cjs} +6 -6
- package/dist/{sessionLock-D-EG2CfG.mjs → sessionLock-CfLqJfeI.mjs} +2 -2
- package/dist/{sessionLock-Bys1PNSo.cjs → sessionLock-y9rnA4LK.cjs} +2 -2
- package/dist/{sessionModeFile-RSm0NQkH.cjs → sessionModeFile-B5YeoQJh.cjs} +1 -1
- package/dist/{sessionModeFile-DMl3dw3r.mjs → sessionModeFile-BKxgNH3P.mjs} +1 -1
- package/dist/{sessionOps-SuHW8Dfe.mjs → sessionOps-CdwVPSZz.mjs} +4 -4
- package/dist/{sessionOps-Dn8z85h_.cjs → sessionOps-GsELm2PZ.cjs} +4 -4
- package/dist/{sessionScanner-CX3onqXh.mjs → sessionScanner-Cdukzo70.mjs} +3 -3
- package/dist/{sessionScanner-BOrGjMXL.cjs → sessionScanner-aLEv7mD3.cjs} +3 -3
- package/dist/{sessions-D74aJbhL.cjs → sessions-CfG4WGN0.cjs} +9 -9
- package/dist/{sessions-BEG_HTSi.mjs → sessions-Dne-OiRL.mjs} +9 -9
- package/dist/{setupOfflineReconnection-ByElY60m.cjs → setupOfflineReconnection-CFwltTcP.cjs} +2 -2
- package/dist/{setupOfflineReconnection-DpvWTt69.mjs → setupOfflineReconnection-DiQma2Cc.mjs} +2 -2
- package/dist/{spawn-DgR0RKRs.cjs → spawn-BI_sdgWs.cjs} +24 -15
- package/dist/{spawn-B7yro0b2.mjs → spawn-DkgP2BGF.mjs} +22 -14
- package/dist/{spawnAgents-DZzZ9jMI.mjs → spawnAgents-Y1LjnCt9.mjs} +1 -1
- package/dist/{spawnAgents-BGQiEF-w.cjs → spawnAgents-iSu1Xzs5.cjs} +1 -1
- package/dist/{spawnHappyCLI-B2H5s4B_.mjs → spawnHappyCLI-9mx4lPxh.mjs} +1 -1
- package/dist/{spawnHappyCLI-DBhwZT7O.cjs → spawnHappyCLI-BRdx0sAX.cjs} +1 -1
- package/dist/{startFileWatcher-B4VsLgjD.cjs → startFileWatcher-C2HC2_Dg.cjs} +1 -1
- package/dist/{startFileWatcher-DErVWZE4.mjs → startFileWatcher-COD5UKNs.mjs} +1 -1
- package/dist/{streamRelay-FPVbHpbM.mjs → streamRelay-BLgU9X3R.mjs} +1 -1
- package/dist/{streamRelay-BiKw59Cc.cjs → streamRelay-DnObXZZj.cjs} +1 -1
- package/dist/{sync-C8gyQFMc.mjs → sync-BpLasLu2.mjs} +1 -1
- package/dist/{sync-DccIKZ5_.cjs → sync-Dj92ZJ8Y.cjs} +1 -1
- package/dist/{systemPrompt-BwTPWfMu.cjs → systemPrompt-CyEz_IfR.cjs} +2 -2
- package/dist/{systemPrompt-DX521JJz.mjs → systemPrompt-DsQoUgQw.mjs} +2 -2
- package/dist/{teams-C32F1hqd.mjs → teams-BETNMjpZ.mjs} +6 -6
- package/dist/{teams-Dl8g8kTI.cjs → teams-Ctx9zXn4.cjs} +6 -6
- package/dist/{time-DCuTyook.cjs → time-CLwVAz6s.cjs} +1 -1
- package/dist/{time-D0XyHOid.mjs → time-CVvxdEDh.mjs} +1 -1
- package/dist/{titleGenerator-CQ8CoGhg.mjs → titleGenerator-B4AW3dLr.mjs} +12 -2
- package/dist/{titleGenerator-ChzMJsyg.cjs → titleGenerator-FDpdizn7.cjs} +13 -3
- package/dist/{todo-BvUOTa8G.cjs → todo-C3tyFeq1.cjs} +6 -6
- package/dist/{todo-CZ6cFrrn.mjs → todo-Jk4Vs7hP.mjs} +6 -6
- package/dist/{tools-BZtHF_qQ.mjs → tools-BA1qkiV1.mjs} +2 -2
- package/dist/{tools-DQj0AeLk.cjs → tools-CGxq3I52.cjs} +2 -2
- package/dist/{tools-Be3AoAwu.cjs → tools-O5beDK-s.cjs} +1 -1
- package/dist/{tools-DkluDcG4.mjs → tools-_kFe4m_l.mjs} +1 -1
- package/dist/{uninstall-BkLzaJ6I.mjs → uninstall-C_mdAZlm.mjs} +3 -3
- package/dist/{uninstall-x-TUtf5H.cjs → uninstall-DHKF90lo.cjs} +3 -3
- package/package.json +7 -7
- package/scripts/session_hook_forwarder.cjs +9 -2
- package/dist/selfCheck-C9mVrQwf.mjs +0 -84
|
@@ -3,7 +3,7 @@ import { createRequire } from 'node:module';
|
|
|
3
3
|
import { T as TITLE_PROMPT_PREFIX } from './oneShotPrompts-DT4p6RNd.mjs';
|
|
4
4
|
import { randomUUID } from 'node:crypto';
|
|
5
5
|
import { resolve, join } from 'node:path';
|
|
6
|
-
import { l as logger } from './logger-
|
|
6
|
+
import { l as logger } from './logger-CGE4C8ho.mjs';
|
|
7
7
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
8
8
|
|
|
9
9
|
const MAX_PROMPT_SAMPLE_CHARS = 500;
|
|
@@ -57,6 +57,16 @@ function sanitizeTitle(raw) {
|
|
|
57
57
|
if (GENERIC_TITLES.has(title.toLowerCase().replace(/\s+/g, " ").trim())) return null;
|
|
58
58
|
return title;
|
|
59
59
|
}
|
|
60
|
+
const ONE_SHOT_ARGS = [
|
|
61
|
+
"-p",
|
|
62
|
+
"--model",
|
|
63
|
+
"haiku",
|
|
64
|
+
"--strict-mcp-config",
|
|
65
|
+
"--settings",
|
|
66
|
+
'{"disableAllHooks":true}',
|
|
67
|
+
"--no-session-persistence",
|
|
68
|
+
"--disable-slash-commands"
|
|
69
|
+
];
|
|
60
70
|
function runClaudeOneShot(binary, prompt) {
|
|
61
71
|
return new Promise((resolve2) => {
|
|
62
72
|
let settled = false;
|
|
@@ -67,7 +77,7 @@ function runClaudeOneShot(binary, prompt) {
|
|
|
67
77
|
};
|
|
68
78
|
let child;
|
|
69
79
|
try {
|
|
70
|
-
child = spawn(binary, [
|
|
80
|
+
child = spawn(binary, [...ONE_SHOT_ARGS, prompt], {
|
|
71
81
|
stdio: ["ignore", "pipe", "ignore"],
|
|
72
82
|
// HAPPY_MANAGED=1: this claude is run BY happy. The user-wide
|
|
73
83
|
// terminal-mirror SessionStart hook exits on it, so a one-shot
|
|
@@ -5,7 +5,7 @@ var module$1 = require('node:module');
|
|
|
5
5
|
var oneShotPrompts = require('./oneShotPrompts-CL0dip9C.cjs');
|
|
6
6
|
var node_crypto = require('node:crypto');
|
|
7
7
|
var path = require('node:path');
|
|
8
|
-
var logger = require('./logger-
|
|
8
|
+
var logger = require('./logger-7ucWm9wp.cjs');
|
|
9
9
|
var projectPath = require('./projectPath-ChLhdOyt.cjs');
|
|
10
10
|
|
|
11
11
|
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
@@ -14,7 +14,7 @@ const MAX_TITLE_CHARS = 60;
|
|
|
14
14
|
const GENERATION_TIMEOUT_MS = 3e4;
|
|
15
15
|
function resolveClaudeBinary() {
|
|
16
16
|
try {
|
|
17
|
-
const require$1 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('titleGenerator-
|
|
17
|
+
const require$1 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('titleGenerator-FDpdizn7.cjs', document.baseURI).href)));
|
|
18
18
|
const utilsPath = path.resolve(path.join(projectPath.projectPath(), "scripts", "claude_version_utils.cjs"));
|
|
19
19
|
const { getClaudeCliPath } = require$1(utilsPath);
|
|
20
20
|
const path$1 = getClaudeCliPath();
|
|
@@ -60,6 +60,16 @@ function sanitizeTitle(raw) {
|
|
|
60
60
|
if (GENERIC_TITLES.has(title.toLowerCase().replace(/\s+/g, " ").trim())) return null;
|
|
61
61
|
return title;
|
|
62
62
|
}
|
|
63
|
+
const ONE_SHOT_ARGS = [
|
|
64
|
+
"-p",
|
|
65
|
+
"--model",
|
|
66
|
+
"haiku",
|
|
67
|
+
"--strict-mcp-config",
|
|
68
|
+
"--settings",
|
|
69
|
+
'{"disableAllHooks":true}',
|
|
70
|
+
"--no-session-persistence",
|
|
71
|
+
"--disable-slash-commands"
|
|
72
|
+
];
|
|
63
73
|
function runClaudeOneShot(binary, prompt) {
|
|
64
74
|
return new Promise((resolve2) => {
|
|
65
75
|
let settled = false;
|
|
@@ -70,7 +80,7 @@ function runClaudeOneShot(binary, prompt) {
|
|
|
70
80
|
};
|
|
71
81
|
let child;
|
|
72
82
|
try {
|
|
73
|
-
child = node_child_process.spawn(binary, [
|
|
83
|
+
child = node_child_process.spawn(binary, [...ONE_SHOT_ARGS, prompt], {
|
|
74
84
|
stdio: ["ignore", "pipe", "ignore"],
|
|
75
85
|
// HAPPY_MANAGED=1: this claude is run BY happy. The user-wide
|
|
76
86
|
// terminal-mirror SessionStart hook exits on it, so a one-shot
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var configuration = require('./configuration-
|
|
4
|
-
var index = require('./index-
|
|
5
|
-
var persistence = require('./persistence-
|
|
6
|
-
var context = require('./context-
|
|
3
|
+
var configuration = require('./configuration-UsI0sxEv.cjs');
|
|
4
|
+
var index = require('./index-DJ-oV52i.cjs');
|
|
5
|
+
var persistence = require('./persistence-i0nQMLlk.cjs');
|
|
6
|
+
var context = require('./context-0FjjA4vJ.cjs');
|
|
7
7
|
require('node:fs');
|
|
8
8
|
require('node:os');
|
|
9
9
|
require('node:path');
|
|
10
|
-
require('./package-
|
|
10
|
+
require('./package-D1A-8ZJy.cjs');
|
|
11
11
|
require('node:fs/promises');
|
|
12
12
|
require('zod');
|
|
13
13
|
require('@paralleldrive/cuid2');
|
|
14
14
|
require('./authRelay-BdYkC1Po.cjs');
|
|
15
15
|
require('node:crypto');
|
|
16
16
|
require('tweetnacl');
|
|
17
|
-
require('./logger-
|
|
17
|
+
require('./logger-7ucWm9wp.cjs');
|
|
18
18
|
require('chalk');
|
|
19
19
|
require('node:util');
|
|
20
20
|
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { c as configuration } from './configuration-
|
|
2
|
-
import { f as createBuiltinTodoClient, B as BUILTIN_TODO_SKILL } from './index-
|
|
3
|
-
import { readCredentialsForConfiguredRelay } from './persistence-
|
|
4
|
-
import { r as readTeamScope, t as teamScopePath } from './context-
|
|
1
|
+
import { c as configuration } from './configuration-A5gW_0GE.mjs';
|
|
2
|
+
import { f as createBuiltinTodoClient, B as BUILTIN_TODO_SKILL } from './index-BBg9j0XK.mjs';
|
|
3
|
+
import { readCredentialsForConfiguredRelay } from './persistence-Cw8aLoyL.mjs';
|
|
4
|
+
import { r as readTeamScope, t as teamScopePath } from './context-BXnxalWW.mjs';
|
|
5
5
|
import 'node:fs';
|
|
6
6
|
import 'node:os';
|
|
7
7
|
import 'node:path';
|
|
8
|
-
import './package-
|
|
8
|
+
import './package-DQsvY1XN.mjs';
|
|
9
9
|
import 'node:fs/promises';
|
|
10
10
|
import 'zod';
|
|
11
11
|
import '@paralleldrive/cuid2';
|
|
12
12
|
import './authRelay-DSAvg1uv.mjs';
|
|
13
13
|
import 'node:crypto';
|
|
14
14
|
import 'tweetnacl';
|
|
15
|
-
import './logger-
|
|
15
|
+
import './logger-CGE4C8ho.mjs';
|
|
16
16
|
import 'chalk';
|
|
17
17
|
import 'node:util';
|
|
18
18
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { a as AutomationNameSchema, b as AutomationConcurrencySchema, c as AutomationActionSchema, d as AutomationTriggerSchema } from './index-
|
|
3
|
-
import { a as authenticatedAutomationsClient, b as automationRunIdFromEnv } from './client-
|
|
2
|
+
import { a as AutomationNameSchema, b as AutomationConcurrencySchema, c as AutomationActionSchema, d as AutomationTriggerSchema } from './index-BBg9j0XK.mjs';
|
|
3
|
+
import { a as authenticatedAutomationsClient, b as automationRunIdFromEnv } from './client-DwqHDsLb.mjs';
|
|
4
4
|
|
|
5
5
|
const AUTOMATION_TOOL_NAMES = [
|
|
6
6
|
"automation_list",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var z = require('zod');
|
|
4
|
-
var index = require('./index-
|
|
5
|
-
var client = require('./client-
|
|
4
|
+
var index = require('./index-DJ-oV52i.cjs');
|
|
5
|
+
var client = require('./client-CVQJWqjx.cjs');
|
|
6
6
|
|
|
7
7
|
const AUTOMATION_TOOL_NAMES = [
|
|
8
8
|
"automation_list",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var z = require('zod');
|
|
4
|
-
var client = require('./client-
|
|
4
|
+
var client = require('./client-DiBTHWNU.cjs');
|
|
5
5
|
|
|
6
6
|
const TEAM_TOOL_NAMES = ["team_create", "team_join", "team_inspect", "team_delegate", "team_message", "team_submit", "team_accept", "team_return", "team_cancel", "team_handoff", "team_schedule_create", "team_schedule_pause", "team_schedule_resume", "team_schedule_cancel"];
|
|
7
7
|
const id = z.z.string().min(1).max(128);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { c as createTeamsClient } from './client-
|
|
2
|
+
import { c as createTeamsClient } from './client-Dk7x-s-O.mjs';
|
|
3
3
|
|
|
4
4
|
const TEAM_TOOL_NAMES = ["team_create", "team_join", "team_inspect", "team_delegate", "team_message", "team_submit", "team_accept", "team_return", "team_cancel", "team_handoff", "team_schedule_create", "team_schedule_pause", "team_schedule_resume", "team_schedule_cancel"];
|
|
5
5
|
const id = z.string().min(1).max(128);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
1
|
+
import { l as logger } from './logger-CGE4C8ho.mjs';
|
|
2
2
|
import { existsSync, unlinkSync } from 'fs';
|
|
3
3
|
import { execSync } from 'child_process';
|
|
4
4
|
import 'chalk';
|
|
5
5
|
import 'node:util';
|
|
6
|
-
import './configuration-
|
|
6
|
+
import './configuration-A5gW_0GE.mjs';
|
|
7
7
|
import 'node:fs';
|
|
8
8
|
import 'node:os';
|
|
9
9
|
import 'node:path';
|
|
10
|
-
import './package-
|
|
10
|
+
import './package-DQsvY1XN.mjs';
|
|
11
11
|
import 'node:fs/promises';
|
|
12
12
|
|
|
13
13
|
const PLIST_LABEL = "com.happy-cli.daemon";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var logger = require('./logger-
|
|
3
|
+
var logger = require('./logger-7ucWm9wp.cjs');
|
|
4
4
|
var fs = require('fs');
|
|
5
5
|
var child_process = require('child_process');
|
|
6
6
|
require('chalk');
|
|
7
7
|
require('node:util');
|
|
8
|
-
require('./configuration-
|
|
8
|
+
require('./configuration-UsI0sxEv.cjs');
|
|
9
9
|
require('node:fs');
|
|
10
10
|
require('node:os');
|
|
11
11
|
require('node:path');
|
|
12
|
-
require('./package-
|
|
12
|
+
require('./package-D1A-8ZJy.cjs');
|
|
13
13
|
require('node:fs/promises');
|
|
14
14
|
|
|
15
15
|
const PLIST_LABEL = "com.happy-cli.daemon";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "very-happy-cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.162",
|
|
4
4
|
"description": "Remote multi-agent workspace CLI with deep Claude integration, native terminal streaming, and self-hosting.",
|
|
5
5
|
"author": "Kirill Dubovitskiy",
|
|
6
6
|
"contributors": [
|
|
@@ -117,12 +117,12 @@
|
|
|
117
117
|
"zod": "^4.0.0"
|
|
118
118
|
},
|
|
119
119
|
"optionalDependencies": {
|
|
120
|
-
"very-happy-tools-arm64-darwin": "0.2.
|
|
121
|
-
"very-happy-tools-x64-darwin": "0.2.
|
|
122
|
-
"very-happy-tools-arm64-linux": "0.2.
|
|
123
|
-
"very-happy-tools-x64-linux": "0.2.
|
|
124
|
-
"very-happy-tools-arm64-win32": "0.2.
|
|
125
|
-
"very-happy-tools-x64-win32": "0.2.
|
|
120
|
+
"very-happy-tools-arm64-darwin": "0.2.162",
|
|
121
|
+
"very-happy-tools-x64-darwin": "0.2.162",
|
|
122
|
+
"very-happy-tools-arm64-linux": "0.2.162",
|
|
123
|
+
"very-happy-tools-x64-linux": "0.2.162",
|
|
124
|
+
"very-happy-tools-arm64-win32": "0.2.162",
|
|
125
|
+
"very-happy-tools-x64-win32": "0.2.162"
|
|
126
126
|
},
|
|
127
127
|
"devDependencies": {
|
|
128
128
|
"@slopus/happy-wire": "workspace:*",
|
|
@@ -5,12 +5,19 @@
|
|
|
5
5
|
* This script is executed by Claude's SessionStart hook.
|
|
6
6
|
* It reads JSON data from stdin and forwards it to Happy's hook server.
|
|
7
7
|
*
|
|
8
|
-
* Usage: echo '{"session_id":"..."}' | node session_hook_forwarder.cjs <port>
|
|
8
|
+
* Usage: echo '{"session_id":"..."}' | node session_hook_forwarder.cjs <port> [source]
|
|
9
|
+
*
|
|
10
|
+
* `source` (optional, B-515) tags the request as `?source=<source>` so the
|
|
11
|
+
* hook server can tell which Claude process of the wrapper reported it.
|
|
9
12
|
*/
|
|
10
13
|
|
|
11
14
|
const http = require('http');
|
|
12
15
|
|
|
13
16
|
const port = parseInt(process.argv[2], 10);
|
|
17
|
+
const source = process.argv[3];
|
|
18
|
+
const hookPath = source && /^[A-Za-z0-9_.-]{1,64}$/.test(source)
|
|
19
|
+
? '/hook/session-start?source=' + encodeURIComponent(source)
|
|
20
|
+
: '/hook/session-start';
|
|
14
21
|
|
|
15
22
|
if (!port || isNaN(port)) {
|
|
16
23
|
process.exit(1);
|
|
@@ -29,7 +36,7 @@ process.stdin.on('end', () => {
|
|
|
29
36
|
host: '127.0.0.1',
|
|
30
37
|
port: port,
|
|
31
38
|
method: 'POST',
|
|
32
|
-
path:
|
|
39
|
+
path: hookPath,
|
|
33
40
|
headers: {
|
|
34
41
|
'Content-Type': 'application/json',
|
|
35
42
|
'Content-Length': body.length
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { p as packageJson } from './package-BhaKlnxz.mjs';
|
|
2
|
-
|
|
3
|
-
const LAZY_MODULES = [
|
|
4
|
-
// Entry
|
|
5
|
-
["main", () => import('./main-BwNIAI1A.mjs')],
|
|
6
|
-
["selfCheck", () => Promise.resolve().then(function () { return selfCheck; })],
|
|
7
|
-
// Subcommands (main.ts)
|
|
8
|
-
["api/api", () => import('./api-CLMUr-SX.mjs').then(function (n) { return n.b; })],
|
|
9
|
-
["claude/claudeCliPath", () => import('./claudeCliPath-BqkaH2oR.mjs')],
|
|
10
|
-
["claude/runClaude", () => import('./runClaude-Ba01qT-u.mjs')],
|
|
11
|
-
["commands/agentHome", () => import('./agentHome-Dj1C43aJ.mjs')],
|
|
12
|
-
["commands/auth", () => import('./auth-PYHZQNPp.mjs')],
|
|
13
|
-
["commands/auto", () => import('./auto-BXu14yP_.mjs')],
|
|
14
|
-
["commands/codexCommand", () => import('./codexCommand-Cc9gcbdX.mjs')],
|
|
15
|
-
["commands/connect", () => import('./connect-BpOdzNbE.mjs')],
|
|
16
|
-
["commands/installPiTools", () => import('./installPiTools-B_CdM5_2.mjs')],
|
|
17
|
-
["commands/installTerminalHooks", () => import('./installTerminalHooks-By7gBMEF.mjs')],
|
|
18
|
-
["commands/mcp", () => import('./mcp-B1A4I3TK.mjs')],
|
|
19
|
-
["commands/piTerminal", () => import('./piTerminal-C8a1OrNQ.mjs')],
|
|
20
|
-
["commands/sandbox", () => import('./sandbox-DTe6d54R.mjs')],
|
|
21
|
-
["commands/send", () => import('./send-CBXJKc6O.mjs')],
|
|
22
|
-
["commands/server", () => import('./server-DcVBv04l.mjs')],
|
|
23
|
-
["commands/sessions", () => import('./sessions-BEG_HTSi.mjs')],
|
|
24
|
-
["commands/spawn", () => import('./spawn-B7yro0b2.mjs')],
|
|
25
|
-
["commands/teams", () => import('./teams-C32F1hqd.mjs')],
|
|
26
|
-
["commands/todo", () => import('./todo-CZ6cFrrn.mjs')],
|
|
27
|
-
["daemon/doctor", () => import('./doctor-BPkYWSuq.mjs')],
|
|
28
|
-
["daemon/install", () => import('./install-CFY3tYtJ.mjs')],
|
|
29
|
-
["daemon/run", () => import('./run-D3ifupU3.mjs')],
|
|
30
|
-
["daemon/uninstall", () => import('./uninstall-BkLzaJ6I.mjs')],
|
|
31
|
-
["resume/handleResumeCommand", () => import('./handleResumeCommand-BvXYf5El.mjs')],
|
|
32
|
-
["ui/doctor", () => import('./doctor-DOvByjbk.mjs').then(function (n) { return n.d; })],
|
|
33
|
-
["agent/acp", () => import('./index-DMZqWwsP.mjs')],
|
|
34
|
-
["gemini/runGemini", () => import('./runGemini-BGeTz57m.mjs')],
|
|
35
|
-
["gemini/utils/config", () => import('./config-CTx_jb-C.mjs')],
|
|
36
|
-
["openclaw/runOpenClaw", () => import('./runOpenClaw-CogSedIc.mjs')],
|
|
37
|
-
["persistence", () => import('./persistence-HGW_ZVs9.mjs')],
|
|
38
|
-
// Deferred halves of the runners and clients
|
|
39
|
-
["api/apiMachine", () => import('./apiMachine-B9dLW_p5.mjs')],
|
|
40
|
-
["claude/runClaudeDeps", () => import('./runClaudeDeps-DOt79DjU.mjs')],
|
|
41
|
-
["claude/claudeLocal", () => import('./claudeLocal-BaY4fZKi.mjs')],
|
|
42
|
-
["claude/claudeLocalLauncher", () => import('./claudeLocalLauncher-D4T7MTqd.mjs')],
|
|
43
|
-
["claude/sdk", () => import('./index-B6UGRQ7h.mjs')],
|
|
44
|
-
["assistant/bootstrap", () => import('./bootstrap-hxXPCFMx.mjs')],
|
|
45
|
-
["agentHome", () => import('./index-DKLU_fD0.mjs')],
|
|
46
|
-
["ui/ink/RemoteModeDisplay", () => import('./RemoteModeDisplay-D-HewyXg.mjs')],
|
|
47
|
-
// External packages imported on demand
|
|
48
|
-
["expo-server-sdk", () => import('expo-server-sdk')],
|
|
49
|
-
["ink", () => import('ink')],
|
|
50
|
-
["react", () => import('react')]
|
|
51
|
-
];
|
|
52
|
-
|
|
53
|
-
async function runSelfCheck(modules = LAZY_MODULES) {
|
|
54
|
-
const failures = [];
|
|
55
|
-
for (const [name, load] of modules) {
|
|
56
|
-
try {
|
|
57
|
-
await load();
|
|
58
|
-
} catch (error) {
|
|
59
|
-
failures.push({ name, error: error instanceof Error ? error.message : String(error) });
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return failures;
|
|
63
|
-
}
|
|
64
|
-
async function selfCheckMain(opts = {}) {
|
|
65
|
-
const started = Date.now();
|
|
66
|
-
const failures = await runSelfCheck();
|
|
67
|
-
if (failures.length > 0) {
|
|
68
|
-
for (const failure of failures) {
|
|
69
|
-
console.error(`very-happy: failed to load ${failure.name}: ${failure.error}`);
|
|
70
|
-
}
|
|
71
|
-
return 1;
|
|
72
|
-
}
|
|
73
|
-
if (opts.verbose) console.log(`self-check: ${LAZY_MODULES.length} modules loaded in ${Date.now() - started}ms`);
|
|
74
|
-
console.log(`very-happy version: ${packageJson.version}`);
|
|
75
|
-
return 0;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
var selfCheck = /*#__PURE__*/Object.freeze({
|
|
79
|
-
__proto__: null,
|
|
80
|
-
runSelfCheck: runSelfCheck,
|
|
81
|
-
selfCheckMain: selfCheckMain
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
export { runSelfCheck, selfCheckMain };
|