very-happy-cli 0.2.135 → 0.2.137
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-C0Bwx6bc.cjs → AcpBackend-Bcmm51Ya.cjs} +2 -2
- package/dist/{AcpBackend-CkDpu1n_.mjs → AcpBackend-POcimRNQ.mjs} +2 -2
- package/dist/{AcpSessionManager-DqvUp-UU.cjs → AcpSessionManager-CjrwSZbh.cjs} +1 -1
- package/dist/{AcpSessionManager-DB_mfFaH.mjs → AcpSessionManager-D54Juu2-.mjs} +1 -1
- package/dist/{agentGuidance-DlZM_YPV.cjs → agentGuidance-D1tKg2UW.cjs} +1 -1
- package/dist/{agentGuidance-7MByWxKj.mjs → agentGuidance-DulugsMk.mjs} +1 -1
- package/dist/codex/happyMcpStdioBridge.cjs +2 -2
- package/dist/codex/happyMcpStdioBridge.mjs +2 -2
- package/dist/{config-DzvbcL_x.mjs → config-C1gQprK_.mjs} +4 -4
- package/dist/{config-BO0ZHyoB.cjs → config-Dr3A4IGp.cjs} +4 -4
- package/dist/{index-DNbKbe23.cjs → index-B0KIJdSt.cjs} +98 -32
- package/dist/{index-C33JB4xB.mjs → index-B11rFE7f.mjs} +7 -7
- package/dist/{index-BEpZjXs4.cjs → index-C3JqT3Ql.cjs} +6 -6
- package/dist/{index-CpEdOGpe.mjs → index-C3agc8KT.mjs} +4 -4
- package/dist/{index-gefLe1Bk.mjs → index-D5MRxCHs.mjs} +94 -28
- package/dist/{index-DHI6Y1xW.cjs → index-hGg5G5uO.cjs} +4 -4
- package/dist/index.cjs +4 -4
- package/dist/index.mjs +4 -4
- package/dist/{installTerminalHooks-gmWKACNb.cjs → installTerminalHooks-Culr259-.cjs} +4 -4
- package/dist/{installTerminalHooks-BWoHGCew.mjs → installTerminalHooks-DfZTXVWO.mjs} +4 -4
- package/dist/lib.cjs +2 -2
- package/dist/lib.mjs +2 -2
- package/dist/{limits-CPTgiQ9A.mjs → limits-CAD4UF8w.mjs} +7 -7
- package/dist/{limits-K17AgMHD.cjs → limits-CJrrAhB4.cjs} +7 -7
- package/dist/{mcp-CK1NCZm0.cjs → mcp-5Jf6V4eb.cjs} +4 -4
- package/dist/{mcp-DhuxpwTB.mjs → mcp-CdnZbYKV.mjs} +4 -4
- package/dist/{runGemini-BVJE7LZl.mjs → runGemini-CwWEorS7.mjs} +6 -6
- package/dist/{runGemini-n0wD2Z9R.cjs → runGemini-GjBPzXEt.cjs} +6 -6
- package/dist/{runOpenClaw-CJaIYpB7.mjs → runOpenClaw-BZHHy9T7.mjs} +5 -5
- package/dist/{runOpenClaw-fYx1XweW.cjs → runOpenClaw-DGe5c571.cjs} +5 -5
- package/dist/{send-fWHOFJV9.mjs → send-BN2PncAH.mjs} +4 -4
- package/dist/{send-WlJ4r3U2.cjs → send-teYpfTtw.cjs} +4 -4
- package/dist/{sessions-5fJxQ2xj.mjs → sessions-TLUfYdLX.mjs} +4 -4
- package/dist/{sessions-Cx_3cvN6.cjs → sessions-qP1YUf5E.cjs} +4 -4
- package/dist/{spawn-CF1ZV-YH.mjs → spawn-D3P8wJ_r.mjs} +4 -4
- package/dist/{spawn-DVJtNwWN.cjs → spawn-GekaZ7h2.cjs} +4 -4
- package/dist/{teams-BbYi0fWG.cjs → teams-BSqAW2S5.cjs} +4 -4
- package/dist/{teams-gzvKrMfn.mjs → teams-WSjEXh4d.mjs} +4 -4
- package/dist/{todo-BAK2DVLV.mjs → todo-BblDgT77.mjs} +3 -3
- package/dist/{todo-DHY20tpD.cjs → todo-DsnXWl77.cjs} +3 -3
- package/dist/{types-BEXGahmj.mjs → types-B8g_V-LQ.mjs} +19 -5
- package/dist/{types-DjAHWb4J.cjs → types-BAhQF6Xp.cjs} +20 -6
- package/package.json +7 -7
|
@@ -1,13 +1,13 @@
|
|
|
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 { j as getProjectPath, g as BUILTIN_TODO_DISCOVERY, p as projectPath, k as initializeSandbox, w as wrapCommand, d as contentLogMetadata, I as InvalidateSync, R as RawJSONLinesSchema, h as delay, l as AsyncLock, S as STREAM_DELTA_MAX_CHARS, M as MAX_CHAT_ATTACHMENT_SOURCE_BYTES, m as commandOnPath, n as deriveLocalCliUpdateSummary, o as AGENT_VERSION_SOURCES, q as isClaudeSessionId, r as getLocalHappyAgentCredentialPath, t as readLocalHappyAgentCredentials, u as parseExactVersion, v as compareExactVersions, x as extractCompleteLines, y as decideBackfill, z as parseTerminalHookPayload, C as tmuxArgs, D as scrubTmuxClientEnv, E as decideMirrorBinding, F as MIRROR_BACKFILL_LINES_DEFAULT, G as mirrorLineKey, H as mirrorLocalId, J as detectCLIAvailability, K as detectResumeSupport, L as summarizeSpawnSessionForLog, N as shellescape, A as ApiClient, O as fetchCliUpdateState, P as resolveCliUpdateCheckInterval, Q as DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS, i as isValidSessionId, T as listVhTerminals, U as isValidTerminalId, V as readVhTerminal, W as sendToVhTerminal, X as ContextUsageSchema, Y as TITLE_PROMPT_PREFIX, Z as BOARD_ANALYZER_PROMPT_PREFIX, f as connectionState, _ as startOfflineReconnection, c as createEnvelope, $ as CodexAppServerClient } from './types-
|
|
5
|
-
import { z as readDaemonState, l as logger, c as configuration, A as clearDaemonState, B as ensurePrivateDirectory, D as hardenPrivateFile, p as packageJson, g as readSettings, E as readCredentials, s as credentialRelayProblem, i as encodeBase64, F as readSettingsOutcome, G as updateSettings, H as encodeBase64Url, m as decodeBase64, I as writeCredentialsLegacy, J as writeCredentialsDataKey, d as readCredentialsForConfiguredRelay, j as encrypt, r as readPersistedSessions, w as writePrivateFileSync, K as decryptWithDataKey, L as decryptLegacy, M as persistSession, k as decrypt, f as ensurePrivateDirectorySync, N as acquireDaemonLock, O as deletePersistedSessions, P as writeDaemonState, Q as writeSettings, R as releaseDaemonLock, C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, e as CLIPBOARD_MAX_BYTES, S as clearCredentials, T as clearMachineId, U as SandboxConfigSchema, V as getLatestDaemonLog } from './limits-
|
|
4
|
+
import { j as getProjectPath, g as BUILTIN_TODO_DISCOVERY, p as projectPath, k as initializeSandbox, w as wrapCommand, d as contentLogMetadata, I as InvalidateSync, R as RawJSONLinesSchema, h as delay, l as AsyncLock, S as STREAM_DELTA_MAX_CHARS, M as MAX_CHAT_ATTACHMENT_SOURCE_BYTES, m as commandOnPath, n as deriveLocalCliUpdateSummary, o as AGENT_VERSION_SOURCES, q as isClaudeSessionId, r as getLocalHappyAgentCredentialPath, t as readLocalHappyAgentCredentials, u as parseExactVersion, v as compareExactVersions, x as extractCompleteLines, y as decideBackfill, z as parseTerminalHookPayload, C as tmuxArgs, D as scrubTmuxClientEnv, E as decideMirrorBinding, F as MIRROR_BACKFILL_LINES_DEFAULT, G as mirrorLineKey, H as mirrorLocalId, J as detectCLIAvailability, K as detectResumeSupport, L as summarizeSpawnSessionForLog, N as shellescape, A as ApiClient, O as fetchCliUpdateState, P as resolveCliUpdateCheckInterval, Q as DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS, i as isValidSessionId, T as listVhTerminals, U as isValidTerminalId, V as readVhTerminal, W as sendToVhTerminal, X as ContextUsageSchema, Y as TITLE_PROMPT_PREFIX, Z as BOARD_ANALYZER_PROMPT_PREFIX, f as connectionState, _ as startOfflineReconnection, c as createEnvelope, $ as CodexAppServerClient } from './types-B8g_V-LQ.mjs';
|
|
5
|
+
import { z as readDaemonState, l as logger, c as configuration, A as clearDaemonState, B as ensurePrivateDirectory, D as hardenPrivateFile, p as packageJson, g as readSettings, E as readCredentials, s as credentialRelayProblem, i as encodeBase64, F as readSettingsOutcome, G as updateSettings, H as encodeBase64Url, m as decodeBase64, I as writeCredentialsLegacy, J as writeCredentialsDataKey, d as readCredentialsForConfiguredRelay, j as encrypt, r as readPersistedSessions, w as writePrivateFileSync, K as decryptWithDataKey, L as decryptLegacy, M as persistSession, k as decrypt, f as ensurePrivateDirectorySync, N as acquireDaemonLock, O as deletePersistedSessions, P as writeDaemonState, Q as writeSettings, R as releaseDaemonLock, C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, e as CLIPBOARD_MAX_BYTES, S as clearCredentials, T as clearMachineId, U as SandboxConfigSchema, V as getLatestDaemonLog } from './limits-CAD4UF8w.mjs';
|
|
6
6
|
import spawn$1, { spawn } from 'cross-spawn';
|
|
7
7
|
import path, { join, resolve, basename, isAbsolute, dirname, sep, 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
|
-
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-
|
|
10
|
+
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-DulugsMk.mjs';
|
|
11
11
|
import { readFile, writeFile, rename, unlink, mkdir, symlink, rm, readlink, lstat, stat, open as open$1, appendFile } from 'node:fs/promises';
|
|
12
12
|
import fs, { watch, access } from 'fs/promises';
|
|
13
13
|
import { useStdout, useInput, Box, Text, render } from 'ink';
|
|
@@ -320,6 +320,20 @@ class Session {
|
|
|
320
320
|
sessionId;
|
|
321
321
|
mode = "local";
|
|
322
322
|
thinking = false;
|
|
323
|
+
/**
|
|
324
|
+
* Window after a user-initiated abort during which stray promise rejections
|
|
325
|
+
* from tearing down the SDK query (MCP transports, in-flight tool calls,
|
|
326
|
+
* the aborted streaming generator) are benign teardown noise — NOT a real
|
|
327
|
+
* crash. The process-level unhandledRejection/uncaughtException handlers
|
|
328
|
+
* must not treat them as fatal and force-archive the session (the reported
|
|
329
|
+
* "点终止就 archive" bug). Self-expiring so a genuine later crash still
|
|
330
|
+
* archives normally.
|
|
331
|
+
*/
|
|
332
|
+
abortingUntil = 0;
|
|
333
|
+
markAborting = (windowMs = 8e3) => {
|
|
334
|
+
this.abortingUntil = Date.now() + windowMs;
|
|
335
|
+
};
|
|
336
|
+
isAborting = () => Date.now() < this.abortingUntil;
|
|
323
337
|
/**
|
|
324
338
|
* Account-encrypted notification producer. Set lazily once we have a
|
|
325
339
|
* server session id (notifications are addressed per session). May be
|
|
@@ -3903,6 +3917,18 @@ function createTurnSteeringController() {
|
|
|
3903
3917
|
throw error;
|
|
3904
3918
|
}
|
|
3905
3919
|
},
|
|
3920
|
+
/**
|
|
3921
|
+
* Interrupt the current turn WITHOUT injecting a follow-up message —
|
|
3922
|
+
* used by the stop button. Like steer it keeps the streaming query
|
|
3923
|
+
* alive (same process, same claudeSessionId); unlike steer it does not
|
|
3924
|
+
* set the steering flag, so the turn simply ends and the query waits
|
|
3925
|
+
* for the next user message. Returns false when no query is attached.
|
|
3926
|
+
*/
|
|
3927
|
+
async interruptTurn() {
|
|
3928
|
+
if (!interrupt) return false;
|
|
3929
|
+
await interrupt();
|
|
3930
|
+
return true;
|
|
3931
|
+
},
|
|
3906
3932
|
consumeReady() {
|
|
3907
3933
|
if (!steering) return false;
|
|
3908
3934
|
steering = false;
|
|
@@ -4011,6 +4037,7 @@ class LaunchModeGate {
|
|
|
4011
4037
|
}
|
|
4012
4038
|
}
|
|
4013
4039
|
|
|
4040
|
+
const ABORT_INTERRUPT_GRACE_MS = 4e3;
|
|
4014
4041
|
async function claudeRemoteLauncher(session, onPermissionModeChange, onEffectivePermissionMode, onPromptFinalized) {
|
|
4015
4042
|
logger.debug("[claudeRemoteLauncher] Starting remote launcher");
|
|
4016
4043
|
const hasTTY = process.stdout.isTTY && process.stdin.isTTY;
|
|
@@ -4059,9 +4086,29 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
|
|
|
4059
4086
|
}
|
|
4060
4087
|
async function doAbort() {
|
|
4061
4088
|
logger.debug("[remote]: doAbort");
|
|
4089
|
+
session.markAborting();
|
|
4062
4090
|
session.onAbort();
|
|
4091
|
+
if (session.thinking) {
|
|
4092
|
+
const interrupted = await turnSteering.interruptTurn().catch((e) => {
|
|
4093
|
+
logger.debug("[remote]: interruptTurn threw, falling back to hard abort", e);
|
|
4094
|
+
return false;
|
|
4095
|
+
});
|
|
4096
|
+
if (interrupted && await waitForThinkingToStop(ABORT_INTERRUPT_GRACE_MS)) {
|
|
4097
|
+
logger.debug("[remote]: interrupt stopped the turn gracefully; query kept alive");
|
|
4098
|
+
return;
|
|
4099
|
+
}
|
|
4100
|
+
logger.debug("[remote]: interrupt did not stop the turn in time; escalating to hard abort");
|
|
4101
|
+
}
|
|
4063
4102
|
await abort();
|
|
4064
4103
|
}
|
|
4104
|
+
async function waitForThinkingToStop(graceMs) {
|
|
4105
|
+
const deadline = Date.now() + graceMs;
|
|
4106
|
+
while (Date.now() < deadline) {
|
|
4107
|
+
if (!session.thinking) return true;
|
|
4108
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
4109
|
+
}
|
|
4110
|
+
return !session.thinking;
|
|
4111
|
+
}
|
|
4065
4112
|
async function doSwitch() {
|
|
4066
4113
|
logger.debug("[remote]: doSwitch");
|
|
4067
4114
|
if (!exitReason) {
|
|
@@ -7477,10 +7524,13 @@ function buildResumeLaunch(session, options = {}) {
|
|
|
7477
7524
|
const { metadata } = session;
|
|
7478
7525
|
const flavor = resolveFlavor(metadata);
|
|
7479
7526
|
if (flavor === "codex") {
|
|
7480
|
-
|
|
7481
|
-
|
|
7527
|
+
const args = ["codex"];
|
|
7528
|
+
if (options.freshConversation) ; else {
|
|
7529
|
+
if (!metadata.codexThreadId) {
|
|
7530
|
+
throw new Error(`Happy session ${session.id} is missing its Codex thread ID.`);
|
|
7531
|
+
}
|
|
7532
|
+
args.push("--resume", metadata.codexThreadId);
|
|
7482
7533
|
}
|
|
7483
|
-
const args = ["codex", "--resume", metadata.codexThreadId];
|
|
7484
7534
|
if (options.startedBy) {
|
|
7485
7535
|
args.push("--started-by", options.startedBy);
|
|
7486
7536
|
}
|
|
@@ -7490,9 +7540,6 @@ function buildResumeLaunch(session, options = {}) {
|
|
|
7490
7540
|
};
|
|
7491
7541
|
}
|
|
7492
7542
|
if (flavor === "claude") {
|
|
7493
|
-
if (!metadata.claudeSessionId) {
|
|
7494
|
-
throw new Error(`Happy session ${session.id} is missing its Claude session ID.`);
|
|
7495
|
-
}
|
|
7496
7543
|
const args = ["claude"];
|
|
7497
7544
|
if (options.claudeStartingMode) {
|
|
7498
7545
|
args.push("--happy-starting-mode", options.claudeStartingMode);
|
|
@@ -7500,7 +7547,12 @@ function buildResumeLaunch(session, options = {}) {
|
|
|
7500
7547
|
if (options.startedBy) {
|
|
7501
7548
|
args.push("--started-by", options.startedBy);
|
|
7502
7549
|
}
|
|
7503
|
-
|
|
7550
|
+
if (options.freshConversation) ; else {
|
|
7551
|
+
if (!metadata.claudeSessionId) {
|
|
7552
|
+
throw new Error(`Happy session ${session.id} is missing its Claude session ID.`);
|
|
7553
|
+
}
|
|
7554
|
+
args.push("--resume", metadata.claudeSessionId);
|
|
7555
|
+
}
|
|
7504
7556
|
return {
|
|
7505
7557
|
cwd: metadata.path,
|
|
7506
7558
|
args
|
|
@@ -10799,12 +10851,18 @@ async function startDaemon() {
|
|
|
10799
10851
|
cwdExists: (p) => existsSync$1(p),
|
|
10800
10852
|
conversationExists: (cwd, claudeSessionId) => existsSync$1(join$1(getProjectPath(cwd), `${claudeSessionId}.jsonl`))
|
|
10801
10853
|
});
|
|
10854
|
+
let freshConversation = false;
|
|
10802
10855
|
if (!precheck.ok) {
|
|
10803
|
-
|
|
10856
|
+
if (precheck.reason === "conversation-missing") {
|
|
10857
|
+
logger.debug(`[DAEMON RUN] resume: transcript for ${happySessionId} is gone (${precheck.detail}); starting a fresh conversation in ${metadata.path}`);
|
|
10858
|
+
freshConversation = true;
|
|
10859
|
+
} else {
|
|
10860
|
+
return { type: "error", errorMessage: `resume-precheck:${precheck.reason}: ${precheck.detail}` };
|
|
10861
|
+
}
|
|
10804
10862
|
}
|
|
10805
10863
|
const launch = buildResumeLaunch(
|
|
10806
10864
|
{ id: happySessionId, active: true, metadata },
|
|
10807
|
-
{ startedBy: "daemon", claudeStartingMode: "remote" }
|
|
10865
|
+
{ startedBy: "daemon", claudeStartingMode: "remote", freshConversation }
|
|
10808
10866
|
);
|
|
10809
10867
|
const model = sanitizeResumeModel(options?.model);
|
|
10810
10868
|
if (model) launch.args.push("--model", model);
|
|
@@ -12418,7 +12476,7 @@ function registerSideQuestionHandler(rpc, deps) {
|
|
|
12418
12476
|
const retainMs = deps.retainMs ?? SIDE_QUESTION_RETAIN_MS;
|
|
12419
12477
|
const maxRunMs = deps.maxRunMs ?? SIDE_QUESTION_MAX_RUN_MS;
|
|
12420
12478
|
const run = deps.run ?? (async (input) => {
|
|
12421
|
-
const { query } = await import('./index-
|
|
12479
|
+
const { query } = await import('./index-C3agc8KT.mjs');
|
|
12422
12480
|
return runSideQuestion(query, input);
|
|
12423
12481
|
});
|
|
12424
12482
|
const slots = /* @__PURE__ */ new Map();
|
|
@@ -13560,10 +13618,18 @@ async function runClaude(credentials, options = {}) {
|
|
|
13560
13618
|
});
|
|
13561
13619
|
process.on("uncaughtException", (error) => {
|
|
13562
13620
|
logger.debug("[START] Uncaught exception:", error);
|
|
13621
|
+
if (currentSession?.isAborting()) {
|
|
13622
|
+
logger.debug("[START] Uncaught exception during abort teardown \u2014 swallowing, not archiving");
|
|
13623
|
+
return;
|
|
13624
|
+
}
|
|
13563
13625
|
void cleanup({ archive: true });
|
|
13564
13626
|
});
|
|
13565
13627
|
process.on("unhandledRejection", (reason) => {
|
|
13566
13628
|
logger.debug("[START] Unhandled rejection:", reason);
|
|
13629
|
+
if (currentSession?.isAborting()) {
|
|
13630
|
+
logger.debug("[START] Unhandled rejection during abort teardown \u2014 swallowing, not archiving");
|
|
13631
|
+
return;
|
|
13632
|
+
}
|
|
13567
13633
|
void cleanup({ archive: true });
|
|
13568
13634
|
});
|
|
13569
13635
|
registerKillSessionHandler(session.rpcHandlerManager, () => cleanup({ archive: true }), session);
|
|
@@ -17499,7 +17565,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17499
17565
|
process.exit(0);
|
|
17500
17566
|
} else if (subcommand === "install-terminal-hooks") {
|
|
17501
17567
|
try {
|
|
17502
|
-
const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await import('./installTerminalHooks-
|
|
17568
|
+
const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await import('./installTerminalHooks-DfZTXVWO.mjs');
|
|
17503
17569
|
const command = parseTerminalHooksArgs(args.slice(1));
|
|
17504
17570
|
if (command.action === "help") {
|
|
17505
17571
|
console.log(TERMINAL_HOOKS_HELP);
|
|
@@ -17516,7 +17582,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17516
17582
|
}
|
|
17517
17583
|
} else if (subcommand === "spawn") {
|
|
17518
17584
|
try {
|
|
17519
|
-
const { handleSpawnCommand } = await import('./spawn-
|
|
17585
|
+
const { handleSpawnCommand } = await import('./spawn-D3P8wJ_r.mjs');
|
|
17520
17586
|
await handleSpawnCommand(args.slice(1));
|
|
17521
17587
|
} catch (error) {
|
|
17522
17588
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -17528,7 +17594,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17528
17594
|
return;
|
|
17529
17595
|
} else if (subcommand === "sessions") {
|
|
17530
17596
|
try {
|
|
17531
|
-
const { handleSessionsCommand } = await import('./sessions-
|
|
17597
|
+
const { handleSessionsCommand } = await import('./sessions-TLUfYdLX.mjs');
|
|
17532
17598
|
await handleSessionsCommand(args.slice(1));
|
|
17533
17599
|
} catch (error) {
|
|
17534
17600
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -17540,7 +17606,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17540
17606
|
return;
|
|
17541
17607
|
} else if (subcommand === "send") {
|
|
17542
17608
|
try {
|
|
17543
|
-
const { handleSendCommand } = await import('./send-
|
|
17609
|
+
const { handleSendCommand } = await import('./send-BN2PncAH.mjs');
|
|
17544
17610
|
await handleSendCommand(args.slice(1));
|
|
17545
17611
|
} catch (error) {
|
|
17546
17612
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -17646,9 +17712,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17646
17712
|
if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
|
|
17647
17713
|
const projectId = args[3];
|
|
17648
17714
|
try {
|
|
17649
|
-
const { saveGoogleCloudProjectToConfig } = await import('./config-
|
|
17650
|
-
const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./limits-
|
|
17651
|
-
const { ApiClient: ApiClient2 } = await import('./types-
|
|
17715
|
+
const { saveGoogleCloudProjectToConfig } = await import('./config-C1gQprK_.mjs');
|
|
17716
|
+
const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./limits-CAD4UF8w.mjs').then(function (n) { return n.W; });
|
|
17717
|
+
const { ApiClient: ApiClient2 } = await import('./types-B8g_V-LQ.mjs').then(function (n) { return n.a0; });
|
|
17652
17718
|
let userEmail = void 0;
|
|
17653
17719
|
try {
|
|
17654
17720
|
const credentials = await readCredentialsForConfiguredRelay2();
|
|
@@ -17679,7 +17745,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17679
17745
|
}
|
|
17680
17746
|
if (geminiSubcommand === "project" && args[2] === "get") {
|
|
17681
17747
|
try {
|
|
17682
|
-
const { readGeminiLocalConfig } = await import('./config-
|
|
17748
|
+
const { readGeminiLocalConfig } = await import('./config-C1gQprK_.mjs');
|
|
17683
17749
|
const config = readGeminiLocalConfig();
|
|
17684
17750
|
if (config.googleCloudProject) {
|
|
17685
17751
|
console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
|
|
@@ -17719,7 +17785,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17719
17785
|
process.exit(0);
|
|
17720
17786
|
}
|
|
17721
17787
|
try {
|
|
17722
|
-
const { runGemini } = await import('./runGemini-
|
|
17788
|
+
const { runGemini } = await import('./runGemini-CwWEorS7.mjs');
|
|
17723
17789
|
let startedBy = void 0;
|
|
17724
17790
|
for (let i = 1; i < args.length; i++) {
|
|
17725
17791
|
if (args[i] === "--started-by") {
|
|
@@ -17749,7 +17815,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17749
17815
|
}
|
|
17750
17816
|
};
|
|
17751
17817
|
try {
|
|
17752
|
-
const { runAcp, resolveAcpAgentConfig } = await import('./index-
|
|
17818
|
+
const { runAcp, resolveAcpAgentConfig } = await import('./index-B11rFE7f.mjs');
|
|
17753
17819
|
const parsed = parsePiRunnerArgs(args.slice(1));
|
|
17754
17820
|
const resolved = resolveAcpAgentConfig(["pi", ...parsed.passthrough]);
|
|
17755
17821
|
const { credentials } = await authAndSetupMachineIfNeeded();
|
|
@@ -17777,7 +17843,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17777
17843
|
return;
|
|
17778
17844
|
} else if (subcommand === "acp") {
|
|
17779
17845
|
try {
|
|
17780
|
-
const { runAcp, resolveAcpAgentConfig } = await import('./index-
|
|
17846
|
+
const { runAcp, resolveAcpAgentConfig } = await import('./index-B11rFE7f.mjs');
|
|
17781
17847
|
let startedBy = void 0;
|
|
17782
17848
|
let verbose = false;
|
|
17783
17849
|
const acpArgs = [];
|
|
@@ -17817,7 +17883,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17817
17883
|
return;
|
|
17818
17884
|
} else if (subcommand === "openclaw") {
|
|
17819
17885
|
try {
|
|
17820
|
-
const { runOpenClaw } = await import('./runOpenClaw-
|
|
17886
|
+
const { runOpenClaw } = await import('./runOpenClaw-BZHHy9T7.mjs');
|
|
17821
17887
|
let startedBy = void 0;
|
|
17822
17888
|
let verbose = false;
|
|
17823
17889
|
let gatewayUrl;
|
|
@@ -17868,7 +17934,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17868
17934
|
return;
|
|
17869
17935
|
} else if (subcommand === "todo") {
|
|
17870
17936
|
try {
|
|
17871
|
-
const { handleTodoCommand } = await import('./todo-
|
|
17937
|
+
const { handleTodoCommand } = await import('./todo-BblDgT77.mjs');
|
|
17872
17938
|
await handleTodoCommand(args.slice(1));
|
|
17873
17939
|
} catch (error) {
|
|
17874
17940
|
console.error(JSON.stringify({ error: error instanceof Error ? error.message : "Todo command failed" }));
|
|
@@ -17877,7 +17943,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17877
17943
|
return;
|
|
17878
17944
|
} else if (subcommand === "teams") {
|
|
17879
17945
|
try {
|
|
17880
|
-
const { handleTeamsCommand } = await import('./teams-
|
|
17946
|
+
const { handleTeamsCommand } = await import('./teams-WSjEXh4d.mjs');
|
|
17881
17947
|
await handleTeamsCommand(args.slice(1));
|
|
17882
17948
|
} catch (error) {
|
|
17883
17949
|
console.error(error instanceof Error ? error.message : "Teams command failed");
|
|
@@ -17886,7 +17952,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
17886
17952
|
return;
|
|
17887
17953
|
} else if (subcommand === "mcp" && args.length === 1) {
|
|
17888
17954
|
try {
|
|
17889
|
-
const { handleMcpCommand } = await import('./mcp-
|
|
17955
|
+
const { handleMcpCommand } = await import('./mcp-CdnZbYKV.mjs');
|
|
17890
17956
|
await handleMcpCommand();
|
|
17891
17957
|
} catch (error) {
|
|
17892
17958
|
process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-B0KIJdSt.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-BAhQF6Xp.cjs');
|
|
9
9
|
require('axios');
|
|
10
|
-
require('./limits-
|
|
10
|
+
require('./limits-CJrrAhB4.cjs');
|
|
11
11
|
require('node:fs/promises');
|
|
12
12
|
require('node:fs');
|
|
13
13
|
require('node:path');
|
|
@@ -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-D1tKg2UW.cjs');
|
|
35
35
|
require('ink');
|
|
36
36
|
require('react');
|
|
37
37
|
require('ps-list');
|
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-B0KIJdSt.cjs');
|
|
5
|
+
require('./limits-CJrrAhB4.cjs');
|
|
6
6
|
require('zod');
|
|
7
|
-
require('./types-
|
|
7
|
+
require('./types-BAhQF6Xp.cjs');
|
|
8
8
|
require('node:child_process');
|
|
9
9
|
require('node:os');
|
|
10
10
|
require('node:crypto');
|
|
@@ -12,7 +12,7 @@ require('cross-spawn');
|
|
|
12
12
|
require('node:path');
|
|
13
13
|
require('node:readline');
|
|
14
14
|
require('node:fs');
|
|
15
|
-
require('./agentGuidance-
|
|
15
|
+
require('./agentGuidance-D1tKg2UW.cjs');
|
|
16
16
|
require('node:fs/promises');
|
|
17
17
|
require('fs/promises');
|
|
18
18
|
require('ink');
|
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import 'chalk';
|
|
2
|
-
import './index-
|
|
3
|
-
import './limits-
|
|
2
|
+
import './index-D5MRxCHs.mjs';
|
|
3
|
+
import './limits-CAD4UF8w.mjs';
|
|
4
4
|
import 'zod';
|
|
5
|
-
import './types-
|
|
5
|
+
import './types-B8g_V-LQ.mjs';
|
|
6
6
|
import 'node:child_process';
|
|
7
7
|
import 'node:os';
|
|
8
8
|
import 'node:crypto';
|
|
@@ -10,7 +10,7 @@ import 'cross-spawn';
|
|
|
10
10
|
import 'node:path';
|
|
11
11
|
import 'node:readline';
|
|
12
12
|
import 'node:fs';
|
|
13
|
-
import './agentGuidance-
|
|
13
|
+
import './agentGuidance-DulugsMk.mjs';
|
|
14
14
|
import 'node:fs/promises';
|
|
15
15
|
import 'fs/promises';
|
|
16
16
|
import 'ink';
|
|
@@ -5,10 +5,10 @@ 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 api = require('./types-
|
|
9
|
-
var index = require('./index-
|
|
8
|
+
var api = require('./types-BAhQF6Xp.cjs');
|
|
9
|
+
var index = require('./index-B0KIJdSt.cjs');
|
|
10
10
|
require('axios');
|
|
11
|
-
require('./limits-
|
|
11
|
+
require('./limits-CJrrAhB4.cjs');
|
|
12
12
|
require('node:fs/promises');
|
|
13
13
|
require('zod');
|
|
14
14
|
require('node:crypto');
|
|
@@ -30,7 +30,7 @@ require('fs');
|
|
|
30
30
|
require('node:readline');
|
|
31
31
|
require('@anthropic-ai/sandbox-runtime');
|
|
32
32
|
require('expo-server-sdk');
|
|
33
|
-
require('./agentGuidance-
|
|
33
|
+
require('./agentGuidance-D1tKg2UW.cjs');
|
|
34
34
|
require('ink');
|
|
35
35
|
require('react');
|
|
36
36
|
require('@anthropic-ai/claude-agent-sdk');
|
|
@@ -3,10 +3,10 @@ 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-B8g_V-LQ.mjs';
|
|
7
|
+
import { t as tmuxSupportsSessionEnv } from './index-D5MRxCHs.mjs';
|
|
8
8
|
import 'axios';
|
|
9
|
-
import './limits-
|
|
9
|
+
import './limits-CAD4UF8w.mjs';
|
|
10
10
|
import 'node:fs/promises';
|
|
11
11
|
import 'zod';
|
|
12
12
|
import 'node:crypto';
|
|
@@ -28,7 +28,7 @@ import 'fs';
|
|
|
28
28
|
import 'node:readline';
|
|
29
29
|
import '@anthropic-ai/sandbox-runtime';
|
|
30
30
|
import 'expo-server-sdk';
|
|
31
|
-
import './agentGuidance-
|
|
31
|
+
import './agentGuidance-DulugsMk.mjs';
|
|
32
32
|
import 'ink';
|
|
33
33
|
import 'react';
|
|
34
34
|
import '@anthropic-ai/claude-agent-sdk';
|
package/dist/lib.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var api = require('./types-
|
|
4
|
-
var persistence = require('./limits-
|
|
3
|
+
var api = require('./types-BAhQF6Xp.cjs');
|
|
4
|
+
var persistence = require('./limits-CJrrAhB4.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-B8g_V-LQ.mjs';
|
|
2
|
+
export { c as configuration, l as logger } from './limits-CAD4UF8w.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.137";
|
|
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 = [
|
|
@@ -122,12 +122,12 @@ var dependencies = {
|
|
|
122
122
|
zod: "^4.0.0"
|
|
123
123
|
};
|
|
124
124
|
var optionalDependencies = {
|
|
125
|
-
"very-happy-tools-arm64-darwin": "0.2.
|
|
126
|
-
"very-happy-tools-x64-darwin": "0.2.
|
|
127
|
-
"very-happy-tools-arm64-linux": "0.2.
|
|
128
|
-
"very-happy-tools-x64-linux": "0.2.
|
|
129
|
-
"very-happy-tools-arm64-win32": "0.2.
|
|
130
|
-
"very-happy-tools-x64-win32": "0.2.
|
|
125
|
+
"very-happy-tools-arm64-darwin": "0.2.137",
|
|
126
|
+
"very-happy-tools-x64-darwin": "0.2.137",
|
|
127
|
+
"very-happy-tools-arm64-linux": "0.2.137",
|
|
128
|
+
"very-happy-tools-x64-linux": "0.2.137",
|
|
129
|
+
"very-happy-tools-arm64-win32": "0.2.137",
|
|
130
|
+
"very-happy-tools-x64-win32": "0.2.137"
|
|
131
131
|
};
|
|
132
132
|
var devDependencies = {
|
|
133
133
|
"@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.137";
|
|
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 = [
|
|
@@ -143,12 +143,12 @@ var dependencies = {
|
|
|
143
143
|
zod: "^4.0.0"
|
|
144
144
|
};
|
|
145
145
|
var optionalDependencies = {
|
|
146
|
-
"very-happy-tools-arm64-darwin": "0.2.
|
|
147
|
-
"very-happy-tools-x64-darwin": "0.2.
|
|
148
|
-
"very-happy-tools-arm64-linux": "0.2.
|
|
149
|
-
"very-happy-tools-x64-linux": "0.2.
|
|
150
|
-
"very-happy-tools-arm64-win32": "0.2.
|
|
151
|
-
"very-happy-tools-x64-win32": "0.2.
|
|
146
|
+
"very-happy-tools-arm64-darwin": "0.2.137",
|
|
147
|
+
"very-happy-tools-x64-darwin": "0.2.137",
|
|
148
|
+
"very-happy-tools-arm64-linux": "0.2.137",
|
|
149
|
+
"very-happy-tools-x64-linux": "0.2.137",
|
|
150
|
+
"very-happy-tools-arm64-win32": "0.2.137",
|
|
151
|
+
"very-happy-tools-x64-win32": "0.2.137"
|
|
152
152
|
};
|
|
153
153
|
var devDependencies = {
|
|
154
154
|
"@slopus/happy-wire": "workspace:*",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var agentGuidance = require('./agentGuidance-
|
|
3
|
+
var agentGuidance = require('./agentGuidance-D1tKg2UW.cjs');
|
|
4
4
|
var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
5
5
|
var stdio_js = require('@modelcontextprotocol/sdk/server/stdio.js');
|
|
6
6
|
var z = require('zod');
|
|
7
|
-
var index = require('./index-
|
|
8
|
-
var persistence = require('./limits-
|
|
7
|
+
var index = require('./index-B0KIJdSt.cjs');
|
|
8
|
+
var persistence = require('./limits-CJrrAhB4.cjs');
|
|
9
9
|
require('node:fs/promises');
|
|
10
10
|
require('node:os');
|
|
11
11
|
require('node:crypto');
|
|
@@ -13,7 +13,7 @@ require('axios');
|
|
|
13
13
|
require('tweetnacl');
|
|
14
14
|
require('socket.io-client');
|
|
15
15
|
require('node:child_process');
|
|
16
|
-
require('./types-
|
|
16
|
+
require('./types-BAhQF6Xp.cjs');
|
|
17
17
|
require('node:fs');
|
|
18
18
|
require('node:path');
|
|
19
19
|
require('chalk');
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { r as registerTeamsTools } from './agentGuidance-
|
|
1
|
+
import { r as registerTeamsTools } from './agentGuidance-DulugsMk.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 { p as pushClipboardViaDaemon, k as setTerminalTitleViaDaemon, m as registerAssistantSessionTools } from './index-
|
|
6
|
-
import { l as logger, C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, e as CLIPBOARD_MAX_BYTES } from './limits-
|
|
5
|
+
import { p as pushClipboardViaDaemon, k as setTerminalTitleViaDaemon, m as registerAssistantSessionTools } from './index-D5MRxCHs.mjs';
|
|
6
|
+
import { l as logger, C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, e as CLIPBOARD_MAX_BYTES } from './limits-CAD4UF8w.mjs';
|
|
7
7
|
import 'node:fs/promises';
|
|
8
8
|
import 'node:os';
|
|
9
9
|
import 'node:crypto';
|
|
@@ -11,7 +11,7 @@ import 'axios';
|
|
|
11
11
|
import 'tweetnacl';
|
|
12
12
|
import 'socket.io-client';
|
|
13
13
|
import 'node:child_process';
|
|
14
|
-
import './types-
|
|
14
|
+
import './types-B8g_V-LQ.mjs';
|
|
15
15
|
import 'node:fs';
|
|
16
16
|
import 'node:path';
|
|
17
17
|
import 'chalk';
|
|
@@ -2,11 +2,11 @@ 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 { f as connectionState, A as ApiClient, e as errorLogMetadata, p as projectPath, d as contentLogMetadata } from './types-
|
|
6
|
-
import { l as logger, g as readSettings, i as encodeBase64 } from './limits-
|
|
7
|
-
import { Q as GEMINI_API_KEY_ENV, R as GOOGLE_API_KEY_ENV, G as GEMINI_MODEL_ENV, K as BasePermissionHandler, U as BaseReasoningProcessor, n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, x as MessageQueue2, B as hashObject, V as MessageBuffer, W as CHANGE_TITLE_INSTRUCTION, y as registerKillSessionHandler, C as startHappyServer } from './index-
|
|
8
|
-
import { A as AcpBackend } from './AcpBackend-
|
|
9
|
-
import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-
|
|
5
|
+
import { f as connectionState, A as ApiClient, e as errorLogMetadata, p as projectPath, d as contentLogMetadata } from './types-B8g_V-LQ.mjs';
|
|
6
|
+
import { l as logger, g as readSettings, i as encodeBase64 } from './limits-CAD4UF8w.mjs';
|
|
7
|
+
import { Q as GEMINI_API_KEY_ENV, R as GOOGLE_API_KEY_ENV, G as GEMINI_MODEL_ENV, K as BasePermissionHandler, U as BaseReasoningProcessor, n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, x as MessageQueue2, B as hashObject, V as MessageBuffer, W as CHANGE_TITLE_INSTRUCTION, y as registerKillSessionHandler, C as startHappyServer } from './index-D5MRxCHs.mjs';
|
|
8
|
+
import { A as AcpBackend } from './AcpBackend-POcimRNQ.mjs';
|
|
9
|
+
import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-C1gQprK_.mjs';
|
|
10
10
|
import 'axios';
|
|
11
11
|
import 'node:events';
|
|
12
12
|
import 'socket.io-client';
|
|
@@ -32,7 +32,7 @@ import '@anthropic-ai/sandbox-runtime';
|
|
|
32
32
|
import 'expo-server-sdk';
|
|
33
33
|
import 'chalk';
|
|
34
34
|
import 'node:util';
|
|
35
|
-
import './agentGuidance-
|
|
35
|
+
import './agentGuidance-DulugsMk.mjs';
|
|
36
36
|
import '@anthropic-ai/claude-agent-sdk';
|
|
37
37
|
import 'ps-list';
|
|
38
38
|
import 'tmp';
|
|
@@ -4,11 +4,11 @@ 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 api = require('./types-
|
|
8
|
-
var persistence = require('./limits-
|
|
9
|
-
var index = require('./index-
|
|
10
|
-
var AcpBackend = require('./AcpBackend-
|
|
11
|
-
var config = require('./config-
|
|
7
|
+
var api = require('./types-BAhQF6Xp.cjs');
|
|
8
|
+
var persistence = require('./limits-CJrrAhB4.cjs');
|
|
9
|
+
var index = require('./index-B0KIJdSt.cjs');
|
|
10
|
+
var AcpBackend = require('./AcpBackend-Bcmm51Ya.cjs');
|
|
11
|
+
var config = require('./config-Dr3A4IGp.cjs');
|
|
12
12
|
require('axios');
|
|
13
13
|
require('node:events');
|
|
14
14
|
require('socket.io-client');
|
|
@@ -34,7 +34,7 @@ require('@anthropic-ai/sandbox-runtime');
|
|
|
34
34
|
require('expo-server-sdk');
|
|
35
35
|
require('chalk');
|
|
36
36
|
require('node:util');
|
|
37
|
-
require('./agentGuidance-
|
|
37
|
+
require('./agentGuidance-D1tKg2UW.cjs');
|
|
38
38
|
require('@anthropic-ai/claude-agent-sdk');
|
|
39
39
|
require('ps-list');
|
|
40
40
|
require('tmp');
|
|
@@ -3,10 +3,10 @@ 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 { e as errorLogMetadata, d as contentLogMetadata, f as connectionState, A as ApiClient } from './types-
|
|
7
|
-
import { A as AcpSessionManager } from './AcpSessionManager-
|
|
8
|
-
import { f as ensurePrivateDirectorySync, h as hardenPrivateFileSync, w as writePrivateFileSync, g as readSettings, i as encodeBase64, l as logger, c as configuration } from './limits-
|
|
9
|
-
import { n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, x as MessageQueue2, y as registerKillSessionHandler } from './index-
|
|
6
|
+
import { e as errorLogMetadata, d as contentLogMetadata, f as connectionState, A as ApiClient } from './types-B8g_V-LQ.mjs';
|
|
7
|
+
import { A as AcpSessionManager } from './AcpSessionManager-D54Juu2-.mjs';
|
|
8
|
+
import { f as ensurePrivateDirectorySync, h as hardenPrivateFileSync, w as writePrivateFileSync, g as readSettings, i as encodeBase64, l as logger, c as configuration } from './limits-CAD4UF8w.mjs';
|
|
9
|
+
import { n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, x as MessageQueue2, y as registerKillSessionHandler } from './index-D5MRxCHs.mjs';
|
|
10
10
|
import WebSocket from 'ws';
|
|
11
11
|
import * as ed from '@noble/ed25519';
|
|
12
12
|
import { sha512 } from '@noble/hashes/sha2.js';
|
|
@@ -32,7 +32,7 @@ import '@anthropic-ai/sandbox-runtime';
|
|
|
32
32
|
import 'expo-server-sdk';
|
|
33
33
|
import 'chalk';
|
|
34
34
|
import 'node:util';
|
|
35
|
-
import './agentGuidance-
|
|
35
|
+
import './agentGuidance-DulugsMk.mjs';
|
|
36
36
|
import 'ink';
|
|
37
37
|
import 'react';
|
|
38
38
|
import '@anthropic-ai/claude-agent-sdk';
|