@inetafrica/open-claudia 1.9.1 → 1.9.2
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/CHANGELOG.md +38 -0
- package/bot-agent.js +15 -2
- package/bot.js +16 -2
- package/package.json +3 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## v1.9.2
|
|
4
|
+
- Fix: show what's new after upgrade
|
|
5
|
+
- Startup message shows version
|
|
6
|
+
|
|
7
|
+
## v1.9.1
|
|
8
|
+
- Fix: duplicate messages — progress message now edited instead of sending a second copy
|
|
9
|
+
|
|
10
|
+
## v1.9.0
|
|
11
|
+
- Force password change on first web UI login
|
|
12
|
+
- Password complexity requirements (12+ chars, uppercase, lowercase, number, symbol)
|
|
13
|
+
|
|
14
|
+
## v1.8.1
|
|
15
|
+
- Web UI accepts WEB_PASSWORD env var for managed deployments
|
|
16
|
+
- Config API whitelist (only safe keys editable)
|
|
17
|
+
- Stronger password entropy (32 chars)
|
|
18
|
+
|
|
19
|
+
## v1.7.4
|
|
20
|
+
- Run as non-root user in Docker (Claude Code security requirement)
|
|
21
|
+
- Numeric UID 1001 for K8s compatibility
|
|
22
|
+
|
|
23
|
+
## v1.6.0
|
|
24
|
+
- Agent mode: non-blocking side conversations while tasks run
|
|
25
|
+
- /mode command to switch between direct and agent modes
|
|
26
|
+
|
|
27
|
+
## v1.5.0
|
|
28
|
+
- Robust message delivery with retry on replyTo failure
|
|
29
|
+
- Adaptive rate limiting (2s -> 5s) to avoid Telegram 429 errors
|
|
30
|
+
- Global error handling with Telegram notification on crash
|
|
31
|
+
- editMessage handles rate limits gracefully
|
|
32
|
+
|
|
33
|
+
## v1.4.5
|
|
34
|
+
- Streaming progress with tool names and elapsed time
|
|
35
|
+
- Voice note transcription via whisper.cpp
|
|
36
|
+
- File and image handling
|
|
37
|
+
- Cron jobs for scheduled tasks
|
|
38
|
+
- Encrypted vault for credentials
|
package/bot-agent.js
CHANGED
|
@@ -1018,10 +1018,23 @@ bot.onText(/\/upgrade$/, async (msg) => {
|
|
|
1018
1018
|
cwd: process.env.HOME || require("os").homedir(),
|
|
1019
1019
|
env: { ...process.env, PATH: FULL_PATH, HOME: process.env.HOME || require("os").homedir() },
|
|
1020
1020
|
});
|
|
1021
|
-
// Read version from newly installed package
|
|
1021
|
+
// Read version and changelog from newly installed package
|
|
1022
1022
|
const root = execSync("npm root -g", { encoding: "utf-8", cwd: process.env.HOME || require("os").homedir(), env: { ...process.env, PATH: FULL_PATH } }).trim();
|
|
1023
1023
|
const newPkg = JSON.parse(fs.readFileSync(path.join(root, "@inetafrica", "open-claudia", "package.json"), "utf-8"));
|
|
1024
|
-
|
|
1024
|
+
let whatsNew = "";
|
|
1025
|
+
try {
|
|
1026
|
+
const changelog = fs.readFileSync(path.join(root, "@inetafrica", "open-claudia", "CHANGELOG.md"), "utf-8");
|
|
1027
|
+
const versionHeader = `## v${newPkg.version}`;
|
|
1028
|
+
const start = changelog.indexOf(versionHeader);
|
|
1029
|
+
if (start >= 0) {
|
|
1030
|
+
const afterHeader = changelog.slice(start + versionHeader.length);
|
|
1031
|
+
const nextVersion = afterHeader.indexOf("\n## ");
|
|
1032
|
+
const section = nextVersion >= 0 ? afterHeader.slice(0, nextVersion) : afterHeader;
|
|
1033
|
+
whatsNew = section.trim();
|
|
1034
|
+
}
|
|
1035
|
+
} catch (e) { /* no changelog */ }
|
|
1036
|
+
const msg = `Installed v${newPkg.version}.${whatsNew ? `\n\nWhat's new:\n${whatsNew}` : ""}\n\nGoing offline to restart...`;
|
|
1037
|
+
await send(msg);
|
|
1025
1038
|
} catch (e) {
|
|
1026
1039
|
const errOutput = (e.stdout || e.stderr || e.message || "").slice(-500);
|
|
1027
1040
|
await send(`Upgrade failed:\n${errOutput}`);
|
package/bot.js
CHANGED
|
@@ -1060,10 +1060,24 @@ bot.onText(/\/upgrade$/, async (msg) => {
|
|
|
1060
1060
|
cwd: process.env.HOME || require("os").homedir(),
|
|
1061
1061
|
env: { ...process.env, PATH: FULL_PATH, HOME: process.env.HOME || require("os").homedir() },
|
|
1062
1062
|
});
|
|
1063
|
-
// Read version from newly installed package
|
|
1063
|
+
// Read version and changelog from newly installed package
|
|
1064
1064
|
const root = execSync("npm root -g", { encoding: "utf-8", cwd: process.env.HOME || require("os").homedir(), env: { ...process.env, PATH: FULL_PATH } }).trim();
|
|
1065
1065
|
const newPkg = JSON.parse(fs.readFileSync(path.join(root, "@inetafrica", "open-claudia", "package.json"), "utf-8"));
|
|
1066
|
-
|
|
1066
|
+
// Extract current version's changelog entry
|
|
1067
|
+
let whatsNew = "";
|
|
1068
|
+
try {
|
|
1069
|
+
const changelog = fs.readFileSync(path.join(root, "@inetafrica", "open-claudia", "CHANGELOG.md"), "utf-8");
|
|
1070
|
+
const versionHeader = `## v${newPkg.version}`;
|
|
1071
|
+
const start = changelog.indexOf(versionHeader);
|
|
1072
|
+
if (start >= 0) {
|
|
1073
|
+
const afterHeader = changelog.slice(start + versionHeader.length);
|
|
1074
|
+
const nextVersion = afterHeader.indexOf("\n## ");
|
|
1075
|
+
const section = nextVersion >= 0 ? afterHeader.slice(0, nextVersion) : afterHeader;
|
|
1076
|
+
whatsNew = section.trim();
|
|
1077
|
+
}
|
|
1078
|
+
} catch (e) { /* no changelog */ }
|
|
1079
|
+
const msg = `Installed v${newPkg.version}.${whatsNew ? `\n\nWhat's new:\n${whatsNew}` : ""}\n\nGoing offline to restart...`;
|
|
1080
|
+
await send(msg);
|
|
1067
1081
|
} catch (e) {
|
|
1068
1082
|
const errOutput = (e.stdout || e.stderr || e.message || "").slice(-500);
|
|
1069
1083
|
await send(`Upgrade failed:\n${errOutput}`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inetafrica/open-claudia",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.2",
|
|
4
4
|
"description": "Your always-on AI coding assistant — Claude Code via Telegram",
|
|
5
5
|
"main": "bot.js",
|
|
6
6
|
"bin": {
|
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
"docker-entrypoint.sh",
|
|
26
26
|
".dockerignore",
|
|
27
27
|
".env.example",
|
|
28
|
-
"README.md"
|
|
28
|
+
"README.md",
|
|
29
|
+
"CHANGELOG.md"
|
|
29
30
|
],
|
|
30
31
|
"keywords": [
|
|
31
32
|
"claude",
|