very-happy-cli 0.2.154 → 0.2.156

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 (57) hide show
  1. package/dist/{AcpBackend-B14xNj5L.cjs → AcpBackend-BHe1_F1h.cjs} +3 -3
  2. package/dist/{AcpBackend-Ckyadhf4.mjs → AcpBackend-C3nc1u-s.mjs} +2 -2
  3. package/dist/{AcpSessionManager-CCHmPdrR.cjs → AcpSessionManager-BVxkQnNf.cjs} +1 -1
  4. package/dist/{AcpSessionManager-H8t4P-IW.mjs → AcpSessionManager-dN3k1LbI.mjs} +1 -1
  5. package/dist/agentGuidance-C-CmV03f.cjs +1665 -0
  6. package/dist/agentGuidance-C604n0Zq.mjs +1613 -0
  7. package/dist/{agentHome-BUsLTZnz.cjs → agentHome-CmIJNV7f.cjs} +5 -5
  8. package/dist/{agentHome-B20RWdgE.mjs → agentHome-D2XGsoqs.mjs} +5 -5
  9. package/dist/{auto-BQnncDcs.mjs → auto-B1I6G_Nf.mjs} +21 -21
  10. package/dist/{auto-IeldARBS.cjs → auto-CMDq4oIu.cjs} +24 -24
  11. package/dist/codex/happyMcpStdioBridge.cjs +6 -3
  12. package/dist/codex/happyMcpStdioBridge.mjs +6 -3
  13. package/dist/{config-DM_xI9M6.cjs → config-BYHSRY2E.cjs} +8 -8
  14. package/dist/{config-B-ocQh5V.mjs → config-BkTu25bH.mjs} +8 -8
  15. package/dist/{index-ZKuBjvHi.mjs → index-B5QbzEga.mjs} +21 -13
  16. package/dist/{index-BUxBxSxJ.cjs → index-B_-7NpGZ.cjs} +21 -13
  17. package/dist/{index-eCjkm8Y2.cjs → index-BbtR-Qto.cjs} +606 -982
  18. package/dist/{index-okLyUzeD.cjs → index-CB8QnjvS.cjs} +7 -7
  19. package/dist/{index-BELV05ko.mjs → index-DAAreiRF.mjs} +548 -911
  20. package/dist/{index-CIx3248o.mjs → index-PYO8Mdz4.mjs} +7 -7
  21. package/dist/index.cjs +6 -6
  22. package/dist/index.mjs +6 -6
  23. package/dist/{install-CoLN3whR.mjs → install-CNtXzwT_.mjs} +1 -1
  24. package/dist/{install-BZOdxfPd.cjs → install-CO1ps6Wt.cjs} +1 -1
  25. package/dist/{installTerminalHooks-CA4OcAS7.cjs → installTerminalHooks-BOAnQ1Qe.cjs} +5 -5
  26. package/dist/{installTerminalHooks-Dde_8t36.mjs → installTerminalHooks-CMpOV3RU.mjs} +5 -5
  27. package/dist/lib.cjs +2 -2
  28. package/dist/lib.d.cts +24 -8
  29. package/dist/lib.d.mts +24 -8
  30. package/dist/lib.mjs +2 -2
  31. package/dist/{limits-Dt7_unH4.mjs → limits-DmMdchTz.mjs} +309 -13
  32. package/dist/{limits-CmzISka2.cjs → limits-o29KXBgj.cjs} +329 -12
  33. package/dist/{mcp-9Ui4nQZL.mjs → mcp-C_uejotl.mjs} +17 -17
  34. package/dist/{mcp-7iDHlyCI.cjs → mcp-CwK1nI7Y.cjs} +23 -23
  35. package/dist/{piRuntime-C4E4pgye.mjs → piRuntime-Cu2-8nOT.mjs} +2 -2
  36. package/dist/{piRuntime-BesGGPME.cjs → piRuntime-Dj5WnqzJ.cjs} +2 -2
  37. package/dist/{piTerminal-fUogwxYr.cjs → piTerminal-D-BIbov9.cjs} +6 -6
  38. package/dist/{piTerminal-CCEGCQOY.mjs → piTerminal-DanZeBrO.mjs} +6 -6
  39. package/dist/{runGemini-CNPGSsSK.cjs → runGemini--QqK-Ap5.cjs} +7 -7
  40. package/dist/{runGemini-BW-pEklU.mjs → runGemini-CZ_lhMWY.mjs} +6 -6
  41. package/dist/{runOpenClaw-Bsodkg_s.cjs → runOpenClaw-C0xLhTvk.cjs} +6 -6
  42. package/dist/{runOpenClaw-NRB6-_jU.mjs → runOpenClaw-CxgLpm38.mjs} +5 -5
  43. package/dist/{send-DYeSFg8s.mjs → send-BaOkDgH0.mjs} +5 -39
  44. package/dist/{send-Bd00QcHC.cjs → send-CTcGMVuG.cjs} +8 -42
  45. package/dist/{sessions-DlPOYKLU.mjs → sessions-Bn304xF1.mjs} +88 -45
  46. package/dist/{sessions-RIFUoy_g.cjs → sessions-OmvyJb0n.cjs} +99 -56
  47. package/dist/{spawn-D1bhyHbH.mjs → spawn-BKNabutV.mjs} +22 -22
  48. package/dist/{spawn-DxrfHTF4.cjs → spawn-CC6V2KiA.cjs} +30 -30
  49. package/dist/{teams-pfKHpkgL.mjs → teams-CLbS2_4Q.mjs} +8 -8
  50. package/dist/{teams-Cfy0VMCo.cjs → teams-XtrH3_h3.cjs} +8 -8
  51. package/dist/{todo-B2CjDg_V.mjs → todo-BcPbNKt2.mjs} +8 -6
  52. package/dist/{todo-B4cBFzHB.cjs → todo-CEDvKNXK.cjs} +8 -6
  53. package/dist/{types-D5RWyBE5.mjs → types-BEVzYSoV.mjs} +52 -291
  54. package/dist/{types-Bd_TGr0F.cjs → types-CphWjqHc.cjs} +64 -320
  55. package/package.json +7 -7
  56. package/dist/agentGuidance-DUBXppv-.cjs +0 -554
  57. package/dist/agentGuidance-TLYQxsm2.mjs +0 -530
@@ -2,16 +2,16 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var os = require('node:os');
5
- var persistence = require('./limits-CmzISka2.cjs');
5
+ var persistence = require('./limits-o29KXBgj.cjs');
6
6
  require('node:fs');
7
- var index = require('./types-Bd_TGr0F.cjs');
8
- require('node:fs/promises');
9
- require('node:path');
7
+ var index = require('./types-CphWjqHc.cjs');
10
8
  require('zod');
9
+ require('@paralleldrive/cuid2');
10
+ require('node:fs/promises');
11
11
  require('node:crypto');
12
12
  require('tweetnacl');
13
13
  require('node:util');
14
- require('@paralleldrive/cuid2');
14
+ require('node:path');
15
15
  require('axios');
16
16
  require('node:events');
17
17
  require('socket.io-client');
@@ -1,15 +1,15 @@
1
1
  import chalk from 'chalk';
2
2
  import { homedir } from 'node:os';
3
- import { r as readSettings, u as updateSettings } from './limits-Dt7_unH4.mjs';
3
+ import { r as readSettings, u as updateSettings } from './limits-DmMdchTz.mjs';
4
4
  import 'node:fs';
5
- import { d as describeAgentHome, p as probeLoginShellEnv, r as resolveAgentHomes, e as expandHomePath, b as AGENT_HOME_ENV_NAMES } from './types-D5RWyBE5.mjs';
6
- import 'node:fs/promises';
7
- import 'node:path';
5
+ import { d as describeAgentHome, p as probeLoginShellEnv, r as resolveAgentHomes, e as expandHomePath, b as AGENT_HOME_ENV_NAMES } from './types-BEVzYSoV.mjs';
8
6
  import 'zod';
7
+ import '@paralleldrive/cuid2';
8
+ import 'node:fs/promises';
9
9
  import 'node:crypto';
10
10
  import 'tweetnacl';
11
11
  import 'node:util';
12
- import '@paralleldrive/cuid2';
12
+ import 'node:path';
13
13
  import 'axios';
14
14
  import 'node:events';
15
15
  import 'socket.io-client';
@@ -2,37 +2,39 @@ import chalk from 'chalk';
2
2
  import { homedir } from 'node:os';
3
3
  import { readFileSync } from 'node:fs';
4
4
  import { resolve } from 'node:path';
5
- import { A as AUTOMATION_NAME_PATTERN, i as isAutomationRunTerminal, c as configuration } from './limits-Dt7_unH4.mjs';
6
- import { d as authenticatedAutomationsClient, e as automationRunIdFromEnv, i as isAutomationsUnavailable, A as AUTOMATIONS_UNAVAILABLE_MESSAGE } from './agentGuidance-TLYQxsm2.mjs';
7
- import { p as parseDuration, e as sessionWebUrl, t as triggerFromFlags, g as describeTrigger, h as describeAction, S as SPAWN_AGENTS, i as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES } from './index-BELV05ko.mjs';
8
- import { A as AUTOMATION_SKILL, i as installAutomationSkill } from './install-CoLN3whR.mjs';
9
- import { parseEnvAssignment } from './spawn-D1bhyHbH.mjs';
10
- import { c as delay } from './types-D5RWyBE5.mjs';
11
- import 'node:fs/promises';
5
+ import { A as AUTOMATION_NAME_PATTERN, f as isAutomationRunTerminal, c as configuration, g as delay } from './limits-DmMdchTz.mjs';
6
+ import { p as authenticatedAutomationsClient, q as automationRunIdFromEnv, o as sessionWebUrl, t as isAutomationsUnavailable, A as AUTOMATIONS_UNAVAILABLE_MESSAGE } from './agentGuidance-C604n0Zq.mjs';
7
+ import { p as parseDuration, t as triggerFromFlags, d as describeTrigger, a as describeAction, S as SPAWN_AGENTS, s as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES } from './index-DAAreiRF.mjs';
8
+ import { A as AUTOMATION_SKILL, i as installAutomationSkill } from './install-CNtXzwT_.mjs';
9
+ import { parseEnvAssignment } from './spawn-BKNabutV.mjs';
12
10
  import 'zod';
11
+ import '@paralleldrive/cuid2';
12
+ import 'node:fs/promises';
13
13
  import 'node:crypto';
14
14
  import 'tweetnacl';
15
15
  import 'node:util';
16
- import '@paralleldrive/cuid2';
16
+ import 'axios';
17
+ import 'socket.io-client';
18
+ import './types-BEVzYSoV.mjs';
19
+ import 'node:events';
20
+ import 'child_process';
21
+ import 'util';
22
+ import 'fs/promises';
23
+ import 'crypto';
24
+ import 'path';
17
25
  import 'cross-spawn';
18
- import 'node:readline';
19
26
  import './terminalTitleSuggest-DKgX3osW.mjs';
20
- import 'path';
21
27
  import 'url';
22
- import 'fs/promises';
23
- import 'ink';
24
- import 'react';
25
- import '@anthropic-ai/claude-agent-sdk';
26
- import 'axios';
27
- import 'node:events';
28
- import 'socket.io-client';
29
28
  import 'os';
30
- import 'child_process';
31
29
  import 'node:child_process';
30
+ import 'node-pty';
32
31
  import 'fs';
32
+ import 'node:readline';
33
33
  import '@anthropic-ai/sandbox-runtime';
34
34
  import 'expo-server-sdk';
35
- import 'crypto';
35
+ import 'ink';
36
+ import 'react';
37
+ import '@anthropic-ai/claude-agent-sdk';
36
38
  import 'ps-list';
37
39
  import 'tmp';
38
40
  import 'open';
@@ -43,11 +45,9 @@ import '@modelcontextprotocol/sdk/server/mcp.js';
43
45
  import 'node:http';
44
46
  import '@modelcontextprotocol/sdk/server/streamableHttp.js';
45
47
  import 'http';
46
- import 'util';
47
48
  import 'inquirer';
48
49
  import 'node:url';
49
50
  import 'node:readline/promises';
50
- import 'node-pty';
51
51
 
52
52
  const AUTO_ACTIONS = ["list", "show", "create", "edit", "pause", "resume", "rm", "run", "fire", "runs", "cancel", "ack", "report", "skill", "install", "uninstall", "help"];
53
53
  const VALUE_FLAGS = ["--name", "--rename", "--description", "--machine", "--cron", "--tz", "--every", "--at", "--spawn-dir", "--prompt", "--prompt-file", "--agent", "--model", "--permission-mode", "--sticky-key", "--send-session", "--cwd", "--env", "--timeout", "--concurrency", "--max-runtime", "--payload", "--payload-json", "--payload-file", "--dedupe-key", "--status", "--limit", "--run", "--summary", "--error", "--attention", "--host", "--home"];
@@ -4,37 +4,39 @@ var chalk = require('chalk');
4
4
  var os = require('node:os');
5
5
  var node_fs = require('node:fs');
6
6
  var path = require('node:path');
7
- var persistence = require('./limits-CmzISka2.cjs');
8
- var agentGuidance = require('./agentGuidance-DUBXppv-.cjs');
9
- var index = require('./index-eCjkm8Y2.cjs');
10
- var install = require('./install-BZOdxfPd.cjs');
11
- var spawn = require('./spawn-DxrfHTF4.cjs');
12
- var index$1 = require('./types-Bd_TGr0F.cjs');
13
- require('node:fs/promises');
7
+ var persistence = require('./limits-o29KXBgj.cjs');
8
+ var agentGuidance = require('./agentGuidance-C-CmV03f.cjs');
9
+ var index = require('./index-BbtR-Qto.cjs');
10
+ var install = require('./install-CO1ps6Wt.cjs');
11
+ var spawn = require('./spawn-CC6V2KiA.cjs');
14
12
  require('zod');
13
+ require('@paralleldrive/cuid2');
14
+ require('node:fs/promises');
15
15
  require('node:crypto');
16
16
  require('tweetnacl');
17
17
  require('node:util');
18
- require('@paralleldrive/cuid2');
18
+ require('axios');
19
+ require('socket.io-client');
20
+ require('./types-CphWjqHc.cjs');
21
+ require('node:events');
22
+ require('child_process');
23
+ require('util');
24
+ require('fs/promises');
25
+ require('crypto');
26
+ require('path');
19
27
  require('cross-spawn');
20
- require('node:readline');
21
28
  require('./terminalTitleSuggest-Dji8I0Jy.cjs');
22
- require('path');
23
29
  require('url');
24
- require('fs/promises');
25
- require('ink');
26
- require('react');
27
- require('@anthropic-ai/claude-agent-sdk');
28
- require('axios');
29
- require('node:events');
30
- require('socket.io-client');
31
30
  require('os');
32
- require('child_process');
33
31
  require('node:child_process');
32
+ require('node-pty');
34
33
  require('fs');
34
+ require('node:readline');
35
35
  require('@anthropic-ai/sandbox-runtime');
36
36
  require('expo-server-sdk');
37
- require('crypto');
37
+ require('ink');
38
+ require('react');
39
+ require('@anthropic-ai/claude-agent-sdk');
38
40
  require('ps-list');
39
41
  require('tmp');
40
42
  require('open');
@@ -45,11 +47,9 @@ require('@modelcontextprotocol/sdk/server/mcp.js');
45
47
  require('node:http');
46
48
  require('@modelcontextprotocol/sdk/server/streamableHttp.js');
47
49
  require('http');
48
- require('util');
49
50
  require('inquirer');
50
51
  require('node:url');
51
52
  require('node:readline/promises');
52
- require('node-pty');
53
53
 
54
54
  const AUTO_ACTIONS = ["list", "show", "create", "edit", "pause", "resume", "rm", "run", "fire", "runs", "cancel", "ack", "report", "skill", "install", "uninstall", "help"];
55
55
  const VALUE_FLAGS = ["--name", "--rename", "--description", "--machine", "--cron", "--tz", "--every", "--at", "--spawn-dir", "--prompt", "--prompt-file", "--agent", "--model", "--permission-mode", "--sticky-key", "--send-session", "--cwd", "--env", "--timeout", "--concurrency", "--max-runtime", "--payload", "--payload-json", "--payload-file", "--dedupe-key", "--status", "--limit", "--run", "--summary", "--error", "--attention", "--host", "--home"];
@@ -222,7 +222,7 @@ function runLine(run) {
222
222
  }
223
223
  function printRun(run) {
224
224
  console.log(runLine(run));
225
- if (run.sessionId) console.log(` session: ${index.sessionWebUrl(run.sessionId)}`);
225
+ if (run.sessionId) console.log(` session: ${agentGuidance.sessionWebUrl(run.sessionId)}`);
226
226
  if (run.stickyKey) console.log(` sticky: ${run.stickyKey}`);
227
227
  if (run.error) console.log(` error: ${run.error}`);
228
228
  if (run.summary) console.log(` summary: ${run.summary.split("\n").join("\n ")}`);
@@ -234,7 +234,7 @@ async function waitForRun(client, runId, timeoutMs) {
234
234
  const run = await client.getRun(runId);
235
235
  if (persistence.isAutomationRunTerminal(run.status)) return run;
236
236
  if (Date.now() + 3e3 > deadline) return null;
237
- await index$1.delay(3e3);
237
+ await persistence.delay(3e3);
238
238
  }
239
239
  }
240
240
  async function handleAutoCommand(args) {
@@ -404,7 +404,7 @@ async function handleAutoCommand(args) {
404
404
  if (json) {
405
405
  console.log(JSON.stringify({ run, deduplicated }));
406
406
  } else if (command.bools.has("--wait") || persistence.isAutomationRunTerminal(run.status)) printRun(run);
407
- else if (run.sessionId) console.log(` session: ${index.sessionWebUrl(run.sessionId)}`);
407
+ else if (run.sessionId) console.log(` session: ${agentGuidance.sessionWebUrl(run.sessionId)}`);
408
408
  if (persistence.isAutomationRunTerminal(run.status) && run.status !== "done") process.exitCode = 3;
409
409
  return;
410
410
  }
@@ -1,21 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var agentGuidance = require('../agentGuidance-DUBXppv-.cjs');
3
+ var agentGuidance = require('../agentGuidance-C-CmV03f.cjs');
4
4
  var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
5
5
  var stdio_js = require('@modelcontextprotocol/sdk/server/stdio.js');
6
6
  var index_js = require('@modelcontextprotocol/sdk/client/index.js');
7
7
  var streamableHttp_js = require('@modelcontextprotocol/sdk/client/streamableHttp.js');
8
8
  var z = require('zod');
9
- var persistence = require('../limits-CmzISka2.cjs');
9
+ var persistence = require('../limits-o29KXBgj.cjs');
10
10
  require('node:crypto');
11
11
  require('node:fs/promises');
12
12
  require('node:fs');
13
13
  require('node:path');
14
14
  require('node:os');
15
+ require('axios');
16
+ require('socket.io-client');
17
+ require('@paralleldrive/cuid2');
15
18
  require('tweetnacl');
16
19
  require('chalk');
17
20
  require('node:util');
18
- require('@paralleldrive/cuid2');
19
21
 
20
22
  function parseArgs(argv) {
21
23
  let url = null;
@@ -142,6 +144,7 @@ async function main() {
142
144
  }
143
145
  });
144
146
  agentGuidance.registerAutomationTools(server, (name, args) => forwardTeam(name, args));
147
+ agentGuidance.registerSessionPeerTools(server, (name, args) => forwardTeam(name, args));
145
148
  const stdio = new stdio_js.StdioServerTransport();
146
149
  await server.connect(stdio);
147
150
  }
@@ -1,19 +1,21 @@
1
- import { P as PREVIEW_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION, r as registerTeamsTools, c as registerAutomationTools } from '../agentGuidance-TLYQxsm2.mjs';
1
+ import { P as PREVIEW_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION, r as registerTeamsTools, c as registerAutomationTools, d as registerSessionPeerTools } from '../agentGuidance-C604n0Zq.mjs';
2
2
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
4
  import { Client } from '@modelcontextprotocol/sdk/client/index.js';
5
5
  import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
6
6
  import { z } from 'zod';
7
- import { C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION } from '../limits-Dt7_unH4.mjs';
7
+ import { C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION } from '../limits-DmMdchTz.mjs';
8
8
  import 'node:crypto';
9
9
  import 'node:fs/promises';
10
10
  import 'node:fs';
11
11
  import 'node:path';
12
12
  import 'node:os';
13
+ import 'axios';
14
+ import 'socket.io-client';
15
+ import '@paralleldrive/cuid2';
13
16
  import 'tweetnacl';
14
17
  import 'chalk';
15
18
  import 'node:util';
16
- import '@paralleldrive/cuid2';
17
19
 
18
20
  function parseArgs(argv) {
19
21
  let url = null;
@@ -140,6 +142,7 @@ async function main() {
140
142
  }
141
143
  });
142
144
  registerAutomationTools(server, (name, args) => forwardTeam(name, args));
145
+ registerSessionPeerTools(server, (name, args) => forwardTeam(name, args));
143
146
  const stdio = new StdioServerTransport();
144
147
  await server.connect(stdio);
145
148
  }
@@ -4,19 +4,19 @@ var fs = require('fs');
4
4
  var path = require('path');
5
5
  var os = require('os');
6
6
  var child_process = require('child_process');
7
- var persistence = require('./limits-CmzISka2.cjs');
8
- var index = require('./index-eCjkm8Y2.cjs');
7
+ var persistence = require('./limits-o29KXBgj.cjs');
8
+ var index = require('./index-BbtR-Qto.cjs');
9
+ require('zod');
10
+ require('@paralleldrive/cuid2');
9
11
  require('node:fs/promises');
10
12
  require('node:fs');
11
- require('node:os');
12
- require('node:path');
13
- require('zod');
14
13
  require('node:crypto');
15
14
  require('tweetnacl');
16
15
  require('chalk');
17
16
  require('node:util');
18
- require('@paralleldrive/cuid2');
19
- require('./types-Bd_TGr0F.cjs');
17
+ require('node:os');
18
+ require('node:path');
19
+ require('./types-CphWjqHc.cjs');
20
20
  require('axios');
21
21
  require('node:events');
22
22
  require('socket.io-client');
@@ -31,7 +31,7 @@ require('node-pty');
31
31
  require('node:readline');
32
32
  require('@anthropic-ai/sandbox-runtime');
33
33
  require('expo-server-sdk');
34
- require('./agentGuidance-DUBXppv-.cjs');
34
+ require('./agentGuidance-C-CmV03f.cjs');
35
35
  require('ink');
36
36
  require('react');
37
37
  require('@anthropic-ai/claude-agent-sdk');
@@ -2,19 +2,19 @@ import { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
2
2
  import { join } from 'path';
3
3
  import { homedir } from 'os';
4
4
  import { execSync } from 'child_process';
5
- import { l as logger } from './limits-Dt7_unH4.mjs';
6
- import { f as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './index-BELV05ko.mjs';
5
+ import { l as logger } from './limits-DmMdchTz.mjs';
6
+ import { D as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './index-DAAreiRF.mjs';
7
+ import 'zod';
8
+ import '@paralleldrive/cuid2';
7
9
  import 'node:fs/promises';
8
10
  import 'node:fs';
9
- import 'node:os';
10
- import 'node:path';
11
- import 'zod';
12
11
  import 'node:crypto';
13
12
  import 'tweetnacl';
14
13
  import 'chalk';
15
14
  import 'node:util';
16
- import '@paralleldrive/cuid2';
17
- import './types-D5RWyBE5.mjs';
15
+ import 'node:os';
16
+ import 'node:path';
17
+ import './types-BEVzYSoV.mjs';
18
18
  import 'axios';
19
19
  import 'node:events';
20
20
  import 'socket.io-client';
@@ -29,7 +29,7 @@ import 'node-pty';
29
29
  import 'node:readline';
30
30
  import '@anthropic-ai/sandbox-runtime';
31
31
  import 'expo-server-sdk';
32
- import './agentGuidance-TLYQxsm2.mjs';
32
+ import './agentGuidance-C604n0Zq.mjs';
33
33
  import 'ink';
34
34
  import 'react';
35
35
  import '@anthropic-ai/claude-agent-sdk';
@@ -1,33 +1,33 @@
1
- import { D as DefaultTransport, A as AcpBackend } from './AcpBackend-Ckyadhf4.mjs';
2
- export { a as DEFAULT_IDLE_TIMEOUT_MS, b as DEFAULT_TOOL_CALL_TIMEOUT_MS, e as extractErrorDetail, f as formatDuration, c as formatDurationMinutes, h as handleAgentMessageChunk, d as handleAgentThoughtChunk, g as handleLegacyMessageChunk, i as handlePlanUpdate, j as handleThinkingUpdate, k as handleToolCall, l as handleToolCallUpdate, p as parseArgsFromContent } from './AcpBackend-Ckyadhf4.mjs';
3
- import { r as readSettings, j as encodeBase64, l as logger, k as BUILTIN_TODO_DISCOVERY, c as configuration } from './limits-Dt7_unH4.mjs';
4
- import { A as AcpSessionManager } from './AcpSessionManager-H8t4P-IW.mjs';
5
- import { C as initialMachineMetadata, E as createSessionMetadata, F as setupOfflineReconnection, H as StreamRelay, I as MessageQueue2, J as hashObject, K as startHappyServer, L as registerAgentAttachmentDownloads, N as TitleGenerator, O as registerKillSessionHandler, Q as CLAUDE_ATTACHMENT_KINDS, R as stageClaudeAttachments, U as appendStagedAttachmentsToPrompt, V as BasePermissionHandler, W as writeSessionModeFile, X as normalizeAcpPermissionMode, Y as removeSessionModeFile } from './index-BELV05ko.mjs';
6
- import { p as preparePiTeamsRuntime } from './piRuntime-C4E4pgye.mjs';
1
+ import { D as DefaultTransport, A as AcpBackend } from './AcpBackend-C3nc1u-s.mjs';
2
+ export { a as DEFAULT_IDLE_TIMEOUT_MS, b as DEFAULT_TOOL_CALL_TIMEOUT_MS, e as extractErrorDetail, f as formatDuration, c as formatDurationMinutes, h as handleAgentMessageChunk, d as handleAgentThoughtChunk, g as handleLegacyMessageChunk, i as handlePlanUpdate, j as handleThinkingUpdate, k as handleToolCall, l as handleToolCallUpdate, p as parseArgsFromContent } from './AcpBackend-C3nc1u-s.mjs';
3
+ import { r as readSettings, v as notifyDaemonSessionStarted, w as encodeBase64, l as logger, x as BUILTIN_TODO_DISCOVERY, c as configuration, y as reportSessionEditToDaemon } from './limits-DmMdchTz.mjs';
4
+ import { A as AcpSessionManager } from './AcpSessionManager-dN3k1LbI.mjs';
5
+ import { h as initialMachineMetadata, j as createSessionMetadata, k as setupOfflineReconnection, l as StreamRelay, M as MessageQueue2, m as hashObject, n as startHappyServer, o as registerAgentAttachmentDownloads, u as TitleGenerator, v as registerKillSessionHandler, C as CLAUDE_ATTACHMENT_KINDS, w as stageClaudeAttachments, x as appendStagedAttachmentsToPrompt, B as BasePermissionHandler, E as EditReportThrottle, y as extractAcpEditPaths, z as writeSessionModeFile, F as normalizeAcpPermissionMode, H as removeSessionModeFile } from './index-DAAreiRF.mjs';
6
+ import { p as preparePiTeamsRuntime } from './piRuntime-Cu2-8nOT.mjs';
7
7
  import { randomUUID } from 'node:crypto';
8
8
  import { join } from 'node:path';
9
- import { o as connectionState, A as ApiClient, q as notifyDaemonSessionStarted } from './types-D5RWyBE5.mjs';
9
+ import { h as connectionState, A as ApiClient } from './types-BEVzYSoV.mjs';
10
10
  import { p as projectPath } from './terminalTitleSuggest-DKgX3osW.mjs';
11
11
  import 'node:child_process';
12
12
  import '@agentclientprotocol/sdk';
13
+ import 'zod';
14
+ import '@paralleldrive/cuid2';
13
15
  import 'node:fs/promises';
14
16
  import 'node:fs';
15
- import 'node:os';
16
- import 'zod';
17
17
  import 'tweetnacl';
18
18
  import 'chalk';
19
19
  import 'node:util';
20
- import '@paralleldrive/cuid2';
20
+ import 'node:os';
21
21
  import 'cross-spawn';
22
22
  import 'node:readline';
23
- import './agentGuidance-TLYQxsm2.mjs';
23
+ import './agentGuidance-C604n0Zq.mjs';
24
+ import 'axios';
25
+ import 'socket.io-client';
24
26
  import 'fs/promises';
25
27
  import 'ink';
26
28
  import 'react';
27
29
  import '@anthropic-ai/claude-agent-sdk';
28
- import 'axios';
29
30
  import 'node:events';
30
- import 'socket.io-client';
31
31
  import 'os';
32
32
  import 'child_process';
33
33
  import 'fs';
@@ -702,6 +702,8 @@ async function runAcp(opts) {
702
702
  HAPPY_MCP_URL: happyServer.url,
703
703
  ...happyServer.contextUsageUrl ? { HAPPY_CONTEXT_USAGE_URL: happyServer.contextUsageUrl } : {},
704
704
  HAPPY_SESSION_ID: session.sessionId,
705
+ // B-497: sender identity for `very-happy sessions message|peers` in this shell.
706
+ VH_PEER_SESSION_ID: session.sessionId,
705
707
  HAPPY_PERMISSION_MODE: initialPermissionMode
706
708
  },
707
709
  mcpServers,
@@ -895,6 +897,7 @@ async function runAcp(opts) {
895
897
  if (modelSelector) return resolveRequestedCode(modelSelector.options, requested) === modelSelector.currentCode;
896
898
  return !!legacyModels && resolveRequestedLegacyModelCode(legacyModels, requested) === legacyModels.currentModelId;
897
899
  };
900
+ const editThrottle = new EditReportThrottle();
898
901
  const onBackendMessage = (msg) => {
899
902
  if (verbose) {
900
903
  logAcp("muted", `Outgoing raw backend message from ${opts.agentName}: ${formatUnknownForConsole(msg, ACP_RAW_PREVIEW_CHARS)}`);
@@ -1027,6 +1030,11 @@ async function runAcp(opts) {
1027
1030
  if (msg.type === "token-count") {
1028
1031
  session.sendAgentUsageSnapshot(resolveSessionFlavor(opts.agentName), msg);
1029
1032
  }
1033
+ if (msg.type === "tool-call") {
1034
+ for (const edit of editThrottle.take(extractAcpEditPaths(msg.toolName, msg.args))) {
1035
+ reportSessionEditToDaemon({ sessionId: session.sessionId, path: edit.path, tool: edit.tool, cwd: process.cwd() });
1036
+ }
1037
+ }
1030
1038
  sendEnvelopes(sessionManager.mapMessage(msg));
1031
1039
  };
1032
1040
  backend.onMessage(onBackendMessage);
@@ -1,34 +1,34 @@
1
1
  'use strict';
2
2
 
3
- var AcpBackend = require('./AcpBackend-B14xNj5L.cjs');
4
- var persistence = require('./limits-CmzISka2.cjs');
5
- var AcpSessionManager = require('./AcpSessionManager-CCHmPdrR.cjs');
6
- var index$1 = require('./index-eCjkm8Y2.cjs');
7
- var piRuntime = require('./piRuntime-BesGGPME.cjs');
3
+ var AcpBackend = require('./AcpBackend-BHe1_F1h.cjs');
4
+ var persistence = require('./limits-o29KXBgj.cjs');
5
+ var AcpSessionManager = require('./AcpSessionManager-BVxkQnNf.cjs');
6
+ var index$1 = require('./index-BbtR-Qto.cjs');
7
+ var piRuntime = require('./piRuntime-Dj5WnqzJ.cjs');
8
8
  var node_crypto = require('node:crypto');
9
9
  var path = require('node:path');
10
- var index = require('./types-Bd_TGr0F.cjs');
10
+ var index = require('./types-CphWjqHc.cjs');
11
11
  var terminalTitleSuggest = require('./terminalTitleSuggest-Dji8I0Jy.cjs');
12
12
  require('node:child_process');
13
13
  require('@agentclientprotocol/sdk');
14
+ require('zod');
15
+ require('@paralleldrive/cuid2');
14
16
  require('node:fs/promises');
15
17
  require('node:fs');
16
- require('node:os');
17
- require('zod');
18
18
  require('tweetnacl');
19
19
  require('chalk');
20
20
  require('node:util');
21
- require('@paralleldrive/cuid2');
21
+ require('node:os');
22
22
  require('cross-spawn');
23
23
  require('node:readline');
24
- require('./agentGuidance-DUBXppv-.cjs');
24
+ require('./agentGuidance-C-CmV03f.cjs');
25
+ require('axios');
26
+ require('socket.io-client');
25
27
  require('fs/promises');
26
28
  require('ink');
27
29
  require('react');
28
30
  require('@anthropic-ai/claude-agent-sdk');
29
- require('axios');
30
31
  require('node:events');
31
- require('socket.io-client');
32
32
  require('os');
33
33
  require('child_process');
34
34
  require('fs');
@@ -629,7 +629,7 @@ async function runAcp(opts) {
629
629
  session = initialSession;
630
630
  if (response) {
631
631
  try {
632
- await index.notifyDaemonSessionStarted(response.id, metadata, {
632
+ await persistence.notifyDaemonSessionStarted(response.id, metadata, {
633
633
  encryptionKey: persistence.encodeBase64(response.encryptionKey),
634
634
  encryptionVariant: response.encryptionVariant,
635
635
  seq: response.seq,
@@ -703,6 +703,8 @@ async function runAcp(opts) {
703
703
  HAPPY_MCP_URL: happyServer.url,
704
704
  ...happyServer.contextUsageUrl ? { HAPPY_CONTEXT_USAGE_URL: happyServer.contextUsageUrl } : {},
705
705
  HAPPY_SESSION_ID: session.sessionId,
706
+ // B-497: sender identity for `very-happy sessions message|peers` in this shell.
707
+ VH_PEER_SESSION_ID: session.sessionId,
706
708
  HAPPY_PERMISSION_MODE: initialPermissionMode
707
709
  },
708
710
  mcpServers,
@@ -896,6 +898,7 @@ async function runAcp(opts) {
896
898
  if (modelSelector) return resolveRequestedCode(modelSelector.options, requested) === modelSelector.currentCode;
897
899
  return !!legacyModels && resolveRequestedLegacyModelCode(legacyModels, requested) === legacyModels.currentModelId;
898
900
  };
901
+ const editThrottle = new index$1.EditReportThrottle();
899
902
  const onBackendMessage = (msg) => {
900
903
  if (verbose) {
901
904
  logAcp("muted", `Outgoing raw backend message from ${opts.agentName}: ${formatUnknownForConsole(msg, ACP_RAW_PREVIEW_CHARS)}`);
@@ -1028,6 +1031,11 @@ async function runAcp(opts) {
1028
1031
  if (msg.type === "token-count") {
1029
1032
  session.sendAgentUsageSnapshot(resolveSessionFlavor(opts.agentName), msg);
1030
1033
  }
1034
+ if (msg.type === "tool-call") {
1035
+ for (const edit of editThrottle.take(index$1.extractAcpEditPaths(msg.toolName, msg.args))) {
1036
+ persistence.reportSessionEditToDaemon({ sessionId: session.sessionId, path: edit.path, tool: edit.tool, cwd: process.cwd() });
1037
+ }
1038
+ }
1031
1039
  sendEnvelopes(sessionManager.mapMessage(msg));
1032
1040
  };
1033
1041
  backend.onMessage(onBackendMessage);