@zonease/happy 0.6.48 → 0.6.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{api-BQORFd9R.mjs → api-DgjBoynq.mjs} +2 -2
- package/dist/{api-lxlaOAan.cjs → api-OthK5iIu.cjs} +3 -3
- package/dist/{auth-Cch5XGgf.mjs → auth-B1jRZqn6.mjs} +4 -4
- package/dist/{auth-DEvweBty.mjs → auth-BCH_VzFY.mjs} +2 -2
- package/dist/{auth-DO429YIh.cjs → auth-BpoPI35K.cjs} +2 -2
- package/dist/{auth-D3n2c6ef.cjs → auth-jlHlPGoI.cjs} +4 -4
- package/dist/{browser-ChToh76t.cjs → browser-BPhM1lYb.cjs} +1 -1
- package/dist/{browser-C6JpWqen.mjs → browser-oD4Fhplt.mjs} +1 -1
- package/dist/{claudeLocal-D7uEQO2e.mjs → claudeLocal-BgGmploP.mjs} +1 -1
- package/dist/{claudeLocal-BRkqm7Dv.cjs → claudeLocal-D1aqQU3U.cjs} +1 -1
- package/dist/codex/happyMcpStdioBridge.cjs +8 -1
- package/dist/codex/happyMcpStdioBridge.mjs +8 -1
- package/dist/{config-oC3LtNiN.mjs → config-DxrAXlTx.mjs} +1 -1
- package/dist/{config-D1pd0h7A.cjs → config-L19Onew4.cjs} +1 -1
- package/dist/{connect-CyFpNr11.mjs → connect-BhvDYGh7.mjs} +4 -4
- package/dist/{connect-OAvNEIm0.cjs → connect-CcSN3IFE.cjs} +4 -4
- package/dist/{controlClient-CEliu-dY.mjs → controlClient-BXUvvi9h.mjs} +1 -1
- package/dist/{controlClient-BAJAvvWO.cjs → controlClient-DEk3NLK2.cjs} +1 -1
- package/dist/{cursorApprovalHook-BWYkdy2I.cjs → cursorApprovalHook-Bg8pIGZk.cjs} +2 -2
- package/dist/{cursorApprovalHook-P8q2-Ot5.mjs → cursorApprovalHook-YOYQPiFb.mjs} +2 -2
- package/dist/{cursorApprovalServer-DNOUUpbJ.mjs → cursorApprovalServer-CU4HY7HJ.mjs} +1 -1
- package/dist/{cursorApprovalServer-VR5ZdRqZ.cjs → cursorApprovalServer-PWI0z_6u.cjs} +1 -1
- package/dist/{deviceKeys-CxID9XkJ.mjs → deviceKeys-BghZEVQM.mjs} +2 -2
- package/dist/{deviceKeys-CFpY68YY.cjs → deviceKeys-CdzEV43E.cjs} +2 -2
- package/dist/{doctor-CrBPDAJR.mjs → doctor-36V4kFd8.mjs} +2 -2
- package/dist/{doctor-qquYvrNu.cjs → doctor-BqwlWV1d.cjs} +2 -2
- package/dist/{downloadImage-Cqy7ZDq9.cjs → downloadImage-CRORmK1A.cjs} +1 -1
- package/dist/{downloadImage-DFwUJ1-t.mjs → downloadImage-qav0UxBl.mjs} +1 -1
- package/dist/{enroll-CPhX2YYW.cjs → enroll-Cb0zEeTI.cjs} +3 -3
- package/dist/{enroll-BS4x3OUQ.mjs → enroll-DXtOuJIO.mjs} +3 -3
- package/dist/{evidence-HQhiWcci.mjs → evidence-P6qtF1Rg.mjs} +1 -1
- package/dist/{evidence-mn6vjFpr.cjs → evidence-RbJyaUHb.cjs} +1 -1
- package/dist/{formatImageMessage-cI_AEqo1.mjs → formatImageMessage-Biyy3pJR.mjs} +1 -1
- package/dist/{formatImageMessage-DFfcusj_.cjs → formatImageMessage-D-tA2oNc.cjs} +1 -1
- package/dist/index.cjs +46 -46
- package/dist/index.mjs +46 -46
- package/dist/{install-Bm5eNojk.cjs → install-B8z_dWSt.cjs} +1 -1
- package/dist/{install-Bn2199Kq.mjs → install-BcqdmvrF.mjs} +2 -2
- package/dist/{install-tBBR7NUn.cjs → install-C3C0NZfP.cjs} +2 -2
- package/dist/{install-sbpQfY_l.mjs → install-CdGqsOnL.mjs} +1 -1
- package/dist/lib.cjs +3 -3
- package/dist/lib.d.cts +24 -24
- package/dist/lib.d.mts +24 -24
- package/dist/lib.mjs +3 -3
- package/dist/{loadableToolOutput-BzTaDndK.cjs → loadableToolOutput-Bv22WdF2.cjs} +2 -2
- package/dist/{loadableToolOutput-DbXbVycg.mjs → loadableToolOutput-DvlJj7PM.mjs} +2 -2
- package/dist/{persistence-ACqGUEtH.cjs → persistence-BJVrfFPM.cjs} +1 -1
- package/dist/{persistence-YyHJPrEJ.mjs → persistence-CO8Q0Eh6.mjs} +1 -1
- package/dist/{push-CICE33Pk.mjs → push-CCHjRbpg.mjs} +6 -6
- package/dist/{push-DN6X8puN.cjs → push-Dd-L84fo.cjs} +6 -6
- package/dist/{registerKillSessionHandler-BvYc-FOQ.cjs → registerKillSessionHandler-Bdw4uNLH.cjs} +60 -5
- package/dist/{registerKillSessionHandler-CaFN7Ti_.mjs → registerKillSessionHandler-OVE8Wm5b.mjs} +60 -5
- package/dist/{run-Djrrraug.cjs → run-B5dg8uPo.cjs} +8 -8
- package/dist/{run-DEIpQXCf.mjs → run-C-nwXCvH.mjs} +8 -8
- package/dist/{runClaude-BuXbk4Hk.mjs → runClaude-CIv33AyB.mjs} +15 -15
- package/dist/{runClaude-DEnJA94E.cjs → runClaude-rkxGCTc2.cjs} +16 -16
- package/dist/{runCodex-xfey8ybA.cjs → runCodex-4DUH4CWf.cjs} +17 -17
- package/dist/{runCodex-DDJ4ld9g.mjs → runCodex-BCn2QxAJ.mjs} +17 -17
- package/dist/{runCursor-Ea-0SqPz.mjs → runCursor-PuI6WtK0.mjs} +15 -15
- package/dist/{runCursor-HDQXcY5a.cjs → runCursor-tnmFljyu.cjs} +15 -15
- package/dist/{runGemini-DNXknLIG.mjs → runGemini-Bxfxy6t6.mjs} +23 -19
- package/dist/{runGemini-DupL8lXI.cjs → runGemini-bhDI2ujI.cjs} +23 -19
- package/dist/{runOneShot-C3adjQdt.mjs → runOneShot-Cz0qgY3b.mjs} +2 -2
- package/dist/{runOneShot-ncBtn_Gm.cjs → runOneShot-DZPmurJy.cjs} +2 -2
- package/dist/{serve-DS7_dJ2V.cjs → serve-BCRnyQ4F.cjs} +6 -6
- package/dist/{serve-B8J5nW6c.mjs → serve-CoS-cmqV.mjs} +6 -6
- package/dist/{session-DqtoNEcE.cjs → session-CaKRQ1bu.cjs} +5 -5
- package/dist/{session-DLX5ZdxL.mjs → session-DzpncZby.mjs} +5 -5
- package/dist/{sessionKeyCache-BnR0ARqZ.cjs → sessionKeyCache-BOxbaLH3.cjs} +1 -1
- package/dist/{sessionKeyCache-D0Y_V05P.mjs → sessionKeyCache-D9_P4Mhm.mjs} +1 -1
- package/dist/{sessionList-B20S2H2v.cjs → sessionList-CZ1V-BWl.cjs} +2 -2
- package/dist/{sessionList-D1jByB-c.mjs → sessionList-M3ku4NEP.mjs} +2 -2
- package/dist/{sessionSummary-HZWtQ6mW.mjs → sessionSummary-C_9HquPy.mjs} +3 -3
- package/dist/{sessionSummary-BfkUnQew.cjs → sessionSummary-PRYuMFfS.cjs} +3 -3
- package/dist/{setupOfflineReconnection-E5sAFKRm.mjs → setupOfflineReconnection-B1YuEpwl.mjs} +3 -3
- package/dist/{setupOfflineReconnection-C8Ll2khg.cjs → setupOfflineReconnection-BHuXHSbt.cjs} +3 -3
- package/dist/{spawnHappyCLI-BabByXDO.cjs → spawnHappyCLI-C6Peiy6h.cjs} +1 -1
- package/dist/{spawnHappyCLI-iEcKfItK.mjs → spawnHappyCLI-C7Fu7xsF.mjs} +1 -1
- package/dist/{ssh-BWLfu_Bu.cjs → ssh-C0ypGPrZ.cjs} +5 -5
- package/dist/{ssh-BMawo5IG.mjs → ssh-D7J3y8Sm.mjs} +5 -5
- package/dist/{task-JIXYT6Ut.mjs → task-BN2-cCP5.mjs} +6 -6
- package/dist/{task-CmzA8KBB.cjs → task-DU_iFaZC.cjs} +6 -6
- package/dist/{uninstall-CRICQerq.cjs → uninstall-BnlnB4_5.cjs} +2 -2
- package/dist/{uninstall-DE2hMEa8.mjs → uninstall-Ct0m04sQ.mjs} +2 -2
- package/dist/{update-DYLwPQB5.cjs → update-CyNRfAss.cjs} +3 -3
- package/dist/{update-Bo6YcGpg.mjs → update-GmSUgswj.mjs} +3 -3
- package/package.json +1 -1
package/dist/lib.d.cts
CHANGED
|
@@ -312,62 +312,62 @@ declare const CoreUpdateContainerSchema: z.ZodObject<{
|
|
|
312
312
|
c: z.ZodString;
|
|
313
313
|
t: z.ZodLiteral<"encrypted">;
|
|
314
314
|
}, "strip", z.ZodTypeAny, {
|
|
315
|
-
c: string;
|
|
316
315
|
t: "encrypted";
|
|
317
|
-
}, {
|
|
318
316
|
c: string;
|
|
317
|
+
}, {
|
|
319
318
|
t: "encrypted";
|
|
319
|
+
c: string;
|
|
320
320
|
}>;
|
|
321
321
|
createdAt: z.ZodNumber;
|
|
322
322
|
updatedAt: z.ZodNumber;
|
|
323
323
|
}, "strip", z.ZodTypeAny, {
|
|
324
|
-
id: string;
|
|
325
|
-
seq: number;
|
|
326
324
|
content: {
|
|
327
|
-
c: string;
|
|
328
325
|
t: "encrypted";
|
|
326
|
+
c: string;
|
|
329
327
|
};
|
|
328
|
+
id: string;
|
|
329
|
+
seq: number;
|
|
330
330
|
createdAt: number;
|
|
331
331
|
updatedAt: number;
|
|
332
332
|
localId?: string | null | undefined;
|
|
333
333
|
}, {
|
|
334
|
-
id: string;
|
|
335
|
-
seq: number;
|
|
336
334
|
content: {
|
|
337
|
-
c: string;
|
|
338
335
|
t: "encrypted";
|
|
336
|
+
c: string;
|
|
339
337
|
};
|
|
338
|
+
id: string;
|
|
339
|
+
seq: number;
|
|
340
340
|
createdAt: number;
|
|
341
341
|
updatedAt: number;
|
|
342
342
|
localId?: string | null | undefined;
|
|
343
343
|
}>;
|
|
344
344
|
}, "strip", z.ZodTypeAny, {
|
|
345
|
-
t: "new-message";
|
|
346
345
|
message: {
|
|
347
|
-
id: string;
|
|
348
|
-
seq: number;
|
|
349
346
|
content: {
|
|
350
|
-
c: string;
|
|
351
347
|
t: "encrypted";
|
|
348
|
+
c: string;
|
|
352
349
|
};
|
|
350
|
+
id: string;
|
|
351
|
+
seq: number;
|
|
353
352
|
createdAt: number;
|
|
354
353
|
updatedAt: number;
|
|
355
354
|
localId?: string | null | undefined;
|
|
356
355
|
};
|
|
356
|
+
t: "new-message";
|
|
357
357
|
sid: string;
|
|
358
358
|
}, {
|
|
359
|
-
t: "new-message";
|
|
360
359
|
message: {
|
|
361
|
-
id: string;
|
|
362
|
-
seq: number;
|
|
363
360
|
content: {
|
|
364
|
-
c: string;
|
|
365
361
|
t: "encrypted";
|
|
362
|
+
c: string;
|
|
366
363
|
};
|
|
364
|
+
id: string;
|
|
365
|
+
seq: number;
|
|
367
366
|
createdAt: number;
|
|
368
367
|
updatedAt: number;
|
|
369
368
|
localId?: string | null | undefined;
|
|
370
369
|
};
|
|
370
|
+
t: "new-message";
|
|
371
371
|
sid: string;
|
|
372
372
|
}>, z.ZodObject<{
|
|
373
373
|
t: z.ZodLiteral<"update-session">;
|
|
@@ -472,18 +472,18 @@ declare const CoreUpdateContainerSchema: z.ZodObject<{
|
|
|
472
472
|
seq: number;
|
|
473
473
|
createdAt: number;
|
|
474
474
|
body: {
|
|
475
|
-
t: "new-message";
|
|
476
475
|
message: {
|
|
477
|
-
id: string;
|
|
478
|
-
seq: number;
|
|
479
476
|
content: {
|
|
480
|
-
c: string;
|
|
481
477
|
t: "encrypted";
|
|
478
|
+
c: string;
|
|
482
479
|
};
|
|
480
|
+
id: string;
|
|
481
|
+
seq: number;
|
|
483
482
|
createdAt: number;
|
|
484
483
|
updatedAt: number;
|
|
485
484
|
localId?: string | null | undefined;
|
|
486
485
|
};
|
|
486
|
+
t: "new-message";
|
|
487
487
|
sid: string;
|
|
488
488
|
} | {
|
|
489
489
|
t: "update-session";
|
|
@@ -515,18 +515,18 @@ declare const CoreUpdateContainerSchema: z.ZodObject<{
|
|
|
515
515
|
seq: number;
|
|
516
516
|
createdAt: number;
|
|
517
517
|
body: {
|
|
518
|
-
t: "new-message";
|
|
519
518
|
message: {
|
|
520
|
-
id: string;
|
|
521
|
-
seq: number;
|
|
522
519
|
content: {
|
|
523
|
-
c: string;
|
|
524
520
|
t: "encrypted";
|
|
521
|
+
c: string;
|
|
525
522
|
};
|
|
523
|
+
id: string;
|
|
524
|
+
seq: number;
|
|
526
525
|
createdAt: number;
|
|
527
526
|
updatedAt: number;
|
|
528
527
|
localId?: string | null | undefined;
|
|
529
528
|
};
|
|
529
|
+
t: "new-message";
|
|
530
530
|
sid: string;
|
|
531
531
|
} | {
|
|
532
532
|
t: "update-session";
|
package/dist/lib.d.mts
CHANGED
|
@@ -312,62 +312,62 @@ declare const CoreUpdateContainerSchema: z.ZodObject<{
|
|
|
312
312
|
c: z.ZodString;
|
|
313
313
|
t: z.ZodLiteral<"encrypted">;
|
|
314
314
|
}, "strip", z.ZodTypeAny, {
|
|
315
|
-
c: string;
|
|
316
315
|
t: "encrypted";
|
|
317
|
-
}, {
|
|
318
316
|
c: string;
|
|
317
|
+
}, {
|
|
319
318
|
t: "encrypted";
|
|
319
|
+
c: string;
|
|
320
320
|
}>;
|
|
321
321
|
createdAt: z.ZodNumber;
|
|
322
322
|
updatedAt: z.ZodNumber;
|
|
323
323
|
}, "strip", z.ZodTypeAny, {
|
|
324
|
-
id: string;
|
|
325
|
-
seq: number;
|
|
326
324
|
content: {
|
|
327
|
-
c: string;
|
|
328
325
|
t: "encrypted";
|
|
326
|
+
c: string;
|
|
329
327
|
};
|
|
328
|
+
id: string;
|
|
329
|
+
seq: number;
|
|
330
330
|
createdAt: number;
|
|
331
331
|
updatedAt: number;
|
|
332
332
|
localId?: string | null | undefined;
|
|
333
333
|
}, {
|
|
334
|
-
id: string;
|
|
335
|
-
seq: number;
|
|
336
334
|
content: {
|
|
337
|
-
c: string;
|
|
338
335
|
t: "encrypted";
|
|
336
|
+
c: string;
|
|
339
337
|
};
|
|
338
|
+
id: string;
|
|
339
|
+
seq: number;
|
|
340
340
|
createdAt: number;
|
|
341
341
|
updatedAt: number;
|
|
342
342
|
localId?: string | null | undefined;
|
|
343
343
|
}>;
|
|
344
344
|
}, "strip", z.ZodTypeAny, {
|
|
345
|
-
t: "new-message";
|
|
346
345
|
message: {
|
|
347
|
-
id: string;
|
|
348
|
-
seq: number;
|
|
349
346
|
content: {
|
|
350
|
-
c: string;
|
|
351
347
|
t: "encrypted";
|
|
348
|
+
c: string;
|
|
352
349
|
};
|
|
350
|
+
id: string;
|
|
351
|
+
seq: number;
|
|
353
352
|
createdAt: number;
|
|
354
353
|
updatedAt: number;
|
|
355
354
|
localId?: string | null | undefined;
|
|
356
355
|
};
|
|
356
|
+
t: "new-message";
|
|
357
357
|
sid: string;
|
|
358
358
|
}, {
|
|
359
|
-
t: "new-message";
|
|
360
359
|
message: {
|
|
361
|
-
id: string;
|
|
362
|
-
seq: number;
|
|
363
360
|
content: {
|
|
364
|
-
c: string;
|
|
365
361
|
t: "encrypted";
|
|
362
|
+
c: string;
|
|
366
363
|
};
|
|
364
|
+
id: string;
|
|
365
|
+
seq: number;
|
|
367
366
|
createdAt: number;
|
|
368
367
|
updatedAt: number;
|
|
369
368
|
localId?: string | null | undefined;
|
|
370
369
|
};
|
|
370
|
+
t: "new-message";
|
|
371
371
|
sid: string;
|
|
372
372
|
}>, z.ZodObject<{
|
|
373
373
|
t: z.ZodLiteral<"update-session">;
|
|
@@ -472,18 +472,18 @@ declare const CoreUpdateContainerSchema: z.ZodObject<{
|
|
|
472
472
|
seq: number;
|
|
473
473
|
createdAt: number;
|
|
474
474
|
body: {
|
|
475
|
-
t: "new-message";
|
|
476
475
|
message: {
|
|
477
|
-
id: string;
|
|
478
|
-
seq: number;
|
|
479
476
|
content: {
|
|
480
|
-
c: string;
|
|
481
477
|
t: "encrypted";
|
|
478
|
+
c: string;
|
|
482
479
|
};
|
|
480
|
+
id: string;
|
|
481
|
+
seq: number;
|
|
483
482
|
createdAt: number;
|
|
484
483
|
updatedAt: number;
|
|
485
484
|
localId?: string | null | undefined;
|
|
486
485
|
};
|
|
486
|
+
t: "new-message";
|
|
487
487
|
sid: string;
|
|
488
488
|
} | {
|
|
489
489
|
t: "update-session";
|
|
@@ -515,18 +515,18 @@ declare const CoreUpdateContainerSchema: z.ZodObject<{
|
|
|
515
515
|
seq: number;
|
|
516
516
|
createdAt: number;
|
|
517
517
|
body: {
|
|
518
|
-
t: "new-message";
|
|
519
518
|
message: {
|
|
520
|
-
id: string;
|
|
521
|
-
seq: number;
|
|
522
519
|
content: {
|
|
523
|
-
c: string;
|
|
524
520
|
t: "encrypted";
|
|
521
|
+
c: string;
|
|
525
522
|
};
|
|
523
|
+
id: string;
|
|
524
|
+
seq: number;
|
|
526
525
|
createdAt: number;
|
|
527
526
|
updatedAt: number;
|
|
528
527
|
localId?: string | null | undefined;
|
|
529
528
|
};
|
|
529
|
+
t: "new-message";
|
|
530
530
|
sid: string;
|
|
531
531
|
} | {
|
|
532
532
|
t: "update-session";
|
package/dist/lib.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { A as ApiClient, a as ApiSessionClient } from './api-
|
|
2
|
-
export { c as configuration, l as logger } from './persistence-
|
|
1
|
+
export { A as ApiClient, a as ApiSessionClient } from './api-DgjBoynq.mjs';
|
|
2
|
+
export { c as configuration, l as logger } from './persistence-CO8Q0Eh6.mjs';
|
|
3
3
|
export { R as RawJSONLinesSchema } from './types-BoJh4Qfv.mjs';
|
|
4
4
|
import 'axios';
|
|
5
5
|
import 'node:events';
|
|
@@ -28,6 +28,6 @@ import 'tweetnacl';
|
|
|
28
28
|
import '@stablelib/base64';
|
|
29
29
|
import 'node:readline';
|
|
30
30
|
import 'expo-server-sdk';
|
|
31
|
-
import './sessionKeyCache-
|
|
31
|
+
import './sessionKeyCache-D9_P4Mhm.mjs';
|
|
32
32
|
import 'chalk';
|
|
33
33
|
import 'fs';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var node_crypto = require('node:crypto');
|
|
4
|
-
var logger = require('./persistence-
|
|
5
|
-
var api = require('./api-
|
|
4
|
+
var logger = require('./persistence-BJVrfFPM.cjs');
|
|
5
|
+
var api = require('./api-OthK5iIu.cjs');
|
|
6
6
|
|
|
7
7
|
class BaseReasoningProcessor {
|
|
8
8
|
accumulator = "";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
|
-
import { l as logger } from './persistence-
|
|
3
|
-
import { s as saveToolOutputRecord } from './api-
|
|
2
|
+
import { l as logger } from './persistence-CO8Q0Eh6.mjs';
|
|
3
|
+
import { s as saveToolOutputRecord } from './api-DgjBoynq.mjs';
|
|
4
4
|
|
|
5
5
|
class BaseReasoningProcessor {
|
|
6
6
|
accumulator = "";
|
|
@@ -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-
|
|
4
|
-
import { resolveDeviceForCommand } from './ssh-
|
|
3
|
+
import { c as configuration, e as encodeBase64, f as encrypt, g as decrypt, h as decodeBase64 } from './persistence-CO8Q0Eh6.mjs';
|
|
4
|
+
import { resolveDeviceForCommand } from './ssh-D7J3y8Sm.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-
|
|
13
|
+
import './deviceKeys-BghZEVQM.mjs';
|
|
14
14
|
import 'axios';
|
|
15
|
-
import './auth-
|
|
15
|
+
import './auth-BCH_VzFY.mjs';
|
|
16
16
|
import 'qrcode-terminal';
|
|
17
17
|
import './time-DgsBLJA_.mjs';
|
|
18
|
-
import './browser-
|
|
18
|
+
import './browser-oD4Fhplt.mjs';
|
|
19
19
|
import 'open';
|
|
20
20
|
import 'react';
|
|
21
21
|
import 'ink';
|
|
22
|
-
import './controlClient-
|
|
22
|
+
import './controlClient-BXUvvi9h.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-
|
|
6
|
-
var ssh = require('./ssh-
|
|
5
|
+
var logger = require('./persistence-BJVrfFPM.cjs');
|
|
6
|
+
var ssh = require('./ssh-C0ypGPrZ.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-
|
|
15
|
+
require('./deviceKeys-CdzEV43E.cjs');
|
|
16
16
|
require('axios');
|
|
17
|
-
require('./auth-
|
|
17
|
+
require('./auth-BpoPI35K.cjs');
|
|
18
18
|
require('qrcode-terminal');
|
|
19
19
|
require('./time-Bj2HRkKH.cjs');
|
|
20
|
-
require('./browser-
|
|
20
|
+
require('./browser-BPhM1lYb.cjs');
|
|
21
21
|
require('open');
|
|
22
22
|
require('react');
|
|
23
23
|
require('ink');
|
|
24
|
-
require('./controlClient-
|
|
24
|
+
require('./controlClient-DEk3NLK2.cjs');
|
|
25
25
|
require('./projectPath-ChLhdOyt.cjs');
|
|
26
26
|
require('path');
|
|
27
27
|
require('url');
|
package/dist/{registerKillSessionHandler-BvYc-FOQ.cjs → registerKillSessionHandler-Bdw4uNLH.cjs}
RENAMED
|
@@ -7,8 +7,8 @@ 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-
|
|
11
|
-
var deviceKeys = require('./deviceKeys-
|
|
10
|
+
var logger = require('./persistence-BJVrfFPM.cjs');
|
|
11
|
+
var deviceKeys = require('./deviceKeys-CdzEV43E.cjs');
|
|
12
12
|
var axios = require('axios');
|
|
13
13
|
var promises = require('node:fs/promises');
|
|
14
14
|
var node_crypto = require('node:crypto');
|
|
@@ -18,7 +18,7 @@ require('./index-BeKrqPYR.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-
|
|
21
|
+
require('./api-OthK5iIu.cjs');
|
|
22
22
|
require('tweetnacl');
|
|
23
23
|
require('ws');
|
|
24
24
|
require('crypto');
|
|
@@ -54,6 +54,14 @@ async function listBugs(credentials, input = {}) {
|
|
|
54
54
|
);
|
|
55
55
|
return response.data;
|
|
56
56
|
}
|
|
57
|
+
async function getBug(credentials, reference) {
|
|
58
|
+
const bugId = await resolveBugId(credentials, reference);
|
|
59
|
+
const response = await axios.get(
|
|
60
|
+
`${logger.configuration.serverUrl}/v1/bugs/${bugId}`,
|
|
61
|
+
authHeaders(credentials)
|
|
62
|
+
);
|
|
63
|
+
return response.data.bug;
|
|
64
|
+
}
|
|
57
65
|
async function resolveBugId(credentials, reference) {
|
|
58
66
|
const trimmed = reference.trim();
|
|
59
67
|
const displayNumber = trimmed.replace(/^#/, "").match(/^(?:bug-)?(\d+)$/i)?.[1];
|
|
@@ -162,6 +170,36 @@ function toToolError(message, details) {
|
|
|
162
170
|
isError: true
|
|
163
171
|
};
|
|
164
172
|
}
|
|
173
|
+
const asDate = (ms) => new Date(ms).toISOString().slice(0, 10);
|
|
174
|
+
function formatBugDetail(bug) {
|
|
175
|
+
const sections = [
|
|
176
|
+
`${bug.displayId} [${bug.status}] ${bug.visibility}`,
|
|
177
|
+
`${bug.title}`,
|
|
178
|
+
`filed by ${bug.createdByNickname ?? "unknown"}${bug.lastActivityAt ? `, last activity ${asDate(bug.lastActivityAt)}` : ""}`,
|
|
179
|
+
`
|
|
180
|
+
--- description ---
|
|
181
|
+
${bug.description}`
|
|
182
|
+
];
|
|
183
|
+
if (bug.attachments.length) {
|
|
184
|
+
sections.push(`
|
|
185
|
+
--- attachments (${bug.attachments.length}) ---
|
|
186
|
+
${bug.attachments.map((a) => `${a.mimeType} ${a.width ?? "?"}x${a.height ?? "?"} ${a.url}`).join("\n")}`);
|
|
187
|
+
}
|
|
188
|
+
if (bug.comments.length) {
|
|
189
|
+
sections.push(`
|
|
190
|
+
--- comments (${bug.comments.length}) ---
|
|
191
|
+
${bug.comments.map((c) => [
|
|
192
|
+
`[${asDate(c.createdAt)}] ${c.authorNickname ?? "unknown"}: ${c.body}`,
|
|
193
|
+
...c.attachments.map((a) => ` + ${a.mimeType} ${a.url}`)
|
|
194
|
+
].join("\n")).join("\n")}`);
|
|
195
|
+
}
|
|
196
|
+
if (bug.statusHistory.length) {
|
|
197
|
+
sections.push(`
|
|
198
|
+
--- history (${bug.statusHistory.length}) ---
|
|
199
|
+
${bug.statusHistory.map((h) => `${asDate(h.createdAt)} ${h.fromStatus ? `${h.fromStatus} \u2192 ${h.toStatus}` : h.action} by ${h.actorNickname ?? "unknown"}${h.note ? ` (${h.note})` : ""}`).join("\n")}`);
|
|
200
|
+
}
|
|
201
|
+
return sections.join("\n");
|
|
202
|
+
}
|
|
165
203
|
function createMcpServer(client, options) {
|
|
166
204
|
const mcp = new mcp_js.McpServer({
|
|
167
205
|
name: "Happy MCP",
|
|
@@ -342,12 +380,29 @@ ${lines.join("\n")}` : header }] };
|
|
|
342
380
|
return toToolError(`Failed to list bugs: ${error instanceof Error ? error.message : String(error)}`);
|
|
343
381
|
}
|
|
344
382
|
});
|
|
383
|
+
mcp.registerTool("get_bug", {
|
|
384
|
+
description: "Read one bug in full from the user's Happy bug board: its description, screenshots, every comment and how it moved between states. Use when the user asks about a specific bug, or before editing one so the rewrite keeps what is still true.",
|
|
385
|
+
title: "Get Bug",
|
|
386
|
+
inputSchema: {
|
|
387
|
+
bug: z.z.string().describe('Which bug, as the user refers to it: "BUG-236", "#236" or "236". An internal bug id also works.')
|
|
388
|
+
}
|
|
389
|
+
}, async (args) => {
|
|
390
|
+
const credentials = await logger.readCredentials();
|
|
391
|
+
if (!credentials) {
|
|
392
|
+
return toToolError("No Happy credentials on this machine.");
|
|
393
|
+
}
|
|
394
|
+
try {
|
|
395
|
+
return { content: [{ type: "text", text: formatBugDetail(await getBug(credentials, args.bug)) }] };
|
|
396
|
+
} catch (error) {
|
|
397
|
+
return toToolError(`Failed to read bug: ${error instanceof Error ? error.message : String(error)}`);
|
|
398
|
+
}
|
|
399
|
+
});
|
|
345
400
|
mcp.registerTool("edit_bug", {
|
|
346
401
|
description: "Change a bug already on the user's Happy bug board: rewrite its description, add screenshots to it, or both. Use when the user wants to correct, expand or illustrate an existing bug.",
|
|
347
402
|
title: "Edit Bug",
|
|
348
403
|
inputSchema: {
|
|
349
404
|
bug: z.z.string().describe('Which bug, as the user refers to it: "BUG-236", "#236" or "236". An internal bug id also works.'),
|
|
350
|
-
description: z.z.string().optional().describe("The full replacement description. It replaces the old one outright, so carry over anything still true. Omit to leave the description alone."),
|
|
405
|
+
description: z.z.string().optional().describe("The full replacement description. It replaces the old one outright, so carry over anything still true \u2014 including any [[bug-image:N]] markers, which is where the Nth screenshot appears inline. Drop a marker and that image moves to the end. Omit this field to leave the description alone."),
|
|
351
406
|
images: z.z.array(z.z.string()).optional().describe("Absolute paths to screenshots on this machine, added to any already on the bug. JPEG and PNG only, 10 per bug in total, 20MB each.")
|
|
352
407
|
}
|
|
353
408
|
}, async (args) => {
|
|
@@ -387,7 +442,7 @@ ${lines.join("\n")}` : header }] };
|
|
|
387
442
|
async function startHappyServer(client) {
|
|
388
443
|
const transports = /* @__PURE__ */ new Map();
|
|
389
444
|
const enableOrchestratorTools = prompt.shouldEnableOrchestratorTools();
|
|
390
|
-
const toolNames = ["change_title", "preview_html", "device_list", "device_exec", "list_bugs", "submit_bug", "edit_bug", "delete_bug"];
|
|
445
|
+
const toolNames = ["change_title", "preview_html", "device_list", "device_exec", "list_bugs", "get_bug", "submit_bug", "edit_bug", "delete_bug"];
|
|
391
446
|
const originalConsoleError = console.error;
|
|
392
447
|
console.error = (...args) => {
|
|
393
448
|
logger.logger.debug("[happyMCP] console.error:", ...args);
|
package/dist/{registerKillSessionHandler-CaFN7Ti_.mjs → registerKillSessionHandler-OVE8Wm5b.mjs}
RENAMED
|
@@ -5,8 +5,8 @@ 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-
|
|
9
|
-
import { l as listDevices, d as deviceExec } from './deviceKeys-
|
|
8
|
+
import { c as configuration, l as logger, r as readCredentials } from './persistence-CO8Q0Eh6.mjs';
|
|
9
|
+
import { l as listDevices, d as deviceExec } from './deviceKeys-BghZEVQM.mjs';
|
|
10
10
|
import axios from 'axios';
|
|
11
11
|
import { stat, readFile } from 'node:fs/promises';
|
|
12
12
|
import { randomUUID } from 'node:crypto';
|
|
@@ -16,7 +16,7 @@ import './index-DTV7drqs.mjs';
|
|
|
16
16
|
import { execSync } from 'node:child_process';
|
|
17
17
|
import 'node:events';
|
|
18
18
|
import 'socket.io-client';
|
|
19
|
-
import './api-
|
|
19
|
+
import './api-DgjBoynq.mjs';
|
|
20
20
|
import 'tweetnacl';
|
|
21
21
|
import 'ws';
|
|
22
22
|
import 'crypto';
|
|
@@ -52,6 +52,14 @@ async function listBugs(credentials, input = {}) {
|
|
|
52
52
|
);
|
|
53
53
|
return response.data;
|
|
54
54
|
}
|
|
55
|
+
async function getBug(credentials, reference) {
|
|
56
|
+
const bugId = await resolveBugId(credentials, reference);
|
|
57
|
+
const response = await axios.get(
|
|
58
|
+
`${configuration.serverUrl}/v1/bugs/${bugId}`,
|
|
59
|
+
authHeaders(credentials)
|
|
60
|
+
);
|
|
61
|
+
return response.data.bug;
|
|
62
|
+
}
|
|
55
63
|
async function resolveBugId(credentials, reference) {
|
|
56
64
|
const trimmed = reference.trim();
|
|
57
65
|
const displayNumber = trimmed.replace(/^#/, "").match(/^(?:bug-)?(\d+)$/i)?.[1];
|
|
@@ -160,6 +168,36 @@ function toToolError(message, details) {
|
|
|
160
168
|
isError: true
|
|
161
169
|
};
|
|
162
170
|
}
|
|
171
|
+
const asDate = (ms) => new Date(ms).toISOString().slice(0, 10);
|
|
172
|
+
function formatBugDetail(bug) {
|
|
173
|
+
const sections = [
|
|
174
|
+
`${bug.displayId} [${bug.status}] ${bug.visibility}`,
|
|
175
|
+
`${bug.title}`,
|
|
176
|
+
`filed by ${bug.createdByNickname ?? "unknown"}${bug.lastActivityAt ? `, last activity ${asDate(bug.lastActivityAt)}` : ""}`,
|
|
177
|
+
`
|
|
178
|
+
--- description ---
|
|
179
|
+
${bug.description}`
|
|
180
|
+
];
|
|
181
|
+
if (bug.attachments.length) {
|
|
182
|
+
sections.push(`
|
|
183
|
+
--- attachments (${bug.attachments.length}) ---
|
|
184
|
+
${bug.attachments.map((a) => `${a.mimeType} ${a.width ?? "?"}x${a.height ?? "?"} ${a.url}`).join("\n")}`);
|
|
185
|
+
}
|
|
186
|
+
if (bug.comments.length) {
|
|
187
|
+
sections.push(`
|
|
188
|
+
--- comments (${bug.comments.length}) ---
|
|
189
|
+
${bug.comments.map((c) => [
|
|
190
|
+
`[${asDate(c.createdAt)}] ${c.authorNickname ?? "unknown"}: ${c.body}`,
|
|
191
|
+
...c.attachments.map((a) => ` + ${a.mimeType} ${a.url}`)
|
|
192
|
+
].join("\n")).join("\n")}`);
|
|
193
|
+
}
|
|
194
|
+
if (bug.statusHistory.length) {
|
|
195
|
+
sections.push(`
|
|
196
|
+
--- history (${bug.statusHistory.length}) ---
|
|
197
|
+
${bug.statusHistory.map((h) => `${asDate(h.createdAt)} ${h.fromStatus ? `${h.fromStatus} \u2192 ${h.toStatus}` : h.action} by ${h.actorNickname ?? "unknown"}${h.note ? ` (${h.note})` : ""}`).join("\n")}`);
|
|
198
|
+
}
|
|
199
|
+
return sections.join("\n");
|
|
200
|
+
}
|
|
163
201
|
function createMcpServer(client, options) {
|
|
164
202
|
const mcp = new McpServer({
|
|
165
203
|
name: "Happy MCP",
|
|
@@ -340,12 +378,29 @@ ${lines.join("\n")}` : header }] };
|
|
|
340
378
|
return toToolError(`Failed to list bugs: ${error instanceof Error ? error.message : String(error)}`);
|
|
341
379
|
}
|
|
342
380
|
});
|
|
381
|
+
mcp.registerTool("get_bug", {
|
|
382
|
+
description: "Read one bug in full from the user's Happy bug board: its description, screenshots, every comment and how it moved between states. Use when the user asks about a specific bug, or before editing one so the rewrite keeps what is still true.",
|
|
383
|
+
title: "Get Bug",
|
|
384
|
+
inputSchema: {
|
|
385
|
+
bug: z.string().describe('Which bug, as the user refers to it: "BUG-236", "#236" or "236". An internal bug id also works.')
|
|
386
|
+
}
|
|
387
|
+
}, async (args) => {
|
|
388
|
+
const credentials = await readCredentials();
|
|
389
|
+
if (!credentials) {
|
|
390
|
+
return toToolError("No Happy credentials on this machine.");
|
|
391
|
+
}
|
|
392
|
+
try {
|
|
393
|
+
return { content: [{ type: "text", text: formatBugDetail(await getBug(credentials, args.bug)) }] };
|
|
394
|
+
} catch (error) {
|
|
395
|
+
return toToolError(`Failed to read bug: ${error instanceof Error ? error.message : String(error)}`);
|
|
396
|
+
}
|
|
397
|
+
});
|
|
343
398
|
mcp.registerTool("edit_bug", {
|
|
344
399
|
description: "Change a bug already on the user's Happy bug board: rewrite its description, add screenshots to it, or both. Use when the user wants to correct, expand or illustrate an existing bug.",
|
|
345
400
|
title: "Edit Bug",
|
|
346
401
|
inputSchema: {
|
|
347
402
|
bug: z.string().describe('Which bug, as the user refers to it: "BUG-236", "#236" or "236". An internal bug id also works.'),
|
|
348
|
-
description: z.string().optional().describe("The full replacement description. It replaces the old one outright, so carry over anything still true. Omit to leave the description alone."),
|
|
403
|
+
description: z.string().optional().describe("The full replacement description. It replaces the old one outright, so carry over anything still true \u2014 including any [[bug-image:N]] markers, which is where the Nth screenshot appears inline. Drop a marker and that image moves to the end. Omit this field to leave the description alone."),
|
|
349
404
|
images: z.array(z.string()).optional().describe("Absolute paths to screenshots on this machine, added to any already on the bug. JPEG and PNG only, 10 per bug in total, 20MB each.")
|
|
350
405
|
}
|
|
351
406
|
}, async (args) => {
|
|
@@ -385,7 +440,7 @@ ${lines.join("\n")}` : header }] };
|
|
|
385
440
|
async function startHappyServer(client) {
|
|
386
441
|
const transports = /* @__PURE__ */ new Map();
|
|
387
442
|
const enableOrchestratorTools = shouldEnableOrchestratorTools();
|
|
388
|
-
const toolNames = ["change_title", "preview_html", "device_list", "device_exec", "list_bugs", "submit_bug", "edit_bug", "delete_bug"];
|
|
443
|
+
const toolNames = ["change_title", "preview_html", "device_list", "device_exec", "list_bugs", "get_bug", "submit_bug", "edit_bug", "delete_bug"];
|
|
389
444
|
const originalConsoleError = console.error;
|
|
390
445
|
console.error = (...args) => {
|
|
391
446
|
logger.debug("[happyMCP] console.error:", ...args);
|
|
@@ -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-
|
|
7
|
-
var logger = require('./persistence-
|
|
8
|
-
var auth = require('./auth-
|
|
6
|
+
var api = require('./api-OthK5iIu.cjs');
|
|
7
|
+
var logger = require('./persistence-BJVrfFPM.cjs');
|
|
8
|
+
var auth = require('./auth-BpoPI35K.cjs');
|
|
9
9
|
var child_process = require('child_process');
|
|
10
|
-
var doctor = require('./doctor-
|
|
11
|
-
var spawnHappyCLI = require('./spawnHappyCLI-
|
|
12
|
-
var controlClient = require('./controlClient-
|
|
13
|
-
var deviceKeys = require('./deviceKeys-
|
|
14
|
-
var install = require('./install-
|
|
10
|
+
var doctor = require('./doctor-BqwlWV1d.cjs');
|
|
11
|
+
var spawnHappyCLI = require('./spawnHappyCLI-C6Peiy6h.cjs');
|
|
12
|
+
var controlClient = require('./controlClient-DEk3NLK2.cjs');
|
|
13
|
+
var deviceKeys = require('./deviceKeys-CdzEV43E.cjs');
|
|
14
|
+
var install = require('./install-B8z_dWSt.cjs');
|
|
15
15
|
var fastify = require('fastify');
|
|
16
16
|
var fs = require('node:fs');
|
|
17
17
|
var promises = require('node:fs/promises');
|
|
@@ -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-
|
|
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-
|
|
6
|
-
import { authAndSetupMachineIfNeeded } from './auth-
|
|
4
|
+
import { A as ApiClient } from './api-DgjBoynq.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-CO8Q0Eh6.mjs';
|
|
6
|
+
import { authAndSetupMachineIfNeeded } from './auth-BCH_VzFY.mjs';
|
|
7
7
|
import { spawn, execSync, exec } from 'child_process';
|
|
8
|
-
import { getEnvironmentInfo } from './doctor-
|
|
9
|
-
import { s as spawnHappyCLI } from './spawnHappyCLI-
|
|
10
|
-
import { isDaemonRunningCurrentlyInstalledHappyVersion, stopDaemon, cleanupDaemonState } from './controlClient-
|
|
11
|
-
import { a as readCachedDeviceKey, d as deviceExec } from './deviceKeys-
|
|
12
|
-
import { P as PLIST_LABEL } from './install-
|
|
8
|
+
import { getEnvironmentInfo } from './doctor-36V4kFd8.mjs';
|
|
9
|
+
import { s as spawnHappyCLI } from './spawnHappyCLI-C7Fu7xsF.mjs';
|
|
10
|
+
import { isDaemonRunningCurrentlyInstalledHappyVersion, stopDaemon, cleanupDaemonState } from './controlClient-BXUvvi9h.mjs';
|
|
11
|
+
import { a as readCachedDeviceKey, d as deviceExec } from './deviceKeys-BghZEVQM.mjs';
|
|
12
|
+
import { P as PLIST_LABEL } from './install-CdGqsOnL.mjs';
|
|
13
13
|
import fastify from 'fastify';
|
|
14
14
|
import { createReadStream } from 'node:fs';
|
|
15
15
|
import { stat } from 'node:fs/promises';
|