@zonease/happy 0.6.46 → 0.6.48

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 (85) hide show
  1. package/dist/{api-CxdKKE-w.mjs → api-BQORFd9R.mjs} +2 -2
  2. package/dist/{api-DGgccR6B.cjs → api-lxlaOAan.cjs} +3 -3
  3. package/dist/{auth-CcMvoMIH.mjs → auth-Cch5XGgf.mjs} +4 -4
  4. package/dist/{auth-XO55Tcek.cjs → auth-D3n2c6ef.cjs} +4 -4
  5. package/dist/{auth-C7oghkN1.mjs → auth-DEvweBty.mjs} +2 -2
  6. package/dist/{auth-Bf-VkNDK.cjs → auth-DO429YIh.cjs} +2 -2
  7. package/dist/{browser-DedYcRMI.mjs → browser-C6JpWqen.mjs} +1 -1
  8. package/dist/{browser-Cn_RttD9.cjs → browser-ChToh76t.cjs} +1 -1
  9. package/dist/{claudeLocal-CupQ03sq.cjs → claudeLocal-BRkqm7Dv.cjs} +1 -1
  10. package/dist/{claudeLocal-G2km5rB3.mjs → claudeLocal-D7uEQO2e.mjs} +1 -1
  11. package/dist/codex/happyMcpStdioBridge.cjs +12 -2
  12. package/dist/codex/happyMcpStdioBridge.mjs +12 -2
  13. package/dist/{config-BDbpXufc.cjs → config-D1pd0h7A.cjs} +1 -1
  14. package/dist/{config-DimzIdjy.mjs → config-oC3LtNiN.mjs} +1 -1
  15. package/dist/{connect-CjFR0V4l.mjs → connect-CyFpNr11.mjs} +4 -4
  16. package/dist/{connect-DWElyqHy.cjs → connect-OAvNEIm0.cjs} +4 -4
  17. package/dist/{controlClient-DTS16hKY.cjs → controlClient-BAJAvvWO.cjs} +1 -1
  18. package/dist/{controlClient-C8MF8Qxi.mjs → controlClient-CEliu-dY.mjs} +1 -1
  19. package/dist/{cursorApprovalHook-B9dUHp7N.cjs → cursorApprovalHook-BWYkdy2I.cjs} +2 -2
  20. package/dist/{cursorApprovalHook-DmVCQFLi.mjs → cursorApprovalHook-P8q2-Ot5.mjs} +2 -2
  21. package/dist/{cursorApprovalServer-DeyL8InE.mjs → cursorApprovalServer-DNOUUpbJ.mjs} +1 -1
  22. package/dist/{cursorApprovalServer-BkQ3JeOR.cjs → cursorApprovalServer-VR5ZdRqZ.cjs} +1 -1
  23. package/dist/{deviceKeys-CcXkzhNB.cjs → deviceKeys-CFpY68YY.cjs} +2 -2
  24. package/dist/{deviceKeys-CUdnv0Yf.mjs → deviceKeys-CxID9XkJ.mjs} +2 -2
  25. package/dist/{doctor-C59DXnte.mjs → doctor-CrBPDAJR.mjs} +2 -2
  26. package/dist/{doctor-B1Tm6BSe.cjs → doctor-qquYvrNu.cjs} +2 -2
  27. package/dist/{downloadImage-fpJ_y7st.cjs → downloadImage-Cqy7ZDq9.cjs} +1 -1
  28. package/dist/{downloadImage-tso3BJBM.mjs → downloadImage-DFwUJ1-t.mjs} +1 -1
  29. package/dist/{enroll-DJwHeZQv.mjs → enroll-BS4x3OUQ.mjs} +3 -3
  30. package/dist/{enroll-qLqzLVlX.cjs → enroll-CPhX2YYW.cjs} +3 -3
  31. package/dist/{evidence-B2t1PILg.mjs → evidence-HQhiWcci.mjs} +1 -1
  32. package/dist/{evidence-IqM8YLhr.cjs → evidence-mn6vjFpr.cjs} +1 -1
  33. package/dist/{formatImageMessage-BzBJVvC5.cjs → formatImageMessage-DFfcusj_.cjs} +1 -1
  34. package/dist/{formatImageMessage-R9j4fTqw.mjs → formatImageMessage-cI_AEqo1.mjs} +1 -1
  35. package/dist/index.cjs +46 -46
  36. package/dist/index.mjs +46 -46
  37. package/dist/{install-C4UgnaVt.cjs → install-Bm5eNojk.cjs} +1 -1
  38. package/dist/{install-BvOb90B1.mjs → install-Bn2199Kq.mjs} +2 -2
  39. package/dist/{install-DVsfVhR4.mjs → install-sbpQfY_l.mjs} +1 -1
  40. package/dist/{install-CAWGzh-y.cjs → install-tBBR7NUn.cjs} +2 -2
  41. package/dist/lib.cjs +3 -3
  42. package/dist/lib.mjs +3 -3
  43. package/dist/{loadableToolOutput-JbPnwQD1.cjs → loadableToolOutput-BzTaDndK.cjs} +2 -2
  44. package/dist/{loadableToolOutput-Pxv9LNrC.mjs → loadableToolOutput-DbXbVycg.mjs} +2 -2
  45. package/dist/{persistence-DflTrEXm.cjs → persistence-ACqGUEtH.cjs} +1 -1
  46. package/dist/{persistence-BGgHa7Mf.mjs → persistence-YyHJPrEJ.mjs} +1 -1
  47. package/dist/{push-DOwuDkzH.mjs → push-CICE33Pk.mjs} +6 -6
  48. package/dist/{push-CavNF4-w.cjs → push-DN6X8puN.cjs} +6 -6
  49. package/dist/{registerKillSessionHandler-B9qo40Js.cjs → registerKillSessionHandler-BvYc-FOQ.cjs} +76 -17
  50. package/dist/{registerKillSessionHandler-Bcg7ph3f.mjs → registerKillSessionHandler-CaFN7Ti_.mjs} +76 -17
  51. package/dist/{run-CS7zNIOF.mjs → run-DEIpQXCf.mjs} +8 -8
  52. package/dist/{run-vWYjxpj7.cjs → run-Djrrraug.cjs} +8 -8
  53. package/dist/{runClaude-uzuESWTN.mjs → runClaude-BuXbk4Hk.mjs} +15 -15
  54. package/dist/{runClaude-DPv8wwz5.cjs → runClaude-DEnJA94E.cjs} +16 -16
  55. package/dist/{runCodex-BQj7asY1.mjs → runCodex-DDJ4ld9g.mjs} +17 -17
  56. package/dist/{runCodex-CukxaOtw.cjs → runCodex-xfey8ybA.cjs} +17 -17
  57. package/dist/{runCursor-DDFZIPow.mjs → runCursor-Ea-0SqPz.mjs} +15 -15
  58. package/dist/{runCursor-DRTH8eya.cjs → runCursor-HDQXcY5a.cjs} +15 -15
  59. package/dist/{runGemini-Dq1n_3Il.mjs → runGemini-DNXknLIG.mjs} +25 -20
  60. package/dist/{runGemini-fCjqaRxV.cjs → runGemini-DupL8lXI.cjs} +25 -20
  61. package/dist/{runOneShot-B58c3uwD.mjs → runOneShot-C3adjQdt.mjs} +2 -2
  62. package/dist/{runOneShot-cFeh3BT0.cjs → runOneShot-ncBtn_Gm.cjs} +2 -2
  63. package/dist/{serve-DlQJZwiG.mjs → serve-B8J5nW6c.mjs} +6 -6
  64. package/dist/{serve-Dow3CBz9.cjs → serve-DS7_dJ2V.cjs} +6 -6
  65. package/dist/{session-xYoR4mck.mjs → session-DLX5ZdxL.mjs} +5 -5
  66. package/dist/{session-DKY0LmV1.cjs → session-DqtoNEcE.cjs} +5 -5
  67. package/dist/{sessionKeyCache-B7Cr3M7u.cjs → sessionKeyCache-BnR0ARqZ.cjs} +1 -1
  68. package/dist/{sessionKeyCache-Pyx1Ydwx.mjs → sessionKeyCache-D0Y_V05P.mjs} +1 -1
  69. package/dist/{sessionList-DGnoq1GY.cjs → sessionList-B20S2H2v.cjs} +2 -2
  70. package/dist/{sessionList-C4JvaNZK.mjs → sessionList-D1jByB-c.mjs} +2 -2
  71. package/dist/{sessionSummary-DBDFmDZc.cjs → sessionSummary-BfkUnQew.cjs} +3 -3
  72. package/dist/{sessionSummary-CTGgh_U0.mjs → sessionSummary-HZWtQ6mW.mjs} +3 -3
  73. package/dist/{setupOfflineReconnection-Cjcq7f53.cjs → setupOfflineReconnection-C8Ll2khg.cjs} +3 -3
  74. package/dist/{setupOfflineReconnection-CD7ix1EA.mjs → setupOfflineReconnection-E5sAFKRm.mjs} +3 -3
  75. package/dist/{spawnHappyCLI-Bf5U61Km.cjs → spawnHappyCLI-BabByXDO.cjs} +1 -1
  76. package/dist/{spawnHappyCLI-CcZ1W5ck.mjs → spawnHappyCLI-iEcKfItK.mjs} +1 -1
  77. package/dist/{ssh-X7pcNZhV.mjs → ssh-BMawo5IG.mjs} +5 -5
  78. package/dist/{ssh-DVtjvpXO.cjs → ssh-BWLfu_Bu.cjs} +5 -5
  79. package/dist/{task-CDCM3UoN.cjs → task-CmzA8KBB.cjs} +6 -6
  80. package/dist/{task-B38P7nUL.mjs → task-JIXYT6Ut.mjs} +6 -6
  81. package/dist/{uninstall-BzSiuDRd.cjs → uninstall-CRICQerq.cjs} +2 -2
  82. package/dist/{uninstall-CnsQ85RV.mjs → uninstall-DE2hMEa8.mjs} +2 -2
  83. package/dist/{update-CffXErUk.mjs → update-Bo6YcGpg.mjs} +3 -3
  84. package/dist/{update-VzbqRv5g.cjs → update-DYLwPQB5.cjs} +3 -3
  85. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import axios from 'axios';
2
2
  import { z } from 'zod';
3
- import { c as configuration } from './persistence-BGgHa7Mf.mjs';
4
- import { d as decryptSessionRow } from './sessionSummary-CTGgh_U0.mjs';
3
+ import { c as configuration } from './persistence-YyHJPrEJ.mjs';
4
+ import { d as decryptSessionRow } from './sessionSummary-HZWtQ6mW.mjs';
5
5
 
6
6
  const sessionListInputSchema = {
7
7
  status: z.enum(["active", "archived", "all"]).optional().describe("Filter by session state. Default: all."),
@@ -2,9 +2,9 @@
2
2
 
3
3
  var axios = require('axios');
4
4
  var z = require('zod');
5
- var logger = require('./persistence-DflTrEXm.cjs');
6
- var auth = require('./auth-Bf-VkNDK.cjs');
7
- var sessionKeyCache = require('./sessionKeyCache-B7Cr3M7u.cjs');
5
+ var logger = require('./persistence-ACqGUEtH.cjs');
6
+ var auth = require('./auth-DO429YIh.cjs');
7
+ var sessionKeyCache = require('./sessionKeyCache-BnR0ARqZ.cjs');
8
8
 
9
9
  function resolveSessionKey(credentials, dataEncryptionKey, sessionId) {
10
10
  if (credentials.encryption.type === "legacy") {
@@ -1,8 +1,8 @@
1
1
  import axios from 'axios';
2
2
  import { z } from 'zod';
3
- import { q as decryptLegacy, h as decodeBase64, k as decryptWithDataKey, c as configuration } from './persistence-BGgHa7Mf.mjs';
4
- import { decryptWithEphemeralKey } from './auth-C7oghkN1.mjs';
5
- import { r as readCachedSessionKey } from './sessionKeyCache-Pyx1Ydwx.mjs';
3
+ import { q as decryptLegacy, h as decodeBase64, k as decryptWithDataKey, c as configuration } from './persistence-YyHJPrEJ.mjs';
4
+ import { decryptWithEphemeralKey } from './auth-DEvweBty.mjs';
5
+ import { r as readCachedSessionKey } from './sessionKeyCache-D0Y_V05P.mjs';
6
6
 
7
7
  function resolveSessionKey(credentials, dataEncryptionKey, sessionId) {
8
8
  if (credentials.encryption.type === "legacy") {
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./persistence-DflTrEXm.cjs');
3
+ var logger = require('./persistence-ACqGUEtH.cjs');
4
4
  var fs = require('node:fs');
5
5
  var os = require('node:os');
6
6
  var path = require('node:path');
7
7
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
8
- var api = require('./api-DGgccR6B.cjs');
9
- var registerKillSessionHandler = require('./registerKillSessionHandler-B9qo40Js.cjs');
8
+ var api = require('./api-lxlaOAan.cjs');
9
+ var registerKillSessionHandler = require('./registerKillSessionHandler-BvYc-FOQ.cjs');
10
10
 
11
11
  class BasePermissionHandler {
12
12
  pendingRequests = /* @__PURE__ */ new Map();
@@ -1,10 +1,10 @@
1
- import { l as logger, c as configuration, p as packageJson } from './persistence-BGgHa7Mf.mjs';
1
+ import { l as logger, c as configuration, p as packageJson } from './persistence-YyHJPrEJ.mjs';
2
2
  import { readFileSync, existsSync, readdirSync } from 'node:fs';
3
3
  import os, { homedir } from 'node:os';
4
4
  import { join, basename, dirname } from 'node:path';
5
5
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
6
- import { r as resolveToolsDir, b as startOfflineReconnection } from './api-CxdKKE-w.mjs';
7
- import { d as detectGitWorktree } from './registerKillSessionHandler-Bcg7ph3f.mjs';
6
+ import { r as resolveToolsDir, b as startOfflineReconnection } from './api-BQORFd9R.mjs';
7
+ import { d as detectGitWorktree } from './registerKillSessionHandler-CaFN7Ti_.mjs';
8
8
 
9
9
  class BasePermissionHandler {
10
10
  pendingRequests = /* @__PURE__ */ new Map();
@@ -3,7 +3,7 @@
3
3
  var child_process = require('child_process');
4
4
  var path = require('node:path');
5
5
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
6
- var logger = require('./persistence-DflTrEXm.cjs');
6
+ var logger = require('./persistence-ACqGUEtH.cjs');
7
7
  var fs = require('node:fs');
8
8
 
9
9
  let cachedRuntime = null;
@@ -1,7 +1,7 @@
1
1
  import { spawn } from 'child_process';
2
2
  import { join } from 'node:path';
3
3
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
4
- import { l as logger } from './persistence-BGgHa7Mf.mjs';
4
+ import { l as logger } from './persistence-YyHJPrEJ.mjs';
5
5
  import { existsSync } from 'node:fs';
6
6
 
7
7
  let cachedRuntime = null;
@@ -1,7 +1,7 @@
1
1
  import { io } from 'socket.io-client';
2
- import { c as configuration, g as decrypt, h as decodeBase64, e as encodeBase64, f as encrypt } from './persistence-BGgHa7Mf.mjs';
3
- import { e as ensureDeviceKey, l as listDevices, r as readCachedDeviceNames, a as readCachedDeviceKey, p as pruneDeviceAliases, d as deviceExec } from './deviceKeys-CUdnv0Yf.mjs';
4
- import { execOnDeviceViaDaemon } from './controlClient-C8MF8Qxi.mjs';
2
+ import { c as configuration, g as decrypt, h as decodeBase64, e as encodeBase64, f as encrypt } from './persistence-YyHJPrEJ.mjs';
3
+ import { e as ensureDeviceKey, l as listDevices, r as readCachedDeviceNames, a as readCachedDeviceKey, p as pruneDeviceAliases, d as deviceExec } from './deviceKeys-CxID9XkJ.mjs';
4
+ import { execOnDeviceViaDaemon } from './controlClient-CEliu-dY.mjs';
5
5
  import 'node:fs/promises';
6
6
  import 'node:fs';
7
7
  import 'node:os';
@@ -12,10 +12,10 @@ import 'tweetnacl';
12
12
  import 'chalk';
13
13
  import 'fs';
14
14
  import 'axios';
15
- import './auth-C7oghkN1.mjs';
15
+ import './auth-DEvweBty.mjs';
16
16
  import 'qrcode-terminal';
17
17
  import './time-DgsBLJA_.mjs';
18
- import './browser-DedYcRMI.mjs';
18
+ import './browser-C6JpWqen.mjs';
19
19
  import 'open';
20
20
  import 'react';
21
21
  import 'ink';
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var socket_ioClient = require('socket.io-client');
4
- var logger = require('./persistence-DflTrEXm.cjs');
5
- var deviceKeys = require('./deviceKeys-CcXkzhNB.cjs');
6
- var controlClient = require('./controlClient-DTS16hKY.cjs');
4
+ var logger = require('./persistence-ACqGUEtH.cjs');
5
+ var deviceKeys = require('./deviceKeys-CFpY68YY.cjs');
6
+ var controlClient = require('./controlClient-BAJAvvWO.cjs');
7
7
  require('node:fs/promises');
8
8
  require('node:fs');
9
9
  require('node:os');
@@ -14,10 +14,10 @@ require('tweetnacl');
14
14
  require('chalk');
15
15
  require('fs');
16
16
  require('axios');
17
- require('./auth-Bf-VkNDK.cjs');
17
+ require('./auth-DO429YIh.cjs');
18
18
  require('qrcode-terminal');
19
19
  require('./time-Bj2HRkKH.cjs');
20
- require('./browser-Cn_RttD9.cjs');
20
+ require('./browser-ChToh76t.cjs');
21
21
  require('open');
22
22
  require('react');
23
23
  require('ink');
@@ -2,9 +2,9 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var path = require('node:path');
5
- var logger = require('./persistence-DflTrEXm.cjs');
6
- var sessionList = require('./sessionList-DGnoq1GY.cjs');
7
- var sessionSummary = require('./sessionSummary-DBDFmDZc.cjs');
5
+ var logger = require('./persistence-ACqGUEtH.cjs');
6
+ var sessionList = require('./sessionList-B20S2H2v.cjs');
7
+ var sessionSummary = require('./sessionSummary-BfkUnQew.cjs');
8
8
  var workflowCommon = require('./workflowCommon-Bl568-rt.cjs');
9
9
  require('node:fs/promises');
10
10
  require('node:fs');
@@ -14,14 +14,14 @@ require('node:crypto');
14
14
  require('tweetnacl');
15
15
  require('fs');
16
16
  require('axios');
17
- require('./auth-Bf-VkNDK.cjs');
17
+ require('./auth-DO429YIh.cjs');
18
18
  require('qrcode-terminal');
19
19
  require('./time-Bj2HRkKH.cjs');
20
- require('./browser-Cn_RttD9.cjs');
20
+ require('./browser-ChToh76t.cjs');
21
21
  require('open');
22
22
  require('react');
23
23
  require('ink');
24
- require('./sessionKeyCache-B7Cr3M7u.cjs');
24
+ require('./sessionKeyCache-BnR0ARqZ.cjs');
25
25
 
26
26
  function printTaskHelp() {
27
27
  console.log(`
@@ -1,8 +1,8 @@
1
1
  import chalk from 'chalk';
2
2
  import { resolve } from 'node:path';
3
- import { r as readCredentials } from './persistence-BGgHa7Mf.mjs';
4
- import { r as runSessionList } from './sessionList-C4JvaNZK.mjs';
5
- import { r as runSessionSummary } from './sessionSummary-CTGgh_U0.mjs';
3
+ import { r as readCredentials } from './persistence-YyHJPrEJ.mjs';
4
+ import { r as runSessionList } from './sessionList-D1jByB-c.mjs';
5
+ import { r as runSessionSummary } from './sessionSummary-HZWtQ6mW.mjs';
6
6
  import { p as parseWorkflowArgs, s as stringFlag, b as booleanFlag, n as numberFlag, a as printOrWriteOutput } from './workflowCommon-B0d01Y_a.mjs';
7
7
  import 'node:fs/promises';
8
8
  import 'node:fs';
@@ -12,14 +12,14 @@ import 'node:crypto';
12
12
  import 'tweetnacl';
13
13
  import 'fs';
14
14
  import 'axios';
15
- import './auth-C7oghkN1.mjs';
15
+ import './auth-DEvweBty.mjs';
16
16
  import 'qrcode-terminal';
17
17
  import './time-DgsBLJA_.mjs';
18
- import './browser-DedYcRMI.mjs';
18
+ import './browser-C6JpWqen.mjs';
19
19
  import 'open';
20
20
  import 'react';
21
21
  import 'ink';
22
- import './sessionKeyCache-Pyx1Ydwx.mjs';
22
+ import './sessionKeyCache-D0Y_V05P.mjs';
23
23
 
24
24
  function printTaskHelp() {
25
25
  console.log(`
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./persistence-DflTrEXm.cjs');
3
+ var logger = require('./persistence-ACqGUEtH.cjs');
4
4
  var fs = require('fs');
5
5
  var child_process = require('child_process');
6
6
  var path = require('path');
7
7
  var os = require('os');
8
8
  var systemdScope = require('./systemdScope-DW3-UoKB.cjs');
9
- var controlClient = require('./controlClient-DTS16hKY.cjs');
9
+ var controlClient = require('./controlClient-BAJAvvWO.cjs');
10
10
  require('node:fs/promises');
11
11
  require('node:fs');
12
12
  require('node:os');
@@ -1,10 +1,10 @@
1
- import { l as logger } from './persistence-BGgHa7Mf.mjs';
1
+ import { l as logger } from './persistence-YyHJPrEJ.mjs';
2
2
  import { existsSync, unlinkSync } from 'fs';
3
3
  import { execSync } from 'child_process';
4
4
  import { join } from 'path';
5
5
  import os from 'os';
6
6
  import { s as systemdScopeFor, i as isRootUser, S as SERVICE_NAME } from './systemdScope-BeOtAkhk.mjs';
7
- import { stopDaemon } from './controlClient-C8MF8Qxi.mjs';
7
+ import { stopDaemon } from './controlClient-CEliu-dY.mjs';
8
8
  import 'node:fs/promises';
9
9
  import 'node:fs';
10
10
  import 'node:os';
@@ -1,9 +1,9 @@
1
1
  import chalk from 'chalk';
2
2
  import { execFileSync, execSync } from 'node:child_process';
3
3
  import { realpathSync } from 'node:fs';
4
- import { p as packageJson } from './persistence-BGgHa7Mf.mjs';
5
- import { checkIfDaemonRunningAndCleanupStaleState, stopDaemon } from './controlClient-C8MF8Qxi.mjs';
6
- import { s as spawnHappyCLI } from './spawnHappyCLI-CcZ1W5ck.mjs';
4
+ import { p as packageJson } from './persistence-YyHJPrEJ.mjs';
5
+ import { checkIfDaemonRunningAndCleanupStaleState, stopDaemon } from './controlClient-CEliu-dY.mjs';
6
+ import { s as spawnHappyCLI } from './spawnHappyCLI-iEcKfItK.mjs';
7
7
  import 'node:fs/promises';
8
8
  import 'node:os';
9
9
  import 'node:path';
@@ -3,9 +3,9 @@
3
3
  var chalk = require('chalk');
4
4
  var node_child_process = require('node:child_process');
5
5
  var fs = require('node:fs');
6
- var logger = require('./persistence-DflTrEXm.cjs');
7
- var controlClient = require('./controlClient-DTS16hKY.cjs');
8
- var spawnHappyCLI = require('./spawnHappyCLI-Bf5U61Km.cjs');
6
+ var logger = require('./persistence-ACqGUEtH.cjs');
7
+ var controlClient = require('./controlClient-BAJAvvWO.cjs');
8
+ var spawnHappyCLI = require('./spawnHappyCLI-BabByXDO.cjs');
9
9
  require('node:fs/promises');
10
10
  require('node:os');
11
11
  require('node:path');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zonease/happy",
3
- "version": "0.6.46",
3
+ "version": "0.6.48",
4
4
  "description": "Mobile and Web client for Claude Code, Codex, and Gemini",
5
5
  "author": "ZonEaseTech",
6
6
  "license": "MIT",