very-happy-cli 0.2.125 → 0.2.126

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 (41) hide show
  1. package/dist/{AcpBackend-DOQGItcS.mjs → AcpBackend-BzGpBAZ0.mjs} +2 -2
  2. package/dist/{AcpBackend-ssQpTLks.cjs → AcpBackend-C9eu6CDu.cjs} +2 -2
  3. package/dist/{AcpSessionManager-D4WkNsRs.mjs → AcpSessionManager-B223yT78.mjs} +1 -1
  4. package/dist/{AcpSessionManager-DHLc-D50.cjs → AcpSessionManager-DQ1e_0gc.cjs} +1 -1
  5. package/dist/{agentGuidance-QpYwykb9.mjs → agentGuidance-BR0OFumQ.mjs} +2 -2
  6. package/dist/{agentGuidance-Cg9ZG1pP.cjs → agentGuidance-Tm8Z5HYp.cjs} +2 -1
  7. package/dist/codex/happyMcpStdioBridge.cjs +2 -2
  8. package/dist/codex/happyMcpStdioBridge.mjs +2 -2
  9. package/dist/{config-CZNIz3W0.mjs → config-Bjd1nG0P.mjs} +4 -4
  10. package/dist/{config-BxHOGtEK.cjs → config-C0mofvCH.cjs} +4 -4
  11. package/dist/{index-D-BgvQi5.mjs → index-BP56asuS.mjs} +4 -4
  12. package/dist/{index-CBj99SO6.cjs → index-CMbKpntk.cjs} +6 -6
  13. package/dist/{index-Jrk6ud3g.mjs → index-CV6sAa4a.mjs} +7 -7
  14. package/dist/{index-Do-kjc30.cjs → index-Cw9Zj1Zr.cjs} +23 -23
  15. package/dist/{index-CrSifgJM.mjs → index-D4eCRu9x.mjs} +19 -19
  16. package/dist/{index-D_Rm9dw9.cjs → index-HW-KdG6W.cjs} +4 -4
  17. package/dist/index.cjs +4 -4
  18. package/dist/index.mjs +4 -4
  19. package/dist/{installTerminalHooks-CPsdeOM4.cjs → installTerminalHooks-CNp1LExn.cjs} +4 -4
  20. package/dist/{installTerminalHooks-Z1Jb6yjb.mjs → installTerminalHooks-D-CNSalI.mjs} +4 -4
  21. package/dist/lib.cjs +2 -2
  22. package/dist/lib.mjs +2 -2
  23. package/dist/{limits-DViGHwSj.cjs → limits-DG1OQnCb.cjs} +7 -7
  24. package/dist/{limits-FjbPJPsF.mjs → limits-DlbYYtOw.mjs} +7 -7
  25. package/dist/{mcp-BbQ5FWcQ.cjs → mcp-BtZoIIIM.cjs} +4 -4
  26. package/dist/{mcp-zqPJ94Bk.mjs → mcp-D3oV_dH-.mjs} +4 -4
  27. package/dist/{runGemini-Bu49s_bN.mjs → runGemini-BJ8bU1pP.mjs} +6 -6
  28. package/dist/{runGemini-BnHGYX-H.cjs → runGemini-BfCSOPL1.cjs} +6 -6
  29. package/dist/{runOpenClaw-3Ld1eoWV.cjs → runOpenClaw-CBlHXEAT.cjs} +5 -5
  30. package/dist/{runOpenClaw-CznAYPCh.mjs → runOpenClaw-DTgOpJnO.mjs} +5 -5
  31. package/dist/{send-BevgS1mf.mjs → send-9duZlpGX.mjs} +4 -4
  32. package/dist/{send-DCzyBxLl.cjs → send-CDK1bZFj.cjs} +4 -4
  33. package/dist/{sessions-DSoaBHwA.cjs → sessions-CNkLCorF.cjs} +4 -4
  34. package/dist/{sessions-Ba2oRTmw.mjs → sessions-jAFOkKvW.mjs} +4 -4
  35. package/dist/{spawn-j9KBfj4e.mjs → spawn-BG5oHi_f.mjs} +4 -4
  36. package/dist/{spawn-CqMLY6dE.cjs → spawn-J-A5WGZ7.cjs} +4 -4
  37. package/dist/{teams-C0ggJTJ-.mjs → teams-Cuqsk7Ty.mjs} +28 -3
  38. package/dist/{teams-CmU3K9vB.cjs → teams-MgWeyutG.cjs} +28 -3
  39. package/dist/{types-BGHnQXl5.cjs → types-P5deH8Ls.cjs} +4 -2
  40. package/dist/{types-DLDkfrTC.mjs → types-n_VWu9qe.mjs} +3 -1
  41. package/package.json +7 -7
package/dist/index.cjs CHANGED
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  require('chalk');
4
- require('./index-Do-kjc30.cjs');
5
- require('./limits-DViGHwSj.cjs');
4
+ require('./index-Cw9Zj1Zr.cjs');
5
+ require('./limits-DG1OQnCb.cjs');
6
6
  require('zod');
7
- require('./types-BGHnQXl5.cjs');
7
+ require('./types-P5deH8Ls.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-Cg9ZG1pP.cjs');
15
+ require('./agentGuidance-Tm8Z5HYp.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-CrSifgJM.mjs';
3
- import './limits-FjbPJPsF.mjs';
2
+ import './index-D4eCRu9x.mjs';
3
+ import './limits-DlbYYtOw.mjs';
4
4
  import 'zod';
5
- import './types-DLDkfrTC.mjs';
5
+ import './types-n_VWu9qe.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-QpYwykb9.mjs';
13
+ import './agentGuidance-BR0OFumQ.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-BGHnQXl5.cjs');
9
- var index = require('./index-Do-kjc30.cjs');
8
+ var api = require('./types-P5deH8Ls.cjs');
9
+ var index = require('./index-Cw9Zj1Zr.cjs');
10
10
  require('axios');
11
- require('./limits-DViGHwSj.cjs');
11
+ require('./limits-DG1OQnCb.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-Cg9ZG1pP.cjs');
33
+ require('./agentGuidance-Tm8Z5HYp.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-DLDkfrTC.mjs';
7
- import { t as tmuxSupportsSessionEnv } from './index-CrSifgJM.mjs';
6
+ import { p as projectPath } from './types-n_VWu9qe.mjs';
7
+ import { t as tmuxSupportsSessionEnv } from './index-D4eCRu9x.mjs';
8
8
  import 'axios';
9
- import './limits-FjbPJPsF.mjs';
9
+ import './limits-DlbYYtOw.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-QpYwykb9.mjs';
31
+ import './agentGuidance-BR0OFumQ.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-BGHnQXl5.cjs');
4
- var persistence = require('./limits-DViGHwSj.cjs');
3
+ var api = require('./types-P5deH8Ls.cjs');
4
+ var persistence = require('./limits-DG1OQnCb.cjs');
5
5
  require('axios');
6
6
  require('node:events');
7
7
  require('socket.io-client');
package/dist/lib.mjs CHANGED
@@ -1,5 +1,5 @@
1
- export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema } from './types-DLDkfrTC.mjs';
2
- export { c as configuration, l as logger } from './limits-FjbPJPsF.mjs';
1
+ export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema } from './types-n_VWu9qe.mjs';
2
+ export { c as configuration, l as logger } from './limits-DlbYYtOw.mjs';
3
3
  import 'axios';
4
4
  import 'node:events';
5
5
  import 'socket.io-client';
@@ -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.125";
33
+ var version = "0.2.126";
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.125",
147
- "very-happy-tools-x64-darwin": "0.2.125",
148
- "very-happy-tools-arm64-linux": "0.2.125",
149
- "very-happy-tools-x64-linux": "0.2.125",
150
- "very-happy-tools-arm64-win32": "0.2.125",
151
- "very-happy-tools-x64-win32": "0.2.125"
146
+ "very-happy-tools-arm64-darwin": "0.2.126",
147
+ "very-happy-tools-x64-darwin": "0.2.126",
148
+ "very-happy-tools-arm64-linux": "0.2.126",
149
+ "very-happy-tools-x64-linux": "0.2.126",
150
+ "very-happy-tools-arm64-win32": "0.2.126",
151
+ "very-happy-tools-x64-win32": "0.2.126"
152
152
  };
153
153
  var devDependencies = {
154
154
  "@slopus/happy-wire": "workspace:*",
@@ -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.125";
12
+ var version = "0.2.126";
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.125",
126
- "very-happy-tools-x64-darwin": "0.2.125",
127
- "very-happy-tools-arm64-linux": "0.2.125",
128
- "very-happy-tools-x64-linux": "0.2.125",
129
- "very-happy-tools-arm64-win32": "0.2.125",
130
- "very-happy-tools-x64-win32": "0.2.125"
125
+ "very-happy-tools-arm64-darwin": "0.2.126",
126
+ "very-happy-tools-x64-darwin": "0.2.126",
127
+ "very-happy-tools-arm64-linux": "0.2.126",
128
+ "very-happy-tools-x64-linux": "0.2.126",
129
+ "very-happy-tools-arm64-win32": "0.2.126",
130
+ "very-happy-tools-x64-win32": "0.2.126"
131
131
  };
132
132
  var devDependencies = {
133
133
  "@slopus/happy-wire": "workspace:*",
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var agentGuidance = require('./agentGuidance-Cg9ZG1pP.cjs');
3
+ var agentGuidance = require('./agentGuidance-Tm8Z5HYp.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-Do-kjc30.cjs');
8
- var persistence = require('./limits-DViGHwSj.cjs');
7
+ var index = require('./index-Cw9Zj1Zr.cjs');
8
+ var persistence = require('./limits-DG1OQnCb.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-BGHnQXl5.cjs');
16
+ require('./types-P5deH8Ls.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-QpYwykb9.mjs';
1
+ import { r as registerTeamsTools } from './agentGuidance-BR0OFumQ.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-CrSifgJM.mjs';
6
- import { l as logger, C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, d as CLIPBOARD_MAX_BYTES } from './limits-FjbPJPsF.mjs';
5
+ import { p as pushClipboardViaDaemon, k as setTerminalTitleViaDaemon, m as registerAssistantSessionTools } from './index-D4eCRu9x.mjs';
6
+ import { l as logger, C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, d as CLIPBOARD_MAX_BYTES } from './limits-DlbYYtOw.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-DLDkfrTC.mjs';
14
+ import './types-n_VWu9qe.mjs';
15
15
  import 'node:fs';
16
16
  import 'node:path';
17
17
  import 'chalk';
@@ -2,11 +2,11 @@ import { useStdout, useInput, Box, Text, render } from 'ink';
2
2
  import React, { useState, useRef, useEffect, useCallback } from 'react';
3
3
  import { randomUUID } from 'node:crypto';
4
4
  import { join } from 'node:path';
5
- import { f as connectionState, A as ApiClient, e as errorLogMetadata, p as projectPath, b as contentLogMetadata } from './types-DLDkfrTC.mjs';
6
- import { l as logger, f as readSettings, g as encodeBase64 } from './limits-FjbPJPsF.mjs';
7
- import { J as GEMINI_API_KEY_ENV, K as GOOGLE_API_KEY_ENV, G as GEMINI_MODEL_ENV, E as BasePermissionHandler, L as BaseReasoningProcessor, n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, x as MessageQueue2, B as hashObject, N as MessageBuffer, O as CHANGE_TITLE_INSTRUCTION, y as registerKillSessionHandler, C as startHappyServer } from './index-CrSifgJM.mjs';
8
- import { A as AcpBackend } from './AcpBackend-DOQGItcS.mjs';
9
- import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-CZNIz3W0.mjs';
5
+ import { f as connectionState, A as ApiClient, e as errorLogMetadata, p as projectPath, b as contentLogMetadata } from './types-n_VWu9qe.mjs';
6
+ import { l as logger, f as readSettings, g as encodeBase64 } from './limits-DlbYYtOw.mjs';
7
+ import { J as GEMINI_API_KEY_ENV, K as GOOGLE_API_KEY_ENV, G as GEMINI_MODEL_ENV, E as BasePermissionHandler, L as BaseReasoningProcessor, n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, x as MessageQueue2, B as hashObject, N as MessageBuffer, O as CHANGE_TITLE_INSTRUCTION, y as registerKillSessionHandler, C as startHappyServer } from './index-D4eCRu9x.mjs';
8
+ import { A as AcpBackend } from './AcpBackend-BzGpBAZ0.mjs';
9
+ import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-Bjd1nG0P.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-QpYwykb9.mjs';
35
+ import './agentGuidance-BR0OFumQ.mjs';
36
36
  import '@anthropic-ai/claude-agent-sdk';
37
37
  import 'ps-list';
38
38
  import 'tmp';
@@ -4,11 +4,11 @@ var ink = require('ink');
4
4
  var React = require('react');
5
5
  var node_crypto = require('node:crypto');
6
6
  var path = require('node:path');
7
- var api = require('./types-BGHnQXl5.cjs');
8
- var persistence = require('./limits-DViGHwSj.cjs');
9
- var index = require('./index-Do-kjc30.cjs');
10
- var AcpBackend = require('./AcpBackend-ssQpTLks.cjs');
11
- var config = require('./config-BxHOGtEK.cjs');
7
+ var api = require('./types-P5deH8Ls.cjs');
8
+ var persistence = require('./limits-DG1OQnCb.cjs');
9
+ var index = require('./index-Cw9Zj1Zr.cjs');
10
+ var AcpBackend = require('./AcpBackend-C9eu6CDu.cjs');
11
+ var config = require('./config-C0mofvCH.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-Cg9ZG1pP.cjs');
37
+ require('./agentGuidance-Tm8Z5HYp.cjs');
38
38
  require('@anthropic-ai/claude-agent-sdk');
39
39
  require('ps-list');
40
40
  require('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-BGHnQXl5.cjs');
9
- var AcpSessionManager = require('./AcpSessionManager-DHLc-D50.cjs');
10
- var persistence = require('./limits-DViGHwSj.cjs');
11
- var index = require('./index-Do-kjc30.cjs');
8
+ var api = require('./types-P5deH8Ls.cjs');
9
+ var AcpSessionManager = require('./AcpSessionManager-DQ1e_0gc.cjs');
10
+ var persistence = require('./limits-DG1OQnCb.cjs');
11
+ var index = require('./index-Cw9Zj1Zr.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-Cg9ZG1pP.cjs');
37
+ require('./agentGuidance-Tm8Z5HYp.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, b as contentLogMetadata, f as connectionState, A as ApiClient } from './types-DLDkfrTC.mjs';
7
- import { A as AcpSessionManager } from './AcpSessionManager-D4WkNsRs.mjs';
8
- import { e as ensurePrivateDirectorySync, h as hardenPrivateFileSync, w as writePrivateFileSync, f as readSettings, g as encodeBase64, l as logger, c as configuration } from './limits-FjbPJPsF.mjs';
9
- import { n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, x as MessageQueue2, y as registerKillSessionHandler } from './index-CrSifgJM.mjs';
6
+ import { e as errorLogMetadata, b as contentLogMetadata, f as connectionState, A as ApiClient } from './types-n_VWu9qe.mjs';
7
+ import { A as AcpSessionManager } from './AcpSessionManager-B223yT78.mjs';
8
+ import { e as ensurePrivateDirectorySync, h as hardenPrivateFileSync, w as writePrivateFileSync, f as readSettings, g as encodeBase64, l as logger, c as configuration } from './limits-DlbYYtOw.mjs';
9
+ import { n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, x as MessageQueue2, y as registerKillSessionHandler } from './index-D4eCRu9x.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-QpYwykb9.mjs';
35
+ import './agentGuidance-BR0OFumQ.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-FjbPJPsF.mjs';
5
- import { d as sendUserMessage, a as sessionWebUrl } from './index-CrSifgJM.mjs';
4
+ import { r as readPersistedSessions, c as configuration } from './limits-DlbYYtOw.mjs';
5
+ import { d as sendUserMessage, a as sessionWebUrl } from './index-D4eCRu9x.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-DLDkfrTC.mjs';
12
+ import './types-n_VWu9qe.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-QpYwykb9.mjs';
31
+ import './agentGuidance-BR0OFumQ.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-DViGHwSj.cjs');
7
- var index = require('./index-Do-kjc30.cjs');
6
+ var persistence = require('./limits-DG1OQnCb.cjs');
7
+ var index = require('./index-Cw9Zj1Zr.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-BGHnQXl5.cjs');
14
+ require('./types-P5deH8Ls.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-Cg9ZG1pP.cjs');
33
+ require('./agentGuidance-Tm8Z5HYp.cjs');
34
34
  require('ink');
35
35
  require('react');
36
36
  require('@anthropic-ai/claude-agent-sdk');
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var index = require('./index-Do-kjc30.cjs');
5
- var api = require('./types-BGHnQXl5.cjs');
4
+ var index = require('./index-Cw9Zj1Zr.cjs');
5
+ var api = require('./types-P5deH8Ls.cjs');
6
6
  require('node:os');
7
7
  require('node:crypto');
8
- require('./limits-DViGHwSj.cjs');
8
+ require('./limits-DG1OQnCb.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-Cg9ZG1pP.cjs');
17
+ require('./agentGuidance-Tm8Z5HYp.cjs');
18
18
  require('fs/promises');
19
19
  require('ink');
20
20
  require('react');
@@ -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-CrSifgJM.mjs';
3
- import { i as isValidSessionId } from './types-DLDkfrTC.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-D4eCRu9x.mjs';
3
+ import { i as isValidSessionId } from './types-n_VWu9qe.mjs';
4
4
  import 'node:os';
5
5
  import 'node:crypto';
6
- import './limits-FjbPJPsF.mjs';
6
+ import './limits-DlbYYtOw.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-QpYwykb9.mjs';
15
+ import './agentGuidance-BR0OFumQ.mjs';
16
16
  import 'fs/promises';
17
17
  import 'ink';
18
18
  import '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-CrSifgJM.mjs';
5
- import { l as logger } from './limits-FjbPJPsF.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-D4eCRu9x.mjs';
5
+ import { l as logger } from './limits-DlbYYtOw.mjs';
6
6
  import 'node:os';
7
7
  import 'node:crypto';
8
- import './types-DLDkfrTC.mjs';
8
+ import './types-n_VWu9qe.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-QpYwykb9.mjs';
30
+ import './agentGuidance-BR0OFumQ.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-Do-kjc30.cjs');
7
- var persistence = require('./limits-DViGHwSj.cjs');
6
+ var index = require('./index-Cw9Zj1Zr.cjs');
7
+ var persistence = require('./limits-DG1OQnCb.cjs');
8
8
  require('node:os');
9
9
  require('node:crypto');
10
- require('./types-BGHnQXl5.cjs');
10
+ require('./types-P5deH8Ls.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-Cg9ZG1pP.cjs');
32
+ require('./agentGuidance-Tm8Z5HYp.cjs');
33
33
  require('ink');
34
34
  require('react');
35
35
  require('@anthropic-ai/claude-agent-sdk');
@@ -2,10 +2,10 @@ 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 { c as createTeamsClient } from './agentGuidance-QpYwykb9.mjs';
5
+ import { t as teamRequest, c as createTeamsClient } from './agentGuidance-BR0OFumQ.mjs';
6
+ import { i as readCredentialsForConfiguredRelay } from './limits-DlbYYtOw.mjs';
6
7
  import { join, resolve, dirname } from 'node:path';
7
8
  import { T as TEAM_SKILL } from './resources-D-mn7ptO.mjs';
8
- import './limits-FjbPJPsF.mjs';
9
9
  import 'node:fs';
10
10
  import 'tweetnacl';
11
11
  import 'chalk';
@@ -43,6 +43,25 @@ function previewLegacyTeamsMigration(input) {
43
43
  };
44
44
  }
45
45
 
46
+ async function setTeamPermissionMode(teamId, mode, requestId) {
47
+ if (process.env.VH_TEAM_SCOPE_FILE || process.env.HAPPY_SESSION_ID) {
48
+ throw new Error("Change team execution mode from the owner Web UI or an independent CLI terminal");
49
+ }
50
+ if (!teamId?.trim() || !requestId?.trim()) throw new Error("Team and request ID are required");
51
+ if (mode !== "default" && mode !== "bypassPermissions") throw new Error("Mode must be default or bypassPermissions");
52
+ const credentials = await readCredentialsForConfiguredRelay();
53
+ if (!credentials) throw new Error("Sign in before changing team execution mode");
54
+ const result = await teamRequest(
55
+ `/v1/teams/${encodeURIComponent(teamId)}/actions`,
56
+ "POST",
57
+ credentials.token,
58
+ false,
59
+ { requestId, action: { type: "set-permission-mode", permissionMode: mode } }
60
+ );
61
+ const { credential: _credential, ...safe } = result;
62
+ return safe;
63
+ }
64
+
46
65
  async function assertPrivateDestination(directory) {
47
66
  for (let path = directory; ; path = dirname(path)) {
48
67
  try {
@@ -113,7 +132,7 @@ async function handleTeamsCommand(args) {
113
132
  return index < 0 ? void 0 : args[index + 1];
114
133
  };
115
134
  if (!command || command === "--help") {
116
- console.log("very-happy teams install|uninstall --host claude|codex|pi [--home PATH] [--apply]\nvery-happy teams doctor --host pi\nvery-happy teams migration-preview --file LEDGER_JSON\nvery-happy teams inspect\nvery-happy teams create|join --name NAME [--machine-id ID | --team-id ID] [--session-id ID] [--request-id ID]\nvery-happy teams action --json ACTION_JSON --request-id ID\nInstallation previews changes unless --apply is supplied. Managed sessions receive tools automatically.");
135
+ console.log("very-happy teams install|uninstall --host claude|codex|pi [--home PATH] [--apply]\nvery-happy teams doctor --host pi\nvery-happy teams migration-preview --file LEDGER_JSON\nvery-happy teams inspect\nvery-happy teams permissions --team-id ID --mode default|bypassPermissions --request-id ID\nvery-happy teams create|join --name NAME [--machine-id ID | --team-id ID] [--session-id ID] [--request-id ID]\nvery-happy teams action --json ACTION_JSON --request-id ID\nInstallation previews changes unless --apply is supplied. Managed sessions receive tools automatically.");
117
136
  return;
118
137
  }
119
138
  if (command === "install" || command === "uninstall") {
@@ -142,6 +161,12 @@ async function handleTeamsCommand(args) {
142
161
  console.log(JSON.stringify(previewLegacyTeamsMigration(JSON.parse(await readFile(file, "utf8"))), null, 2));
143
162
  return;
144
163
  }
164
+ if (command === "permissions") {
165
+ const teamId = value("--team-id"), mode = value("--mode"), requestId = value("--request-id");
166
+ if (!teamId || !mode || !requestId) throw new Error("--team-id, --mode and --request-id are required");
167
+ console.log(JSON.stringify(await setTeamPermissionMode(teamId, mode, requestId)));
168
+ return;
169
+ }
145
170
  const client = createTeamsClient(value("--session-id"));
146
171
  let result;
147
172
  if (command === "inspect") result = await client.inspect();
@@ -4,10 +4,10 @@ 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-Cg9ZG1pP.cjs');
7
+ var agentGuidance = require('./agentGuidance-Tm8Z5HYp.cjs');
8
+ var persistence = require('./limits-DG1OQnCb.cjs');
8
9
  var path = require('node:path');
9
10
  var resources = require('./resources-CVl7NdOB.cjs');
10
- require('./limits-DViGHwSj.cjs');
11
11
  require('node:fs');
12
12
  require('tweetnacl');
13
13
  require('chalk');
@@ -45,6 +45,25 @@ function previewLegacyTeamsMigration(input) {
45
45
  };
46
46
  }
47
47
 
48
+ async function setTeamPermissionMode(teamId, mode, requestId) {
49
+ if (process.env.VH_TEAM_SCOPE_FILE || process.env.HAPPY_SESSION_ID) {
50
+ throw new Error("Change team execution mode from the owner Web UI or an independent CLI terminal");
51
+ }
52
+ if (!teamId?.trim() || !requestId?.trim()) throw new Error("Team and request ID are required");
53
+ if (mode !== "default" && mode !== "bypassPermissions") throw new Error("Mode must be default or bypassPermissions");
54
+ const credentials = await persistence.readCredentialsForConfiguredRelay();
55
+ if (!credentials) throw new Error("Sign in before changing team execution mode");
56
+ const result = await agentGuidance.teamRequest(
57
+ `/v1/teams/${encodeURIComponent(teamId)}/actions`,
58
+ "POST",
59
+ credentials.token,
60
+ false,
61
+ { requestId, action: { type: "set-permission-mode", permissionMode: mode } }
62
+ );
63
+ const { credential: _credential, ...safe } = result;
64
+ return safe;
65
+ }
66
+
48
67
  async function assertPrivateDestination(directory) {
49
68
  for (let path$1 = directory; ; path$1 = path.dirname(path$1)) {
50
69
  try {
@@ -115,7 +134,7 @@ async function handleTeamsCommand(args) {
115
134
  return index < 0 ? void 0 : args[index + 1];
116
135
  };
117
136
  if (!command || command === "--help") {
118
- console.log("very-happy teams install|uninstall --host claude|codex|pi [--home PATH] [--apply]\nvery-happy teams doctor --host pi\nvery-happy teams migration-preview --file LEDGER_JSON\nvery-happy teams inspect\nvery-happy teams create|join --name NAME [--machine-id ID | --team-id ID] [--session-id ID] [--request-id ID]\nvery-happy teams action --json ACTION_JSON --request-id ID\nInstallation previews changes unless --apply is supplied. Managed sessions receive tools automatically.");
137
+ console.log("very-happy teams install|uninstall --host claude|codex|pi [--home PATH] [--apply]\nvery-happy teams doctor --host pi\nvery-happy teams migration-preview --file LEDGER_JSON\nvery-happy teams inspect\nvery-happy teams permissions --team-id ID --mode default|bypassPermissions --request-id ID\nvery-happy teams create|join --name NAME [--machine-id ID | --team-id ID] [--session-id ID] [--request-id ID]\nvery-happy teams action --json ACTION_JSON --request-id ID\nInstallation previews changes unless --apply is supplied. Managed sessions receive tools automatically.");
119
138
  return;
120
139
  }
121
140
  if (command === "install" || command === "uninstall") {
@@ -144,6 +163,12 @@ async function handleTeamsCommand(args) {
144
163
  console.log(JSON.stringify(previewLegacyTeamsMigration(JSON.parse(await promises.readFile(file, "utf8"))), null, 2));
145
164
  return;
146
165
  }
166
+ if (command === "permissions") {
167
+ const teamId = value("--team-id"), mode = value("--mode"), requestId = value("--request-id");
168
+ if (!teamId || !mode || !requestId) throw new Error("--team-id, --mode and --request-id are required");
169
+ console.log(JSON.stringify(await setTeamPermissionMode(teamId, mode, requestId)));
170
+ return;
171
+ }
147
172
  const client = agentGuidance.createTeamsClient(value("--session-id"));
148
173
  let result;
149
174
  if (command === "inspect") result = await client.inspect();
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var axios = require('axios');
4
- var persistence = require('./limits-DViGHwSj.cjs');
4
+ var persistence = require('./limits-DG1OQnCb.cjs');
5
5
  var node_events = require('node:events');
6
6
  var socket_ioClient = require('socket.io-client');
7
7
  var z = require('zod');
@@ -454,10 +454,12 @@ const ConnectionDiagnosticEventSchema = z.z.object({
454
454
  z.z.object({
455
455
  events: z.z.array(ConnectionDiagnosticEventSchema).min(1).max(32)
456
456
  }).strict();
457
+ const TeamPermissionModeSchema = z.z.enum(["default", "bypassPermissions"]);
457
458
  const id = z.z.string().min(1).max(128);
458
459
  const text = z.z.string().min(1).max(32e3);
459
460
  const TeamActionSchema = z.z.discriminatedUnion("type", [
460
461
  z.z.object({ type: z.z.literal("archive") }),
462
+ z.z.object({ type: z.z.literal("set-permission-mode"), permissionMode: TeamPermissionModeSchema }),
461
463
  z.z.object({ type: z.z.literal("schedule-create"), name: id, botId: id, body: text, runAt: z.z.number().int().positive().max(864e13), intervalMs: z.z.number().int().min(6e4).max(366 * 864e5).optional() }),
462
464
  z.z.object({ type: z.z.literal("schedule-pause"), scheduleId: id, version: z.z.number().int().positive() }),
463
465
  z.z.object({ type: z.z.literal("schedule-resume"), scheduleId: id, version: z.z.number().int().positive() }),
@@ -1021,7 +1023,7 @@ class RpcHandlerManager {
1021
1023
  }
1022
1024
  }
1023
1025
 
1024
- 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-BGHnQXl5.cjs', document.baseURI).href))));
1026
+ 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-P5deH8Ls.cjs', document.baseURI).href))));
1025
1027
  function projectPath() {
1026
1028
  const path$1 = path.resolve(__dirname$1, "..");
1027
1029
  return path$1;