camelagi 0.5.23 → 0.5.24
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/cli/cmd-update.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// CLI command: camel update — update via npm with progress bar
|
|
2
2
|
import { register } from "./registry.js";
|
|
3
3
|
import { VERSION } from "../core/version.js";
|
|
4
|
-
import { exec,
|
|
4
|
+
import { exec, execFile } from "node:child_process";
|
|
5
5
|
function run(cmd) {
|
|
6
6
|
return new Promise((resolve, reject) => {
|
|
7
7
|
exec(cmd, { encoding: "utf-8" }, (err, stdout) => {
|
|
@@ -21,47 +21,43 @@ function progressBar(percent, width = 30) {
|
|
|
21
21
|
}
|
|
22
22
|
function installWithProgress(pkg) {
|
|
23
23
|
return new Promise((resolve, reject) => {
|
|
24
|
-
const child = spawn("npm", ["i", "-g", `${pkg}@latest`], {
|
|
25
|
-
stdio: ["ignore", "pipe", "pipe"],
|
|
26
|
-
shell: true,
|
|
27
|
-
});
|
|
28
|
-
// Simulate progress based on npm lifecycle phases
|
|
29
24
|
let phase = 0;
|
|
30
25
|
const phases = [
|
|
31
|
-
{ pct: 0.
|
|
32
|
-
{ pct: 0.
|
|
26
|
+
{ pct: 0.10, label: "Resolving..." },
|
|
27
|
+
{ pct: 0.25, label: "Downloading..." },
|
|
28
|
+
{ pct: 0.45, label: "Downloading..." },
|
|
33
29
|
{ pct: 0.60, label: "Extracting..." },
|
|
34
|
-
{ pct: 0.
|
|
30
|
+
{ pct: 0.75, label: "Linking..." },
|
|
31
|
+
{ pct: 0.85, label: "Linking..." },
|
|
35
32
|
{ pct: 0.95, label: "Finalizing..." },
|
|
36
33
|
];
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
const draw = (pct, label) => {
|
|
35
|
+
process.stdout.write(`\r${progressBar(pct)} ${g}${label}${x} `);
|
|
36
|
+
};
|
|
37
|
+
draw(0.02, "Starting...");
|
|
38
|
+
// Smooth progress on timer
|
|
39
|
+
const timer = setInterval(() => {
|
|
39
40
|
if (phase < phases.length) {
|
|
40
41
|
const p = phases[phase];
|
|
41
|
-
|
|
42
|
+
draw(p.pct, p.label);
|
|
42
43
|
phase++;
|
|
43
44
|
}
|
|
44
|
-
};
|
|
45
|
-
//
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const timer = setInterval(() => {
|
|
51
|
-
advance();
|
|
52
|
-
}, 800);
|
|
53
|
-
child.on("close", (code) => {
|
|
45
|
+
}, 600);
|
|
46
|
+
// Use execFile with npm path to avoid shell: true deprecation
|
|
47
|
+
execFile("npm", ["i", "-g", `${pkg}@latest`], {
|
|
48
|
+
timeout: 120_000,
|
|
49
|
+
maxBuffer: 1024 * 1024,
|
|
50
|
+
}, (err) => {
|
|
54
51
|
clearInterval(timer);
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
if (err) {
|
|
53
|
+
process.stdout.write(`\r${" ".repeat(70)}\r`);
|
|
54
|
+
reject(err);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
draw(1, "");
|
|
58
|
+
process.stdout.write(`\r${progressBar(1)} ${gr}Done${x} \n`);
|
|
57
59
|
resolve();
|
|
58
|
-
|
|
59
|
-
reject(new Error(`npm exited with code ${code}`));
|
|
60
|
-
});
|
|
61
|
-
child.on("error", (err) => {
|
|
62
|
-
clearInterval(timer);
|
|
63
|
-
process.stdout.write("\r" + " ".repeat(60) + "\r");
|
|
64
|
-
reject(err);
|
|
60
|
+
}
|
|
65
61
|
});
|
|
66
62
|
});
|
|
67
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmd-update.js","sourceRoot":"","sources":["../../src/cli/cmd-update.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"cmd-update.js","sourceRoot":"","sources":["../../src/cli/cmd-update.ts"],"names":[],"mappings":"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"}
|
package/dist/core/version.js
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
// /exit → end session
|
|
6
6
|
import { spawn, execSync } from "node:child_process";
|
|
7
7
|
import { createInterface } from "node:readline";
|
|
8
|
-
import { loadConfig } from "../core/config.js";
|
|
9
8
|
// ─── State ─────────────────────────────────────────────────────────────
|
|
10
9
|
const sessions = new Map();
|
|
11
10
|
// ─── Detection ─────────────────────────────────────────────────────────
|
|
@@ -49,15 +48,8 @@ export async function handleTerminalMessage(chatId, text, onEvent) {
|
|
|
49
48
|
if (session.sessionId) {
|
|
50
49
|
args.push("-r", session.sessionId);
|
|
51
50
|
}
|
|
52
|
-
// Pass API key from CamelAGI config so Claude Code can authenticate
|
|
53
|
-
const config = loadConfig();
|
|
54
|
-
const env = { ...process.env };
|
|
55
|
-
if (config.apiKey) {
|
|
56
|
-
env.ANTHROPIC_API_KEY = config.apiKey;
|
|
57
|
-
}
|
|
58
51
|
const child = spawn("claude", args, {
|
|
59
52
|
cwd: session.workDir,
|
|
60
|
-
env,
|
|
61
53
|
stdio: ["ignore", "pipe", "pipe"],
|
|
62
54
|
});
|
|
63
55
|
let result = "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/telegram/terminal.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,2DAA2D;AAC3D,oEAAoE;AACpE,sBAAsB;AAEtB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/telegram/terminal.ts"],"names":[],"mappings":"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"}
|