@zonease/happy 0.6.39 → 0.6.40
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/bin/happy.mjs +10 -0
- package/dist/{api-CwOCQeLH.cjs → api-C7FyJfZ1.cjs} +87 -7
- package/dist/{api-CIZKyfSn.mjs → api-D6WL40-U.mjs} +86 -6
- package/dist/{auth-BIleVCw0.cjs → auth-C7ZScWEw.cjs} +2 -2
- package/dist/{auth-Cas9DR3b.cjs → auth-DCsIoZLT.cjs} +4 -4
- package/dist/{auth-0VnlXT9f.mjs → auth-DO9GexAR.mjs} +4 -4
- package/dist/{auth-BE8dD20T.mjs → auth-DxJ3VvrX.mjs} +2 -2
- package/dist/{browser-Dll5hxOV.mjs → browser-AoVGRX7y.mjs} +1 -1
- package/dist/{browser-Cc08m7of.cjs → browser-DzgO4oaD.cjs} +1 -1
- package/dist/{claudeLocal-WkgLbl1a.cjs → claudeLocal-C6BdzhDx.cjs} +1 -1
- package/dist/{claudeLocal-CPT3zcIU.mjs → claudeLocal-CWNGpJ0-.mjs} +1 -1
- package/dist/{config-Draa-5XC.cjs → config-CclB3QW9.cjs} +1 -1
- package/dist/{config-rTT4qTU5.mjs → config-DZk-mJ0K.mjs} +1 -1
- package/dist/{connect-BfC1tYP_.mjs → connect-BXLUKJ5P.mjs} +4 -4
- package/dist/{connect-CJZ73syK.cjs → connect-k9CqDJ-T.cjs} +4 -4
- package/dist/{controlClient-DZMIsKsT.cjs → controlClient-B23M-WPp.cjs} +10 -1
- package/dist/{controlClient-CM_QcJnB.mjs → controlClient-DB5tDU7V.mjs} +10 -2
- package/dist/deviceKeys-BTdo34Uz.mjs +175 -0
- package/dist/deviceKeys-C540DcXl.cjs +182 -0
- package/dist/{doctor-Cya9YSA0.cjs → doctor-BQGLhrcI.cjs} +2 -2
- package/dist/{doctor-DZYB6IVc.mjs → doctor-CU4JLGQ1.mjs} +2 -2
- package/dist/{downloadImage-DfSFLb-h.mjs → downloadImage-DZXI3mXL.mjs} +3 -3
- package/dist/{downloadImage-MQMrUUxS.cjs → downloadImage-cQ1Z7hkC.cjs} +5 -5
- package/dist/{enroll-C52x8oly.mjs → enroll-B55BQR56.mjs} +3 -3
- package/dist/{enroll-BxlbVftP.cjs → enroll-Bo-CNio1.cjs} +3 -3
- package/dist/{evidence-CjWBG5rX.cjs → evidence-DQp8QWcv.cjs} +1 -1
- package/dist/{evidence-Ccd9iYcj.mjs → evidence-DTYRAaOZ.mjs} +1 -1
- package/dist/{formatImageMessage-DbyG8c2j.cjs → formatImageMessage-CixDYY6G.cjs} +1 -1
- package/dist/{formatImageMessage-B4lSxlk2.mjs → formatImageMessage-DbKSSjMx.mjs} +1 -1
- package/dist/index.cjs +42 -42
- package/dist/index.mjs +42 -42
- package/dist/{install-DAeCn8ae.mjs → install-B1e6rdy7.mjs} +2 -2
- package/dist/{install-oRAjVLjP.mjs → install-CgUPGIoF.mjs} +1 -1
- package/dist/{install-C_cp8b2-.cjs → install-D7Ir7ciZ.cjs} +2 -2
- package/dist/{install-BokHRgFW.cjs → install-DSDufaPd.cjs} +1 -1
- package/dist/lib.cjs +3 -3
- package/dist/lib.d.cts +77 -0
- package/dist/lib.d.mts +77 -0
- package/dist/lib.mjs +3 -3
- package/dist/{loadableToolOutput-Cuygmd4K.mjs → loadableToolOutput-Bfei9wPq.mjs} +3 -3
- package/dist/{loadableToolOutput-DDCJjywt.cjs → loadableToolOutput-CbLGtvST.cjs} +3 -3
- package/dist/{persistence-JLUn_Nou.cjs → persistence-CBTtC_dm.cjs} +1 -1
- package/dist/{persistence-BFjvtUad.mjs → persistence-DKfF81pd.mjs} +2 -2
- package/dist/{run-DBZqN6Kn.mjs → run-BVZsMNwN.mjs} +45 -9
- package/dist/{run-BDn2aE3Q.cjs → run-CURx7LhK.cjs} +45 -9
- package/dist/{runClaude-DNHvERX0.mjs → runClaude-6Gi0sYQy.mjs} +14 -14
- package/dist/{runClaude-uaKxPZPm.cjs → runClaude-CL3Kt5ex.cjs} +15 -15
- package/dist/{runCodex-C-RTM0wA.mjs → runCodex-ClwEgJ7M.mjs} +13 -13
- package/dist/{runCodex-82UrZLme.cjs → runCodex-YKyVBkJ3.cjs} +13 -13
- package/dist/{runGemini-Bm6-4Xm2.mjs → runGemini-BPWxVr60.mjs} +15 -15
- package/dist/{runGemini-CXMr4Jwb.cjs → runGemini-Xz2W1spn.cjs} +15 -15
- package/dist/{runOneShot-ioARRHrx.mjs → runOneShot-CdCWiiLr.mjs} +2 -2
- package/dist/{runOneShot-1B6RMYT7.cjs → runOneShot-DjZyCvDI.cjs} +2 -2
- package/dist/{serve-CwibwU6N.mjs → serve-B48JttQ3.mjs} +6 -6
- package/dist/{serve-BtdAhkIE.cjs → serve-B8vaWQA0.cjs} +6 -6
- package/dist/{session-2sU4Bu1R.mjs → session-BXboDn2V.mjs} +5 -5
- package/dist/{session-D--F87zL.cjs → session-BZO25zxp.cjs} +5 -5
- package/dist/{sessionKeyCache-D2BwO91C.mjs → sessionKeyCache-B6cGadYL.mjs} +1 -1
- package/dist/{sessionKeyCache-4Tp8pJ3N.cjs → sessionKeyCache-CDmexJ9p.cjs} +1 -1
- package/dist/{sessionList-BCSw3qYt.mjs → sessionList-CgAYZpNj.mjs} +2 -2
- package/dist/{sessionList-ICJsjNtJ.cjs → sessionList-lQ-nqEhc.cjs} +2 -2
- package/dist/{sessionSummary-Bkz52BPh.cjs → sessionSummary-CcORiQSq.cjs} +3 -3
- package/dist/{sessionSummary-lHGBWQSb.mjs → sessionSummary-DCWQoaDP.mjs} +3 -3
- package/dist/{spawnHappyCLI-D_V-AAoP.cjs → spawnHappyCLI-KiazE3kL.cjs} +1 -1
- package/dist/{spawnHappyCLI-CoORX0YW.mjs → spawnHappyCLI-yBIP_Oqi.mjs} +1 -1
- package/dist/{ssh-DL_AkRAD.mjs → ssh-q5uZhqBf.mjs} +134 -103
- package/dist/{ssh-BTOlhhxi.cjs → ssh-yMllSHu5.cjs} +138 -106
- package/dist/{task-CSpaC9HX.cjs → task-_nr7J19j.cjs} +6 -6
- package/dist/{task-CQzrHRZe.mjs → task-wNX1N2i4.mjs} +6 -6
- package/dist/{uninstall-BiKyRAb1.cjs → uninstall-Buaz7d-X.cjs} +2 -2
- package/dist/{uninstall-nFMFGUVM.mjs → uninstall-Dxf6_4mQ.mjs} +2 -2
- package/dist/{update-Dw8pgsAT.cjs → update-CGlIfa8e.cjs} +3 -3
- package/dist/{update-BcqRHXf2.mjs → update-CnnoX2cV.mjs} +3 -3
- package/package.json +1 -1
- package/dist/deviceExec-CU1R9CRb.cjs +0 -84
- package/dist/deviceExec-D93AOVV4.mjs +0 -81
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
|
-
var logger = require('./persistence-
|
|
4
|
+
var logger = require('./persistence-CBTtC_dm.cjs');
|
|
5
5
|
var z = require('zod');
|
|
6
6
|
var node_child_process = require('node:child_process');
|
|
7
7
|
require('node:fs/promises');
|
|
@@ -13,8 +13,8 @@ require('tweetnacl');
|
|
|
13
13
|
require('fs');
|
|
14
14
|
|
|
15
15
|
async function spawnAndWaitForDaemon() {
|
|
16
|
-
const { spawnHappyCLI } = await Promise.resolve().then(function () { return require('./spawnHappyCLI-
|
|
17
|
-
const { checkIfDaemonRunningAndCleanupStaleState } = await Promise.resolve().then(function () { return require('./controlClient-
|
|
16
|
+
const { spawnHappyCLI } = await Promise.resolve().then(function () { return require('./spawnHappyCLI-KiazE3kL.cjs'); }).then(function (n) { return n.spawnHappyCLI$1; });
|
|
17
|
+
const { checkIfDaemonRunningAndCleanupStaleState } = await Promise.resolve().then(function () { return require('./controlClient-B23M-WPp.cjs'); });
|
|
18
18
|
const child = spawnHappyCLI(["daemon", "start-sync"], {
|
|
19
19
|
detached: true,
|
|
20
20
|
stdio: "ignore"
|
|
@@ -37,7 +37,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
37
37
|
if (!args.includes("--version")) ;
|
|
38
38
|
if (subcommand === "orchestrator-oneshot") {
|
|
39
39
|
try {
|
|
40
|
-
const { runOrchestratorOneShot } = await Promise.resolve().then(function () { return require('./runOneShot-
|
|
40
|
+
const { runOrchestratorOneShot } = await Promise.resolve().then(function () { return require('./runOneShot-DjZyCvDI.cjs'); });
|
|
41
41
|
const exitCode = await runOrchestratorOneShot(args.slice(1));
|
|
42
42
|
process.exit(exitCode);
|
|
43
43
|
} catch (error) {
|
|
@@ -50,7 +50,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
50
50
|
return;
|
|
51
51
|
} else if (subcommand === "doctor") {
|
|
52
52
|
const { killRunawayHappyProcesses } = await Promise.resolve().then(function () { return require('./doctor-C08m5Z9f.cjs'); });
|
|
53
|
-
const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-
|
|
53
|
+
const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-BQGLhrcI.cjs'); });
|
|
54
54
|
if (args[1] === "clean") {
|
|
55
55
|
const result = await killRunawayHappyProcesses();
|
|
56
56
|
console.log(`Cleaned up ${result.killed} runaway processes`);
|
|
@@ -63,7 +63,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
63
63
|
return;
|
|
64
64
|
} else if (subcommand === "auth") {
|
|
65
65
|
try {
|
|
66
|
-
const { handleAuthCommand } = await Promise.resolve().then(function () { return require('./auth-
|
|
66
|
+
const { handleAuthCommand } = await Promise.resolve().then(function () { return require('./auth-DCsIoZLT.cjs'); });
|
|
67
67
|
await handleAuthCommand(args.slice(1));
|
|
68
68
|
} catch (error) {
|
|
69
69
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -75,7 +75,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
75
75
|
return;
|
|
76
76
|
} else if (subcommand === "connect") {
|
|
77
77
|
try {
|
|
78
|
-
const { handleConnectCommand } = await Promise.resolve().then(function () { return require('./connect-
|
|
78
|
+
const { handleConnectCommand } = await Promise.resolve().then(function () { return require('./connect-k9CqDJ-T.cjs'); });
|
|
79
79
|
await handleConnectCommand(args.slice(1));
|
|
80
80
|
} catch (error) {
|
|
81
81
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -86,11 +86,11 @@ async function spawnAndWaitForDaemon() {
|
|
|
86
86
|
}
|
|
87
87
|
return;
|
|
88
88
|
} else if (subcommand === "codex") {
|
|
89
|
-
const { authAndSetupMachineIfNeeded } = await Promise.resolve().then(function () { return require('./auth-
|
|
90
|
-
const { isDaemonRunningCurrentlyInstalledHappyVersion } = await Promise.resolve().then(function () { return require('./controlClient-
|
|
91
|
-
const { spawnHappyCLI } = await Promise.resolve().then(function () { return require('./spawnHappyCLI-
|
|
89
|
+
const { authAndSetupMachineIfNeeded } = await Promise.resolve().then(function () { return require('./auth-C7ZScWEw.cjs'); });
|
|
90
|
+
const { isDaemonRunningCurrentlyInstalledHappyVersion } = await Promise.resolve().then(function () { return require('./controlClient-B23M-WPp.cjs'); });
|
|
91
|
+
const { spawnHappyCLI } = await Promise.resolve().then(function () { return require('./spawnHappyCLI-KiazE3kL.cjs'); }).then(function (n) { return n.spawnHappyCLI$1; });
|
|
92
92
|
try {
|
|
93
|
-
const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-
|
|
93
|
+
const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-YKyVBkJ3.cjs'); });
|
|
94
94
|
let startedBy = void 0;
|
|
95
95
|
for (let i = 1; i < args.length; i++) {
|
|
96
96
|
if (args[i] === "--started-by") {
|
|
@@ -121,9 +121,9 @@ async function spawnAndWaitForDaemon() {
|
|
|
121
121
|
}
|
|
122
122
|
return;
|
|
123
123
|
} else if (subcommand === "gemini") {
|
|
124
|
-
const { authAndSetupMachineIfNeeded } = await Promise.resolve().then(function () { return require('./auth-
|
|
125
|
-
const { isDaemonRunningCurrentlyInstalledHappyVersion } = await Promise.resolve().then(function () { return require('./controlClient-
|
|
126
|
-
const { spawnHappyCLI } = await Promise.resolve().then(function () { return require('./spawnHappyCLI-
|
|
124
|
+
const { authAndSetupMachineIfNeeded } = await Promise.resolve().then(function () { return require('./auth-C7ZScWEw.cjs'); });
|
|
125
|
+
const { isDaemonRunningCurrentlyInstalledHappyVersion } = await Promise.resolve().then(function () { return require('./controlClient-B23M-WPp.cjs'); });
|
|
126
|
+
const { spawnHappyCLI } = await Promise.resolve().then(function () { return require('./spawnHappyCLI-KiazE3kL.cjs'); }).then(function (n) { return n.spawnHappyCLI$1; });
|
|
127
127
|
const geminiSubcommand = args[1];
|
|
128
128
|
if (geminiSubcommand === "model" && args[2] === "set" && args[3]) {
|
|
129
129
|
const modelName = args[3];
|
|
@@ -197,9 +197,9 @@ async function spawnAndWaitForDaemon() {
|
|
|
197
197
|
if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
|
|
198
198
|
const projectId = args[3];
|
|
199
199
|
try {
|
|
200
|
-
const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-
|
|
201
|
-
const { readCredentials: readCredentials2 } = await Promise.resolve().then(function () { return require('./persistence-
|
|
202
|
-
const { ApiClient } = await Promise.resolve().then(function () { return require('./api-
|
|
200
|
+
const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-CclB3QW9.cjs'); });
|
|
201
|
+
const { readCredentials: readCredentials2 } = await Promise.resolve().then(function () { return require('./persistence-CBTtC_dm.cjs'); }).then(function (n) { return n.persistence; });
|
|
202
|
+
const { ApiClient } = await Promise.resolve().then(function () { return require('./api-C7FyJfZ1.cjs'); }).then(function (n) { return n.api; });
|
|
203
203
|
let userEmail = void 0;
|
|
204
204
|
try {
|
|
205
205
|
const credentials = await readCredentials2();
|
|
@@ -230,7 +230,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
230
230
|
}
|
|
231
231
|
if (geminiSubcommand === "project" && args[2] === "get") {
|
|
232
232
|
try {
|
|
233
|
-
const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-
|
|
233
|
+
const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-CclB3QW9.cjs'); });
|
|
234
234
|
const config = readGeminiLocalConfig();
|
|
235
235
|
if (config.googleCloudProject) {
|
|
236
236
|
console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
|
|
@@ -270,7 +270,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
270
270
|
process.exit(0);
|
|
271
271
|
}
|
|
272
272
|
try {
|
|
273
|
-
const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-
|
|
273
|
+
const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-Xz2W1spn.cjs'); });
|
|
274
274
|
let startedBy = void 0;
|
|
275
275
|
for (let i = 1; i < args.length; i++) {
|
|
276
276
|
if (args[i] === "--started-by") {
|
|
@@ -302,7 +302,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
302
302
|
return;
|
|
303
303
|
} else if (subcommand === "update") {
|
|
304
304
|
try {
|
|
305
|
-
const { handleUpdateCommand } = await Promise.resolve().then(function () { return require('./update-
|
|
305
|
+
const { handleUpdateCommand } = await Promise.resolve().then(function () { return require('./update-CGlIfa8e.cjs'); });
|
|
306
306
|
await handleUpdateCommand();
|
|
307
307
|
} catch (error) {
|
|
308
308
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -315,7 +315,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
315
315
|
} else if (subcommand === "logout") {
|
|
316
316
|
console.log(chalk.yellow('Note: "happy logout" is deprecated. Use "happy auth logout" instead.\n'));
|
|
317
317
|
try {
|
|
318
|
-
const { handleAuthCommand } = await Promise.resolve().then(function () { return require('./auth-
|
|
318
|
+
const { handleAuthCommand } = await Promise.resolve().then(function () { return require('./auth-DCsIoZLT.cjs'); });
|
|
319
319
|
await handleAuthCommand(["logout"]);
|
|
320
320
|
} catch (error) {
|
|
321
321
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -338,7 +338,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
338
338
|
return;
|
|
339
339
|
} else if (subcommand === "session") {
|
|
340
340
|
try {
|
|
341
|
-
const { handleSessionCommand } = await Promise.resolve().then(function () { return require('./session-
|
|
341
|
+
const { handleSessionCommand } = await Promise.resolve().then(function () { return require('./session-BZO25zxp.cjs'); });
|
|
342
342
|
await handleSessionCommand(args.slice(1));
|
|
343
343
|
} catch (error) {
|
|
344
344
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -350,7 +350,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
350
350
|
return;
|
|
351
351
|
} else if (subcommand === "task") {
|
|
352
352
|
try {
|
|
353
|
-
const { handleTaskCommand } = await Promise.resolve().then(function () { return require('./task-
|
|
353
|
+
const { handleTaskCommand } = await Promise.resolve().then(function () { return require('./task-_nr7J19j.cjs'); });
|
|
354
354
|
await handleTaskCommand(args.slice(1));
|
|
355
355
|
} catch (error) {
|
|
356
356
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -398,7 +398,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
398
398
|
return;
|
|
399
399
|
} else if (subcommand === "evidence") {
|
|
400
400
|
try {
|
|
401
|
-
const { handleEvidenceCommand } = await Promise.resolve().then(function () { return require('./evidence-
|
|
401
|
+
const { handleEvidenceCommand } = await Promise.resolve().then(function () { return require('./evidence-DQp8QWcv.cjs'); });
|
|
402
402
|
await handleEvidenceCommand(args.slice(1));
|
|
403
403
|
} catch (error) {
|
|
404
404
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -415,7 +415,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
415
415
|
process.exit(1);
|
|
416
416
|
}
|
|
417
417
|
try {
|
|
418
|
-
const { runMcpServe } = await Promise.resolve().then(function () { return require('./serve-
|
|
418
|
+
const { runMcpServe } = await Promise.resolve().then(function () { return require('./serve-B8vaWQA0.cjs'); });
|
|
419
419
|
await runMcpServe();
|
|
420
420
|
} catch (error) {
|
|
421
421
|
process.stderr.write(`[happy-mcp] fatal: ${error instanceof Error ? error.message : "unknown error"}
|
|
@@ -429,15 +429,15 @@ async function spawnAndWaitForDaemon() {
|
|
|
429
429
|
console.error(chalk.red("Error:"), 'Not authenticated. Run "happy auth" first.');
|
|
430
430
|
process.exit(1);
|
|
431
431
|
}
|
|
432
|
-
const { parseSshArgs, runOnDevice, sshDevice, sshPickAndConnect } = await Promise.resolve().then(function () { return require('./ssh-
|
|
433
|
-
const { target, command, timeoutMs } = parseSshArgs(args.slice(1));
|
|
432
|
+
const { parseSshArgs, runOnDevice, sshDevice, sshPickAndConnect } = await Promise.resolve().then(function () { return require('./ssh-yMllSHu5.cjs'); });
|
|
433
|
+
const { target, command, timeoutMs, stream } = parseSshArgs(args.slice(1));
|
|
434
434
|
try {
|
|
435
435
|
if (command) {
|
|
436
436
|
if (!target) {
|
|
437
437
|
console.error(chalk.red("Error:"), "Which device? Usage: happy ssh <device> -- <command>");
|
|
438
438
|
process.exit(1);
|
|
439
439
|
}
|
|
440
|
-
process.exit(await runOnDevice(credentials, target, command, { timeoutMs }));
|
|
440
|
+
process.exit(await runOnDevice(credentials, target, command, { timeoutMs, stream }));
|
|
441
441
|
}
|
|
442
442
|
if (!target) {
|
|
443
443
|
process.exit(await sshPickAndConnect(credentials));
|
|
@@ -450,8 +450,8 @@ async function spawnAndWaitForDaemon() {
|
|
|
450
450
|
} else if (subcommand === "device") {
|
|
451
451
|
const deviceSubcommand = args[1];
|
|
452
452
|
if (deviceSubcommand === "enroll") {
|
|
453
|
-
const { enrollDevice } = await Promise.resolve().then(function () { return require('./enroll-
|
|
454
|
-
const { install } = await Promise.resolve().then(function () { return require('./install-
|
|
453
|
+
const { enrollDevice } = await Promise.resolve().then(function () { return require('./enroll-Bo-CNio1.cjs'); });
|
|
454
|
+
const { install } = await Promise.resolve().then(function () { return require('./install-D7Ir7ciZ.cjs'); });
|
|
455
455
|
const token = args[2];
|
|
456
456
|
if (!token) {
|
|
457
457
|
console.error(chalk.red("Error:"), "Missing enrollment token. Usage: happy device enroll <token>");
|
|
@@ -480,12 +480,12 @@ ${chalk.bold("Usage:")}
|
|
|
480
480
|
`);
|
|
481
481
|
process.exit(0);
|
|
482
482
|
} else if (subcommand === "daemon") {
|
|
483
|
-
const { startDaemon } = await Promise.resolve().then(function () { return require('./run-
|
|
484
|
-
const { install } = await Promise.resolve().then(function () { return require('./install-
|
|
485
|
-
const { uninstall } = await Promise.resolve().then(function () { return require('./uninstall-
|
|
486
|
-
const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-
|
|
487
|
-
const { getLatestDaemonLog } = await Promise.resolve().then(function () { return require('./persistence-
|
|
488
|
-
const { listDaemonSessions, stopDaemonSession, stopDaemon } = await Promise.resolve().then(function () { return require('./controlClient-
|
|
483
|
+
const { startDaemon } = await Promise.resolve().then(function () { return require('./run-CURx7LhK.cjs'); }).then(function (n) { return n.run; });
|
|
484
|
+
const { install } = await Promise.resolve().then(function () { return require('./install-D7Ir7ciZ.cjs'); });
|
|
485
|
+
const { uninstall } = await Promise.resolve().then(function () { return require('./uninstall-Buaz7d-X.cjs'); });
|
|
486
|
+
const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-BQGLhrcI.cjs'); });
|
|
487
|
+
const { getLatestDaemonLog } = await Promise.resolve().then(function () { return require('./persistence-CBTtC_dm.cjs'); }).then(function (n) { return n.logger$1; });
|
|
488
|
+
const { listDaemonSessions, stopDaemonSession, stopDaemon } = await Promise.resolve().then(function () { return require('./controlClient-B23M-WPp.cjs'); });
|
|
489
489
|
const daemonSubcommand = args[1];
|
|
490
490
|
if (daemonSubcommand === "list") {
|
|
491
491
|
try {
|
|
@@ -690,7 +690,7 @@ ${chalk.gray("\u2500".repeat(60))}
|
|
|
690
690
|
${chalk.bold.cyan("Claude Code Options (from `claude --help`):")}
|
|
691
691
|
`);
|
|
692
692
|
try {
|
|
693
|
-
const { claudeCliPath } = await Promise.resolve().then(function () { return require('./claudeLocal-
|
|
693
|
+
const { claudeCliPath } = await Promise.resolve().then(function () { return require('./claudeLocal-C6BdzhDx.cjs'); }).then(function (n) { return n.claudeLocal$1; });
|
|
694
694
|
const claudeHelp = node_child_process.execFileSync(claudeCliPath, ["--help"], { encoding: "utf8" });
|
|
695
695
|
console.log(claudeHelp);
|
|
696
696
|
} catch (e) {
|
|
@@ -720,10 +720,10 @@ ${chalk.bold.cyan("Claude Code Options (from `claude --help`):")}
|
|
|
720
720
|
}
|
|
721
721
|
process.exit(0);
|
|
722
722
|
}
|
|
723
|
-
const { authAndSetupMachineIfNeeded } = await Promise.resolve().then(function () { return require('./auth-
|
|
724
|
-
const { isDaemonRunningCurrentlyInstalledHappyVersion } = await Promise.resolve().then(function () { return require('./controlClient-
|
|
725
|
-
const { spawnHappyCLI } = await Promise.resolve().then(function () { return require('./spawnHappyCLI-
|
|
726
|
-
const { runClaude } = await Promise.resolve().then(function () { return require('./runClaude-
|
|
723
|
+
const { authAndSetupMachineIfNeeded } = await Promise.resolve().then(function () { return require('./auth-C7ZScWEw.cjs'); });
|
|
724
|
+
const { isDaemonRunningCurrentlyInstalledHappyVersion } = await Promise.resolve().then(function () { return require('./controlClient-B23M-WPp.cjs'); });
|
|
725
|
+
const { spawnHappyCLI } = await Promise.resolve().then(function () { return require('./spawnHappyCLI-KiazE3kL.cjs'); }).then(function (n) { return n.spawnHappyCLI$1; });
|
|
726
|
+
const { runClaude } = await Promise.resolve().then(function () { return require('./runClaude-CL3Kt5ex.cjs'); });
|
|
727
727
|
const {
|
|
728
728
|
credentials
|
|
729
729
|
} = await authAndSetupMachineIfNeeded();
|
|
@@ -797,7 +797,7 @@ ${chalk.bold("Examples:")}
|
|
|
797
797
|
}
|
|
798
798
|
console.log(chalk.blue("\u{1F4F1} Sending push notification..."));
|
|
799
799
|
try {
|
|
800
|
-
const { ApiClient } = await Promise.resolve().then(function () { return require('./api-
|
|
800
|
+
const { ApiClient } = await Promise.resolve().then(function () { return require('./api-C7FyJfZ1.cjs'); }).then(function (n) { return n.api; });
|
|
801
801
|
const api = await ApiClient.create(credentials);
|
|
802
802
|
const notificationTitle = title || "Happy AI";
|
|
803
803
|
api.push().sendToAllDevices(
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import chalk from 'chalk';
|
|
2
|
-
import { l as logger, i as isDebug, r as readCredentials, a as readSettings, p as packageJson } from './persistence-
|
|
2
|
+
import { l as logger, i as isDebug, r as readCredentials, a as readSettings, p as packageJson } from './persistence-DKfF81pd.mjs';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { execFileSync } from 'node:child_process';
|
|
5
5
|
import 'node:fs/promises';
|
|
@@ -11,8 +11,8 @@ import 'tweetnacl';
|
|
|
11
11
|
import 'fs';
|
|
12
12
|
|
|
13
13
|
async function spawnAndWaitForDaemon() {
|
|
14
|
-
const { spawnHappyCLI } = await import('./spawnHappyCLI-
|
|
15
|
-
const { checkIfDaemonRunningAndCleanupStaleState } = await import('./controlClient-
|
|
14
|
+
const { spawnHappyCLI } = await import('./spawnHappyCLI-yBIP_Oqi.mjs').then(function (n) { return n.a; });
|
|
15
|
+
const { checkIfDaemonRunningAndCleanupStaleState } = await import('./controlClient-DB5tDU7V.mjs');
|
|
16
16
|
const child = spawnHappyCLI(["daemon", "start-sync"], {
|
|
17
17
|
detached: true,
|
|
18
18
|
stdio: "ignore"
|
|
@@ -35,7 +35,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
35
35
|
if (!args.includes("--version")) ;
|
|
36
36
|
if (subcommand === "orchestrator-oneshot") {
|
|
37
37
|
try {
|
|
38
|
-
const { runOrchestratorOneShot } = await import('./runOneShot-
|
|
38
|
+
const { runOrchestratorOneShot } = await import('./runOneShot-CdCWiiLr.mjs');
|
|
39
39
|
const exitCode = await runOrchestratorOneShot(args.slice(1));
|
|
40
40
|
process.exit(exitCode);
|
|
41
41
|
} catch (error) {
|
|
@@ -48,7 +48,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
48
48
|
return;
|
|
49
49
|
} else if (subcommand === "doctor") {
|
|
50
50
|
const { killRunawayHappyProcesses } = await import('./doctor-ON7pN5G5.mjs');
|
|
51
|
-
const { runDoctorCommand } = await import('./doctor-
|
|
51
|
+
const { runDoctorCommand } = await import('./doctor-CU4JLGQ1.mjs');
|
|
52
52
|
if (args[1] === "clean") {
|
|
53
53
|
const result = await killRunawayHappyProcesses();
|
|
54
54
|
console.log(`Cleaned up ${result.killed} runaway processes`);
|
|
@@ -61,7 +61,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
61
61
|
return;
|
|
62
62
|
} else if (subcommand === "auth") {
|
|
63
63
|
try {
|
|
64
|
-
const { handleAuthCommand } = await import('./auth-
|
|
64
|
+
const { handleAuthCommand } = await import('./auth-DO9GexAR.mjs');
|
|
65
65
|
await handleAuthCommand(args.slice(1));
|
|
66
66
|
} catch (error) {
|
|
67
67
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -73,7 +73,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
73
73
|
return;
|
|
74
74
|
} else if (subcommand === "connect") {
|
|
75
75
|
try {
|
|
76
|
-
const { handleConnectCommand } = await import('./connect-
|
|
76
|
+
const { handleConnectCommand } = await import('./connect-BXLUKJ5P.mjs');
|
|
77
77
|
await handleConnectCommand(args.slice(1));
|
|
78
78
|
} catch (error) {
|
|
79
79
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -84,11 +84,11 @@ async function spawnAndWaitForDaemon() {
|
|
|
84
84
|
}
|
|
85
85
|
return;
|
|
86
86
|
} else if (subcommand === "codex") {
|
|
87
|
-
const { authAndSetupMachineIfNeeded } = await import('./auth-
|
|
88
|
-
const { isDaemonRunningCurrentlyInstalledHappyVersion } = await import('./controlClient-
|
|
89
|
-
const { spawnHappyCLI } = await import('./spawnHappyCLI-
|
|
87
|
+
const { authAndSetupMachineIfNeeded } = await import('./auth-DxJ3VvrX.mjs');
|
|
88
|
+
const { isDaemonRunningCurrentlyInstalledHappyVersion } = await import('./controlClient-DB5tDU7V.mjs');
|
|
89
|
+
const { spawnHappyCLI } = await import('./spawnHappyCLI-yBIP_Oqi.mjs').then(function (n) { return n.a; });
|
|
90
90
|
try {
|
|
91
|
-
const { runCodex } = await import('./runCodex-
|
|
91
|
+
const { runCodex } = await import('./runCodex-ClwEgJ7M.mjs');
|
|
92
92
|
let startedBy = void 0;
|
|
93
93
|
for (let i = 1; i < args.length; i++) {
|
|
94
94
|
if (args[i] === "--started-by") {
|
|
@@ -119,9 +119,9 @@ async function spawnAndWaitForDaemon() {
|
|
|
119
119
|
}
|
|
120
120
|
return;
|
|
121
121
|
} else if (subcommand === "gemini") {
|
|
122
|
-
const { authAndSetupMachineIfNeeded } = await import('./auth-
|
|
123
|
-
const { isDaemonRunningCurrentlyInstalledHappyVersion } = await import('./controlClient-
|
|
124
|
-
const { spawnHappyCLI } = await import('./spawnHappyCLI-
|
|
122
|
+
const { authAndSetupMachineIfNeeded } = await import('./auth-DxJ3VvrX.mjs');
|
|
123
|
+
const { isDaemonRunningCurrentlyInstalledHappyVersion } = await import('./controlClient-DB5tDU7V.mjs');
|
|
124
|
+
const { spawnHappyCLI } = await import('./spawnHappyCLI-yBIP_Oqi.mjs').then(function (n) { return n.a; });
|
|
125
125
|
const geminiSubcommand = args[1];
|
|
126
126
|
if (geminiSubcommand === "model" && args[2] === "set" && args[3]) {
|
|
127
127
|
const modelName = args[3];
|
|
@@ -195,9 +195,9 @@ async function spawnAndWaitForDaemon() {
|
|
|
195
195
|
if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
|
|
196
196
|
const projectId = args[3];
|
|
197
197
|
try {
|
|
198
|
-
const { saveGoogleCloudProjectToConfig } = await import('./config-
|
|
199
|
-
const { readCredentials: readCredentials2 } = await import('./persistence-
|
|
200
|
-
const { ApiClient } = await import('./api-
|
|
198
|
+
const { saveGoogleCloudProjectToConfig } = await import('./config-DZk-mJ0K.mjs');
|
|
199
|
+
const { readCredentials: readCredentials2 } = await import('./persistence-DKfF81pd.mjs').then(function (n) { return n.F; });
|
|
200
|
+
const { ApiClient } = await import('./api-D6WL40-U.mjs').then(function (n) { return n.m; });
|
|
201
201
|
let userEmail = void 0;
|
|
202
202
|
try {
|
|
203
203
|
const credentials = await readCredentials2();
|
|
@@ -228,7 +228,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
228
228
|
}
|
|
229
229
|
if (geminiSubcommand === "project" && args[2] === "get") {
|
|
230
230
|
try {
|
|
231
|
-
const { readGeminiLocalConfig } = await import('./config-
|
|
231
|
+
const { readGeminiLocalConfig } = await import('./config-DZk-mJ0K.mjs');
|
|
232
232
|
const config = readGeminiLocalConfig();
|
|
233
233
|
if (config.googleCloudProject) {
|
|
234
234
|
console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
|
|
@@ -268,7 +268,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
268
268
|
process.exit(0);
|
|
269
269
|
}
|
|
270
270
|
try {
|
|
271
|
-
const { runGemini } = await import('./runGemini-
|
|
271
|
+
const { runGemini } = await import('./runGemini-BPWxVr60.mjs');
|
|
272
272
|
let startedBy = void 0;
|
|
273
273
|
for (let i = 1; i < args.length; i++) {
|
|
274
274
|
if (args[i] === "--started-by") {
|
|
@@ -300,7 +300,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
300
300
|
return;
|
|
301
301
|
} else if (subcommand === "update") {
|
|
302
302
|
try {
|
|
303
|
-
const { handleUpdateCommand } = await import('./update-
|
|
303
|
+
const { handleUpdateCommand } = await import('./update-CnnoX2cV.mjs');
|
|
304
304
|
await handleUpdateCommand();
|
|
305
305
|
} catch (error) {
|
|
306
306
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -313,7 +313,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
313
313
|
} else if (subcommand === "logout") {
|
|
314
314
|
console.log(chalk.yellow('Note: "happy logout" is deprecated. Use "happy auth logout" instead.\n'));
|
|
315
315
|
try {
|
|
316
|
-
const { handleAuthCommand } = await import('./auth-
|
|
316
|
+
const { handleAuthCommand } = await import('./auth-DO9GexAR.mjs');
|
|
317
317
|
await handleAuthCommand(["logout"]);
|
|
318
318
|
} catch (error) {
|
|
319
319
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -336,7 +336,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
336
336
|
return;
|
|
337
337
|
} else if (subcommand === "session") {
|
|
338
338
|
try {
|
|
339
|
-
const { handleSessionCommand } = await import('./session-
|
|
339
|
+
const { handleSessionCommand } = await import('./session-BXboDn2V.mjs');
|
|
340
340
|
await handleSessionCommand(args.slice(1));
|
|
341
341
|
} catch (error) {
|
|
342
342
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -348,7 +348,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
348
348
|
return;
|
|
349
349
|
} else if (subcommand === "task") {
|
|
350
350
|
try {
|
|
351
|
-
const { handleTaskCommand } = await import('./task-
|
|
351
|
+
const { handleTaskCommand } = await import('./task-wNX1N2i4.mjs');
|
|
352
352
|
await handleTaskCommand(args.slice(1));
|
|
353
353
|
} catch (error) {
|
|
354
354
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -396,7 +396,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
396
396
|
return;
|
|
397
397
|
} else if (subcommand === "evidence") {
|
|
398
398
|
try {
|
|
399
|
-
const { handleEvidenceCommand } = await import('./evidence-
|
|
399
|
+
const { handleEvidenceCommand } = await import('./evidence-DTYRAaOZ.mjs');
|
|
400
400
|
await handleEvidenceCommand(args.slice(1));
|
|
401
401
|
} catch (error) {
|
|
402
402
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -413,7 +413,7 @@ async function spawnAndWaitForDaemon() {
|
|
|
413
413
|
process.exit(1);
|
|
414
414
|
}
|
|
415
415
|
try {
|
|
416
|
-
const { runMcpServe } = await import('./serve-
|
|
416
|
+
const { runMcpServe } = await import('./serve-B48JttQ3.mjs');
|
|
417
417
|
await runMcpServe();
|
|
418
418
|
} catch (error) {
|
|
419
419
|
process.stderr.write(`[happy-mcp] fatal: ${error instanceof Error ? error.message : "unknown error"}
|
|
@@ -427,15 +427,15 @@ async function spawnAndWaitForDaemon() {
|
|
|
427
427
|
console.error(chalk.red("Error:"), 'Not authenticated. Run "happy auth" first.');
|
|
428
428
|
process.exit(1);
|
|
429
429
|
}
|
|
430
|
-
const { parseSshArgs, runOnDevice, sshDevice, sshPickAndConnect } = await import('./ssh-
|
|
431
|
-
const { target, command, timeoutMs } = parseSshArgs(args.slice(1));
|
|
430
|
+
const { parseSshArgs, runOnDevice, sshDevice, sshPickAndConnect } = await import('./ssh-q5uZhqBf.mjs');
|
|
431
|
+
const { target, command, timeoutMs, stream } = parseSshArgs(args.slice(1));
|
|
432
432
|
try {
|
|
433
433
|
if (command) {
|
|
434
434
|
if (!target) {
|
|
435
435
|
console.error(chalk.red("Error:"), "Which device? Usage: happy ssh <device> -- <command>");
|
|
436
436
|
process.exit(1);
|
|
437
437
|
}
|
|
438
|
-
process.exit(await runOnDevice(credentials, target, command, { timeoutMs }));
|
|
438
|
+
process.exit(await runOnDevice(credentials, target, command, { timeoutMs, stream }));
|
|
439
439
|
}
|
|
440
440
|
if (!target) {
|
|
441
441
|
process.exit(await sshPickAndConnect(credentials));
|
|
@@ -448,8 +448,8 @@ async function spawnAndWaitForDaemon() {
|
|
|
448
448
|
} else if (subcommand === "device") {
|
|
449
449
|
const deviceSubcommand = args[1];
|
|
450
450
|
if (deviceSubcommand === "enroll") {
|
|
451
|
-
const { enrollDevice } = await import('./enroll-
|
|
452
|
-
const { install } = await import('./install-
|
|
451
|
+
const { enrollDevice } = await import('./enroll-B55BQR56.mjs');
|
|
452
|
+
const { install } = await import('./install-B1e6rdy7.mjs');
|
|
453
453
|
const token = args[2];
|
|
454
454
|
if (!token) {
|
|
455
455
|
console.error(chalk.red("Error:"), "Missing enrollment token. Usage: happy device enroll <token>");
|
|
@@ -478,12 +478,12 @@ ${chalk.bold("Usage:")}
|
|
|
478
478
|
`);
|
|
479
479
|
process.exit(0);
|
|
480
480
|
} else if (subcommand === "daemon") {
|
|
481
|
-
const { startDaemon } = await import('./run-
|
|
482
|
-
const { install } = await import('./install-
|
|
483
|
-
const { uninstall } = await import('./uninstall-
|
|
484
|
-
const { runDoctorCommand } = await import('./doctor-
|
|
485
|
-
const { getLatestDaemonLog } = await import('./persistence-
|
|
486
|
-
const { listDaemonSessions, stopDaemonSession, stopDaemon } = await import('./controlClient-
|
|
481
|
+
const { startDaemon } = await import('./run-BVZsMNwN.mjs').then(function (n) { return n.r; });
|
|
482
|
+
const { install } = await import('./install-B1e6rdy7.mjs');
|
|
483
|
+
const { uninstall } = await import('./uninstall-Dxf6_4mQ.mjs');
|
|
484
|
+
const { runDoctorCommand } = await import('./doctor-CU4JLGQ1.mjs');
|
|
485
|
+
const { getLatestDaemonLog } = await import('./persistence-DKfF81pd.mjs').then(function (n) { return n.E; });
|
|
486
|
+
const { listDaemonSessions, stopDaemonSession, stopDaemon } = await import('./controlClient-DB5tDU7V.mjs');
|
|
487
487
|
const daemonSubcommand = args[1];
|
|
488
488
|
if (daemonSubcommand === "list") {
|
|
489
489
|
try {
|
|
@@ -688,7 +688,7 @@ ${chalk.gray("\u2500".repeat(60))}
|
|
|
688
688
|
${chalk.bold.cyan("Claude Code Options (from `claude --help`):")}
|
|
689
689
|
`);
|
|
690
690
|
try {
|
|
691
|
-
const { claudeCliPath } = await import('./claudeLocal-
|
|
691
|
+
const { claudeCliPath } = await import('./claudeLocal-CWNGpJ0-.mjs').then(function (n) { return n.d; });
|
|
692
692
|
const claudeHelp = execFileSync(claudeCliPath, ["--help"], { encoding: "utf8" });
|
|
693
693
|
console.log(claudeHelp);
|
|
694
694
|
} catch (e) {
|
|
@@ -718,10 +718,10 @@ ${chalk.bold.cyan("Claude Code Options (from `claude --help`):")}
|
|
|
718
718
|
}
|
|
719
719
|
process.exit(0);
|
|
720
720
|
}
|
|
721
|
-
const { authAndSetupMachineIfNeeded } = await import('./auth-
|
|
722
|
-
const { isDaemonRunningCurrentlyInstalledHappyVersion } = await import('./controlClient-
|
|
723
|
-
const { spawnHappyCLI } = await import('./spawnHappyCLI-
|
|
724
|
-
const { runClaude } = await import('./runClaude-
|
|
721
|
+
const { authAndSetupMachineIfNeeded } = await import('./auth-DxJ3VvrX.mjs');
|
|
722
|
+
const { isDaemonRunningCurrentlyInstalledHappyVersion } = await import('./controlClient-DB5tDU7V.mjs');
|
|
723
|
+
const { spawnHappyCLI } = await import('./spawnHappyCLI-yBIP_Oqi.mjs').then(function (n) { return n.a; });
|
|
724
|
+
const { runClaude } = await import('./runClaude-6Gi0sYQy.mjs');
|
|
725
725
|
const {
|
|
726
726
|
credentials
|
|
727
727
|
} = await authAndSetupMachineIfNeeded();
|
|
@@ -795,7 +795,7 @@ ${chalk.bold("Examples:")}
|
|
|
795
795
|
}
|
|
796
796
|
console.log(chalk.blue("\u{1F4F1} Sending push notification..."));
|
|
797
797
|
try {
|
|
798
|
-
const { ApiClient } = await import('./api-
|
|
798
|
+
const { ApiClient } = await import('./api-D6WL40-U.mjs').then(function (n) { return n.m; });
|
|
799
799
|
const api = await ApiClient.create(credentials);
|
|
800
800
|
const notificationTitle = title || "Happy AI";
|
|
801
801
|
api.push().sendToAllDevices(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { l as logger, r as readCredentials } from './persistence-
|
|
2
|
-
import { i as install$2 } from './install-
|
|
1
|
+
import { l as logger, r as readCredentials } from './persistence-DKfF81pd.mjs';
|
|
2
|
+
import { i as install$2 } from './install-CgUPGIoF.mjs';
|
|
3
3
|
import { existsSync, mkdirSync, writeFileSync } from 'fs';
|
|
4
4
|
import { execSync } from 'child_process';
|
|
5
5
|
import path from 'path';
|
|
@@ -2,7 +2,7 @@ import { existsSync, mkdirSync, writeFileSync } from 'fs';
|
|
|
2
2
|
import { execSync } from 'child_process';
|
|
3
3
|
import os from 'os';
|
|
4
4
|
import { join } from 'path';
|
|
5
|
-
import { l as logger } from './persistence-
|
|
5
|
+
import { l as logger } from './persistence-DKfF81pd.mjs';
|
|
6
6
|
import { t as trimIdent } from './trimIdent-BAjmv_TG.mjs';
|
|
7
7
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
8
8
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var logger = require('./persistence-
|
|
4
|
-
var install$2 = require('./install-
|
|
3
|
+
var logger = require('./persistence-CBTtC_dm.cjs');
|
|
4
|
+
var install$2 = require('./install-DSDufaPd.cjs');
|
|
5
5
|
var fs = require('fs');
|
|
6
6
|
var child_process = require('child_process');
|
|
7
7
|
var path = require('path');
|
|
@@ -4,7 +4,7 @@ var fs = require('fs');
|
|
|
4
4
|
var child_process = require('child_process');
|
|
5
5
|
var os = require('os');
|
|
6
6
|
var path = require('path');
|
|
7
|
-
var logger = require('./persistence-
|
|
7
|
+
var logger = require('./persistence-CBTtC_dm.cjs');
|
|
8
8
|
var trimIdent = require('./trimIdent-4gvk9Wk6.cjs');
|
|
9
9
|
var projectPath = require('./projectPath-ChLhdOyt.cjs');
|
|
10
10
|
|
package/dist/lib.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var api = require('./api-
|
|
4
|
-
var logger = require('./persistence-
|
|
3
|
+
var api = require('./api-C7FyJfZ1.cjs');
|
|
4
|
+
var logger = require('./persistence-CBTtC_dm.cjs');
|
|
5
5
|
var types = require('./types-DWeB7aqh.cjs');
|
|
6
6
|
require('axios');
|
|
7
7
|
require('node:events');
|
|
@@ -30,7 +30,7 @@ require('tweetnacl');
|
|
|
30
30
|
require('@stablelib/base64');
|
|
31
31
|
require('node:readline');
|
|
32
32
|
require('expo-server-sdk');
|
|
33
|
-
require('./sessionKeyCache-
|
|
33
|
+
require('./sessionKeyCache-CDmexJ9p.cjs');
|
|
34
34
|
require('chalk');
|
|
35
35
|
require('fs');
|
|
36
36
|
|
package/dist/lib.d.cts
CHANGED
|
@@ -1606,6 +1606,80 @@ type SpawnSessionResult = {
|
|
|
1606
1606
|
* Similar to ApiSessionClient but for machine-scoped connections
|
|
1607
1607
|
*/
|
|
1608
1608
|
|
|
1609
|
+
interface ServerToDaemonEvents {
|
|
1610
|
+
update: (data: Update) => void;
|
|
1611
|
+
'rpc-request': (data: {
|
|
1612
|
+
method: string;
|
|
1613
|
+
params: string;
|
|
1614
|
+
}, callback: (response: string) => void) => void;
|
|
1615
|
+
'rpc-registered': (data: {
|
|
1616
|
+
method: string;
|
|
1617
|
+
}) => void;
|
|
1618
|
+
'rpc-unregistered': (data: {
|
|
1619
|
+
method: string;
|
|
1620
|
+
}) => void;
|
|
1621
|
+
'rpc-error': (data: {
|
|
1622
|
+
type: string;
|
|
1623
|
+
error: string;
|
|
1624
|
+
}) => void;
|
|
1625
|
+
auth: (data: {
|
|
1626
|
+
success: boolean;
|
|
1627
|
+
user: string;
|
|
1628
|
+
}) => void;
|
|
1629
|
+
error: (data: {
|
|
1630
|
+
message: string;
|
|
1631
|
+
}) => void;
|
|
1632
|
+
}
|
|
1633
|
+
interface DaemonToServerEvents {
|
|
1634
|
+
'machine-alive': (data: {
|
|
1635
|
+
machineId: string;
|
|
1636
|
+
time: number;
|
|
1637
|
+
}) => void;
|
|
1638
|
+
'machine-update-metadata': (data: {
|
|
1639
|
+
machineId: string;
|
|
1640
|
+
metadata: string;
|
|
1641
|
+
expectedVersion: number;
|
|
1642
|
+
}, cb: (answer: {
|
|
1643
|
+
result: 'error';
|
|
1644
|
+
} | {
|
|
1645
|
+
result: 'version-mismatch';
|
|
1646
|
+
version: number;
|
|
1647
|
+
metadata: string;
|
|
1648
|
+
} | {
|
|
1649
|
+
result: 'success';
|
|
1650
|
+
version: number;
|
|
1651
|
+
metadata: string;
|
|
1652
|
+
}) => void) => void;
|
|
1653
|
+
'machine-update-state': (data: {
|
|
1654
|
+
machineId: string;
|
|
1655
|
+
daemonState: string;
|
|
1656
|
+
expectedVersion: number;
|
|
1657
|
+
}, cb: (answer: {
|
|
1658
|
+
result: 'error';
|
|
1659
|
+
} | {
|
|
1660
|
+
result: 'version-mismatch';
|
|
1661
|
+
version: number;
|
|
1662
|
+
daemonState: string;
|
|
1663
|
+
} | {
|
|
1664
|
+
result: 'success';
|
|
1665
|
+
version: number;
|
|
1666
|
+
daemonState: string;
|
|
1667
|
+
}) => void) => void;
|
|
1668
|
+
'rpc-register': (data: {
|
|
1669
|
+
method: string;
|
|
1670
|
+
}) => void;
|
|
1671
|
+
'rpc-unregister': (data: {
|
|
1672
|
+
method: string;
|
|
1673
|
+
}) => void;
|
|
1674
|
+
'rpc-call': (data: {
|
|
1675
|
+
method: string;
|
|
1676
|
+
params: any;
|
|
1677
|
+
}, callback: (response: {
|
|
1678
|
+
ok: boolean;
|
|
1679
|
+
result?: any;
|
|
1680
|
+
error?: string;
|
|
1681
|
+
}) => void) => void;
|
|
1682
|
+
}
|
|
1609
1683
|
type MachineRpcHandlers = {
|
|
1610
1684
|
spawnSession: (options: SpawnSessionOptions) => Promise<SpawnSessionResult>;
|
|
1611
1685
|
stopSession: (sessionId: string) => boolean;
|
|
@@ -1641,6 +1715,9 @@ declare class ApiMachineClient {
|
|
|
1641
1715
|
private machine;
|
|
1642
1716
|
private currentRuntimeDaemonState?;
|
|
1643
1717
|
private socket;
|
|
1718
|
+
/** The daemon's live connection. Reused for device RPC so a CLI command does
|
|
1719
|
+
* not spend ~500ms building its own TLS + WebSocket handshake. */
|
|
1720
|
+
get rpcSocket(): Socket<ServerToDaemonEvents, DaemonToServerEvents>;
|
|
1644
1721
|
private keepAliveInterval;
|
|
1645
1722
|
private rpcHandlerManager;
|
|
1646
1723
|
private claudeCache;
|