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
@@ -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-lFZhC_6M.mjs';
7
- import { A as AcpSessionManager } from './AcpSessionManager-DtXOAeQ0.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-BusZ5sPV.mjs';
9
- import { n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, x as MessageQueue2, y as registerKillSessionHandler } from './index-BPYVCjjs.mjs';
6
+ import { e as errorLogMetadata, d as contentLogMetadata, f as connectionState, A as ApiClient } from './types-6DrEgHVx.mjs';
7
+ import { A as AcpSessionManager } from './AcpSessionManager-C7unPEZO.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-Du7S6jqA.mjs';
9
+ import { n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, x as MessageQueue2, y as registerKillSessionHandler } from './index-EsR8ayIg.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-CeuhVA2K.mjs';
35
+ import './agentGuidance-BaplwDcV.mjs';
36
36
  import 'ink';
37
37
  import 'react';
38
38
  import '@anthropic-ai/claude-agent-sdk';
@@ -5,10 +5,10 @@ var node_child_process = require('node:child_process');
5
5
  var os = require('node:os');
6
6
  var node_fs = require('node:fs');
7
7
  var path = require('node:path');
8
- var api = require('./types-B20MYc5R.cjs');
9
- var AcpSessionManager = require('./AcpSessionManager-r8SLweP4.cjs');
10
- var persistence = require('./limits-C9bJJEyR.cjs');
11
- var index = require('./index-B5Vv72dN.cjs');
8
+ var api = require('./types-CcjVmS2i.cjs');
9
+ var AcpSessionManager = require('./AcpSessionManager-DDFEmhQp.cjs');
10
+ var persistence = require('./limits-XRNzIlVm.cjs');
11
+ var index = require('./index-6Xm0CgN_.cjs');
12
12
  var WebSocket = require('ws');
13
13
  var ed = require('@noble/ed25519');
14
14
  var sha2_js = require('@noble/hashes/sha2.js');
@@ -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('ink');
39
39
  require('react');
40
40
  require('@anthropic-ai/claude-agent-sdk');
@@ -1,15 +1,15 @@
1
1
  import chalk from 'chalk';
2
2
  import { readFileSync } from 'node:fs';
3
3
  import { resolve } from 'node:path';
4
- import { r as readPersistedSessions, c as configuration } from './limits-BusZ5sPV.mjs';
5
- import { d as sendUserMessage, a as sessionWebUrl } from './index-BPYVCjjs.mjs';
4
+ import { r as readPersistedSessions, c as configuration } from './limits-Du7S6jqA.mjs';
5
+ import { d as sendUserMessage, a as sessionWebUrl } from './index-EsR8ayIg.mjs';
6
6
  import 'node:fs/promises';
7
7
  import 'node:os';
8
8
  import 'zod';
9
9
  import 'node:crypto';
10
10
  import 'tweetnacl';
11
11
  import 'node:util';
12
- import './types-lFZhC_6M.mjs';
12
+ import './types-6DrEgHVx.mjs';
13
13
  import 'axios';
14
14
  import 'node:events';
15
15
  import 'socket.io-client';
@@ -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';
@@ -3,15 +3,15 @@
3
3
  var chalk = require('chalk');
4
4
  var node_fs = require('node:fs');
5
5
  var path = require('node:path');
6
- var persistence = require('./limits-C9bJJEyR.cjs');
7
- var index = require('./index-B5Vv72dN.cjs');
6
+ var persistence = require('./limits-XRNzIlVm.cjs');
7
+ var index = require('./index-6Xm0CgN_.cjs');
8
8
  require('node:fs/promises');
9
9
  require('node:os');
10
10
  require('zod');
11
11
  require('node:crypto');
12
12
  require('tweetnacl');
13
13
  require('node:util');
14
- require('./types-B20MYc5R.cjs');
14
+ require('./types-CcjVmS2i.cjs');
15
15
  require('axios');
16
16
  require('node:events');
17
17
  require('socket.io-client');
@@ -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');
@@ -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, e as listSessions, r as readSessionTranscript, f as stopSession, g as resolvePermissionRequest, h as archiveSession } from './index-BPYVCjjs.mjs';
3
- import { i as isValidSessionId } from './types-lFZhC_6M.mjs';
2
+ import { D as DEFAULT_RECENT_LIMIT, M as MAX_READ_LIMIT, l as listAccountSessions, e as listSessions, r as readSessionTranscript, f as stopSession, g as resolvePermissionRequest, h as archiveSession } from './index-EsR8ayIg.mjs';
3
+ import { i as isValidSessionId } from './types-6DrEgHVx.mjs';
4
4
  import 'node:os';
5
5
  import 'node:crypto';
6
- import './limits-BusZ5sPV.mjs';
6
+ import './limits-Du7S6jqA.mjs';
7
7
  import 'node:fs/promises';
8
8
  import 'node:fs';
9
9
  import 'node:path';
@@ -12,7 +12,7 @@ import 'tweetnacl';
12
12
  import 'node:util';
13
13
  import 'cross-spawn';
14
14
  import 'node:readline';
15
- import './agentGuidance-CeuhVA2K.mjs';
15
+ import './agentGuidance-BaplwDcV.mjs';
16
16
  import 'fs/promises';
17
17
  import 'ink';
18
18
  import 'react';
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var index = require('./index-B5Vv72dN.cjs');
5
- var api = require('./types-B20MYc5R.cjs');
4
+ var index = require('./index-6Xm0CgN_.cjs');
5
+ var api = require('./types-CcjVmS2i.cjs');
6
6
  require('node:os');
7
7
  require('node:crypto');
8
- require('./limits-C9bJJEyR.cjs');
8
+ require('./limits-XRNzIlVm.cjs');
9
9
  require('node:fs/promises');
10
10
  require('node:fs');
11
11
  require('node:path');
@@ -14,7 +14,7 @@ require('tweetnacl');
14
14
  require('node:util');
15
15
  require('cross-spawn');
16
16
  require('node:readline');
17
- require('./agentGuidance-B4bH8Nuz.cjs');
17
+ require('./agentGuidance-BItqIZTf.cjs');
18
18
  require('fs/promises');
19
19
  require('ink');
20
20
  require('react');
@@ -1,11 +1,11 @@
1
1
  import chalk from 'chalk';
2
2
  import { readFileSync, statSync } from 'node:fs';
3
3
  import { resolve } from 'node:path';
4
- import { c as checkIfDaemonRunningAndCleanupStaleState, s as spawnDaemonSession, a as sessionWebUrl, i as isValidSpawnOrigin, b as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES, S as SPAWN_AGENTS, w as waitForSessionKey, d as sendUserMessage } from './index-BPYVCjjs.mjs';
5
- import { l as logger } from './limits-BusZ5sPV.mjs';
4
+ import { c as checkIfDaemonRunningAndCleanupStaleState, s as spawnDaemonSession, a as sessionWebUrl, i as isValidSpawnOrigin, b as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES, S as SPAWN_AGENTS, w as waitForSessionKey, d as sendUserMessage } from './index-EsR8ayIg.mjs';
5
+ import { l as logger } from './limits-Du7S6jqA.mjs';
6
6
  import 'node:os';
7
7
  import 'node:crypto';
8
- import './types-lFZhC_6M.mjs';
8
+ import './types-6DrEgHVx.mjs';
9
9
  import 'axios';
10
10
  import 'node:events';
11
11
  import 'socket.io-client';
@@ -27,7 +27,7 @@ import 'tweetnacl';
27
27
  import 'node:readline';
28
28
  import '@anthropic-ai/sandbox-runtime';
29
29
  import 'expo-server-sdk';
30
- import './agentGuidance-CeuhVA2K.mjs';
30
+ import './agentGuidance-BaplwDcV.mjs';
31
31
  import 'ink';
32
32
  import 'react';
33
33
  import '@anthropic-ai/claude-agent-sdk';
@@ -3,11 +3,11 @@
3
3
  var chalk = require('chalk');
4
4
  var node_fs = require('node:fs');
5
5
  var path = require('node:path');
6
- var index = require('./index-B5Vv72dN.cjs');
7
- var persistence = require('./limits-C9bJJEyR.cjs');
6
+ var index = require('./index-6Xm0CgN_.cjs');
7
+ var persistence = require('./limits-XRNzIlVm.cjs');
8
8
  require('node:os');
9
9
  require('node:crypto');
10
- require('./types-B20MYc5R.cjs');
10
+ require('./types-CcjVmS2i.cjs');
11
11
  require('axios');
12
12
  require('node:events');
13
13
  require('socket.io-client');
@@ -29,7 +29,7 @@ require('tweetnacl');
29
29
  require('node:readline');
30
30
  require('@anthropic-ai/sandbox-runtime');
31
31
  require('expo-server-sdk');
32
- require('./agentGuidance-B4bH8Nuz.cjs');
32
+ require('./agentGuidance-BItqIZTf.cjs');
33
33
  require('ink');
34
34
  require('react');
35
35
  require('@anthropic-ai/claude-agent-sdk');
@@ -4,15 +4,15 @@ 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-B4bH8Nuz.cjs');
8
- var persistence = require('./limits-C9bJJEyR.cjs');
7
+ var agentGuidance = require('./agentGuidance-BItqIZTf.cjs');
8
+ var persistence = require('./limits-XRNzIlVm.cjs');
9
9
  var path = require('node:path');
10
- var index = require('./index-B5Vv72dN.cjs');
10
+ var index = require('./index-6Xm0CgN_.cjs');
11
11
  require('node:fs');
12
12
  require('tweetnacl');
13
13
  require('chalk');
14
14
  require('node:util');
15
- require('./types-B20MYc5R.cjs');
15
+ require('./types-CcjVmS2i.cjs');
16
16
  require('axios');
17
17
  require('node:events');
18
18
  require('socket.io-client');
@@ -2,15 +2,15 @@ import { homedir } from 'node:os';
2
2
  import { unlink, rmdir, mkdir, lstat, readFile, writeFile, rename } from 'node:fs/promises';
3
3
  import { z } from 'zod';
4
4
  import { createHash, randomUUID } from 'node:crypto';
5
- import { d as teamRequest, e as createTeamsClient } from './agentGuidance-CeuhVA2K.mjs';
6
- import { d as readCredentialsForConfiguredRelay } from './limits-BusZ5sPV.mjs';
5
+ import { d as teamRequest, e as createTeamsClient } from './agentGuidance-BaplwDcV.mjs';
6
+ import { d as readCredentialsForConfiguredRelay } from './limits-Du7S6jqA.mjs';
7
7
  import { join, resolve, dirname } from 'node:path';
8
- import { T as TEAM_SKILL } from './index-BPYVCjjs.mjs';
8
+ import { T as TEAM_SKILL } from './index-EsR8ayIg.mjs';
9
9
  import 'node:fs';
10
10
  import 'tweetnacl';
11
11
  import 'chalk';
12
12
  import 'node:util';
13
- import './types-lFZhC_6M.mjs';
13
+ import './types-6DrEgHVx.mjs';
14
14
  import 'axios';
15
15
  import 'node:events';
16
16
  import 'socket.io-client';
@@ -1,6 +1,6 @@
1
- import { d as readCredentialsForConfiguredRelay, c as configuration } from './limits-BusZ5sPV.mjs';
2
- import { b as createBuiltinTodoClient, B as BUILTIN_TODO_SKILL } from './types-lFZhC_6M.mjs';
3
- import { c as readTeamScope, t as teamScopePath } from './agentGuidance-CeuhVA2K.mjs';
1
+ import { d as readCredentialsForConfiguredRelay, c as configuration } from './limits-Du7S6jqA.mjs';
2
+ import { b as createBuiltinTodoClient, B as BUILTIN_TODO_SKILL } from './types-6DrEgHVx.mjs';
3
+ import { c as readTeamScope, t as teamScopePath } from './agentGuidance-BaplwDcV.mjs';
4
4
  import 'node:fs/promises';
5
5
  import 'node:fs';
6
6
  import 'node:os';
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var persistence = require('./limits-C9bJJEyR.cjs');
4
- var api = require('./types-B20MYc5R.cjs');
5
- var agentGuidance = require('./agentGuidance-B4bH8Nuz.cjs');
3
+ var persistence = require('./limits-XRNzIlVm.cjs');
4
+ var api = require('./types-CcjVmS2i.cjs');
5
+ var agentGuidance = require('./agentGuidance-BItqIZTf.cjs');
6
6
  require('node:fs/promises');
7
7
  require('node:fs');
8
8
  require('node:os');
@@ -1,5 +1,5 @@
1
1
  import axios from 'axios';
2
- import { l as logger, i as encodeBase64, j as encrypt, k as decrypt, m as decodeBase64, c as configuration, o as decryptBlob, q as prepareClipboardText, g as readSettings, r as readPersistedSessions, s as credentialRelayProblem, p as packageJson, t as readTrackedClaudeSessionIds, u as libsodiumEncryptForPublicKey, v as libsodiumPublicKeyFromSecretKey, x as getRandomBytes, y as redactLogValue } from './limits-BusZ5sPV.mjs';
2
+ import { l as logger, i as encodeBase64, j as encrypt, k as decrypt, m as decodeBase64, c as configuration, o as decryptBlob, q as prepareClipboardText, g as readSettings, r as readPersistedSessions, s as credentialRelayProblem, p as packageJson, t as readTrackedClaudeSessionIds, u as libsodiumEncryptForPublicKey, v as libsodiumPublicKeyFromSecretKey, x as getRandomBytes, y as redactLogValue } from './limits-Du7S6jqA.mjs';
3
3
  import { EventEmitter } from 'node:events';
4
4
  import { io } from 'socket.io-client';
5
5
  import * as z from 'zod';
@@ -830,6 +830,7 @@ const CliUpdateStateSchema = z$1.object({
830
830
  * from `recommendedVersion`; null means no unattended install. */
831
831
  autoUpdateVersion: z$1.string().nullable().optional(),
832
832
  retrySupported: z$1.boolean().optional(),
833
+ manualUpdateSupported: z$1.boolean().optional(),
833
834
  checkedAt: z$1.number(),
834
835
  /**
835
836
  * B-321: a new bundle is on disk but refused to run, so the daemon is still
@@ -839,6 +840,7 @@ const CliUpdateStateSchema = z$1.object({
839
840
  handoverHold: z$1.object({ reason: z$1.string(), at: z$1.number() }).nullable().optional(),
840
841
  /** B-327: the last thing the machine's auto-update did, or why it did nothing. */
841
842
  autoUpdate: z$1.object({
843
+ source: z$1.string().optional(),
842
844
  state: z$1.union([z$1.enum(["installing", "installed", "failed", "skipped"]), z$1.string()]),
843
845
  version: z$1.string().nullable(),
844
846
  detail: z$1.string().optional(),
@@ -14167,6 +14169,9 @@ class ApiMachineClient {
14167
14169
  encTerminalData(dataBase64) {
14168
14170
  return encodeBase64(encrypt(this.machine.encryptionKey, this.machine.encryptionVariant, dataBase64));
14169
14171
  }
14172
+ setCliUpdateRequestHandler(handler) {
14173
+ this.rpcHandlerManager.registerHandler("cli-update-request", (params) => handler(params && typeof params === "object" ? params.version : void 0));
14174
+ }
14170
14175
  setCliUpdateRetryHandler(handler) {
14171
14176
  this.rpcHandlerManager.registerHandler("cli-update-retry", (params) => handler(params && typeof params === "object" ? params.version : void 0));
14172
14177
  }
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var axios = require('axios');
4
- var persistence = require('./limits-C9bJJEyR.cjs');
4
+ var persistence = require('./limits-XRNzIlVm.cjs');
5
5
  var node_events = require('node:events');
6
6
  var socket_ioClient = require('socket.io-client');
7
7
  var z = require('zod');
@@ -852,6 +852,7 @@ const CliUpdateStateSchema = z.z.object({
852
852
  * from `recommendedVersion`; null means no unattended install. */
853
853
  autoUpdateVersion: z.z.string().nullable().optional(),
854
854
  retrySupported: z.z.boolean().optional(),
855
+ manualUpdateSupported: z.z.boolean().optional(),
855
856
  checkedAt: z.z.number(),
856
857
  /**
857
858
  * B-321: a new bundle is on disk but refused to run, so the daemon is still
@@ -861,6 +862,7 @@ const CliUpdateStateSchema = z.z.object({
861
862
  handoverHold: z.z.object({ reason: z.z.string(), at: z.z.number() }).nullable().optional(),
862
863
  /** B-327: the last thing the machine's auto-update did, or why it did nothing. */
863
864
  autoUpdate: z.z.object({
865
+ source: z.z.string().optional(),
864
866
  state: z.z.union([z.z.enum(["installing", "installed", "failed", "skipped"]), z.z.string()]),
865
867
  version: z.z.string().nullable(),
866
868
  detail: z.z.string().optional(),
@@ -1343,7 +1345,7 @@ class RpcHandlerManager {
1343
1345
  }
1344
1346
  }
1345
1347
 
1346
- const __dirname$1 = path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('types-B20MYc5R.cjs', document.baseURI).href))));
1348
+ const __dirname$1 = path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('types-CcjVmS2i.cjs', document.baseURI).href))));
1347
1349
  function projectPath() {
1348
1350
  const path$1 = path.resolve(__dirname$1, "..");
1349
1351
  return path$1;
@@ -14189,6 +14191,9 @@ class ApiMachineClient {
14189
14191
  encTerminalData(dataBase64) {
14190
14192
  return persistence.encodeBase64(persistence.encrypt(this.machine.encryptionKey, this.machine.encryptionVariant, dataBase64));
14191
14193
  }
14194
+ setCliUpdateRequestHandler(handler) {
14195
+ this.rpcHandlerManager.registerHandler("cli-update-request", (params) => handler(params && typeof params === "object" ? params.version : void 0));
14196
+ }
14192
14197
  setCliUpdateRetryHandler(handler) {
14193
14198
  this.rpcHandlerManager.registerHandler("cli-update-retry", (params) => handler(params && typeof params === "object" ? params.version : void 0));
14194
14199
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "very-happy-cli",
3
- "version": "0.2.131",
3
+ "version": "0.2.133",
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": [
@@ -113,12 +113,12 @@
113
113
  "zod": "^4.0.0"
114
114
  },
115
115
  "optionalDependencies": {
116
- "very-happy-tools-arm64-darwin": "0.2.131",
117
- "very-happy-tools-x64-darwin": "0.2.131",
118
- "very-happy-tools-arm64-linux": "0.2.131",
119
- "very-happy-tools-x64-linux": "0.2.131",
120
- "very-happy-tools-arm64-win32": "0.2.131",
121
- "very-happy-tools-x64-win32": "0.2.131"
116
+ "very-happy-tools-arm64-darwin": "0.2.133",
117
+ "very-happy-tools-x64-darwin": "0.2.133",
118
+ "very-happy-tools-arm64-linux": "0.2.133",
119
+ "very-happy-tools-x64-linux": "0.2.133",
120
+ "very-happy-tools-arm64-win32": "0.2.133",
121
+ "very-happy-tools-x64-win32": "0.2.133"
122
122
  },
123
123
  "devDependencies": {
124
124
  "@slopus/happy-wire": "workspace:*",