very-happy-cli 0.2.143 → 0.2.145

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 (49) hide show
  1. package/dist/{AcpBackend-LEgn9vol.mjs → AcpBackend-BITeBnbV.mjs} +2 -2
  2. package/dist/{AcpBackend-B8oehrfU.cjs → AcpBackend-FPv5uXFa.cjs} +30 -30
  3. package/dist/{AcpSessionManager-BomdfyhZ.cjs → AcpSessionManager-vqLzM219.cjs} +9 -9
  4. package/dist/{AcpSessionManager-Yfbs5bi2.mjs → AcpSessionManager-w2srpWQJ.mjs} +1 -1
  5. package/dist/{agentGuidance-CJSl54ua.cjs → agentGuidance-Bd6GEiYp.cjs} +1 -1
  6. package/dist/{agentGuidance-BU4hxm8M.mjs → agentGuidance-HFHrz3C1.mjs} +1 -1
  7. package/dist/agentHome-CGl7FF7a.cjs +113 -0
  8. package/dist/agentHome-DBqr8rpv.mjs +107 -0
  9. package/dist/codex/happyMcpStdioBridge.cjs +2 -2
  10. package/dist/codex/happyMcpStdioBridge.mjs +2 -2
  11. package/dist/{config-euZ_K5Lo.mjs → config-B9zAvnGT.mjs} +4 -4
  12. package/dist/{config-CfqWoHmO.cjs → config-CPfFuHP6.cjs} +4 -4
  13. package/dist/{index-ZOMC8Gzn.mjs → index-BzLZu_aF.mjs} +8 -8
  14. package/dist/{index-PM_SsRpw.mjs → index-CxK0l_t0.mjs} +4 -4
  15. package/dist/{index-BREtikhm.cjs → index-D4Smqppj.cjs} +4 -4
  16. package/dist/{index-C510dSUn.cjs → index-DhwtFJEe.cjs} +309 -212
  17. package/dist/{index-Bj68y6ee.cjs → index-avfJgX4p.cjs} +31 -31
  18. package/dist/{index-DoiG88oX.mjs → index-eBrE-0R1.mjs} +136 -39
  19. package/dist/index.cjs +4 -4
  20. package/dist/index.mjs +4 -4
  21. package/dist/{installTerminalHooks-BGVQqbgq.mjs → installTerminalHooks-Dq1MFFDQ.mjs} +4 -4
  22. package/dist/{installTerminalHooks-C_jraM1j.cjs → installTerminalHooks-DspFGxBI.cjs} +4 -4
  23. package/dist/lib.cjs +5 -5
  24. package/dist/lib.mjs +2 -2
  25. package/dist/{limits-uABU-yq3.mjs → limits-CzWD9hWU.mjs} +8 -8
  26. package/dist/{limits-B3oVgqBJ.cjs → limits-DGZB-OVl.cjs} +7 -7
  27. package/dist/{mcp-G-3lL_KH.cjs → mcp-BioGrTC_.cjs} +9 -9
  28. package/dist/{mcp-CfbTQXyh.mjs → mcp-L1Yq25LB.mjs} +4 -4
  29. package/dist/{piRuntime-CWE-1W-y.cjs → piRuntime-DodWS0UI.cjs} +2 -2
  30. package/dist/{piRuntime-BE6iYQwU.mjs → piRuntime-UdVG4eJ7.mjs} +2 -2
  31. package/dist/{piTerminal-Dyc_9pGP.cjs → piTerminal-6P00O_w8.cjs} +6 -6
  32. package/dist/{piTerminal-rqKn1_Zy.mjs → piTerminal-BIRroC_N.mjs} +6 -6
  33. package/dist/{runGemini-BMlXIaTL.mjs → runGemini-B-It6K8t.mjs} +6 -6
  34. package/dist/{runGemini-C6qMFzcn.cjs → runGemini-ChCHjnIh.cjs} +24 -24
  35. package/dist/{runOpenClaw-C2_aCP7v.cjs → runOpenClaw-Cc4_zmHz.cjs} +26 -26
  36. package/dist/{runOpenClaw-CoO5Vp3S.mjs → runOpenClaw-DET6LY2v.mjs} +5 -5
  37. package/dist/{send-CBrJylJc.mjs → send-CPayvXBm.mjs} +4 -4
  38. package/dist/{send-DGVwmB-p.cjs → send-LBjLfAos.cjs} +4 -4
  39. package/dist/{sessions-DbLubh2N.mjs → sessions-CJUEp43_.mjs} +4 -4
  40. package/dist/{sessions-DyQXMN-8.cjs → sessions-WBowxNO-.cjs} +5 -5
  41. package/dist/{spawn-DIyFOn3W.cjs → spawn-BqgZc7YE.cjs} +6 -6
  42. package/dist/{spawn-wkkxEGdF.mjs → spawn-Dcetf5Jt.mjs} +4 -4
  43. package/dist/{teams-BTyVFK3P.mjs → teams-CW_Zb2Q1.mjs} +4 -4
  44. package/dist/{teams-QOkGFjkJ.cjs → teams-eIUxGmqg.cjs} +4 -4
  45. package/dist/{todo-DoLkqdBe.mjs → todo-CV5fwHg_.mjs} +3 -3
  46. package/dist/{todo-Du6pjwx_.cjs → todo-DeouLiGa.cjs} +5 -5
  47. package/dist/{types-BG4gFjLL.mjs → types-BbvxVQF3.mjs} +321 -11
  48. package/dist/{types-6__wqmmP.cjs → types-Bqo68u61.cjs} +328 -9
  49. package/package.json +7 -7
package/dist/index.cjs CHANGED
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  require('chalk');
4
- require('./index-C510dSUn.cjs');
5
- require('./limits-B3oVgqBJ.cjs');
4
+ require('./index-DhwtFJEe.cjs');
5
+ require('./limits-DGZB-OVl.cjs');
6
6
  require('zod');
7
- require('./types-6__wqmmP.cjs');
7
+ require('./types-Bqo68u61.cjs');
8
8
  require('node:child_process');
9
9
  require('node:os');
10
10
  require('node:crypto');
@@ -15,7 +15,7 @@ require('node:fs');
15
15
  require('./projectPath-ChLhdOyt.cjs');
16
16
  require('path');
17
17
  require('url');
18
- require('./agentGuidance-CJSl54ua.cjs');
18
+ require('./agentGuidance-Bd6GEiYp.cjs');
19
19
  require('node:fs/promises');
20
20
  require('fs/promises');
21
21
  require('ink');
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import 'chalk';
2
- import './index-DoiG88oX.mjs';
3
- import './limits-uABU-yq3.mjs';
2
+ import './index-eBrE-0R1.mjs';
3
+ import './limits-CzWD9hWU.mjs';
4
4
  import 'zod';
5
- import './types-BG4gFjLL.mjs';
5
+ import './types-BbvxVQF3.mjs';
6
6
  import 'node:child_process';
7
7
  import 'node:os';
8
8
  import 'node:crypto';
@@ -13,7 +13,7 @@ import 'node:fs';
13
13
  import './projectPath-CSpqWdxp.mjs';
14
14
  import 'path';
15
15
  import 'url';
16
- import './agentGuidance-BU4hxm8M.mjs';
16
+ import './agentGuidance-HFHrz3C1.mjs';
17
17
  import 'node:fs/promises';
18
18
  import 'fs/promises';
19
19
  import 'ink';
@@ -4,13 +4,13 @@ import { homedir } from 'node:os';
4
4
  import { spawnSync } from 'node:child_process';
5
5
  import chalk from 'chalk';
6
6
  import { p as projectPath } from './projectPath-CSpqWdxp.mjs';
7
- import { t as tmuxSupportsSessionEnv } from './index-DoiG88oX.mjs';
7
+ import { t as tmuxSupportsSessionEnv } from './index-eBrE-0R1.mjs';
8
8
  import 'path';
9
9
  import 'url';
10
10
  import 'node:crypto';
11
- import './types-BG4gFjLL.mjs';
11
+ import './types-BbvxVQF3.mjs';
12
12
  import 'axios';
13
- import './limits-uABU-yq3.mjs';
13
+ import './limits-CzWD9hWU.mjs';
14
14
  import 'node:fs/promises';
15
15
  import 'zod';
16
16
  import 'tweetnacl';
@@ -29,7 +29,7 @@ import 'fs';
29
29
  import 'node:readline';
30
30
  import '@anthropic-ai/sandbox-runtime';
31
31
  import 'expo-server-sdk';
32
- import './agentGuidance-BU4hxm8M.mjs';
32
+ import './agentGuidance-HFHrz3C1.mjs';
33
33
  import 'ink';
34
34
  import 'react';
35
35
  import '@anthropic-ai/claude-agent-sdk';
@@ -6,13 +6,13 @@ var os = require('node:os');
6
6
  var node_child_process = require('node:child_process');
7
7
  var chalk = require('chalk');
8
8
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
9
- var index = require('./index-C510dSUn.cjs');
9
+ var index = require('./index-DhwtFJEe.cjs');
10
10
  require('path');
11
11
  require('url');
12
12
  require('node:crypto');
13
- require('./types-6__wqmmP.cjs');
13
+ require('./types-Bqo68u61.cjs');
14
14
  require('axios');
15
- require('./limits-B3oVgqBJ.cjs');
15
+ require('./limits-DGZB-OVl.cjs');
16
16
  require('node:fs/promises');
17
17
  require('zod');
18
18
  require('tweetnacl');
@@ -31,7 +31,7 @@ require('fs');
31
31
  require('node:readline');
32
32
  require('@anthropic-ai/sandbox-runtime');
33
33
  require('expo-server-sdk');
34
- require('./agentGuidance-CJSl54ua.cjs');
34
+ require('./agentGuidance-Bd6GEiYp.cjs');
35
35
  require('ink');
36
36
  require('react');
37
37
  require('@anthropic-ai/claude-agent-sdk');
package/dist/lib.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var api = require('./types-6__wqmmP.cjs');
4
- var persistence = require('./limits-B3oVgqBJ.cjs');
3
+ var index = require('./types-Bqo68u61.cjs');
4
+ var persistence = require('./limits-DGZB-OVl.cjs');
5
5
  require('axios');
6
6
  require('node:events');
7
7
  require('socket.io-client');
@@ -33,8 +33,8 @@ require('node:util');
33
33
 
34
34
 
35
35
 
36
- exports.ApiClient = api.ApiClient;
37
- exports.ApiSessionClient = api.ApiSessionClient;
38
- exports.RawJSONLinesSchema = api.RawJSONLinesSchema;
36
+ exports.ApiClient = index.ApiClient;
37
+ exports.ApiSessionClient = index.ApiSessionClient;
38
+ exports.RawJSONLinesSchema = index.RawJSONLinesSchema;
39
39
  exports.configuration = persistence.configuration;
40
40
  exports.logger = persistence.logger;
package/dist/lib.mjs CHANGED
@@ -1,5 +1,5 @@
1
- export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema } from './types-BG4gFjLL.mjs';
2
- export { c as configuration, l as logger } from './limits-uABU-yq3.mjs';
1
+ export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema } from './types-BbvxVQF3.mjs';
2
+ export { c as configuration, l as logger } from './limits-CzWD9hWU.mjs';
3
3
  import 'axios';
4
4
  import 'node:events';
5
5
  import 'socket.io-client';
@@ -9,7 +9,7 @@ import chalk from 'chalk';
9
9
  import { inspect } from 'node:util';
10
10
 
11
11
  var name = "very-happy-cli";
12
- var version = "0.2.143";
12
+ var version = "0.2.145";
13
13
  var description = "Remote multi-agent workspace CLI with deep Claude integration, native terminal streaming, and self-hosting.";
14
14
  var author = "Kirill Dubovitskiy";
15
15
  var contributors = [
@@ -126,12 +126,12 @@ var dependencies = {
126
126
  zod: "^4.0.0"
127
127
  };
128
128
  var optionalDependencies = {
129
- "very-happy-tools-arm64-darwin": "0.2.143",
130
- "very-happy-tools-x64-darwin": "0.2.143",
131
- "very-happy-tools-arm64-linux": "0.2.143",
132
- "very-happy-tools-x64-linux": "0.2.143",
133
- "very-happy-tools-arm64-win32": "0.2.143",
134
- "very-happy-tools-x64-win32": "0.2.143"
129
+ "very-happy-tools-arm64-darwin": "0.2.145",
130
+ "very-happy-tools-x64-darwin": "0.2.145",
131
+ "very-happy-tools-arm64-linux": "0.2.145",
132
+ "very-happy-tools-x64-linux": "0.2.145",
133
+ "very-happy-tools-arm64-win32": "0.2.145",
134
+ "very-happy-tools-x64-win32": "0.2.145"
135
135
  };
136
136
  var devDependencies = {
137
137
  "@slopus/happy-wire": "workspace:*",
@@ -1162,4 +1162,4 @@ function prepareClipboardHistoryText(input) {
1162
1162
  return { text, truncated: true, totalBytes: prepared.totalBytes };
1163
1163
  }
1164
1164
 
1165
- export { libsodiumPublicKeyFromSecretKey as A, getRandomBytes as B, CLIPBOARD_TOOL_NAME as C, redactLogValue as D, ensurePrivateDirectory as E, hardenPrivateFile as F, readCredentials as G, readSettingsOutcome as H, updateSettings as I, encodeBase64Url as J, writeCredentialsLegacy as K, writeCredentialsDataKey as L, decryptWithDataKey as M, decryptLegacy as N, persistSession as O, acquireDaemonLock as P, deletePersistedSessions as Q, writeDaemonState as R, writeSettings as S, releaseDaemonLock as T, clearCredentials as U, clearMachineId as V, SandboxConfigSchema as W, getLatestDaemonLog as X, persistence as Y, CLIPBOARD_TOOL_TITLE as a, CLIPBOARD_TOOL_DESCRIPTION as b, configuration as c, readCredentialsForConfiguredRelay as d, CLIPBOARD_MAX_BYTES as e, readSettings as f, encodeBase64 as g, ensurePrivateDirectorySync as h, hardenPrivateFileSync as i, encrypt as j, decrypt as k, logger as l, decodeBase64 as m, normalizeHttpEndpoint as n, readDaemonState as o, packageJson as p, clearDaemonState as q, readPersistedSessions as r, decryptBlob as s, prepareClipboardText as t, prepareClipboardHistoryText as u, credentialRelayProblem as v, writePrivateFileSync as w, readTrackedClaudeSessionIds as x, readTrackedCodexThreadIds as y, libsodiumEncryptForPublicKey as z };
1165
+ export { libsodiumEncryptForPublicKey as A, libsodiumPublicKeyFromSecretKey as B, CLIPBOARD_TOOL_NAME as C, getRandomBytes as D, redactLogValue as E, ensurePrivateDirectory as F, hardenPrivateFile as G, readCredentials as H, readSettingsOutcome as I, encodeBase64Url as J, writeCredentialsLegacy as K, writeCredentialsDataKey as L, decryptWithDataKey as M, decryptLegacy as N, persistSession as O, acquireDaemonLock as P, deletePersistedSessions as Q, writeDaemonState as R, writeSettings as S, releaseDaemonLock as T, clearCredentials as U, clearMachineId as V, SandboxConfigSchema as W, getLatestDaemonLog as X, persistence as Y, CLIPBOARD_TOOL_TITLE as a, CLIPBOARD_TOOL_DESCRIPTION as b, configuration as c, readPersistedSessions as d, readCredentialsForConfiguredRelay as e, CLIPBOARD_MAX_BYTES as f, encodeBase64 as g, ensurePrivateDirectorySync as h, hardenPrivateFileSync as i, encrypt as j, decrypt as k, logger as l, decodeBase64 as m, normalizeHttpEndpoint as n, readDaemonState as o, packageJson as p, clearDaemonState as q, readSettings as r, decryptBlob as s, prepareClipboardText as t, updateSettings as u, prepareClipboardHistoryText as v, writePrivateFileSync as w, credentialRelayProblem as x, readTrackedClaudeSessionIds as y, readTrackedCodexThreadIds as z };
@@ -30,7 +30,7 @@ function _interopNamespaceDefault(e) {
30
30
  var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
31
31
 
32
32
  var name = "very-happy-cli";
33
- var version = "0.2.143";
33
+ var version = "0.2.145";
34
34
  var description = "Remote multi-agent workspace CLI with deep Claude integration, native terminal streaming, and self-hosting.";
35
35
  var author = "Kirill Dubovitskiy";
36
36
  var contributors = [
@@ -147,12 +147,12 @@ var dependencies = {
147
147
  zod: "^4.0.0"
148
148
  };
149
149
  var optionalDependencies = {
150
- "very-happy-tools-arm64-darwin": "0.2.143",
151
- "very-happy-tools-x64-darwin": "0.2.143",
152
- "very-happy-tools-arm64-linux": "0.2.143",
153
- "very-happy-tools-x64-linux": "0.2.143",
154
- "very-happy-tools-arm64-win32": "0.2.143",
155
- "very-happy-tools-x64-win32": "0.2.143"
150
+ "very-happy-tools-arm64-darwin": "0.2.145",
151
+ "very-happy-tools-x64-darwin": "0.2.145",
152
+ "very-happy-tools-arm64-linux": "0.2.145",
153
+ "very-happy-tools-x64-linux": "0.2.145",
154
+ "very-happy-tools-arm64-win32": "0.2.145",
155
+ "very-happy-tools-x64-win32": "0.2.145"
156
156
  };
157
157
  var devDependencies = {
158
158
  "@slopus/happy-wire": "workspace:*",
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var agentGuidance = require('./agentGuidance-CJSl54ua.cjs');
3
+ var agentGuidance = require('./agentGuidance-Bd6GEiYp.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 z = require('zod');
7
- var api = require('./types-6__wqmmP.cjs');
8
- var persistence = require('./limits-B3oVgqBJ.cjs');
9
- var index = require('./index-C510dSUn.cjs');
7
+ var index = require('./types-Bqo68u61.cjs');
8
+ var persistence = require('./limits-DGZB-OVl.cjs');
9
+ var index$1 = require('./index-DhwtFJEe.cjs');
10
10
  require('node:fs/promises');
11
11
  require('node:os');
12
12
  require('node:crypto');
@@ -67,7 +67,7 @@ function registerMcpTools(server, surface, terminalId = null) {
67
67
  }
68
68
  }, async (args) => {
69
69
  persistence.logger.debug(`[MCP] copy_to_clipboard called (${args.text.length} chars)`);
70
- const result = await api.pushClipboardViaDaemon(args.text, terminalId ?? void 0);
70
+ const result = await index.pushClipboardViaDaemon(args.text, terminalId ?? void 0);
71
71
  if (result.delivered) {
72
72
  const note = result.truncated ? ` (truncated to ${persistence.CLIPBOARD_MAX_BYTES / 1024}KB \u2014 original was ${result.totalBytes} bytes)` : "";
73
73
  return {
@@ -95,9 +95,9 @@ function registerMcpTools(server, surface, terminalId = null) {
95
95
  mode: z.z.enum(["file", "diff"]).optional().describe("'file' (default) previews the file; 'diff' is reserved and currently falls back to 'file'")
96
96
  }
97
97
  }, async (args) => {
98
- const verdict = index.checkPreviewPath(args.path);
98
+ const verdict = index$1.checkPreviewPath(args.path);
99
99
  if (verdict.deniedReason) return { content: [{ type: "text", text: verdict.deniedReason }], isError: true };
100
- const result = await api.pushFilePreviewViaDaemon(terminalId, verdict.resolved, args.mode ?? "file");
100
+ const result = await index.pushFilePreviewViaDaemon(terminalId, verdict.resolved, args.mode ?? "file");
101
101
  return {
102
102
  content: [{ type: "text", text: result.delivered ? `Queued a preview request for ${verdict.resolved}. This does not confirm that a browser opened it.` : `Failed to request preview: ${result.error || "unknown error"}` }],
103
103
  isError: !result.delivered
@@ -111,7 +111,7 @@ function registerMcpTools(server, surface, terminalId = null) {
111
111
  }
112
112
  }, async (args) => {
113
113
  persistence.logger.debug(`[MCP] change_title called for terminal ${terminalId}`);
114
- const result = await api.setTerminalTitleViaDaemon(terminalId, args.title);
114
+ const result = await index.setTerminalTitleViaDaemon(terminalId, args.title);
115
115
  if (result.ok) {
116
116
  return {
117
117
  content: [{ type: "text", text: `Successfully changed terminal title to: "${args.title}"` }],
@@ -128,7 +128,7 @@ function registerMcpTools(server, surface, terminalId = null) {
128
128
  });
129
129
  }
130
130
  if (surface === "assistant" && !process.env.VH_TEAM_SCOPE_FILE) {
131
- index.registerAssistantSessionTools(server);
131
+ index$1.registerAssistantSessionTools(server);
132
132
  }
133
133
  }
134
134
  async function handleMcpCommand(terminalToolsOnly = false) {
@@ -1,10 +1,10 @@
1
- import { r as registerTeamsTools, P as PREVIEW_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION } from './agentGuidance-BU4hxm8M.mjs';
1
+ import { r as registerTeamsTools, P as PREVIEW_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION } from './agentGuidance-HFHrz3C1.mjs';
2
2
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
4
  import { z } from 'zod';
5
- import { p as pushClipboardViaDaemon, f as pushFilePreviewViaDaemon, g as setTerminalTitleViaDaemon } from './types-BG4gFjLL.mjs';
6
- import { l as logger, C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, e as CLIPBOARD_MAX_BYTES } from './limits-uABU-yq3.mjs';
7
- import { h as checkPreviewPath, j as registerAssistantSessionTools } from './index-DoiG88oX.mjs';
5
+ import { j as pushClipboardViaDaemon, k as pushFilePreviewViaDaemon, l as setTerminalTitleViaDaemon } from './types-BbvxVQF3.mjs';
6
+ import { l as logger, C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, f as CLIPBOARD_MAX_BYTES } from './limits-CzWD9hWU.mjs';
7
+ import { h as checkPreviewPath, j as registerAssistantSessionTools } from './index-eBrE-0R1.mjs';
8
8
  import 'node:fs/promises';
9
9
  import 'node:os';
10
10
  import 'node:crypto';
@@ -3,8 +3,8 @@
3
3
  var promises = require('node:fs/promises');
4
4
  var node_crypto = require('node:crypto');
5
5
  var path = require('node:path');
6
- var persistence = require('./limits-B3oVgqBJ.cjs');
7
- var index = require('./index-C510dSUn.cjs');
6
+ var persistence = require('./limits-DGZB-OVl.cjs');
7
+ var index = require('./index-DhwtFJEe.cjs');
8
8
 
9
9
  async function publish(path, content, mode) {
10
10
  const temporary = `${path}.${node_crypto.randomUUID()}.new`;
@@ -1,8 +1,8 @@
1
1
  import { mkdir, chmod, writeFile, rename } from 'node:fs/promises';
2
2
  import { randomUUID } from 'node:crypto';
3
3
  import { join } from 'node:path';
4
- import { c as configuration } from './limits-uABU-yq3.mjs';
5
- import { P as PI_TEAMS_EXTENSION } from './index-DoiG88oX.mjs';
4
+ import { c as configuration } from './limits-CzWD9hWU.mjs';
5
+ import { P as PI_TEAMS_EXTENSION } from './index-eBrE-0R1.mjs';
6
6
 
7
7
  async function publish(path, content, mode) {
8
8
  const temporary = `${path}.${randomUUID()}.new`;
@@ -5,21 +5,21 @@ var node_crypto = require('node:crypto');
5
5
  var node_http = require('node:http');
6
6
  var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
7
7
  var streamableHttp_js = require('@modelcontextprotocol/sdk/server/streamableHttp.js');
8
- var piRuntime = require('./piRuntime-CWE-1W-y.cjs');
9
- var mcp = require('./mcp-G-3lL_KH.cjs');
10
- require('./agentGuidance-CJSl54ua.cjs');
8
+ var piRuntime = require('./piRuntime-DodWS0UI.cjs');
9
+ var mcp = require('./mcp-BioGrTC_.cjs');
10
+ require('./agentGuidance-Bd6GEiYp.cjs');
11
11
  require('node:fs/promises');
12
12
  require('node:os');
13
13
  require('zod');
14
- require('./limits-B3oVgqBJ.cjs');
14
+ require('./limits-DGZB-OVl.cjs');
15
15
  require('axios');
16
16
  require('tweetnacl');
17
17
  require('socket.io-client');
18
- require('./types-6__wqmmP.cjs');
18
+ require('./types-Bqo68u61.cjs');
19
19
  require('node:fs');
20
20
  require('node:path');
21
21
  var terminalToolContext = require('./terminalToolContext-DoV9Gs7K.cjs');
22
- require('./index-C510dSUn.cjs');
22
+ require('./index-DhwtFJEe.cjs');
23
23
  require('chalk');
24
24
  require('cross-spawn');
25
25
  require('node:readline');
@@ -3,21 +3,21 @@ import { randomUUID } from 'node:crypto';
3
3
  import { createServer } from 'node:http';
4
4
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
5
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
6
- import { p as preparePiTeamsRuntime } from './piRuntime-BE6iYQwU.mjs';
7
- import { registerMcpTools } from './mcp-CfbTQXyh.mjs';
8
- import './agentGuidance-BU4hxm8M.mjs';
6
+ import { p as preparePiTeamsRuntime } from './piRuntime-UdVG4eJ7.mjs';
7
+ import { registerMcpTools } from './mcp-L1Yq25LB.mjs';
8
+ import './agentGuidance-HFHrz3C1.mjs';
9
9
  import 'node:fs/promises';
10
10
  import 'node:os';
11
11
  import 'zod';
12
- import './limits-uABU-yq3.mjs';
12
+ import './limits-CzWD9hWU.mjs';
13
13
  import 'axios';
14
14
  import 'tweetnacl';
15
15
  import 'socket.io-client';
16
- import './types-BG4gFjLL.mjs';
16
+ import './types-BbvxVQF3.mjs';
17
17
  import 'node:fs';
18
18
  import 'node:path';
19
19
  import { r as resolveMcpTerminalId } from './terminalToolContext-CFeGeaNm.mjs';
20
- import './index-DoiG88oX.mjs';
20
+ import './index-eBrE-0R1.mjs';
21
21
  import 'chalk';
22
22
  import 'cross-spawn';
23
23
  import 'node:readline';
@@ -2,12 +2,12 @@ import { useStdout, useInput, Box, Text, render } from 'ink';
2
2
  import React, { useState, useRef, useEffect, useCallback } from 'react';
3
3
  import { randomUUID } from 'node:crypto';
4
4
  import { join } from 'node:path';
5
- import { h as connectionState, A as ApiClient, k as errorLogMetadata, n as notifyDaemonSessionStarted, l as contentLogMetadata } from './types-BG4gFjLL.mjs';
6
- import { l as logger, f as readSettings, g as encodeBase64 } from './limits-uABU-yq3.mjs';
7
- import { K as GEMINI_API_KEY_ENV, L as GOOGLE_API_KEY_ENV, G as GEMINI_MODEL_ENV, E as BasePermissionHandler, N as BaseReasoningProcessor, k as initialMachineMetadata, m as createSessionMetadata, n as setupOfflineReconnection, p as MessageQueue2, u as hashObject, O as MessageBuffer, Q as CHANGE_TITLE_INSTRUCTION, y as registerKillSessionHandler, v as startHappyServer } from './index-DoiG88oX.mjs';
5
+ import { m as connectionState, A as ApiClient, q as errorLogMetadata, n as notifyDaemonSessionStarted, t as contentLogMetadata } from './types-BbvxVQF3.mjs';
6
+ import { l as logger, r as readSettings, g as encodeBase64 } from './limits-CzWD9hWU.mjs';
7
+ import { K as GEMINI_API_KEY_ENV, L as GOOGLE_API_KEY_ENV, G as GEMINI_MODEL_ENV, E as BasePermissionHandler, N as BaseReasoningProcessor, k as initialMachineMetadata, m as createSessionMetadata, n as setupOfflineReconnection, p as MessageQueue2, u as hashObject, O as MessageBuffer, Q as CHANGE_TITLE_INSTRUCTION, y as registerKillSessionHandler, v as startHappyServer } from './index-eBrE-0R1.mjs';
8
8
  import { p as projectPath } from './projectPath-CSpqWdxp.mjs';
9
- import { A as AcpBackend } from './AcpBackend-LEgn9vol.mjs';
10
- import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-euZ_K5Lo.mjs';
9
+ import { A as AcpBackend } from './AcpBackend-BITeBnbV.mjs';
10
+ import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-B9zAvnGT.mjs';
11
11
  import 'axios';
12
12
  import 'node:events';
13
13
  import 'socket.io-client';
@@ -32,7 +32,7 @@ import '@anthropic-ai/sandbox-runtime';
32
32
  import 'expo-server-sdk';
33
33
  import 'chalk';
34
34
  import 'node:util';
35
- import './agentGuidance-BU4hxm8M.mjs';
35
+ import './agentGuidance-HFHrz3C1.mjs';
36
36
  import '@anthropic-ai/claude-agent-sdk';
37
37
  import 'ps-list';
38
38
  import 'tmp';
@@ -4,12 +4,12 @@ var ink = require('ink');
4
4
  var React = require('react');
5
5
  var node_crypto = require('node:crypto');
6
6
  var path = require('node:path');
7
- var api = require('./types-6__wqmmP.cjs');
8
- var persistence = require('./limits-B3oVgqBJ.cjs');
9
- var index = require('./index-C510dSUn.cjs');
7
+ var index$1 = require('./types-Bqo68u61.cjs');
8
+ var persistence = require('./limits-DGZB-OVl.cjs');
9
+ var index = require('./index-DhwtFJEe.cjs');
10
10
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
11
- var AcpBackend = require('./AcpBackend-B8oehrfU.cjs');
12
- var config = require('./config-CfqWoHmO.cjs');
11
+ var AcpBackend = require('./AcpBackend-FPv5uXFa.cjs');
12
+ var config = require('./config-CPfFuHP6.cjs');
13
13
  require('axios');
14
14
  require('node:events');
15
15
  require('socket.io-client');
@@ -34,7 +34,7 @@ require('@anthropic-ai/sandbox-runtime');
34
34
  require('expo-server-sdk');
35
35
  require('chalk');
36
36
  require('node:util');
37
- require('./agentGuidance-CJSl54ua.cjs');
37
+ require('./agentGuidance-Bd6GEiYp.cjs');
38
38
  require('@anthropic-ai/claude-agent-sdk');
39
39
  require('ps-list');
40
40
  require('tmp');
@@ -861,8 +861,8 @@ ${formattedMessages}
861
861
 
862
862
  async function runGemini(opts) {
863
863
  const sessionTag = node_crypto.randomUUID();
864
- api.connectionState.setBackend("Gemini");
865
- const api$1 = await api.ApiClient.create(opts.credentials);
864
+ index$1.connectionState.setBackend("Gemini");
865
+ const api = await index$1.ApiClient.create(opts.credentials);
866
866
  const settings = await persistence.readSettings();
867
867
  const machineId = settings?.machineId;
868
868
  const sandboxConfig = settings?.sandboxConfig;
@@ -871,14 +871,14 @@ async function runGemini(opts) {
871
871
  process.exit(1);
872
872
  }
873
873
  persistence.logger.debug(`Using machineId: ${machineId}`);
874
- await api$1.getOrCreateMachine({
874
+ await api.getOrCreateMachine({
875
875
  machineId,
876
876
  metadata: index.initialMachineMetadata
877
877
  });
878
878
  let cloudToken = void 0;
879
879
  let currentUserEmail = void 0;
880
880
  try {
881
- const vendorToken = await api$1.getVendorToken("gemini");
881
+ const vendorToken = await api.getVendorToken("gemini");
882
882
  if (vendorToken?.oauth?.access_token) {
883
883
  cloudToken = vendorToken.oauth.access_token;
884
884
  persistence.logger.debug("[Gemini] Using OAuth token from Happy cloud");
@@ -898,7 +898,7 @@ async function runGemini(opts) {
898
898
  }
899
899
  }
900
900
  } catch (error) {
901
- persistence.logger.debug("[Gemini] Failed to fetch cloud token:", api.errorLogMetadata(error));
901
+ persistence.logger.debug("[Gemini] Failed to fetch cloud token:", index$1.errorLogMetadata(error));
902
902
  }
903
903
  const { state, metadata } = index.createSessionMetadata({
904
904
  flavor: "gemini",
@@ -906,7 +906,7 @@ async function runGemini(opts) {
906
906
  startedBy: opts.startedBy,
907
907
  sandbox: sandboxConfig
908
908
  });
909
- const response = await api$1.getOrCreateSession({ tag: sessionTag, metadata, state });
909
+ const response = await api.getOrCreateSession({ tag: sessionTag, metadata, state });
910
910
  let session;
911
911
  let permissionHandler;
912
912
  let isProcessingMessage = false;
@@ -922,7 +922,7 @@ async function runGemini(opts) {
922
922
  }
923
923
  };
924
924
  const { session: initialSession, reconnectionHandle } = index.setupOfflineReconnection({
925
- api: api$1,
925
+ api,
926
926
  sessionTag,
927
927
  metadata,
928
928
  state,
@@ -943,7 +943,7 @@ async function runGemini(opts) {
943
943
  if (response) {
944
944
  try {
945
945
  persistence.logger.debug(`[START] Reporting session ${response.id} to daemon`);
946
- const result = await api.notifyDaemonSessionStarted(response.id, metadata, {
946
+ const result = await index$1.notifyDaemonSessionStarted(response.id, metadata, {
947
947
  encryptionKey: persistence.encodeBase64(response.encryptionKey),
948
948
  encryptionVariant: response.encryptionVariant,
949
949
  seq: response.seq,
@@ -1029,7 +1029,7 @@ async function runGemini(opts) {
1029
1029
  const sendReady = () => {
1030
1030
  session.sendSessionEvent({ type: "ready" });
1031
1031
  try {
1032
- api$1.push().sendSessionNotification({
1032
+ api.push().sendSessionNotification({
1033
1033
  kind: "done",
1034
1034
  metadata: session.getMetadata(),
1035
1035
  data: {
@@ -1212,10 +1212,10 @@ async function runGemini(opts) {
1212
1212
  case "status":
1213
1213
  const statusDetail = msg.detail ? typeof msg.detail === "object" ? JSON.stringify(msg.detail) : String(msg.detail) : "";
1214
1214
  persistence.logger.debug(`[gemini] Status changed: ${msg.status}`, {
1215
- detail: api.contentLogMetadata(statusDetail)
1215
+ detail: index$1.contentLogMetadata(statusDetail)
1216
1216
  });
1217
1217
  if (msg.status === "error") {
1218
- persistence.logger.debug("[gemini] Error status received:", api.contentLogMetadata(statusDetail));
1218
+ persistence.logger.debug("[gemini] Error status received:", index$1.contentLogMetadata(statusDetail));
1219
1219
  session.sendAgentMessage("gemini", {
1220
1220
  type: "turn_aborted",
1221
1221
  id: node_crypto.randomUUID()
@@ -1267,7 +1267,7 @@ Guide: https://goo.gle/gemini-cli-auth-docs#workspace-gca`;
1267
1267
  const isInvestigationTool = msg.toolName === "codebase_investigator" || typeof msg.toolName === "string" && msg.toolName.includes("investigator");
1268
1268
  persistence.logger.debug(`[gemini] \u{1F527} Tool call received: ${msg.toolName} (${msg.callId})${isInvestigationTool ? " [INVESTIGATION]" : ""}`);
1269
1269
  if (isInvestigationTool && msg.args && typeof msg.args === "object" && "objective" in msg.args) {
1270
- persistence.logger.debug("[gemini] Investigation objective received:", api.contentLogMetadata(msg.args.objective));
1270
+ persistence.logger.debug("[gemini] Investigation objective received:", index$1.contentLogMetadata(msg.args.objective));
1271
1271
  }
1272
1272
  messageBuffer.addMessage(`Executing: ${msg.toolName}${toolArgs ? ` ${toolArgs}${toolArgs.length >= 100 ? "..." : ""}` : ""}`, "tool");
1273
1273
  session.sendAgentMessage("gemini", {
@@ -1293,7 +1293,7 @@ Guide: https://goo.gle/gemini-cli-auth-docs#workspace-gca`;
1293
1293
  }
1294
1294
  if (isError) {
1295
1295
  const errorMsg = msg.result.error || "Tool call failed";
1296
- persistence.logger.debug("[gemini] Tool call error received:", api.contentLogMetadata(errorMsg));
1296
+ persistence.logger.debug("[gemini] Tool call error received:", index$1.contentLogMetadata(errorMsg));
1297
1297
  messageBuffer.addMessage(`Error: ${errorMsg}`, "status");
1298
1298
  } else {
1299
1299
  if (resultSize > 1e3) {
@@ -1411,7 +1411,7 @@ Guide: https://goo.gle/gemini-cli-auth-docs#workspace-gca`;
1411
1411
  const thinkingText = thinkingPayload && typeof thinkingPayload === "object" && "text" in thinkingPayload ? String(thinkingPayload.text || "") : "";
1412
1412
  if (thinkingText) {
1413
1413
  reasoningProcessor.processChunk(thinkingText);
1414
- persistence.logger.debug("[gemini] Thinking chunk received:", api.contentLogMetadata(thinkingText));
1414
+ persistence.logger.debug("[gemini] Thinking chunk received:", index$1.contentLogMetadata(thinkingText));
1415
1415
  if (!thinkingText.startsWith("**")) {
1416
1416
  const thinkingPreview = thinkingText.substring(0, 100);
1417
1417
  messageBuffer.updateLastMessage(`[Thinking] ${thinkingPreview}...`, "system");
@@ -1550,7 +1550,7 @@ Guide: https://goo.gle/gemini-cli-auth-docs#workspace-gca`;
1550
1550
  promptToSend = historyContext + promptToSend;
1551
1551
  persistence.logger.debug(`[gemini] Injected conversation history context (${historyContext.length} chars)`);
1552
1552
  }
1553
- persistence.logger.debug("[gemini] Sending prompt to Gemini:", api.contentLogMetadata(promptToSend));
1553
+ persistence.logger.debug("[gemini] Sending prompt to Gemini:", index$1.contentLogMetadata(promptToSend));
1554
1554
  const MAX_RETRIES = 3;
1555
1555
  const RETRY_DELAY_MS = 2e3;
1556
1556
  let lastError = null;
@@ -1585,7 +1585,7 @@ Guide: https://goo.gle/gemini-cli-auth-docs#workspace-gca`;
1585
1585
  const isInternalError = errorCode === -32603;
1586
1586
  const isRetryable = isEmptyResponseError || isInternalError;
1587
1587
  if (isRetryable && attempt < MAX_RETRIES) {
1588
- persistence.logger.debug(`[gemini] Retryable error on attempt ${attempt}/${MAX_RETRIES}:`, api.contentLogMetadata(errorDetails));
1588
+ persistence.logger.debug(`[gemini] Retryable error on attempt ${attempt}/${MAX_RETRIES}:`, index$1.contentLogMetadata(errorDetails));
1589
1589
  messageBuffer.addMessage(`Gemini returned empty response, retrying (${attempt}/${MAX_RETRIES})...`, "status");
1590
1590
  await new Promise((resolve2) => setTimeout(resolve2, RETRY_DELAY_MS * attempt));
1591
1591
  continue;
@@ -1600,7 +1600,7 @@ Guide: https://goo.gle/gemini-cli-auth-docs#workspace-gca`;
1600
1600
  first = false;
1601
1601
  }
1602
1602
  } catch (error) {
1603
- persistence.logger.debug("[gemini] Error in gemini session:", api.errorLogMetadata(error));
1603
+ persistence.logger.debug("[gemini] Error in gemini session:", index$1.errorLogMetadata(error));
1604
1604
  const isAbortError = error instanceof Error && error.name === "AbortError";
1605
1605
  if (isAbortError) {
1606
1606
  messageBuffer.addMessage("Aborted by user", "status");
@@ -1668,7 +1668,7 @@ Guide: https://goo.gle/gemini-cli-auth-docs#workspace-gca`;
1668
1668
  id: node_crypto.randomUUID(),
1669
1669
  ...options.length > 0 && { options }
1670
1670
  };
1671
- persistence.logger.debug("[gemini] Sending complete message to mobile:", api.contentLogMetadata(finalMessageText));
1671
+ persistence.logger.debug("[gemini] Sending complete message to mobile:", index$1.contentLogMetadata(finalMessageText));
1672
1672
  session.sendAgentMessage("gemini", messagePayload);
1673
1673
  accumulatedResponse = "";
1674
1674
  isResponseInProgress = false;