@zonease/happy 0.6.56 → 0.6.58

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 (87) hide show
  1. package/dist/{api-9wvM_aF-.mjs → api-B9shq-xZ.mjs} +47 -12
  2. package/dist/{api-BGc484qf.cjs → api-ByiU9yXy.cjs} +51 -12
  3. package/dist/{auth-CPfJalJM.cjs → auth-BG6e5Uem.cjs} +4 -4
  4. package/dist/{auth-DqAM-lIh.mjs → auth-BRh7v1qh.mjs} +4 -4
  5. package/dist/{auth-B6vskzfm.cjs → auth-DnFrlXqp.cjs} +2 -2
  6. package/dist/{auth-BnEa31tI.mjs → auth-DnRtIM3d.mjs} +2 -2
  7. package/dist/{browser-CkQP96Zi.mjs → browser-BeERlPhN.mjs} +1 -1
  8. package/dist/{browser-CnxzD1lA.cjs → browser-DjONS-B5.cjs} +1 -1
  9. package/dist/{claudeLocal-B5uxtoit.mjs → claudeLocal-CYtFfvTZ.mjs} +1 -1
  10. package/dist/{claudeLocal-CV4fT0Gg.cjs → claudeLocal-CuHH7tvQ.cjs} +1 -1
  11. package/dist/{config-C__p7EWC.cjs → config-BHwOLuFT.cjs} +1 -1
  12. package/dist/{config-C9hdBdfj.mjs → config-BkUfgaM5.mjs} +1 -1
  13. package/dist/{connect-DQjpjfYn.cjs → connect-B9rWe2GY.cjs} +4 -4
  14. package/dist/{connect-BeORCRXq.mjs → connect-BoTU3RCi.mjs} +4 -4
  15. package/dist/{controlClient-DWBW6jRF.cjs → controlClient-BqCwo6Pm.cjs} +1 -1
  16. package/dist/{controlClient-VY0CGL8k.mjs → controlClient-BuKaeD-y.mjs} +1 -1
  17. package/dist/{cursorApprovalHook-D_8btpsY.mjs → cursorApprovalHook-BADH_Ul1.mjs} +2 -2
  18. package/dist/{cursorApprovalHook-BuDSRM-6.cjs → cursorApprovalHook-Ckdd65co.cjs} +2 -2
  19. package/dist/{cursorApprovalServer-j9RphnEG.cjs → cursorApprovalServer--suu8J98.cjs} +1 -1
  20. package/dist/{cursorApprovalServer-BOUd2-Fg.mjs → cursorApprovalServer-BeTT3FNN.mjs} +1 -1
  21. package/dist/{deviceKeys-c_sN01Mm.cjs → deviceKeys-CSfs6juX.cjs} +2 -2
  22. package/dist/{deviceKeys-DvfaTff3.mjs → deviceKeys-DSXcQgLf.mjs} +2 -2
  23. package/dist/{doctor-DQtQbfG-.mjs → doctor-C77QV3rd.mjs} +2 -2
  24. package/dist/{doctor-CD46A-_Y.cjs → doctor-CxWWwoLX.cjs} +2 -2
  25. package/dist/{downloadImage-B6A4x8Jw.mjs → downloadImage-C3FHGZDr.mjs} +1 -1
  26. package/dist/{downloadImage-DGdHCFi3.cjs → downloadImage-DZBxkdwy.cjs} +1 -1
  27. package/dist/{enroll-D9CEuRI_.cjs → enroll-BjZCaXT4.cjs} +3 -3
  28. package/dist/{enroll-CyHWNKNt.mjs → enroll-D5V8LH6P.mjs} +3 -3
  29. package/dist/{evidence-BuYebdrN.mjs → evidence-DL-E4Qfd.mjs} +1 -1
  30. package/dist/{evidence-CCrpzsTA.cjs → evidence-DbFF210m.cjs} +1 -1
  31. package/dist/{formatImageMessage-5qaaT_Wq.mjs → formatImageMessage-C6glTFta.mjs} +1 -1
  32. package/dist/{formatImageMessage-DttKW75w.cjs → formatImageMessage-CHjdeDGM.cjs} +1 -1
  33. package/dist/index.cjs +46 -46
  34. package/dist/index.mjs +46 -46
  35. package/dist/{install-B0hT_tLv.cjs → install-9E-3IeF3.cjs} +2 -2
  36. package/dist/{install-eIXFuZbC.mjs → install-BPCWw2Vc.mjs} +2 -2
  37. package/dist/{install-1Y6dAcMp.mjs → install-DbRGuSWv.mjs} +1 -1
  38. package/dist/{install-C4cwObCN.cjs → install-Td8RvuEV.cjs} +1 -1
  39. package/dist/lib.cjs +3 -3
  40. package/dist/lib.d.cts +10 -0
  41. package/dist/lib.d.mts +10 -0
  42. package/dist/lib.mjs +3 -3
  43. package/dist/{loadableToolOutput-BKDTnyoF.mjs → loadableToolOutput-C0tAWFJM.mjs} +2 -2
  44. package/dist/{loadableToolOutput-Cb-18__b.cjs → loadableToolOutput-C5EQglQm.cjs} +2 -2
  45. package/dist/{persistence-CNXsXPLm.cjs → persistence-50wmDoBE.cjs} +1 -1
  46. package/dist/{persistence-IdEuIeMz.mjs → persistence-Da0uhblK.mjs} +2 -2
  47. package/dist/{push-tXs96IyG.mjs → push-BR82p4YC.mjs} +6 -6
  48. package/dist/{push-XL6Sb0Vw.cjs → push-Bbf139Sy.cjs} +6 -6
  49. package/dist/{registerKillSessionHandler-D9tmPdw5.cjs → registerKillSessionHandler-CHPzUrtO.cjs} +3 -3
  50. package/dist/{registerKillSessionHandler-vF5c8YZF.mjs → registerKillSessionHandler-CxHjAcQu.mjs} +3 -3
  51. package/dist/{run-BKfeeheJ.cjs → run-C6hmGRwH.cjs} +167 -8
  52. package/dist/{run-BvpCwXkt.mjs → run-DjaUrH7x.mjs} +167 -8
  53. package/dist/{runClaude-DDsG7eMR.cjs → runClaude-BR15B5bw.cjs} +20 -19
  54. package/dist/{runClaude-BiVqZQOm.mjs → runClaude-CKFHv0nI.mjs} +19 -18
  55. package/dist/{runCodex-C-8SvnpP.mjs → runCodex-BAlT1EGt.mjs} +18 -17
  56. package/dist/{runCodex-Bh519-dW.cjs → runCodex-BpVY3LQi.cjs} +18 -17
  57. package/dist/{runCursor-CYbvOqUa.cjs → runCursor-BUx34tPB.cjs} +18 -17
  58. package/dist/{runCursor-3AFNF0y2.mjs → runCursor-Dj3orwMw.mjs} +18 -17
  59. package/dist/{runGemini-ExHXGZBY.cjs → runGemini-Bdzns1qW.cjs} +20 -19
  60. package/dist/{runGemini-Dh2JRfOJ.mjs → runGemini-SEsV1VfH.mjs} +20 -19
  61. package/dist/{runOneShot-CVcw-K0_.mjs → runOneShot-BTHgA1q4.mjs} +2 -2
  62. package/dist/{runOneShot-CEVKtkx_.cjs → runOneShot-CK10IG0U.cjs} +2 -2
  63. package/dist/{serve-C4dOQ0jP.mjs → serve-BErPXI_R.mjs} +7 -6
  64. package/dist/{serve-D0IhhySV.cjs → serve-BHe5QkCA.cjs} +7 -6
  65. package/dist/{session-CwMxRPXS.mjs → session-CZyeSNaA.mjs} +6 -5
  66. package/dist/{session-DK9eudJT.cjs → session-FttaWXf3.cjs} +6 -5
  67. package/dist/sessionDecrypt-BsOlrqRs.mjs +64 -0
  68. package/dist/sessionDecrypt-DWm_k5dq.cjs +66 -0
  69. package/dist/{sessionKeyCache-DDzTs7E5.mjs → sessionKeyCache-BBzsFcnN.mjs} +1 -1
  70. package/dist/{sessionKeyCache-JjjYAxdf.cjs → sessionKeyCache-CmORI8jN.cjs} +1 -1
  71. package/dist/{sessionList-IYAtPIev.mjs → sessionList-D_Y-1Cir.mjs} +2 -2
  72. package/dist/{sessionList-DZmmAP3q.cjs → sessionList-lxpW_76R.cjs} +3 -3
  73. package/dist/{sessionSummary-CsIfkyZA.cjs → sessionSummary-BP2T8GHr.cjs} +3 -64
  74. package/dist/{sessionSummary-CQQyTHRC.mjs → sessionSummary-YLlUeUre.mjs} +3 -63
  75. package/dist/{setupOfflineReconnection-C1yzDMt6.mjs → setupOfflineReconnection-B4aU1Nix.mjs} +3 -3
  76. package/dist/{setupOfflineReconnection-DwtIEUeJ.cjs → setupOfflineReconnection-CldeNWUW.cjs} +3 -3
  77. package/dist/{spawnHappyCLI-BbMkZhMk.cjs → spawnHappyCLI-BNUBk0w5.cjs} +1 -1
  78. package/dist/{spawnHappyCLI-DlTg87jS.mjs → spawnHappyCLI-Cv2VARTw.mjs} +1 -1
  79. package/dist/{ssh-DSVjanff.mjs → ssh-CBvM1RVJ.mjs} +5 -5
  80. package/dist/{ssh-D31o750w.cjs → ssh-DXOMR-gb.cjs} +5 -5
  81. package/dist/{task-D9ZjWCcw.mjs → task-CQonykFe.mjs} +7 -6
  82. package/dist/{task--Apxd9oF.cjs → task-DrX3H3_Y.cjs} +7 -6
  83. package/dist/{uninstall-Bo2uaLRP.mjs → uninstall-BijW1rTR.mjs} +2 -2
  84. package/dist/{uninstall-CZJcoC06.cjs → uninstall-CPQjax_f.cjs} +2 -2
  85. package/dist/{update-BiV4YqG3.mjs → update-DaJjoz93.mjs} +3 -3
  86. package/dist/{update-D-bTjP2k.cjs → update-g3D05Tvv.cjs} +3 -3
  87. package/package.json +1 -1
@@ -0,0 +1,64 @@
1
+ import { o as decryptLegacy, h as decodeBase64, k as decryptWithDataKey } from './persistence-Da0uhblK.mjs';
2
+ import { decryptWithEphemeralKey } from './auth-DnRtIM3d.mjs';
3
+ import { r as readCachedSessionKey } from './sessionKeyCache-BBzsFcnN.mjs';
4
+
5
+ function resolveSessionKey(credentials, dataEncryptionKey, sessionId) {
6
+ if (credentials.encryption.type === "legacy") {
7
+ return { key: credentials.encryption.secret, variant: "legacy" };
8
+ }
9
+ if (sessionId) {
10
+ const cached = readCachedSessionKey(sessionId, credentials.encryption.machineKey);
11
+ if (cached) {
12
+ return { key: cached, variant: "dataKey" };
13
+ }
14
+ }
15
+ if (!dataEncryptionKey) {
16
+ return null;
17
+ }
18
+ const blob = decodeBase64(dataEncryptionKey);
19
+ if (blob.length < 1 || blob[0] !== 0) {
20
+ return null;
21
+ }
22
+ const opened = decryptWithEphemeralKey(blob.slice(1), credentials.encryption.machineKey);
23
+ if (!opened) {
24
+ return null;
25
+ }
26
+ return { key: opened, variant: "dataKey" };
27
+ }
28
+ function decryptSessionRow(credentials, row) {
29
+ const resolved = resolveSessionKey(credentials, row.dataEncryptionKey, row.id);
30
+ if (!resolved) {
31
+ return null;
32
+ }
33
+ let metadata = null;
34
+ if (row.metadata) {
35
+ try {
36
+ metadata = resolved.variant === "legacy" ? decryptLegacy(decodeBase64(row.metadata), resolved.key) : decryptWithDataKey(decodeBase64(row.metadata), resolved.key);
37
+ } catch {
38
+ metadata = null;
39
+ }
40
+ }
41
+ let agentState = null;
42
+ if (row.agentState) {
43
+ try {
44
+ agentState = resolved.variant === "legacy" ? decryptLegacy(decodeBase64(row.agentState), resolved.key) : decryptWithDataKey(decodeBase64(row.agentState), resolved.key);
45
+ } catch {
46
+ agentState = null;
47
+ }
48
+ }
49
+ return {
50
+ id: row.id,
51
+ seq: row.seq,
52
+ createdAt: row.createdAt,
53
+ updatedAt: row.updatedAt,
54
+ activeAt: row.activeAt,
55
+ active: row.active,
56
+ metadata,
57
+ agentState,
58
+ isShared: row.isShared,
59
+ encryptionKey: resolved.key,
60
+ encryptionVariant: resolved.variant
61
+ };
62
+ }
63
+
64
+ export { decryptSessionRow as d };
@@ -0,0 +1,66 @@
1
+ 'use strict';
2
+
3
+ var logger = require('./persistence-50wmDoBE.cjs');
4
+ var auth = require('./auth-DnFrlXqp.cjs');
5
+ var sessionKeyCache = require('./sessionKeyCache-CmORI8jN.cjs');
6
+
7
+ function resolveSessionKey(credentials, dataEncryptionKey, sessionId) {
8
+ if (credentials.encryption.type === "legacy") {
9
+ return { key: credentials.encryption.secret, variant: "legacy" };
10
+ }
11
+ if (sessionId) {
12
+ const cached = sessionKeyCache.readCachedSessionKey(sessionId, credentials.encryption.machineKey);
13
+ if (cached) {
14
+ return { key: cached, variant: "dataKey" };
15
+ }
16
+ }
17
+ if (!dataEncryptionKey) {
18
+ return null;
19
+ }
20
+ const blob = logger.decodeBase64(dataEncryptionKey);
21
+ if (blob.length < 1 || blob[0] !== 0) {
22
+ return null;
23
+ }
24
+ const opened = auth.decryptWithEphemeralKey(blob.slice(1), credentials.encryption.machineKey);
25
+ if (!opened) {
26
+ return null;
27
+ }
28
+ return { key: opened, variant: "dataKey" };
29
+ }
30
+ function decryptSessionRow(credentials, row) {
31
+ const resolved = resolveSessionKey(credentials, row.dataEncryptionKey, row.id);
32
+ if (!resolved) {
33
+ return null;
34
+ }
35
+ let metadata = null;
36
+ if (row.metadata) {
37
+ try {
38
+ metadata = resolved.variant === "legacy" ? logger.decryptLegacy(logger.decodeBase64(row.metadata), resolved.key) : logger.decryptWithDataKey(logger.decodeBase64(row.metadata), resolved.key);
39
+ } catch {
40
+ metadata = null;
41
+ }
42
+ }
43
+ let agentState = null;
44
+ if (row.agentState) {
45
+ try {
46
+ agentState = resolved.variant === "legacy" ? logger.decryptLegacy(logger.decodeBase64(row.agentState), resolved.key) : logger.decryptWithDataKey(logger.decodeBase64(row.agentState), resolved.key);
47
+ } catch {
48
+ agentState = null;
49
+ }
50
+ }
51
+ return {
52
+ id: row.id,
53
+ seq: row.seq,
54
+ createdAt: row.createdAt,
55
+ updatedAt: row.updatedAt,
56
+ activeAt: row.activeAt,
57
+ active: row.active,
58
+ metadata,
59
+ agentState,
60
+ isShared: row.isShared,
61
+ encryptionKey: resolved.key,
62
+ encryptionVariant: resolved.variant
63
+ };
64
+ }
65
+
66
+ exports.decryptSessionRow = decryptSessionRow;
@@ -1,7 +1,7 @@
1
1
  import { existsSync, mkdirSync, readFileSync } from 'node:fs';
2
2
  import { writeFile } from 'node:fs/promises';
3
3
  import { join } from 'node:path';
4
- import { c as configuration, j as encryptWithDataKey, e as encodeBase64, k as decryptWithDataKey, h as decodeBase64 } from './persistence-IdEuIeMz.mjs';
4
+ import { c as configuration, j as encryptWithDataKey, e as encodeBase64, k as decryptWithDataKey, h as decodeBase64 } from './persistence-Da0uhblK.mjs';
5
5
 
6
6
  function keyPath(sessionId) {
7
7
  return join(configuration.sessionKeysDir, `${sessionId}.key`);
@@ -3,7 +3,7 @@
3
3
  var fs = require('node:fs');
4
4
  var promises = require('node:fs/promises');
5
5
  var path = require('node:path');
6
- var logger = require('./persistence-CNXsXPLm.cjs');
6
+ var logger = require('./persistence-50wmDoBE.cjs');
7
7
 
8
8
  function keyPath(sessionId) {
9
9
  return path.join(logger.configuration.sessionKeysDir, `${sessionId}.key`);
@@ -1,7 +1,7 @@
1
1
  import axios from 'axios';
2
2
  import { z } from 'zod';
3
- import { c as configuration } from './persistence-IdEuIeMz.mjs';
4
- import { d as decryptSessionRow } from './sessionSummary-CQQyTHRC.mjs';
3
+ import { c as configuration } from './persistence-Da0uhblK.mjs';
4
+ import { d as decryptSessionRow } from './sessionDecrypt-BsOlrqRs.mjs';
5
5
 
6
6
  const sessionListInputSchema = {
7
7
  status: z.enum(["active", "archived", "all"]).optional().describe("Filter by session state. Default: all."),
@@ -2,8 +2,8 @@
2
2
 
3
3
  var axios = require('axios');
4
4
  var z = require('zod');
5
- var logger = require('./persistence-CNXsXPLm.cjs');
6
- var sessionSummary = require('./sessionSummary-CsIfkyZA.cjs');
5
+ var logger = require('./persistence-50wmDoBE.cjs');
6
+ var sessionDecrypt = require('./sessionDecrypt-DWm_k5dq.cjs');
7
7
 
8
8
  const sessionListInputSchema = {
9
9
  status: z.z.enum(["active", "archived", "all"]).optional().describe("Filter by session state. Default: all."),
@@ -22,7 +22,7 @@ async function runSessionList(credentials, input) {
22
22
  timeout: 1e4
23
23
  }
24
24
  );
25
- const filtered = response.data.sessions.map((row) => sessionSummary.decryptSessionRow(credentials, row)).filter((row) => row !== null).filter((row) => {
25
+ const filtered = response.data.sessions.map((row) => sessionDecrypt.decryptSessionRow(credentials, row)).filter((row) => row !== null).filter((row) => {
26
26
  if (input.status === "active") return row.active;
27
27
  if (input.status === "archived") return !row.active;
28
28
  return true;
@@ -2,68 +2,8 @@
2
2
 
3
3
  var axios = require('axios');
4
4
  var z = require('zod');
5
- var logger = require('./persistence-CNXsXPLm.cjs');
6
- var auth = require('./auth-B6vskzfm.cjs');
7
- var sessionKeyCache = require('./sessionKeyCache-JjjYAxdf.cjs');
8
-
9
- function resolveSessionKey(credentials, dataEncryptionKey, sessionId) {
10
- if (credentials.encryption.type === "legacy") {
11
- return { key: credentials.encryption.secret, variant: "legacy" };
12
- }
13
- if (sessionId) {
14
- const cached = sessionKeyCache.readCachedSessionKey(sessionId, credentials.encryption.machineKey);
15
- if (cached) {
16
- return { key: cached, variant: "dataKey" };
17
- }
18
- }
19
- if (!dataEncryptionKey) {
20
- return null;
21
- }
22
- const blob = logger.decodeBase64(dataEncryptionKey);
23
- if (blob.length < 1 || blob[0] !== 0) {
24
- return null;
25
- }
26
- const opened = auth.decryptWithEphemeralKey(blob.slice(1), credentials.encryption.machineKey);
27
- if (!opened) {
28
- return null;
29
- }
30
- return { key: opened, variant: "dataKey" };
31
- }
32
- function decryptSessionRow(credentials, row) {
33
- const resolved = resolveSessionKey(credentials, row.dataEncryptionKey, row.id);
34
- if (!resolved) {
35
- return null;
36
- }
37
- let metadata = null;
38
- if (row.metadata) {
39
- try {
40
- metadata = resolved.variant === "legacy" ? logger.decryptLegacy(logger.decodeBase64(row.metadata), resolved.key) : logger.decryptWithDataKey(logger.decodeBase64(row.metadata), resolved.key);
41
- } catch {
42
- metadata = null;
43
- }
44
- }
45
- let agentState = null;
46
- if (row.agentState) {
47
- try {
48
- agentState = resolved.variant === "legacy" ? logger.decryptLegacy(logger.decodeBase64(row.agentState), resolved.key) : logger.decryptWithDataKey(logger.decodeBase64(row.agentState), resolved.key);
49
- } catch {
50
- agentState = null;
51
- }
52
- }
53
- return {
54
- id: row.id,
55
- seq: row.seq,
56
- createdAt: row.createdAt,
57
- updatedAt: row.updatedAt,
58
- activeAt: row.activeAt,
59
- active: row.active,
60
- metadata,
61
- agentState,
62
- isShared: row.isShared,
63
- encryptionKey: resolved.key,
64
- encryptionVariant: resolved.variant
65
- };
66
- }
5
+ var logger = require('./persistence-50wmDoBE.cjs');
6
+ var sessionDecrypt = require('./sessionDecrypt-DWm_k5dq.cjs');
67
7
 
68
8
  async function fetchSessionById(credentials, sessionId) {
69
9
  const response = await axios.get(
@@ -75,7 +15,7 @@ async function fetchSessionById(credentials, sessionId) {
75
15
  );
76
16
  const row = response.data.sessions.find((s) => s.id === sessionId);
77
17
  if (!row) return null;
78
- return decryptSessionRow(credentials, row);
18
+ return sessionDecrypt.decryptSessionRow(credentials, row);
79
19
  }
80
20
 
81
21
  function extractEncryptedBase64(content) {
@@ -387,7 +327,6 @@ async function runSessionSummary(credentials, input) {
387
327
  }
388
328
 
389
329
  exports.decryptMessage = decryptMessage;
390
- exports.decryptSessionRow = decryptSessionRow;
391
330
  exports.fetchSessionById = fetchSessionById;
392
331
  exports.runSessionSummary = runSessionSummary;
393
332
  exports.sessionSummaryInputSchema = sessionSummaryInputSchema;
@@ -1,67 +1,7 @@
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-IdEuIeMz.mjs';
4
- import { decryptWithEphemeralKey } from './auth-BnEa31tI.mjs';
5
- import { r as readCachedSessionKey } from './sessionKeyCache-DDzTs7E5.mjs';
6
-
7
- function resolveSessionKey(credentials, dataEncryptionKey, sessionId) {
8
- if (credentials.encryption.type === "legacy") {
9
- return { key: credentials.encryption.secret, variant: "legacy" };
10
- }
11
- if (sessionId) {
12
- const cached = readCachedSessionKey(sessionId, credentials.encryption.machineKey);
13
- if (cached) {
14
- return { key: cached, variant: "dataKey" };
15
- }
16
- }
17
- if (!dataEncryptionKey) {
18
- return null;
19
- }
20
- const blob = decodeBase64(dataEncryptionKey);
21
- if (blob.length < 1 || blob[0] !== 0) {
22
- return null;
23
- }
24
- const opened = decryptWithEphemeralKey(blob.slice(1), credentials.encryption.machineKey);
25
- if (!opened) {
26
- return null;
27
- }
28
- return { key: opened, variant: "dataKey" };
29
- }
30
- function decryptSessionRow(credentials, row) {
31
- const resolved = resolveSessionKey(credentials, row.dataEncryptionKey, row.id);
32
- if (!resolved) {
33
- return null;
34
- }
35
- let metadata = null;
36
- if (row.metadata) {
37
- try {
38
- metadata = resolved.variant === "legacy" ? decryptLegacy(decodeBase64(row.metadata), resolved.key) : decryptWithDataKey(decodeBase64(row.metadata), resolved.key);
39
- } catch {
40
- metadata = null;
41
- }
42
- }
43
- let agentState = null;
44
- if (row.agentState) {
45
- try {
46
- agentState = resolved.variant === "legacy" ? decryptLegacy(decodeBase64(row.agentState), resolved.key) : decryptWithDataKey(decodeBase64(row.agentState), resolved.key);
47
- } catch {
48
- agentState = null;
49
- }
50
- }
51
- return {
52
- id: row.id,
53
- seq: row.seq,
54
- createdAt: row.createdAt,
55
- updatedAt: row.updatedAt,
56
- activeAt: row.activeAt,
57
- active: row.active,
58
- metadata,
59
- agentState,
60
- isShared: row.isShared,
61
- encryptionKey: resolved.key,
62
- encryptionVariant: resolved.variant
63
- };
64
- }
3
+ import { c as configuration, h as decodeBase64, o as decryptLegacy, k as decryptWithDataKey } from './persistence-Da0uhblK.mjs';
4
+ import { d as decryptSessionRow } from './sessionDecrypt-BsOlrqRs.mjs';
65
5
 
66
6
  async function fetchSessionById(credentials, sessionId) {
67
7
  const response = await axios.get(
@@ -384,4 +324,4 @@ async function runSessionSummary(credentials, input) {
384
324
  };
385
325
  }
386
326
 
387
- export { decryptMessage as a, decryptSessionRow as d, fetchSessionById as f, runSessionSummary as r, sessionSummaryInputSchema as s };
327
+ export { decryptMessage as d, fetchSessionById as f, runSessionSummary as r, sessionSummaryInputSchema as s };
@@ -1,10 +1,10 @@
1
- import { l as logger, c as configuration, p as packageJson } from './persistence-IdEuIeMz.mjs';
1
+ import { l as logger, c as configuration, p as packageJson } from './persistence-Da0uhblK.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-9wvM_aF-.mjs';
7
- import { d as detectGitWorktree } from './registerKillSessionHandler-vF5c8YZF.mjs';
6
+ import { r as resolveToolsDir, b as startOfflineReconnection } from './api-B9shq-xZ.mjs';
7
+ import { d as detectGitWorktree } from './registerKillSessionHandler-CxHjAcQu.mjs';
8
8
 
9
9
  class BasePermissionHandler {
10
10
  pendingRequests = /* @__PURE__ */ new Map();
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./persistence-CNXsXPLm.cjs');
3
+ var logger = require('./persistence-50wmDoBE.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-BGc484qf.cjs');
9
- var registerKillSessionHandler = require('./registerKillSessionHandler-D9tmPdw5.cjs');
8
+ var api = require('./api-ByiU9yXy.cjs');
9
+ var registerKillSessionHandler = require('./registerKillSessionHandler-CHPzUrtO.cjs');
10
10
 
11
11
  class BasePermissionHandler {
12
12
  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-CNXsXPLm.cjs');
6
+ var logger = require('./persistence-50wmDoBE.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-IdEuIeMz.mjs';
4
+ import { l as logger } from './persistence-Da0uhblK.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-IdEuIeMz.mjs';
3
- import { e as ensureDeviceKey, l as listDevices, r as readCachedDeviceNames, a as readCachedDeviceKey, p as pruneDeviceAliases, d as deviceExec } from './deviceKeys-DvfaTff3.mjs';
4
- import { execOnDeviceViaDaemon } from './controlClient-VY0CGL8k.mjs';
2
+ import { c as configuration, g as decrypt, h as decodeBase64, e as encodeBase64, f as encrypt } from './persistence-Da0uhblK.mjs';
3
+ import { e as ensureDeviceKey, l as listDevices, r as readCachedDeviceNames, a as readCachedDeviceKey, p as pruneDeviceAliases, d as deviceExec } from './deviceKeys-DSXcQgLf.mjs';
4
+ import { execOnDeviceViaDaemon } from './controlClient-BuKaeD-y.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-BnEa31tI.mjs';
15
+ import './auth-DnRtIM3d.mjs';
16
16
  import 'qrcode-terminal';
17
17
  import './time-DgsBLJA_.mjs';
18
- import './browser-CkQP96Zi.mjs';
18
+ import './browser-BeERlPhN.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-CNXsXPLm.cjs');
5
- var deviceKeys = require('./deviceKeys-c_sN01Mm.cjs');
6
- var controlClient = require('./controlClient-DWBW6jRF.cjs');
4
+ var logger = require('./persistence-50wmDoBE.cjs');
5
+ var deviceKeys = require('./deviceKeys-CSfs6juX.cjs');
6
+ var controlClient = require('./controlClient-BqCwo6Pm.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-B6vskzfm.cjs');
17
+ require('./auth-DnFrlXqp.cjs');
18
18
  require('qrcode-terminal');
19
19
  require('./time-Bj2HRkKH.cjs');
20
- require('./browser-CnxzD1lA.cjs');
20
+ require('./browser-DjONS-B5.cjs');
21
21
  require('open');
22
22
  require('react');
23
23
  require('ink');
@@ -1,8 +1,8 @@
1
1
  import chalk from 'chalk';
2
2
  import { resolve } from 'node:path';
3
- import { r as readCredentials } from './persistence-IdEuIeMz.mjs';
4
- import { r as runSessionList } from './sessionList-IYAtPIev.mjs';
5
- import { r as runSessionSummary } from './sessionSummary-CQQyTHRC.mjs';
3
+ import { r as readCredentials } from './persistence-Da0uhblK.mjs';
4
+ import { r as runSessionList } from './sessionList-D_Y-1Cir.mjs';
5
+ import { r as runSessionSummary } from './sessionSummary-YLlUeUre.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,15 @@ import 'node:crypto';
12
12
  import 'tweetnacl';
13
13
  import 'fs';
14
14
  import 'axios';
15
- import './auth-BnEa31tI.mjs';
15
+ import './sessionDecrypt-BsOlrqRs.mjs';
16
+ import './auth-DnRtIM3d.mjs';
16
17
  import 'qrcode-terminal';
17
18
  import './time-DgsBLJA_.mjs';
18
- import './browser-CkQP96Zi.mjs';
19
+ import './browser-BeERlPhN.mjs';
19
20
  import 'open';
20
21
  import 'react';
21
22
  import 'ink';
22
- import './sessionKeyCache-DDzTs7E5.mjs';
23
+ import './sessionKeyCache-BBzsFcnN.mjs';
23
24
 
24
25
  function printTaskHelp() {
25
26
  console.log(`
@@ -2,9 +2,9 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var path = require('node:path');
5
- var logger = require('./persistence-CNXsXPLm.cjs');
6
- var sessionList = require('./sessionList-DZmmAP3q.cjs');
7
- var sessionSummary = require('./sessionSummary-CsIfkyZA.cjs');
5
+ var logger = require('./persistence-50wmDoBE.cjs');
6
+ var sessionList = require('./sessionList-lxpW_76R.cjs');
7
+ var sessionSummary = require('./sessionSummary-BP2T8GHr.cjs');
8
8
  var workflowCommon = require('./workflowCommon-Bl568-rt.cjs');
9
9
  require('node:fs/promises');
10
10
  require('node:fs');
@@ -14,14 +14,15 @@ require('node:crypto');
14
14
  require('tweetnacl');
15
15
  require('fs');
16
16
  require('axios');
17
- require('./auth-B6vskzfm.cjs');
17
+ require('./sessionDecrypt-DWm_k5dq.cjs');
18
+ require('./auth-DnFrlXqp.cjs');
18
19
  require('qrcode-terminal');
19
20
  require('./time-Bj2HRkKH.cjs');
20
- require('./browser-CnxzD1lA.cjs');
21
+ require('./browser-DjONS-B5.cjs');
21
22
  require('open');
22
23
  require('react');
23
24
  require('ink');
24
- require('./sessionKeyCache-JjjYAxdf.cjs');
25
+ require('./sessionKeyCache-CmORI8jN.cjs');
25
26
 
26
27
  function printTaskHelp() {
27
28
  console.log(`
@@ -1,10 +1,10 @@
1
- import { l as logger } from './persistence-IdEuIeMz.mjs';
1
+ import { l as logger } from './persistence-Da0uhblK.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-VY0CGL8k.mjs';
7
+ import { stopDaemon } from './controlClient-BuKaeD-y.mjs';
8
8
  import 'node:fs/promises';
9
9
  import 'node:fs';
10
10
  import 'node:os';
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./persistence-CNXsXPLm.cjs');
3
+ var logger = require('./persistence-50wmDoBE.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-DWBW6jRF.cjs');
9
+ var controlClient = require('./controlClient-BqCwo6Pm.cjs');
10
10
  require('node:fs/promises');
11
11
  require('node:fs');
12
12
  require('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-IdEuIeMz.mjs';
5
- import { checkIfDaemonRunningAndCleanupStaleState, stopDaemon } from './controlClient-VY0CGL8k.mjs';
6
- import { s as spawnHappyCLI } from './spawnHappyCLI-DlTg87jS.mjs';
4
+ import { p as packageJson } from './persistence-Da0uhblK.mjs';
5
+ import { checkIfDaemonRunningAndCleanupStaleState, stopDaemon } from './controlClient-BuKaeD-y.mjs';
6
+ import { s as spawnHappyCLI } from './spawnHappyCLI-Cv2VARTw.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-CNXsXPLm.cjs');
7
- var controlClient = require('./controlClient-DWBW6jRF.cjs');
8
- var spawnHappyCLI = require('./spawnHappyCLI-BbMkZhMk.cjs');
6
+ var logger = require('./persistence-50wmDoBE.cjs');
7
+ var controlClient = require('./controlClient-BqCwo6Pm.cjs');
8
+ var spawnHappyCLI = require('./spawnHappyCLI-BNUBk0w5.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.56",
3
+ "version": "0.6.58",
4
4
  "description": "Mobile and Web client for Claude Code, Codex, and Gemini",
5
5
  "author": "ZonEaseTech",
6
6
  "license": "MIT",