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.
Files changed (176) hide show
  1. package/dist/{AcpBackend-mzv8Dhba.mjs → AcpBackend--TmFHgRH.mjs} +3 -3
  2. package/dist/{AcpBackend-Bm2rdke8.cjs → AcpBackend-9asD_DL7.cjs} +3 -3
  3. package/dist/{AcpSessionManager-CoMWFVw3.mjs → AcpSessionManager-BSIBnWUb.mjs} +1 -1
  4. package/dist/{AcpSessionManager-BAY1Pggx.cjs → AcpSessionManager-BvIuBzoO.cjs} +1 -1
  5. package/dist/{BasePermissionHandler-CFHAxumV.cjs → BasePermissionHandler-D4B-NNu2.cjs} +1 -1
  6. package/dist/{BasePermissionHandler-m3WVholL.mjs → BasePermissionHandler-DUBySe0f.mjs} +1 -1
  7. package/dist/{BaseReasoningProcessor-CYrKBXGm.mjs → BaseReasoningProcessor-9TybUGTq.mjs} +1 -1
  8. package/dist/{BaseReasoningProcessor-BFa9_rZA.cjs → BaseReasoningProcessor-CqLl-ikP.cjs} +1 -1
  9. package/dist/{agentHome-CboCeKWq.cjs → agentHome-BohNUYnE.cjs} +4 -4
  10. package/dist/{agentHome-Dj1C43aJ.mjs → agentHome-DQrq_FG1.mjs} +4 -4
  11. package/dist/{api-CgundNNX.cjs → api-CQnLOqRS.cjs} +10 -10
  12. package/dist/{api-CLMUr-SX.mjs → api-D57dsd6_.mjs} +10 -10
  13. package/dist/{apiMachine-B9dLW_p5.mjs → apiMachine-78Aqzg--.mjs} +21 -14
  14. package/dist/{apiMachine-Bn8482VM.cjs → apiMachine-fFFaWxYy.cjs} +33 -26
  15. package/dist/{assistantTools-BTqPnlFl.cjs → assistantTools-CwESq24n.cjs} +6 -6
  16. package/dist/{assistantTools-D6tuc6o4.mjs → assistantTools-mEz6uNqL.mjs} +6 -6
  17. package/dist/{attachmentContent-DpiTJZb4.cjs → attachmentContent-GHOk6Muq.cjs} +2 -2
  18. package/dist/{attachmentContent-_kxRznNf.mjs → attachmentContent-s1xPha4Q.mjs} +2 -2
  19. package/dist/{attachmentLimits-yba1uHFO.mjs → attachmentLimits-D5pgmASK.mjs} +1 -1
  20. package/dist/{attachmentLimits-CzVrqgLR.cjs → attachmentLimits-DzlBPyJP.cjs} +1 -1
  21. package/dist/{auth-BDOVh5h5.cjs → auth-B8EagV6G.cjs} +8 -8
  22. package/dist/{auth-PYHZQNPp.mjs → auth-BOaHWquu.mjs} +8 -8
  23. package/dist/{auth-ba4WMYrN.cjs → auth-BbSdXMQ_.cjs} +5 -5
  24. package/dist/{auth-Cwutmdsa.mjs → auth-C8V7-oUT.mjs} +5 -5
  25. package/dist/{auto-BOX_fgmR.cjs → auto-Bw_h0yVc.cjs} +15 -14
  26. package/dist/{auto-BXu14yP_.mjs → auto-CWDOX35m.mjs} +15 -14
  27. package/dist/{bootstrap-hxXPCFMx.mjs → bootstrap-BKmsYSwh.mjs} +2 -2
  28. package/dist/{bootstrap-B5G1TijC.cjs → bootstrap-DvZjEa9_.cjs} +2 -2
  29. package/dist/{browser-Y6Bl8L_O.cjs → browser-CBZj-1Wx.cjs} +1 -1
  30. package/dist/{browser-jh2P0UVZ.mjs → browser-CrMAr5fI.mjs} +1 -1
  31. package/dist/{claudeLocal-CRGG4Pea.cjs → claudeLocal-Bpw-u9et.cjs} +5 -5
  32. package/dist/{claudeLocal-BaY4fZKi.mjs → claudeLocal-dhdlcQ6F.mjs} +5 -5
  33. package/dist/{claudeLocalLauncher-D4T7MTqd.mjs → claudeLocalLauncher-BFfGT4eY.mjs} +10 -10
  34. package/dist/{claudeLocalLauncher-DyEbVzUN.cjs → claudeLocalLauncher-DWFWuLhY.cjs} +10 -10
  35. package/dist/{codexThreadFork-BH9IZPqD.cjs → claudeSessionFork-D9-mANmu.cjs} +1 -137
  36. package/dist/{codexThreadFork-slzAseLx.mjs → claudeSessionFork-_DUrXaqd.mjs} +2 -134
  37. package/dist/{client-BPNbmtvO.cjs → client-CVQJWqjx.cjs} +2 -2
  38. package/dist/{client-3Ac-O4pw.cjs → client-DiBTHWNU.cjs} +3 -3
  39. package/dist/{client-CeGKqqcJ.mjs → client-Dk7x-s-O.mjs} +3 -3
  40. package/dist/{client-ClR0K8zX.mjs → client-DwqHDsLb.mjs} +2 -2
  41. package/dist/codex/happyMcpStdioBridge.cjs +15 -15
  42. package/dist/codex/happyMcpStdioBridge.mjs +15 -15
  43. package/dist/{codexAppServerClient-I3teiV-N.mjs → codexAppServerClient-C2ybs2mZ.mjs} +2 -2
  44. package/dist/{codexAppServerClient-q2FjnRcK.cjs → codexAppServerClient-DlKv5TjG.cjs} +2 -2
  45. package/dist/{codexCommand-4zcccIoq.cjs → codexCommand-4vLE31fj.cjs} +45 -40
  46. package/dist/{codexCommand-Cc9gcbdX.mjs → codexCommand-DnmFr9Qx.mjs} +45 -40
  47. package/dist/codexThreadFork-DNekT4nQ.cjs +138 -0
  48. package/dist/codexThreadFork-R76RU5H0.mjs +133 -0
  49. package/dist/{config-Ci9Kpgwa.cjs → config-Btd4B05_.cjs} +3 -3
  50. package/dist/{config-CTx_jb-C.mjs → config-CSOG_ZcP.mjs} +3 -3
  51. package/dist/{configuration-RfeNjFmd.mjs → configuration-A5gW_0GE.mjs} +1 -1
  52. package/dist/{configuration-BSYpcPwE.cjs → configuration-UsI0sxEv.cjs} +1 -1
  53. package/dist/{connect-C2CiOUFs.cjs → connect-C9yxp8Om.cjs} +13 -13
  54. package/dist/{connect-BpOdzNbE.mjs → connect-DWYj8LP_.mjs} +13 -13
  55. package/dist/{context-DsDr6E2t.cjs → context-0FjjA4vJ.cjs} +1 -1
  56. package/dist/{context-H0Bcb9S_.mjs → context-BXnxalWW.mjs} +1 -1
  57. package/dist/{controlClient-Bcwv3D21.cjs → controlClient-BXktrQ4z.cjs} +3 -3
  58. package/dist/{controlClient-BGbDcgWS.mjs → controlClient-CYzHrh3e.mjs} +3 -3
  59. package/dist/{createSessionMetadata-CVVkGjxV.mjs → createSessionMetadata-Dyg33ZlU.mjs} +2 -2
  60. package/dist/{createSessionMetadata-BJxEnM-o.cjs → createSessionMetadata-EX1eAlHx.cjs} +2 -2
  61. package/dist/{deterministicJson-CzkFJWw1.mjs → deterministicJson-DiR7EOMO.mjs} +9 -9
  62. package/dist/{deterministicJson-C5CYTVpm.cjs → deterministicJson-eha_oMZ2.cjs} +9 -9
  63. package/dist/{doctor-D2YJ-Yn2.cjs → doctor-DunLBgVi.cjs} +6 -6
  64. package/dist/{doctor-DOvByjbk.mjs → doctor-FuCvKdRa.mjs} +6 -6
  65. package/dist/{ensureDaemonRunning-BCwNrMyv.cjs → ensureDaemonRunning-B4dZFmUy.cjs} +5 -5
  66. package/dist/{ensureDaemonRunning-Dqa2pOjY.mjs → ensureDaemonRunning-EZkb-CAF.mjs} +5 -5
  67. package/dist/{handleResumeCommand-C2cKchpX.cjs → handleResumeCommand-CKMIw4pE.cjs} +5 -5
  68. package/dist/{handleResumeCommand-BvXYf5El.mjs → handleResumeCommand-CsXendKb.mjs} +5 -5
  69. package/dist/{index-DMZqWwsP.mjs → index-9L39wqYR.mjs} +37 -37
  70. package/dist/{index-qdS1friN.mjs → index-BBg9j0XK.mjs} +8 -1
  71. package/dist/{index-B6pAdvJx.cjs → index-BOhgL3rh.cjs} +36 -36
  72. package/dist/{index-Bu5Zi_a9.cjs → index-CZWAiydF.cjs} +4 -4
  73. package/dist/{index-DVkMGPyS.mjs → index-CvXcVQ06.mjs} +3 -3
  74. package/dist/{index-DA7yINuk.cjs → index-DJ-oV52i.cjs} +8 -1
  75. package/dist/{index-DKLU_fD0.mjs → index-DK2JpTJf.mjs} +4 -4
  76. package/dist/{index-DDeHXrIX.cjs → index-DRhWHEuW.cjs} +3 -3
  77. package/dist/index.cjs +2 -2
  78. package/dist/index.mjs +2 -2
  79. package/dist/{install-CFY3tYtJ.mjs → install-B2duVo9a.mjs} +3 -3
  80. package/dist/{install-BgoC2e_2.cjs → install-C8WyZI9K.cjs} +3 -3
  81. package/dist/lib.cjs +12 -12
  82. package/dist/lib.d.cts +5 -0
  83. package/dist/lib.d.mts +5 -0
  84. package/dist/lib.mjs +12 -12
  85. package/dist/{lidState-CeEt442o.mjs → lidState-CigXWxhe.mjs} +1 -1
  86. package/dist/{lidState-BeDfxxEX.cjs → lidState-Ds-6ytZV.cjs} +1 -1
  87. package/dist/{localHappyAgentAuth-C-HQyiv6.mjs → localHappyAgentAuth-CaCyKzYp.mjs} +1 -1
  88. package/dist/{localHappyAgentAuth-D6rFhaoc.cjs → localHappyAgentAuth-l0Na-5Ys.cjs} +1 -1
  89. package/dist/{logger-CS0mw3fa.cjs → logger-7ucWm9wp.cjs} +2 -2
  90. package/dist/{logger-6HYUEXNk.mjs → logger-CGE4C8ho.mjs} +2 -2
  91. package/dist/{machineMetadata-DyDbODYd.cjs → machineMetadata-lMPtpF16.cjs} +3 -3
  92. package/dist/{machineMetadata-oOzBfDfs.mjs → machineMetadata-ue1nkowa.mjs} +3 -3
  93. package/dist/{main-BwNIAI1A.mjs → main-3fIFXD-t.mjs} +44 -44
  94. package/dist/{main-BkxJP6JQ.cjs → main-CFI0datL.cjs} +44 -44
  95. package/dist/{mcp-B1A4I3TK.mjs → mcp-DARQBZ7l.mjs} +14 -14
  96. package/dist/{mcp-Hszd7qpS.cjs → mcp-DfxLAc1G.cjs} +14 -14
  97. package/dist/{package-BwMrPwqH.cjs → package-D1A-8ZJy.cjs} +7 -7
  98. package/dist/{package-BhaKlnxz.mjs → package-DQsvY1XN.mjs} +7 -7
  99. package/dist/{peerTools-BTqw97Gb.mjs → peerTools-D19hhSQF.mjs} +4 -4
  100. package/dist/{peerTools-BvKtHXj8.cjs → peerTools-DLwNaEEV.cjs} +4 -4
  101. package/dist/{permissionMode-Cr5JCbB7.mjs → permissionMode-CH4FoZfU.mjs} +1 -1
  102. package/dist/{persistence-HGW_ZVs9.mjs → persistence-Cw8aLoyL.mjs} +3 -3
  103. package/dist/{persistence-yKTH3-5X.cjs → persistence-i0nQMLlk.cjs} +3 -3
  104. package/dist/{piRunnerArgs-BuX1UFWy.mjs → piRunnerArgs-58t454gw.mjs} +1 -1
  105. package/dist/{piRunnerArgs-BNloJCCg.cjs → piRunnerArgs-BUyxPxjZ.cjs} +1 -1
  106. package/dist/{piRuntime-CSGkwCKQ.mjs → piRuntime-DVPixFjl.mjs} +1 -1
  107. package/dist/{piRuntime-C_H7MJCM.cjs → piRuntime-Dff73XCb.cjs} +1 -1
  108. package/dist/{piTerminal-DNCZ6yTM.cjs → piTerminal-Dz1RrO70.cjs} +16 -16
  109. package/dist/{piTerminal-C8a1OrNQ.mjs → piTerminal-gHWFAyzq.mjs} +16 -16
  110. package/dist/{registerCommonHandlers-DskirN-_.cjs → registerCommonHandlers-CMROPdJz.cjs} +2 -2
  111. package/dist/{registerCommonHandlers-Ccvsz7Ou.mjs → registerCommonHandlers-Ckv5boQI.mjs} +2 -2
  112. package/dist/{registerKillSessionHandler-DZeLXWcB.cjs → registerKillSessionHandler-CA9-oelM.cjs} +19 -10
  113. package/dist/{registerKillSessionHandler-GYvHdipX.mjs → registerKillSessionHandler-Cll4-o8Y.mjs} +19 -10
  114. package/dist/{remoteSessionClient-CYnXRynE.mjs → remoteSessionClient-BMjsbuBh.mjs} +5 -5
  115. package/dist/{remoteSessionClient-B0LraSB9.cjs → remoteSessionClient-DX9jHLeW.cjs} +5 -5
  116. package/dist/{run-CJzxoHVh.cjs → run-CjbGo2wb.cjs} +36 -32
  117. package/dist/{run-D3ifupU3.mjs → run-CrunzDlt.mjs} +35 -31
  118. package/dist/{runClaude-Da3RirzE.cjs → runClaude-KN-4Y4LH.cjs} +184 -140
  119. package/dist/{runClaude-Ba01qT-u.mjs → runClaude-WDBWRtnF.mjs} +185 -141
  120. package/dist/{runClaudeDeps-DOzEBMls.cjs → runClaudeDeps-DW-8lnHv.cjs} +821 -125
  121. package/dist/{runClaudeDeps-DOt79DjU.mjs → runClaudeDeps-QaEx8y5r.mjs} +811 -129
  122. package/dist/{runGemini-DSr9LIxL.cjs → runGemini-Djmwjdv1.cjs} +32 -32
  123. package/dist/{runGemini-BGeTz57m.mjs → runGemini-Nf6SKBpw.mjs} +32 -32
  124. package/dist/{runOpenClaw-CogSedIc.mjs → runOpenClaw-9nHtmYbN.mjs} +18 -18
  125. package/dist/{runOpenClaw-B1mTxN35.cjs → runOpenClaw-CAqP5KFH.cjs} +18 -18
  126. package/dist/{sandbox-CG7IyDTU.cjs → sandbox-C8Dd8GPM.cjs} +4 -4
  127. package/dist/{sandbox-DTe6d54R.mjs → sandbox-SP0THMt0.mjs} +4 -4
  128. package/dist/selfCheck-7FaZtVu2.mjs +84 -0
  129. package/dist/{selfCheck-Dc-mNSLb.cjs → selfCheck-D9ZXrK7h.cjs} +34 -34
  130. package/dist/{send-CBXJKc6O.mjs → send-DOx9aQsx.mjs} +8 -8
  131. package/dist/{send-B7J_eaG3.cjs → send-LPk6Q5HI.cjs} +8 -8
  132. package/dist/{server-DcVBv04l.mjs → server-BZNi8Hq_.mjs} +4 -4
  133. package/dist/{server-CZTP_iOn.cjs → server-CxT8jNyn.cjs} +6 -6
  134. package/dist/{sessionLock-D-EG2CfG.mjs → sessionLock-CfLqJfeI.mjs} +2 -2
  135. package/dist/{sessionLock-Bys1PNSo.cjs → sessionLock-y9rnA4LK.cjs} +2 -2
  136. package/dist/{sessionModeFile-RSm0NQkH.cjs → sessionModeFile-B5YeoQJh.cjs} +1 -1
  137. package/dist/{sessionModeFile-DMl3dw3r.mjs → sessionModeFile-BKxgNH3P.mjs} +1 -1
  138. package/dist/{sessionOps-SuHW8Dfe.mjs → sessionOps-CdwVPSZz.mjs} +4 -4
  139. package/dist/{sessionOps-Dn8z85h_.cjs → sessionOps-GsELm2PZ.cjs} +4 -4
  140. package/dist/{sessionScanner-CX3onqXh.mjs → sessionScanner-Cdukzo70.mjs} +3 -3
  141. package/dist/{sessionScanner-BOrGjMXL.cjs → sessionScanner-aLEv7mD3.cjs} +3 -3
  142. package/dist/{sessions-D74aJbhL.cjs → sessions-CfG4WGN0.cjs} +9 -9
  143. package/dist/{sessions-BEG_HTSi.mjs → sessions-Dne-OiRL.mjs} +9 -9
  144. package/dist/{setupOfflineReconnection-ByElY60m.cjs → setupOfflineReconnection-CFwltTcP.cjs} +2 -2
  145. package/dist/{setupOfflineReconnection-DpvWTt69.mjs → setupOfflineReconnection-DiQma2Cc.mjs} +2 -2
  146. package/dist/{spawn-DgR0RKRs.cjs → spawn-BI_sdgWs.cjs} +24 -15
  147. package/dist/{spawn-B7yro0b2.mjs → spawn-DkgP2BGF.mjs} +22 -14
  148. package/dist/{spawnAgents-DZzZ9jMI.mjs → spawnAgents-Y1LjnCt9.mjs} +1 -1
  149. package/dist/{spawnAgents-BGQiEF-w.cjs → spawnAgents-iSu1Xzs5.cjs} +1 -1
  150. package/dist/{spawnHappyCLI-B2H5s4B_.mjs → spawnHappyCLI-9mx4lPxh.mjs} +1 -1
  151. package/dist/{spawnHappyCLI-DBhwZT7O.cjs → spawnHappyCLI-BRdx0sAX.cjs} +1 -1
  152. package/dist/{startFileWatcher-B4VsLgjD.cjs → startFileWatcher-C2HC2_Dg.cjs} +1 -1
  153. package/dist/{startFileWatcher-DErVWZE4.mjs → startFileWatcher-COD5UKNs.mjs} +1 -1
  154. package/dist/{streamRelay-FPVbHpbM.mjs → streamRelay-BLgU9X3R.mjs} +1 -1
  155. package/dist/{streamRelay-BiKw59Cc.cjs → streamRelay-DnObXZZj.cjs} +1 -1
  156. package/dist/{sync-C8gyQFMc.mjs → sync-BpLasLu2.mjs} +1 -1
  157. package/dist/{sync-DccIKZ5_.cjs → sync-Dj92ZJ8Y.cjs} +1 -1
  158. package/dist/{systemPrompt-BwTPWfMu.cjs → systemPrompt-CyEz_IfR.cjs} +2 -2
  159. package/dist/{systemPrompt-DX521JJz.mjs → systemPrompt-DsQoUgQw.mjs} +2 -2
  160. package/dist/{teams-C32F1hqd.mjs → teams-BETNMjpZ.mjs} +6 -6
  161. package/dist/{teams-Dl8g8kTI.cjs → teams-Ctx9zXn4.cjs} +6 -6
  162. package/dist/{time-DCuTyook.cjs → time-CLwVAz6s.cjs} +1 -1
  163. package/dist/{time-D0XyHOid.mjs → time-CVvxdEDh.mjs} +1 -1
  164. package/dist/{titleGenerator-CQ8CoGhg.mjs → titleGenerator-B4AW3dLr.mjs} +12 -2
  165. package/dist/{titleGenerator-ChzMJsyg.cjs → titleGenerator-FDpdizn7.cjs} +13 -3
  166. package/dist/{todo-BvUOTa8G.cjs → todo-C3tyFeq1.cjs} +6 -6
  167. package/dist/{todo-CZ6cFrrn.mjs → todo-Jk4Vs7hP.mjs} +6 -6
  168. package/dist/{tools-BZtHF_qQ.mjs → tools-BA1qkiV1.mjs} +2 -2
  169. package/dist/{tools-DQj0AeLk.cjs → tools-CGxq3I52.cjs} +2 -2
  170. package/dist/{tools-Be3AoAwu.cjs → tools-O5beDK-s.cjs} +1 -1
  171. package/dist/{tools-DkluDcG4.mjs → tools-_kFe4m_l.mjs} +1 -1
  172. package/dist/{uninstall-BkLzaJ6I.mjs → uninstall-C_mdAZlm.mjs} +3 -3
  173. package/dist/{uninstall-x-TUtf5H.cjs → uninstall-DHKF90lo.cjs} +3 -3
  174. package/package.json +7 -7
  175. package/scripts/session_hook_forwarder.cjs +9 -2
  176. 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-6HYUEXNk.mjs';
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, ["-p", "--model", "haiku", prompt], {
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-CS0mw3fa.cjs');
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-ChzMJsyg.cjs', document.baseURI).href)));
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, ["-p", "--model", "haiku", prompt], {
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-BSYpcPwE.cjs');
4
- var index = require('./index-DA7yINuk.cjs');
5
- var persistence = require('./persistence-yKTH3-5X.cjs');
6
- var context = require('./context-DsDr6E2t.cjs');
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-BwMrPwqH.cjs');
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-CS0mw3fa.cjs');
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-RfeNjFmd.mjs';
2
- import { f as createBuiltinTodoClient, B as BUILTIN_TODO_SKILL } from './index-qdS1friN.mjs';
3
- import { readCredentialsForConfiguredRelay } from './persistence-HGW_ZVs9.mjs';
4
- import { r as readTeamScope, t as teamScopePath } from './context-H0Bcb9S_.mjs';
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-BhaKlnxz.mjs';
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-6HYUEXNk.mjs';
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-qdS1friN.mjs';
3
- import { a as authenticatedAutomationsClient, b as automationRunIdFromEnv } from './client-ClR0K8zX.mjs';
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-DA7yINuk.cjs');
5
- var client = require('./client-BPNbmtvO.cjs');
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-3Ac-O4pw.cjs');
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-CeGKqqcJ.mjs';
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-6HYUEXNk.mjs';
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-RfeNjFmd.mjs';
6
+ import './configuration-A5gW_0GE.mjs';
7
7
  import 'node:fs';
8
8
  import 'node:os';
9
9
  import 'node:path';
10
- import './package-BhaKlnxz.mjs';
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-CS0mw3fa.cjs');
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-BSYpcPwE.cjs');
8
+ require('./configuration-UsI0sxEv.cjs');
9
9
  require('node:fs');
10
10
  require('node:os');
11
11
  require('node:path');
12
- require('./package-BwMrPwqH.cjs');
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.160",
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.160",
121
- "very-happy-tools-x64-darwin": "0.2.160",
122
- "very-happy-tools-arm64-linux": "0.2.160",
123
- "very-happy-tools-x64-linux": "0.2.160",
124
- "very-happy-tools-arm64-win32": "0.2.160",
125
- "very-happy-tools-x64-win32": "0.2.160"
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: '/hook/session-start',
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 };