very-happy-cli 0.2.76 → 0.2.77

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 (31) hide show
  1. package/dist/{AcpBackend-KEFEf0fa.mjs → AcpBackend-BFFC77vV.mjs} +1 -1
  2. package/dist/{AcpBackend-a8B0Y7EF.cjs → AcpBackend-CsLnh1So.cjs} +1 -1
  3. package/dist/{AcpSessionManager-rkoOuyxF.cjs → AcpSessionManager--CixPN-p.cjs} +1 -1
  4. package/dist/{AcpSessionManager-DpiEroK5.mjs → AcpSessionManager-CU5vsxgF.mjs} +1 -1
  5. package/dist/{config-gCpPGROw.mjs → config-CRFTYuTN.mjs} +2 -2
  6. package/dist/{config-Bk2_O4iy.cjs → config-pv17N6Kg.cjs} +2 -2
  7. package/dist/{index-BpR0Noyc.mjs → index-BkvUwyIU.mjs} +5 -5
  8. package/dist/{index-KFtRhinT.cjs → index-C1OnwMx0.cjs} +4 -4
  9. package/dist/{index-DBO5ydFO.mjs → index-DOb57EGb.mjs} +12 -12
  10. package/dist/{index-Baq7aDcp.cjs → index-Dcv1RKe8.cjs} +15 -15
  11. package/dist/index.cjs +2 -2
  12. package/dist/index.mjs +2 -2
  13. package/dist/{installTerminalHooks-5MMeWip7.mjs → installTerminalHooks-IXvZMGJq.mjs} +2 -2
  14. package/dist/{installTerminalHooks-CPbpttk4.cjs → installTerminalHooks-YyT3fv6w.cjs} +2 -2
  15. package/dist/lib.cjs +1 -1
  16. package/dist/lib.d.cts +18 -0
  17. package/dist/lib.d.mts +18 -0
  18. package/dist/lib.mjs +1 -1
  19. package/dist/{mcp-DYaTASOA.mjs → mcp-B-GdhlKD.mjs} +2 -2
  20. package/dist/{mcp-C0ai1fwz.cjs → mcp-CsKnmeE5.cjs} +2 -2
  21. package/dist/{runGemini-DypVM7XW.mjs → runGemini-D0lddF43.mjs} +4 -4
  22. package/dist/{runGemini-BOhhFluL.cjs → runGemini-DuUdmlVZ.cjs} +4 -4
  23. package/dist/{runOpenClaw-BLJwhL9y.mjs → runOpenClaw-BiwwYnYf.mjs} +3 -3
  24. package/dist/{runOpenClaw-CzYqRkGb.cjs → runOpenClaw-DEMCYSoD.cjs} +3 -3
  25. package/dist/{send-BG-4q_Nb.mjs → send-DM8oqJFp.mjs} +2 -2
  26. package/dist/{send-B4dnhYKC.cjs → send-DijSXAMp.cjs} +2 -2
  27. package/dist/{spawn-BXj4rWNL.cjs → spawn-De3b5Hsu.cjs} +2 -2
  28. package/dist/{spawn-BEwPBgbi.mjs → spawn-nISXbZD5.mjs} +2 -2
  29. package/dist/{types-kLTNjWVl.mjs → types-D2qSKjsO.mjs} +311 -69
  30. package/dist/{types-xqPsUU1d.cjs → types-NwtcBgfS.cjs} +312 -70
  31. package/package.json +7 -7
@@ -1,7 +1,7 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { ndJsonStream, ClientSideConnection } from '@agentclientprotocol/sdk';
3
3
  import { randomUUID } from 'node:crypto';
4
- import { l as logger, d as contentLogMetadata, e as errorLogMetadata, f as packageJson, g as delay } from './types-kLTNjWVl.mjs';
4
+ import { l as logger, d as contentLogMetadata, e as errorLogMetadata, f as packageJson, g as delay } from './types-D2qSKjsO.mjs';
5
5
 
6
6
  const DEFAULT_TIMEOUTS = {
7
7
  /** Default initialization timeout: 60 seconds */
@@ -3,7 +3,7 @@
3
3
  var node_child_process = require('node:child_process');
4
4
  var sdk = require('@agentclientprotocol/sdk');
5
5
  var node_crypto = require('node:crypto');
6
- var persistence = require('./types-xqPsUU1d.cjs');
6
+ var persistence = require('./types-NwtcBgfS.cjs');
7
7
 
8
8
  const DEFAULT_TIMEOUTS = {
9
9
  /** Default initialization timeout: 60 seconds */
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var cuid2 = require('@paralleldrive/cuid2');
4
- var persistence = require('./types-xqPsUU1d.cjs');
4
+ var persistence = require('./types-NwtcBgfS.cjs');
5
5
 
6
6
  function turnOptions(turnId, time) {
7
7
  return turnId ? { turn: turnId, time } : { time };
@@ -1,5 +1,5 @@
1
1
  import { createId } from '@paralleldrive/cuid2';
2
- import { b as createEnvelope } from './types-kLTNjWVl.mjs';
2
+ import { b as createEnvelope } from './types-D2qSKjsO.mjs';
3
3
 
4
4
  function turnOptions(turnId, time) {
5
5
  return turnId ? { turn: turnId, time } : { time };
@@ -2,8 +2,8 @@ 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 './types-kLTNjWVl.mjs';
6
- import { D as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './index-DBO5ydFO.mjs';
5
+ import { l as logger } from './types-D2qSKjsO.mjs';
6
+ import { D as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './index-DOb57EGb.mjs';
7
7
  import 'axios';
8
8
  import 'chalk';
9
9
  import 'node:util';
@@ -4,8 +4,8 @@ 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('./types-xqPsUU1d.cjs');
8
- var index = require('./index-Baq7aDcp.cjs');
7
+ var persistence = require('./types-NwtcBgfS.cjs');
8
+ var index = require('./index-Dcv1RKe8.cjs');
9
9
  require('axios');
10
10
  require('chalk');
11
11
  require('node:util');
@@ -1,10 +1,10 @@
1
- import { D as DefaultTransport, A as AcpBackend } from './AcpBackend-KEFEf0fa.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-KEFEf0fa.mjs';
3
- import { h as connectionState, A as ApiClient, i as readSettings, j as encodeBase64, l as logger, p as projectPath } from './types-kLTNjWVl.mjs';
4
- import { A as AcpSessionManager } from './AcpSessionManager-DpiEroK5.mjs';
1
+ import { D as DefaultTransport, A as AcpBackend } from './AcpBackend-BFFC77vV.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-BFFC77vV.mjs';
3
+ import { h as connectionState, A as ApiClient, i as readSettings, j as encodeBase64, l as logger, p as projectPath } from './types-D2qSKjsO.mjs';
4
+ import { A as AcpSessionManager } from './AcpSessionManager-CU5vsxgF.mjs';
5
5
  import { randomUUID } from 'node:crypto';
6
6
  import { join } from 'node:path';
7
- import { i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, f as startHappyServer, r as registerKillSessionHandler, B as BasePermissionHandler } from './index-DBO5ydFO.mjs';
7
+ import { i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, f as startHappyServer, r as registerKillSessionHandler, B as BasePermissionHandler } from './index-DOb57EGb.mjs';
8
8
  import 'node:child_process';
9
9
  import '@agentclientprotocol/sdk';
10
10
  import 'axios';
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var AcpBackend = require('./AcpBackend-a8B0Y7EF.cjs');
4
- var persistence = require('./types-xqPsUU1d.cjs');
5
- var AcpSessionManager = require('./AcpSessionManager-rkoOuyxF.cjs');
3
+ var AcpBackend = require('./AcpBackend-CsLnh1So.cjs');
4
+ var persistence = require('./types-NwtcBgfS.cjs');
5
+ var AcpSessionManager = require('./AcpSessionManager--CixPN-p.cjs');
6
6
  var node_crypto = require('node:crypto');
7
7
  var path = require('node:path');
8
- var index = require('./index-Baq7aDcp.cjs');
8
+ var index = require('./index-Dcv1RKe8.cjs');
9
9
  require('node:child_process');
10
10
  require('@agentclientprotocol/sdk');
11
11
  require('axios');
@@ -1,7 +1,7 @@
1
1
  import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import chalk from 'chalk';
2
2
  import os, { homedir } from 'node:os';
3
3
  import { randomUUID, randomBytes, createHash as createHash$1, timingSafeEqual } from 'node:crypto';
4
- import { n as readDaemonState, l as logger, c as configuration, o as clearDaemonState, q as getProjectPath, p as projectPath, s as initializeSandbox, t as wrapCommand, d as contentLogMetadata, I as InvalidateSync, R as RawJSONLinesSchema, g as delay, u as AsyncLock, f as packageJson, i as readSettings, v as readCredentials, x as credentialRelayProblem, y as deriveLocalCliUpdateSummary, j as encodeBase64, z as updateSettings, B as encodeBase64Url, C as decodeBase64, D as writeCredentialsLegacy, E as writeCredentialsDataKey, F as readCredentialsForConfiguredRelay, G as encrypt, r as readPersistedSessions, H as getLocalHappyAgentCredentialPath, J as readLocalHappyAgentCredentials, K as decryptWithDataKey, L as decryptLegacy, M as extractCompleteLines, N as decideBackfill, O as parseTerminalHookPayload, P as decideMirrorBinding, Q as persistSession, S as MIRROR_BACKFILL_LINES_DEFAULT, T as mirrorLineKey, U as mirrorLocalId, V as detectResumeSupport, W as detectCLIAvailability, X as acquireDaemonLock, Y as summarizeSpawnSessionForLog, Z as deletePersistedSessions, _ as decrypt, $ as writeDaemonState, A as ApiClient, a0 as fetchCliUpdateState, a1 as resolveCliUpdateCheckInterval, a2 as DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS, a3 as releaseDaemonLock, a4 as isValidSessionId, a5 as listVhTerminals, a6 as isValidTerminalId, a7 as readVhTerminal, a8 as sendToVhTerminal, h as connectionState, a9 as startOfflineReconnection, aa as clearCredentials, ab as clearMachineId, k as ensurePrivateDirectorySync, w as writePrivateFileSync, ac as SandboxConfigSchema, b as createEnvelope, ad as CodexAppServerClient, ae as getLatestDaemonLog } from './types-kLTNjWVl.mjs';
4
+ import { n as readDaemonState, l as logger, c as configuration, o as clearDaemonState, q as getProjectPath, p as projectPath, s as initializeSandbox, t as wrapCommand, d as contentLogMetadata, I as InvalidateSync, R as RawJSONLinesSchema, g as delay, u as AsyncLock, f as packageJson, i as readSettings, v as readCredentials, x as credentialRelayProblem, y as deriveLocalCliUpdateSummary, j as encodeBase64, z as updateSettings, B as encodeBase64Url, C as decodeBase64, D as writeCredentialsLegacy, E as writeCredentialsDataKey, F as readCredentialsForConfiguredRelay, G as encrypt, r as readPersistedSessions, H as getLocalHappyAgentCredentialPath, J as readLocalHappyAgentCredentials, K as decryptWithDataKey, L as decryptLegacy, M as extractCompleteLines, N as decideBackfill, O as parseTerminalHookPayload, P as decideMirrorBinding, Q as persistSession, S as MIRROR_BACKFILL_LINES_DEFAULT, T as mirrorLineKey, U as mirrorLocalId, V as detectResumeSupport, W as detectCLIAvailability, X as acquireDaemonLock, Y as summarizeSpawnSessionForLog, Z as deletePersistedSessions, _ as decrypt, $ as writeDaemonState, A as ApiClient, a0 as fetchCliUpdateState, a1 as resolveCliUpdateCheckInterval, a2 as DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS, a3 as releaseDaemonLock, a4 as isValidSessionId, a5 as listVhTerminals, a6 as isValidTerminalId, a7 as readVhTerminal, a8 as sendToVhTerminal, h as connectionState, a9 as startOfflineReconnection, aa as clearCredentials, ab as clearMachineId, k as ensurePrivateDirectorySync, w as writePrivateFileSync, ac as SandboxConfigSchema, b as createEnvelope, ad as CodexAppServerClient, ae as getLatestDaemonLog } from './types-D2qSKjsO.mjs';
5
5
  import spawn$1, { spawn } from 'cross-spawn';
6
6
  import path, { join, resolve, isAbsolute, normalize, sep, dirname } from 'node:path';
7
7
  import { createInterface } from 'node:readline';
@@ -12983,7 +12983,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
12983
12983
  process.exit(0);
12984
12984
  } else if (subcommand === "install-terminal-hooks") {
12985
12985
  try {
12986
- const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await import('./installTerminalHooks-5MMeWip7.mjs');
12986
+ const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await import('./installTerminalHooks-IXvZMGJq.mjs');
12987
12987
  const command = parseTerminalHooksArgs(args.slice(1));
12988
12988
  if (command.action === "help") {
12989
12989
  console.log(TERMINAL_HOOKS_HELP);
@@ -13000,7 +13000,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13000
13000
  }
13001
13001
  } else if (subcommand === "spawn") {
13002
13002
  try {
13003
- const { handleSpawnCommand } = await import('./spawn-BEwPBgbi.mjs');
13003
+ const { handleSpawnCommand } = await import('./spawn-nISXbZD5.mjs');
13004
13004
  await handleSpawnCommand(args.slice(1));
13005
13005
  } catch (error) {
13006
13006
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -13012,7 +13012,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13012
13012
  return;
13013
13013
  } else if (subcommand === "send") {
13014
13014
  try {
13015
- const { handleSendCommand } = await import('./send-BG-4q_Nb.mjs');
13015
+ const { handleSendCommand } = await import('./send-DM8oqJFp.mjs');
13016
13016
  await handleSendCommand(args.slice(1));
13017
13017
  } catch (error) {
13018
13018
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -13118,9 +13118,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13118
13118
  if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
13119
13119
  const projectId = args[3];
13120
13120
  try {
13121
- const { saveGoogleCloudProjectToConfig } = await import('./config-gCpPGROw.mjs');
13122
- const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./types-kLTNjWVl.mjs').then(function (n) { return n.af; });
13123
- const { ApiClient: ApiClient2 } = await import('./types-kLTNjWVl.mjs').then(function (n) { return n.ag; });
13121
+ const { saveGoogleCloudProjectToConfig } = await import('./config-CRFTYuTN.mjs');
13122
+ const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./types-D2qSKjsO.mjs').then(function (n) { return n.af; });
13123
+ const { ApiClient: ApiClient2 } = await import('./types-D2qSKjsO.mjs').then(function (n) { return n.ag; });
13124
13124
  let userEmail = void 0;
13125
13125
  try {
13126
13126
  const credentials = await readCredentialsForConfiguredRelay2();
@@ -13151,7 +13151,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13151
13151
  }
13152
13152
  if (geminiSubcommand === "project" && args[2] === "get") {
13153
13153
  try {
13154
- const { readGeminiLocalConfig } = await import('./config-gCpPGROw.mjs');
13154
+ const { readGeminiLocalConfig } = await import('./config-CRFTYuTN.mjs');
13155
13155
  const config = readGeminiLocalConfig();
13156
13156
  if (config.googleCloudProject) {
13157
13157
  console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
@@ -13191,7 +13191,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13191
13191
  process.exit(0);
13192
13192
  }
13193
13193
  try {
13194
- const { runGemini } = await import('./runGemini-DypVM7XW.mjs');
13194
+ const { runGemini } = await import('./runGemini-D0lddF43.mjs');
13195
13195
  let startedBy = void 0;
13196
13196
  for (let i = 1; i < args.length; i++) {
13197
13197
  if (args[i] === "--started-by") {
@@ -13213,7 +13213,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13213
13213
  return;
13214
13214
  } else if (subcommand === "acp") {
13215
13215
  try {
13216
- const { runAcp, resolveAcpAgentConfig } = await import('./index-BpR0Noyc.mjs');
13216
+ const { runAcp, resolveAcpAgentConfig } = await import('./index-BkvUwyIU.mjs');
13217
13217
  let startedBy = void 0;
13218
13218
  let verbose = false;
13219
13219
  const acpArgs = [];
@@ -13253,7 +13253,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13253
13253
  return;
13254
13254
  } else if (subcommand === "openclaw") {
13255
13255
  try {
13256
- const { runOpenClaw } = await import('./runOpenClaw-BLJwhL9y.mjs');
13256
+ const { runOpenClaw } = await import('./runOpenClaw-BiwwYnYf.mjs');
13257
13257
  let startedBy = void 0;
13258
13258
  let verbose = false;
13259
13259
  let gatewayUrl;
@@ -13304,7 +13304,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13304
13304
  return;
13305
13305
  } else if (subcommand === "mcp" && args.length === 1) {
13306
13306
  try {
13307
- const { handleMcpCommand } = await import('./mcp-DYaTASOA.mjs');
13307
+ const { handleMcpCommand } = await import('./mcp-B-GdhlKD.mjs');
13308
13308
  await handleMcpCommand();
13309
13309
  } catch (error) {
13310
13310
  process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
@@ -3,7 +3,7 @@
3
3
  var chalk = require('chalk');
4
4
  var os = require('node:os');
5
5
  var node_crypto = require('node:crypto');
6
- var persistence = require('./types-xqPsUU1d.cjs');
6
+ var persistence = require('./types-NwtcBgfS.cjs');
7
7
  var spawn = require('cross-spawn');
8
8
  var path = require('node:path');
9
9
  var node_readline = require('node:readline');
@@ -8274,7 +8274,7 @@ const MAX_TITLE_CHARS = 60;
8274
8274
  const GENERATION_TIMEOUT_MS = 3e4;
8275
8275
  function resolveClaudeBinary() {
8276
8276
  try {
8277
- const require$1 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-Baq7aDcp.cjs', document.baseURI).href)));
8277
+ const require$1 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-Dcv1RKe8.cjs', document.baseURI).href)));
8278
8278
  const utilsPath = path.resolve(path.join(persistence.projectPath(), "scripts", "claude_version_utils.cjs"));
8279
8279
  const { getClaudeCliPath } = require$1(utilsPath);
8280
8280
  const path$1 = getClaudeCliPath();
@@ -10391,9 +10391,9 @@ function resolveLocalSignupBootstrap(configuredMode, configuredInviteCodes, gene
10391
10391
  };
10392
10392
  }
10393
10393
 
10394
- const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-Baq7aDcp.cjs', document.baseURI).href)));
10394
+ const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-Dcv1RKe8.cjs', document.baseURI).href)));
10395
10395
  const __dirname$1 = path.dirname(__filename$1);
10396
- const require_ = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-Baq7aDcp.cjs', document.baseURI).href)));
10396
+ const require_ = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-Dcv1RKe8.cjs', document.baseURI).href)));
10397
10397
  const PRISMA_QUERY_ENGINE_FILES = {
10398
10398
  "arm64-darwin": "libquery_engine-darwin-arm64.dylib.node",
10399
10399
  "x64-darwin": "libquery_engine-darwin.dylib.node",
@@ -13005,7 +13005,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13005
13005
  process.exit(0);
13006
13006
  } else if (subcommand === "install-terminal-hooks") {
13007
13007
  try {
13008
- const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await Promise.resolve().then(function () { return require('./installTerminalHooks-CPbpttk4.cjs'); });
13008
+ const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await Promise.resolve().then(function () { return require('./installTerminalHooks-YyT3fv6w.cjs'); });
13009
13009
  const command = parseTerminalHooksArgs(args.slice(1));
13010
13010
  if (command.action === "help") {
13011
13011
  console.log(TERMINAL_HOOKS_HELP);
@@ -13022,7 +13022,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13022
13022
  }
13023
13023
  } else if (subcommand === "spawn") {
13024
13024
  try {
13025
- const { handleSpawnCommand } = await Promise.resolve().then(function () { return require('./spawn-BXj4rWNL.cjs'); });
13025
+ const { handleSpawnCommand } = await Promise.resolve().then(function () { return require('./spawn-De3b5Hsu.cjs'); });
13026
13026
  await handleSpawnCommand(args.slice(1));
13027
13027
  } catch (error) {
13028
13028
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -13034,7 +13034,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13034
13034
  return;
13035
13035
  } else if (subcommand === "send") {
13036
13036
  try {
13037
- const { handleSendCommand } = await Promise.resolve().then(function () { return require('./send-B4dnhYKC.cjs'); });
13037
+ const { handleSendCommand } = await Promise.resolve().then(function () { return require('./send-DijSXAMp.cjs'); });
13038
13038
  await handleSendCommand(args.slice(1));
13039
13039
  } catch (error) {
13040
13040
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -13140,9 +13140,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13140
13140
  if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
13141
13141
  const projectId = args[3];
13142
13142
  try {
13143
- const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-Bk2_O4iy.cjs'); });
13144
- const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await Promise.resolve().then(function () { return require('./types-xqPsUU1d.cjs'); }).then(function (n) { return n.persistence; });
13145
- const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./types-xqPsUU1d.cjs'); }).then(function (n) { return n.api; });
13143
+ const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-pv17N6Kg.cjs'); });
13144
+ const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await Promise.resolve().then(function () { return require('./types-NwtcBgfS.cjs'); }).then(function (n) { return n.persistence; });
13145
+ const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./types-NwtcBgfS.cjs'); }).then(function (n) { return n.api; });
13146
13146
  let userEmail = void 0;
13147
13147
  try {
13148
13148
  const credentials = await readCredentialsForConfiguredRelay2();
@@ -13173,7 +13173,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13173
13173
  }
13174
13174
  if (geminiSubcommand === "project" && args[2] === "get") {
13175
13175
  try {
13176
- const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-Bk2_O4iy.cjs'); });
13176
+ const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-pv17N6Kg.cjs'); });
13177
13177
  const config = readGeminiLocalConfig();
13178
13178
  if (config.googleCloudProject) {
13179
13179
  console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
@@ -13213,7 +13213,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13213
13213
  process.exit(0);
13214
13214
  }
13215
13215
  try {
13216
- const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-BOhhFluL.cjs'); });
13216
+ const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-DuUdmlVZ.cjs'); });
13217
13217
  let startedBy = void 0;
13218
13218
  for (let i = 1; i < args.length; i++) {
13219
13219
  if (args[i] === "--started-by") {
@@ -13235,7 +13235,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13235
13235
  return;
13236
13236
  } else if (subcommand === "acp") {
13237
13237
  try {
13238
- const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-KFtRhinT.cjs'); });
13238
+ const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-C1OnwMx0.cjs'); });
13239
13239
  let startedBy = void 0;
13240
13240
  let verbose = false;
13241
13241
  const acpArgs = [];
@@ -13275,7 +13275,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13275
13275
  return;
13276
13276
  } else if (subcommand === "openclaw") {
13277
13277
  try {
13278
- const { runOpenClaw } = await Promise.resolve().then(function () { return require('./runOpenClaw-CzYqRkGb.cjs'); });
13278
+ const { runOpenClaw } = await Promise.resolve().then(function () { return require('./runOpenClaw-DEMCYSoD.cjs'); });
13279
13279
  let startedBy = void 0;
13280
13280
  let verbose = false;
13281
13281
  let gatewayUrl;
@@ -13326,7 +13326,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13326
13326
  return;
13327
13327
  } else if (subcommand === "mcp" && args.length === 1) {
13328
13328
  try {
13329
- const { handleMcpCommand } = await Promise.resolve().then(function () { return require('./mcp-C0ai1fwz.cjs'); });
13329
+ const { handleMcpCommand } = await Promise.resolve().then(function () { return require('./mcp-CsKnmeE5.cjs'); });
13330
13330
  await handleMcpCommand();
13331
13331
  } catch (error) {
13332
13332
  process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
package/dist/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  require('chalk');
4
- require('./index-Baq7aDcp.cjs');
5
- require('./types-xqPsUU1d.cjs');
4
+ require('./index-Dcv1RKe8.cjs');
5
+ require('./types-NwtcBgfS.cjs');
6
6
  require('zod');
7
7
  require('node:child_process');
8
8
  require('node:os');
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import 'chalk';
2
- import './index-DBO5ydFO.mjs';
3
- import './types-kLTNjWVl.mjs';
2
+ import './index-DOb57EGb.mjs';
3
+ import './types-D2qSKjsO.mjs';
4
4
  import 'zod';
5
5
  import 'node:child_process';
6
6
  import 'node:os';
@@ -3,8 +3,8 @@ import { join, resolve } from 'node:path';
3
3
  import { homedir } from 'node:os';
4
4
  import { spawnSync } from 'node:child_process';
5
5
  import chalk from 'chalk';
6
- import { p as projectPath } from './types-kLTNjWVl.mjs';
7
- import { t as tmuxSupportsSessionEnv } from './index-DBO5ydFO.mjs';
6
+ import { p as projectPath } from './types-D2qSKjsO.mjs';
7
+ import { t as tmuxSupportsSessionEnv } from './index-DOb57EGb.mjs';
8
8
  import 'axios';
9
9
  import 'node:util';
10
10
  import 'node:fs/promises';
@@ -5,8 +5,8 @@ var path = require('node:path');
5
5
  var os = require('node:os');
6
6
  var node_child_process = require('node:child_process');
7
7
  var chalk = require('chalk');
8
- var persistence = require('./types-xqPsUU1d.cjs');
9
- var index = require('./index-Baq7aDcp.cjs');
8
+ var persistence = require('./types-NwtcBgfS.cjs');
9
+ var index = require('./index-Dcv1RKe8.cjs');
10
10
  require('axios');
11
11
  require('node:util');
12
12
  require('node:fs/promises');
package/dist/lib.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var persistence = require('./types-xqPsUU1d.cjs');
3
+ var persistence = require('./types-NwtcBgfS.cjs');
4
4
  require('axios');
5
5
  require('chalk');
6
6
  require('node:util');
package/dist/lib.d.cts CHANGED
@@ -545,6 +545,11 @@ declare class RpcHandlerManager {
545
545
  */
546
546
  handleRequest(request: RpcRequest): Promise<any>;
547
547
  onSocketConnect(socket: Socket): void;
548
+ /**
549
+ * Attach a candidate transport and wait until the server confirms every
550
+ * method before a release handover closes the old transport.
551
+ */
552
+ onSocketConnectAndWait(socket: Socket, timeoutMs?: number): Promise<void>;
548
553
  onSocketDisconnect(socket?: Socket): void;
549
554
  /**
550
555
  * Get the number of registered handlers
@@ -660,7 +665,11 @@ declare class ApiSessionClient extends EventEmitter {
660
665
  private readonly receiveSync;
661
666
  private readonly directInboundLocalIds;
662
667
  private readonly routedInboundLocalIds;
668
+ private handoverInFlight;
663
669
  constructor(token: string, session: Session);
670
+ private createControlSocket;
671
+ private startReleaseHandover;
672
+ private releaseHandover;
664
673
  onUserMessage(callback: (data: UserMessage) => void): void;
665
674
  onFileEvent(callback: (data: FileEventMessage) => void): void;
666
675
  /**
@@ -1013,6 +1022,7 @@ declare class ApiMachineClient {
1013
1022
  private stopSessionHandler;
1014
1023
  private listTrackedSessionIds;
1015
1024
  private reconnectInterval;
1025
+ private handoverInFlight;
1016
1026
  private encTerminals;
1017
1027
  private webTerminal;
1018
1028
  /**
@@ -1072,7 +1082,15 @@ declare class ApiMachineClient {
1072
1082
  */
1073
1083
  updateDaemonState(handler: (state: DaemonState | null) => DaemonState): Promise<void>;
1074
1084
  connect(): void;
1085
+ private createControlSocket;
1086
+ private activateControlSocket;
1087
+ private bindControlDataHandlers;
1088
+ private startReleaseHandover;
1089
+ private releaseHandover;
1075
1090
  private startKeepAlive;
1091
+ private bindRpcRequestHandler;
1092
+ private bindMachineCommandHandlers;
1093
+ private unbindMachineCommandHandlers;
1076
1094
  private bindRealtimeHandlers;
1077
1095
  /** Reconcile commands missed while the daemon was offline. The server
1078
1096
  * returns only ids owned by this account and durably archived in the DB. */
package/dist/lib.d.mts CHANGED
@@ -545,6 +545,11 @@ declare class RpcHandlerManager {
545
545
  */
546
546
  handleRequest(request: RpcRequest): Promise<any>;
547
547
  onSocketConnect(socket: Socket): void;
548
+ /**
549
+ * Attach a candidate transport and wait until the server confirms every
550
+ * method before a release handover closes the old transport.
551
+ */
552
+ onSocketConnectAndWait(socket: Socket, timeoutMs?: number): Promise<void>;
548
553
  onSocketDisconnect(socket?: Socket): void;
549
554
  /**
550
555
  * Get the number of registered handlers
@@ -660,7 +665,11 @@ declare class ApiSessionClient extends EventEmitter {
660
665
  private readonly receiveSync;
661
666
  private readonly directInboundLocalIds;
662
667
  private readonly routedInboundLocalIds;
668
+ private handoverInFlight;
663
669
  constructor(token: string, session: Session);
670
+ private createControlSocket;
671
+ private startReleaseHandover;
672
+ private releaseHandover;
664
673
  onUserMessage(callback: (data: UserMessage) => void): void;
665
674
  onFileEvent(callback: (data: FileEventMessage) => void): void;
666
675
  /**
@@ -1013,6 +1022,7 @@ declare class ApiMachineClient {
1013
1022
  private stopSessionHandler;
1014
1023
  private listTrackedSessionIds;
1015
1024
  private reconnectInterval;
1025
+ private handoverInFlight;
1016
1026
  private encTerminals;
1017
1027
  private webTerminal;
1018
1028
  /**
@@ -1072,7 +1082,15 @@ declare class ApiMachineClient {
1072
1082
  */
1073
1083
  updateDaemonState(handler: (state: DaemonState | null) => DaemonState): Promise<void>;
1074
1084
  connect(): void;
1085
+ private createControlSocket;
1086
+ private activateControlSocket;
1087
+ private bindControlDataHandlers;
1088
+ private startReleaseHandover;
1089
+ private releaseHandover;
1075
1090
  private startKeepAlive;
1091
+ private bindRpcRequestHandler;
1092
+ private bindMachineCommandHandlers;
1093
+ private unbindMachineCommandHandlers;
1076
1094
  private bindRealtimeHandlers;
1077
1095
  /** Reconcile commands missed while the daemon was offline. The server
1078
1096
  * returns only ids owned by this account and durably archived in the DB. */
package/dist/lib.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-kLTNjWVl.mjs';
1
+ export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-D2qSKjsO.mjs';
2
2
  import 'axios';
3
3
  import 'chalk';
4
4
  import 'node:util';
@@ -1,9 +1,9 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
3
  import { z } from 'zod';
4
- import { p as pushClipboardViaDaemon } from './index-DBO5ydFO.mjs';
4
+ import { p as pushClipboardViaDaemon } from './index-DOb57EGb.mjs';
5
5
  import { C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, c as CLIPBOARD_MAX_BYTES } from './limits-CwFb5S2b.mjs';
6
- import { l as logger } from './types-kLTNjWVl.mjs';
6
+ import { l as logger } from './types-D2qSKjsO.mjs';
7
7
  import 'chalk';
8
8
  import 'node:os';
9
9
  import 'node:crypto';
@@ -3,9 +3,9 @@
3
3
  var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
4
4
  var stdio_js = require('@modelcontextprotocol/sdk/server/stdio.js');
5
5
  var z = require('zod');
6
- var index = require('./index-Baq7aDcp.cjs');
6
+ var index = require('./index-Dcv1RKe8.cjs');
7
7
  var limits = require('./limits-KdWKmwtH.cjs');
8
- var persistence = require('./types-xqPsUU1d.cjs');
8
+ var persistence = require('./types-NwtcBgfS.cjs');
9
9
  require('chalk');
10
10
  require('node:os');
11
11
  require('node:crypto');
@@ -2,10 +2,10 @@ 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 { l as logger, h as connectionState, A as ApiClient, i as readSettings, e as errorLogMetadata, j as encodeBase64, p as projectPath, d as contentLogMetadata } from './types-kLTNjWVl.mjs';
6
- import { g as GEMINI_API_KEY_ENV, j as GOOGLE_API_KEY_ENV, G as GEMINI_MODEL_ENV, B as BasePermissionHandler, k as BaseReasoningProcessor, i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, l as MessageBuffer, C as CHANGE_TITLE_INSTRUCTION, r as registerKillSessionHandler, f as startHappyServer } from './index-DBO5ydFO.mjs';
7
- import { A as AcpBackend } from './AcpBackend-KEFEf0fa.mjs';
8
- import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-gCpPGROw.mjs';
5
+ import { l as logger, h as connectionState, A as ApiClient, i as readSettings, e as errorLogMetadata, j as encodeBase64, p as projectPath, d as contentLogMetadata } from './types-D2qSKjsO.mjs';
6
+ import { g as GEMINI_API_KEY_ENV, j as GOOGLE_API_KEY_ENV, G as GEMINI_MODEL_ENV, B as BasePermissionHandler, k as BaseReasoningProcessor, i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, l as MessageBuffer, C as CHANGE_TITLE_INSTRUCTION, r as registerKillSessionHandler, f as startHappyServer } from './index-DOb57EGb.mjs';
7
+ import { A as AcpBackend } from './AcpBackend-BFFC77vV.mjs';
8
+ import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-CRFTYuTN.mjs';
9
9
  import 'axios';
10
10
  import 'chalk';
11
11
  import 'node:util';
@@ -4,10 +4,10 @@ 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 persistence = require('./types-xqPsUU1d.cjs');
8
- var index = require('./index-Baq7aDcp.cjs');
9
- var AcpBackend = require('./AcpBackend-a8B0Y7EF.cjs');
10
- var config = require('./config-Bk2_O4iy.cjs');
7
+ var persistence = require('./types-NwtcBgfS.cjs');
8
+ var index = require('./index-Dcv1RKe8.cjs');
9
+ var AcpBackend = require('./AcpBackend-CsLnh1So.cjs');
10
+ var config = require('./config-pv17N6Kg.cjs');
11
11
  require('axios');
12
12
  require('chalk');
13
13
  require('node:util');
@@ -3,9 +3,9 @@ import { execFileSync } from 'node:child_process';
3
3
  import os from 'node:os';
4
4
  import { existsSync, readFileSync } from 'node:fs';
5
5
  import { join } from 'node:path';
6
- import { k as ensurePrivateDirectorySync, m as hardenPrivateFileSync, w as writePrivateFileSync, e as errorLogMetadata, d as contentLogMetadata, h as connectionState, A as ApiClient, i as readSettings, j as encodeBase64, l as logger, c as configuration } from './types-kLTNjWVl.mjs';
7
- import { A as AcpSessionManager } from './AcpSessionManager-DpiEroK5.mjs';
8
- import { i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, r as registerKillSessionHandler } from './index-DBO5ydFO.mjs';
6
+ import { k as ensurePrivateDirectorySync, m as hardenPrivateFileSync, w as writePrivateFileSync, e as errorLogMetadata, d as contentLogMetadata, h as connectionState, A as ApiClient, i as readSettings, j as encodeBase64, l as logger, c as configuration } from './types-D2qSKjsO.mjs';
7
+ import { A as AcpSessionManager } from './AcpSessionManager-CU5vsxgF.mjs';
8
+ import { i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, r as registerKillSessionHandler } from './index-DOb57EGb.mjs';
9
9
  import WebSocket from 'ws';
10
10
  import * as ed from '@noble/ed25519';
11
11
  import { sha512 } from '@noble/hashes/sha2.js';
@@ -5,9 +5,9 @@ var node_child_process = require('node:child_process');
5
5
  var os = require('node:os');
6
6
  var node_fs = require('node:fs');
7
7
  var path = require('node:path');
8
- var persistence = require('./types-xqPsUU1d.cjs');
9
- var AcpSessionManager = require('./AcpSessionManager-rkoOuyxF.cjs');
10
- var index = require('./index-Baq7aDcp.cjs');
8
+ var persistence = require('./types-NwtcBgfS.cjs');
9
+ var AcpSessionManager = require('./AcpSessionManager--CixPN-p.cjs');
10
+ var index = require('./index-Dcv1RKe8.cjs');
11
11
  var WebSocket = require('ws');
12
12
  var ed = require('@noble/ed25519');
13
13
  var sha2_js = require('@noble/hashes/sha2.js');
@@ -1,8 +1,8 @@
1
1
  import chalk from 'chalk';
2
2
  import { readFileSync } from 'node:fs';
3
3
  import { resolve } from 'node:path';
4
- import { r as readPersistedSessions, c as configuration } from './types-kLTNjWVl.mjs';
5
- import { b as sendUserMessage, a as sessionWebUrl } from './index-DBO5ydFO.mjs';
4
+ import { r as readPersistedSessions, c as configuration } from './types-D2qSKjsO.mjs';
5
+ import { b as sendUserMessage, a as sessionWebUrl } from './index-DOb57EGb.mjs';
6
6
  import 'axios';
7
7
  import 'node:util';
8
8
  import 'node:os';
@@ -3,8 +3,8 @@
3
3
  var chalk = require('chalk');
4
4
  var node_fs = require('node:fs');
5
5
  var path = require('node:path');
6
- var persistence = require('./types-xqPsUU1d.cjs');
7
- var index = require('./index-Baq7aDcp.cjs');
6
+ var persistence = require('./types-NwtcBgfS.cjs');
7
+ var index = require('./index-Dcv1RKe8.cjs');
8
8
  require('axios');
9
9
  require('node:util');
10
10
  require('node:os');
@@ -3,8 +3,8 @@
3
3
  var chalk = require('chalk');
4
4
  var node_fs = require('node:fs');
5
5
  var path = require('node:path');
6
- var index = require('./index-Baq7aDcp.cjs');
7
- var persistence = require('./types-xqPsUU1d.cjs');
6
+ var index = require('./index-Dcv1RKe8.cjs');
7
+ var persistence = require('./types-NwtcBgfS.cjs');
8
8
  require('node:os');
9
9
  require('node:crypto');
10
10
  require('cross-spawn');
@@ -1,8 +1,8 @@
1
1
  import chalk from 'chalk';
2
2
  import { readFileSync, statSync } from 'node:fs';
3
3
  import { resolve } from 'node:path';
4
- import { c as checkIfDaemonRunningAndCleanupStaleState, s as spawnDaemonSession, a as sessionWebUrl, w as waitForSessionKey, b as sendUserMessage } from './index-DBO5ydFO.mjs';
5
- import { l as logger } from './types-kLTNjWVl.mjs';
4
+ import { c as checkIfDaemonRunningAndCleanupStaleState, s as spawnDaemonSession, a as sessionWebUrl, w as waitForSessionKey, b as sendUserMessage } from './index-DOb57EGb.mjs';
5
+ import { l as logger } from './types-D2qSKjsO.mjs';
6
6
  import 'node:os';
7
7
  import 'node:crypto';
8
8
  import 'cross-spawn';