very-happy-cli 0.2.147 → 0.2.149
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-CtoDlI4b.mjs → AcpBackend-Baqb8dNm.mjs} +2 -2
- package/dist/{AcpBackend-DYAbnvv0.cjs → AcpBackend-CnZpEfGd.cjs} +2 -2
- package/dist/{AcpSessionManager-BHnqkhBf.mjs → AcpSessionManager-CC6mdFXs.mjs} +1 -1
- package/dist/{AcpSessionManager-Cn2214Af.cjs → AcpSessionManager-e2vxmIbj.cjs} +1 -1
- package/dist/{agentGuidance-FDBKJgGC.cjs → agentGuidance--QIi_rZ2.cjs} +1 -1
- package/dist/{agentGuidance-CK792QWi.mjs → agentGuidance-oMVJvUl7.mjs} +1 -1
- package/dist/{agentHome-z_h7cVnq.cjs → agentHome-3kRCtzOL.cjs} +2 -2
- package/dist/{agentHome-Cj4LYQV-.mjs → agentHome-CKSPsS8d.mjs} +2 -2
- package/dist/codex/happyMcpStdioBridge.cjs +2 -2
- package/dist/codex/happyMcpStdioBridge.mjs +2 -2
- package/dist/{config-CVvEoSGv.mjs → config-C8jpk6IA.mjs} +4 -4
- package/dist/{config-C1ysAgX3.cjs → config-CzJZcvTO.cjs} +4 -4
- package/dist/{index-DUw34UHh.mjs → index-BPCXUrEe.mjs} +4 -4
- package/dist/{index-CXc3BQNG.cjs → index-CyfXsCXl.cjs} +76 -53
- package/dist/{index-C1QWpPoB.cjs → index-DBN2Zpqc.cjs} +4 -4
- package/dist/{index-B7UauKjp.mjs → index-Dfkyar7S.mjs} +72 -49
- package/dist/{index-DhcgPLDK.cjs → index-DgK4KX-Z.cjs} +7 -7
- package/dist/{index-EH6Pjsic.mjs → index-DrVq0CqK.mjs} +8 -8
- package/dist/index.cjs +4 -4
- package/dist/index.mjs +4 -4
- package/dist/{installTerminalHooks-AUERBJd4.mjs → installTerminalHooks-COqkLz6f.mjs} +4 -4
- package/dist/{installTerminalHooks-BMpt_X5L.cjs → installTerminalHooks-kdAoTfNT.cjs} +4 -4
- package/dist/lib.cjs +2 -2
- package/dist/lib.d.cts +10 -0
- package/dist/lib.d.mts +10 -0
- package/dist/lib.mjs +2 -2
- package/dist/{limits-Dh0u29C4.mjs → limits-BXI1Gzvd.mjs} +8 -8
- package/dist/{limits-WZLbGgEg.cjs → limits-FZWhlsBu.cjs} +8 -8
- package/dist/{mcp-3lcIERfY.mjs → mcp-Dfnoirpi.mjs} +4 -4
- package/dist/{mcp-D-Crar0K.cjs → mcp-DoLZbbZp.cjs} +4 -4
- package/dist/{piRuntime-dQ6fN-W9.mjs → piRuntime-BK6YZm2X.mjs} +2 -2
- package/dist/{piRuntime-Dkk0SGGN.cjs → piRuntime-DmE4ysfG.cjs} +2 -2
- package/dist/{piTerminal-YoY7Z7sP.mjs → piTerminal-Bczubq2n.mjs} +6 -6
- package/dist/{piTerminal-C1gXyJA1.cjs → piTerminal-qQAzQwIU.cjs} +6 -6
- package/dist/{runGemini-D2Hr4-Xz.mjs → runGemini-Cce_pjTs.mjs} +6 -6
- package/dist/{runGemini-Cj284Qhk.cjs → runGemini-ComTu0EB.cjs} +6 -6
- package/dist/{runOpenClaw-0tleKtRj.mjs → runOpenClaw-DXP5_chb.mjs} +5 -5
- package/dist/{runOpenClaw-USGbHPm-.cjs → runOpenClaw-M3YlDt8z.cjs} +5 -5
- package/dist/{send-Bt9iWhWx.cjs → send-0LrSwGgr.cjs} +4 -4
- package/dist/{send-vmjOSMYO.mjs → send-DDD57Cr_.mjs} +4 -4
- package/dist/{sessions-lzuQguqk.cjs → sessions-2Bkau9T4.cjs} +4 -4
- package/dist/{sessions-BeqWzIdm.mjs → sessions-ClBPEtz2.mjs} +4 -4
- package/dist/{spawn-13v957Zv.mjs → spawn-7lLymdT1.mjs} +4 -4
- package/dist/{spawn-B9kfeZZL.cjs → spawn-Cm3Da8Ge.cjs} +4 -4
- package/dist/{teams-DQ1pAIhZ.cjs → teams-DKKeIG-u.cjs} +4 -4
- package/dist/{teams-BkFamplo.mjs → teams-DyBjdXI3.mjs} +4 -4
- package/dist/{todo-Ba0Wpu2G.cjs → todo-8RgCTDxH.cjs} +3 -3
- package/dist/{todo-CxQEUY9J.mjs → todo-jXHGGH89.mjs} +3 -3
- package/dist/{types-DFYgWw3-.mjs → types-ipzMqciq.mjs} +116 -9
- package/dist/{types-CGACQD3M.cjs → types-t1gxALVE.cjs} +116 -9
- package/package.json +8 -8
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import chalk from 'chalk';
|
|
2
2
|
import os, { homedir, userInfo, tmpdir } from 'node:os';
|
|
3
3
|
import { randomUUID, randomInt, randomBytes, createHash as createHash$1, timingSafeEqual } from 'node:crypto';
|
|
4
|
-
import { v as notifyDaemonSessionEvent, w as getProjectPath, o as BUILTIN_TODO_DISCOVERY, x as initializeSandbox, y as wrapCommand, t as contentLogMetadata, I as InvalidateSync, R as RawJSONLinesSchema, u as delay, z as AsyncLock, S as STREAM_DELTA_MAX_CHARS, M as MAX_CHAT_ATTACHMENT_SOURCE_BYTES, C as notifyDaemonClaudeAuthFailed, D as commandOnPath, c as checkIfDaemonRunningAndCleanupStaleState, E as deriveLocalCliUpdateSummary, F as AGENT_VERSION_SOURCES, G as isClaudeSessionId, H as getLocalHappyAgentCredentialPath, J as readLocalHappyAgentCredentials, K as parseExactVersion, L as compareExactVersions, N as extractCompleteLines, O as decideBackfill, P as parseTerminalHookPayload, Q as tmuxArgs, T as scrubTmuxClientEnv, U as decideMirrorBinding, V as MIRROR_BACKFILL_LINES_DEFAULT, W as mirrorLineKey, X as mirrorLocalId, Y as listDaemonSessions, Z as stopDaemonSession, _ as detectCLIAvailability, $ as detectResumeSupport, a0 as refreshAgentHomes, d as describeAgentHome, a1 as isDaemonRunningCurrentlyInstalledHappyVersion, a2 as stopDaemon, a3 as TurnActivityTracker, a4 as summarizeSpawnSessionForLog, a5 as locateClaudeConversation, a6 as agentHomeSpawnEnv, a7 as shellescape, A as ApiClient, a8 as fetchCliUpdateState, a9 as resolveCliUpdateCheckInterval, aa as DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS, ab as cleanupDaemonState, i as isValidSessionId, s as spawnDaemonSession, ac as listVhTerminals, ad as isValidTerminalId, ae as readVhTerminal, af as sendToVhTerminal, ag as ContextUsageSchema, ah as TITLE_PROMPT_PREFIX, ai as BOARD_ANALYZER_PROMPT_PREFIX, m as connectionState, aj as startOfflineReconnection, n as notifyDaemonSessionStarted, g as createEnvelope, ak as CodexAppServerClient } from './types-
|
|
5
|
-
import { l as logger, F as ensurePrivateDirectory, G as hardenPrivateFile, c as configuration, p as packageJson, r as readSettings, H as readCredentials, x as credentialRelayProblem, o as readDaemonState, g as encodeBase64, I as readSettingsOutcome, u as updateSettings, J as encodeBase64Url, m as decodeBase64, K as writeCredentialsLegacy, L as writeCredentialsDataKey, e as readCredentialsForConfiguredRelay, j as encrypt, d as readPersistedSessions, w as writePrivateFileSync, M as decryptWithDataKey, N as decryptLegacy, O as persistSession, k as decrypt, h as ensurePrivateDirectorySync, P as acquireDaemonLock, Q as deletePersistedSessions, R as writeDaemonState, S as writeSettings, T as releaseDaemonLock, C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, f as CLIPBOARD_MAX_BYTES, U as clearCredentials, V as clearMachineId, W as SandboxConfigSchema, X as getLatestDaemonLog } from './limits-
|
|
4
|
+
import { v as notifyDaemonSessionEvent, w as getProjectPath, o as BUILTIN_TODO_DISCOVERY, x as initializeSandbox, y as wrapCommand, t as contentLogMetadata, I as InvalidateSync, R as RawJSONLinesSchema, u as delay, z as AsyncLock, S as STREAM_DELTA_MAX_CHARS, M as MAX_CHAT_ATTACHMENT_SOURCE_BYTES, C as notifyDaemonClaudeAuthFailed, D as commandOnPath, c as checkIfDaemonRunningAndCleanupStaleState, E as deriveLocalCliUpdateSummary, F as AGENT_VERSION_SOURCES, G as isClaudeSessionId, H as getLocalHappyAgentCredentialPath, J as readLocalHappyAgentCredentials, K as parseExactVersion, L as compareExactVersions, N as extractCompleteLines, O as decideBackfill, P as parseTerminalHookPayload, Q as tmuxArgs, T as scrubTmuxClientEnv, U as decideMirrorBinding, V as MIRROR_BACKFILL_LINES_DEFAULT, W as mirrorLineKey, X as mirrorLocalId, Y as listDaemonSessions, Z as stopDaemonSession, _ as detectCLIAvailability, $ as detectResumeSupport, a0 as refreshAgentHomes, d as describeAgentHome, a1 as isDaemonRunningCurrentlyInstalledHappyVersion, a2 as stopDaemon, a3 as TurnActivityTracker, a4 as summarizeSpawnSessionForLog, a5 as locateClaudeConversation, a6 as agentHomeSpawnEnv, a7 as shellescape, A as ApiClient, a8 as fetchCliUpdateState, a9 as resolveCliUpdateCheckInterval, aa as DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS, ab as cleanupDaemonState, i as isValidSessionId, s as spawnDaemonSession, ac as listVhTerminals, ad as isValidTerminalId, ae as readVhTerminal, af as sendToVhTerminal, ag as ContextUsageSchema, ah as TITLE_PROMPT_PREFIX, ai as BOARD_ANALYZER_PROMPT_PREFIX, m as connectionState, aj as startOfflineReconnection, n as notifyDaemonSessionStarted, g as createEnvelope, ak as CodexAppServerClient } from './types-ipzMqciq.mjs';
|
|
5
|
+
import { l as logger, F as ensurePrivateDirectory, G as hardenPrivateFile, c as configuration, p as packageJson, r as readSettings, H as readCredentials, x as credentialRelayProblem, o as readDaemonState, g as encodeBase64, I as readSettingsOutcome, u as updateSettings, J as encodeBase64Url, m as decodeBase64, K as writeCredentialsLegacy, L as writeCredentialsDataKey, e as readCredentialsForConfiguredRelay, j as encrypt, d as readPersistedSessions, w as writePrivateFileSync, M as decryptWithDataKey, N as decryptLegacy, O as persistSession, k as decrypt, h as ensurePrivateDirectorySync, P as acquireDaemonLock, Q as deletePersistedSessions, R as writeDaemonState, S as writeSettings, T as releaseDaemonLock, C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, f as CLIPBOARD_MAX_BYTES, U as clearCredentials, V as clearMachineId, W as SandboxConfigSchema, X as getLatestDaemonLog } from './limits-BXI1Gzvd.mjs';
|
|
6
6
|
import spawn$1, { spawn } from 'cross-spawn';
|
|
7
7
|
import path, { join, resolve, basename, isAbsolute, sep, dirname, delimiter, normalize } from 'node:path';
|
|
8
8
|
import { createInterface } from 'node:readline';
|
|
9
9
|
import { existsSync, readFileSync, readdirSync, statSync, mkdirSync, unlinkSync, renameSync, writeFileSync, accessSync, constants, openSync, fsyncSync, closeSync, rmSync as rmSync$1, chmodSync as chmodSync$1 } from 'node:fs';
|
|
10
10
|
import { p as projectPath } from './projectPath-CSpqWdxp.mjs';
|
|
11
|
-
import { f as trimIdent, A as AGENT_GUIDANCE, t as teamScopePath, T as TeamConnectionPreflightError, e as createTeamsClient, P as PREVIEW_TOOL_NAME, R as REPORT_PROGRESS_TOOL_NAME, g as TEAM_TOOL_NAMES, r as registerTeamsTools, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION, h as REPORT_PROGRESS_TOOL_TITLE, i as REPORT_PROGRESS_TOOL_DESCRIPTION } from './agentGuidance-
|
|
11
|
+
import { f as trimIdent, A as AGENT_GUIDANCE, t as teamScopePath, T as TeamConnectionPreflightError, e as createTeamsClient, P as PREVIEW_TOOL_NAME, R as REPORT_PROGRESS_TOOL_NAME, g as TEAM_TOOL_NAMES, r as registerTeamsTools, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION, h as REPORT_PROGRESS_TOOL_TITLE, i as REPORT_PROGRESS_TOOL_DESCRIPTION } from './agentGuidance-oMVJvUl7.mjs';
|
|
12
12
|
import { readFile, writeFile, rename, unlink, mkdir, symlink, rm, readlink, lstat, stat, open as open$1, appendFile } from 'node:fs/promises';
|
|
13
13
|
import fs, { watch, access } from 'fs/promises';
|
|
14
14
|
import { useStdout, useInput, Box, Text, render } from 'ink';
|
|
@@ -5313,8 +5313,8 @@ ${typeLabels[type] || type}:`));
|
|
|
5313
5313
|
}
|
|
5314
5314
|
console.log(chalk.gray(" An external claude command is only needed for native terminal/mirror use."));
|
|
5315
5315
|
try {
|
|
5316
|
-
const { resolveAgentHomesForCli } = await import('./agentHome-
|
|
5317
|
-
const { describeAgentHome } = await import('./types-
|
|
5316
|
+
const { resolveAgentHomesForCli } = await import('./agentHome-CKSPsS8d.mjs');
|
|
5317
|
+
const { describeAgentHome } = await import('./types-ipzMqciq.mjs').then(function (n) { return n.al; });
|
|
5318
5318
|
const homes = await resolveAgentHomesForCli();
|
|
5319
5319
|
console.log(chalk.green(`\u2713 Claude config dir: ${describeAgentHome(homes.claudeConfigDir)}`));
|
|
5320
5320
|
console.log(chalk.green(`\u2713 Codex home: ${describeAgentHome(homes.codexHome)}`));
|
|
@@ -12470,7 +12470,7 @@ function registerSideQuestionHandler(rpc, deps) {
|
|
|
12470
12470
|
const retainMs = deps.retainMs ?? SIDE_QUESTION_RETAIN_MS;
|
|
12471
12471
|
const maxRunMs = deps.maxRunMs ?? SIDE_QUESTION_MAX_RUN_MS;
|
|
12472
12472
|
const fork = deps.run ?? (async (input) => {
|
|
12473
|
-
const { query } = await import('./index-
|
|
12473
|
+
const { query } = await import('./index-BPCXUrEe.mjs');
|
|
12474
12474
|
return runSideQuestion(query, input);
|
|
12475
12475
|
});
|
|
12476
12476
|
const run = async (input, live) => {
|
|
@@ -13050,7 +13050,7 @@ async function runClaude(credentials, options = {}) {
|
|
|
13050
13050
|
// a brand-new session cannot pick a PDF until after sending once.
|
|
13051
13051
|
attachmentKinds: [...CLAUDE_ATTACHMENT_KINDS],
|
|
13052
13052
|
queueCancellation: true,
|
|
13053
|
-
capabilities: ["claude-steer-v1", "claude-live-permission-v1", "claude-live-permission-v2", "claude-btw-v1", "claude-runtime-controls-v1"],
|
|
13053
|
+
capabilities: ["claude-steer-v1", "claude-live-permission-v1", "claude-live-permission-v2", "claude-btw-v1", "claude-runtime-controls-v1", "claude-opus-5-5-v1"],
|
|
13054
13054
|
// Effective mode this process enforces. Kept current by
|
|
13055
13055
|
// publishPermissionMode below; the web renders it instead of guessing.
|
|
13056
13056
|
permissionMode: mapToClaudeMode(initialPermissionMode ?? "default"),
|
|
@@ -16563,6 +16563,43 @@ function resolveCodexExecutionPolicy(permissionMode, sandboxManagedByHappy) {
|
|
|
16563
16563
|
return { approvalPolicy, sandbox };
|
|
16564
16564
|
}
|
|
16565
16565
|
|
|
16566
|
+
function unsupportedEffortReason(catalog, model, effort) {
|
|
16567
|
+
if (!effort) return null;
|
|
16568
|
+
const selected = catalog.find((entry) => model ? entry.model === model : entry.isDefault);
|
|
16569
|
+
if (!selected) return null;
|
|
16570
|
+
if (selected.supportedReasoningEfforts.some((option) => option.reasoningEffort === effort)) return null;
|
|
16571
|
+
return `Reasoning effort "${effort}" is not supported by ${model ?? "the default model"}. Choose a supported level.`;
|
|
16572
|
+
}
|
|
16573
|
+
|
|
16574
|
+
function readableCodexErrorText(text) {
|
|
16575
|
+
const trimmed = text.trim();
|
|
16576
|
+
if (!trimmed.startsWith("{")) return trimmed;
|
|
16577
|
+
try {
|
|
16578
|
+
const body = JSON.parse(trimmed);
|
|
16579
|
+
const inner = typeof body.error === "object" && body.error ? body.error.message : void 0;
|
|
16580
|
+
const message = typeof inner === "string" && inner.trim() ? inner : typeof body.error === "string" && body.error.trim() ? body.error : typeof body.message === "string" && body.message.trim() ? body.message : null;
|
|
16581
|
+
return message ? message.trim() : trimmed;
|
|
16582
|
+
} catch {
|
|
16583
|
+
return trimmed;
|
|
16584
|
+
}
|
|
16585
|
+
}
|
|
16586
|
+
function describeCodexFailure(msg) {
|
|
16587
|
+
const hasFailure = msg?.status === "failed" || msg?.error !== void 0 && msg?.error !== null;
|
|
16588
|
+
if (!hasFailure) return null;
|
|
16589
|
+
const err = msg.error;
|
|
16590
|
+
if (typeof err === "string" && err.length > 0) return readableCodexErrorText(err);
|
|
16591
|
+
if (err && typeof err === "object" && typeof err.message === "string" && err.message.length > 0) {
|
|
16592
|
+
return readableCodexErrorText(err.message);
|
|
16593
|
+
}
|
|
16594
|
+
return "Unknown error";
|
|
16595
|
+
}
|
|
16596
|
+
const TRANSPORT_LOSS = /^Codex process (exited|disconnected)\b|stdin not writable| timed out after \d+ms/;
|
|
16597
|
+
function describeThrownTurnError(error) {
|
|
16598
|
+
const message = error instanceof Error ? error.message : typeof error === "string" ? error : "";
|
|
16599
|
+
if (!message.trim() || TRANSPORT_LOSS.test(message)) return null;
|
|
16600
|
+
return readableCodexErrorText(message);
|
|
16601
|
+
}
|
|
16602
|
+
|
|
16566
16603
|
async function resumeExistingThread(opts) {
|
|
16567
16604
|
try {
|
|
16568
16605
|
const resumedThread = await opts.client.resumeThread({
|
|
@@ -16781,16 +16818,6 @@ function safeCodexErrorMetadata(value) {
|
|
|
16781
16818
|
};
|
|
16782
16819
|
}
|
|
16783
16820
|
|
|
16784
|
-
function describeCodexFailure(msg) {
|
|
16785
|
-
const hasFailure = msg?.status === "failed" || msg?.error !== void 0 && msg?.error !== null;
|
|
16786
|
-
if (!hasFailure) return null;
|
|
16787
|
-
const err = msg.error;
|
|
16788
|
-
if (typeof err === "string" && err.length > 0) return err;
|
|
16789
|
-
if (err && typeof err === "object" && typeof err.message === "string" && err.message.length > 0) {
|
|
16790
|
-
return err.message;
|
|
16791
|
-
}
|
|
16792
|
-
return "Unknown error";
|
|
16793
|
-
}
|
|
16794
16821
|
const DEFAULT_CODEX_MODEL = "gpt-5.5";
|
|
16795
16822
|
const DEFAULT_CODEX_EFFORT = "medium";
|
|
16796
16823
|
async function runCodex(opts) {
|
|
@@ -16952,15 +16979,6 @@ async function runCodex(opts) {
|
|
|
16952
16979
|
"yolo"
|
|
16953
16980
|
];
|
|
16954
16981
|
let discoveredModels = [];
|
|
16955
|
-
const VALID_REMOTE_EFFORTS = [
|
|
16956
|
-
"none",
|
|
16957
|
-
"minimal",
|
|
16958
|
-
"low",
|
|
16959
|
-
"medium",
|
|
16960
|
-
"high",
|
|
16961
|
-
"xhigh",
|
|
16962
|
-
"max"
|
|
16963
|
-
];
|
|
16964
16982
|
registerAgentAttachmentDownloads(session);
|
|
16965
16983
|
let userMessageDelivery = Promise.resolve();
|
|
16966
16984
|
session.onUserMessage((message) => {
|
|
@@ -17455,10 +17473,9 @@ async function runCodex(opts) {
|
|
|
17455
17473
|
message.mode.permissionMode,
|
|
17456
17474
|
sandboxManagedByHappy
|
|
17457
17475
|
);
|
|
17458
|
-
const
|
|
17459
|
-
|
|
17460
|
-
|
|
17461
|
-
throw new Error(`Reasoning effort "${message.mode.effort}" is not supported by ${message.mode.model ?? "the default model"}. Choose a supported level.`);
|
|
17476
|
+
const effortRefusal = unsupportedEffortReason(discoveredModels, message.mode.model, message.mode.effort);
|
|
17477
|
+
if (effortRefusal) {
|
|
17478
|
+
throw new Error(effortRefusal);
|
|
17462
17479
|
}
|
|
17463
17480
|
if (!client.hasActiveThread()) {
|
|
17464
17481
|
const startedThread = await client.startThread({
|
|
@@ -17502,8 +17519,14 @@ async function runCodex(opts) {
|
|
|
17502
17519
|
}
|
|
17503
17520
|
} catch (error) {
|
|
17504
17521
|
logger.warn("Error in codex session", safeCodexErrorMetadata(error));
|
|
17505
|
-
|
|
17506
|
-
|
|
17522
|
+
const reason = describeThrownTurnError(error);
|
|
17523
|
+
if (reason) {
|
|
17524
|
+
messageBuffer.addMessage(`Task failed: ${reason}`, "status");
|
|
17525
|
+
session.sendSessionEvent({ type: "message", message: `Codex error: ${reason}` });
|
|
17526
|
+
} else {
|
|
17527
|
+
messageBuffer.addMessage("Process exited unexpectedly", "status");
|
|
17528
|
+
session.sendSessionEvent({ type: "message", message: "Process exited unexpectedly" });
|
|
17529
|
+
}
|
|
17507
17530
|
} finally {
|
|
17508
17531
|
permissionHandler.reset();
|
|
17509
17532
|
reasoningProcessor.abort();
|
|
@@ -17735,7 +17758,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17735
17758
|
return;
|
|
17736
17759
|
} else if (subcommand === "install-terminal-hooks") {
|
|
17737
17760
|
try {
|
|
17738
|
-
const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await import('./installTerminalHooks-
|
|
17761
|
+
const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await import('./installTerminalHooks-COqkLz6f.mjs');
|
|
17739
17762
|
const command = parseTerminalHooksArgs(args.slice(1));
|
|
17740
17763
|
if (command.action === "help") {
|
|
17741
17764
|
console.log(TERMINAL_HOOKS_HELP);
|
|
@@ -17752,7 +17775,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17752
17775
|
}
|
|
17753
17776
|
} else if (subcommand === "agent-home") {
|
|
17754
17777
|
try {
|
|
17755
|
-
const { parseAgentHomeArgs, runAgentHomeCommand } = await import('./agentHome-
|
|
17778
|
+
const { parseAgentHomeArgs, runAgentHomeCommand } = await import('./agentHome-CKSPsS8d.mjs');
|
|
17756
17779
|
await runAgentHomeCommand(parseAgentHomeArgs(args.slice(1)));
|
|
17757
17780
|
process.exit(0);
|
|
17758
17781
|
} catch (error) {
|
|
@@ -17761,7 +17784,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17761
17784
|
}
|
|
17762
17785
|
} else if (subcommand === "spawn") {
|
|
17763
17786
|
try {
|
|
17764
|
-
const { handleSpawnCommand } = await import('./spawn-
|
|
17787
|
+
const { handleSpawnCommand } = await import('./spawn-7lLymdT1.mjs');
|
|
17765
17788
|
await handleSpawnCommand(args.slice(1));
|
|
17766
17789
|
} catch (error) {
|
|
17767
17790
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -17773,7 +17796,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17773
17796
|
return;
|
|
17774
17797
|
} else if (subcommand === "sessions") {
|
|
17775
17798
|
try {
|
|
17776
|
-
const { handleSessionsCommand } = await import('./sessions-
|
|
17799
|
+
const { handleSessionsCommand } = await import('./sessions-ClBPEtz2.mjs');
|
|
17777
17800
|
await handleSessionsCommand(args.slice(1));
|
|
17778
17801
|
} catch (error) {
|
|
17779
17802
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -17785,7 +17808,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17785
17808
|
return;
|
|
17786
17809
|
} else if (subcommand === "send") {
|
|
17787
17810
|
try {
|
|
17788
|
-
const { handleSendCommand } = await import('./send-
|
|
17811
|
+
const { handleSendCommand } = await import('./send-DDD57Cr_.mjs');
|
|
17789
17812
|
await handleSendCommand(args.slice(1));
|
|
17790
17813
|
} catch (error) {
|
|
17791
17814
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -17891,9 +17914,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17891
17914
|
if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
|
|
17892
17915
|
const projectId = args[3];
|
|
17893
17916
|
try {
|
|
17894
|
-
const { saveGoogleCloudProjectToConfig } = await import('./config-
|
|
17895
|
-
const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./limits-
|
|
17896
|
-
const { ApiClient: ApiClient2 } = await import('./types-
|
|
17917
|
+
const { saveGoogleCloudProjectToConfig } = await import('./config-C8jpk6IA.mjs');
|
|
17918
|
+
const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./limits-BXI1Gzvd.mjs').then(function (n) { return n.Y; });
|
|
17919
|
+
const { ApiClient: ApiClient2 } = await import('./types-ipzMqciq.mjs').then(function (n) { return n.am; });
|
|
17897
17920
|
let userEmail = void 0;
|
|
17898
17921
|
try {
|
|
17899
17922
|
const credentials = await readCredentialsForConfiguredRelay2();
|
|
@@ -17924,7 +17947,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17924
17947
|
}
|
|
17925
17948
|
if (geminiSubcommand === "project" && args[2] === "get") {
|
|
17926
17949
|
try {
|
|
17927
|
-
const { readGeminiLocalConfig } = await import('./config-
|
|
17950
|
+
const { readGeminiLocalConfig } = await import('./config-C8jpk6IA.mjs');
|
|
17928
17951
|
const config = readGeminiLocalConfig();
|
|
17929
17952
|
if (config.googleCloudProject) {
|
|
17930
17953
|
console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
|
|
@@ -17964,7 +17987,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17964
17987
|
process.exit(0);
|
|
17965
17988
|
}
|
|
17966
17989
|
try {
|
|
17967
|
-
const { runGemini } = await import('./runGemini-
|
|
17990
|
+
const { runGemini } = await import('./runGemini-Cce_pjTs.mjs');
|
|
17968
17991
|
let startedBy = void 0;
|
|
17969
17992
|
for (let i = 1; i < args.length; i++) {
|
|
17970
17993
|
if (args[i] === "--started-by") {
|
|
@@ -17987,7 +18010,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17987
18010
|
} else if (subcommand === "pi") {
|
|
17988
18011
|
if (args[1] === "--terminal") {
|
|
17989
18012
|
try {
|
|
17990
|
-
const { runPiTerminal } = await import('./piTerminal-
|
|
18013
|
+
const { runPiTerminal } = await import('./piTerminal-Bczubq2n.mjs');
|
|
17991
18014
|
process.exitCode = await runPiTerminal(args.slice(2));
|
|
17992
18015
|
} catch (error) {
|
|
17993
18016
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -18004,7 +18027,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
18004
18027
|
}
|
|
18005
18028
|
};
|
|
18006
18029
|
try {
|
|
18007
|
-
const { runAcp, resolveAcpAgentConfig } = await import('./index-
|
|
18030
|
+
const { runAcp, resolveAcpAgentConfig } = await import('./index-DrVq0CqK.mjs');
|
|
18008
18031
|
const parsed = parsePiRunnerArgs(args.slice(1));
|
|
18009
18032
|
const resolved = resolveAcpAgentConfig(["pi", ...parsed.passthrough]);
|
|
18010
18033
|
const { credentials } = await authAndSetupMachineIfNeeded();
|
|
@@ -18032,7 +18055,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
18032
18055
|
return;
|
|
18033
18056
|
} else if (subcommand === "acp") {
|
|
18034
18057
|
try {
|
|
18035
|
-
const { runAcp, resolveAcpAgentConfig } = await import('./index-
|
|
18058
|
+
const { runAcp, resolveAcpAgentConfig } = await import('./index-DrVq0CqK.mjs');
|
|
18036
18059
|
let startedBy = void 0;
|
|
18037
18060
|
let verbose = false;
|
|
18038
18061
|
const acpArgs = [];
|
|
@@ -18072,7 +18095,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
18072
18095
|
return;
|
|
18073
18096
|
} else if (subcommand === "openclaw") {
|
|
18074
18097
|
try {
|
|
18075
|
-
const { runOpenClaw } = await import('./runOpenClaw-
|
|
18098
|
+
const { runOpenClaw } = await import('./runOpenClaw-DXP5_chb.mjs');
|
|
18076
18099
|
let startedBy = void 0;
|
|
18077
18100
|
let verbose = false;
|
|
18078
18101
|
let gatewayUrl;
|
|
@@ -18123,7 +18146,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
18123
18146
|
return;
|
|
18124
18147
|
} else if (subcommand === "todo") {
|
|
18125
18148
|
try {
|
|
18126
|
-
const { handleTodoCommand } = await import('./todo-
|
|
18149
|
+
const { handleTodoCommand } = await import('./todo-jXHGGH89.mjs');
|
|
18127
18150
|
await handleTodoCommand(args.slice(1));
|
|
18128
18151
|
} catch (error) {
|
|
18129
18152
|
console.error(JSON.stringify({ error: error instanceof Error ? error.message : "Todo command failed" }));
|
|
@@ -18132,7 +18155,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
18132
18155
|
return;
|
|
18133
18156
|
} else if (subcommand === "teams") {
|
|
18134
18157
|
try {
|
|
18135
|
-
const { handleTeamsCommand } = await import('./teams-
|
|
18158
|
+
const { handleTeamsCommand } = await import('./teams-DyBjdXI3.mjs');
|
|
18136
18159
|
await handleTeamsCommand(args.slice(1));
|
|
18137
18160
|
} catch (error) {
|
|
18138
18161
|
console.error(error instanceof Error ? error.message : "Teams command failed");
|
|
@@ -18141,7 +18164,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
18141
18164
|
return;
|
|
18142
18165
|
} else if (subcommand === "mcp" && (args.length === 1 || args.length === 2 && args[1] === "--terminal-tools")) {
|
|
18143
18166
|
try {
|
|
18144
|
-
const { handleMcpCommand } = await import('./mcp-
|
|
18167
|
+
const { handleMcpCommand } = await import('./mcp-Dfnoirpi.mjs');
|
|
18145
18168
|
await handleMcpCommand(args[1] === "--terminal-tools");
|
|
18146
18169
|
} catch (error) {
|
|
18147
18170
|
process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
|
|
@@ -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-CnZpEfGd.cjs');
|
|
4
|
+
var persistence = require('./limits-FZWhlsBu.cjs');
|
|
5
|
+
var AcpSessionManager = require('./AcpSessionManager-e2vxmIbj.cjs');
|
|
6
|
+
var index = require('./types-t1gxALVE.cjs');
|
|
7
|
+
var index$1 = require('./index-CyfXsCXl.cjs');
|
|
8
|
+
var piRuntime = require('./piRuntime-DmE4ysfG.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--QIi_rZ2.cjs');
|
|
38
38
|
require('ink');
|
|
39
39
|
require('react');
|
|
40
40
|
require('@anthropic-ai/claude-agent-sdk');
|
|
@@ -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-Baqb8dNm.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-Baqb8dNm.mjs';
|
|
3
|
+
import { r as readSettings, g as encodeBase64, l as logger, c as configuration } from './limits-BXI1Gzvd.mjs';
|
|
4
|
+
import { A as AcpSessionManager } from './AcpSessionManager-CC6mdFXs.mjs';
|
|
5
|
+
import { m as connectionState, A as ApiClient, n as notifyDaemonSessionStarted, o as BUILTIN_TODO_DISCOVERY } from './types-ipzMqciq.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-Dfkyar7S.mjs';
|
|
7
|
+
import { p as preparePiTeamsRuntime } from './piRuntime-BK6YZm2X.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-oMVJvUl7.mjs';
|
|
37
37
|
import 'ink';
|
|
38
38
|
import 'react';
|
|
39
39
|
import '@anthropic-ai/claude-agent-sdk';
|
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-CyfXsCXl.cjs');
|
|
5
|
+
require('./limits-FZWhlsBu.cjs');
|
|
6
6
|
require('zod');
|
|
7
|
-
require('./types-
|
|
7
|
+
require('./types-t1gxALVE.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--QIi_rZ2.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-Dfkyar7S.mjs';
|
|
3
|
+
import './limits-BXI1Gzvd.mjs';
|
|
4
4
|
import 'zod';
|
|
5
|
-
import './types-
|
|
5
|
+
import './types-ipzMqciq.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-oMVJvUl7.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-Dfkyar7S.mjs';
|
|
8
8
|
import 'path';
|
|
9
9
|
import 'url';
|
|
10
10
|
import 'node:crypto';
|
|
11
|
-
import './types-
|
|
11
|
+
import './types-ipzMqciq.mjs';
|
|
12
12
|
import 'axios';
|
|
13
|
-
import './limits-
|
|
13
|
+
import './limits-BXI1Gzvd.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-oMVJvUl7.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-CyfXsCXl.cjs');
|
|
10
10
|
require('path');
|
|
11
11
|
require('url');
|
|
12
12
|
require('node:crypto');
|
|
13
|
-
require('./types-
|
|
13
|
+
require('./types-t1gxALVE.cjs');
|
|
14
14
|
require('axios');
|
|
15
|
-
require('./limits-
|
|
15
|
+
require('./limits-FZWhlsBu.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--QIi_rZ2.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-t1gxALVE.cjs');
|
|
4
|
+
var persistence = require('./limits-FZWhlsBu.cjs');
|
|
5
5
|
require('axios');
|
|
6
6
|
require('node:events');
|
|
7
7
|
require('socket.io-client');
|
package/dist/lib.d.cts
CHANGED
|
@@ -426,6 +426,7 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
426
426
|
restoredAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
427
427
|
manual: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
428
428
|
attachTmux: z$1.ZodOptional<z$1.ZodString>;
|
|
429
|
+
direct: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
429
430
|
}, z$1.core.$strip>>;
|
|
430
431
|
}, z$1.core.$strip>>;
|
|
431
432
|
closedTerminals: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
|
|
@@ -460,6 +461,11 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
460
461
|
rpcAvailable: z$1.ZodBoolean;
|
|
461
462
|
detectedAt: z$1.ZodNumber;
|
|
462
463
|
}, z$1.core.$strip>>;
|
|
464
|
+
terminalHost: z$1.ZodOptional<z$1.ZodObject<{
|
|
465
|
+
tmuxAvailable: z$1.ZodBoolean;
|
|
466
|
+
tmuxVersion: z$1.ZodOptional<z$1.ZodString>;
|
|
467
|
+
detectedAt: z$1.ZodNumber;
|
|
468
|
+
}, z$1.core.$strip>>;
|
|
463
469
|
cliUpdate: z$1.ZodOptional<z$1.ZodObject<{
|
|
464
470
|
currentVersion: z$1.ZodString;
|
|
465
471
|
recommendedVersion: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -1274,6 +1280,10 @@ interface TerminalListItem {
|
|
|
1274
1280
|
* it last had. */
|
|
1275
1281
|
paneCols?: number;
|
|
1276
1282
|
paneRows?: number;
|
|
1283
|
+
/** B-486: a direct-pty shell (no tmux). Listed from the daemon's own
|
|
1284
|
+
* session map; dies with the daemon, so the web marks it non-restorable.
|
|
1285
|
+
* Old webs ignore it. */
|
|
1286
|
+
direct?: boolean;
|
|
1277
1287
|
}
|
|
1278
1288
|
|
|
1279
1289
|
interface CLIAvailability {
|
package/dist/lib.d.mts
CHANGED
|
@@ -426,6 +426,7 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
426
426
|
restoredAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
427
427
|
manual: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
428
428
|
attachTmux: z$1.ZodOptional<z$1.ZodString>;
|
|
429
|
+
direct: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
429
430
|
}, z$1.core.$strip>>;
|
|
430
431
|
}, z$1.core.$strip>>;
|
|
431
432
|
closedTerminals: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
|
|
@@ -460,6 +461,11 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
460
461
|
rpcAvailable: z$1.ZodBoolean;
|
|
461
462
|
detectedAt: z$1.ZodNumber;
|
|
462
463
|
}, z$1.core.$strip>>;
|
|
464
|
+
terminalHost: z$1.ZodOptional<z$1.ZodObject<{
|
|
465
|
+
tmuxAvailable: z$1.ZodBoolean;
|
|
466
|
+
tmuxVersion: z$1.ZodOptional<z$1.ZodString>;
|
|
467
|
+
detectedAt: z$1.ZodNumber;
|
|
468
|
+
}, z$1.core.$strip>>;
|
|
463
469
|
cliUpdate: z$1.ZodOptional<z$1.ZodObject<{
|
|
464
470
|
currentVersion: z$1.ZodString;
|
|
465
471
|
recommendedVersion: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -1274,6 +1280,10 @@ interface TerminalListItem {
|
|
|
1274
1280
|
* it last had. */
|
|
1275
1281
|
paneCols?: number;
|
|
1276
1282
|
paneRows?: number;
|
|
1283
|
+
/** B-486: a direct-pty shell (no tmux). Listed from the daemon's own
|
|
1284
|
+
* session map; dies with the daemon, so the web marks it non-restorable.
|
|
1285
|
+
* Old webs ignore it. */
|
|
1286
|
+
direct?: boolean;
|
|
1277
1287
|
}
|
|
1278
1288
|
|
|
1279
1289
|
interface CLIAvailability {
|
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-ipzMqciq.mjs';
|
|
2
|
+
export { c as configuration, l as logger } from './limits-BXI1Gzvd.mjs';
|
|
3
3
|
import 'axios';
|
|
4
4
|
import 'node:events';
|
|
5
5
|
import 'socket.io-client';
|
|
@@ -9,7 +9,7 @@ import chalk from 'chalk';
|
|
|
9
9
|
import { inspect } from 'node:util';
|
|
10
10
|
|
|
11
11
|
var name = "very-happy-cli";
|
|
12
|
-
var version = "0.2.
|
|
12
|
+
var version = "0.2.149";
|
|
13
13
|
var description = "Remote multi-agent workspace CLI with deep Claude integration, native terminal streaming, and self-hosting.";
|
|
14
14
|
var author = "Kirill Dubovitskiy";
|
|
15
15
|
var contributors = [
|
|
@@ -92,7 +92,7 @@ var scripts = {
|
|
|
92
92
|
};
|
|
93
93
|
var dependencies = {
|
|
94
94
|
"@agentclientprotocol/sdk": "^0.14.1",
|
|
95
|
-
"@anthropic-ai/claude-agent-sdk": "0.3.
|
|
95
|
+
"@anthropic-ai/claude-agent-sdk": "0.3.281",
|
|
96
96
|
"@anthropic-ai/sandbox-runtime": "^0.0.37",
|
|
97
97
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
98
98
|
"@noble/ed25519": "^3.0.0",
|
|
@@ -126,12 +126,12 @@ var dependencies = {
|
|
|
126
126
|
zod: "^4.0.0"
|
|
127
127
|
};
|
|
128
128
|
var optionalDependencies = {
|
|
129
|
-
"very-happy-tools-arm64-darwin": "0.2.
|
|
130
|
-
"very-happy-tools-x64-darwin": "0.2.
|
|
131
|
-
"very-happy-tools-arm64-linux": "0.2.
|
|
132
|
-
"very-happy-tools-x64-linux": "0.2.
|
|
133
|
-
"very-happy-tools-arm64-win32": "0.2.
|
|
134
|
-
"very-happy-tools-x64-win32": "0.2.
|
|
129
|
+
"very-happy-tools-arm64-darwin": "0.2.149",
|
|
130
|
+
"very-happy-tools-x64-darwin": "0.2.149",
|
|
131
|
+
"very-happy-tools-arm64-linux": "0.2.149",
|
|
132
|
+
"very-happy-tools-x64-linux": "0.2.149",
|
|
133
|
+
"very-happy-tools-arm64-win32": "0.2.149",
|
|
134
|
+
"very-happy-tools-x64-win32": "0.2.149"
|
|
135
135
|
};
|
|
136
136
|
var devDependencies = {
|
|
137
137
|
"@slopus/happy-wire": "workspace:*",
|
|
@@ -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.149";
|
|
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 = [
|
|
@@ -113,7 +113,7 @@ var scripts = {
|
|
|
113
113
|
};
|
|
114
114
|
var dependencies = {
|
|
115
115
|
"@agentclientprotocol/sdk": "^0.14.1",
|
|
116
|
-
"@anthropic-ai/claude-agent-sdk": "0.3.
|
|
116
|
+
"@anthropic-ai/claude-agent-sdk": "0.3.281",
|
|
117
117
|
"@anthropic-ai/sandbox-runtime": "^0.0.37",
|
|
118
118
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
119
119
|
"@noble/ed25519": "^3.0.0",
|
|
@@ -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.149",
|
|
151
|
+
"very-happy-tools-x64-darwin": "0.2.149",
|
|
152
|
+
"very-happy-tools-arm64-linux": "0.2.149",
|
|
153
|
+
"very-happy-tools-x64-linux": "0.2.149",
|
|
154
|
+
"very-happy-tools-arm64-win32": "0.2.149",
|
|
155
|
+
"very-happy-tools-x64-win32": "0.2.149"
|
|
156
156
|
};
|
|
157
157
|
var devDependencies = {
|
|
158
158
|
"@slopus/happy-wire": "workspace:*",
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { r as registerTeamsTools, P as PREVIEW_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION } from './agentGuidance-
|
|
1
|
+
import { r as registerTeamsTools, P as PREVIEW_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION } from './agentGuidance-oMVJvUl7.mjs';
|
|
2
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
-
import { j as pushClipboardViaDaemon, k as pushFilePreviewViaDaemon, l as setTerminalTitleViaDaemon } from './types-
|
|
6
|
-
import { l as logger, C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, f as CLIPBOARD_MAX_BYTES } from './limits-
|
|
7
|
-
import { h as checkPreviewPath, j as registerAssistantSessionTools } from './index-
|
|
5
|
+
import { j as pushClipboardViaDaemon, k as pushFilePreviewViaDaemon, l as setTerminalTitleViaDaemon } from './types-ipzMqciq.mjs';
|
|
6
|
+
import { l as logger, C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, f as CLIPBOARD_MAX_BYTES } from './limits-BXI1Gzvd.mjs';
|
|
7
|
+
import { h as checkPreviewPath, j as registerAssistantSessionTools } from './index-Dfkyar7S.mjs';
|
|
8
8
|
import 'node:fs/promises';
|
|
9
9
|
import 'node:os';
|
|
10
10
|
import 'node:crypto';
|