very-happy-cli 0.2.149 → 0.2.150
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-Baqb8dNm.mjs → AcpBackend-C-dhGJgd.mjs} +2 -2
- package/dist/{AcpBackend-CnZpEfGd.cjs → AcpBackend-CXawaWWx.cjs} +2 -2
- package/dist/{AcpSessionManager-CC6mdFXs.mjs → AcpSessionManager-DKOtSqJc.mjs} +1 -1
- package/dist/{AcpSessionManager-e2vxmIbj.cjs → AcpSessionManager-TrwEZR7y.cjs} +1 -1
- package/dist/{agentGuidance--QIi_rZ2.cjs → agentGuidance-Dla-BXO8.cjs} +1 -1
- package/dist/{agentGuidance-oMVJvUl7.mjs → agentGuidance-DrfhtVP1.mjs} +1 -1
- package/dist/{agentHome-CKSPsS8d.mjs → agentHome-Dm-Wjs38.mjs} +2 -2
- package/dist/{agentHome-3kRCtzOL.cjs → agentHome-rylNIkix.cjs} +2 -2
- package/dist/codex/happyMcpStdioBridge.cjs +2 -2
- package/dist/codex/happyMcpStdioBridge.mjs +2 -2
- package/dist/{config-CzJZcvTO.cjs → config-CgPu2wtS.cjs} +4 -4
- package/dist/{config-C8jpk6IA.mjs → config-Dhu6LU0h.mjs} +4 -4
- package/dist/{index-BPCXUrEe.mjs → index-BsYH1sjV.mjs} +4 -4
- package/dist/{index-Dfkyar7S.mjs → index-CpNYvMTJ.mjs} +147 -40
- package/dist/{index-DrVq0CqK.mjs → index-CzpooENj.mjs} +8 -8
- package/dist/{index-DgK4KX-Z.cjs → index-DEVkDRas.cjs} +7 -7
- package/dist/{index-DBN2Zpqc.cjs → index-DvfCUuDK.cjs} +4 -4
- package/dist/{index-CyfXsCXl.cjs → index-K6mUS0jF.cjs} +145 -38
- package/dist/index.cjs +4 -4
- package/dist/index.mjs +4 -4
- package/dist/{installTerminalHooks-COqkLz6f.mjs → installTerminalHooks-BF_tmw9V.mjs} +4 -4
- package/dist/{installTerminalHooks-kdAoTfNT.cjs → installTerminalHooks-NIbsQ1wi.cjs} +4 -4
- package/dist/lib.cjs +2 -2
- package/dist/lib.mjs +2 -2
- package/dist/{limits-FZWhlsBu.cjs → limits-Dyma1REp.cjs} +7 -7
- package/dist/{limits-BXI1Gzvd.mjs → limits-FThmm7WR.mjs} +7 -7
- package/dist/{mcp-Dfnoirpi.mjs → mcp-DzydgXpf.mjs} +4 -4
- package/dist/{mcp-DoLZbbZp.cjs → mcp-_TVUSg8W.cjs} +4 -4
- package/dist/{piRuntime-BK6YZm2X.mjs → piRuntime-ACOhil6t.mjs} +2 -2
- package/dist/{piRuntime-DmE4ysfG.cjs → piRuntime-CSAiJk0X.cjs} +2 -2
- package/dist/{piTerminal-Bczubq2n.mjs → piTerminal-BlE4vbvZ.mjs} +6 -6
- package/dist/{piTerminal-qQAzQwIU.cjs → piTerminal-DHxGB3Ic.cjs} +6 -6
- package/dist/{runGemini-ComTu0EB.cjs → runGemini-BMYCU16c.cjs} +6 -6
- package/dist/{runGemini-Cce_pjTs.mjs → runGemini-D5IV1MoF.mjs} +6 -6
- package/dist/{runOpenClaw-DXP5_chb.mjs → runOpenClaw-CWPXrKMJ.mjs} +5 -5
- package/dist/{runOpenClaw-M3YlDt8z.cjs → runOpenClaw-Qs4eFtcS.cjs} +5 -5
- package/dist/{send-DDD57Cr_.mjs → send-Dv0km8UI.mjs} +4 -4
- package/dist/{send-0LrSwGgr.cjs → send-qXWGilm8.cjs} +4 -4
- package/dist/{sessions-2Bkau9T4.cjs → sessions-CpIdDhH7.cjs} +4 -4
- package/dist/{sessions-ClBPEtz2.mjs → sessions-DoULfKui.mjs} +4 -4
- package/dist/{spawn-7lLymdT1.mjs → spawn-DQuOmUP7.mjs} +4 -4
- package/dist/{spawn-Cm3Da8Ge.cjs → spawn-DqzG1bTH.cjs} +4 -4
- package/dist/{teams-DyBjdXI3.mjs → teams-4mhNh5cj.mjs} +4 -4
- package/dist/{teams-DKKeIG-u.cjs → teams-ByEgUzsH.cjs} +4 -4
- package/dist/{todo-jXHGGH89.mjs → todo-C9IAUf0K.mjs} +3 -3
- package/dist/{todo-8RgCTDxH.cjs → todo-D7SDXL0c.cjs} +3 -3
- package/dist/{types-ipzMqciq.mjs → types-BD542hb1.mjs} +1 -1
- package/dist/{types-t1gxALVE.cjs → types-D2Gkpe0N.cjs} +1 -1
- package/package.json +7 -7
|
@@ -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 { r as readSettings, g as encodeBase64, l as logger, c as configuration } from './limits-
|
|
4
|
-
import { A as AcpSessionManager } from './AcpSessionManager-
|
|
5
|
-
import { m as connectionState, A as ApiClient, n as notifyDaemonSessionStarted, o as BUILTIN_TODO_DISCOVERY } from './types-
|
|
6
|
-
import { k as initialMachineMetadata, m as createSessionMetadata, n as setupOfflineReconnection, o as StreamRelay, p as MessageQueue2, u as hashObject, v as startHappyServer, x as registerAgentAttachmentDownloads, T as TitleGenerator, y as registerKillSessionHandler, C as CLAUDE_ATTACHMENT_KINDS, z as stageClaudeAttachments, B as appendStagedAttachmentsToPrompt, E as BasePermissionHandler, F as writeSessionModeFile, H as normalizeAcpPermissionMode, I as removeSessionModeFile } from './index-
|
|
7
|
-
import { p as preparePiTeamsRuntime } from './piRuntime-
|
|
1
|
+
import { D as DefaultTransport, A as AcpBackend } from './AcpBackend-C-dhGJgd.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-C-dhGJgd.mjs';
|
|
3
|
+
import { r as readSettings, g as encodeBase64, l as logger, c as configuration } from './limits-FThmm7WR.mjs';
|
|
4
|
+
import { A as AcpSessionManager } from './AcpSessionManager-DKOtSqJc.mjs';
|
|
5
|
+
import { m as connectionState, A as ApiClient, n as notifyDaemonSessionStarted, o as BUILTIN_TODO_DISCOVERY } from './types-BD542hb1.mjs';
|
|
6
|
+
import { k as initialMachineMetadata, m as createSessionMetadata, n as setupOfflineReconnection, o as StreamRelay, p as MessageQueue2, u as hashObject, v as startHappyServer, x as registerAgentAttachmentDownloads, T as TitleGenerator, y as registerKillSessionHandler, C as CLAUDE_ATTACHMENT_KINDS, z as stageClaudeAttachments, B as appendStagedAttachmentsToPrompt, E as BasePermissionHandler, F as writeSessionModeFile, H as normalizeAcpPermissionMode, I as removeSessionModeFile } from './index-CpNYvMTJ.mjs';
|
|
7
|
+
import { p as preparePiTeamsRuntime } from './piRuntime-ACOhil6t.mjs';
|
|
8
8
|
import { randomUUID } from 'node:crypto';
|
|
9
9
|
import { join } from 'node:path';
|
|
10
10
|
import { p as projectPath } from './projectPath-CSpqWdxp.mjs';
|
|
@@ -33,7 +33,7 @@ import 'fs';
|
|
|
33
33
|
import 'node:readline';
|
|
34
34
|
import '@anthropic-ai/sandbox-runtime';
|
|
35
35
|
import 'expo-server-sdk';
|
|
36
|
-
import './agentGuidance-
|
|
36
|
+
import './agentGuidance-DrfhtVP1.mjs';
|
|
37
37
|
import 'ink';
|
|
38
38
|
import 'react';
|
|
39
39
|
import '@anthropic-ai/claude-agent-sdk';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var AcpBackend = require('./AcpBackend-
|
|
4
|
-
var persistence = require('./limits-
|
|
5
|
-
var AcpSessionManager = require('./AcpSessionManager-
|
|
6
|
-
var index = require('./types-
|
|
7
|
-
var index$1 = require('./index-
|
|
8
|
-
var piRuntime = require('./piRuntime-
|
|
3
|
+
var AcpBackend = require('./AcpBackend-CXawaWWx.cjs');
|
|
4
|
+
var persistence = require('./limits-Dyma1REp.cjs');
|
|
5
|
+
var AcpSessionManager = require('./AcpSessionManager-TrwEZR7y.cjs');
|
|
6
|
+
var index = require('./types-D2Gkpe0N.cjs');
|
|
7
|
+
var index$1 = require('./index-K6mUS0jF.cjs');
|
|
8
|
+
var piRuntime = require('./piRuntime-CSAiJk0X.cjs');
|
|
9
9
|
var node_crypto = require('node:crypto');
|
|
10
10
|
var path = require('node:path');
|
|
11
11
|
var projectPath = require('./projectPath-ChLhdOyt.cjs');
|
|
@@ -34,7 +34,7 @@ require('fs');
|
|
|
34
34
|
require('node:readline');
|
|
35
35
|
require('@anthropic-ai/sandbox-runtime');
|
|
36
36
|
require('expo-server-sdk');
|
|
37
|
-
require('./agentGuidance
|
|
37
|
+
require('./agentGuidance-Dla-BXO8.cjs');
|
|
38
38
|
require('ink');
|
|
39
39
|
require('react');
|
|
40
40
|
require('@anthropic-ai/claude-agent-sdk');
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-K6mUS0jF.cjs');
|
|
4
4
|
var claudeAgentSdk = require('@anthropic-ai/claude-agent-sdk');
|
|
5
5
|
require('chalk');
|
|
6
6
|
require('node:os');
|
|
7
7
|
require('node:crypto');
|
|
8
|
-
require('./types-
|
|
8
|
+
require('./types-D2Gkpe0N.cjs');
|
|
9
9
|
require('axios');
|
|
10
|
-
require('./limits-
|
|
10
|
+
require('./limits-Dyma1REp.cjs');
|
|
11
11
|
require('node:fs/promises');
|
|
12
12
|
require('node:fs');
|
|
13
13
|
require('node:path');
|
|
@@ -32,7 +32,7 @@ require('fs');
|
|
|
32
32
|
require('node:readline');
|
|
33
33
|
require('@anthropic-ai/sandbox-runtime');
|
|
34
34
|
require('expo-server-sdk');
|
|
35
|
-
require('./agentGuidance
|
|
35
|
+
require('./agentGuidance-Dla-BXO8.cjs');
|
|
36
36
|
require('ink');
|
|
37
37
|
require('react');
|
|
38
38
|
require('ps-list');
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var os = require('node:os');
|
|
5
5
|
var node_crypto = require('node:crypto');
|
|
6
|
-
var index = require('./types-
|
|
7
|
-
var persistence = require('./limits-
|
|
6
|
+
var index = require('./types-D2Gkpe0N.cjs');
|
|
7
|
+
var persistence = require('./limits-Dyma1REp.cjs');
|
|
8
8
|
var spawn = require('cross-spawn');
|
|
9
9
|
var path = require('node:path');
|
|
10
10
|
var node_readline = require('node:readline');
|
|
11
11
|
var node_fs = require('node:fs');
|
|
12
12
|
var projectPath = require('./projectPath-ChLhdOyt.cjs');
|
|
13
|
-
var agentGuidance = require('./agentGuidance
|
|
13
|
+
var agentGuidance = require('./agentGuidance-Dla-BXO8.cjs');
|
|
14
14
|
var promises = require('node:fs/promises');
|
|
15
15
|
var fs = require('fs/promises');
|
|
16
16
|
var ink = require('ink');
|
|
@@ -5126,6 +5126,61 @@ function shareSafeEnvironmentInfo(env = process.env, runtime = process) {
|
|
|
5126
5126
|
};
|
|
5127
5127
|
}
|
|
5128
5128
|
|
|
5129
|
+
const NPM_SAFE_ARG = /^[A-Za-z0-9@=.,+/_-]+$/;
|
|
5130
|
+
function globalPrefixForPackage(packageDir) {
|
|
5131
|
+
if (!path.isAbsolute(packageDir)) return null;
|
|
5132
|
+
const dir = path.resolve(packageDir);
|
|
5133
|
+
const nodeModules = path.dirname(dir);
|
|
5134
|
+
const lib = path.dirname(nodeModules);
|
|
5135
|
+
const prefix = path.dirname(lib);
|
|
5136
|
+
if (path.basename(dir) !== "very-happy-cli" || path.basename(nodeModules) !== "node_modules" || path.basename(lib) !== "lib") return null;
|
|
5137
|
+
if (prefix === lib || path.resolve(prefix) === "/" || !NPM_SAFE_ARG.test(prefix)) return null;
|
|
5138
|
+
return prefix;
|
|
5139
|
+
}
|
|
5140
|
+
function packageDirForBin(realBin) {
|
|
5141
|
+
const packageDir = path.dirname(path.dirname(realBin));
|
|
5142
|
+
return path.basename(path.dirname(realBin)) === "bin" && path.basename(packageDir) === "very-happy-cli" ? packageDir : null;
|
|
5143
|
+
}
|
|
5144
|
+
function installLocationWarnings(facts, version) {
|
|
5145
|
+
const warnings = [];
|
|
5146
|
+
const running = path.resolve(facts.runningPackageDir);
|
|
5147
|
+
const packages = [...new Set(facts.onPath.map(packageDirForBin).filter((dir) => Boolean(dir)).map((dir) => path.resolve(dir)))];
|
|
5148
|
+
if (packages.length > 1) {
|
|
5149
|
+
warnings.push(`Found ${packages.length} very-happy installs on PATH (first one wins): ${packages.join(", ")}. Updating one does not update the others; remove the ones you do not use.`);
|
|
5150
|
+
}
|
|
5151
|
+
if (packages[0] && packages[0] !== running) {
|
|
5152
|
+
warnings.push(`The very-happy command runs ${packages[0]}, but this CLI runs from ${running}.`);
|
|
5153
|
+
}
|
|
5154
|
+
const prefix = globalPrefixForPackage(running);
|
|
5155
|
+
if (prefix && facts.npmGlobalPrefix && path.resolve(facts.npmGlobalPrefix) !== path.resolve(prefix)) {
|
|
5156
|
+
const target = version ? `very-happy-cli@${version}` : "very-happy-cli@latest";
|
|
5157
|
+
warnings.push(`npm install -g writes to ${facts.npmGlobalPrefix}, but this CLI runs from ${prefix}; a plain update will not take effect. Update with: npm install -g --prefix ${prefix} --allow-scripts=very-happy-cli,node-pty ${target} && very-happy daemon start`);
|
|
5158
|
+
}
|
|
5159
|
+
return warnings;
|
|
5160
|
+
}
|
|
5161
|
+
function gatherInstallLocationFacts(runningPackageDir, env = process.env) {
|
|
5162
|
+
if (process.platform === "win32") return null;
|
|
5163
|
+
const onPath = [];
|
|
5164
|
+
for (const dir of (env.PATH ?? "").split(path.delimiter)) {
|
|
5165
|
+
if (!dir) continue;
|
|
5166
|
+
try {
|
|
5167
|
+
const candidate = path.join(dir, "very-happy");
|
|
5168
|
+
if (!node_fs.statSync(candidate).isFile()) continue;
|
|
5169
|
+
const real = node_fs.realpathSync(candidate);
|
|
5170
|
+
if (!onPath.includes(real)) onPath.push(real);
|
|
5171
|
+
} catch {
|
|
5172
|
+
}
|
|
5173
|
+
}
|
|
5174
|
+
let npmGlobalPrefix = null;
|
|
5175
|
+
try {
|
|
5176
|
+
const result = node_child_process.spawnSync("npm", ["prefix", "-g"], { encoding: "utf8", timeout: 5e3, env });
|
|
5177
|
+
const out = result.status === 0 ? result.stdout.trim() : "";
|
|
5178
|
+
npmGlobalPrefix = out && path.isAbsolute(out) && !out.includes("\n") ? out : null;
|
|
5179
|
+
} catch {
|
|
5180
|
+
}
|
|
5181
|
+
return { runningPackageDir, onPath, npmGlobalPrefix };
|
|
5182
|
+
}
|
|
5183
|
+
|
|
5129
5184
|
function printCliUpdateStatus(state) {
|
|
5130
5185
|
const installed = persistence.configuration.currentCliVersion;
|
|
5131
5186
|
const running = state?.startedWithCliVersion ?? null;
|
|
@@ -5143,6 +5198,10 @@ function printCliUpdateStatus(state) {
|
|
|
5143
5198
|
console.log(chalk.yellow(" \u25B3 A newer CLI is available."));
|
|
5144
5199
|
}
|
|
5145
5200
|
if (summary.installCommand) console.log(` Update: ${summary.installCommand}`);
|
|
5201
|
+
const facts = gatherInstallLocationFacts(projectPath.projectPath());
|
|
5202
|
+
for (const warning of facts ? installLocationWarnings(facts, state?.cliUpdate?.recommendedVersion ?? void 0) : []) {
|
|
5203
|
+
console.log(chalk.yellow(` \u26A0 ${warning}`));
|
|
5204
|
+
}
|
|
5146
5205
|
}
|
|
5147
5206
|
function getEnvironmentInfo() {
|
|
5148
5207
|
return shareSafeEnvironmentInfo();
|
|
@@ -5335,8 +5394,8 @@ ${typeLabels[type] || type}:`));
|
|
|
5335
5394
|
}
|
|
5336
5395
|
console.log(chalk.gray(" An external claude command is only needed for native terminal/mirror use."));
|
|
5337
5396
|
try {
|
|
5338
|
-
const { resolveAgentHomesForCli } = await Promise.resolve().then(function () { return require('./agentHome-
|
|
5339
|
-
const { describeAgentHome } = await Promise.resolve().then(function () { return require('./types-
|
|
5397
|
+
const { resolveAgentHomesForCli } = await Promise.resolve().then(function () { return require('./agentHome-rylNIkix.cjs'); });
|
|
5398
|
+
const { describeAgentHome } = await Promise.resolve().then(function () { return require('./types-D2Gkpe0N.cjs'); }).then(function (n) { return n.index; });
|
|
5340
5399
|
const homes = await resolveAgentHomesForCli();
|
|
5341
5400
|
console.log(chalk.green(`\u2713 Claude config dir: ${describeAgentHome(homes.claudeConfigDir)}`));
|
|
5342
5401
|
console.log(chalk.green(`\u2713 Codex home: ${describeAgentHome(homes.codexHome)}`));
|
|
@@ -7639,8 +7698,8 @@ function serialTask(task) {
|
|
|
7639
7698
|
};
|
|
7640
7699
|
}
|
|
7641
7700
|
|
|
7642
|
-
function autoUpdateInstallArgs(version) {
|
|
7643
|
-
return ["i", "-g", "--allow-scripts=very-happy-cli,node-pty", `very-happy-cli@${version}`];
|
|
7701
|
+
function autoUpdateInstallArgs(version, prefix) {
|
|
7702
|
+
return ["i", "-g", ...prefix ? [`--prefix=${prefix}`] : [], "--allow-scripts=very-happy-cli,node-pty", `very-happy-cli@${version}`];
|
|
7644
7703
|
}
|
|
7645
7704
|
|
|
7646
7705
|
const processDefaults = {
|
|
@@ -7700,7 +7759,34 @@ const runNpmProcess = (args, deps = processDefaults) => new Promise((resolveResu
|
|
|
7700
7759
|
child.on("close", (code) => done({ code: timedOut ? null : code, stdout, stderr, terminationConfirmed: !timedOut || treeKilled }));
|
|
7701
7760
|
});
|
|
7702
7761
|
const runNpm = (args) => runNpmProcess(args);
|
|
7703
|
-
const defaults = {
|
|
7762
|
+
const defaults = {
|
|
7763
|
+
npm: runNpm,
|
|
7764
|
+
fs: { lstat: promises.lstat, readlink: promises.readlink, unlink: promises.unlink, rm: promises.rm, readFile: promises.readFile, symlink: promises.symlink, access: promises.access },
|
|
7765
|
+
platform: process.platform,
|
|
7766
|
+
runningPackageDir: projectPath.projectPath()
|
|
7767
|
+
};
|
|
7768
|
+
async function runningVersion(deps) {
|
|
7769
|
+
if (!deps.runningPackageDir) return null;
|
|
7770
|
+
try {
|
|
7771
|
+
const manifest = JSON.parse(await deps.fs.readFile(path.join(deps.runningPackageDir, "package.json"), "utf8"));
|
|
7772
|
+
return manifest?.name === "very-happy-cli" && typeof manifest.version === "string" ? manifest.version : null;
|
|
7773
|
+
} catch {
|
|
7774
|
+
return null;
|
|
7775
|
+
}
|
|
7776
|
+
}
|
|
7777
|
+
async function verifyRunningCopy(code, version, deps) {
|
|
7778
|
+
if (code !== 0 || !deps.runningPackageDir) return code;
|
|
7779
|
+
return await runningVersion(deps) === version ? 0 : { failed: "installed_elsewhere" };
|
|
7780
|
+
}
|
|
7781
|
+
async function writable(path, deps) {
|
|
7782
|
+
if (!deps.fs.access) return true;
|
|
7783
|
+
try {
|
|
7784
|
+
await deps.fs.access(path, promises.constants.W_OK);
|
|
7785
|
+
return true;
|
|
7786
|
+
} catch (error) {
|
|
7787
|
+
return error.code === "ENOENT";
|
|
7788
|
+
}
|
|
7789
|
+
}
|
|
7704
7790
|
function ownedCliLink(link, target, packageDir) {
|
|
7705
7791
|
const resolved = path.resolve(path.dirname(link), target);
|
|
7706
7792
|
return resolved.startsWith(path.join(packageDir, "bin") + path.sep);
|
|
@@ -7708,14 +7794,27 @@ function ownedCliLink(link, target, packageDir) {
|
|
|
7708
7794
|
async function installCliSafely(version, deps = defaults) {
|
|
7709
7795
|
const parsed = index.parseExactVersion(version);
|
|
7710
7796
|
if (!parsed) throw new Error("Invalid exact CLI version");
|
|
7711
|
-
const args = autoUpdateInstallArgs(parsed.exact);
|
|
7712
7797
|
if (deps.platform === "win32") {
|
|
7713
|
-
const result2 = await deps.npm(
|
|
7714
|
-
return result2.terminationConfirmed === false ? "blocked" : result2.code;
|
|
7798
|
+
const result2 = await deps.npm(autoUpdateInstallArgs(parsed.exact));
|
|
7799
|
+
return result2.terminationConfirmed === false ? "blocked" : verifyRunningCopy(result2.code, parsed.exact, deps);
|
|
7800
|
+
}
|
|
7801
|
+
let pinnedPrefix;
|
|
7802
|
+
if (deps.runningPackageDir) {
|
|
7803
|
+
const running = globalPrefixForPackage(deps.runningPackageDir);
|
|
7804
|
+
const runningStat = running ? await deps.fs.lstat(deps.runningPackageDir).catch(() => null) : null;
|
|
7805
|
+
if (!running || !runningStat?.isDirectory() || runningStat.isSymbolicLink() || !await runningVersion(deps)) {
|
|
7806
|
+
return { manual: "install_location_unverified" };
|
|
7807
|
+
}
|
|
7808
|
+
for (const path$1 of [path.dirname(deps.runningPackageDir), deps.runningPackageDir, path.join(running, "bin")]) {
|
|
7809
|
+
if (!await writable(path$1, deps)) return { manual: "install_location_not_writable" };
|
|
7810
|
+
}
|
|
7811
|
+
pinnedPrefix = running;
|
|
7715
7812
|
}
|
|
7716
|
-
const
|
|
7813
|
+
const prefixArgs = pinnedPrefix ? [`--prefix=${pinnedPrefix}`] : [];
|
|
7814
|
+
const args = autoUpdateInstallArgs(parsed.exact, pinnedPrefix);
|
|
7815
|
+
const rootResult = await deps.npm(["root", "-g", ...prefixArgs]);
|
|
7717
7816
|
if (rootResult.terminationConfirmed === false) return "blocked";
|
|
7718
|
-
const prefixResult = await deps.npm(["prefix", "-g"]);
|
|
7817
|
+
const prefixResult = await deps.npm(["prefix", "-g", ...prefixArgs]);
|
|
7719
7818
|
if (prefixResult.terminationConfirmed === false) return "blocked";
|
|
7720
7819
|
const root = rootResult.stdout.trim();
|
|
7721
7820
|
const prefix = prefixResult.stdout.trim();
|
|
@@ -7724,6 +7823,9 @@ async function installCliSafely(version, deps = defaults) {
|
|
|
7724
7823
|
}
|
|
7725
7824
|
if (path.resolve(root) !== path.resolve(prefix, "lib/node_modules")) throw new Error("Unexpected npm root/prefix relationship");
|
|
7726
7825
|
const packageDir = path.join(root, "very-happy-cli");
|
|
7826
|
+
if (deps.runningPackageDir && path.resolve(packageDir) !== path.resolve(deps.runningPackageDir)) {
|
|
7827
|
+
return { manual: "install_location_unverified" };
|
|
7828
|
+
}
|
|
7727
7829
|
const packageStat = await deps.fs.lstat(packageDir).catch((error) => {
|
|
7728
7830
|
if (error.code === "ENOENT") return null;
|
|
7729
7831
|
throw error;
|
|
@@ -7758,7 +7860,7 @@ async function installCliSafely(version, deps = defaults) {
|
|
|
7758
7860
|
return "blocked";
|
|
7759
7861
|
}
|
|
7760
7862
|
result = first.code;
|
|
7761
|
-
if (first.code === 0 || first.code === null) return first.code;
|
|
7863
|
+
if (first.code === 0 || first.code === null) return await verifyRunningCopy(first.code, parsed.exact, deps);
|
|
7762
7864
|
if (!/\b(?:EEXIST|ENOTEMPTY)\b/.test(first.stderr ?? "")) return first.code;
|
|
7763
7865
|
const failedStat = await deps.fs.lstat(packageDir).catch((error) => {
|
|
7764
7866
|
if (error.code === "ENOENT") return null;
|
|
@@ -7774,7 +7876,7 @@ async function installCliSafely(version, deps = defaults) {
|
|
|
7774
7876
|
safeToRestore = false;
|
|
7775
7877
|
return "blocked";
|
|
7776
7878
|
}
|
|
7777
|
-
return result;
|
|
7879
|
+
return await verifyRunningCopy(result, parsed.exact, deps);
|
|
7778
7880
|
} finally {
|
|
7779
7881
|
if (result !== 0 && safeToRestore) {
|
|
7780
7882
|
for (const { link, target } of ownLinks) {
|
|
@@ -7810,7 +7912,7 @@ function createUpdateController(deps) {
|
|
|
7810
7912
|
async function evaluate() {
|
|
7811
7913
|
if (!policy || running) return;
|
|
7812
7914
|
const target = manualVersion ?? policy.autoUpdateVersion ?? null;
|
|
7813
|
-
if (outcome?.version === target && ["failed", "installed"].includes(outcome.state)) {
|
|
7915
|
+
if (outcome?.version === target && ["failed", "installed", "manual_required"].includes(outcome.state)) {
|
|
7814
7916
|
const fingerprint = JSON.stringify([policy.checkedAt, outcome.state, outcome.version, outcome.detail, manualVersion]);
|
|
7815
7917
|
if (fingerprint !== lastPublished) {
|
|
7816
7918
|
lastPublished = fingerprint;
|
|
@@ -7848,6 +7950,11 @@ function createUpdateController(deps) {
|
|
|
7848
7950
|
publish("installing", target);
|
|
7849
7951
|
try {
|
|
7850
7952
|
const code = await deps.install(target);
|
|
7953
|
+
if (code && typeof code === "object") {
|
|
7954
|
+
if ("manual" in code) publish("manual_required", target, code.manual);
|
|
7955
|
+
else publish("failed", target, code.failed);
|
|
7956
|
+
return;
|
|
7957
|
+
}
|
|
7851
7958
|
blocked = code === "blocked";
|
|
7852
7959
|
publish(
|
|
7853
7960
|
blocked ? "manual_required" : code === 0 ? "installed" : "failed",
|
|
@@ -8016,7 +8123,7 @@ function parseJsonObject(text) {
|
|
|
8016
8123
|
return null;
|
|
8017
8124
|
}
|
|
8018
8125
|
}
|
|
8019
|
-
function resolveSdkClaudeBinary(platform = process.platform, arch = process.arch, resolver = (s) => node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-
|
|
8126
|
+
function resolveSdkClaudeBinary(platform = process.platform, arch = process.arch, resolver = (s) => node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-K6mUS0jF.cjs', document.baseURI).href))).resolve(s)) {
|
|
8020
8127
|
const platformArch = `${platform}-${arch}`;
|
|
8021
8128
|
const candidates = [
|
|
8022
8129
|
`@anthropic-ai/claude-agent-sdk-${platformArch}/claude`,
|
|
@@ -12492,7 +12599,7 @@ function registerSideQuestionHandler(rpc, deps) {
|
|
|
12492
12599
|
const retainMs = deps.retainMs ?? SIDE_QUESTION_RETAIN_MS;
|
|
12493
12600
|
const maxRunMs = deps.maxRunMs ?? SIDE_QUESTION_MAX_RUN_MS;
|
|
12494
12601
|
const fork = deps.run ?? (async (input) => {
|
|
12495
|
-
const { query } = await Promise.resolve().then(function () { return require('./index-
|
|
12602
|
+
const { query } = await Promise.resolve().then(function () { return require('./index-DvfCUuDK.cjs'); });
|
|
12496
12603
|
return runSideQuestion(query, input);
|
|
12497
12604
|
});
|
|
12498
12605
|
const run = async (input, live) => {
|
|
@@ -12611,7 +12718,7 @@ const MAX_TITLE_CHARS = 60;
|
|
|
12611
12718
|
const GENERATION_TIMEOUT_MS = 3e4;
|
|
12612
12719
|
function resolveClaudeBinary() {
|
|
12613
12720
|
try {
|
|
12614
|
-
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-
|
|
12721
|
+
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-K6mUS0jF.cjs', document.baseURI).href)));
|
|
12615
12722
|
const utilsPath = path.resolve(path.join(projectPath.projectPath(), "scripts", "claude_version_utils.cjs"));
|
|
12616
12723
|
const { getClaudeCliPath } = require$1(utilsPath);
|
|
12617
12724
|
const path$1 = getClaudeCliPath();
|
|
@@ -14840,9 +14947,9 @@ function resolveLocalSignupBootstrap(configuredMode, configuredInviteCodes, gene
|
|
|
14840
14947
|
};
|
|
14841
14948
|
}
|
|
14842
14949
|
|
|
14843
|
-
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-
|
|
14950
|
+
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-K6mUS0jF.cjs', document.baseURI).href)));
|
|
14844
14951
|
const __dirname$1 = path.dirname(__filename$1);
|
|
14845
|
-
const require_ = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-
|
|
14952
|
+
const require_ = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-K6mUS0jF.cjs', document.baseURI).href)));
|
|
14846
14953
|
const PRISMA_QUERY_ENGINE_FILES = {
|
|
14847
14954
|
"arm64-darwin": "libquery_engine-darwin-arm64.dylib.node",
|
|
14848
14955
|
"x64-darwin": "libquery_engine-darwin.dylib.node",
|
|
@@ -17780,7 +17887,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17780
17887
|
return;
|
|
17781
17888
|
} else if (subcommand === "install-terminal-hooks") {
|
|
17782
17889
|
try {
|
|
17783
|
-
const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await Promise.resolve().then(function () { return require('./installTerminalHooks-
|
|
17890
|
+
const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await Promise.resolve().then(function () { return require('./installTerminalHooks-NIbsQ1wi.cjs'); });
|
|
17784
17891
|
const command = parseTerminalHooksArgs(args.slice(1));
|
|
17785
17892
|
if (command.action === "help") {
|
|
17786
17893
|
console.log(TERMINAL_HOOKS_HELP);
|
|
@@ -17797,7 +17904,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17797
17904
|
}
|
|
17798
17905
|
} else if (subcommand === "agent-home") {
|
|
17799
17906
|
try {
|
|
17800
|
-
const { parseAgentHomeArgs, runAgentHomeCommand } = await Promise.resolve().then(function () { return require('./agentHome-
|
|
17907
|
+
const { parseAgentHomeArgs, runAgentHomeCommand } = await Promise.resolve().then(function () { return require('./agentHome-rylNIkix.cjs'); });
|
|
17801
17908
|
await runAgentHomeCommand(parseAgentHomeArgs(args.slice(1)));
|
|
17802
17909
|
process.exit(0);
|
|
17803
17910
|
} catch (error) {
|
|
@@ -17806,7 +17913,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17806
17913
|
}
|
|
17807
17914
|
} else if (subcommand === "spawn") {
|
|
17808
17915
|
try {
|
|
17809
|
-
const { handleSpawnCommand } = await Promise.resolve().then(function () { return require('./spawn-
|
|
17916
|
+
const { handleSpawnCommand } = await Promise.resolve().then(function () { return require('./spawn-DqzG1bTH.cjs'); });
|
|
17810
17917
|
await handleSpawnCommand(args.slice(1));
|
|
17811
17918
|
} catch (error) {
|
|
17812
17919
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -17818,7 +17925,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17818
17925
|
return;
|
|
17819
17926
|
} else if (subcommand === "sessions") {
|
|
17820
17927
|
try {
|
|
17821
|
-
const { handleSessionsCommand } = await Promise.resolve().then(function () { return require('./sessions-
|
|
17928
|
+
const { handleSessionsCommand } = await Promise.resolve().then(function () { return require('./sessions-CpIdDhH7.cjs'); });
|
|
17822
17929
|
await handleSessionsCommand(args.slice(1));
|
|
17823
17930
|
} catch (error) {
|
|
17824
17931
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -17830,7 +17937,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17830
17937
|
return;
|
|
17831
17938
|
} else if (subcommand === "send") {
|
|
17832
17939
|
try {
|
|
17833
|
-
const { handleSendCommand } = await Promise.resolve().then(function () { return require('./send-
|
|
17940
|
+
const { handleSendCommand } = await Promise.resolve().then(function () { return require('./send-qXWGilm8.cjs'); });
|
|
17834
17941
|
await handleSendCommand(args.slice(1));
|
|
17835
17942
|
} catch (error) {
|
|
17836
17943
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -17936,9 +18043,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17936
18043
|
if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
|
|
17937
18044
|
const projectId = args[3];
|
|
17938
18045
|
try {
|
|
17939
|
-
const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-
|
|
17940
|
-
const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await Promise.resolve().then(function () { return require('./limits-
|
|
17941
|
-
const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./types-
|
|
18046
|
+
const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-CgPu2wtS.cjs'); });
|
|
18047
|
+
const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await Promise.resolve().then(function () { return require('./limits-Dyma1REp.cjs'); }).then(function (n) { return n.persistence; });
|
|
18048
|
+
const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./types-D2Gkpe0N.cjs'); }).then(function (n) { return n.api; });
|
|
17942
18049
|
let userEmail = void 0;
|
|
17943
18050
|
try {
|
|
17944
18051
|
const credentials = await readCredentialsForConfiguredRelay2();
|
|
@@ -17969,7 +18076,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17969
18076
|
}
|
|
17970
18077
|
if (geminiSubcommand === "project" && args[2] === "get") {
|
|
17971
18078
|
try {
|
|
17972
|
-
const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-
|
|
18079
|
+
const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-CgPu2wtS.cjs'); });
|
|
17973
18080
|
const config = readGeminiLocalConfig();
|
|
17974
18081
|
if (config.googleCloudProject) {
|
|
17975
18082
|
console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
|
|
@@ -18009,7 +18116,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
18009
18116
|
process.exit(0);
|
|
18010
18117
|
}
|
|
18011
18118
|
try {
|
|
18012
|
-
const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-
|
|
18119
|
+
const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-BMYCU16c.cjs'); });
|
|
18013
18120
|
let startedBy = void 0;
|
|
18014
18121
|
for (let i = 1; i < args.length; i++) {
|
|
18015
18122
|
if (args[i] === "--started-by") {
|
|
@@ -18032,7 +18139,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
18032
18139
|
} else if (subcommand === "pi") {
|
|
18033
18140
|
if (args[1] === "--terminal") {
|
|
18034
18141
|
try {
|
|
18035
|
-
const { runPiTerminal } = await Promise.resolve().then(function () { return require('./piTerminal-
|
|
18142
|
+
const { runPiTerminal } = await Promise.resolve().then(function () { return require('./piTerminal-DHxGB3Ic.cjs'); });
|
|
18036
18143
|
process.exitCode = await runPiTerminal(args.slice(2));
|
|
18037
18144
|
} catch (error) {
|
|
18038
18145
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -18049,7 +18156,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
18049
18156
|
}
|
|
18050
18157
|
};
|
|
18051
18158
|
try {
|
|
18052
|
-
const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-
|
|
18159
|
+
const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-DEVkDRas.cjs'); });
|
|
18053
18160
|
const parsed = parsePiRunnerArgs(args.slice(1));
|
|
18054
18161
|
const resolved = resolveAcpAgentConfig(["pi", ...parsed.passthrough]);
|
|
18055
18162
|
const { credentials } = await authAndSetupMachineIfNeeded();
|
|
@@ -18077,7 +18184,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
18077
18184
|
return;
|
|
18078
18185
|
} else if (subcommand === "acp") {
|
|
18079
18186
|
try {
|
|
18080
|
-
const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-
|
|
18187
|
+
const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-DEVkDRas.cjs'); });
|
|
18081
18188
|
let startedBy = void 0;
|
|
18082
18189
|
let verbose = false;
|
|
18083
18190
|
const acpArgs = [];
|
|
@@ -18117,7 +18224,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
18117
18224
|
return;
|
|
18118
18225
|
} else if (subcommand === "openclaw") {
|
|
18119
18226
|
try {
|
|
18120
|
-
const { runOpenClaw } = await Promise.resolve().then(function () { return require('./runOpenClaw-
|
|
18227
|
+
const { runOpenClaw } = await Promise.resolve().then(function () { return require('./runOpenClaw-Qs4eFtcS.cjs'); });
|
|
18121
18228
|
let startedBy = void 0;
|
|
18122
18229
|
let verbose = false;
|
|
18123
18230
|
let gatewayUrl;
|
|
@@ -18168,7 +18275,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
18168
18275
|
return;
|
|
18169
18276
|
} else if (subcommand === "todo") {
|
|
18170
18277
|
try {
|
|
18171
|
-
const { handleTodoCommand } = await Promise.resolve().then(function () { return require('./todo-
|
|
18278
|
+
const { handleTodoCommand } = await Promise.resolve().then(function () { return require('./todo-D7SDXL0c.cjs'); });
|
|
18172
18279
|
await handleTodoCommand(args.slice(1));
|
|
18173
18280
|
} catch (error) {
|
|
18174
18281
|
console.error(JSON.stringify({ error: error instanceof Error ? error.message : "Todo command failed" }));
|
|
@@ -18177,7 +18284,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
18177
18284
|
return;
|
|
18178
18285
|
} else if (subcommand === "teams") {
|
|
18179
18286
|
try {
|
|
18180
|
-
const { handleTeamsCommand } = await Promise.resolve().then(function () { return require('./teams-
|
|
18287
|
+
const { handleTeamsCommand } = await Promise.resolve().then(function () { return require('./teams-ByEgUzsH.cjs'); });
|
|
18181
18288
|
await handleTeamsCommand(args.slice(1));
|
|
18182
18289
|
} catch (error) {
|
|
18183
18290
|
console.error(error instanceof Error ? error.message : "Teams command failed");
|
|
@@ -18186,7 +18293,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
18186
18293
|
return;
|
|
18187
18294
|
} else if (subcommand === "mcp" && (args.length === 1 || args.length === 2 && args[1] === "--terminal-tools")) {
|
|
18188
18295
|
try {
|
|
18189
|
-
const { handleMcpCommand } = await Promise.resolve().then(function () { return require('./mcp-
|
|
18296
|
+
const { handleMcpCommand } = await Promise.resolve().then(function () { return require('./mcp-_TVUSg8W.cjs'); });
|
|
18190
18297
|
await handleMcpCommand(args[1] === "--terminal-tools");
|
|
18191
18298
|
} catch (error) {
|
|
18192
18299
|
process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
|
package/dist/index.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
require('chalk');
|
|
4
|
-
require('./index-
|
|
5
|
-
require('./limits-
|
|
4
|
+
require('./index-K6mUS0jF.cjs');
|
|
5
|
+
require('./limits-Dyma1REp.cjs');
|
|
6
6
|
require('zod');
|
|
7
|
-
require('./types-
|
|
7
|
+
require('./types-D2Gkpe0N.cjs');
|
|
8
8
|
require('node:child_process');
|
|
9
9
|
require('node:os');
|
|
10
10
|
require('node:crypto');
|
|
@@ -15,7 +15,7 @@ require('node:fs');
|
|
|
15
15
|
require('./projectPath-ChLhdOyt.cjs');
|
|
16
16
|
require('path');
|
|
17
17
|
require('url');
|
|
18
|
-
require('./agentGuidance
|
|
18
|
+
require('./agentGuidance-Dla-BXO8.cjs');
|
|
19
19
|
require('node:fs/promises');
|
|
20
20
|
require('fs/promises');
|
|
21
21
|
require('ink');
|
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import 'chalk';
|
|
2
|
-
import './index-
|
|
3
|
-
import './limits-
|
|
2
|
+
import './index-CpNYvMTJ.mjs';
|
|
3
|
+
import './limits-FThmm7WR.mjs';
|
|
4
4
|
import 'zod';
|
|
5
|
-
import './types-
|
|
5
|
+
import './types-BD542hb1.mjs';
|
|
6
6
|
import 'node:child_process';
|
|
7
7
|
import 'node:os';
|
|
8
8
|
import 'node:crypto';
|
|
@@ -13,7 +13,7 @@ import 'node:fs';
|
|
|
13
13
|
import './projectPath-CSpqWdxp.mjs';
|
|
14
14
|
import 'path';
|
|
15
15
|
import 'url';
|
|
16
|
-
import './agentGuidance-
|
|
16
|
+
import './agentGuidance-DrfhtVP1.mjs';
|
|
17
17
|
import 'node:fs/promises';
|
|
18
18
|
import 'fs/promises';
|
|
19
19
|
import 'ink';
|
|
@@ -4,13 +4,13 @@ import { homedir } from 'node:os';
|
|
|
4
4
|
import { spawnSync } from 'node:child_process';
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
import { p as projectPath } from './projectPath-CSpqWdxp.mjs';
|
|
7
|
-
import { t as tmuxSupportsSessionEnv } from './index-
|
|
7
|
+
import { t as tmuxSupportsSessionEnv } from './index-CpNYvMTJ.mjs';
|
|
8
8
|
import 'path';
|
|
9
9
|
import 'url';
|
|
10
10
|
import 'node:crypto';
|
|
11
|
-
import './types-
|
|
11
|
+
import './types-BD542hb1.mjs';
|
|
12
12
|
import 'axios';
|
|
13
|
-
import './limits-
|
|
13
|
+
import './limits-FThmm7WR.mjs';
|
|
14
14
|
import 'node:fs/promises';
|
|
15
15
|
import 'zod';
|
|
16
16
|
import 'tweetnacl';
|
|
@@ -29,7 +29,7 @@ import 'fs';
|
|
|
29
29
|
import 'node:readline';
|
|
30
30
|
import '@anthropic-ai/sandbox-runtime';
|
|
31
31
|
import 'expo-server-sdk';
|
|
32
|
-
import './agentGuidance-
|
|
32
|
+
import './agentGuidance-DrfhtVP1.mjs';
|
|
33
33
|
import 'ink';
|
|
34
34
|
import 'react';
|
|
35
35
|
import '@anthropic-ai/claude-agent-sdk';
|
|
@@ -6,13 +6,13 @@ var os = require('node:os');
|
|
|
6
6
|
var node_child_process = require('node:child_process');
|
|
7
7
|
var chalk = require('chalk');
|
|
8
8
|
var projectPath = require('./projectPath-ChLhdOyt.cjs');
|
|
9
|
-
var index = require('./index-
|
|
9
|
+
var index = require('./index-K6mUS0jF.cjs');
|
|
10
10
|
require('path');
|
|
11
11
|
require('url');
|
|
12
12
|
require('node:crypto');
|
|
13
|
-
require('./types-
|
|
13
|
+
require('./types-D2Gkpe0N.cjs');
|
|
14
14
|
require('axios');
|
|
15
|
-
require('./limits-
|
|
15
|
+
require('./limits-Dyma1REp.cjs');
|
|
16
16
|
require('node:fs/promises');
|
|
17
17
|
require('zod');
|
|
18
18
|
require('tweetnacl');
|
|
@@ -31,7 +31,7 @@ require('fs');
|
|
|
31
31
|
require('node:readline');
|
|
32
32
|
require('@anthropic-ai/sandbox-runtime');
|
|
33
33
|
require('expo-server-sdk');
|
|
34
|
-
require('./agentGuidance
|
|
34
|
+
require('./agentGuidance-Dla-BXO8.cjs');
|
|
35
35
|
require('ink');
|
|
36
36
|
require('react');
|
|
37
37
|
require('@anthropic-ai/claude-agent-sdk');
|
package/dist/lib.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./types-
|
|
4
|
-
var persistence = require('./limits-
|
|
3
|
+
var index = require('./types-D2Gkpe0N.cjs');
|
|
4
|
+
var persistence = require('./limits-Dyma1REp.cjs');
|
|
5
5
|
require('axios');
|
|
6
6
|
require('node:events');
|
|
7
7
|
require('socket.io-client');
|
package/dist/lib.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema } from './types-
|
|
2
|
-
export { c as configuration, l as logger } from './limits-
|
|
1
|
+
export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema } from './types-BD542hb1.mjs';
|
|
2
|
+
export { c as configuration, l as logger } from './limits-FThmm7WR.mjs';
|
|
3
3
|
import 'axios';
|
|
4
4
|
import 'node:events';
|
|
5
5
|
import 'socket.io-client';
|
|
@@ -30,7 +30,7 @@ function _interopNamespaceDefault(e) {
|
|
|
30
30
|
var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
|
|
31
31
|
|
|
32
32
|
var name = "very-happy-cli";
|
|
33
|
-
var version = "0.2.
|
|
33
|
+
var version = "0.2.150";
|
|
34
34
|
var description = "Remote multi-agent workspace CLI with deep Claude integration, native terminal streaming, and self-hosting.";
|
|
35
35
|
var author = "Kirill Dubovitskiy";
|
|
36
36
|
var contributors = [
|
|
@@ -147,12 +147,12 @@ var dependencies = {
|
|
|
147
147
|
zod: "^4.0.0"
|
|
148
148
|
};
|
|
149
149
|
var optionalDependencies = {
|
|
150
|
-
"very-happy-tools-arm64-darwin": "0.2.
|
|
151
|
-
"very-happy-tools-x64-darwin": "0.2.
|
|
152
|
-
"very-happy-tools-arm64-linux": "0.2.
|
|
153
|
-
"very-happy-tools-x64-linux": "0.2.
|
|
154
|
-
"very-happy-tools-arm64-win32": "0.2.
|
|
155
|
-
"very-happy-tools-x64-win32": "0.2.
|
|
150
|
+
"very-happy-tools-arm64-darwin": "0.2.150",
|
|
151
|
+
"very-happy-tools-x64-darwin": "0.2.150",
|
|
152
|
+
"very-happy-tools-arm64-linux": "0.2.150",
|
|
153
|
+
"very-happy-tools-x64-linux": "0.2.150",
|
|
154
|
+
"very-happy-tools-arm64-win32": "0.2.150",
|
|
155
|
+
"very-happy-tools-x64-win32": "0.2.150"
|
|
156
156
|
};
|
|
157
157
|
var devDependencies = {
|
|
158
158
|
"@slopus/happy-wire": "workspace:*",
|