@zonease/happy 0.6.50 → 0.6.52

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-BYlwkdNv.cjs → api-DCt5MFgg.cjs} +4 -4
  2. package/dist/{api-DkLi_kVG.mjs → api-YBuVWlaq.mjs} +3 -3
  3. package/dist/{auth-BN2MIzje.cjs → auth-BbhNRCN-.cjs} +2 -2
  4. package/dist/{auth-CROR_1u-.cjs → auth-Blnptp27.cjs} +4 -4
  5. package/dist/{auth-Br_PQMzx.mjs → auth-CjxaECy1.mjs} +4 -4
  6. package/dist/{auth-CLoQ_EpI.mjs → auth-Cz8NAkf1.mjs} +2 -2
  7. package/dist/{browser-BH7Yz53y.mjs → browser-B_jtAH68.mjs} +1 -1
  8. package/dist/{browser-B1v3MMco.cjs → browser-DUPz5Vfm.cjs} +1 -1
  9. package/dist/{claudeLocal-DwVoD2YO.mjs → claudeLocal-B8J5gzY-.mjs} +1 -1
  10. package/dist/{claudeLocal-Clj5q_mB.cjs → claudeLocal-D3vWTAHx.cjs} +1 -1
  11. package/dist/codex/happyMcpStdioBridge.cjs +9 -0
  12. package/dist/codex/happyMcpStdioBridge.mjs +9 -0
  13. package/dist/{config-ClokJJ4W.mjs → config-D9QEt1Wm.mjs} +1 -1
  14. package/dist/{config-Xgf8XiBz.cjs → config-ZtdkTaE-.cjs} +1 -1
  15. package/dist/{connect-Bsi7BKyt.mjs → connect-ANzMsqjW.mjs} +5 -5
  16. package/dist/{connect-DPFMoUxr.cjs → connect-vG15hWjP.cjs} +5 -5
  17. package/dist/{controlClient-pqJuFXzr.cjs → controlClient-CuqOwOyn.cjs} +1 -1
  18. package/dist/{controlClient-hW34LqD6.mjs → controlClient-DVWHSQ9-.mjs} +1 -1
  19. package/dist/{cursorApprovalHook-BnC8NDyU.cjs → cursorApprovalHook-B9kxmThz.cjs} +2 -2
  20. package/dist/{cursorApprovalHook-OAGqnLby.mjs → cursorApprovalHook-Do7i_Hie.mjs} +2 -2
  21. package/dist/{cursorApprovalServer-BxHnGAAd.mjs → cursorApprovalServer-Da109rLV.mjs} +1 -1
  22. package/dist/{cursorApprovalServer-DZbo7N_4.cjs → cursorApprovalServer-DwQityDL.cjs} +1 -1
  23. package/dist/{deviceKeys-Bx3Fr_eu.cjs → deviceKeys-C9L5B4WJ.cjs} +2 -2
  24. package/dist/{deviceKeys-CkKNX4wJ.mjs → deviceKeys-DDkT_ZeH.mjs} +2 -2
  25. package/dist/{doctor-BJLbeVEF.mjs → doctor-C5MIiVQa.mjs} +2 -2
  26. package/dist/{doctor-pPDqy8Yd.cjs → doctor-K2OPqZbS.cjs} +2 -2
  27. package/dist/{downloadImage-0txRA95g.mjs → downloadImage-C_vAHjEu.mjs} +1 -1
  28. package/dist/{downloadImage-CzSm-976.cjs → downloadImage-EOz0lIUN.cjs} +1 -1
  29. package/dist/{enroll-6uJeBJWh.cjs → enroll-1siujrHh.cjs} +3 -3
  30. package/dist/{enroll-tMntIbDf.mjs → enroll-DXfxl3ZU.mjs} +3 -3
  31. package/dist/{evidence-CW5gZkfi.mjs → evidence-8pV8ui5K.mjs} +1 -1
  32. package/dist/{evidence-DFm-wY1a.cjs → evidence-Bol_Jr9t.cjs} +1 -1
  33. package/dist/{formatImageMessage-H_hYAW10.mjs → formatImageMessage-C2dYFnUB.mjs} +1 -1
  34. package/dist/{formatImageMessage-CiGJLCW9.cjs → formatImageMessage-Clavdkwu.cjs} +1 -1
  35. package/dist/{index-Cd3VmMtg.mjs → index-BWTQdvpp.mjs} +15 -0
  36. package/dist/{index-BNMjIKud.cjs → index-Df60Mth_.cjs} +15 -0
  37. package/dist/index.cjs +46 -46
  38. package/dist/index.mjs +46 -46
  39. package/dist/{install-D0TcS_eJ.cjs → install-BVE3NO11.cjs} +2 -2
  40. package/dist/{install-Djm2ft-n.mjs → install-D_Ky4WDO.mjs} +2 -2
  41. package/dist/{install-DWp3wQ7H.mjs → install-V-OsSOcT.mjs} +1 -1
  42. package/dist/{install-DVjvG3OO.cjs → install-q17Q3P1m.cjs} +1 -1
  43. package/dist/lib.cjs +4 -4
  44. package/dist/lib.mjs +4 -4
  45. package/dist/{loadableToolOutput-CSXVglfo.cjs → loadableToolOutput-BarZ4P9v.cjs} +2 -2
  46. package/dist/{loadableToolOutput-c7sztMrh.mjs → loadableToolOutput-uLHjIQ_B.mjs} +2 -2
  47. package/dist/{persistence-BcDMO5bT.mjs → persistence-BQXHMgiQ.mjs} +1 -1
  48. package/dist/{persistence-CRIRAcLQ.cjs → persistence-CmQo2P6s.cjs} +1 -1
  49. package/dist/{push-C5JhAM3c.mjs → push-BUpgtdEM.mjs} +6 -6
  50. package/dist/{push-gclTT6Gj.cjs → push-CfH_dsPq.cjs} +6 -6
  51. package/dist/{registerKillSessionHandler-cbV2Ljf7.mjs → registerKillSessionHandler-B9hsdw3N.mjs} +38 -5
  52. package/dist/{registerKillSessionHandler-wQuDB--t.cjs → registerKillSessionHandler-Vvpky8KL.cjs} +38 -5
  53. package/dist/{run-UpOvLJEM.mjs → run-BoXexiGC.mjs} +8 -8
  54. package/dist/{run-BvX34xMy.cjs → run-DT4PDBUE.cjs} +8 -8
  55. package/dist/{runClaude-HVerV5KP.cjs → runClaude-BD7TR_hb.cjs} +17 -17
  56. package/dist/{runClaude-D4D68U-b.mjs → runClaude-DRL4WC3t.mjs} +16 -16
  57. package/dist/{runCodex-Rrla8J-y.mjs → runCodex-BiT9TOIr.mjs} +16 -16
  58. package/dist/{runCodex-BEuiGZkj.cjs → runCodex-RSasB4C6.cjs} +16 -16
  59. package/dist/{runCursor-MN2kTiaV.cjs → runCursor-B0aOxMqe.cjs} +15 -15
  60. package/dist/{runCursor-CK_a623G.mjs → runCursor-CFFE4K6O.mjs} +15 -15
  61. package/dist/{runGemini-Bv7myj8x.cjs → runGemini-BLovoPCr.cjs} +22 -18
  62. package/dist/{runGemini-uaX3ydTl.mjs → runGemini-CQNB_bmS.mjs} +22 -18
  63. package/dist/{runOneShot-DkY4JIpR.cjs → runOneShot-CHMtycDQ.cjs} +3 -3
  64. package/dist/{runOneShot-CVh2sOTm.mjs → runOneShot-DSwhohVg.mjs} +3 -3
  65. package/dist/{serve-HcmoF0ld.mjs → serve-BxVzatLr.mjs} +6 -6
  66. package/dist/{serve-Bq4RYzeU.cjs → serve-DmsF6lWr.cjs} +6 -6
  67. package/dist/{session-DzfH_479.mjs → session-0oQLstHk.mjs} +5 -5
  68. package/dist/{session-BPOvcH-e.cjs → session-C-Vk7BNl.cjs} +5 -5
  69. package/dist/{sessionKeyCache-Cv83YxdE.cjs → sessionKeyCache-CwFe-TjP.cjs} +1 -1
  70. package/dist/{sessionKeyCache-BuUtI1-I.mjs → sessionKeyCache-DlFlTzuJ.mjs} +1 -1
  71. package/dist/{sessionList-CvRpDuXi.mjs → sessionList-CSJ1ytlc.mjs} +2 -2
  72. package/dist/{sessionList-DFDLT9tB.cjs → sessionList-DPHeeDYF.cjs} +2 -2
  73. package/dist/{sessionSummary-CbXjJeeZ.cjs → sessionSummary-DbtjGiPq.cjs} +3 -3
  74. package/dist/{sessionSummary-C7gSZAy6.mjs → sessionSummary-DoJjarsx.mjs} +3 -3
  75. package/dist/{setupOfflineReconnection-IzJm84kr.mjs → setupOfflineReconnection-D3-6k_xq.mjs} +3 -3
  76. package/dist/{setupOfflineReconnection-JAaRZvkV.cjs → setupOfflineReconnection-DgPM1B8o.cjs} +3 -3
  77. package/dist/{spawnHappyCLI-Bx0fWHXA.cjs → spawnHappyCLI-BOV-sMQ9.cjs} +1 -1
  78. package/dist/{spawnHappyCLI-CNM_tqcu.mjs → spawnHappyCLI-Bxiqsj9r.mjs} +1 -1
  79. package/dist/{ssh-CPgIeMd5.mjs → ssh-BPksL4nE.mjs} +5 -5
  80. package/dist/{ssh-DWCo3_QV.cjs → ssh-D6gKLa0D.cjs} +5 -5
  81. package/dist/{task-GHqmZme5.mjs → task-DifpN6sy.mjs} +6 -6
  82. package/dist/{task-BpEYajLx.cjs → task-DpanGYTu.cjs} +6 -6
  83. package/dist/{uninstall-BKM0TWLi.mjs → uninstall-CYp8IC1M.mjs} +2 -2
  84. package/dist/{uninstall-izzXdPwS.cjs → uninstall-CarK3_be.cjs} +2 -2
  85. package/dist/{update-DflmX6cr.mjs → update-Be0aHaIU.mjs} +3 -3
  86. package/dist/{update-B0YoHEA9.cjs → update-fMTt96l3.cjs} +3 -3
  87. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { randomUUID } from 'node:crypto';
2
- import { l as logger } from './persistence-BcDMO5bT.mjs';
3
- import { s as saveToolOutputRecord } from './api-DkLi_kVG.mjs';
2
+ import { l as logger } from './persistence-BQXHMgiQ.mjs';
3
+ import { s as saveToolOutputRecord } from './api-YBuVWlaq.mjs';
4
4
 
5
5
  class BaseReasoningProcessor {
6
6
  accumulator = "";
@@ -14,7 +14,7 @@ function isDebug() {
14
14
  }
15
15
 
16
16
  var name = "@zonease/happy";
17
- var version = "0.6.50";
17
+ var version = "0.6.52";
18
18
  var description = "Mobile and Web client for Claude Code, Codex, and Gemini";
19
19
  var author = "ZonEaseTech";
20
20
  var license = "MIT";
@@ -35,7 +35,7 @@ function isDebug() {
35
35
  }
36
36
 
37
37
  var name = "@zonease/happy";
38
- var version = "0.6.50";
38
+ var version = "0.6.52";
39
39
  var description = "Mobile and Web client for Claude Code, Codex, and Gemini";
40
40
  var author = "ZonEaseTech";
41
41
  var license = "MIT";
@@ -1,7 +1,7 @@
1
1
  import { stat, readFile } from 'node:fs/promises';
2
2
  import { io } from 'socket.io-client';
3
- import { c as configuration, e as encodeBase64, f as encrypt, g as decrypt, h as decodeBase64 } from './persistence-BcDMO5bT.mjs';
4
- import { resolveDeviceForCommand } from './ssh-CPgIeMd5.mjs';
3
+ import { c as configuration, e as encodeBase64, f as encrypt, g as decrypt, h as decodeBase64 } from './persistence-BQXHMgiQ.mjs';
4
+ import { resolveDeviceForCommand } from './ssh-BPksL4nE.mjs';
5
5
  import 'node:fs';
6
6
  import 'node:os';
7
7
  import 'node:path';
@@ -10,16 +10,16 @@ import 'node:crypto';
10
10
  import 'tweetnacl';
11
11
  import 'chalk';
12
12
  import 'fs';
13
- import './deviceKeys-CkKNX4wJ.mjs';
13
+ import './deviceKeys-DDkT_ZeH.mjs';
14
14
  import 'axios';
15
- import './auth-CLoQ_EpI.mjs';
15
+ import './auth-Cz8NAkf1.mjs';
16
16
  import 'qrcode-terminal';
17
17
  import './time-DgsBLJA_.mjs';
18
- import './browser-BH7Yz53y.mjs';
18
+ import './browser-B_jtAH68.mjs';
19
19
  import 'open';
20
20
  import 'react';
21
21
  import 'ink';
22
- import './controlClient-hW34LqD6.mjs';
22
+ import './controlClient-DVWHSQ9-.mjs';
23
23
  import './projectPath-BTBIMB57.mjs';
24
24
  import 'path';
25
25
  import 'url';
@@ -2,8 +2,8 @@
2
2
 
3
3
  var promises = require('node:fs/promises');
4
4
  var socket_ioClient = require('socket.io-client');
5
- var logger = require('./persistence-CRIRAcLQ.cjs');
6
- var ssh = require('./ssh-DWCo3_QV.cjs');
5
+ var logger = require('./persistence-CmQo2P6s.cjs');
6
+ var ssh = require('./ssh-D6gKLa0D.cjs');
7
7
  require('node:fs');
8
8
  require('node:os');
9
9
  require('node:path');
@@ -12,16 +12,16 @@ require('node:crypto');
12
12
  require('tweetnacl');
13
13
  require('chalk');
14
14
  require('fs');
15
- require('./deviceKeys-Bx3Fr_eu.cjs');
15
+ require('./deviceKeys-C9L5B4WJ.cjs');
16
16
  require('axios');
17
- require('./auth-BN2MIzje.cjs');
17
+ require('./auth-BbhNRCN-.cjs');
18
18
  require('qrcode-terminal');
19
19
  require('./time-Bj2HRkKH.cjs');
20
- require('./browser-B1v3MMco.cjs');
20
+ require('./browser-DUPz5Vfm.cjs');
21
21
  require('open');
22
22
  require('react');
23
23
  require('ink');
24
- require('./controlClient-pqJuFXzr.cjs');
24
+ require('./controlClient-CuqOwOyn.cjs');
25
25
  require('./projectPath-ChLhdOyt.cjs');
26
26
  require('path');
27
27
  require('url');
@@ -5,18 +5,18 @@ import { createServer } from 'node:http';
5
5
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
6
6
  import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js';
7
7
  import { z } from 'zod';
8
- import { c as configuration, l as logger, r as readCredentials } from './persistence-BcDMO5bT.mjs';
9
- import { l as listDevices, d as deviceExec } from './deviceKeys-CkKNX4wJ.mjs';
8
+ import { c as configuration, l as logger, r as readCredentials } from './persistence-BQXHMgiQ.mjs';
9
+ import { l as listDevices, d as deviceExec } from './deviceKeys-DDkT_ZeH.mjs';
10
10
  import axios from 'axios';
11
11
  import { stat, readFile } from 'node:fs/promises';
12
12
  import { randomUUID } from 'node:crypto';
13
13
  import { s as shouldEnableOrchestratorTools } from './prompt-BsAZsPbo.mjs';
14
14
  import './mcpToolSchemas-CjeTfrAs.mjs';
15
- import './index-Cd3VmMtg.mjs';
15
+ import './index-BWTQdvpp.mjs';
16
16
  import { execSync } from 'node:child_process';
17
17
  import 'node:events';
18
18
  import 'socket.io-client';
19
- import './api-DkLi_kVG.mjs';
19
+ import './api-YBuVWlaq.mjs';
20
20
  import 'tweetnacl';
21
21
  import 'ws';
22
22
  import 'crypto';
@@ -136,6 +136,18 @@ async function editBug(credentials, input) {
136
136
  }
137
137
  return { ...bug, attachments: await attachImages(credentials, bugId, images, bug.attachmentCount ?? 0) };
138
138
  }
139
+ async function setBugStatus(credentials, input) {
140
+ const bugId = await resolveBugId(credentials, input.bug);
141
+ const response = await axios.patch(
142
+ `${configuration.serverUrl}/v1/bugs/${bugId}/status`,
143
+ {
144
+ status: input.status,
145
+ ...input.returnToPending ? { action: "return_to_pending" } : {}
146
+ },
147
+ authHeaders(credentials)
148
+ );
149
+ return response.data.bug;
150
+ }
139
151
  async function deleteBug(credentials, reference) {
140
152
  const bugId = await resolveBugId(credentials, reference);
141
153
  await axios.delete(`${configuration.serverUrl}/v1/bugs/${bugId}`, authHeaders(credentials));
@@ -416,6 +428,27 @@ ${lines.join("\n")}` : header }] };
416
428
  return toToolError(`Failed to edit bug: ${error instanceof Error ? error.message : String(error)}`);
417
429
  }
418
430
  });
431
+ mcp.registerTool("set_bug_status", {
432
+ description: "Move a bug on the user's Happy bug board to another status: close it once a fix is verified, put it back in progress, send it to verification, or return it to pending. Use whenever the user says a bug is fixed, verified, closed, reopened, or should go back to someone.",
433
+ title: "Set Bug Status",
434
+ inputSchema: {
435
+ bug: z.string().describe('Which bug, as the user refers to it: "BUG-236", "#236" or "236". An internal bug id also works.'),
436
+ status: z.enum(["pending", "in_progress", "verify", "closed"]).describe("The column to move it to: pending, in_progress, verify, closed."),
437
+ returnToPending: z.boolean().optional().describe('Set together with status "pending" when the bug failed verification, so the board records it as a return rather than a plain status change.')
438
+ }
439
+ }, async (args) => {
440
+ const credentials = await readCredentials();
441
+ if (!credentials) {
442
+ return toToolError("No Happy credentials on this machine.");
443
+ }
444
+ try {
445
+ const bug = await setBugStatus(credentials, args);
446
+ logger.debug("[happyMCP] Set bug status:", bug.displayId, "->", args.status);
447
+ return toToolSuccess({ ok: true, ...bug });
448
+ } catch (error) {
449
+ return toToolError(`Failed to change bug status: ${error instanceof Error ? error.message : String(error)}`);
450
+ }
451
+ });
419
452
  mcp.registerTool("delete_bug", {
420
453
  description: "Remove a bug from the user's Happy bug board. The server keeps the row and hides it, so this can be undone by an admin, but it disappears from the board immediately.",
421
454
  title: "Delete Bug",
@@ -440,7 +473,7 @@ ${lines.join("\n")}` : header }] };
440
473
  async function startHappyServer(client) {
441
474
  const transports = /* @__PURE__ */ new Map();
442
475
  const enableOrchestratorTools = shouldEnableOrchestratorTools();
443
- const toolNames = ["change_title", "preview_html", "device_list", "device_exec", "list_bugs", "get_bug", "submit_bug", "edit_bug", "delete_bug"];
476
+ const toolNames = ["change_title", "preview_html", "device_list", "device_exec", "list_bugs", "get_bug", "submit_bug", "edit_bug", "delete_bug", "set_bug_status"];
444
477
  const originalConsoleError = console.error;
445
478
  console.error = (...args) => {
446
479
  logger.debug("[happyMCP] console.error:", ...args);
@@ -7,18 +7,18 @@ var node_http = require('node:http');
7
7
  var streamableHttp_js = require('@modelcontextprotocol/sdk/server/streamableHttp.js');
8
8
  var types_js = require('@modelcontextprotocol/sdk/types.js');
9
9
  var z = require('zod');
10
- var logger = require('./persistence-CRIRAcLQ.cjs');
11
- var deviceKeys = require('./deviceKeys-Bx3Fr_eu.cjs');
10
+ var logger = require('./persistence-CmQo2P6s.cjs');
11
+ var deviceKeys = require('./deviceKeys-C9L5B4WJ.cjs');
12
12
  var axios = require('axios');
13
13
  var promises = require('node:fs/promises');
14
14
  var node_crypto = require('node:crypto');
15
15
  var prompt = require('./prompt-BTWDZZO0.cjs');
16
16
  require('./mcpToolSchemas-DK42yoZ_.cjs');
17
- require('./index-BNMjIKud.cjs');
17
+ require('./index-Df60Mth_.cjs');
18
18
  var node_child_process = require('node:child_process');
19
19
  require('node:events');
20
20
  require('socket.io-client');
21
- require('./api-BYlwkdNv.cjs');
21
+ require('./api-DCt5MFgg.cjs');
22
22
  require('tweetnacl');
23
23
  require('ws');
24
24
  require('crypto');
@@ -138,6 +138,18 @@ async function editBug(credentials, input) {
138
138
  }
139
139
  return { ...bug, attachments: await attachImages(credentials, bugId, images, bug.attachmentCount ?? 0) };
140
140
  }
141
+ async function setBugStatus(credentials, input) {
142
+ const bugId = await resolveBugId(credentials, input.bug);
143
+ const response = await axios.patch(
144
+ `${logger.configuration.serverUrl}/v1/bugs/${bugId}/status`,
145
+ {
146
+ status: input.status,
147
+ ...input.returnToPending ? { action: "return_to_pending" } : {}
148
+ },
149
+ authHeaders(credentials)
150
+ );
151
+ return response.data.bug;
152
+ }
141
153
  async function deleteBug(credentials, reference) {
142
154
  const bugId = await resolveBugId(credentials, reference);
143
155
  await axios.delete(`${logger.configuration.serverUrl}/v1/bugs/${bugId}`, authHeaders(credentials));
@@ -418,6 +430,27 @@ ${lines.join("\n")}` : header }] };
418
430
  return toToolError(`Failed to edit bug: ${error instanceof Error ? error.message : String(error)}`);
419
431
  }
420
432
  });
433
+ mcp.registerTool("set_bug_status", {
434
+ description: "Move a bug on the user's Happy bug board to another status: close it once a fix is verified, put it back in progress, send it to verification, or return it to pending. Use whenever the user says a bug is fixed, verified, closed, reopened, or should go back to someone.",
435
+ title: "Set Bug Status",
436
+ inputSchema: {
437
+ bug: z.z.string().describe('Which bug, as the user refers to it: "BUG-236", "#236" or "236". An internal bug id also works.'),
438
+ status: z.z.enum(["pending", "in_progress", "verify", "closed"]).describe("The column to move it to: pending, in_progress, verify, closed."),
439
+ returnToPending: z.z.boolean().optional().describe('Set together with status "pending" when the bug failed verification, so the board records it as a return rather than a plain status change.')
440
+ }
441
+ }, async (args) => {
442
+ const credentials = await logger.readCredentials();
443
+ if (!credentials) {
444
+ return toToolError("No Happy credentials on this machine.");
445
+ }
446
+ try {
447
+ const bug = await setBugStatus(credentials, args);
448
+ logger.logger.debug("[happyMCP] Set bug status:", bug.displayId, "->", args.status);
449
+ return toToolSuccess({ ok: true, ...bug });
450
+ } catch (error) {
451
+ return toToolError(`Failed to change bug status: ${error instanceof Error ? error.message : String(error)}`);
452
+ }
453
+ });
421
454
  mcp.registerTool("delete_bug", {
422
455
  description: "Remove a bug from the user's Happy bug board. The server keeps the row and hides it, so this can be undone by an admin, but it disappears from the board immediately.",
423
456
  title: "Delete Bug",
@@ -442,7 +475,7 @@ ${lines.join("\n")}` : header }] };
442
475
  async function startHappyServer(client) {
443
476
  const transports = /* @__PURE__ */ new Map();
444
477
  const enableOrchestratorTools = prompt.shouldEnableOrchestratorTools();
445
- const toolNames = ["change_title", "preview_html", "device_list", "device_exec", "list_bugs", "get_bug", "submit_bug", "edit_bug", "delete_bug"];
478
+ const toolNames = ["change_title", "preview_html", "device_list", "device_exec", "list_bugs", "get_bug", "submit_bug", "edit_bug", "delete_bug", "set_bug_status"];
446
479
  const originalConsoleError = console.error;
447
480
  console.error = (...args) => {
448
481
  logger.logger.debug("[happyMCP] console.error:", ...args);
@@ -1,15 +1,15 @@
1
1
  import fs from 'fs/promises';
2
2
  import os from 'os';
3
3
  import * as tmp from 'tmp';
4
- import { A as ApiClient } from './api-DkLi_kVG.mjs';
5
- import { c as configuration, l as logger, p as packageJson, v as acquireDaemonLock, a as readSettings, i as isDebug, e as encodeBase64, x as writeDaemonState, m as readDaemonState, y as releaseDaemonLock, z as validateProfileForAgent, A as getProfileEnvironmentVariables } from './persistence-BcDMO5bT.mjs';
6
- import { authAndSetupMachineIfNeeded } from './auth-CLoQ_EpI.mjs';
4
+ import { A as ApiClient } from './api-YBuVWlaq.mjs';
5
+ import { c as configuration, l as logger, p as packageJson, v as acquireDaemonLock, a as readSettings, i as isDebug, e as encodeBase64, x as writeDaemonState, m as readDaemonState, y as releaseDaemonLock, z as validateProfileForAgent, A as getProfileEnvironmentVariables } from './persistence-BQXHMgiQ.mjs';
6
+ import { authAndSetupMachineIfNeeded } from './auth-Cz8NAkf1.mjs';
7
7
  import { spawn, execSync, exec } from 'child_process';
8
- import { getEnvironmentInfo } from './doctor-BJLbeVEF.mjs';
9
- import { s as spawnHappyCLI } from './spawnHappyCLI-CNM_tqcu.mjs';
10
- import { isDaemonRunningCurrentlyInstalledHappyVersion, stopDaemon, cleanupDaemonState } from './controlClient-hW34LqD6.mjs';
11
- import { a as readCachedDeviceKey, d as deviceExec } from './deviceKeys-CkKNX4wJ.mjs';
12
- import { P as PLIST_LABEL } from './install-DWp3wQ7H.mjs';
8
+ import { getEnvironmentInfo } from './doctor-C5MIiVQa.mjs';
9
+ import { s as spawnHappyCLI } from './spawnHappyCLI-Bxiqsj9r.mjs';
10
+ import { isDaemonRunningCurrentlyInstalledHappyVersion, stopDaemon, cleanupDaemonState } from './controlClient-DVWHSQ9-.mjs';
11
+ import { a as readCachedDeviceKey, d as deviceExec } from './deviceKeys-DDkT_ZeH.mjs';
12
+ import { P as PLIST_LABEL } from './install-V-OsSOcT.mjs';
13
13
  import fastify from 'fastify';
14
14
  import { createReadStream } from 'node:fs';
15
15
  import { stat } from 'node:fs/promises';
@@ -3,15 +3,15 @@
3
3
  var fs$1 = require('fs/promises');
4
4
  var os = require('os');
5
5
  var tmp = require('tmp');
6
- var api = require('./api-BYlwkdNv.cjs');
7
- var logger = require('./persistence-CRIRAcLQ.cjs');
8
- var auth = require('./auth-BN2MIzje.cjs');
6
+ var api = require('./api-DCt5MFgg.cjs');
7
+ var logger = require('./persistence-CmQo2P6s.cjs');
8
+ var auth = require('./auth-BbhNRCN-.cjs');
9
9
  var child_process = require('child_process');
10
- var doctor = require('./doctor-pPDqy8Yd.cjs');
11
- var spawnHappyCLI = require('./spawnHappyCLI-Bx0fWHXA.cjs');
12
- var controlClient = require('./controlClient-pqJuFXzr.cjs');
13
- var deviceKeys = require('./deviceKeys-Bx3Fr_eu.cjs');
14
- var install = require('./install-DVjvG3OO.cjs');
10
+ var doctor = require('./doctor-K2OPqZbS.cjs');
11
+ var spawnHappyCLI = require('./spawnHappyCLI-BOV-sMQ9.cjs');
12
+ var controlClient = require('./controlClient-CuqOwOyn.cjs');
13
+ var deviceKeys = require('./deviceKeys-C9L5B4WJ.cjs');
14
+ var install = require('./install-q17Q3P1m.cjs');
15
15
  var fastify = require('fastify');
16
16
  var fs = require('node:fs');
17
17
  var promises = require('node:fs/promises');
@@ -4,20 +4,20 @@ var os = require('node:os');
4
4
  var node_crypto = require('node:crypto');
5
5
  var fs$1 = require('node:fs');
6
6
  var promises = require('node:fs/promises');
7
- var api = require('./api-BYlwkdNv.cjs');
8
- var logger = require('./persistence-CRIRAcLQ.cjs');
9
- var claudeLocal = require('./claudeLocal-Clj5q_mB.cjs');
7
+ var api = require('./api-DCt5MFgg.cjs');
8
+ var logger = require('./persistence-CmQo2P6s.cjs');
9
+ var claudeLocal = require('./claudeLocal-D3vWTAHx.cjs');
10
10
  var types = require('./types-DWeB7aqh.cjs');
11
11
  var path = require('node:path');
12
12
  var time = require('./time-Bj2HRkKH.cjs');
13
13
  var fs = require('fs/promises');
14
14
  var ink = require('ink');
15
- var downloadImage = require('./downloadImage-CzSm-976.cjs');
15
+ var downloadImage = require('./downloadImage-EOz0lIUN.cjs');
16
16
  var React = require('react');
17
17
  var node_child_process = require('node:child_process');
18
18
  var node_readline = require('node:readline');
19
19
  var node_url = require('node:url');
20
- var spawnHappyCLI = require('./spawnHappyCLI-Bx0fWHXA.cjs');
20
+ var spawnHappyCLI = require('./spawnHappyCLI-BOV-sMQ9.cjs');
21
21
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
22
22
  require('axios');
23
23
  require('node:events');
@@ -28,21 +28,21 @@ require('crypto');
28
28
  require('@stablelib/base64');
29
29
  require('expo-server-sdk');
30
30
  require('chalk');
31
- var formatImageMessage = require('./formatImageMessage-CiGJLCW9.cjs');
31
+ var formatImageMessage = require('./formatImageMessage-Clavdkwu.cjs');
32
32
  var node_util = require('node:util');
33
- var run = require('./run-BvX34xMy.cjs');
34
- var doctor = require('./doctor-pPDqy8Yd.cjs');
35
- var controlClient = require('./controlClient-pqJuFXzr.cjs');
36
- var registerKillSessionHandler = require('./registerKillSessionHandler-wQuDB--t.cjs');
33
+ var run = require('./run-DT4PDBUE.cjs');
34
+ var doctor = require('./doctor-K2OPqZbS.cjs');
35
+ var controlClient = require('./controlClient-CuqOwOyn.cjs');
36
+ var registerKillSessionHandler = require('./registerKillSessionHandler-Vvpky8KL.cjs');
37
37
  var node_http = require('node:http');
38
38
  require('zod');
39
- require('./index-BNMjIKud.cjs');
39
+ require('./index-Df60Mth_.cjs');
40
40
  require('@paralleldrive/cuid2');
41
41
  require('child_process');
42
42
  require('util');
43
43
  require('path');
44
44
  require('node:module');
45
- require('./sessionKeyCache-Cv83YxdE.cjs');
45
+ require('./sessionKeyCache-CwFe-TjP.cjs');
46
46
  require('fs');
47
47
  require('./prompt-BTWDZZO0.cjs');
48
48
  require('./trimIdent-4gvk9Wk6.cjs');
@@ -50,12 +50,12 @@ require('./common-CZvSRU4p.cjs');
50
50
  require('url');
51
51
  require('os');
52
52
  require('tmp');
53
- require('./auth-BN2MIzje.cjs');
53
+ require('./auth-BbhNRCN-.cjs');
54
54
  require('qrcode-terminal');
55
- require('./browser-B1v3MMco.cjs');
55
+ require('./browser-DUPz5Vfm.cjs');
56
56
  require('open');
57
- require('./deviceKeys-Bx3Fr_eu.cjs');
58
- require('./install-DVjvG3OO.cjs');
57
+ require('./deviceKeys-C9L5B4WJ.cjs');
58
+ require('./install-q17Q3P1m.cjs');
59
59
  require('fastify');
60
60
  require('fastify-type-provider-zod');
61
61
  require('./doctor-C08m5Z9f.cjs');
@@ -732,7 +732,7 @@ class AbortError extends Error {
732
732
  }
733
733
  }
734
734
 
735
- const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('runClaude-HVerV5KP.cjs', document.baseURI).href)));
735
+ const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('runClaude-BD7TR_hb.cjs', document.baseURI).href)));
736
736
  const __dirname$1 = path.join(__filename$1, "..");
737
737
  function getGlobalClaudeVersion() {
738
738
  try {
@@ -2,20 +2,20 @@ import os, { homedir } from 'node:os';
2
2
  import { randomUUID } from 'node:crypto';
3
3
  import { existsSync, mkdirSync, writeFileSync, unlinkSync, readdirSync } from 'node:fs';
4
4
  import { readFile, mkdir, writeFile, stat, copyFile } from 'node:fs/promises';
5
- import { I as InvalidateSync, k as AsyncLock, d as connectionState, A as ApiClient, r as resolveToolsDir, b as startOfflineReconnection, l as findClaudeProjectId } from './api-DkLi_kVG.mjs';
6
- import { l as logger, i as isDebug, c as configuration, a as readSettings, p as packageJson } from './persistence-BcDMO5bT.mjs';
7
- import { g as getProjectPath, a as claudeLocal, E as ExitCodeError, b as claudeCheckSession, s as systemPrompt } from './claudeLocal-DwVoD2YO.mjs';
5
+ import { I as InvalidateSync, k as AsyncLock, d as connectionState, A as ApiClient, r as resolveToolsDir, b as startOfflineReconnection, l as findClaudeProjectId } from './api-YBuVWlaq.mjs';
6
+ import { l as logger, i as isDebug, c as configuration, a as readSettings, p as packageJson } from './persistence-BQXHMgiQ.mjs';
7
+ import { g as getProjectPath, a as claudeLocal, E as ExitCodeError, b as claudeCheckSession, s as systemPrompt } from './claudeLocal-B8J5gzY-.mjs';
8
8
  import { R as RawJSONLinesSchema } from './types-BoJh4Qfv.mjs';
9
9
  import { join, resolve } from 'node:path';
10
10
  import { d as delay } from './time-DgsBLJA_.mjs';
11
11
  import { watch, access } from 'fs/promises';
12
12
  import { useStdout, useInput, Box, Text, render } from 'ink';
13
- import { b as parseSpecialCommand, a as MessageBuffer, M as MessageQueue2, h as hashObject } from './downloadImage-0txRA95g.mjs';
13
+ import { b as parseSpecialCommand, a as MessageBuffer, M as MessageQueue2, h as hashObject } from './downloadImage-C_vAHjEu.mjs';
14
14
  import React, { useState, useRef, useEffect, useCallback } from 'react';
15
15
  import { execSync, spawn } from 'node:child_process';
16
16
  import { createInterface } from 'node:readline';
17
17
  import { fileURLToPath } from 'node:url';
18
- import { i as isBun } from './spawnHappyCLI-CNM_tqcu.mjs';
18
+ import { i as isBun } from './spawnHappyCLI-Bxiqsj9r.mjs';
19
19
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
20
20
  import 'axios';
21
21
  import 'node:events';
@@ -26,21 +26,21 @@ import 'crypto';
26
26
  import '@stablelib/base64';
27
27
  import 'expo-server-sdk';
28
28
  import 'chalk';
29
- import { a as formatMessageForClaude } from './formatImageMessage-H_hYAW10.mjs';
29
+ import { a as formatMessageForClaude } from './formatImageMessage-C2dYFnUB.mjs';
30
30
  import { isDeepStrictEqual } from 'node:util';
31
- import { i as initialMachineMetadata, s as stopCaffeinate, a as startCaffeinate } from './run-UpOvLJEM.mjs';
32
- import { getEnvironmentInfo } from './doctor-BJLbeVEF.mjs';
33
- import { notifyDaemonSessionStarted } from './controlClient-hW34LqD6.mjs';
34
- import { c as createMcpContext, r as registerKillSessionHandler, d as detectGitWorktree } from './registerKillSessionHandler-cbV2Ljf7.mjs';
31
+ import { i as initialMachineMetadata, s as stopCaffeinate, a as startCaffeinate } from './run-BoXexiGC.mjs';
32
+ import { getEnvironmentInfo } from './doctor-C5MIiVQa.mjs';
33
+ import { notifyDaemonSessionStarted } from './controlClient-DVWHSQ9-.mjs';
34
+ import { c as createMcpContext, r as registerKillSessionHandler, d as detectGitWorktree } from './registerKillSessionHandler-B9hsdw3N.mjs';
35
35
  import { createServer } from 'node:http';
36
36
  import 'zod';
37
- import './index-Cd3VmMtg.mjs';
37
+ import './index-BWTQdvpp.mjs';
38
38
  import '@paralleldrive/cuid2';
39
39
  import 'child_process';
40
40
  import 'util';
41
41
  import 'path';
42
42
  import 'node:module';
43
- import './sessionKeyCache-BuUtI1-I.mjs';
43
+ import './sessionKeyCache-DlFlTzuJ.mjs';
44
44
  import 'fs';
45
45
  import './prompt-BsAZsPbo.mjs';
46
46
  import './trimIdent-BAjmv_TG.mjs';
@@ -48,12 +48,12 @@ import './common-BdNgghUJ.mjs';
48
48
  import 'url';
49
49
  import 'os';
50
50
  import 'tmp';
51
- import './auth-CLoQ_EpI.mjs';
51
+ import './auth-Cz8NAkf1.mjs';
52
52
  import 'qrcode-terminal';
53
- import './browser-BH7Yz53y.mjs';
53
+ import './browser-B_jtAH68.mjs';
54
54
  import 'open';
55
- import './deviceKeys-CkKNX4wJ.mjs';
56
- import './install-DWp3wQ7H.mjs';
55
+ import './deviceKeys-DDkT_ZeH.mjs';
56
+ import './install-V-OsSOcT.mjs';
57
57
  import 'fastify';
58
58
  import 'fastify-type-provider-zod';
59
59
  import './doctor-ON7pN5G5.mjs';
@@ -1,17 +1,17 @@
1
1
  import { useStdout, useInput, Box, Text, render } from 'ink';
2
2
  import React, { useState, useRef, useEffect, useCallback } from 'react';
3
- import { c as saveDiffRecords, e as extractUserText, i as isSystemMessage, g as generateStableUuid, f as findCodexSessionFile, d as connectionState, A as ApiClient } from './api-DkLi_kVG.mjs';
3
+ import { c as saveDiffRecords, e as extractUserText, i as isSystemMessage, g as generateStableUuid, f as findCodexSessionFile, d as connectionState, A as ApiClient } from './api-YBuVWlaq.mjs';
4
4
  import { spawn, execSync } from 'node:child_process';
5
5
  import { createInterface } from 'node:readline';
6
- import { l as logger, i as isDebug, a as readSettings } from './persistence-BcDMO5bT.mjs';
7
- import { B as BasePermissionHandler, c as createSessionMetadata, s as setupOfflineReconnection } from './setupOfflineReconnection-IzJm84kr.mjs';
8
- import { B as BaseReasoningProcessor, h as handleConfigMetadataEvent, s as summarizeBashToolOutput } from './loadableToolOutput-c7sztMrh.mjs';
6
+ import { l as logger, i as isDebug, a as readSettings } from './persistence-BQXHMgiQ.mjs';
7
+ import { B as BasePermissionHandler, c as createSessionMetadata, s as setupOfflineReconnection } from './setupOfflineReconnection-D3-6k_xq.mjs';
8
+ import { B as BaseReasoningProcessor, h as handleConfigMetadataEvent, s as summarizeBashToolOutput } from './loadableToolOutput-uLHjIQ_B.mjs';
9
9
  import { randomUUID } from 'node:crypto';
10
- import { M as MessageQueue2, h as hashObject, a as MessageBuffer, p as parseClear, d as downloadImage } from './downloadImage-0txRA95g.mjs';
11
- import { i as initialMachineMetadata, s as stopCaffeinate } from './run-UpOvLJEM.mjs';
12
- import { c as createMcpContext, r as registerKillSessionHandler } from './registerKillSessionHandler-cbV2Ljf7.mjs';
10
+ import { M as MessageQueue2, h as hashObject, a as MessageBuffer, p as parseClear, d as downloadImage } from './downloadImage-C_vAHjEu.mjs';
11
+ import { i as initialMachineMetadata, s as stopCaffeinate } from './run-BoXexiGC.mjs';
12
+ import { c as createMcpContext, r as registerKillSessionHandler } from './registerKillSessionHandler-B9hsdw3N.mjs';
13
13
  import { g as getFirstTurnInstruction } from './constants-pmXZGibX.mjs';
14
- import { notifyDaemonSessionStarted } from './controlClient-hW34LqD6.mjs';
14
+ import { notifyDaemonSessionStarted } from './controlClient-DVWHSQ9-.mjs';
15
15
  import { inspect } from 'node:util';
16
16
  import { readFile } from 'node:fs/promises';
17
17
  import { basename, isAbsolute } from 'node:path';
@@ -19,7 +19,7 @@ import 'axios';
19
19
  import 'node:events';
20
20
  import 'socket.io-client';
21
21
  import 'zod';
22
- import './index-Cd3VmMtg.mjs';
22
+ import './index-BWTQdvpp.mjs';
23
23
  import '@paralleldrive/cuid2';
24
24
  import './time-DgsBLJA_.mjs';
25
25
  import 'node:fs';
@@ -36,22 +36,22 @@ import 'crypto';
36
36
  import 'tweetnacl';
37
37
  import '@stablelib/base64';
38
38
  import 'expo-server-sdk';
39
- import './sessionKeyCache-BuUtI1-I.mjs';
39
+ import './sessionKeyCache-DlFlTzuJ.mjs';
40
40
  import 'chalk';
41
41
  import 'fs';
42
42
  import 'os';
43
43
  import 'tmp';
44
- import './auth-CLoQ_EpI.mjs';
44
+ import './auth-Cz8NAkf1.mjs';
45
45
  import 'qrcode-terminal';
46
- import './browser-BH7Yz53y.mjs';
46
+ import './browser-B_jtAH68.mjs';
47
47
  import 'open';
48
- import './doctor-BJLbeVEF.mjs';
48
+ import './doctor-C5MIiVQa.mjs';
49
49
  import './doctor-ON7pN5G5.mjs';
50
50
  import 'ps-list';
51
51
  import 'cross-spawn';
52
- import './spawnHappyCLI-CNM_tqcu.mjs';
53
- import './deviceKeys-CkKNX4wJ.mjs';
54
- import './install-DWp3wQ7H.mjs';
52
+ import './spawnHappyCLI-Bxiqsj9r.mjs';
53
+ import './deviceKeys-DDkT_ZeH.mjs';
54
+ import './install-V-OsSOcT.mjs';
55
55
  import './trimIdent-BAjmv_TG.mjs';
56
56
  import 'fastify';
57
57
  import 'fastify-type-provider-zod';
@@ -2,18 +2,18 @@
2
2
 
3
3
  var ink = require('ink');
4
4
  var React = require('react');
5
- var api = require('./api-BYlwkdNv.cjs');
5
+ var api = require('./api-DCt5MFgg.cjs');
6
6
  var node_child_process = require('node:child_process');
7
7
  var node_readline = require('node:readline');
8
- var logger = require('./persistence-CRIRAcLQ.cjs');
9
- var setupOfflineReconnection = require('./setupOfflineReconnection-JAaRZvkV.cjs');
10
- var loadableToolOutput = require('./loadableToolOutput-CSXVglfo.cjs');
8
+ var logger = require('./persistence-CmQo2P6s.cjs');
9
+ var setupOfflineReconnection = require('./setupOfflineReconnection-DgPM1B8o.cjs');
10
+ var loadableToolOutput = require('./loadableToolOutput-BarZ4P9v.cjs');
11
11
  var node_crypto = require('node:crypto');
12
- var downloadImage = require('./downloadImage-CzSm-976.cjs');
13
- var run = require('./run-BvX34xMy.cjs');
14
- var registerKillSessionHandler = require('./registerKillSessionHandler-wQuDB--t.cjs');
12
+ var downloadImage = require('./downloadImage-EOz0lIUN.cjs');
13
+ var run = require('./run-DT4PDBUE.cjs');
14
+ var registerKillSessionHandler = require('./registerKillSessionHandler-Vvpky8KL.cjs');
15
15
  var constants = require('./constants-E_UWYTo3.cjs');
16
- var controlClient = require('./controlClient-pqJuFXzr.cjs');
16
+ var controlClient = require('./controlClient-CuqOwOyn.cjs');
17
17
  var node_util = require('node:util');
18
18
  var promises = require('node:fs/promises');
19
19
  var path = require('node:path');
@@ -21,7 +21,7 @@ require('axios');
21
21
  require('node:events');
22
22
  require('socket.io-client');
23
23
  require('zod');
24
- require('./index-BNMjIKud.cjs');
24
+ require('./index-Df60Mth_.cjs');
25
25
  require('@paralleldrive/cuid2');
26
26
  require('./time-Bj2HRkKH.cjs');
27
27
  require('node:fs');
@@ -38,22 +38,22 @@ require('crypto');
38
38
  require('tweetnacl');
39
39
  require('@stablelib/base64');
40
40
  require('expo-server-sdk');
41
- require('./sessionKeyCache-Cv83YxdE.cjs');
41
+ require('./sessionKeyCache-CwFe-TjP.cjs');
42
42
  require('chalk');
43
43
  require('fs');
44
44
  require('os');
45
45
  require('tmp');
46
- require('./auth-BN2MIzje.cjs');
46
+ require('./auth-BbhNRCN-.cjs');
47
47
  require('qrcode-terminal');
48
- require('./browser-B1v3MMco.cjs');
48
+ require('./browser-DUPz5Vfm.cjs');
49
49
  require('open');
50
- require('./doctor-pPDqy8Yd.cjs');
50
+ require('./doctor-K2OPqZbS.cjs');
51
51
  require('./doctor-C08m5Z9f.cjs');
52
52
  require('ps-list');
53
53
  require('cross-spawn');
54
- require('./spawnHappyCLI-Bx0fWHXA.cjs');
55
- require('./deviceKeys-Bx3Fr_eu.cjs');
56
- require('./install-DVjvG3OO.cjs');
54
+ require('./spawnHappyCLI-BOV-sMQ9.cjs');
55
+ require('./deviceKeys-C9L5B4WJ.cjs');
56
+ require('./install-q17Q3P1m.cjs');
57
57
  require('./trimIdent-4gvk9Wk6.cjs');
58
58
  require('fastify');
59
59
  require('fastify-type-provider-zod');