@zonease/happy 0.6.36 → 0.6.37

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.
@@ -2,7 +2,7 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
2
2
  import { join } from 'path';
3
3
  import { homedir } from 'os';
4
4
  import { execSync } from 'child_process';
5
- import { l as logger } from './types-Cwmgs219.mjs';
5
+ import { l as logger } from './types-DYCJXXdA.mjs';
6
6
  import { D as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './constants-BO9OAFOT.mjs';
7
7
  import 'axios';
8
8
  import 'chalk';
@@ -4,7 +4,7 @@ var fs = require('fs');
4
4
  var path = require('path');
5
5
  var os = require('os');
6
6
  var child_process = require('child_process');
7
- var persistence = require('./types-uwC25Y-7.cjs');
7
+ var persistence = require('./types-BrTorNAy.cjs');
8
8
  var constants = require('./constants-B4x1K7by.cjs');
9
9
  require('axios');
10
10
  require('chalk');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var persistence = require('./types-uwC25Y-7.cjs');
4
+ var persistence = require('./types-BrTorNAy.cjs');
5
5
  var os = require('node:os');
6
6
  var node_crypto = require('node:crypto');
7
7
  var fs = require('node:fs');
@@ -1151,7 +1151,7 @@ function getRuntime() {
1151
1151
  }
1152
1152
  const isBun = () => getRuntime() === "bun";
1153
1153
 
1154
- 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-BrbxQFgt.cjs', document.baseURI).href)));
1154
+ 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-BlkHOkB3.cjs', document.baseURI).href)));
1155
1155
  const __dirname$1 = path.join(__filename$1, "..");
1156
1156
  function getGlobalClaudeVersion() {
1157
1157
  try {
@@ -10048,7 +10048,7 @@ async function handleTaskCommand(args) {
10048
10048
  await printOrWriteOutput(brief, stringFlag(parsed, "--out"));
10049
10049
  }
10050
10050
 
10051
- const CLI_PACKAGE_ROOT = path.resolve(path.dirname(node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-BrbxQFgt.cjs', document.baseURI).href)))), "..", "..");
10051
+ const CLI_PACKAGE_ROOT = path.resolve(path.dirname(node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-BlkHOkB3.cjs', document.baseURI).href)))), "..", "..");
10052
10052
  function printReleaseHelp() {
10053
10053
  console.log(`
10054
10054
  ${chalk.bold("happy release")} - Verify before publishing
@@ -10549,7 +10549,7 @@ async function spawnAndWaitForDaemon() {
10549
10549
  if (!args.includes("--version")) ;
10550
10550
  if (subcommand === "orchestrator-oneshot") {
10551
10551
  try {
10552
- const { runOrchestratorOneShot } = await Promise.resolve().then(function () { return require('./runOneShot-DHFh6T1N.cjs'); });
10552
+ const { runOrchestratorOneShot } = await Promise.resolve().then(function () { return require('./runOneShot-CXhbFJ2j.cjs'); });
10553
10553
  const exitCode = await runOrchestratorOneShot(args.slice(1));
10554
10554
  process.exit(exitCode);
10555
10555
  } catch (error) {
@@ -10595,7 +10595,7 @@ async function spawnAndWaitForDaemon() {
10595
10595
  return;
10596
10596
  } else if (subcommand === "codex") {
10597
10597
  try {
10598
- const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-lWRsOLfh.cjs'); });
10598
+ const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-BTt3fxG4.cjs'); });
10599
10599
  let startedBy = void 0;
10600
10600
  for (let i = 1; i < args.length; i++) {
10601
10601
  if (args[i] === "--started-by") {
@@ -10699,9 +10699,9 @@ async function spawnAndWaitForDaemon() {
10699
10699
  if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
10700
10700
  const projectId = args[3];
10701
10701
  try {
10702
- const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-7yvUoSPV.cjs'); });
10703
- const { readCredentials: readCredentials2 } = await Promise.resolve().then(function () { return require('./types-uwC25Y-7.cjs'); }).then(function (n) { return n.persistence; });
10704
- const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./types-uwC25Y-7.cjs'); }).then(function (n) { return n.api; });
10702
+ const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-D_g6ohaV.cjs'); });
10703
+ const { readCredentials: readCredentials2 } = await Promise.resolve().then(function () { return require('./types-BrTorNAy.cjs'); }).then(function (n) { return n.persistence; });
10704
+ const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./types-BrTorNAy.cjs'); }).then(function (n) { return n.api; });
10705
10705
  let userEmail = void 0;
10706
10706
  try {
10707
10707
  const credentials = await readCredentials2();
@@ -10732,7 +10732,7 @@ async function spawnAndWaitForDaemon() {
10732
10732
  }
10733
10733
  if (geminiSubcommand === "project" && args[2] === "get") {
10734
10734
  try {
10735
- const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-7yvUoSPV.cjs'); });
10735
+ const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-D_g6ohaV.cjs'); });
10736
10736
  const config = readGeminiLocalConfig();
10737
10737
  if (config.googleCloudProject) {
10738
10738
  console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
@@ -10772,7 +10772,7 @@ async function spawnAndWaitForDaemon() {
10772
10772
  process.exit(0);
10773
10773
  }
10774
10774
  try {
10775
- const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-kNRTL7QC.cjs'); });
10775
+ const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-C-0nSFBv.cjs'); });
10776
10776
  let startedBy = void 0;
10777
10777
  for (let i = 1; i < args.length; i++) {
10778
10778
  if (args[i] === "--started-by") {
@@ -10909,7 +10909,7 @@ async function spawnAndWaitForDaemon() {
10909
10909
  process.exit(1);
10910
10910
  }
10911
10911
  try {
10912
- const { runMcpServe } = await Promise.resolve().then(function () { return require('./serve-nIUNldpx.cjs'); });
10912
+ const { runMcpServe } = await Promise.resolve().then(function () { return require('./serve-DZAq-_1F.cjs'); });
10913
10913
  await runMcpServe();
10914
10914
  } catch (error) {
10915
10915
  process.stderr.write(`[happy-mcp] fatal: ${error instanceof Error ? error.message : "unknown error"}
@@ -1,5 +1,5 @@
1
1
  import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import chalk from 'chalk';
2
- import { l as logger, j as projectPath, y as delay, I as InvalidateSync, R as RawJSONLinesSchema, o as isDebug, D as AsyncLock, c as configuration, E as readDaemonState, F as clearDaemonState, k as packageJson, x as readSettings, r as readCredentials, e as encodeBase64, H as updateSettings, J as encodeBase64Url, f as decodeBase64, K as writeCredentialsLegacy, L as writeCredentialsDataKey, N as acquireDaemonLock, O as writeDaemonState, A as ApiClient, P as releaseDaemonLock, Q as validateProfileForAgent, S as getProfileEnvironmentVariables, g as decrypt, d as encrypt, w as connectionState, h as resolveToolsDir, s as startOfflineReconnection, T as findClaudeProjectId, U as libsodiumPublicKeyFromSecretKey, V as clearCredentials, W as clearMachineId, X as decryptLegacy, Y as decryptWithDataKey, Z as readCachedSessionKey, _ as getLatestDaemonLog } from './types-Cwmgs219.mjs';
2
+ import { l as logger, j as projectPath, y as delay, I as InvalidateSync, R as RawJSONLinesSchema, o as isDebug, D as AsyncLock, c as configuration, E as readDaemonState, F as clearDaemonState, k as packageJson, x as readSettings, r as readCredentials, e as encodeBase64, H as updateSettings, J as encodeBase64Url, f as decodeBase64, K as writeCredentialsLegacy, L as writeCredentialsDataKey, N as acquireDaemonLock, O as writeDaemonState, A as ApiClient, P as releaseDaemonLock, Q as validateProfileForAgent, S as getProfileEnvironmentVariables, g as decrypt, d as encrypt, w as connectionState, h as resolveToolsDir, s as startOfflineReconnection, T as findClaudeProjectId, U as libsodiumPublicKeyFromSecretKey, V as clearCredentials, W as clearMachineId, X as decryptLegacy, Y as decryptWithDataKey, Z as readCachedSessionKey, _ as getLatestDaemonLog } from './types-DYCJXXdA.mjs';
3
3
  import os$1, { homedir, hostname } from 'node:os';
4
4
  import { randomUUID, randomBytes, createHmac } from 'node:crypto';
5
5
  import { existsSync, readFileSync, readdirSync, statSync, mkdirSync, createReadStream, writeFileSync as writeFileSync$1, unlinkSync, rmSync, realpathSync, constants } from 'node:fs';
@@ -10527,7 +10527,7 @@ async function spawnAndWaitForDaemon() {
10527
10527
  if (!args.includes("--version")) ;
10528
10528
  if (subcommand === "orchestrator-oneshot") {
10529
10529
  try {
10530
- const { runOrchestratorOneShot } = await import('./runOneShot-Dy6fhNeJ.mjs');
10530
+ const { runOrchestratorOneShot } = await import('./runOneShot-USX8QPfE.mjs');
10531
10531
  const exitCode = await runOrchestratorOneShot(args.slice(1));
10532
10532
  process.exit(exitCode);
10533
10533
  } catch (error) {
@@ -10573,7 +10573,7 @@ async function spawnAndWaitForDaemon() {
10573
10573
  return;
10574
10574
  } else if (subcommand === "codex") {
10575
10575
  try {
10576
- const { runCodex } = await import('./runCodex-BP7ezase.mjs');
10576
+ const { runCodex } = await import('./runCodex-BXCB5trB.mjs');
10577
10577
  let startedBy = void 0;
10578
10578
  for (let i = 1; i < args.length; i++) {
10579
10579
  if (args[i] === "--started-by") {
@@ -10677,9 +10677,9 @@ async function spawnAndWaitForDaemon() {
10677
10677
  if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
10678
10678
  const projectId = args[3];
10679
10679
  try {
10680
- const { saveGoogleCloudProjectToConfig } = await import('./config-BipvFFh-.mjs');
10681
- const { readCredentials: readCredentials2 } = await import('./types-Cwmgs219.mjs').then(function (n) { return n.$; });
10682
- const { ApiClient: ApiClient2 } = await import('./types-Cwmgs219.mjs').then(function (n) { return n.a0; });
10680
+ const { saveGoogleCloudProjectToConfig } = await import('./config-DPn-cbpz.mjs');
10681
+ const { readCredentials: readCredentials2 } = await import('./types-DYCJXXdA.mjs').then(function (n) { return n.$; });
10682
+ const { ApiClient: ApiClient2 } = await import('./types-DYCJXXdA.mjs').then(function (n) { return n.a0; });
10683
10683
  let userEmail = void 0;
10684
10684
  try {
10685
10685
  const credentials = await readCredentials2();
@@ -10710,7 +10710,7 @@ async function spawnAndWaitForDaemon() {
10710
10710
  }
10711
10711
  if (geminiSubcommand === "project" && args[2] === "get") {
10712
10712
  try {
10713
- const { readGeminiLocalConfig } = await import('./config-BipvFFh-.mjs');
10713
+ const { readGeminiLocalConfig } = await import('./config-DPn-cbpz.mjs');
10714
10714
  const config = readGeminiLocalConfig();
10715
10715
  if (config.googleCloudProject) {
10716
10716
  console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
@@ -10750,7 +10750,7 @@ async function spawnAndWaitForDaemon() {
10750
10750
  process.exit(0);
10751
10751
  }
10752
10752
  try {
10753
- const { runGemini } = await import('./runGemini-QVMl7O4B.mjs');
10753
+ const { runGemini } = await import('./runGemini-37HHbp9n.mjs');
10754
10754
  let startedBy = void 0;
10755
10755
  for (let i = 1; i < args.length; i++) {
10756
10756
  if (args[i] === "--started-by") {
@@ -10887,7 +10887,7 @@ async function spawnAndWaitForDaemon() {
10887
10887
  process.exit(1);
10888
10888
  }
10889
10889
  try {
10890
- const { runMcpServe } = await import('./serve-B-vKDwdA.mjs');
10890
+ const { runMcpServe } = await import('./serve-BRedJPzL.mjs');
10891
10891
  await runMcpServe();
10892
10892
  } catch (error) {
10893
10893
  process.stderr.write(`[happy-mcp] fatal: ${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('./types-uwC25Y-7.cjs');
5
- require('./index-BrbxQFgt.cjs');
4
+ require('./types-BrTorNAy.cjs');
5
+ require('./index-BlkHOkB3.cjs');
6
6
  require('zod');
7
7
  require('node:child_process');
8
8
  require('axios');
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import 'chalk';
2
- import './types-Cwmgs219.mjs';
3
- import './index-CEW2digP.mjs';
2
+ import './types-DYCJXXdA.mjs';
3
+ import './index-DJ2VpGiR.mjs';
4
4
  import 'zod';
5
5
  import 'node:child_process';
6
6
  import 'axios';
package/dist/lib.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var persistence = require('./types-uwC25Y-7.cjs');
3
+ var persistence = require('./types-BrTorNAy.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-Cwmgs219.mjs';
1
+ export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-DYCJXXdA.mjs';
2
2
  import 'axios';
3
3
  import 'chalk';
4
4
  import 'fs';
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var persistence = require('./types-uwC25Y-7.cjs');
3
+ var persistence = require('./types-BrTorNAy.cjs');
4
4
  var node_crypto = require('node:crypto');
5
5
  var fs = require('node:fs');
6
6
  var os = require('node:os');
7
7
  var path = require('node:path');
8
- var index = require('./index-BrbxQFgt.cjs');
8
+ var index = require('./index-BlkHOkB3.cjs');
9
9
 
10
10
  class BasePermissionHandler {
11
11
  pendingRequests = /* @__PURE__ */ new Map();
@@ -1,9 +1,9 @@
1
- import { l as logger, h as resolveToolsDir, j as projectPath, c as configuration, k as packageJson, s as startOfflineReconnection, m as saveToolOutputRecord } from './types-Cwmgs219.mjs';
1
+ import { l as logger, h as resolveToolsDir, j as projectPath, c as configuration, k as packageJson, s as startOfflineReconnection, m as saveToolOutputRecord } from './types-DYCJXXdA.mjs';
2
2
  import { randomUUID } from 'node:crypto';
3
3
  import { readFileSync, existsSync, readdirSync } from 'node:fs';
4
4
  import os, { homedir } from 'node:os';
5
5
  import { join, basename, dirname } from 'node:path';
6
- import { e as detectGitWorktree } from './index-CEW2digP.mjs';
6
+ import { e as detectGitWorktree } from './index-DJ2VpGiR.mjs';
7
7
 
8
8
  class BasePermissionHandler {
9
9
  pendingRequests = /* @__PURE__ */ new Map();
@@ -2,12 +2,12 @@
2
2
 
3
3
  var ink = require('ink');
4
4
  var React = require('react');
5
- var persistence = require('./types-uwC25Y-7.cjs');
5
+ var persistence = require('./types-BrTorNAy.cjs');
6
6
  var node_child_process = require('node:child_process');
7
7
  var node_readline = require('node:readline');
8
- var loadableToolOutput = require('./loadableToolOutput-C8O8qssE.cjs');
8
+ var loadableToolOutput = require('./loadableToolOutput-CasonFIt.cjs');
9
9
  var node_crypto = require('node:crypto');
10
- var index = require('./index-BrbxQFgt.cjs');
10
+ var index = require('./index-BlkHOkB3.cjs');
11
11
  var constants = require('./constants-B4x1K7by.cjs');
12
12
  var node_util = require('node:util');
13
13
  var promises = require('node:fs/promises');
@@ -1,11 +1,11 @@
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, n as saveDiffRecords, o as isDebug, q as extractUserText, t as isSystemMessage, u as generateStableUuid, v as findCodexSessionFile, w as connectionState, A as ApiClient, x as readSettings } from './types-Cwmgs219.mjs';
3
+ import { l as logger, n as saveDiffRecords, o as isDebug, q as extractUserText, t as isSystemMessage, u as generateStableUuid, v as findCodexSessionFile, w as connectionState, A as ApiClient, x as readSettings } from './types-DYCJXXdA.mjs';
4
4
  import { spawn, execSync } from 'node:child_process';
5
5
  import { createInterface } from 'node:readline';
6
- import { B as BasePermissionHandler, a as BaseReasoningProcessor, c as createSessionMetadata, s as setupOfflineReconnection, h as handleConfigMetadataEvent, b as summarizeBashToolOutput } from './loadableToolOutput-B22wnZel.mjs';
6
+ import { B as BasePermissionHandler, a as BaseReasoningProcessor, c as createSessionMetadata, s as setupOfflineReconnection, h as handleConfigMetadataEvent, b as summarizeBashToolOutput } from './loadableToolOutput-lQH8Kb_w.mjs';
7
7
  import { randomUUID } from 'node:crypto';
8
- import { i as initialMachineMetadata, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, g as createMcpContext, j as registerKillSessionHandler, k as MessageBuffer, p as parseClear, l as downloadImage, m as stopCaffeinate } from './index-CEW2digP.mjs';
8
+ import { i as initialMachineMetadata, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, g as createMcpContext, j as registerKillSessionHandler, k as MessageBuffer, p as parseClear, l as downloadImage, m as stopCaffeinate } from './index-DJ2VpGiR.mjs';
9
9
  import { g as getFirstTurnInstruction } from './constants-BO9OAFOT.mjs';
10
10
  import { inspect } from 'node:util';
11
11
  import { readFile } from 'node:fs/promises';
@@ -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
3
  import { randomUUID } from 'node:crypto';
4
- import { l as logger, G as GEMINI_MODEL_MODES, k as packageJson, y as delay, o as isDebug, n as saveDiffRecords, z as readGeminiSessionLog, w as connectionState, A as ApiClient, x as readSettings, B as GeminiSessionWriter, C as buildResumeContextFromSessionLog } from './types-Cwmgs219.mjs';
5
- import { d as handleAgentMessageChunk, e as handleToolCallUpdate, f as handleAgentThoughtChunk, g as handleToolCall, i as handleLegacyMessageChunk, j as handlePlanUpdate, k as handleThinkingUpdate, B as BasePermissionHandler, a as BaseReasoningProcessor, b as summarizeBashToolOutput, c as createSessionMetadata, s as setupOfflineReconnection, h as handleConfigMetadataEvent } from './loadableToolOutput-B22wnZel.mjs';
6
- import { i as initialMachineMetadata, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, k as MessageBuffer, j as registerKillSessionHandler, g as createMcpContext, p as parseClear, o as formatMessageForGemini, m as stopCaffeinate } from './index-CEW2digP.mjs';
4
+ import { l as logger, G as GEMINI_MODEL_MODES, k as packageJson, y as delay, o as isDebug, n as saveDiffRecords, z as readGeminiSessionLog, w as connectionState, A as ApiClient, x as readSettings, B as GeminiSessionWriter, C as buildResumeContextFromSessionLog } from './types-DYCJXXdA.mjs';
5
+ import { d as handleAgentMessageChunk, e as handleToolCallUpdate, f as handleAgentThoughtChunk, g as handleToolCall, i as handleLegacyMessageChunk, j as handlePlanUpdate, k as handleThinkingUpdate, B as BasePermissionHandler, a as BaseReasoningProcessor, b as summarizeBashToolOutput, c as createSessionMetadata, s as setupOfflineReconnection, h as handleConfigMetadataEvent } from './loadableToolOutput-lQH8Kb_w.mjs';
6
+ import { i as initialMachineMetadata, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, k as MessageBuffer, j as registerKillSessionHandler, g as createMcpContext, p as parseClear, o as formatMessageForGemini, m as stopCaffeinate } from './index-DJ2VpGiR.mjs';
7
7
  import { spawn } from 'node:child_process';
8
8
  import { ndJsonStream, ClientSideConnection } from '@agentclientprotocol/sdk';
9
9
  import { a as GEMINI_API_KEY_ENV, b as GOOGLE_API_KEY_ENV, G as GEMINI_MODEL_ENV, g as getFirstTurnInstruction } from './constants-BO9OAFOT.mjs';
10
- import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-BipvFFh-.mjs';
10
+ import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-DPn-cbpz.mjs';
11
11
  import 'axios';
12
12
  import 'chalk';
13
13
  import 'fs';
@@ -3,13 +3,13 @@
3
3
  var ink = require('ink');
4
4
  var React = require('react');
5
5
  var node_crypto = require('node:crypto');
6
- var persistence = require('./types-uwC25Y-7.cjs');
7
- var loadableToolOutput = require('./loadableToolOutput-C8O8qssE.cjs');
8
- var index = require('./index-BrbxQFgt.cjs');
6
+ var persistence = require('./types-BrTorNAy.cjs');
7
+ var loadableToolOutput = require('./loadableToolOutput-CasonFIt.cjs');
8
+ var index = require('./index-BlkHOkB3.cjs');
9
9
  var node_child_process = require('node:child_process');
10
10
  var sdk = require('@agentclientprotocol/sdk');
11
11
  var constants = require('./constants-B4x1K7by.cjs');
12
- var config = require('./config-7yvUoSPV.cjs');
12
+ var config = require('./config-D_g6ohaV.cjs');
13
13
  require('axios');
14
14
  require('chalk');
15
15
  require('fs');
@@ -2,8 +2,8 @@
2
2
 
3
3
  var node_child_process = require('node:child_process');
4
4
  var fs = require('node:fs');
5
- var index = require('./index-BrbxQFgt.cjs');
6
- var persistence = require('./types-uwC25Y-7.cjs');
5
+ var index = require('./index-BlkHOkB3.cjs');
6
+ var persistence = require('./types-BrTorNAy.cjs');
7
7
  var mcpToolSchemas = require('./mcpToolSchemas-f-kttjFw.cjs');
8
8
  require('chalk');
9
9
  require('node:os');
@@ -1,7 +1,7 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { existsSync } from 'node:fs';
3
- import { c as claudeCliPath } from './index-CEW2digP.mjs';
4
- import { l as logger, i as isModelModeForAgent, M as MODEL_MODE_DEFAULT, p as parseCodexModelMode, b as parseClaudeModelMode } from './types-Cwmgs219.mjs';
3
+ import { c as claudeCliPath } from './index-DJ2VpGiR.mjs';
4
+ import { l as logger, i as isModelModeForAgent, M as MODEL_MODE_DEFAULT, p as parseCodexModelMode, b as parseClaudeModelMode } from './types-DYCJXXdA.mjs';
5
5
  import { i as isOrchestratorProvider, O as ORCHESTRATOR_ENV_KEYS, d as decodePromptFromBase64 } from './mcpToolSchemas-CdPXJQmb.mjs';
6
6
  import 'chalk';
7
7
  import 'node:os';
@@ -1,7 +1,7 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
- import { c as configuration, e as encodeBase64, d as encrypt, f as decodeBase64, g as decrypt, r as readCredentials } from './types-Cwmgs219.mjs';
4
- import { f as fetchSessionById, d as decryptMessage, s as sessionListInputSchema, a as sessionSummaryInputSchema, r as runSessionList, b as runSessionSummary } from './index-CEW2digP.mjs';
3
+ import { c as configuration, e as encodeBase64, d as encrypt, f as decodeBase64, g as decrypt, r as readCredentials } from './types-DYCJXXdA.mjs';
4
+ import { f as fetchSessionById, d as decryptMessage, s as sessionListInputSchema, a as sessionSummaryInputSchema, r as runSessionList, b as runSessionSummary } from './index-DJ2VpGiR.mjs';
5
5
  import axios from 'axios';
6
6
  import { z } from 'zod';
7
7
  import { randomUUID } from 'node:crypto';
@@ -2,8 +2,8 @@
2
2
 
3
3
  var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
4
4
  var stdio_js = require('@modelcontextprotocol/sdk/server/stdio.js');
5
- var persistence = require('./types-uwC25Y-7.cjs');
6
- var index = require('./index-BrbxQFgt.cjs');
5
+ var persistence = require('./types-BrTorNAy.cjs');
6
+ var index = require('./index-BlkHOkB3.cjs');
7
7
  var axios = require('axios');
8
8
  var z = require('zod');
9
9
  var node_crypto = require('node:crypto');
@@ -53,7 +53,7 @@ function isDebug() {
53
53
  }
54
54
 
55
55
  var name = "@zonease/happy";
56
- var version = "0.6.36";
56
+ var version = "0.6.37";
57
57
  var description = "Mobile and Web client for Claude Code, Codex, and Gemini";
58
58
  var author = "ZonEaseTech";
59
59
  var license = "MIT";
@@ -203,6 +203,7 @@ var publishConfig = {
203
203
  };
204
204
  var packageManager = "yarn@1.22.22";
205
205
  var optionalDependencies = {
206
+ "node-pty": "^1.0.0",
206
207
  "@zonease/happy-tools-arm64-darwin": "1.0.0",
207
208
  "@zonease/happy-tools-x64-darwin": "1.0.0",
208
209
  "@zonease/happy-tools-arm64-linux": "1.0.0",
@@ -681,8 +682,6 @@ const MODEL_MODES = [
681
682
  "claude-opus-5[1m]",
682
683
  "claude-opus-4-8",
683
684
  "claude-opus-4-8[1m]",
684
- "claude-opus-4-7",
685
- "claude-opus-4-7[1m]",
686
685
  "claude-opus-4-6",
687
686
  "claude-opus-4-6[1m]",
688
687
  "claude-sonnet-4-6",
@@ -718,16 +717,6 @@ const MODEL_MODES = [
718
717
  "claude-opus-4-8[1m]-high",
719
718
  "claude-opus-4-8[1m]-xhigh",
720
719
  "claude-opus-4-8[1m]-max",
721
- "claude-opus-4-7-low",
722
- "claude-opus-4-7-medium",
723
- "claude-opus-4-7-high",
724
- "claude-opus-4-7-xhigh",
725
- "claude-opus-4-7-max",
726
- "claude-opus-4-7[1m]-low",
727
- "claude-opus-4-7[1m]-medium",
728
- "claude-opus-4-7[1m]-high",
729
- "claude-opus-4-7[1m]-xhigh",
730
- "claude-opus-4-7[1m]-max",
731
720
  "claude-opus-4-6-low",
732
721
  "claude-opus-4-6-medium",
733
722
  "claude-opus-4-6-high",
@@ -796,8 +785,6 @@ const CLAUDE_MODEL_MODES = [
796
785
  "claude-opus-5[1m]",
797
786
  "claude-opus-4-8",
798
787
  "claude-opus-4-8[1m]",
799
- "claude-opus-4-7",
800
- "claude-opus-4-7[1m]",
801
788
  "claude-opus-4-6",
802
789
  "claude-opus-4-6[1m]",
803
790
  "claude-sonnet-4-6",
@@ -833,16 +820,6 @@ const CLAUDE_MODEL_MODES = [
833
820
  "claude-opus-4-8[1m]-high",
834
821
  "claude-opus-4-8[1m]-xhigh",
835
822
  "claude-opus-4-8[1m]-max",
836
- "claude-opus-4-7-low",
837
- "claude-opus-4-7-medium",
838
- "claude-opus-4-7-high",
839
- "claude-opus-4-7-xhigh",
840
- "claude-opus-4-7-max",
841
- "claude-opus-4-7[1m]-low",
842
- "claude-opus-4-7[1m]-medium",
843
- "claude-opus-4-7[1m]-high",
844
- "claude-opus-4-7[1m]-xhigh",
845
- "claude-opus-4-7[1m]-max",
846
823
  "claude-opus-4-6-low",
847
824
  "claude-opus-4-6-medium",
848
825
  "claude-opus-4-6-high",
@@ -953,16 +930,6 @@ const CLAUDE_MODE_TO_SELECTION = {
953
930
  "claude-opus-4-8[1m]-high": { family: "claude-opus-4-8[1m]", effort: "high" },
954
931
  "claude-opus-4-8[1m]-xhigh": { family: "claude-opus-4-8[1m]", effort: "xhigh" },
955
932
  "claude-opus-4-8[1m]-max": { family: "claude-opus-4-8[1m]", effort: "max" },
956
- "claude-opus-4-7-low": { family: "claude-opus-4-7", effort: "low" },
957
- "claude-opus-4-7-medium": { family: "claude-opus-4-7", effort: "medium" },
958
- "claude-opus-4-7-high": { family: "claude-opus-4-7", effort: "high" },
959
- "claude-opus-4-7-xhigh": { family: "claude-opus-4-7", effort: "xhigh" },
960
- "claude-opus-4-7-max": { family: "claude-opus-4-7", effort: "max" },
961
- "claude-opus-4-7[1m]-low": { family: "claude-opus-4-7[1m]", effort: "low" },
962
- "claude-opus-4-7[1m]-medium": { family: "claude-opus-4-7[1m]", effort: "medium" },
963
- "claude-opus-4-7[1m]-high": { family: "claude-opus-4-7[1m]", effort: "high" },
964
- "claude-opus-4-7[1m]-xhigh": { family: "claude-opus-4-7[1m]", effort: "xhigh" },
965
- "claude-opus-4-7[1m]-max": { family: "claude-opus-4-7[1m]", effort: "max" },
966
933
  "claude-opus-4-6-low": { family: "claude-opus-4-6", effort: "low" },
967
934
  "claude-opus-4-6-medium": { family: "claude-opus-4-6", effort: "medium" },
968
935
  "claude-opus-4-6-high": { family: "claude-opus-4-6", effort: "high" },
@@ -2533,7 +2500,7 @@ No git repository was found from session cwd or workspace repo metadata. Session
2533
2500
  };
2534
2501
  }
2535
2502
 
2536
- const __dirname$1 = path$1.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('types-uwC25Y-7.cjs', document.baseURI).href))));
2503
+ const __dirname$1 = path$1.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('types-BrTorNAy.cjs', document.baseURI).href))));
2537
2504
  function projectPath() {
2538
2505
  const path = path$1.resolve(__dirname$1, "..");
2539
2506
  return path;
@@ -2584,7 +2551,7 @@ function resolveToolsDir() {
2584
2551
  }
2585
2552
  function findToolsDir() {
2586
2553
  try {
2587
- const manifest = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('types-uwC25Y-7.cjs', document.baseURI).href))).resolve(`${toolsPackageName()}/package.json`);
2554
+ const manifest = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('types-BrTorNAy.cjs', document.baseURI).href))).resolve(`${toolsPackageName()}/package.json`);
2588
2555
  return path.dirname(manifest);
2589
2556
  } catch {
2590
2557
  }
@@ -32,7 +32,7 @@ function isDebug() {
32
32
  }
33
33
 
34
34
  var name = "@zonease/happy";
35
- var version = "0.6.36";
35
+ var version = "0.6.37";
36
36
  var description = "Mobile and Web client for Claude Code, Codex, and Gemini";
37
37
  var author = "ZonEaseTech";
38
38
  var license = "MIT";
@@ -182,6 +182,7 @@ var publishConfig = {
182
182
  };
183
183
  var packageManager = "yarn@1.22.22";
184
184
  var optionalDependencies = {
185
+ "node-pty": "^1.0.0",
185
186
  "@zonease/happy-tools-arm64-darwin": "1.0.0",
186
187
  "@zonease/happy-tools-x64-darwin": "1.0.0",
187
188
  "@zonease/happy-tools-arm64-linux": "1.0.0",
@@ -660,8 +661,6 @@ const MODEL_MODES = [
660
661
  "claude-opus-5[1m]",
661
662
  "claude-opus-4-8",
662
663
  "claude-opus-4-8[1m]",
663
- "claude-opus-4-7",
664
- "claude-opus-4-7[1m]",
665
664
  "claude-opus-4-6",
666
665
  "claude-opus-4-6[1m]",
667
666
  "claude-sonnet-4-6",
@@ -697,16 +696,6 @@ const MODEL_MODES = [
697
696
  "claude-opus-4-8[1m]-high",
698
697
  "claude-opus-4-8[1m]-xhigh",
699
698
  "claude-opus-4-8[1m]-max",
700
- "claude-opus-4-7-low",
701
- "claude-opus-4-7-medium",
702
- "claude-opus-4-7-high",
703
- "claude-opus-4-7-xhigh",
704
- "claude-opus-4-7-max",
705
- "claude-opus-4-7[1m]-low",
706
- "claude-opus-4-7[1m]-medium",
707
- "claude-opus-4-7[1m]-high",
708
- "claude-opus-4-7[1m]-xhigh",
709
- "claude-opus-4-7[1m]-max",
710
699
  "claude-opus-4-6-low",
711
700
  "claude-opus-4-6-medium",
712
701
  "claude-opus-4-6-high",
@@ -775,8 +764,6 @@ const CLAUDE_MODEL_MODES = [
775
764
  "claude-opus-5[1m]",
776
765
  "claude-opus-4-8",
777
766
  "claude-opus-4-8[1m]",
778
- "claude-opus-4-7",
779
- "claude-opus-4-7[1m]",
780
767
  "claude-opus-4-6",
781
768
  "claude-opus-4-6[1m]",
782
769
  "claude-sonnet-4-6",
@@ -812,16 +799,6 @@ const CLAUDE_MODEL_MODES = [
812
799
  "claude-opus-4-8[1m]-high",
813
800
  "claude-opus-4-8[1m]-xhigh",
814
801
  "claude-opus-4-8[1m]-max",
815
- "claude-opus-4-7-low",
816
- "claude-opus-4-7-medium",
817
- "claude-opus-4-7-high",
818
- "claude-opus-4-7-xhigh",
819
- "claude-opus-4-7-max",
820
- "claude-opus-4-7[1m]-low",
821
- "claude-opus-4-7[1m]-medium",
822
- "claude-opus-4-7[1m]-high",
823
- "claude-opus-4-7[1m]-xhigh",
824
- "claude-opus-4-7[1m]-max",
825
802
  "claude-opus-4-6-low",
826
803
  "claude-opus-4-6-medium",
827
804
  "claude-opus-4-6-high",
@@ -932,16 +909,6 @@ const CLAUDE_MODE_TO_SELECTION = {
932
909
  "claude-opus-4-8[1m]-high": { family: "claude-opus-4-8[1m]", effort: "high" },
933
910
  "claude-opus-4-8[1m]-xhigh": { family: "claude-opus-4-8[1m]", effort: "xhigh" },
934
911
  "claude-opus-4-8[1m]-max": { family: "claude-opus-4-8[1m]", effort: "max" },
935
- "claude-opus-4-7-low": { family: "claude-opus-4-7", effort: "low" },
936
- "claude-opus-4-7-medium": { family: "claude-opus-4-7", effort: "medium" },
937
- "claude-opus-4-7-high": { family: "claude-opus-4-7", effort: "high" },
938
- "claude-opus-4-7-xhigh": { family: "claude-opus-4-7", effort: "xhigh" },
939
- "claude-opus-4-7-max": { family: "claude-opus-4-7", effort: "max" },
940
- "claude-opus-4-7[1m]-low": { family: "claude-opus-4-7[1m]", effort: "low" },
941
- "claude-opus-4-7[1m]-medium": { family: "claude-opus-4-7[1m]", effort: "medium" },
942
- "claude-opus-4-7[1m]-high": { family: "claude-opus-4-7[1m]", effort: "high" },
943
- "claude-opus-4-7[1m]-xhigh": { family: "claude-opus-4-7[1m]", effort: "xhigh" },
944
- "claude-opus-4-7[1m]-max": { family: "claude-opus-4-7[1m]", effort: "max" },
945
912
  "claude-opus-4-6-low": { family: "claude-opus-4-6", effort: "low" },
946
913
  "claude-opus-4-6-medium": { family: "claude-opus-4-6", effort: "medium" },
947
914
  "claude-opus-4-6-high": { family: "claude-opus-4-6", effort: "high" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zonease/happy",
3
- "version": "0.6.36",
3
+ "version": "0.6.37",
4
4
  "description": "Mobile and Web client for Claude Code, Codex, and Gemini",
5
5
  "author": "ZonEaseTech",
6
6
  "license": "MIT",
@@ -150,6 +150,7 @@
150
150
  },
151
151
  "packageManager": "yarn@1.22.22",
152
152
  "optionalDependencies": {
153
+ "node-pty": "^1.0.0",
153
154
  "@zonease/happy-tools-arm64-darwin": "1.0.0",
154
155
  "@zonease/happy-tools-x64-darwin": "1.0.0",
155
156
  "@zonease/happy-tools-arm64-linux": "1.0.0",
@@ -139,12 +139,25 @@ async function buildPackage(platform) {
139
139
  * exist on npm — including the very release that first publishes them. Inject
140
140
  * them at publish time instead.
141
141
  */
142
+ /**
143
+ * Adds the sidecars to whatever optional dependencies already exist. Replacing
144
+ * the object instead of merging dropped node-pty from a published release, and
145
+ * every machine that upgraded lost its terminal — the CLI reported a native
146
+ * build failure for a package that had simply never been installed.
147
+ */
148
+ function optionalDependenciesWithSidecars(existing) {
149
+ return {
150
+ ...existing,
151
+ ...Object.fromEntries(
152
+ PLATFORMS.map((platform) => [`@zonease/happy-tools-${platform}`, TOOLS_PACKAGE_VERSION]),
153
+ ),
154
+ };
155
+ }
156
+
142
157
  function writeOptionalDeps() {
143
158
  const manifestPath = path.join(root, 'package.json');
144
159
  const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'));
145
- manifest.optionalDependencies = Object.fromEntries(
146
- PLATFORMS.map((platform) => [`@zonease/happy-tools-${platform}`, TOOLS_PACKAGE_VERSION]),
147
- );
160
+ manifest.optionalDependencies = optionalDependenciesWithSidecars(manifest.optionalDependencies);
148
161
  fs.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + '\n');
149
162
  console.log(`\npackage.json now depends on ${PLATFORMS.length} tool packages @ ${TOOLS_PACKAGE_VERSION}`);
150
163
  }
@@ -164,7 +177,7 @@ async function main() {
164
177
  }
165
178
  }
166
179
 
167
- module.exports = { PLATFORMS, TOOLS_PACKAGE_VERSION, sidecarManifest };
180
+ module.exports = { PLATFORMS, TOOLS_PACKAGE_VERSION, sidecarManifest, optionalDependenciesWithSidecars };
168
181
 
169
182
  if (require.main === module) {
170
183
  main().catch((error) => {