very-happy-cli 0.2.131 → 0.2.133

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/{AcpBackend-DSRZM4lo.mjs → AcpBackend-BQm7dNza.mjs} +2 -2
  2. package/dist/{AcpBackend-Dv_EKDIQ.cjs → AcpBackend-DgG8o4jd.cjs} +2 -2
  3. package/dist/{AcpSessionManager-DtXOAeQ0.mjs → AcpSessionManager-C7unPEZO.mjs} +1 -1
  4. package/dist/{AcpSessionManager-r8SLweP4.cjs → AcpSessionManager-DDFEmhQp.cjs} +1 -1
  5. package/dist/{agentGuidance-B4bH8Nuz.cjs → agentGuidance-BItqIZTf.cjs} +1 -1
  6. package/dist/{agentGuidance-CeuhVA2K.mjs → agentGuidance-BaplwDcV.mjs} +1 -1
  7. package/dist/codex/happyMcpStdioBridge.cjs +2 -2
  8. package/dist/codex/happyMcpStdioBridge.mjs +2 -2
  9. package/dist/{config-Ur8QEJ0U.mjs → config-BZ8xEnOv.mjs} +4 -4
  10. package/dist/{config-onxMcdX3.cjs → config-uLywzv5t.cjs} +4 -4
  11. package/dist/{index-B5Vv72dN.cjs → index-6Xm0CgN_.cjs} +73 -34
  12. package/dist/{index-BjctcFpG.cjs → index-CdH3ecC5.cjs} +4 -4
  13. package/dist/{index-CsfUI8Bw.mjs → index-ClCeQ1FW.mjs} +7 -7
  14. package/dist/{index-BXB-84P_.mjs → index-D8i2EViA.mjs} +4 -4
  15. package/dist/{index-B1hbB5R7.cjs → index-Daga0ztv.cjs} +6 -6
  16. package/dist/{index-BPYVCjjs.mjs → index-EsR8ayIg.mjs} +69 -30
  17. package/dist/index.cjs +4 -4
  18. package/dist/index.mjs +4 -4
  19. package/dist/{installTerminalHooks-IaEGKZDR.cjs → installTerminalHooks-CKG0MYVK.cjs} +4 -4
  20. package/dist/{installTerminalHooks-DLwx6m7I.mjs → installTerminalHooks-NH4kiB2E.mjs} +4 -4
  21. package/dist/lib.cjs +2 -2
  22. package/dist/lib.d.cts +9 -0
  23. package/dist/lib.d.mts +9 -0
  24. package/dist/lib.mjs +2 -2
  25. package/dist/{limits-BusZ5sPV.mjs → limits-Du7S6jqA.mjs} +7 -7
  26. package/dist/{limits-C9bJJEyR.cjs → limits-XRNzIlVm.cjs} +7 -7
  27. package/dist/{mcp-D4_4kl0R.cjs → mcp-CAMCuudA.cjs} +4 -4
  28. package/dist/{mcp-CZJM3obK.mjs → mcp-D8zhjyZa.mjs} +4 -4
  29. package/dist/{runGemini-CRoqO5Mf.cjs → runGemini-BIVHp0ST.cjs} +6 -6
  30. package/dist/{runGemini-DGHhBbmk.mjs → runGemini-Db4rX54F.mjs} +6 -6
  31. package/dist/{runOpenClaw-Ca9ygi8M.mjs → runOpenClaw-D2MceXPO.mjs} +5 -5
  32. package/dist/{runOpenClaw-BzY__v8T.cjs → runOpenClaw-a0f2pZZp.cjs} +5 -5
  33. package/dist/{send-B1lln_bW.mjs → send-1Wjb0lIh.mjs} +4 -4
  34. package/dist/{send-CkfdImmJ.cjs → send-DKbumEcg.cjs} +4 -4
  35. package/dist/{sessions-Cyzh822v.mjs → sessions-DXCCRDb5.mjs} +4 -4
  36. package/dist/{sessions-D4cvTe7G.cjs → sessions-SIFOOlGp.cjs} +4 -4
  37. package/dist/{spawn-CdOt7Cv_.mjs → spawn-Bj3W6HR4.mjs} +4 -4
  38. package/dist/{spawn-ID9-RfTN.cjs → spawn-C-XpSPLX.cjs} +4 -4
  39. package/dist/{teams-CZ9xg-Rv.cjs → teams-ChFzXAqr.cjs} +4 -4
  40. package/dist/{teams-Bf2D8dwL.mjs → teams-CqhFQLVC.mjs} +4 -4
  41. package/dist/{todo-9iv7_n7i.mjs → todo-B0gbQHH8.mjs} +3 -3
  42. package/dist/{todo-DK3L93BC.cjs → todo-o0clp-_I.cjs} +3 -3
  43. package/dist/{types-lFZhC_6M.mjs → types-6DrEgHVx.mjs} +6 -1
  44. package/dist/{types-B20MYc5R.cjs → types-CcjVmS2i.cjs} +7 -2
  45. 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, 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 isClaudeSessionId, q as getLocalHappyAgentCredentialPath, r as readLocalHappyAgentCredentials, t as parseExactVersion, u as compareExactVersions, v as extractCompleteLines, x as decideBackfill, y as parseTerminalHookPayload, z as tmuxArgs, C as scrubTmuxClientEnv, D as decideMirrorBinding, E as MIRROR_BACKFILL_LINES_DEFAULT, F as mirrorLineKey, G as mirrorLocalId, H as detectCLIAvailability, J as detectResumeSupport, K as summarizeSpawnSessionForLog, L as shellescape, A as ApiClient, N as fetchCliUpdateState, O as resolveCliUpdateCheckInterval, P as DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS, i as isValidSessionId, Q as listVhTerminals, T as isValidTerminalId, U as readVhTerminal, V as sendToVhTerminal, W as ContextUsageSchema, X as TITLE_PROMPT_PREFIX, Y as BOARD_ANALYZER_PROMPT_PREFIX, f as connectionState, Z as startOfflineReconnection, c as createEnvelope, _ as CodexAppServerClient } from './types-lFZhC_6M.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-BusZ5sPV.mjs';
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 isClaudeSessionId, q as getLocalHappyAgentCredentialPath, r as readLocalHappyAgentCredentials, t as parseExactVersion, u as compareExactVersions, v as extractCompleteLines, x as decideBackfill, y as parseTerminalHookPayload, z as tmuxArgs, C as scrubTmuxClientEnv, D as decideMirrorBinding, E as MIRROR_BACKFILL_LINES_DEFAULT, F as mirrorLineKey, G as mirrorLocalId, H as detectCLIAvailability, J as detectResumeSupport, K as summarizeSpawnSessionForLog, L as shellescape, A as ApiClient, N as fetchCliUpdateState, O as resolveCliUpdateCheckInterval, P as DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS, i as isValidSessionId, Q as listVhTerminals, T as isValidTerminalId, U as readVhTerminal, V as sendToVhTerminal, W as ContextUsageSchema, X as TITLE_PROMPT_PREFIX, Y as BOARD_ANALYZER_PROMPT_PREFIX, f as connectionState, Z as startOfflineReconnection, c as createEnvelope, _ as CodexAppServerClient } from './types-6DrEgHVx.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-Du7S6jqA.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-CeuhVA2K.mjs';
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-BaplwDcV.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';
@@ -7502,27 +7502,31 @@ function createUpdateController(deps) {
7502
7502
  let policy = null;
7503
7503
  let outcome = null;
7504
7504
  let running = false;
7505
+ let manualVersion = null;
7505
7506
  let operation = null;
7506
7507
  let blocked = false;
7507
7508
  let handoverHold;
7508
7509
  let lastPublished = "";
7509
7510
  const now = deps.now ?? Date.now;
7511
+ function validManualTarget(next, version) {
7512
+ return version === next.recommendedVersion && Number.isFinite(next.checkedAt) && now() - next.checkedAt <= 65 * 6e4 && next.checkedAt <= now() + 6e4 && compareExactVersions(next.currentVersion, version) === -1 && (!next.minimumVersion || [0, 1].includes(compareExactVersions(version, next.minimumVersion) ?? -1));
7513
+ }
7510
7514
  function publish(state, version, detail) {
7511
7515
  if (!policy) return;
7512
- const fingerprint = JSON.stringify([policy.checkedAt, state, version, detail]);
7516
+ const fingerprint = JSON.stringify([policy.checkedAt, state, version, detail, manualVersion]);
7513
7517
  if (fingerprint === lastPublished) return;
7514
7518
  lastPublished = fingerprint;
7515
- outcome = { state, version, detail, at: now() };
7516
- deps.publish({ ...policy, retrySupported: !blocked, handoverHold, autoUpdate: outcome });
7519
+ outcome = { state, version, detail, at: now(), ...manualVersion ? { source: "manual" } : {} };
7520
+ deps.publish({ ...policy, retrySupported: !blocked, manualUpdateSupported: !blocked, handoverHold, autoUpdate: outcome });
7517
7521
  }
7518
7522
  async function evaluate() {
7519
7523
  if (!policy || running) return;
7520
- const target = policy.autoUpdateVersion ?? null;
7524
+ const target = manualVersion ?? policy.autoUpdateVersion ?? null;
7521
7525
  if (outcome?.version === target && ["failed", "installed"].includes(outcome.state)) {
7522
- const fingerprint = JSON.stringify([policy.checkedAt, outcome.state, outcome.version, outcome.detail]);
7526
+ const fingerprint = JSON.stringify([policy.checkedAt, outcome.state, outcome.version, outcome.detail, manualVersion]);
7523
7527
  if (fingerprint !== lastPublished) {
7524
7528
  lastPublished = fingerprint;
7525
- deps.publish({ ...policy, retrySupported: !blocked, handoverHold, autoUpdate: outcome });
7529
+ deps.publish({ ...policy, retrySupported: !blocked, manualUpdateSupported: !blocked, handoverHold, autoUpdate: outcome });
7526
7530
  }
7527
7531
  return;
7528
7532
  }
@@ -7530,7 +7534,7 @@ function createUpdateController(deps) {
7530
7534
  publish("policy_stale", target);
7531
7535
  return;
7532
7536
  }
7533
- if (!await deps.enabled()) {
7537
+ if (!manualVersion && !await deps.enabled()) {
7534
7538
  publish("disabled", target);
7535
7539
  return;
7536
7540
  }
@@ -7583,6 +7587,7 @@ function createUpdateController(deps) {
7583
7587
  try {
7584
7588
  const next = await deps.policy();
7585
7589
  if (!next) return;
7590
+ if (manualVersion && !validManualTarget(next, manualVersion)) manualVersion = null;
7586
7591
  policy = next;
7587
7592
  await evaluate();
7588
7593
  } finally {
@@ -7597,11 +7602,42 @@ function createUpdateController(deps) {
7597
7602
  operation = "retry";
7598
7603
  try {
7599
7604
  const next = await deps.policy();
7600
- if (!next || next.autoUpdateVersion !== version || now() - next.checkedAt > 65 * 6e4) {
7605
+ if (!next || (manualVersion ? !validManualTarget(next, version) : next.autoUpdateVersion !== version || now() - next.checkedAt > 65 * 6e4)) {
7601
7606
  return { error: "update_policy_changed_or_unavailable" };
7602
7607
  }
7603
- if (!await deps.enabled()) return { error: "auto_update_disabled" };
7608
+ if (!manualVersion && !await deps.enabled()) return { error: "auto_update_disabled" };
7609
+ policy = next;
7610
+ outcome = null;
7611
+ handoverHold = null;
7612
+ publish("waiting_idle", version);
7613
+ setTimeout(() => {
7614
+ void tick().catch(() => publish("policy_stale", version));
7615
+ }, 0);
7616
+ return { accepted: true };
7617
+ } finally {
7618
+ operation = null;
7619
+ }
7620
+ }
7621
+ async function request(version) {
7622
+ if (operation || blocked) return { error: blocked ? "manual_recovery_required" : "update_in_progress" };
7623
+ operation = "request";
7624
+ try {
7625
+ const next = await deps.policy();
7626
+ if (next && manualVersion && !validManualTarget(next, manualVersion)) {
7627
+ manualVersion = null;
7628
+ policy = next;
7629
+ publish("policy_stale", null);
7630
+ }
7631
+ if (!next || typeof version !== "string" || !validManualTarget(next, version)) {
7632
+ return { error: "update_policy_changed_or_unavailable" };
7633
+ }
7634
+ if (outcome?.version === version && (outcome.state === "installed" || manualVersion === version && outcome.state === "waiting_idle")) {
7635
+ policy = next;
7636
+ publish(outcome.state, version, outcome.detail);
7637
+ return { accepted: true };
7638
+ }
7604
7639
  policy = next;
7640
+ manualVersion = version;
7605
7641
  outcome = null;
7606
7642
  handoverHold = null;
7607
7643
  publish("waiting_idle", version);
@@ -7624,9 +7660,9 @@ function createUpdateController(deps) {
7624
7660
  }
7625
7661
  function holdHandover(reason) {
7626
7662
  handoverHold = { reason, at: now() };
7627
- publish("failed", policy?.autoUpdateVersion ?? null, "handover_preflight_failed");
7663
+ publish("failed", manualVersion ?? policy?.autoUpdateVersion ?? null, "handover_preflight_failed");
7628
7664
  }
7629
- return { refresh, retry, tick, withHandover, holdHandover, isRunning: () => running };
7665
+ return { refresh, retry, request, tick, withHandover, holdHandover, isRunning: () => running };
7630
7666
  }
7631
7667
 
7632
7668
  const CLAUDE_KEYCHAIN_SERVICE_PREFIX = "Claude Code";
@@ -9483,6 +9519,8 @@ function writeReceipt(home, receipt) {
9483
9519
  const exec = promisify(execFile);
9484
9520
  const git = async (directory, args) => (await exec("git", ["-C", directory, ...args], { timeout: 3e4, maxBuffer: 2 * 1024 * 1024 })).stdout.trim();
9485
9521
  async function prepareTeamWorktree(home, repository, id) {
9522
+ if (repository === "~") repository = homedir();
9523
+ else if (repository.startsWith("~/") || process.platform === "win32" && repository.startsWith("~\\")) repository = join(homedir(), repository.slice(2));
9486
9524
  if (!isAbsolute(repository) || !/^[a-zA-Z0-9_-]{1,128}$/.test(id)) throw new Error("A team task requires an absolute repository path and valid operation id");
9487
9525
  await git(repository, ["rev-parse", "--show-toplevel"]);
9488
9526
  const root = join(home, "teams", "worktrees");
@@ -10921,6 +10959,7 @@ async function startDaemon() {
10921
10959
  }
10922
10960
  });
10923
10961
  apiMachine.setCliUpdateRetryHandler(updateController.retry);
10962
+ apiMachine.setCliUpdateRequestHandler(updateController.request);
10924
10963
  const refreshCliUpdate = () => updateController.refresh().catch((error) => {
10925
10964
  logger.debug("[DAEMON RUN] CLI update policy check failed:", error);
10926
10965
  });
@@ -12109,7 +12148,7 @@ function registerSideQuestionHandler(rpc, deps) {
12109
12148
  const retainMs = deps.retainMs ?? SIDE_QUESTION_RETAIN_MS;
12110
12149
  const maxRunMs = deps.maxRunMs ?? SIDE_QUESTION_MAX_RUN_MS;
12111
12150
  const run = deps.run ?? (async (input) => {
12112
- const { query } = await import('./index-BXB-84P_.mjs');
12151
+ const { query } = await import('./index-D8i2EViA.mjs');
12113
12152
  return runSideQuestion(query, input);
12114
12153
  });
12115
12154
  const slots = /* @__PURE__ */ new Map();
@@ -17126,7 +17165,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
17126
17165
  process.exit(0);
17127
17166
  } else if (subcommand === "install-terminal-hooks") {
17128
17167
  try {
17129
- const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await import('./installTerminalHooks-DLwx6m7I.mjs');
17168
+ const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await import('./installTerminalHooks-NH4kiB2E.mjs');
17130
17169
  const command = parseTerminalHooksArgs(args.slice(1));
17131
17170
  if (command.action === "help") {
17132
17171
  console.log(TERMINAL_HOOKS_HELP);
@@ -17143,7 +17182,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
17143
17182
  }
17144
17183
  } else if (subcommand === "spawn") {
17145
17184
  try {
17146
- const { handleSpawnCommand } = await import('./spawn-CdOt7Cv_.mjs');
17185
+ const { handleSpawnCommand } = await import('./spawn-Bj3W6HR4.mjs');
17147
17186
  await handleSpawnCommand(args.slice(1));
17148
17187
  } catch (error) {
17149
17188
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -17155,7 +17194,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
17155
17194
  return;
17156
17195
  } else if (subcommand === "sessions") {
17157
17196
  try {
17158
- const { handleSessionsCommand } = await import('./sessions-Cyzh822v.mjs');
17197
+ const { handleSessionsCommand } = await import('./sessions-DXCCRDb5.mjs');
17159
17198
  await handleSessionsCommand(args.slice(1));
17160
17199
  } catch (error) {
17161
17200
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -17167,7 +17206,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
17167
17206
  return;
17168
17207
  } else if (subcommand === "send") {
17169
17208
  try {
17170
- const { handleSendCommand } = await import('./send-B1lln_bW.mjs');
17209
+ const { handleSendCommand } = await import('./send-1Wjb0lIh.mjs');
17171
17210
  await handleSendCommand(args.slice(1));
17172
17211
  } catch (error) {
17173
17212
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -17273,9 +17312,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
17273
17312
  if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
17274
17313
  const projectId = args[3];
17275
17314
  try {
17276
- const { saveGoogleCloudProjectToConfig } = await import('./config-Ur8QEJ0U.mjs');
17277
- const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./limits-BusZ5sPV.mjs').then(function (n) { return n.W; });
17278
- const { ApiClient: ApiClient2 } = await import('./types-lFZhC_6M.mjs').then(function (n) { return n.$; });
17315
+ const { saveGoogleCloudProjectToConfig } = await import('./config-BZ8xEnOv.mjs');
17316
+ const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./limits-Du7S6jqA.mjs').then(function (n) { return n.W; });
17317
+ const { ApiClient: ApiClient2 } = await import('./types-6DrEgHVx.mjs').then(function (n) { return n.$; });
17279
17318
  let userEmail = void 0;
17280
17319
  try {
17281
17320
  const credentials = await readCredentialsForConfiguredRelay2();
@@ -17306,7 +17345,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
17306
17345
  }
17307
17346
  if (geminiSubcommand === "project" && args[2] === "get") {
17308
17347
  try {
17309
- const { readGeminiLocalConfig } = await import('./config-Ur8QEJ0U.mjs');
17348
+ const { readGeminiLocalConfig } = await import('./config-BZ8xEnOv.mjs');
17310
17349
  const config = readGeminiLocalConfig();
17311
17350
  if (config.googleCloudProject) {
17312
17351
  console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
@@ -17346,7 +17385,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
17346
17385
  process.exit(0);
17347
17386
  }
17348
17387
  try {
17349
- const { runGemini } = await import('./runGemini-DGHhBbmk.mjs');
17388
+ const { runGemini } = await import('./runGemini-Db4rX54F.mjs');
17350
17389
  let startedBy = void 0;
17351
17390
  for (let i = 1; i < args.length; i++) {
17352
17391
  if (args[i] === "--started-by") {
@@ -17376,7 +17415,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
17376
17415
  }
17377
17416
  };
17378
17417
  try {
17379
- const { runAcp, resolveAcpAgentConfig } = await import('./index-CsfUI8Bw.mjs');
17418
+ const { runAcp, resolveAcpAgentConfig } = await import('./index-ClCeQ1FW.mjs');
17380
17419
  const parsed = parsePiRunnerArgs(args.slice(1));
17381
17420
  const resolved = resolveAcpAgentConfig(["pi", ...parsed.passthrough]);
17382
17421
  const { credentials } = await authAndSetupMachineIfNeeded();
@@ -17404,7 +17443,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
17404
17443
  return;
17405
17444
  } else if (subcommand === "acp") {
17406
17445
  try {
17407
- const { runAcp, resolveAcpAgentConfig } = await import('./index-CsfUI8Bw.mjs');
17446
+ const { runAcp, resolveAcpAgentConfig } = await import('./index-ClCeQ1FW.mjs');
17408
17447
  let startedBy = void 0;
17409
17448
  let verbose = false;
17410
17449
  const acpArgs = [];
@@ -17444,7 +17483,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
17444
17483
  return;
17445
17484
  } else if (subcommand === "openclaw") {
17446
17485
  try {
17447
- const { runOpenClaw } = await import('./runOpenClaw-Ca9ygi8M.mjs');
17486
+ const { runOpenClaw } = await import('./runOpenClaw-D2MceXPO.mjs');
17448
17487
  let startedBy = void 0;
17449
17488
  let verbose = false;
17450
17489
  let gatewayUrl;
@@ -17495,7 +17534,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
17495
17534
  return;
17496
17535
  } else if (subcommand === "todo") {
17497
17536
  try {
17498
- const { handleTodoCommand } = await import('./todo-9iv7_n7i.mjs');
17537
+ const { handleTodoCommand } = await import('./todo-B0gbQHH8.mjs');
17499
17538
  await handleTodoCommand(args.slice(1));
17500
17539
  } catch (error) {
17501
17540
  console.error(JSON.stringify({ error: error instanceof Error ? error.message : "Todo command failed" }));
@@ -17504,7 +17543,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
17504
17543
  return;
17505
17544
  } else if (subcommand === "teams") {
17506
17545
  try {
17507
- const { handleTeamsCommand } = await import('./teams-Bf2D8dwL.mjs');
17546
+ const { handleTeamsCommand } = await import('./teams-CqhFQLVC.mjs');
17508
17547
  await handleTeamsCommand(args.slice(1));
17509
17548
  } catch (error) {
17510
17549
  console.error(error instanceof Error ? error.message : "Teams command failed");
@@ -17513,7 +17552,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
17513
17552
  return;
17514
17553
  } else if (subcommand === "mcp" && args.length === 1) {
17515
17554
  try {
17516
- const { handleMcpCommand } = await import('./mcp-CZJM3obK.mjs');
17555
+ const { handleMcpCommand } = await import('./mcp-D8zhjyZa.mjs');
17517
17556
  await handleMcpCommand();
17518
17557
  } catch (error) {
17519
17558
  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-B5Vv72dN.cjs');
5
- require('./limits-C9bJJEyR.cjs');
4
+ require('./index-6Xm0CgN_.cjs');
5
+ require('./limits-XRNzIlVm.cjs');
6
6
  require('zod');
7
- require('./types-B20MYc5R.cjs');
7
+ require('./types-CcjVmS2i.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-B4bH8Nuz.cjs');
15
+ require('./agentGuidance-BItqIZTf.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-BPYVCjjs.mjs';
3
- import './limits-BusZ5sPV.mjs';
2
+ import './index-EsR8ayIg.mjs';
3
+ import './limits-Du7S6jqA.mjs';
4
4
  import 'zod';
5
- import './types-lFZhC_6M.mjs';
5
+ import './types-6DrEgHVx.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-CeuhVA2K.mjs';
13
+ import './agentGuidance-BaplwDcV.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-B20MYc5R.cjs');
9
- var index = require('./index-B5Vv72dN.cjs');
8
+ var api = require('./types-CcjVmS2i.cjs');
9
+ var index = require('./index-6Xm0CgN_.cjs');
10
10
  require('axios');
11
- require('./limits-C9bJJEyR.cjs');
11
+ require('./limits-XRNzIlVm.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-B4bH8Nuz.cjs');
33
+ require('./agentGuidance-BItqIZTf.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-lFZhC_6M.mjs';
7
- import { t as tmuxSupportsSessionEnv } from './index-BPYVCjjs.mjs';
6
+ import { p as projectPath } from './types-6DrEgHVx.mjs';
7
+ import { t as tmuxSupportsSessionEnv } from './index-EsR8ayIg.mjs';
8
8
  import 'axios';
9
- import './limits-BusZ5sPV.mjs';
9
+ import './limits-Du7S6jqA.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-CeuhVA2K.mjs';
31
+ import './agentGuidance-BaplwDcV.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-B20MYc5R.cjs');
4
- var persistence = require('./limits-C9bJJEyR.cjs');
3
+ var api = require('./types-CcjVmS2i.cjs');
4
+ var persistence = require('./limits-XRNzIlVm.cjs');
5
5
  require('axios');
6
6
  require('node:events');
7
7
  require('socket.io-client');
package/dist/lib.d.cts CHANGED
@@ -355,12 +355,14 @@ declare const CliUpdateStateSchema: z$1.ZodObject<{
355
355
  }>;
356
356
  autoUpdateVersion: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
357
357
  retrySupported: z$1.ZodOptional<z$1.ZodBoolean>;
358
+ manualUpdateSupported: z$1.ZodOptional<z$1.ZodBoolean>;
358
359
  checkedAt: z$1.ZodNumber;
359
360
  handoverHold: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
360
361
  reason: z$1.ZodString;
361
362
  at: z$1.ZodNumber;
362
363
  }, z$1.core.$strip>>>;
363
364
  autoUpdate: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
365
+ source: z$1.ZodOptional<z$1.ZodString>;
364
366
  state: z$1.ZodUnion<readonly [z$1.ZodEnum<{
365
367
  installing: "installing";
366
368
  installed: "installed";
@@ -451,12 +453,14 @@ declare const DaemonStateSchema: z$1.ZodObject<{
451
453
  }>;
452
454
  autoUpdateVersion: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
453
455
  retrySupported: z$1.ZodOptional<z$1.ZodBoolean>;
456
+ manualUpdateSupported: z$1.ZodOptional<z$1.ZodBoolean>;
454
457
  checkedAt: z$1.ZodNumber;
455
458
  handoverHold: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
456
459
  reason: z$1.ZodString;
457
460
  at: z$1.ZodNumber;
458
461
  }, z$1.core.$strip>>>;
459
462
  autoUpdate: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
463
+ source: z$1.ZodOptional<z$1.ZodString>;
460
464
  state: z$1.ZodUnion<readonly [z$1.ZodEnum<{
461
465
  installing: "installing";
462
466
  installed: "installed";
@@ -1386,6 +1390,11 @@ declare class ApiMachineClient {
1386
1390
  * and the open-terminal snapshot/replay payloads. */
1387
1391
  private encTerminalData;
1388
1392
  constructor(token: string, machine: Machine);
1393
+ setCliUpdateRequestHandler(handler: (version: unknown) => Promise<{
1394
+ accepted: true;
1395
+ } | {
1396
+ error: string;
1397
+ }>): void;
1389
1398
  setCliUpdateRetryHandler(handler: (version: unknown) => Promise<{
1390
1399
  accepted: true;
1391
1400
  } | {
package/dist/lib.d.mts CHANGED
@@ -355,12 +355,14 @@ declare const CliUpdateStateSchema: z$1.ZodObject<{
355
355
  }>;
356
356
  autoUpdateVersion: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
357
357
  retrySupported: z$1.ZodOptional<z$1.ZodBoolean>;
358
+ manualUpdateSupported: z$1.ZodOptional<z$1.ZodBoolean>;
358
359
  checkedAt: z$1.ZodNumber;
359
360
  handoverHold: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
360
361
  reason: z$1.ZodString;
361
362
  at: z$1.ZodNumber;
362
363
  }, z$1.core.$strip>>>;
363
364
  autoUpdate: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
365
+ source: z$1.ZodOptional<z$1.ZodString>;
364
366
  state: z$1.ZodUnion<readonly [z$1.ZodEnum<{
365
367
  installing: "installing";
366
368
  installed: "installed";
@@ -451,12 +453,14 @@ declare const DaemonStateSchema: z$1.ZodObject<{
451
453
  }>;
452
454
  autoUpdateVersion: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
453
455
  retrySupported: z$1.ZodOptional<z$1.ZodBoolean>;
456
+ manualUpdateSupported: z$1.ZodOptional<z$1.ZodBoolean>;
454
457
  checkedAt: z$1.ZodNumber;
455
458
  handoverHold: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
456
459
  reason: z$1.ZodString;
457
460
  at: z$1.ZodNumber;
458
461
  }, z$1.core.$strip>>>;
459
462
  autoUpdate: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
463
+ source: z$1.ZodOptional<z$1.ZodString>;
460
464
  state: z$1.ZodUnion<readonly [z$1.ZodEnum<{
461
465
  installing: "installing";
462
466
  installed: "installed";
@@ -1386,6 +1390,11 @@ declare class ApiMachineClient {
1386
1390
  * and the open-terminal snapshot/replay payloads. */
1387
1391
  private encTerminalData;
1388
1392
  constructor(token: string, machine: Machine);
1393
+ setCliUpdateRequestHandler(handler: (version: unknown) => Promise<{
1394
+ accepted: true;
1395
+ } | {
1396
+ error: string;
1397
+ }>): void;
1389
1398
  setCliUpdateRetryHandler(handler: (version: unknown) => Promise<{
1390
1399
  accepted: true;
1391
1400
  } | {
package/dist/lib.mjs CHANGED
@@ -1,5 +1,5 @@
1
- export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema } from './types-lFZhC_6M.mjs';
2
- export { c as configuration, l as logger } from './limits-BusZ5sPV.mjs';
1
+ export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema } from './types-6DrEgHVx.mjs';
2
+ export { c as configuration, l as logger } from './limits-Du7S6jqA.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.131";
12
+ var version = "0.2.133";
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.131",
126
- "very-happy-tools-x64-darwin": "0.2.131",
127
- "very-happy-tools-arm64-linux": "0.2.131",
128
- "very-happy-tools-x64-linux": "0.2.131",
129
- "very-happy-tools-arm64-win32": "0.2.131",
130
- "very-happy-tools-x64-win32": "0.2.131"
125
+ "very-happy-tools-arm64-darwin": "0.2.133",
126
+ "very-happy-tools-x64-darwin": "0.2.133",
127
+ "very-happy-tools-arm64-linux": "0.2.133",
128
+ "very-happy-tools-x64-linux": "0.2.133",
129
+ "very-happy-tools-arm64-win32": "0.2.133",
130
+ "very-happy-tools-x64-win32": "0.2.133"
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.131";
33
+ var version = "0.2.133";
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.131",
147
- "very-happy-tools-x64-darwin": "0.2.131",
148
- "very-happy-tools-arm64-linux": "0.2.131",
149
- "very-happy-tools-x64-linux": "0.2.131",
150
- "very-happy-tools-arm64-win32": "0.2.131",
151
- "very-happy-tools-x64-win32": "0.2.131"
146
+ "very-happy-tools-arm64-darwin": "0.2.133",
147
+ "very-happy-tools-x64-darwin": "0.2.133",
148
+ "very-happy-tools-arm64-linux": "0.2.133",
149
+ "very-happy-tools-x64-linux": "0.2.133",
150
+ "very-happy-tools-arm64-win32": "0.2.133",
151
+ "very-happy-tools-x64-win32": "0.2.133"
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-B4bH8Nuz.cjs');
3
+ var agentGuidance = require('./agentGuidance-BItqIZTf.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-B5Vv72dN.cjs');
8
- var persistence = require('./limits-C9bJJEyR.cjs');
7
+ var index = require('./index-6Xm0CgN_.cjs');
8
+ var persistence = require('./limits-XRNzIlVm.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-B20MYc5R.cjs');
16
+ require('./types-CcjVmS2i.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-CeuhVA2K.mjs';
1
+ import { r as registerTeamsTools } from './agentGuidance-BaplwDcV.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-BPYVCjjs.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-BusZ5sPV.mjs';
5
+ import { p as pushClipboardViaDaemon, k as setTerminalTitleViaDaemon, m as registerAssistantSessionTools } from './index-EsR8ayIg.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-Du7S6jqA.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-lFZhC_6M.mjs';
14
+ import './types-6DrEgHVx.mjs';
15
15
  import 'node:fs';
16
16
  import 'node:path';
17
17
  import 'chalk';
@@ -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-B20MYc5R.cjs');
8
- var persistence = require('./limits-C9bJJEyR.cjs');
9
- var index = require('./index-B5Vv72dN.cjs');
10
- var AcpBackend = require('./AcpBackend-Dv_EKDIQ.cjs');
11
- var config = require('./config-onxMcdX3.cjs');
7
+ var api = require('./types-CcjVmS2i.cjs');
8
+ var persistence = require('./limits-XRNzIlVm.cjs');
9
+ var index = require('./index-6Xm0CgN_.cjs');
10
+ var AcpBackend = require('./AcpBackend-DgG8o4jd.cjs');
11
+ var config = require('./config-uLywzv5t.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-B4bH8Nuz.cjs');
37
+ require('./agentGuidance-BItqIZTf.cjs');
38
38
  require('@anthropic-ai/claude-agent-sdk');
39
39
  require('ps-list');
40
40
  require('tmp');
@@ -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-lFZhC_6M.mjs';
6
- import { l as logger, g as readSettings, i as encodeBase64 } from './limits-BusZ5sPV.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-BPYVCjjs.mjs';
8
- import { A as AcpBackend } from './AcpBackend-DSRZM4lo.mjs';
9
- import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-Ur8QEJ0U.mjs';
5
+ import { f as connectionState, A as ApiClient, e as errorLogMetadata, p as projectPath, d as contentLogMetadata } from './types-6DrEgHVx.mjs';
6
+ import { l as logger, g as readSettings, i as encodeBase64 } from './limits-Du7S6jqA.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-EsR8ayIg.mjs';
8
+ import { A as AcpBackend } from './AcpBackend-BQm7dNza.mjs';
9
+ import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-BZ8xEnOv.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-CeuhVA2K.mjs';
35
+ import './agentGuidance-BaplwDcV.mjs';
36
36
  import '@anthropic-ai/claude-agent-sdk';
37
37
  import 'ps-list';
38
38
  import 'tmp';