@zhigang1992/happy-cli 0.12.10 → 0.12.11

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.
package/README.md CHANGED
@@ -65,6 +65,12 @@ This will:
65
65
  - `HAPPY_DISABLE_CAFFEINATE` - Disable macOS sleep prevention (set to `true`, `1`, or `yes`)
66
66
  - `HAPPY_EXPERIMENTAL` - Enable experimental features (set to `true`, `1`, or `yes`)
67
67
 
68
+ ## Recommended MCP Servers
69
+
70
+ These MCP servers work well with Happy:
71
+
72
+ - **[@zhigang1992/uploadfile-mcp](https://github.com/zhigang1992/upload-mcp)** - Upload local files to get shareable public URLs. Useful for sharing generated images, CSVs, and other files from AI sessions.
73
+
68
74
  ## Requirements
69
75
 
70
76
  - Node.js >= 20.0.0
@@ -1,7 +1,7 @@
1
1
  import chalk from 'chalk';
2
2
  import os$1, { homedir } from 'node:os';
3
3
  import { randomUUID, randomBytes, createHmac } from 'node:crypto';
4
- import { l as logger, p as projectPath, j as backoff, k as delay, R as RawJSONLinesSchema, m as AsyncLock, c as configuration, n as readDaemonState, o as clearDaemonState, i as packageJson, r as readSettings, q as readCredentials, g as encodeBase64, u as updateSettings, s as encodeBase64Url, d as decodeBase64, w as writeCredentialsLegacy, t as writeCredentialsDataKey, v as acquireDaemonLock, x as writeDaemonState, A as ApiClient, y as releaseDaemonLock, z as authChallenge, B as clearCredentials, C as clearMachineId, D as getLatestDaemonLog } from './types-DeW4Ii33.mjs';
4
+ import { l as logger, p as projectPath, j as backoff, k as delay, R as RawJSONLinesSchema, m as AsyncLock, c as configuration, n as readDaemonState, o as clearDaemonState, i as packageJson, r as readSettings, q as readCredentials, g as encodeBase64, u as updateSettings, s as encodeBase64Url, d as decodeBase64, w as writeCredentialsLegacy, t as writeCredentialsDataKey, v as acquireDaemonLock, x as writeDaemonState, A as ApiClient, y as releaseDaemonLock, z as authChallenge, B as clearCredentials, C as clearMachineId, D as getLatestDaemonLog } from './types-BOay0dlI.mjs';
5
5
  import { spawn, execSync, execFileSync } from 'node:child_process';
6
6
  import { resolve, join } from 'node:path';
7
7
  import { createInterface } from 'node:readline';
@@ -6397,7 +6397,7 @@ async function handleConnectVendor(vendor, displayName) {
6397
6397
  return;
6398
6398
  } else if (subcommand === "codex") {
6399
6399
  try {
6400
- const { runCodex } = await import('./runCodex-CjK_Hx1-.mjs');
6400
+ const { runCodex } = await import('./runCodex-kOPypLpq.mjs');
6401
6401
  let startedBy = void 0;
6402
6402
  for (let i = 1; i < args.length; i++) {
6403
6403
  if (args[i] === "--started-by") {
@@ -6442,7 +6442,7 @@ async function handleConnectVendor(vendor, displayName) {
6442
6442
  } else if (subcommand === "list") {
6443
6443
  try {
6444
6444
  const { credentials } = await authAndSetupMachineIfNeeded();
6445
- const { listSessions } = await import('./list-DwEmJUfq.mjs');
6445
+ const { listSessions } = await import('./list-CkDUkqjR.mjs');
6446
6446
  let sessionId;
6447
6447
  let titleFilter;
6448
6448
  let recentMsgs;
@@ -6544,7 +6544,7 @@ Examples:
6544
6544
  process.exit(1);
6545
6545
  }
6546
6546
  const { credentials } = await authAndSetupMachineIfNeeded();
6547
- const { promptSession } = await import('./prompt-B4TvNDA2.mjs');
6547
+ const { promptSession } = await import('./prompt-ChEWrDOB.mjs');
6548
6548
  await promptSession(credentials, sessionId, promptText, timeoutMinutes ?? void 0);
6549
6549
  } catch (error) {
6550
6550
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -3,7 +3,7 @@
3
3
  var chalk = require('chalk');
4
4
  var os = require('node:os');
5
5
  var node_crypto = require('node:crypto');
6
- var types = require('./types-jTJmEbfZ.cjs');
6
+ var types = require('./types-DK1d73BF.cjs');
7
7
  var node_child_process = require('node:child_process');
8
8
  var node_path = require('node:path');
9
9
  var node_readline = require('node:readline');
@@ -1089,7 +1089,7 @@ class AbortError extends Error {
1089
1089
  }
1090
1090
  }
1091
1091
 
1092
- const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-B2T-8Qkp.cjs', document.baseURI).href)));
1092
+ const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-kN77bT9j.cjs', document.baseURI).href)));
1093
1093
  const __dirname$1 = node_path.join(__filename$1, "..");
1094
1094
  function getDefaultClaudeCodePath() {
1095
1095
  return node_path.join(__dirname$1, "..", "..", "..", "node_modules", "@anthropic-ai", "claude-code", "cli.js");
@@ -6420,7 +6420,7 @@ async function handleConnectVendor(vendor, displayName) {
6420
6420
  return;
6421
6421
  } else if (subcommand === "codex") {
6422
6422
  try {
6423
- const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-CFnERFiI.cjs'); });
6423
+ const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-BKM5EQtE.cjs'); });
6424
6424
  let startedBy = void 0;
6425
6425
  for (let i = 1; i < args.length; i++) {
6426
6426
  if (args[i] === "--started-by") {
@@ -6465,7 +6465,7 @@ async function handleConnectVendor(vendor, displayName) {
6465
6465
  } else if (subcommand === "list") {
6466
6466
  try {
6467
6467
  const { credentials } = await authAndSetupMachineIfNeeded();
6468
- const { listSessions } = await Promise.resolve().then(function () { return require('./list-CE0RKOOh.cjs'); });
6468
+ const { listSessions } = await Promise.resolve().then(function () { return require('./list-DTBBqufH.cjs'); });
6469
6469
  let sessionId;
6470
6470
  let titleFilter;
6471
6471
  let recentMsgs;
@@ -6567,7 +6567,7 @@ Examples:
6567
6567
  process.exit(1);
6568
6568
  }
6569
6569
  const { credentials } = await authAndSetupMachineIfNeeded();
6570
- const { promptSession } = await Promise.resolve().then(function () { return require('./prompt-IezYY014.cjs'); });
6570
+ const { promptSession } = await Promise.resolve().then(function () { return require('./prompt-DbTKMvNz.cjs'); });
6571
6571
  await promptSession(credentials, sessionId, promptText, timeoutMinutes ?? void 0);
6572
6572
  } catch (error) {
6573
6573
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
package/dist/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  require('chalk');
4
- require('./index-B2T-8Qkp.cjs');
5
- require('./types-jTJmEbfZ.cjs');
4
+ require('./index-kN77bT9j.cjs');
5
+ require('./types-DK1d73BF.cjs');
6
6
  require('zod');
7
7
  require('node:child_process');
8
8
  require('node:os');
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import 'chalk';
2
- import './index-xZm9eMZ-.mjs';
3
- import './types-DeW4Ii33.mjs';
2
+ import './index-Z_1PFUM2.mjs';
3
+ import './types-BOay0dlI.mjs';
4
4
  import 'zod';
5
5
  import 'node:child_process';
6
6
  import 'node:os';
package/dist/lib.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var types = require('./types-jTJmEbfZ.cjs');
3
+ var types = require('./types-DK1d73BF.cjs');
4
4
  require('axios');
5
5
  require('chalk');
6
6
  require('fs');
package/dist/lib.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-DeW4Ii33.mjs';
1
+ export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-BOay0dlI.mjs';
2
2
  import 'axios';
3
3
  import 'chalk';
4
4
  import 'fs';
@@ -1,4 +1,4 @@
1
- import { c as configuration, l as logger, d as decodeBase64, b as decrypt, f as formatTimeAgo, e as libsodiumDecryptFromPublicKey } from './types-DeW4Ii33.mjs';
1
+ import { c as configuration, l as logger, d as decodeBase64, b as decrypt, f as formatTimeAgo, e as libsodiumDecryptFromPublicKey } from './types-BOay0dlI.mjs';
2
2
  import axios from 'axios';
3
3
  import { existsSync, readdirSync, statSync, readFileSync } from 'fs';
4
4
  import { join } from 'path';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var types = require('./types-jTJmEbfZ.cjs');
3
+ var types = require('./types-DK1d73BF.cjs');
4
4
  var axios = require('axios');
5
5
  var fs = require('fs');
6
6
  var path = require('path');
@@ -1,4 +1,4 @@
1
- import { c as configuration, b as decrypt, d as decodeBase64, l as logger, g as encodeBase64, h as encrypt } from './types-DeW4Ii33.mjs';
1
+ import { c as configuration, b as decrypt, d as decodeBase64, l as logger, g as encodeBase64, h as encrypt } from './types-BOay0dlI.mjs';
2
2
  import axios from 'axios';
3
3
  import { io } from 'socket.io-client';
4
4
  import 'chalk';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var types = require('./types-jTJmEbfZ.cjs');
3
+ var types = require('./types-DK1d73BF.cjs');
4
4
  var axios = require('axios');
5
5
  var socket_ioClient = require('socket.io-client');
6
6
  require('chalk');
@@ -2,14 +2,14 @@
2
2
 
3
3
  var ink = require('ink');
4
4
  var React = require('react');
5
- var types = require('./types-jTJmEbfZ.cjs');
5
+ var types = require('./types-DK1d73BF.cjs');
6
6
  var index_js = require('@modelcontextprotocol/sdk/client/index.js');
7
7
  var stdio_js = require('@modelcontextprotocol/sdk/client/stdio.js');
8
8
  var z = require('zod');
9
9
  var types_js = require('@modelcontextprotocol/sdk/types.js');
10
10
  var child_process = require('child_process');
11
11
  var node_crypto = require('node:crypto');
12
- var index = require('./index-B2T-8Qkp.cjs');
12
+ var index = require('./index-kN77bT9j.cjs');
13
13
  var os = require('node:os');
14
14
  var node_path = require('node:path');
15
15
  var fs = require('node:fs');
@@ -1,13 +1,13 @@
1
1
  import { useStdout, useInput, Box, Text, render } from 'ink';
2
2
  import React, { useState, useRef, useEffect, useCallback } from 'react';
3
- import { l as logger, A as ApiClient, r as readSettings, p as projectPath, c as configuration, i as packageJson } from './types-DeW4Ii33.mjs';
3
+ import { l as logger, A as ApiClient, r as readSettings, p as projectPath, c as configuration, i as packageJson } from './types-BOay0dlI.mjs';
4
4
  import { Client } from '@modelcontextprotocol/sdk/client/index.js';
5
5
  import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
6
6
  import { z } from 'zod';
7
7
  import { ElicitRequestSchema } from '@modelcontextprotocol/sdk/types.js';
8
8
  import { execSync } from 'child_process';
9
9
  import { randomUUID } from 'node:crypto';
10
- import { i as initialMachineMetadata, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, r as registerKillSessionHandler, a as MessageBuffer, s as startHappyServer, t as trimIdent, b as stopCaffeinate } from './index-xZm9eMZ-.mjs';
10
+ import { i as initialMachineMetadata, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, r as registerKillSessionHandler, a as MessageBuffer, s as startHappyServer, t as trimIdent, b as stopCaffeinate } from './index-Z_1PFUM2.mjs';
11
11
  import os from 'node:os';
12
12
  import { resolve, join } from 'node:path';
13
13
  import fs from 'node:fs';
@@ -20,7 +20,7 @@ import { fileURLToPath } from 'url';
20
20
  import { Expo } from 'expo-server-sdk';
21
21
 
22
22
  var name = "@zhigang1992/happy-cli";
23
- var version = "0.12.10";
23
+ var version = "0.12.11";
24
24
  var description = "Mobile and Web client for Claude Code and Codex";
25
25
  var author = "Kirill Dubovitskiy";
26
26
  var license = "MIT";
@@ -86,8 +86,8 @@ var scripts = {
86
86
  release: "release-it"
87
87
  };
88
88
  var dependencies = {
89
- "@anthropic-ai/claude-code": "2.0.55",
90
- "@anthropic-ai/sdk": "0.65.0",
89
+ "@anthropic-ai/claude-code": "2.0.76",
90
+ "@anthropic-ai/sdk": "0.71.2",
91
91
  "@elevenlabs/elevenlabs-js": "^2.25.1",
92
92
  "@iarna/toml": "^3.0.0",
93
93
  "@modelcontextprotocol/sdk": "^1.15.1",
@@ -41,7 +41,7 @@ function _interopNamespaceDefault(e) {
41
41
  var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
42
42
 
43
43
  var name = "@zhigang1992/happy-cli";
44
- var version = "0.12.10";
44
+ var version = "0.12.11";
45
45
  var description = "Mobile and Web client for Claude Code and Codex";
46
46
  var author = "Kirill Dubovitskiy";
47
47
  var license = "MIT";
@@ -107,8 +107,8 @@ var scripts = {
107
107
  release: "release-it"
108
108
  };
109
109
  var dependencies = {
110
- "@anthropic-ai/claude-code": "2.0.55",
111
- "@anthropic-ai/sdk": "0.65.0",
110
+ "@anthropic-ai/claude-code": "2.0.76",
111
+ "@anthropic-ai/sdk": "0.71.2",
112
112
  "@elevenlabs/elevenlabs-js": "^2.25.1",
113
113
  "@iarna/toml": "^3.0.0",
114
114
  "@modelcontextprotocol/sdk": "^1.15.1",
@@ -1150,7 +1150,7 @@ class RpcHandlerManager {
1150
1150
  }
1151
1151
  }
1152
1152
 
1153
- 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-jTJmEbfZ.cjs', document.baseURI).href))));
1153
+ 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-DK1d73BF.cjs', document.baseURI).href))));
1154
1154
  function projectPath() {
1155
1155
  const path$1 = path.resolve(__dirname$1, "..");
1156
1156
  return path$1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhigang1992/happy-cli",
3
- "version": "0.12.10",
3
+ "version": "0.12.11",
4
4
  "description": "Mobile and Web client for Claude Code and Codex",
5
5
  "author": "Kirill Dubovitskiy",
6
6
  "license": "MIT",
@@ -66,8 +66,8 @@
66
66
  "release": "release-it"
67
67
  },
68
68
  "dependencies": {
69
- "@anthropic-ai/claude-code": "2.0.55",
70
- "@anthropic-ai/sdk": "0.65.0",
69
+ "@anthropic-ai/claude-code": "2.0.76",
70
+ "@anthropic-ai/sdk": "0.71.2",
71
71
  "@elevenlabs/elevenlabs-js": "^2.25.1",
72
72
  "@iarna/toml": "^3.0.0",
73
73
  "@modelcontextprotocol/sdk": "^1.15.1",