very-happy-cli 0.2.79 → 0.2.80
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.
- package/dist/{AcpBackend-DPcRh_3n.mjs → AcpBackend-DBJGqMwR.mjs} +1 -1
- package/dist/{AcpBackend-BuxJntPo.cjs → AcpBackend-_662AILI.cjs} +1 -1
- package/dist/{AcpSessionManager-DVGWPtBC.mjs → AcpSessionManager-DcWebwii.mjs} +1 -1
- package/dist/{AcpSessionManager-BOZPQZUQ.cjs → AcpSessionManager-ENIrbDWT.cjs} +1 -1
- package/dist/{config-T7eM_8eT.mjs → config-DHUFJkEr.mjs} +2 -2
- package/dist/{config-DB0v5eoc.cjs → config-Dn4CC1I_.cjs} +2 -2
- package/dist/{index-D_ZjCYNI.cjs → index-C9JZ3wyP.cjs} +4 -4
- package/dist/{index-BGvGqzc1.cjs → index-CdmSlaUU.cjs} +15 -15
- package/dist/{index-CuLe9SB7.mjs → index-D9OFwx0T.mjs} +5 -5
- package/dist/{index-HYOkniru.mjs → index-DoLyKWEW.mjs} +12 -12
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{installTerminalHooks-CPKThY28.mjs → installTerminalHooks-D48YflmS.mjs} +2 -2
- package/dist/{installTerminalHooks-CAViJyYh.cjs → installTerminalHooks-RgJOM2ds.cjs} +2 -2
- package/dist/lib.cjs +1 -1
- package/dist/lib.mjs +1 -1
- package/dist/{mcp-DhQcmKO7.cjs → mcp-CIJ6lM8-.cjs} +2 -2
- package/dist/{mcp-DhUA22wj.mjs → mcp-DnO0vHep.mjs} +2 -2
- package/dist/{runGemini-CfWCL9K7.cjs → runGemini-CDko3vdP.cjs} +4 -4
- package/dist/{runGemini-BVxviS8T.mjs → runGemini-Cnvz6a6J.mjs} +4 -4
- package/dist/{runOpenClaw-DVTaZJtj.mjs → runOpenClaw-Cpxdqf9Z.mjs} +3 -3
- package/dist/{runOpenClaw-kSy7Os3C.cjs → runOpenClaw-Dk_FfroQ.cjs} +3 -3
- package/dist/{send-jzwPToBN.cjs → send-BavRmzTl.cjs} +2 -2
- package/dist/{send-DjjJQXJt.mjs → send-DJWwqdS_.mjs} +2 -2
- package/dist/{spawn-DFnYIiKP.cjs → spawn-Bqrneceh.cjs} +2 -2
- package/dist/{spawn-DBpgsEkS.mjs → spawn-DWf78N7k.mjs} +2 -2
- package/dist/{types-BRDN6zN2.mjs → types-B2DG32ua.mjs} +28 -12
- package/dist/{types-Dy7P_1bh.cjs → types-DL98ZceN.cjs} +28 -12
- 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-
|
|
4
|
+
import { l as logger, d as contentLogMetadata, e as errorLogMetadata, f as packageJson, g as delay } from './types-B2DG32ua.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-
|
|
6
|
+
var persistence = require('./types-DL98ZceN.cjs');
|
|
7
7
|
|
|
8
8
|
const DEFAULT_TIMEOUTS = {
|
|
9
9
|
/** Default initialization timeout: 60 seconds */
|
|
@@ -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-
|
|
6
|
-
import { D as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './index-
|
|
5
|
+
import { l as logger } from './types-B2DG32ua.mjs';
|
|
6
|
+
import { D as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './index-DoLyKWEW.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-
|
|
8
|
-
var index = require('./index-
|
|
7
|
+
var persistence = require('./types-DL98ZceN.cjs');
|
|
8
|
+
var index = require('./index-CdmSlaUU.cjs');
|
|
9
9
|
require('axios');
|
|
10
10
|
require('chalk');
|
|
11
11
|
require('node:util');
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var AcpBackend = require('./AcpBackend-
|
|
4
|
-
var persistence = require('./types-
|
|
5
|
-
var AcpSessionManager = require('./AcpSessionManager-
|
|
3
|
+
var AcpBackend = require('./AcpBackend-_662AILI.cjs');
|
|
4
|
+
var persistence = require('./types-DL98ZceN.cjs');
|
|
5
|
+
var AcpSessionManager = require('./AcpSessionManager-ENIrbDWT.cjs');
|
|
6
6
|
var node_crypto = require('node:crypto');
|
|
7
7
|
var path = require('node:path');
|
|
8
|
-
var index = require('./index-
|
|
8
|
+
var index = require('./index-CdmSlaUU.cjs');
|
|
9
9
|
require('node:child_process');
|
|
10
10
|
require('@agentclientprotocol/sdk');
|
|
11
11
|
require('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-
|
|
6
|
+
var persistence = require('./types-DL98ZceN.cjs');
|
|
7
7
|
var spawn = require('cross-spawn');
|
|
8
8
|
var path = require('node:path');
|
|
9
9
|
var node_readline = require('node:readline');
|
|
@@ -8453,7 +8453,7 @@ const MAX_TITLE_CHARS = 60;
|
|
|
8453
8453
|
const GENERATION_TIMEOUT_MS = 3e4;
|
|
8454
8454
|
function resolveClaudeBinary() {
|
|
8455
8455
|
try {
|
|
8456
|
-
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-
|
|
8456
|
+
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-CdmSlaUU.cjs', document.baseURI).href)));
|
|
8457
8457
|
const utilsPath = path.resolve(path.join(persistence.projectPath(), "scripts", "claude_version_utils.cjs"));
|
|
8458
8458
|
const { getClaudeCliPath } = require$1(utilsPath);
|
|
8459
8459
|
const path$1 = getClaudeCliPath();
|
|
@@ -10570,9 +10570,9 @@ function resolveLocalSignupBootstrap(configuredMode, configuredInviteCodes, gene
|
|
|
10570
10570
|
};
|
|
10571
10571
|
}
|
|
10572
10572
|
|
|
10573
|
-
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-
|
|
10573
|
+
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-CdmSlaUU.cjs', document.baseURI).href)));
|
|
10574
10574
|
const __dirname$1 = path.dirname(__filename$1);
|
|
10575
|
-
const require_ = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-
|
|
10575
|
+
const require_ = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-CdmSlaUU.cjs', document.baseURI).href)));
|
|
10576
10576
|
const PRISMA_QUERY_ENGINE_FILES = {
|
|
10577
10577
|
"arm64-darwin": "libquery_engine-darwin-arm64.dylib.node",
|
|
10578
10578
|
"x64-darwin": "libquery_engine-darwin.dylib.node",
|
|
@@ -13184,7 +13184,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13184
13184
|
process.exit(0);
|
|
13185
13185
|
} else if (subcommand === "install-terminal-hooks") {
|
|
13186
13186
|
try {
|
|
13187
|
-
const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await Promise.resolve().then(function () { return require('./installTerminalHooks-
|
|
13187
|
+
const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await Promise.resolve().then(function () { return require('./installTerminalHooks-RgJOM2ds.cjs'); });
|
|
13188
13188
|
const command = parseTerminalHooksArgs(args.slice(1));
|
|
13189
13189
|
if (command.action === "help") {
|
|
13190
13190
|
console.log(TERMINAL_HOOKS_HELP);
|
|
@@ -13201,7 +13201,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13201
13201
|
}
|
|
13202
13202
|
} else if (subcommand === "spawn") {
|
|
13203
13203
|
try {
|
|
13204
|
-
const { handleSpawnCommand } = await Promise.resolve().then(function () { return require('./spawn-
|
|
13204
|
+
const { handleSpawnCommand } = await Promise.resolve().then(function () { return require('./spawn-Bqrneceh.cjs'); });
|
|
13205
13205
|
await handleSpawnCommand(args.slice(1));
|
|
13206
13206
|
} catch (error) {
|
|
13207
13207
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -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 === "send") {
|
|
13215
13215
|
try {
|
|
13216
|
-
const { handleSendCommand } = await Promise.resolve().then(function () { return require('./send-
|
|
13216
|
+
const { handleSendCommand } = await Promise.resolve().then(function () { return require('./send-BavRmzTl.cjs'); });
|
|
13217
13217
|
await handleSendCommand(args.slice(1));
|
|
13218
13218
|
} catch (error) {
|
|
13219
13219
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -13319,9 +13319,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13319
13319
|
if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
|
|
13320
13320
|
const projectId = args[3];
|
|
13321
13321
|
try {
|
|
13322
|
-
const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-
|
|
13323
|
-
const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await Promise.resolve().then(function () { return require('./types-
|
|
13324
|
-
const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./types-
|
|
13322
|
+
const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-Dn4CC1I_.cjs'); });
|
|
13323
|
+
const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await Promise.resolve().then(function () { return require('./types-DL98ZceN.cjs'); }).then(function (n) { return n.persistence; });
|
|
13324
|
+
const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./types-DL98ZceN.cjs'); }).then(function (n) { return n.api; });
|
|
13325
13325
|
let userEmail = void 0;
|
|
13326
13326
|
try {
|
|
13327
13327
|
const credentials = await readCredentialsForConfiguredRelay2();
|
|
@@ -13352,7 +13352,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13352
13352
|
}
|
|
13353
13353
|
if (geminiSubcommand === "project" && args[2] === "get") {
|
|
13354
13354
|
try {
|
|
13355
|
-
const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-
|
|
13355
|
+
const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-Dn4CC1I_.cjs'); });
|
|
13356
13356
|
const config = readGeminiLocalConfig();
|
|
13357
13357
|
if (config.googleCloudProject) {
|
|
13358
13358
|
console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
|
|
@@ -13392,7 +13392,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13392
13392
|
process.exit(0);
|
|
13393
13393
|
}
|
|
13394
13394
|
try {
|
|
13395
|
-
const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-
|
|
13395
|
+
const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-CDko3vdP.cjs'); });
|
|
13396
13396
|
let startedBy = void 0;
|
|
13397
13397
|
for (let i = 1; i < args.length; i++) {
|
|
13398
13398
|
if (args[i] === "--started-by") {
|
|
@@ -13414,7 +13414,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13414
13414
|
return;
|
|
13415
13415
|
} else if (subcommand === "acp") {
|
|
13416
13416
|
try {
|
|
13417
|
-
const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-
|
|
13417
|
+
const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-C9JZ3wyP.cjs'); });
|
|
13418
13418
|
let startedBy = void 0;
|
|
13419
13419
|
let verbose = false;
|
|
13420
13420
|
const acpArgs = [];
|
|
@@ -13454,7 +13454,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13454
13454
|
return;
|
|
13455
13455
|
} else if (subcommand === "openclaw") {
|
|
13456
13456
|
try {
|
|
13457
|
-
const { runOpenClaw } = await Promise.resolve().then(function () { return require('./runOpenClaw-
|
|
13457
|
+
const { runOpenClaw } = await Promise.resolve().then(function () { return require('./runOpenClaw-Dk_FfroQ.cjs'); });
|
|
13458
13458
|
let startedBy = void 0;
|
|
13459
13459
|
let verbose = false;
|
|
13460
13460
|
let gatewayUrl;
|
|
@@ -13505,7 +13505,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13505
13505
|
return;
|
|
13506
13506
|
} else if (subcommand === "mcp" && args.length === 1) {
|
|
13507
13507
|
try {
|
|
13508
|
-
const { handleMcpCommand } = await Promise.resolve().then(function () { return require('./mcp-
|
|
13508
|
+
const { handleMcpCommand } = await Promise.resolve().then(function () { return require('./mcp-CIJ6lM8-.cjs'); });
|
|
13509
13509
|
await handleMcpCommand();
|
|
13510
13510
|
} catch (error) {
|
|
13511
13511
|
process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { D as DefaultTransport, A as AcpBackend } from './AcpBackend-
|
|
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-
|
|
3
|
-
import { h as connectionState, A as ApiClient, i as readSettings, j as encodeBase64, l as logger, p as projectPath } from './types-
|
|
4
|
-
import { A as AcpSessionManager } from './AcpSessionManager-
|
|
1
|
+
import { D as DefaultTransport, A as AcpBackend } from './AcpBackend-DBJGqMwR.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-DBJGqMwR.mjs';
|
|
3
|
+
import { h as connectionState, A as ApiClient, i as readSettings, j as encodeBase64, l as logger, p as projectPath } from './types-B2DG32ua.mjs';
|
|
4
|
+
import { A as AcpSessionManager } from './AcpSessionManager-DcWebwii.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-
|
|
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-DoLyKWEW.mjs';
|
|
8
8
|
import 'node:child_process';
|
|
9
9
|
import '@agentclientprotocol/sdk';
|
|
10
10
|
import '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-
|
|
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-B2DG32ua.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';
|
|
@@ -13162,7 +13162,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13162
13162
|
process.exit(0);
|
|
13163
13163
|
} else if (subcommand === "install-terminal-hooks") {
|
|
13164
13164
|
try {
|
|
13165
|
-
const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await import('./installTerminalHooks-
|
|
13165
|
+
const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await import('./installTerminalHooks-D48YflmS.mjs');
|
|
13166
13166
|
const command = parseTerminalHooksArgs(args.slice(1));
|
|
13167
13167
|
if (command.action === "help") {
|
|
13168
13168
|
console.log(TERMINAL_HOOKS_HELP);
|
|
@@ -13179,7 +13179,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13179
13179
|
}
|
|
13180
13180
|
} else if (subcommand === "spawn") {
|
|
13181
13181
|
try {
|
|
13182
|
-
const { handleSpawnCommand } = await import('./spawn-
|
|
13182
|
+
const { handleSpawnCommand } = await import('./spawn-DWf78N7k.mjs');
|
|
13183
13183
|
await handleSpawnCommand(args.slice(1));
|
|
13184
13184
|
} catch (error) {
|
|
13185
13185
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -13191,7 +13191,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13191
13191
|
return;
|
|
13192
13192
|
} else if (subcommand === "send") {
|
|
13193
13193
|
try {
|
|
13194
|
-
const { handleSendCommand } = await import('./send-
|
|
13194
|
+
const { handleSendCommand } = await import('./send-DJWwqdS_.mjs');
|
|
13195
13195
|
await handleSendCommand(args.slice(1));
|
|
13196
13196
|
} catch (error) {
|
|
13197
13197
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -13297,9 +13297,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13297
13297
|
if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
|
|
13298
13298
|
const projectId = args[3];
|
|
13299
13299
|
try {
|
|
13300
|
-
const { saveGoogleCloudProjectToConfig } = await import('./config-
|
|
13301
|
-
const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./types-
|
|
13302
|
-
const { ApiClient: ApiClient2 } = await import('./types-
|
|
13300
|
+
const { saveGoogleCloudProjectToConfig } = await import('./config-DHUFJkEr.mjs');
|
|
13301
|
+
const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./types-B2DG32ua.mjs').then(function (n) { return n.af; });
|
|
13302
|
+
const { ApiClient: ApiClient2 } = await import('./types-B2DG32ua.mjs').then(function (n) { return n.ag; });
|
|
13303
13303
|
let userEmail = void 0;
|
|
13304
13304
|
try {
|
|
13305
13305
|
const credentials = await readCredentialsForConfiguredRelay2();
|
|
@@ -13330,7 +13330,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13330
13330
|
}
|
|
13331
13331
|
if (geminiSubcommand === "project" && args[2] === "get") {
|
|
13332
13332
|
try {
|
|
13333
|
-
const { readGeminiLocalConfig } = await import('./config-
|
|
13333
|
+
const { readGeminiLocalConfig } = await import('./config-DHUFJkEr.mjs');
|
|
13334
13334
|
const config = readGeminiLocalConfig();
|
|
13335
13335
|
if (config.googleCloudProject) {
|
|
13336
13336
|
console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
|
|
@@ -13370,7 +13370,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13370
13370
|
process.exit(0);
|
|
13371
13371
|
}
|
|
13372
13372
|
try {
|
|
13373
|
-
const { runGemini } = await import('./runGemini-
|
|
13373
|
+
const { runGemini } = await import('./runGemini-Cnvz6a6J.mjs');
|
|
13374
13374
|
let startedBy = void 0;
|
|
13375
13375
|
for (let i = 1; i < args.length; i++) {
|
|
13376
13376
|
if (args[i] === "--started-by") {
|
|
@@ -13392,7 +13392,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13392
13392
|
return;
|
|
13393
13393
|
} else if (subcommand === "acp") {
|
|
13394
13394
|
try {
|
|
13395
|
-
const { runAcp, resolveAcpAgentConfig } = await import('./index-
|
|
13395
|
+
const { runAcp, resolveAcpAgentConfig } = await import('./index-D9OFwx0T.mjs');
|
|
13396
13396
|
let startedBy = void 0;
|
|
13397
13397
|
let verbose = false;
|
|
13398
13398
|
const acpArgs = [];
|
|
@@ -13432,7 +13432,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13432
13432
|
return;
|
|
13433
13433
|
} else if (subcommand === "openclaw") {
|
|
13434
13434
|
try {
|
|
13435
|
-
const { runOpenClaw } = await import('./runOpenClaw-
|
|
13435
|
+
const { runOpenClaw } = await import('./runOpenClaw-Cpxdqf9Z.mjs');
|
|
13436
13436
|
let startedBy = void 0;
|
|
13437
13437
|
let verbose = false;
|
|
13438
13438
|
let gatewayUrl;
|
|
@@ -13483,7 +13483,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13483
13483
|
return;
|
|
13484
13484
|
} else if (subcommand === "mcp" && args.length === 1) {
|
|
13485
13485
|
try {
|
|
13486
|
-
const { handleMcpCommand } = await import('./mcp-
|
|
13486
|
+
const { handleMcpCommand } = await import('./mcp-DnO0vHep.mjs');
|
|
13487
13487
|
await handleMcpCommand();
|
|
13488
13488
|
} catch (error) {
|
|
13489
13489
|
process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
|
package/dist/index.cjs
CHANGED
package/dist/index.mjs
CHANGED
|
@@ -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-
|
|
7
|
-
import { t as tmuxSupportsSessionEnv } from './index-
|
|
6
|
+
import { p as projectPath } from './types-B2DG32ua.mjs';
|
|
7
|
+
import { t as tmuxSupportsSessionEnv } from './index-DoLyKWEW.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-
|
|
9
|
-
var index = require('./index-
|
|
8
|
+
var persistence = require('./types-DL98ZceN.cjs');
|
|
9
|
+
var index = require('./index-CdmSlaUU.cjs');
|
|
10
10
|
require('axios');
|
|
11
11
|
require('node:util');
|
|
12
12
|
require('node:fs/promises');
|
package/dist/lib.cjs
CHANGED
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-
|
|
1
|
+
export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-B2DG32ua.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-
|
|
6
|
+
var index = require('./index-CdmSlaUU.cjs');
|
|
7
7
|
var limits = require('./limits-KdWKmwtH.cjs');
|
|
8
|
-
var persistence = require('./types-
|
|
8
|
+
var persistence = require('./types-DL98ZceN.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-
|
|
4
|
+
import { p as pushClipboardViaDaemon } from './index-DoLyKWEW.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-
|
|
6
|
+
import { l as logger } from './types-B2DG32ua.mjs';
|
|
7
7
|
import 'chalk';
|
|
8
8
|
import 'node:os';
|
|
9
9
|
import 'node:crypto';
|
|
@@ -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-
|
|
8
|
-
var index = require('./index-
|
|
9
|
-
var AcpBackend = require('./AcpBackend-
|
|
10
|
-
var config = require('./config-
|
|
7
|
+
var persistence = require('./types-DL98ZceN.cjs');
|
|
8
|
+
var index = require('./index-CdmSlaUU.cjs');
|
|
9
|
+
var AcpBackend = require('./AcpBackend-_662AILI.cjs');
|
|
10
|
+
var config = require('./config-Dn4CC1I_.cjs');
|
|
11
11
|
require('axios');
|
|
12
12
|
require('chalk');
|
|
13
13
|
require('node:util');
|
|
@@ -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-
|
|
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-
|
|
7
|
-
import { A as AcpBackend } from './AcpBackend-
|
|
8
|
-
import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-
|
|
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-B2DG32ua.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-DoLyKWEW.mjs';
|
|
7
|
+
import { A as AcpBackend } from './AcpBackend-DBJGqMwR.mjs';
|
|
8
|
+
import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-DHUFJkEr.mjs';
|
|
9
9
|
import 'axios';
|
|
10
10
|
import 'chalk';
|
|
11
11
|
import '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-
|
|
7
|
-
import { A as AcpSessionManager } from './AcpSessionManager-
|
|
8
|
-
import { i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, r as registerKillSessionHandler } from './index-
|
|
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-B2DG32ua.mjs';
|
|
7
|
+
import { A as AcpSessionManager } from './AcpSessionManager-DcWebwii.mjs';
|
|
8
|
+
import { i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, r as registerKillSessionHandler } from './index-DoLyKWEW.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-
|
|
9
|
-
var AcpSessionManager = require('./AcpSessionManager-
|
|
10
|
-
var index = require('./index-
|
|
8
|
+
var persistence = require('./types-DL98ZceN.cjs');
|
|
9
|
+
var AcpSessionManager = require('./AcpSessionManager-ENIrbDWT.cjs');
|
|
10
|
+
var index = require('./index-CdmSlaUU.cjs');
|
|
11
11
|
var WebSocket = require('ws');
|
|
12
12
|
var ed = require('@noble/ed25519');
|
|
13
13
|
var sha2_js = require('@noble/hashes/sha2.js');
|
|
@@ -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-
|
|
7
|
-
var index = require('./index-
|
|
6
|
+
var persistence = require('./types-DL98ZceN.cjs');
|
|
7
|
+
var index = require('./index-CdmSlaUU.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 } from 'node:fs';
|
|
3
3
|
import { resolve } from 'node:path';
|
|
4
|
-
import { r as readPersistedSessions, c as configuration } from './types-
|
|
5
|
-
import { b as sendUserMessage, a as sessionWebUrl } from './index-
|
|
4
|
+
import { r as readPersistedSessions, c as configuration } from './types-B2DG32ua.mjs';
|
|
5
|
+
import { b as sendUserMessage, a as sessionWebUrl } from './index-DoLyKWEW.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 index = require('./index-
|
|
7
|
-
var persistence = require('./types-
|
|
6
|
+
var index = require('./index-CdmSlaUU.cjs');
|
|
7
|
+
var persistence = require('./types-DL98ZceN.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-
|
|
5
|
-
import { l as logger } from './types-
|
|
4
|
+
import { c as checkIfDaemonRunningAndCleanupStaleState, s as spawnDaemonSession, a as sessionWebUrl, w as waitForSessionKey, b as sendUserMessage } from './index-DoLyKWEW.mjs';
|
|
5
|
+
import { l as logger } from './types-B2DG32ua.mjs';
|
|
6
6
|
import 'node:os';
|
|
7
7
|
import 'node:crypto';
|
|
8
8
|
import 'cross-spawn';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import { inspect } from 'node:util';
|
|
4
|
-
import { mkdirSync, chmodSync, readdirSync, statSync, appendFileSync, writeFileSync, existsSync, readFileSync, constants, unlinkSync, renameSync, createReadStream, createWriteStream } from 'node:fs';
|
|
4
|
+
import { mkdirSync, chmodSync, readdirSync, statSync, appendFileSync, writeFileSync, existsSync, readFileSync, constants, unlinkSync, renameSync, accessSync, createReadStream, createWriteStream } from 'node:fs';
|
|
5
5
|
import os$1, { homedir } from 'node:os';
|
|
6
6
|
import { join, basename, isAbsolute, resolve as resolve$1 } from 'node:path';
|
|
7
7
|
import { mkdir, chmod, writeFile, stat as stat$1, readdir as readdir$1, lstat, open, unlink as unlink$1, readFile as readFile$1, rename as rename$1, copyFile } from 'node:fs/promises';
|
|
@@ -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.
|
|
32
|
+
var version = "0.2.80";
|
|
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.
|
|
146
|
-
"very-happy-tools-x64-darwin": "0.2.
|
|
147
|
-
"very-happy-tools-arm64-linux": "0.2.
|
|
148
|
-
"very-happy-tools-x64-linux": "0.2.
|
|
149
|
-
"very-happy-tools-arm64-win32": "0.2.
|
|
150
|
-
"very-happy-tools-x64-win32": "0.2.
|
|
145
|
+
"very-happy-tools-arm64-darwin": "0.2.80",
|
|
146
|
+
"very-happy-tools-x64-darwin": "0.2.80",
|
|
147
|
+
"very-happy-tools-arm64-linux": "0.2.80",
|
|
148
|
+
"very-happy-tools-x64-linux": "0.2.80",
|
|
149
|
+
"very-happy-tools-arm64-win32": "0.2.80",
|
|
150
|
+
"very-happy-tools-x64-win32": "0.2.80"
|
|
151
151
|
};
|
|
152
152
|
var devDependencies = {
|
|
153
153
|
"@slopus/happy-wire": "workspace:*",
|
|
@@ -9981,9 +9981,25 @@ function pasteSpoolDir() {
|
|
|
9981
9981
|
}
|
|
9982
9982
|
return dir;
|
|
9983
9983
|
}
|
|
9984
|
+
function resolveDefaultShell(platform, env, isExecutable = (path) => {
|
|
9985
|
+
try {
|
|
9986
|
+
accessSync(path, constants.X_OK);
|
|
9987
|
+
return true;
|
|
9988
|
+
} catch {
|
|
9989
|
+
return false;
|
|
9990
|
+
}
|
|
9991
|
+
}) {
|
|
9992
|
+
if (platform === "win32") return env.COMSPEC || "powershell.exe";
|
|
9993
|
+
for (const candidate of [env.SHELL, "/bin/bash", "/bin/sh"]) {
|
|
9994
|
+
if (candidate && isExecutable(candidate)) return candidate;
|
|
9995
|
+
}
|
|
9996
|
+
return "/bin/sh";
|
|
9997
|
+
}
|
|
9984
9998
|
function defaultShell() {
|
|
9985
|
-
|
|
9986
|
-
|
|
9999
|
+
return resolveDefaultShell(process.platform, process.env);
|
|
10000
|
+
}
|
|
10001
|
+
function tmuxNewSessionArgs(session, cols, rows, cwd, envFlags, shell) {
|
|
10002
|
+
return ["new-session", "-d", ...envFlags, "-s", session, "-x", String(cols), "-y", String(rows), "-c", cwd, shell];
|
|
9987
10003
|
}
|
|
9988
10004
|
function ptyEnv() {
|
|
9989
10005
|
const env = {};
|
|
@@ -10847,7 +10863,7 @@ class WebTerminalManager {
|
|
|
10847
10863
|
try {
|
|
10848
10864
|
const created = spawnSync(
|
|
10849
10865
|
"tmux",
|
|
10850
|
-
|
|
10866
|
+
tmuxNewSessionArgs(tmuxSession, cols, rows, cwd, envFlags, defaultShell()),
|
|
10851
10867
|
{ stdio: "ignore", timeout: TMUX_CREATE_TIMEOUT_MS, env }
|
|
10852
10868
|
);
|
|
10853
10869
|
createdNew = created.status === 0;
|
|
@@ -10904,7 +10920,7 @@ class WebTerminalManager {
|
|
|
10904
10920
|
if (!alive) {
|
|
10905
10921
|
const retry = spawnSync(
|
|
10906
10922
|
"tmux",
|
|
10907
|
-
|
|
10923
|
+
tmuxNewSessionArgs(tmuxSession, cols, rows, cwd, envFlags, defaultShell()),
|
|
10908
10924
|
{ stdio: "ignore", timeout: TMUX_CREATE_TIMEOUT_MS, env }
|
|
10909
10925
|
);
|
|
10910
10926
|
createdNew = retry.status === 0;
|
|
@@ -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.
|
|
54
|
+
var version = "0.2.80";
|
|
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.
|
|
168
|
-
"very-happy-tools-x64-darwin": "0.2.
|
|
169
|
-
"very-happy-tools-arm64-linux": "0.2.
|
|
170
|
-
"very-happy-tools-x64-linux": "0.2.
|
|
171
|
-
"very-happy-tools-arm64-win32": "0.2.
|
|
172
|
-
"very-happy-tools-x64-win32": "0.2.
|
|
167
|
+
"very-happy-tools-arm64-darwin": "0.2.80",
|
|
168
|
+
"very-happy-tools-x64-darwin": "0.2.80",
|
|
169
|
+
"very-happy-tools-arm64-linux": "0.2.80",
|
|
170
|
+
"very-happy-tools-x64-linux": "0.2.80",
|
|
171
|
+
"very-happy-tools-arm64-win32": "0.2.80",
|
|
172
|
+
"very-happy-tools-x64-win32": "0.2.80"
|
|
173
173
|
};
|
|
174
174
|
var devDependencies = {
|
|
175
175
|
"@slopus/happy-wire": "workspace:*",
|
|
@@ -1480,7 +1480,7 @@ class RpcHandlerManager {
|
|
|
1480
1480
|
}
|
|
1481
1481
|
}
|
|
1482
1482
|
|
|
1483
|
-
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-
|
|
1483
|
+
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-DL98ZceN.cjs', document.baseURI).href))));
|
|
1484
1484
|
function projectPath() {
|
|
1485
1485
|
const path = path$1.resolve(__dirname$1, "..");
|
|
1486
1486
|
return path;
|
|
@@ -10003,9 +10003,25 @@ function pasteSpoolDir() {
|
|
|
10003
10003
|
}
|
|
10004
10004
|
return dir;
|
|
10005
10005
|
}
|
|
10006
|
+
function resolveDefaultShell(platform, env, isExecutable = (path) => {
|
|
10007
|
+
try {
|
|
10008
|
+
node_fs.accessSync(path, node_fs.constants.X_OK);
|
|
10009
|
+
return true;
|
|
10010
|
+
} catch {
|
|
10011
|
+
return false;
|
|
10012
|
+
}
|
|
10013
|
+
}) {
|
|
10014
|
+
if (platform === "win32") return env.COMSPEC || "powershell.exe";
|
|
10015
|
+
for (const candidate of [env.SHELL, "/bin/bash", "/bin/sh"]) {
|
|
10016
|
+
if (candidate && isExecutable(candidate)) return candidate;
|
|
10017
|
+
}
|
|
10018
|
+
return "/bin/sh";
|
|
10019
|
+
}
|
|
10006
10020
|
function defaultShell() {
|
|
10007
|
-
|
|
10008
|
-
|
|
10021
|
+
return resolveDefaultShell(process.platform, process.env);
|
|
10022
|
+
}
|
|
10023
|
+
function tmuxNewSessionArgs(session, cols, rows, cwd, envFlags, shell) {
|
|
10024
|
+
return ["new-session", "-d", ...envFlags, "-s", session, "-x", String(cols), "-y", String(rows), "-c", cwd, shell];
|
|
10009
10025
|
}
|
|
10010
10026
|
function ptyEnv() {
|
|
10011
10027
|
const env = {};
|
|
@@ -10869,7 +10885,7 @@ class WebTerminalManager {
|
|
|
10869
10885
|
try {
|
|
10870
10886
|
const created = node_child_process.spawnSync(
|
|
10871
10887
|
"tmux",
|
|
10872
|
-
|
|
10888
|
+
tmuxNewSessionArgs(tmuxSession, cols, rows, cwd, envFlags, defaultShell()),
|
|
10873
10889
|
{ stdio: "ignore", timeout: TMUX_CREATE_TIMEOUT_MS, env }
|
|
10874
10890
|
);
|
|
10875
10891
|
createdNew = created.status === 0;
|
|
@@ -10926,7 +10942,7 @@ class WebTerminalManager {
|
|
|
10926
10942
|
if (!alive) {
|
|
10927
10943
|
const retry = node_child_process.spawnSync(
|
|
10928
10944
|
"tmux",
|
|
10929
|
-
|
|
10945
|
+
tmuxNewSessionArgs(tmuxSession, cols, rows, cwd, envFlags, defaultShell()),
|
|
10930
10946
|
{ stdio: "ignore", timeout: TMUX_CREATE_TIMEOUT_MS, env }
|
|
10931
10947
|
);
|
|
10932
10948
|
createdNew = retry.status === 0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "very-happy-cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.80",
|
|
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.
|
|
117
|
-
"very-happy-tools-x64-darwin": "0.2.
|
|
118
|
-
"very-happy-tools-arm64-linux": "0.2.
|
|
119
|
-
"very-happy-tools-x64-linux": "0.2.
|
|
120
|
-
"very-happy-tools-arm64-win32": "0.2.
|
|
121
|
-
"very-happy-tools-x64-win32": "0.2.
|
|
116
|
+
"very-happy-tools-arm64-darwin": "0.2.80",
|
|
117
|
+
"very-happy-tools-x64-darwin": "0.2.80",
|
|
118
|
+
"very-happy-tools-arm64-linux": "0.2.80",
|
|
119
|
+
"very-happy-tools-x64-linux": "0.2.80",
|
|
120
|
+
"very-happy-tools-arm64-win32": "0.2.80",
|
|
121
|
+
"very-happy-tools-x64-win32": "0.2.80"
|
|
122
122
|
},
|
|
123
123
|
"devDependencies": {
|
|
124
124
|
"@slopus/happy-wire": "workspace:*",
|