very-happy-cli 0.2.129 → 0.2.131

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-MAU4POiE.mjs → AcpBackend-DSRZM4lo.mjs} +2 -2
  2. package/dist/{AcpBackend-kU2VqiYx.cjs → AcpBackend-Dv_EKDIQ.cjs} +2 -2
  3. package/dist/{AcpSessionManager-uSGDDRqF.mjs → AcpSessionManager-DtXOAeQ0.mjs} +1 -1
  4. package/dist/{AcpSessionManager-BWasT5jq.cjs → AcpSessionManager-r8SLweP4.cjs} +1 -1
  5. package/dist/{agentGuidance-B1PsijGg.cjs → agentGuidance-B4bH8Nuz.cjs} +1 -1
  6. package/dist/{agentGuidance-DlZ5s0Om.mjs → agentGuidance-CeuhVA2K.mjs} +1 -1
  7. package/dist/codex/happyMcpStdioBridge.cjs +2 -2
  8. package/dist/codex/happyMcpStdioBridge.mjs +2 -2
  9. package/dist/{config-_DKtp9qs.mjs → config-Ur8QEJ0U.mjs} +4 -4
  10. package/dist/{config-DswZvA8V.cjs → config-onxMcdX3.cjs} +4 -4
  11. package/dist/{index-dqKLs4dZ.cjs → index-B1hbB5R7.cjs} +14 -7
  12. package/dist/{index-BdZ7Dlg0.cjs → index-B5Vv72dN.cjs} +80 -24
  13. package/dist/{index-tr2Fqhby.mjs → index-BPYVCjjs.mjs} +76 -20
  14. package/dist/{index-1QwKRLYG.mjs → index-BXB-84P_.mjs} +4 -4
  15. package/dist/{index-lwOIU7K9.cjs → index-BjctcFpG.cjs} +4 -4
  16. package/dist/{index-FMMrmSa2.mjs → index-CsfUI8Bw.mjs} +15 -8
  17. package/dist/index.cjs +4 -4
  18. package/dist/index.mjs +4 -4
  19. package/dist/{installTerminalHooks-B3a0ugvz.mjs → installTerminalHooks-DLwx6m7I.mjs} +4 -4
  20. package/dist/{installTerminalHooks-CV2LAKXO.cjs → installTerminalHooks-IaEGKZDR.cjs} +4 -4
  21. package/dist/lib.cjs +2 -2
  22. package/dist/lib.d.cts +34 -22
  23. package/dist/lib.d.mts +34 -22
  24. package/dist/lib.mjs +2 -2
  25. package/dist/{limits-C41sn_OJ.mjs → limits-BusZ5sPV.mjs} +7 -7
  26. package/dist/{limits-B5wJ5Slz.cjs → limits-C9bJJEyR.cjs} +7 -7
  27. package/dist/{mcp-BHNVwrwS.mjs → mcp-CZJM3obK.mjs} +4 -4
  28. package/dist/{mcp-B7lwVQT8.cjs → mcp-D4_4kl0R.cjs} +4 -4
  29. package/dist/{runGemini-gbflWQ3_.cjs → runGemini-CRoqO5Mf.cjs} +6 -6
  30. package/dist/{runGemini-FNZrH8yX.mjs → runGemini-DGHhBbmk.mjs} +6 -6
  31. package/dist/{runOpenClaw-CmhYI7OB.cjs → runOpenClaw-BzY__v8T.cjs} +5 -5
  32. package/dist/{runOpenClaw-3EF_Rqv_.mjs → runOpenClaw-Ca9ygi8M.mjs} +5 -5
  33. package/dist/{send-DV7IeBAv.mjs → send-B1lln_bW.mjs} +4 -4
  34. package/dist/{send-DqedYZtc.cjs → send-CkfdImmJ.cjs} +4 -4
  35. package/dist/{sessions-ieB0bLb5.mjs → sessions-Cyzh822v.mjs} +4 -4
  36. package/dist/{sessions-Bz243hZ9.cjs → sessions-D4cvTe7G.cjs} +4 -4
  37. package/dist/{spawn-CcqzmjhT.mjs → spawn-CdOt7Cv_.mjs} +4 -4
  38. package/dist/{spawn-BXwwueEs.cjs → spawn-ID9-RfTN.cjs} +4 -4
  39. package/dist/{teams-Bx79Wr9-.mjs → teams-Bf2D8dwL.mjs} +4 -4
  40. package/dist/{teams-BtI6h4Dw.cjs → teams-CZ9xg-Rv.cjs} +4 -4
  41. package/dist/{todo-CGRuBaiH.mjs → todo-9iv7_n7i.mjs} +3 -3
  42. package/dist/{todo-B-Kj9lXl.cjs → todo-DK3L93BC.cjs} +3 -3
  43. package/dist/{types-Ba9u0uZL.cjs → types-B20MYc5R.cjs} +11 -2
  44. package/dist/{types-BvYEAHds.mjs → types-lFZhC_6M.mjs} +10 -2
  45. package/package.json +7 -7
@@ -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.129";
12
+ var version = "0.2.131";
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.129",
126
- "very-happy-tools-x64-darwin": "0.2.129",
127
- "very-happy-tools-arm64-linux": "0.2.129",
128
- "very-happy-tools-x64-linux": "0.2.129",
129
- "very-happy-tools-arm64-win32": "0.2.129",
130
- "very-happy-tools-x64-win32": "0.2.129"
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"
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.129";
33
+ var version = "0.2.131";
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.129",
147
- "very-happy-tools-x64-darwin": "0.2.129",
148
- "very-happy-tools-arm64-linux": "0.2.129",
149
- "very-happy-tools-x64-linux": "0.2.129",
150
- "very-happy-tools-arm64-win32": "0.2.129",
151
- "very-happy-tools-x64-win32": "0.2.129"
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"
152
152
  };
153
153
  var devDependencies = {
154
154
  "@slopus/happy-wire": "workspace:*",
@@ -1,9 +1,9 @@
1
- import { r as registerTeamsTools } from './agentGuidance-DlZ5s0Om.mjs';
1
+ import { r as registerTeamsTools } from './agentGuidance-CeuhVA2K.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-tr2Fqhby.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-C41sn_OJ.mjs';
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';
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-BvYEAHds.mjs';
14
+ import './types-lFZhC_6M.mjs';
15
15
  import 'node:fs';
16
16
  import 'node:path';
17
17
  import 'chalk';
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var agentGuidance = require('./agentGuidance-B1PsijGg.cjs');
3
+ var agentGuidance = require('./agentGuidance-B4bH8Nuz.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-BdZ7Dlg0.cjs');
8
- var persistence = require('./limits-B5wJ5Slz.cjs');
7
+ var index = require('./index-B5Vv72dN.cjs');
8
+ var persistence = require('./limits-C9bJJEyR.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-Ba9u0uZL.cjs');
16
+ require('./types-B20MYc5R.cjs');
17
17
  require('node:fs');
18
18
  require('node:path');
19
19
  require('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-Ba9u0uZL.cjs');
8
- var persistence = require('./limits-B5wJ5Slz.cjs');
9
- var index = require('./index-BdZ7Dlg0.cjs');
10
- var AcpBackend = require('./AcpBackend-kU2VqiYx.cjs');
11
- var config = require('./config-DswZvA8V.cjs');
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');
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-B1PsijGg.cjs');
37
+ require('./agentGuidance-B4bH8Nuz.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-BvYEAHds.mjs';
6
- import { l as logger, g as readSettings, i as encodeBase64 } from './limits-C41sn_OJ.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-tr2Fqhby.mjs';
8
- import { A as AcpBackend } from './AcpBackend-MAU4POiE.mjs';
9
- import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-_DKtp9qs.mjs';
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';
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-DlZ5s0Om.mjs';
35
+ import './agentGuidance-CeuhVA2K.mjs';
36
36
  import '@anthropic-ai/claude-agent-sdk';
37
37
  import 'ps-list';
38
38
  import 'tmp';
@@ -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-Ba9u0uZL.cjs');
9
- var AcpSessionManager = require('./AcpSessionManager-BWasT5jq.cjs');
10
- var persistence = require('./limits-B5wJ5Slz.cjs');
11
- var index = require('./index-BdZ7Dlg0.cjs');
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');
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-B1PsijGg.cjs');
37
+ require('./agentGuidance-B4bH8Nuz.cjs');
38
38
  require('ink');
39
39
  require('react');
40
40
  require('@anthropic-ai/claude-agent-sdk');
@@ -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-BvYEAHds.mjs';
7
- import { A as AcpSessionManager } from './AcpSessionManager-uSGDDRqF.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-C41sn_OJ.mjs';
9
- import { n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, x as MessageQueue2, y as registerKillSessionHandler } from './index-tr2Fqhby.mjs';
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';
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-DlZ5s0Om.mjs';
35
+ import './agentGuidance-CeuhVA2K.mjs';
36
36
  import 'ink';
37
37
  import 'react';
38
38
  import '@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-C41sn_OJ.mjs';
5
- import { d as sendUserMessage, a as sessionWebUrl } from './index-tr2Fqhby.mjs';
4
+ import { r as readPersistedSessions, c as configuration } from './limits-BusZ5sPV.mjs';
5
+ import { d as sendUserMessage, a as sessionWebUrl } from './index-BPYVCjjs.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-BvYEAHds.mjs';
12
+ import './types-lFZhC_6M.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-DlZ5s0Om.mjs';
31
+ import './agentGuidance-CeuhVA2K.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-B5wJ5Slz.cjs');
7
- var index = require('./index-BdZ7Dlg0.cjs');
6
+ var persistence = require('./limits-C9bJJEyR.cjs');
7
+ var index = require('./index-B5Vv72dN.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-Ba9u0uZL.cjs');
14
+ require('./types-B20MYc5R.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-B1PsijGg.cjs');
33
+ require('./agentGuidance-B4bH8Nuz.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-tr2Fqhby.mjs';
3
- import { i as isValidSessionId } from './types-BvYEAHds.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-BPYVCjjs.mjs';
3
+ import { i as isValidSessionId } from './types-lFZhC_6M.mjs';
4
4
  import 'node:os';
5
5
  import 'node:crypto';
6
- import './limits-C41sn_OJ.mjs';
6
+ import './limits-BusZ5sPV.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-DlZ5s0Om.mjs';
15
+ import './agentGuidance-CeuhVA2K.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-BdZ7Dlg0.cjs');
5
- var api = require('./types-Ba9u0uZL.cjs');
4
+ var index = require('./index-B5Vv72dN.cjs');
5
+ var api = require('./types-B20MYc5R.cjs');
6
6
  require('node:os');
7
7
  require('node:crypto');
8
- require('./limits-B5wJ5Slz.cjs');
8
+ require('./limits-C9bJJEyR.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-B1PsijGg.cjs');
17
+ require('./agentGuidance-B4bH8Nuz.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-tr2Fqhby.mjs';
5
- import { l as logger } from './limits-C41sn_OJ.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-BPYVCjjs.mjs';
5
+ import { l as logger } from './limits-BusZ5sPV.mjs';
6
6
  import 'node:os';
7
7
  import 'node:crypto';
8
- import './types-BvYEAHds.mjs';
8
+ import './types-lFZhC_6M.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-DlZ5s0Om.mjs';
30
+ import './agentGuidance-CeuhVA2K.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-BdZ7Dlg0.cjs');
7
- var persistence = require('./limits-B5wJ5Slz.cjs');
6
+ var index = require('./index-B5Vv72dN.cjs');
7
+ var persistence = require('./limits-C9bJJEyR.cjs');
8
8
  require('node:os');
9
9
  require('node:crypto');
10
- require('./types-Ba9u0uZL.cjs');
10
+ require('./types-B20MYc5R.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-B1PsijGg.cjs');
32
+ require('./agentGuidance-B4bH8Nuz.cjs');
33
33
  require('ink');
34
34
  require('react');
35
35
  require('@anthropic-ai/claude-agent-sdk');
@@ -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-DlZ5s0Om.mjs';
6
- import { d as readCredentialsForConfiguredRelay } from './limits-C41sn_OJ.mjs';
5
+ import { d as teamRequest, e as createTeamsClient } from './agentGuidance-CeuhVA2K.mjs';
6
+ import { d as readCredentialsForConfiguredRelay } from './limits-BusZ5sPV.mjs';
7
7
  import { join, resolve, dirname } from 'node:path';
8
- import { T as TEAM_SKILL } from './index-tr2Fqhby.mjs';
8
+ import { T as TEAM_SKILL } from './index-BPYVCjjs.mjs';
9
9
  import 'node:fs';
10
10
  import 'tweetnacl';
11
11
  import 'chalk';
12
12
  import 'node:util';
13
- import './types-BvYEAHds.mjs';
13
+ import './types-lFZhC_6M.mjs';
14
14
  import 'axios';
15
15
  import 'node:events';
16
16
  import 'socket.io-client';
@@ -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-B1PsijGg.cjs');
8
- var persistence = require('./limits-B5wJ5Slz.cjs');
7
+ var agentGuidance = require('./agentGuidance-B4bH8Nuz.cjs');
8
+ var persistence = require('./limits-C9bJJEyR.cjs');
9
9
  var path = require('node:path');
10
- var index = require('./index-BdZ7Dlg0.cjs');
10
+ var index = require('./index-B5Vv72dN.cjs');
11
11
  require('node:fs');
12
12
  require('tweetnacl');
13
13
  require('chalk');
14
14
  require('node:util');
15
- require('./types-Ba9u0uZL.cjs');
15
+ require('./types-B20MYc5R.cjs');
16
16
  require('axios');
17
17
  require('node:events');
18
18
  require('socket.io-client');
@@ -1,6 +1,6 @@
1
- import { d as readCredentialsForConfiguredRelay, c as configuration } from './limits-C41sn_OJ.mjs';
2
- import { b as createBuiltinTodoClient, B as BUILTIN_TODO_SKILL } from './types-BvYEAHds.mjs';
3
- import { c as readTeamScope, t as teamScopePath } from './agentGuidance-DlZ5s0Om.mjs';
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';
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-B5wJ5Slz.cjs');
4
- var api = require('./types-Ba9u0uZL.cjs');
5
- var agentGuidance = require('./agentGuidance-B1PsijGg.cjs');
3
+ var persistence = require('./limits-C9bJJEyR.cjs');
4
+ var api = require('./types-B20MYc5R.cjs');
5
+ var agentGuidance = require('./agentGuidance-B4bH8Nuz.cjs');
6
6
  require('node:fs/promises');
7
7
  require('node:fs');
8
8
  require('node:os');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var axios = require('axios');
4
- var persistence = require('./limits-B5wJ5Slz.cjs');
4
+ var persistence = require('./limits-C9bJJEyR.cjs');
5
5
  var node_events = require('node:events');
6
6
  var socket_ioClient = require('socket.io-client');
7
7
  var z = require('zod');
@@ -351,6 +351,8 @@ const sessionStreamBlockEndSchema = z__namespace.object({
351
351
  });
352
352
  const sessionStreamProgressSchema = z__namespace.object({
353
353
  t: z__namespace.literal("progress"),
354
+ inputTokens: z__namespace.number().int().min(0).optional(),
355
+ cacheTokens: z__namespace.number().int().min(0).optional(),
354
356
  thinkingTokens: z__namespace.number().int().min(0).optional(),
355
357
  outputTokens: z__namespace.number().int().min(0).optional(),
356
358
  status: z__namespace.enum(["requesting", "compacting"]).optional()
@@ -792,6 +794,12 @@ For edit/status/delete, a conflict means the version changed. Read the task and
792
794
  Restricted team workers cannot use account-wide Todo credentials. Ask the user or supervising session to perform the account operation; do not clear scope variables or seek another credential to bypass that boundary.
793
795
  `;
794
796
  const BUILTIN_TODO_DISCOVERY = "For the user\u2019s Very Happy My todos, run `very-happy todo skill` to read the official skill, then use its CLI commands. Do not confuse account todos with your execution plan; restricted team workers must not bypass their scope.";
797
+ const ContextUsageSchema = z.z.object({
798
+ source: z.z.literal("pi"),
799
+ tokens: z.z.number().finite().nonnegative().nullable(),
800
+ contextWindow: z.z.number().finite().positive(),
801
+ updatedAt: z.z.number().finite().nonnegative()
802
+ });
795
803
 
796
804
  z.z.object({
797
805
  teamsVersion: z.z.number().int().positive().optional(),
@@ -1335,7 +1343,7 @@ class RpcHandlerManager {
1335
1343
  }
1336
1344
  }
1337
1345
 
1338
- 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-Ba9u0uZL.cjs', document.baseURI).href))));
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))));
1339
1347
  function projectPath() {
1340
1348
  const path$1 = path.resolve(__dirname$1, "..");
1341
1349
  return path$1;
@@ -16222,6 +16230,7 @@ exports.BOARD_ANALYZER_PROMPT_PREFIX = BOARD_ANALYZER_PROMPT_PREFIX;
16222
16230
  exports.BUILTIN_TODO_DISCOVERY = BUILTIN_TODO_DISCOVERY;
16223
16231
  exports.BUILTIN_TODO_SKILL = BUILTIN_TODO_SKILL;
16224
16232
  exports.CodexAppServerClient = CodexAppServerClient;
16233
+ exports.ContextUsageSchema = ContextUsageSchema;
16225
16234
  exports.DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS = DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS;
16226
16235
  exports.InvalidateSync = InvalidateSync;
16227
16236
  exports.MAX_CHAT_ATTACHMENT_SOURCE_BYTES = MAX_CHAT_ATTACHMENT_SOURCE_BYTES;
@@ -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-C41sn_OJ.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-BusZ5sPV.mjs';
3
3
  import { EventEmitter } from 'node:events';
4
4
  import { io } from 'socket.io-client';
5
5
  import * as z from 'zod';
@@ -329,6 +329,8 @@ const sessionStreamBlockEndSchema = z.object({
329
329
  });
330
330
  const sessionStreamProgressSchema = z.object({
331
331
  t: z.literal("progress"),
332
+ inputTokens: z.number().int().min(0).optional(),
333
+ cacheTokens: z.number().int().min(0).optional(),
332
334
  thinkingTokens: z.number().int().min(0).optional(),
333
335
  outputTokens: z.number().int().min(0).optional(),
334
336
  status: z.enum(["requesting", "compacting"]).optional()
@@ -770,6 +772,12 @@ For edit/status/delete, a conflict means the version changed. Read the task and
770
772
  Restricted team workers cannot use account-wide Todo credentials. Ask the user or supervising session to perform the account operation; do not clear scope variables or seek another credential to bypass that boundary.
771
773
  `;
772
774
  const BUILTIN_TODO_DISCOVERY = "For the user\u2019s Very Happy My todos, run `very-happy todo skill` to read the official skill, then use its CLI commands. Do not confuse account todos with your execution plan; restricted team workers must not bypass their scope.";
775
+ const ContextUsageSchema = z$1.object({
776
+ source: z$1.literal("pi"),
777
+ tokens: z$1.number().finite().nonnegative().nullable(),
778
+ contextWindow: z$1.number().finite().positive(),
779
+ updatedAt: z$1.number().finite().nonnegative()
780
+ });
773
781
 
774
782
  z$1.object({
775
783
  teamsVersion: z$1.number().int().positive().optional(),
@@ -16193,4 +16201,4 @@ const RawJSONLinesSchema = z$1.discriminatedUnion("type", [
16193
16201
  }).passthrough()
16194
16202
  ]);
16195
16203
 
16196
- export { ApiClient as A, BUILTIN_TODO_SKILL as B, scrubTmuxClientEnv as C, decideMirrorBinding as D, MIRROR_BACKFILL_LINES_DEFAULT as E, mirrorLineKey as F, mirrorLocalId as G, detectCLIAvailability as H, InvalidateSync as I, detectResumeSupport as J, summarizeSpawnSessionForLog as K, shellescape as L, MAX_CHAT_ATTACHMENT_SOURCE_BYTES as M, fetchCliUpdateState as N, resolveCliUpdateCheckInterval as O, DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS as P, listVhTerminals as Q, RawJSONLinesSchema as R, STREAM_DELTA_MAX_CHARS as S, isValidTerminalId as T, readVhTerminal as U, sendToVhTerminal as V, TITLE_PROMPT_PREFIX as W, BOARD_ANALYZER_PROMPT_PREFIX as X, startOfflineReconnection as Y, CodexAppServerClient as Z, api as _, ApiSessionClient as a, createBuiltinTodoClient as b, createEnvelope as c, contentLogMetadata as d, errorLogMetadata as e, connectionState as f, BUILTIN_TODO_DISCOVERY as g, delay as h, isValidSessionId as i, getProjectPath as j, initializeSandbox as k, AsyncLock as l, commandOnPath as m, deriveLocalCliUpdateSummary as n, isClaudeSessionId as o, projectPath as p, getLocalHappyAgentCredentialPath as q, readLocalHappyAgentCredentials as r, streamKeyOf as s, parseExactVersion as t, compareExactVersions as u, extractCompleteLines as v, wrapCommand as w, decideBackfill as x, parseTerminalHookPayload as y, tmuxArgs as z };
16204
+ export { api as $, ApiClient as A, BUILTIN_TODO_SKILL as B, scrubTmuxClientEnv as C, decideMirrorBinding as D, MIRROR_BACKFILL_LINES_DEFAULT as E, mirrorLineKey as F, mirrorLocalId as G, detectCLIAvailability as H, InvalidateSync as I, detectResumeSupport as J, summarizeSpawnSessionForLog as K, shellescape as L, MAX_CHAT_ATTACHMENT_SOURCE_BYTES as M, fetchCliUpdateState as N, resolveCliUpdateCheckInterval as O, DEFAULT_CLI_UPDATE_CHECK_INTERVAL_MS as P, listVhTerminals as Q, RawJSONLinesSchema as R, STREAM_DELTA_MAX_CHARS as S, isValidTerminalId as T, readVhTerminal as U, sendToVhTerminal as V, ContextUsageSchema as W, TITLE_PROMPT_PREFIX as X, BOARD_ANALYZER_PROMPT_PREFIX as Y, startOfflineReconnection as Z, CodexAppServerClient as _, ApiSessionClient as a, createBuiltinTodoClient as b, createEnvelope as c, contentLogMetadata as d, errorLogMetadata as e, connectionState as f, BUILTIN_TODO_DISCOVERY as g, delay as h, isValidSessionId as i, getProjectPath as j, initializeSandbox as k, AsyncLock as l, commandOnPath as m, deriveLocalCliUpdateSummary as n, isClaudeSessionId as o, projectPath as p, getLocalHappyAgentCredentialPath as q, readLocalHappyAgentCredentials as r, streamKeyOf as s, parseExactVersion as t, compareExactVersions as u, extractCompleteLines as v, wrapCommand as w, decideBackfill as x, parseTerminalHookPayload as y, tmuxArgs as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "very-happy-cli",
3
- "version": "0.2.129",
3
+ "version": "0.2.131",
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.129",
117
- "very-happy-tools-x64-darwin": "0.2.129",
118
- "very-happy-tools-arm64-linux": "0.2.129",
119
- "very-happy-tools-x64-linux": "0.2.129",
120
- "very-happy-tools-arm64-win32": "0.2.129",
121
- "very-happy-tools-x64-win32": "0.2.129"
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"
122
122
  },
123
123
  "devDependencies": {
124
124
  "@slopus/happy-wire": "workspace:*",