very-happy-cli 0.2.153 → 0.2.154

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 (53) hide show
  1. package/dist/{AcpBackend-DSt8nTYm.cjs → AcpBackend-B14xNj5L.cjs} +2 -2
  2. package/dist/{AcpBackend-YDGv4E-g.mjs → AcpBackend-Ckyadhf4.mjs} +2 -2
  3. package/dist/{AcpSessionManager-uov6I9C8.cjs → AcpSessionManager-CCHmPdrR.cjs} +1 -1
  4. package/dist/{AcpSessionManager-Cxf5HQX1.mjs → AcpSessionManager-H8t4P-IW.mjs} +1 -1
  5. package/dist/{agentGuidance-BM4kMNyr.cjs → agentGuidance-DUBXppv-.cjs} +2 -1
  6. package/dist/{agentGuidance-C8unGWp7.mjs → agentGuidance-TLYQxsm2.mjs} +2 -1
  7. package/dist/{agentHome-D68Xh2ae.mjs → agentHome-B20RWdgE.mjs} +2 -2
  8. package/dist/{agentHome-BJ7bde35.cjs → agentHome-BUsLTZnz.cjs} +2 -2
  9. package/dist/{auto-CcXxfqkC.mjs → auto-BQnncDcs.mjs} +6 -6
  10. package/dist/{auto-C-90ojIH.cjs → auto-IeldARBS.cjs} +6 -6
  11. package/dist/codex/happyMcpStdioBridge.cjs +2 -2
  12. package/dist/codex/happyMcpStdioBridge.mjs +2 -2
  13. package/dist/{config-CHJ189UJ.mjs → config-B-ocQh5V.mjs} +4 -4
  14. package/dist/{config-D23kF0_u.cjs → config-DM_xI9M6.cjs} +4 -4
  15. package/dist/{index-BacwoXzs.mjs → index-BELV05ko.mjs} +248 -29
  16. package/dist/{index-DEOVn46R.cjs → index-BUxBxSxJ.cjs} +7 -7
  17. package/dist/{index-BXA9fxbK.mjs → index-CIx3248o.mjs} +4 -4
  18. package/dist/{index-BgYZGODP.mjs → index-ZKuBjvHi.mjs} +8 -8
  19. package/dist/{index-DHrwHxHf.cjs → index-eCjkm8Y2.cjs} +252 -32
  20. package/dist/{index-D49WvbDT.cjs → index-okLyUzeD.cjs} +4 -4
  21. package/dist/index.cjs +4 -4
  22. package/dist/index.mjs +4 -4
  23. package/dist/{install-BiOXBnnS.cjs → install-BZOdxfPd.cjs} +1 -1
  24. package/dist/{install-Ca7_Z3bV.mjs → install-CoLN3whR.mjs} +1 -1
  25. package/dist/{installTerminalHooks-BF0kL0ae.cjs → installTerminalHooks-CA4OcAS7.cjs} +4 -4
  26. package/dist/{installTerminalHooks-Bpl32K75.mjs → installTerminalHooks-Dde_8t36.mjs} +4 -4
  27. package/dist/lib.cjs +2 -2
  28. package/dist/lib.mjs +2 -2
  29. package/dist/{limits-DY_sFA3J.cjs → limits-CmzISka2.cjs} +7 -7
  30. package/dist/{limits-BtAuKRl2.mjs → limits-Dt7_unH4.mjs} +7 -7
  31. package/dist/{mcp-JpqI2POW.cjs → mcp-7iDHlyCI.cjs} +4 -4
  32. package/dist/{mcp-DQkmk4VV.mjs → mcp-9Ui4nQZL.mjs} +4 -4
  33. package/dist/{piRuntime-DRbbeQ72.cjs → piRuntime-BesGGPME.cjs} +2 -2
  34. package/dist/{piRuntime-DBpe12NN.mjs → piRuntime-C4E4pgye.mjs} +2 -2
  35. package/dist/{piTerminal-BoHvPEZ_.mjs → piTerminal-CCEGCQOY.mjs} +6 -6
  36. package/dist/{piTerminal-qdJ9KZVL.cjs → piTerminal-fUogwxYr.cjs} +6 -6
  37. package/dist/{runGemini-YqH7a-7O.mjs → runGemini-BW-pEklU.mjs} +6 -6
  38. package/dist/{runGemini-CtOEFvhf.cjs → runGemini-CNPGSsSK.cjs} +6 -6
  39. package/dist/{runOpenClaw-DoqZXBvL.cjs → runOpenClaw-Bsodkg_s.cjs} +5 -5
  40. package/dist/{runOpenClaw-DSSyFQBb.mjs → runOpenClaw-NRB6-_jU.mjs} +5 -5
  41. package/dist/{send-9075kHZP.cjs → send-Bd00QcHC.cjs} +55 -17
  42. package/dist/{send-Cs-RwqNf.mjs → send-DYeSFg8s.mjs} +55 -18
  43. package/dist/{sessions-iBnYzVUK.mjs → sessions-DlPOYKLU.mjs} +4 -4
  44. package/dist/{sessions-qULzUzlI.cjs → sessions-RIFUoy_g.cjs} +4 -4
  45. package/dist/{spawn-C6fRkedx.mjs → spawn-D1bhyHbH.mjs} +4 -4
  46. package/dist/{spawn-od9V23cc.cjs → spawn-DxrfHTF4.cjs} +4 -4
  47. package/dist/{teams-CrCzU-AV.cjs → teams-Cfy0VMCo.cjs} +5 -5
  48. package/dist/{teams-CkrWQ4uM.mjs → teams-pfKHpkgL.mjs} +5 -5
  49. package/dist/{todo-aCZmSt27.mjs → todo-B2CjDg_V.mjs} +2 -2
  50. package/dist/{todo-BCT_ZPuV.cjs → todo-B4cBFzHB.cjs} +2 -2
  51. package/dist/{types-CUCU7Vw8.cjs → types-Bd_TGr0F.cjs} +22 -3
  52. package/dist/{types-BvqOVUOW.mjs → types-D5RWyBE5.mjs} +22 -4
  53. package/package.json +7 -7
@@ -1,9 +1,9 @@
1
1
  import chalk from 'chalk';
2
- import { D as DEFAULT_RECENT_LIMIT, M as MAX_READ_LIMIT, l as listAccountSessions, a as listSessions, w as waitForTurnEnd, T as TurnWaitTimeoutError, r as readSessionTranscript, s as stopSession, b as resolvePermissionRequest, c as archiveSession } from './index-BacwoXzs.mjs';
3
- import { i as isValidSessionId } from './types-BvqOVUOW.mjs';
2
+ import { D as DEFAULT_RECENT_LIMIT, M as MAX_READ_LIMIT, l as listAccountSessions, a as listSessions, w as waitForTurnEnd, T as TurnWaitTimeoutError, r as readSessionTranscript, s as stopSession, b as resolvePermissionRequest, c as archiveSession } from './index-BELV05ko.mjs';
3
+ import { i as isValidSessionId } from './types-D5RWyBE5.mjs';
4
4
  import 'node:os';
5
5
  import 'node:crypto';
6
- import './limits-BtAuKRl2.mjs';
6
+ import './limits-Dt7_unH4.mjs';
7
7
  import 'node:fs/promises';
8
8
  import 'node:fs';
9
9
  import 'node:path';
@@ -16,7 +16,7 @@ import 'node:readline';
16
16
  import './terminalTitleSuggest-DKgX3osW.mjs';
17
17
  import 'path';
18
18
  import 'url';
19
- import './agentGuidance-C8unGWp7.mjs';
19
+ import './agentGuidance-TLYQxsm2.mjs';
20
20
  import 'fs/promises';
21
21
  import 'ink';
22
22
  import 'react';
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var index = require('./index-DHrwHxHf.cjs');
5
- var index$1 = require('./types-CUCU7Vw8.cjs');
4
+ var index = require('./index-eCjkm8Y2.cjs');
5
+ var index$1 = require('./types-Bd_TGr0F.cjs');
6
6
  require('node:os');
7
7
  require('node:crypto');
8
- require('./limits-DY_sFA3J.cjs');
8
+ require('./limits-CmzISka2.cjs');
9
9
  require('node:fs/promises');
10
10
  require('node:fs');
11
11
  require('node:path');
@@ -18,7 +18,7 @@ require('node:readline');
18
18
  require('./terminalTitleSuggest-Dji8I0Jy.cjs');
19
19
  require('path');
20
20
  require('url');
21
- require('./agentGuidance-BM4kMNyr.cjs');
21
+ require('./agentGuidance-DUBXppv-.cjs');
22
22
  require('fs/promises');
23
23
  require('ink');
24
24
  require('react');
@@ -1,9 +1,9 @@
1
1
  import chalk from 'chalk';
2
2
  import { readFileSync, statSync } from 'node:fs';
3
3
  import { resolve } from 'node:path';
4
- import { f as forkSession, g as getProjectPath, F as ForkSourceMissingError, C as CodexAppServerClient, h as forkCodexThread, j as checkIfDaemonRunningAndCleanupStaleState, s as spawnDaemonSession, k as stopDaemonSession } from './types-BvqOVUOW.mjs';
5
- import { d as readPersistedSessions, l as logger } from './limits-BtAuKRl2.mjs';
6
- import { k as readSessionMetadata, m as resolveSpawnPermissionMode, e as sessionWebUrl, n as resolveFirstMessageMeta, o as isValidSpawnOrigin, i as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES, S as SPAWN_AGENTS, u as waitForSessionKey, d as sendUserMessage } from './index-BacwoXzs.mjs';
4
+ import { f as forkSession, g as getProjectPath, F as ForkSourceMissingError, C as CodexAppServerClient, h as forkCodexThread, j as checkIfDaemonRunningAndCleanupStaleState, s as spawnDaemonSession, k as stopDaemonSession } from './types-D5RWyBE5.mjs';
5
+ import { d as readPersistedSessions, l as logger } from './limits-Dt7_unH4.mjs';
6
+ import { k as readSessionMetadata, m as resolveSpawnPermissionMode, e as sessionWebUrl, n as resolveFirstMessageMeta, o as isValidSpawnOrigin, i as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES, S as SPAWN_AGENTS, u as waitForSessionKey, v as sendUserMessage } from './index-BELV05ko.mjs';
7
7
  import 'axios';
8
8
  import 'node:events';
9
9
  import 'socket.io-client';
@@ -29,7 +29,7 @@ import 'node:readline';
29
29
  import '@anthropic-ai/sandbox-runtime';
30
30
  import 'expo-server-sdk';
31
31
  import 'node:util';
32
- import './agentGuidance-C8unGWp7.mjs';
32
+ import './agentGuidance-TLYQxsm2.mjs';
33
33
  import 'ink';
34
34
  import 'react';
35
35
  import '@anthropic-ai/claude-agent-sdk';
@@ -3,9 +3,9 @@
3
3
  var chalk = require('chalk');
4
4
  var node_fs = require('node:fs');
5
5
  var path = require('node:path');
6
- var index$1 = require('./types-CUCU7Vw8.cjs');
7
- var persistence = require('./limits-DY_sFA3J.cjs');
8
- var index = require('./index-DHrwHxHf.cjs');
6
+ var index$1 = require('./types-Bd_TGr0F.cjs');
7
+ var persistence = require('./limits-CmzISka2.cjs');
8
+ var index = require('./index-eCjkm8Y2.cjs');
9
9
  require('axios');
10
10
  require('node:events');
11
11
  require('socket.io-client');
@@ -31,7 +31,7 @@ require('node:readline');
31
31
  require('@anthropic-ai/sandbox-runtime');
32
32
  require('expo-server-sdk');
33
33
  require('node:util');
34
- require('./agentGuidance-BM4kMNyr.cjs');
34
+ require('./agentGuidance-DUBXppv-.cjs');
35
35
  require('ink');
36
36
  require('react');
37
37
  require('@anthropic-ai/claude-agent-sdk');
@@ -4,17 +4,17 @@ var os = require('node:os');
4
4
  var promises = require('node:fs/promises');
5
5
  var z = require('zod');
6
6
  var node_crypto = require('node:crypto');
7
- var agentGuidance = require('./agentGuidance-BM4kMNyr.cjs');
8
- var persistence = require('./limits-DY_sFA3J.cjs');
9
- var install = require('./install-BiOXBnnS.cjs');
7
+ var agentGuidance = require('./agentGuidance-DUBXppv-.cjs');
8
+ var persistence = require('./limits-CmzISka2.cjs');
9
+ var install = require('./install-BZOdxfPd.cjs');
10
10
  require('node:fs');
11
11
  require('node:path');
12
12
  require('tweetnacl');
13
13
  require('chalk');
14
14
  require('node:util');
15
15
  require('@paralleldrive/cuid2');
16
- require('./index-DHrwHxHf.cjs');
17
- require('./types-CUCU7Vw8.cjs');
16
+ require('./index-eCjkm8Y2.cjs');
17
+ require('./types-Bd_TGr0F.cjs');
18
18
  require('axios');
19
19
  require('node:events');
20
20
  require('socket.io-client');
@@ -2,17 +2,17 @@ import { homedir } from 'node:os';
2
2
  import { readFile } from 'node:fs/promises';
3
3
  import { z } from 'zod';
4
4
  import { randomUUID } from 'node:crypto';
5
- import { g as teamRequest, h as createTeamsClient } from './agentGuidance-C8unGWp7.mjs';
6
- import { f as readCredentialsForConfiguredRelay } from './limits-BtAuKRl2.mjs';
7
- import { a as installTeamSkill, i as installAutomationSkill } from './install-Ca7_Z3bV.mjs';
5
+ import { g as teamRequest, h as createTeamsClient } from './agentGuidance-TLYQxsm2.mjs';
6
+ import { f as readCredentialsForConfiguredRelay } from './limits-Dt7_unH4.mjs';
7
+ import { a as installTeamSkill, i as installAutomationSkill } from './install-CoLN3whR.mjs';
8
8
  import 'node:fs';
9
9
  import 'node:path';
10
10
  import 'tweetnacl';
11
11
  import 'chalk';
12
12
  import 'node:util';
13
13
  import '@paralleldrive/cuid2';
14
- import './index-BacwoXzs.mjs';
15
- import './types-BvqOVUOW.mjs';
14
+ import './index-BELV05ko.mjs';
15
+ import './types-D5RWyBE5.mjs';
16
16
  import 'axios';
17
17
  import 'node:events';
18
18
  import 'socket.io-client';
@@ -1,5 +1,5 @@
1
- import { f as readCredentialsForConfiguredRelay, g as createBuiltinTodoClient, c as configuration, B as BUILTIN_TODO_SKILL } from './limits-BtAuKRl2.mjs';
2
- import { f as readTeamScope, t as teamScopePath } from './agentGuidance-C8unGWp7.mjs';
1
+ import { f as readCredentialsForConfiguredRelay, g as createBuiltinTodoClient, c as configuration, B as BUILTIN_TODO_SKILL } from './limits-Dt7_unH4.mjs';
2
+ import { f as readTeamScope, t as teamScopePath } from './agentGuidance-TLYQxsm2.mjs';
3
3
  import 'node:fs/promises';
4
4
  import 'node:fs';
5
5
  import 'node:os';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var persistence = require('./limits-DY_sFA3J.cjs');
4
- var agentGuidance = require('./agentGuidance-BM4kMNyr.cjs');
3
+ var persistence = require('./limits-CmzISka2.cjs');
4
+ var agentGuidance = require('./agentGuidance-DUBXppv-.cjs');
5
5
  require('node:fs/promises');
6
6
  require('node:fs');
7
7
  require('node:os');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var axios = require('axios');
4
- var persistence = require('./limits-DY_sFA3J.cjs');
4
+ var persistence = require('./limits-CmzISka2.cjs');
5
5
  var node_events = require('node:events');
6
6
  var socket_ioClient = require('socket.io-client');
7
7
  var z = require('zod');
@@ -94,8 +94,9 @@ const CliUpdateStateSchema = z.z.object({
94
94
  recommendedVersion: z.z.string().nullable(),
95
95
  minimumVersion: z.z.string().nullable(),
96
96
  status: z.z.enum(["current", "available", "required"]),
97
- /** B-351: the version this machine may install by itself. Pinned separately
98
- * from `recommendedVersion`; null means no unattended install. */
97
+ /** B-351/B-503: the version this machine may install by itself, as decided
98
+ * by the relay (exact pin or the promoted `latest`); null means no
99
+ * unattended install. */
99
100
  autoUpdateVersion: z.z.string().nullable().optional(),
100
101
  retrySupported: z.z.boolean().optional(),
101
102
  manualUpdateSupported: z.z.boolean().optional(),
@@ -2333,6 +2334,23 @@ async function spawnDaemonSession(directory, sessionId, opts) {
2333
2334
  });
2334
2335
  return result;
2335
2336
  }
2337
+ const ROUTE_NOT_FOUND_RE = /, (Not Found|HTTP 404)$/;
2338
+ async function resumeDaemonSession(sessionId, opts) {
2339
+ const result = await daemonPost("/resume-session", {
2340
+ sessionId,
2341
+ ...opts?.model !== void 0 ? { model: opts.model } : {},
2342
+ ...opts?.permissionMode !== void 0 ? { permissionMode: opts.permissionMode } : {}
2343
+ });
2344
+ if (result?.error) {
2345
+ const raw = String(result.error);
2346
+ const error = ROUTE_NOT_FOUND_RE.test(raw) ? "daemon too old to resume sessions (no /resume-session route); upgrade very-happy-cli and run `very-happy daemon start`" : raw.replace(/^Request failed: \/resume-session, /, "");
2347
+ return { success: false, error };
2348
+ }
2349
+ if (result?.success === true && typeof result.sessionId === "string") {
2350
+ return { success: true, sessionId: result.sessionId };
2351
+ }
2352
+ return { success: false, error: typeof result?.error === "string" ? result.error : "unexpected daemon response" };
2353
+ }
2336
2354
  async function notifyDaemonSessionEvent(sessionId, event, spawnedBy) {
2337
2355
  return daemonPost("/session-event", { sessionId, event, spawnedBy });
2338
2356
  }
@@ -16714,6 +16732,7 @@ exports.readVhTerminal = readVhTerminal;
16714
16732
  exports.refreshAgentHomes = refreshAgentHomes;
16715
16733
  exports.resolveAgentHomes = resolveAgentHomes;
16716
16734
  exports.resolveCliUpdateCheckInterval = resolveCliUpdateCheckInterval;
16735
+ exports.resumeDaemonSession = resumeDaemonSession;
16717
16736
  exports.scrubTmuxClientEnv = scrubTmuxClientEnv;
16718
16737
  exports.sendToVhTerminal = sendToVhTerminal;
16719
16738
  exports.setTerminalTitleViaDaemon = setTerminalTitleViaDaemon;
@@ -1,5 +1,5 @@
1
1
  import axios from 'axios';
2
- import { y as AgentVersionsSchema, l as logger, j as encodeBase64, z as encrypt, D as decrypt, E as decodeBase64, c as configuration, e as createEnvelope, s as streamKeyOf, F as readDaemonState, G as clearDaemonState, R as ReleaseDrainNoticeSchema, H as decryptBlob, I as RelayAssignmentResponseSchema, J as prepareClipboardText, K as prepareClipboardHistoryText, r as readSettings, d as readPersistedSessions, L as credentialRelayProblem, p as packageJson, M as RelayCandidatesResponseSchema, N as readTrackedClaudeSessionIds, O as readTrackedCodexThreadIds, P as libsodiumEncryptForPublicKey, Q as libsodiumPublicKeyFromSecretKey, S as getRandomBytes, T as redactLogValue } from './limits-BtAuKRl2.mjs';
2
+ import { y as AgentVersionsSchema, l as logger, j as encodeBase64, z as encrypt, D as decrypt, E as decodeBase64, c as configuration, e as createEnvelope, s as streamKeyOf, F as readDaemonState, G as clearDaemonState, R as ReleaseDrainNoticeSchema, H as decryptBlob, I as RelayAssignmentResponseSchema, J as prepareClipboardText, K as prepareClipboardHistoryText, r as readSettings, d as readPersistedSessions, L as credentialRelayProblem, p as packageJson, M as RelayCandidatesResponseSchema, N as readTrackedClaudeSessionIds, O as readTrackedCodexThreadIds, P as libsodiumEncryptForPublicKey, Q as libsodiumPublicKeyFromSecretKey, S as getRandomBytes, T as redactLogValue } from './limits-Dt7_unH4.mjs';
3
3
  import { EventEmitter } from 'node:events';
4
4
  import { io } from 'socket.io-client';
5
5
  import { z } from 'zod';
@@ -73,8 +73,9 @@ const CliUpdateStateSchema = z.object({
73
73
  recommendedVersion: z.string().nullable(),
74
74
  minimumVersion: z.string().nullable(),
75
75
  status: z.enum(["current", "available", "required"]),
76
- /** B-351: the version this machine may install by itself. Pinned separately
77
- * from `recommendedVersion`; null means no unattended install. */
76
+ /** B-351/B-503: the version this machine may install by itself, as decided
77
+ * by the relay (exact pin or the promoted `latest`); null means no
78
+ * unattended install. */
78
79
  autoUpdateVersion: z.string().nullable().optional(),
79
80
  retrySupported: z.boolean().optional(),
80
81
  manualUpdateSupported: z.boolean().optional(),
@@ -2312,6 +2313,23 @@ async function spawnDaemonSession(directory, sessionId, opts) {
2312
2313
  });
2313
2314
  return result;
2314
2315
  }
2316
+ const ROUTE_NOT_FOUND_RE = /, (Not Found|HTTP 404)$/;
2317
+ async function resumeDaemonSession(sessionId, opts) {
2318
+ const result = await daemonPost("/resume-session", {
2319
+ sessionId,
2320
+ ...opts?.model !== void 0 ? { model: opts.model } : {},
2321
+ ...opts?.permissionMode !== void 0 ? { permissionMode: opts.permissionMode } : {}
2322
+ });
2323
+ if (result?.error) {
2324
+ const raw = String(result.error);
2325
+ const error = ROUTE_NOT_FOUND_RE.test(raw) ? "daemon too old to resume sessions (no /resume-session route); upgrade very-happy-cli and run `very-happy daemon start`" : raw.replace(/^Request failed: \/resume-session, /, "");
2326
+ return { success: false, error };
2327
+ }
2328
+ if (result?.success === true && typeof result.sessionId === "string") {
2329
+ return { success: true, sessionId: result.sessionId };
2330
+ }
2331
+ return { success: false, error: typeof result?.error === "string" ? result.error : "unexpected daemon response" };
2332
+ }
2315
2333
  async function notifyDaemonSessionEvent(sessionId, event, spawnedBy) {
2316
2334
  return daemonPost("/session-event", { sessionId, event, spawnedBy });
2317
2335
  }
@@ -16632,4 +16650,4 @@ const RawJSONLinesSchema = z.discriminatedUnion("type", [
16632
16650
  }).passthrough()
16633
16651
  ]);
16634
16652
 
16635
- export { stopDaemon as $, ApiClient as A, commandOnPath as B, CodexAppServerClient as C, deriveLocalCliUpdateSummary as D, isClaudeSessionId as E, ForkSourceMissingError as F, getLocalHappyAgentCredentialPath as G, readLocalHappyAgentCredentials as H, InvalidateSync as I, parseExactVersion as J, compareExactVersions as K, extractCompleteLines as L, MAX_CHAT_ATTACHMENT_SOURCE_BYTES as M, decideBackfill as N, parseTerminalHookPayload as O, tmuxArgs as P, scrubTmuxClientEnv as Q, RawJSONLinesSchema as R, decideMirrorBinding as S, MIRROR_BACKFILL_LINES_DEFAULT as T, mirrorLineKey as U, mirrorLocalId as V, listDaemonSessions as W, detectCLIAvailability as X, detectResumeSupport as Y, refreshAgentHomes as Z, isDaemonRunningCurrentlyInstalledHappyVersion as _, ApiSessionClient as a, TurnActivityTracker as a0, summarizeSpawnSessionForLog as a1, locateClaudeConversation as a2, agentHomeSpawnEnv as a3, shellescape as a4, fetchCliUpdateState as a5, resolveCliUpdateCheckInterval as a6, DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS as a7, cleanupDaemonState as a8, listVhTerminals as a9, isValidTerminalId as aa, readVhTerminal as ab, sendToVhTerminal as ac, TITLE_PROMPT_PREFIX as ad, BOARD_ANALYZER_PROMPT_PREFIX as ae, startOfflineReconnection as af, index as ag, api as ah, AGENT_HOME_ENV_NAMES as b, delay as c, describeAgentHome as d, expandHomePath as e, forkSession as f, getProjectPath as g, forkCodexThread as h, isValidSessionId as i, checkIfDaemonRunningAndCleanupStaleState as j, stopDaemonSession as k, pushClipboardViaDaemon as l, pushFilePreviewViaDaemon as m, setTerminalTitleViaDaemon as n, connectionState as o, probeLoginShellEnv as p, notifyDaemonSessionStarted as q, resolveAgentHomes as r, spawnDaemonSession as s, errorLogMetadata as t, contentLogMetadata as u, notifyDaemonSessionEvent as v, initializeSandbox as w, wrapCommand as x, AsyncLock as y, notifyDaemonClaudeAuthFailed as z };
16653
+ export { stopDaemon as $, ApiClient as A, commandOnPath as B, CodexAppServerClient as C, deriveLocalCliUpdateSummary as D, isClaudeSessionId as E, ForkSourceMissingError as F, getLocalHappyAgentCredentialPath as G, readLocalHappyAgentCredentials as H, InvalidateSync as I, parseExactVersion as J, compareExactVersions as K, extractCompleteLines as L, MAX_CHAT_ATTACHMENT_SOURCE_BYTES as M, decideBackfill as N, parseTerminalHookPayload as O, tmuxArgs as P, scrubTmuxClientEnv as Q, RawJSONLinesSchema as R, decideMirrorBinding as S, MIRROR_BACKFILL_LINES_DEFAULT as T, mirrorLineKey as U, mirrorLocalId as V, listDaemonSessions as W, detectCLIAvailability as X, detectResumeSupport as Y, refreshAgentHomes as Z, isDaemonRunningCurrentlyInstalledHappyVersion as _, ApiSessionClient as a, TurnActivityTracker as a0, summarizeSpawnSessionForLog as a1, locateClaudeConversation as a2, agentHomeSpawnEnv as a3, shellescape as a4, fetchCliUpdateState as a5, resolveCliUpdateCheckInterval as a6, DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS as a7, cleanupDaemonState as a8, resumeDaemonSession as a9, listVhTerminals as aa, isValidTerminalId as ab, readVhTerminal as ac, sendToVhTerminal as ad, TITLE_PROMPT_PREFIX as ae, BOARD_ANALYZER_PROMPT_PREFIX as af, startOfflineReconnection as ag, index as ah, api as ai, AGENT_HOME_ENV_NAMES as b, delay as c, describeAgentHome as d, expandHomePath as e, forkSession as f, getProjectPath as g, forkCodexThread as h, isValidSessionId as i, checkIfDaemonRunningAndCleanupStaleState as j, stopDaemonSession as k, pushClipboardViaDaemon as l, pushFilePreviewViaDaemon as m, setTerminalTitleViaDaemon as n, connectionState as o, probeLoginShellEnv as p, notifyDaemonSessionStarted as q, resolveAgentHomes as r, spawnDaemonSession as s, errorLogMetadata as t, contentLogMetadata as u, notifyDaemonSessionEvent as v, initializeSandbox as w, wrapCommand as x, AsyncLock as y, notifyDaemonClaudeAuthFailed as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "very-happy-cli",
3
- "version": "0.2.153",
3
+ "version": "0.2.154",
4
4
  "description": "Remote multi-agent workspace CLI with deep Claude integration, native terminal streaming, and self-hosting.",
5
5
  "author": "Kirill Dubovitskiy",
6
6
  "contributors": [
@@ -117,12 +117,12 @@
117
117
  "zod": "^4.0.0"
118
118
  },
119
119
  "optionalDependencies": {
120
- "very-happy-tools-arm64-darwin": "0.2.153",
121
- "very-happy-tools-x64-darwin": "0.2.153",
122
- "very-happy-tools-arm64-linux": "0.2.153",
123
- "very-happy-tools-x64-linux": "0.2.153",
124
- "very-happy-tools-arm64-win32": "0.2.153",
125
- "very-happy-tools-x64-win32": "0.2.153"
120
+ "very-happy-tools-arm64-darwin": "0.2.154",
121
+ "very-happy-tools-x64-darwin": "0.2.154",
122
+ "very-happy-tools-arm64-linux": "0.2.154",
123
+ "very-happy-tools-x64-linux": "0.2.154",
124
+ "very-happy-tools-arm64-win32": "0.2.154",
125
+ "very-happy-tools-x64-win32": "0.2.154"
126
126
  },
127
127
  "devDependencies": {
128
128
  "@slopus/happy-wire": "workspace:*",