very-happy-cli 0.2.85 → 0.2.86

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 (29) hide show
  1. package/dist/{AcpBackend-B1l_WyZy.cjs → AcpBackend-CnDmOAKz.cjs} +1 -1
  2. package/dist/{AcpBackend-CDclNgxu.mjs → AcpBackend-DyJXz2cV.mjs} +1 -1
  3. package/dist/{AcpSessionManager-dVX0uTo8.cjs → AcpSessionManager-CDS2s3H8.cjs} +1 -1
  4. package/dist/{AcpSessionManager-PCdfo4gz.mjs → AcpSessionManager-CzZ_5XwN.mjs} +1 -1
  5. package/dist/{config-Ce5hbWlg.cjs → config-Cw_3dY3i.cjs} +2 -2
  6. package/dist/{config-DDsvmCxL.mjs → config-b8y6YTtW.mjs} +2 -2
  7. package/dist/{index-Syfrd3oP.cjs → index-BeCsCfgr.cjs} +4 -4
  8. package/dist/{index-CCQ2mqkA.mjs → index-BsVwUyNS.mjs} +5 -5
  9. package/dist/{index-DUcWAKZ0.cjs → index-CzSk11Ko.cjs} +15 -15
  10. package/dist/{index-DVKieWPR.mjs → index-HVcBQWc_.mjs} +12 -12
  11. package/dist/index.cjs +2 -2
  12. package/dist/index.mjs +2 -2
  13. package/dist/{installTerminalHooks-BMTBsCfi.mjs → installTerminalHooks-BxELtnAg.mjs} +2 -2
  14. package/dist/{installTerminalHooks-hcCRjxNy.cjs → installTerminalHooks-CyGiM6kp.cjs} +2 -2
  15. package/dist/lib.cjs +1 -1
  16. package/dist/lib.mjs +1 -1
  17. package/dist/{mcp-DGHMyTt-.cjs → mcp-BjK-A9P8.cjs} +2 -2
  18. package/dist/{mcp-C2bERsV2.mjs → mcp-DELG3yID.mjs} +2 -2
  19. package/dist/{runGemini-CUpp6u-S.mjs → runGemini-BBhQGbGW.mjs} +4 -4
  20. package/dist/{runGemini-U5JI6rsK.cjs → runGemini-SNeOUgOy.cjs} +4 -4
  21. package/dist/{runOpenClaw-BHR7emaO.mjs → runOpenClaw-CtmTc9vT.mjs} +3 -3
  22. package/dist/{runOpenClaw-DJYiIMrs.cjs → runOpenClaw-DKVWdqEe.cjs} +3 -3
  23. package/dist/{send-AIDeVBON.mjs → send-DIvt2Nop.mjs} +2 -2
  24. package/dist/{send-iDuDd7yC.cjs → send-DefYtEsA.cjs} +2 -2
  25. package/dist/{spawn-DPz_3Q6B.mjs → spawn-BX0cmn9s.mjs} +2 -2
  26. package/dist/{spawn-Kklokpjz.cjs → spawn-rykblFJB.cjs} +2 -2
  27. package/dist/{types-DJGEti9c.cjs → types-CsnC0xzi.cjs} +14 -10
  28. package/dist/{types-CkUHjxKz.mjs → types-cfTs9Xpw.mjs} +13 -9
  29. package/package.json +7 -7
@@ -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-DJGEti9c.cjs');
6
+ var persistence = require('./types-CsnC0xzi.cjs');
7
7
 
8
8
  const DEFAULT_TIMEOUTS = {
9
9
  /** Default initialization timeout: 60 seconds */
@@ -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-CkUHjxKz.mjs';
4
+ import { l as logger, d as contentLogMetadata, e as errorLogMetadata, f as packageJson, g as delay } from './types-cfTs9Xpw.mjs';
5
5
 
6
6
  const DEFAULT_TIMEOUTS = {
7
7
  /** 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-DJGEti9c.cjs');
4
+ var persistence = require('./types-CsnC0xzi.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-CkUHjxKz.mjs';
2
+ import { b as createEnvelope } from './types-cfTs9Xpw.mjs';
3
3
 
4
4
  function turnOptions(turnId, time) {
5
5
  return turnId ? { turn: turnId, time } : { time };
@@ -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-DJGEti9c.cjs');
8
- var index = require('./index-DUcWAKZ0.cjs');
7
+ var persistence = require('./types-CsnC0xzi.cjs');
8
+ var index = require('./index-CzSk11Ko.cjs');
9
9
  require('axios');
10
10
  require('chalk');
11
11
  require('node:util');
@@ -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-CkUHjxKz.mjs';
6
- import { D as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './index-DVKieWPR.mjs';
5
+ import { l as logger } from './types-cfTs9Xpw.mjs';
6
+ import { D as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './index-HVcBQWc_.mjs';
7
7
  import 'axios';
8
8
  import 'chalk';
9
9
  import 'node:util';
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var AcpBackend = require('./AcpBackend-B1l_WyZy.cjs');
4
- var persistence = require('./types-DJGEti9c.cjs');
5
- var AcpSessionManager = require('./AcpSessionManager-dVX0uTo8.cjs');
3
+ var AcpBackend = require('./AcpBackend-CnDmOAKz.cjs');
4
+ var persistence = require('./types-CsnC0xzi.cjs');
5
+ var AcpSessionManager = require('./AcpSessionManager-CDS2s3H8.cjs');
6
6
  var node_crypto = require('node:crypto');
7
7
  var path = require('node:path');
8
- var index = require('./index-DUcWAKZ0.cjs');
8
+ var index = require('./index-CzSk11Ko.cjs');
9
9
  require('node:child_process');
10
10
  require('@agentclientprotocol/sdk');
11
11
  require('axios');
@@ -1,10 +1,10 @@
1
- import { D as DefaultTransport, A as AcpBackend } from './AcpBackend-CDclNgxu.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-CDclNgxu.mjs';
3
- import { h as connectionState, A as ApiClient, i as readSettings, j as encodeBase64, l as logger, p as projectPath } from './types-CkUHjxKz.mjs';
4
- import { A as AcpSessionManager } from './AcpSessionManager-PCdfo4gz.mjs';
1
+ import { D as DefaultTransport, A as AcpBackend } from './AcpBackend-DyJXz2cV.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-DyJXz2cV.mjs';
3
+ import { h as connectionState, A as ApiClient, i as readSettings, j as encodeBase64, l as logger, p as projectPath } from './types-cfTs9Xpw.mjs';
4
+ import { A as AcpSessionManager } from './AcpSessionManager-CzZ_5XwN.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-DVKieWPR.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-HVcBQWc_.mjs';
8
8
  import 'node:child_process';
9
9
  import '@agentclientprotocol/sdk';
10
10
  import 'axios';
@@ -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-DJGEti9c.cjs');
6
+ var persistence = require('./types-CsnC0xzi.cjs');
7
7
  var spawn = require('cross-spawn');
8
8
  var path = require('node:path');
9
9
  var node_readline = require('node:readline');
@@ -8674,7 +8674,7 @@ const MAX_TITLE_CHARS = 60;
8674
8674
  const GENERATION_TIMEOUT_MS = 3e4;
8675
8675
  function resolveClaudeBinary() {
8676
8676
  try {
8677
- 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-DUcWAKZ0.cjs', document.baseURI).href)));
8677
+ 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-CzSk11Ko.cjs', document.baseURI).href)));
8678
8678
  const utilsPath = path.resolve(path.join(persistence.projectPath(), "scripts", "claude_version_utils.cjs"));
8679
8679
  const { getClaudeCliPath } = require$1(utilsPath);
8680
8680
  const path$1 = getClaudeCliPath();
@@ -10818,9 +10818,9 @@ function resolveLocalSignupBootstrap(configuredMode, configuredInviteCodes, gene
10818
10818
  };
10819
10819
  }
10820
10820
 
10821
- 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-DUcWAKZ0.cjs', document.baseURI).href)));
10821
+ 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-CzSk11Ko.cjs', document.baseURI).href)));
10822
10822
  const __dirname$1 = path.dirname(__filename$1);
10823
- const require_ = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-DUcWAKZ0.cjs', document.baseURI).href)));
10823
+ const require_ = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-CzSk11Ko.cjs', document.baseURI).href)));
10824
10824
  const PRISMA_QUERY_ENGINE_FILES = {
10825
10825
  "arm64-darwin": "libquery_engine-darwin-arm64.dylib.node",
10826
10826
  "x64-darwin": "libquery_engine-darwin.dylib.node",
@@ -13432,7 +13432,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13432
13432
  process.exit(0);
13433
13433
  } else if (subcommand === "install-terminal-hooks") {
13434
13434
  try {
13435
- const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await Promise.resolve().then(function () { return require('./installTerminalHooks-hcCRjxNy.cjs'); });
13435
+ const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await Promise.resolve().then(function () { return require('./installTerminalHooks-CyGiM6kp.cjs'); });
13436
13436
  const command = parseTerminalHooksArgs(args.slice(1));
13437
13437
  if (command.action === "help") {
13438
13438
  console.log(TERMINAL_HOOKS_HELP);
@@ -13449,7 +13449,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13449
13449
  }
13450
13450
  } else if (subcommand === "spawn") {
13451
13451
  try {
13452
- const { handleSpawnCommand } = await Promise.resolve().then(function () { return require('./spawn-Kklokpjz.cjs'); });
13452
+ const { handleSpawnCommand } = await Promise.resolve().then(function () { return require('./spawn-rykblFJB.cjs'); });
13453
13453
  await handleSpawnCommand(args.slice(1));
13454
13454
  } catch (error) {
13455
13455
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -13461,7 +13461,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13461
13461
  return;
13462
13462
  } else if (subcommand === "send") {
13463
13463
  try {
13464
- const { handleSendCommand } = await Promise.resolve().then(function () { return require('./send-iDuDd7yC.cjs'); });
13464
+ const { handleSendCommand } = await Promise.resolve().then(function () { return require('./send-DefYtEsA.cjs'); });
13465
13465
  await handleSendCommand(args.slice(1));
13466
13466
  } catch (error) {
13467
13467
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -13567,9 +13567,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13567
13567
  if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
13568
13568
  const projectId = args[3];
13569
13569
  try {
13570
- const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-Ce5hbWlg.cjs'); });
13571
- const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await Promise.resolve().then(function () { return require('./types-DJGEti9c.cjs'); }).then(function (n) { return n.persistence; });
13572
- const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./types-DJGEti9c.cjs'); }).then(function (n) { return n.api; });
13570
+ const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-Cw_3dY3i.cjs'); });
13571
+ const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await Promise.resolve().then(function () { return require('./types-CsnC0xzi.cjs'); }).then(function (n) { return n.persistence; });
13572
+ const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./types-CsnC0xzi.cjs'); }).then(function (n) { return n.api; });
13573
13573
  let userEmail = void 0;
13574
13574
  try {
13575
13575
  const credentials = await readCredentialsForConfiguredRelay2();
@@ -13600,7 +13600,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13600
13600
  }
13601
13601
  if (geminiSubcommand === "project" && args[2] === "get") {
13602
13602
  try {
13603
- const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-Ce5hbWlg.cjs'); });
13603
+ const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-Cw_3dY3i.cjs'); });
13604
13604
  const config = readGeminiLocalConfig();
13605
13605
  if (config.googleCloudProject) {
13606
13606
  console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
@@ -13640,7 +13640,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13640
13640
  process.exit(0);
13641
13641
  }
13642
13642
  try {
13643
- const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-U5JI6rsK.cjs'); });
13643
+ const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-SNeOUgOy.cjs'); });
13644
13644
  let startedBy = void 0;
13645
13645
  for (let i = 1; i < args.length; i++) {
13646
13646
  if (args[i] === "--started-by") {
@@ -13662,7 +13662,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13662
13662
  return;
13663
13663
  } else if (subcommand === "acp") {
13664
13664
  try {
13665
- const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-Syfrd3oP.cjs'); });
13665
+ const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-BeCsCfgr.cjs'); });
13666
13666
  let startedBy = void 0;
13667
13667
  let verbose = false;
13668
13668
  const acpArgs = [];
@@ -13702,7 +13702,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13702
13702
  return;
13703
13703
  } else if (subcommand === "openclaw") {
13704
13704
  try {
13705
- const { runOpenClaw } = await Promise.resolve().then(function () { return require('./runOpenClaw-DJYiIMrs.cjs'); });
13705
+ const { runOpenClaw } = await Promise.resolve().then(function () { return require('./runOpenClaw-DKVWdqEe.cjs'); });
13706
13706
  let startedBy = void 0;
13707
13707
  let verbose = false;
13708
13708
  let gatewayUrl;
@@ -13753,7 +13753,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13753
13753
  return;
13754
13754
  } else if (subcommand === "mcp" && args.length === 1) {
13755
13755
  try {
13756
- const { handleMcpCommand } = await Promise.resolve().then(function () { return require('./mcp-DGHMyTt-.cjs'); });
13756
+ const { handleMcpCommand } = await Promise.resolve().then(function () { return require('./mcp-BjK-A9P8.cjs'); });
13757
13757
  await handleMcpCommand();
13758
13758
  } catch (error) {
13759
13759
  process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
@@ -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, v as ensurePrivateDirectory, M as MAX_CHAT_ATTACHMENT_SOURCE_BYTES, x as hardenPrivateFile, f as packageJson, i as readSettings, y as readCredentials, z as credentialRelayProblem, B as deriveLocalCliUpdateSummary, j as encodeBase64, C as updateSettings, D as encodeBase64Url, E as decodeBase64, F as writeCredentialsLegacy, G as writeCredentialsDataKey, H as readCredentialsForConfiguredRelay, J as encrypt, r as readPersistedSessions, K as getLocalHappyAgentCredentialPath, L as readLocalHappyAgentCredentials, N as decryptWithDataKey, O as decryptLegacy, P as extractCompleteLines, Q as decideBackfill, S as parseTerminalHookPayload, T as decideMirrorBinding, U as persistSession, V as MIRROR_BACKFILL_LINES_DEFAULT, W as mirrorLineKey, X as mirrorLocalId, Y as detectResumeSupport, Z as detectCLIAvailability, _ as acquireDaemonLock, $ as summarizeSpawnSessionForLog, a0 as deletePersistedSessions, a1 as decrypt, a2 as writeDaemonState, A as ApiClient, a3 as fetchCliUpdateState, a4 as resolveCliUpdateCheckInterval, a5 as DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS, a6 as releaseDaemonLock, a7 as isValidSessionId, a8 as listVhTerminals, a9 as isValidTerminalId, aa as readVhTerminal, ab as sendToVhTerminal, h as connectionState, ac as startOfflineReconnection, ad as clearCredentials, ae as clearMachineId, k as ensurePrivateDirectorySync, w as writePrivateFileSync, af as SandboxConfigSchema, b as createEnvelope, ag as CodexAppServerClient, ah as getLatestDaemonLog } from './types-CkUHjxKz.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, v as ensurePrivateDirectory, M as MAX_CHAT_ATTACHMENT_SOURCE_BYTES, x as hardenPrivateFile, f as packageJson, i as readSettings, y as readCredentials, z as credentialRelayProblem, B as deriveLocalCliUpdateSummary, j as encodeBase64, C as updateSettings, D as encodeBase64Url, E as decodeBase64, F as writeCredentialsLegacy, G as writeCredentialsDataKey, H as readCredentialsForConfiguredRelay, J as encrypt, r as readPersistedSessions, K as getLocalHappyAgentCredentialPath, L as readLocalHappyAgentCredentials, N as decryptWithDataKey, O as decryptLegacy, P as extractCompleteLines, Q as decideBackfill, S as parseTerminalHookPayload, T as decideMirrorBinding, U as persistSession, V as MIRROR_BACKFILL_LINES_DEFAULT, W as mirrorLineKey, X as mirrorLocalId, Y as detectResumeSupport, Z as detectCLIAvailability, _ as acquireDaemonLock, $ as summarizeSpawnSessionForLog, a0 as deletePersistedSessions, a1 as decrypt, a2 as writeDaemonState, A as ApiClient, a3 as fetchCliUpdateState, a4 as resolveCliUpdateCheckInterval, a5 as DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS, a6 as releaseDaemonLock, a7 as isValidSessionId, a8 as listVhTerminals, a9 as isValidTerminalId, aa as readVhTerminal, ab as sendToVhTerminal, h as connectionState, ac as startOfflineReconnection, ad as clearCredentials, ae as clearMachineId, k as ensurePrivateDirectorySync, w as writePrivateFileSync, af as SandboxConfigSchema, b as createEnvelope, ag as CodexAppServerClient, ah as getLatestDaemonLog } from './types-cfTs9Xpw.mjs';
5
5
  import spawn$1, { spawn } from 'cross-spawn';
6
6
  import path, { join, resolve, basename, isAbsolute, normalize, sep, dirname } from 'node:path';
7
7
  import { createInterface } from 'node:readline';
@@ -13410,7 +13410,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13410
13410
  process.exit(0);
13411
13411
  } else if (subcommand === "install-terminal-hooks") {
13412
13412
  try {
13413
- const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await import('./installTerminalHooks-BMTBsCfi.mjs');
13413
+ const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await import('./installTerminalHooks-BxELtnAg.mjs');
13414
13414
  const command = parseTerminalHooksArgs(args.slice(1));
13415
13415
  if (command.action === "help") {
13416
13416
  console.log(TERMINAL_HOOKS_HELP);
@@ -13427,7 +13427,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13427
13427
  }
13428
13428
  } else if (subcommand === "spawn") {
13429
13429
  try {
13430
- const { handleSpawnCommand } = await import('./spawn-DPz_3Q6B.mjs');
13430
+ const { handleSpawnCommand } = await import('./spawn-BX0cmn9s.mjs');
13431
13431
  await handleSpawnCommand(args.slice(1));
13432
13432
  } catch (error) {
13433
13433
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -13439,7 +13439,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13439
13439
  return;
13440
13440
  } else if (subcommand === "send") {
13441
13441
  try {
13442
- const { handleSendCommand } = await import('./send-AIDeVBON.mjs');
13442
+ const { handleSendCommand } = await import('./send-DIvt2Nop.mjs');
13443
13443
  await handleSendCommand(args.slice(1));
13444
13444
  } catch (error) {
13445
13445
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -13545,9 +13545,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13545
13545
  if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
13546
13546
  const projectId = args[3];
13547
13547
  try {
13548
- const { saveGoogleCloudProjectToConfig } = await import('./config-DDsvmCxL.mjs');
13549
- const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./types-CkUHjxKz.mjs').then(function (n) { return n.ai; });
13550
- const { ApiClient: ApiClient2 } = await import('./types-CkUHjxKz.mjs').then(function (n) { return n.aj; });
13548
+ const { saveGoogleCloudProjectToConfig } = await import('./config-b8y6YTtW.mjs');
13549
+ const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./types-cfTs9Xpw.mjs').then(function (n) { return n.ai; });
13550
+ const { ApiClient: ApiClient2 } = await import('./types-cfTs9Xpw.mjs').then(function (n) { return n.aj; });
13551
13551
  let userEmail = void 0;
13552
13552
  try {
13553
13553
  const credentials = await readCredentialsForConfiguredRelay2();
@@ -13578,7 +13578,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13578
13578
  }
13579
13579
  if (geminiSubcommand === "project" && args[2] === "get") {
13580
13580
  try {
13581
- const { readGeminiLocalConfig } = await import('./config-DDsvmCxL.mjs');
13581
+ const { readGeminiLocalConfig } = await import('./config-b8y6YTtW.mjs');
13582
13582
  const config = readGeminiLocalConfig();
13583
13583
  if (config.googleCloudProject) {
13584
13584
  console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
@@ -13618,7 +13618,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13618
13618
  process.exit(0);
13619
13619
  }
13620
13620
  try {
13621
- const { runGemini } = await import('./runGemini-CUpp6u-S.mjs');
13621
+ const { runGemini } = await import('./runGemini-BBhQGbGW.mjs');
13622
13622
  let startedBy = void 0;
13623
13623
  for (let i = 1; i < args.length; i++) {
13624
13624
  if (args[i] === "--started-by") {
@@ -13640,7 +13640,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13640
13640
  return;
13641
13641
  } else if (subcommand === "acp") {
13642
13642
  try {
13643
- const { runAcp, resolveAcpAgentConfig } = await import('./index-CCQ2mqkA.mjs');
13643
+ const { runAcp, resolveAcpAgentConfig } = await import('./index-BsVwUyNS.mjs');
13644
13644
  let startedBy = void 0;
13645
13645
  let verbose = false;
13646
13646
  const acpArgs = [];
@@ -13680,7 +13680,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13680
13680
  return;
13681
13681
  } else if (subcommand === "openclaw") {
13682
13682
  try {
13683
- const { runOpenClaw } = await import('./runOpenClaw-BHR7emaO.mjs');
13683
+ const { runOpenClaw } = await import('./runOpenClaw-CtmTc9vT.mjs');
13684
13684
  let startedBy = void 0;
13685
13685
  let verbose = false;
13686
13686
  let gatewayUrl;
@@ -13731,7 +13731,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
13731
13731
  return;
13732
13732
  } else if (subcommand === "mcp" && args.length === 1) {
13733
13733
  try {
13734
- const { handleMcpCommand } = await import('./mcp-C2bERsV2.mjs');
13734
+ const { handleMcpCommand } = await import('./mcp-DELG3yID.mjs');
13735
13735
  await handleMcpCommand();
13736
13736
  } catch (error) {
13737
13737
  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-DUcWAKZ0.cjs');
5
- require('./types-DJGEti9c.cjs');
4
+ require('./index-CzSk11Ko.cjs');
5
+ require('./types-CsnC0xzi.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-DVKieWPR.mjs';
3
- import './types-CkUHjxKz.mjs';
2
+ import './index-HVcBQWc_.mjs';
3
+ import './types-cfTs9Xpw.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-CkUHjxKz.mjs';
7
- import { t as tmuxSupportsSessionEnv } from './index-DVKieWPR.mjs';
6
+ import { p as projectPath } from './types-cfTs9Xpw.mjs';
7
+ import { t as tmuxSupportsSessionEnv } from './index-HVcBQWc_.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-DJGEti9c.cjs');
9
- var index = require('./index-DUcWAKZ0.cjs');
8
+ var persistence = require('./types-CsnC0xzi.cjs');
9
+ var index = require('./index-CzSk11Ko.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-DJGEti9c.cjs');
3
+ var persistence = require('./types-CsnC0xzi.cjs');
4
4
  require('axios');
5
5
  require('chalk');
6
6
  require('node:util');
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-CkUHjxKz.mjs';
1
+ export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-cfTs9Xpw.mjs';
2
2
  import 'axios';
3
3
  import 'chalk';
4
4
  import 'node:util';
@@ -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-DUcWAKZ0.cjs');
6
+ var index = require('./index-CzSk11Ko.cjs');
7
7
  var limits = require('./limits-KdWKmwtH.cjs');
8
- var persistence = require('./types-DJGEti9c.cjs');
8
+ var persistence = require('./types-CsnC0xzi.cjs');
9
9
  require('chalk');
10
10
  require('node:os');
11
11
  require('node:crypto');
@@ -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-DVKieWPR.mjs';
4
+ import { p as pushClipboardViaDaemon } from './index-HVcBQWc_.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-CkUHjxKz.mjs';
6
+ import { l as logger } from './types-cfTs9Xpw.mjs';
7
7
  import 'chalk';
8
8
  import 'node:os';
9
9
  import '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-CkUHjxKz.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-DVKieWPR.mjs';
7
- import { A as AcpBackend } from './AcpBackend-CDclNgxu.mjs';
8
- import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-DDsvmCxL.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-cfTs9Xpw.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-HVcBQWc_.mjs';
7
+ import { A as AcpBackend } from './AcpBackend-DyJXz2cV.mjs';
8
+ import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-b8y6YTtW.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-DJGEti9c.cjs');
8
- var index = require('./index-DUcWAKZ0.cjs');
9
- var AcpBackend = require('./AcpBackend-B1l_WyZy.cjs');
10
- var config = require('./config-Ce5hbWlg.cjs');
7
+ var persistence = require('./types-CsnC0xzi.cjs');
8
+ var index = require('./index-CzSk11Ko.cjs');
9
+ var AcpBackend = require('./AcpBackend-CnDmOAKz.cjs');
10
+ var config = require('./config-Cw_3dY3i.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-CkUHjxKz.mjs';
7
- import { A as AcpSessionManager } from './AcpSessionManager-PCdfo4gz.mjs';
8
- import { i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, r as registerKillSessionHandler } from './index-DVKieWPR.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-cfTs9Xpw.mjs';
7
+ import { A as AcpSessionManager } from './AcpSessionManager-CzZ_5XwN.mjs';
8
+ import { i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, r as registerKillSessionHandler } from './index-HVcBQWc_.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-DJGEti9c.cjs');
9
- var AcpSessionManager = require('./AcpSessionManager-dVX0uTo8.cjs');
10
- var index = require('./index-DUcWAKZ0.cjs');
8
+ var persistence = require('./types-CsnC0xzi.cjs');
9
+ var AcpSessionManager = require('./AcpSessionManager-CDS2s3H8.cjs');
10
+ var index = require('./index-CzSk11Ko.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-CkUHjxKz.mjs';
5
- import { b as sendUserMessage, a as sessionWebUrl } from './index-DVKieWPR.mjs';
4
+ import { r as readPersistedSessions, c as configuration } from './types-cfTs9Xpw.mjs';
5
+ import { b as sendUserMessage, a as sessionWebUrl } from './index-HVcBQWc_.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-DJGEti9c.cjs');
7
- var index = require('./index-DUcWAKZ0.cjs');
6
+ var persistence = require('./types-CsnC0xzi.cjs');
7
+ var index = require('./index-CzSk11Ko.cjs');
8
8
  require('axios');
9
9
  require('node:util');
10
10
  require('node:os');
@@ -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-DVKieWPR.mjs';
5
- import { l as logger } from './types-CkUHjxKz.mjs';
4
+ import { c as checkIfDaemonRunningAndCleanupStaleState, s as spawnDaemonSession, a as sessionWebUrl, w as waitForSessionKey, b as sendUserMessage } from './index-HVcBQWc_.mjs';
5
+ import { l as logger } from './types-cfTs9Xpw.mjs';
6
6
  import 'node:os';
7
7
  import 'node:crypto';
8
8
  import 'cross-spawn';
@@ -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-DUcWAKZ0.cjs');
7
- var persistence = require('./types-DJGEti9c.cjs');
6
+ var index = require('./index-CzSk11Ko.cjs');
7
+ var persistence = require('./types-CsnC0xzi.cjs');
8
8
  require('node:os');
9
9
  require('node:crypto');
10
10
  require('cross-spawn');
@@ -51,7 +51,7 @@ var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
51
51
  var pty__namespace = /*#__PURE__*/_interopNamespaceDefault(pty);
52
52
 
53
53
  var name = "very-happy-cli";
54
- var version = "0.2.85";
54
+ var version = "0.2.86";
55
55
  var description = "Remote multi-agent workspace CLI with deep Claude integration, native terminal streaming, and self-hosting.";
56
56
  var author = "Kirill Dubovitskiy";
57
57
  var contributors = [
@@ -164,12 +164,12 @@ var dependencies = {
164
164
  zod: "^4.0.0"
165
165
  };
166
166
  var optionalDependencies = {
167
- "very-happy-tools-arm64-darwin": "0.2.85",
168
- "very-happy-tools-x64-darwin": "0.2.85",
169
- "very-happy-tools-arm64-linux": "0.2.85",
170
- "very-happy-tools-x64-linux": "0.2.85",
171
- "very-happy-tools-arm64-win32": "0.2.85",
172
- "very-happy-tools-x64-win32": "0.2.85"
167
+ "very-happy-tools-arm64-darwin": "0.2.86",
168
+ "very-happy-tools-x64-darwin": "0.2.86",
169
+ "very-happy-tools-arm64-linux": "0.2.86",
170
+ "very-happy-tools-x64-linux": "0.2.86",
171
+ "very-happy-tools-arm64-win32": "0.2.86",
172
+ "very-happy-tools-x64-win32": "0.2.86"
173
173
  };
174
174
  var devDependencies = {
175
175
  "@slopus/happy-wire": "workspace:*",
@@ -1484,7 +1484,7 @@ class RpcHandlerManager {
1484
1484
  }
1485
1485
  }
1486
1486
 
1487
- const __dirname$1 = path$1.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('types-DJGEti9c.cjs', document.baseURI).href))));
1487
+ const __dirname$1 = path$1.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('types-CsnC0xzi.cjs', document.baseURI).href))));
1488
1488
  function projectPath() {
1489
1489
  const path = path$1.resolve(__dirname$1, "..");
1490
1490
  return path;
@@ -3649,7 +3649,9 @@ class ApiSessionClient extends node_events.EventEmitter {
3649
3649
  this.metadata = decrypt(this.encryptionKey, this.encryptionVariant, decodeBase64(answer.metadata));
3650
3650
  }
3651
3651
  throw new Error("Metadata version mismatch");
3652
- } else if (answer.result === "error") ;
3652
+ } else if (answer.result === "error") {
3653
+ throw new Error("Metadata update failed");
3654
+ }
3653
3655
  });
3654
3656
  });
3655
3657
  }
@@ -3673,7 +3675,9 @@ class ApiSessionClient extends node_events.EventEmitter {
3673
3675
  this.agentState = answer.agentState ? decrypt(this.encryptionKey, this.encryptionVariant, decodeBase64(answer.agentState)) : null;
3674
3676
  }
3675
3677
  throw new Error("Agent state version mismatch");
3676
- } else if (answer.result === "error") ;
3678
+ } else if (answer.result === "error") {
3679
+ throw new Error("Agent state update failed");
3680
+ }
3677
3681
  });
3678
3682
  });
3679
3683
  }
@@ -29,7 +29,7 @@ import { SandboxManager } from '@anthropic-ai/sandbox-runtime';
29
29
  import { Expo } from 'expo-server-sdk';
30
30
 
31
31
  var name = "very-happy-cli";
32
- var version = "0.2.85";
32
+ var version = "0.2.86";
33
33
  var description = "Remote multi-agent workspace CLI with deep Claude integration, native terminal streaming, and self-hosting.";
34
34
  var author = "Kirill Dubovitskiy";
35
35
  var contributors = [
@@ -142,12 +142,12 @@ var dependencies = {
142
142
  zod: "^4.0.0"
143
143
  };
144
144
  var optionalDependencies = {
145
- "very-happy-tools-arm64-darwin": "0.2.85",
146
- "very-happy-tools-x64-darwin": "0.2.85",
147
- "very-happy-tools-arm64-linux": "0.2.85",
148
- "very-happy-tools-x64-linux": "0.2.85",
149
- "very-happy-tools-arm64-win32": "0.2.85",
150
- "very-happy-tools-x64-win32": "0.2.85"
145
+ "very-happy-tools-arm64-darwin": "0.2.86",
146
+ "very-happy-tools-x64-darwin": "0.2.86",
147
+ "very-happy-tools-arm64-linux": "0.2.86",
148
+ "very-happy-tools-x64-linux": "0.2.86",
149
+ "very-happy-tools-arm64-win32": "0.2.86",
150
+ "very-happy-tools-x64-win32": "0.2.86"
151
151
  };
152
152
  var devDependencies = {
153
153
  "@slopus/happy-wire": "workspace:*",
@@ -3627,7 +3627,9 @@ class ApiSessionClient extends EventEmitter {
3627
3627
  this.metadata = decrypt(this.encryptionKey, this.encryptionVariant, decodeBase64(answer.metadata));
3628
3628
  }
3629
3629
  throw new Error("Metadata version mismatch");
3630
- } else if (answer.result === "error") ;
3630
+ } else if (answer.result === "error") {
3631
+ throw new Error("Metadata update failed");
3632
+ }
3631
3633
  });
3632
3634
  });
3633
3635
  }
@@ -3651,7 +3653,9 @@ class ApiSessionClient extends EventEmitter {
3651
3653
  this.agentState = answer.agentState ? decrypt(this.encryptionKey, this.encryptionVariant, decodeBase64(answer.agentState)) : null;
3652
3654
  }
3653
3655
  throw new Error("Agent state version mismatch");
3654
- } else if (answer.result === "error") ;
3656
+ } else if (answer.result === "error") {
3657
+ throw new Error("Agent state update failed");
3658
+ }
3655
3659
  });
3656
3660
  });
3657
3661
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "very-happy-cli",
3
- "version": "0.2.85",
3
+ "version": "0.2.86",
4
4
  "description": "Remote multi-agent workspace CLI with deep Claude integration, native terminal streaming, and self-hosting.",
5
5
  "author": "Kirill Dubovitskiy",
6
6
  "contributors": [
@@ -113,12 +113,12 @@
113
113
  "zod": "^4.0.0"
114
114
  },
115
115
  "optionalDependencies": {
116
- "very-happy-tools-arm64-darwin": "0.2.85",
117
- "very-happy-tools-x64-darwin": "0.2.85",
118
- "very-happy-tools-arm64-linux": "0.2.85",
119
- "very-happy-tools-x64-linux": "0.2.85",
120
- "very-happy-tools-arm64-win32": "0.2.85",
121
- "very-happy-tools-x64-win32": "0.2.85"
116
+ "very-happy-tools-arm64-darwin": "0.2.86",
117
+ "very-happy-tools-x64-darwin": "0.2.86",
118
+ "very-happy-tools-arm64-linux": "0.2.86",
119
+ "very-happy-tools-x64-linux": "0.2.86",
120
+ "very-happy-tools-arm64-win32": "0.2.86",
121
+ "very-happy-tools-x64-win32": "0.2.86"
122
122
  },
123
123
  "devDependencies": {
124
124
  "@slopus/happy-wire": "workspace:*",