visionclaw 0.1.26 → 0.1.28
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 +232 -0
- package/dist/agent/context.d.ts +2 -0
- package/dist/agent/context.d.ts.map +1 -1
- package/dist/agent/context.js +12 -1
- package/dist/agent/context.js.map +1 -1
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +40 -14
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/system-prompt.d.ts.map +1 -1
- package/dist/agent/system-prompt.js +4 -3
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/drive/google-drive.d.ts +82 -0
- package/dist/drive/google-drive.d.ts.map +1 -0
- package/dist/drive/google-drive.js +190 -0
- package/dist/drive/google-drive.js.map +1 -0
- package/dist/obs/ui.js +4 -4
- package/dist/onboarding/google-auth.js +1 -1
- package/dist/onboarding/google-auth.js.map +1 -1
- package/dist/tools/drive.d.ts +29 -0
- package/dist/tools/drive.d.ts.map +1 -0
- package/dist/tools/drive.js +363 -0
- package/dist/tools/drive.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/sleep-interval.d.ts +5 -0
- package/dist/tools/sleep-interval.d.ts.map +1 -0
- package/dist/tools/sleep-interval.js +25 -0
- package/dist/tools/sleep-interval.js.map +1 -0
- package/dist/tools/upgrade.d.ts.map +1 -1
- package/dist/tools/upgrade.js +9 -32
- package/dist/tools/upgrade.js.map +1 -1
- package/dist/tools/version-check.d.ts +25 -0
- package/dist/tools/version-check.d.ts.map +1 -0
- package/dist/tools/version-check.js +164 -0
- package/dist/tools/version-check.js.map +1 -0
- package/package.json +7 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drive.js","sourceRoot":"","sources":["../../src/tools/drive.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAqBpE;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAwBxE"}
|
package/dist/tools/index.js
CHANGED
|
@@ -9,6 +9,8 @@ import { manageCalendarTool } from "./calendar.js";
|
|
|
9
9
|
import { manageEmailTool } from "./email.js";
|
|
10
10
|
import { memoryTool } from "./memory.js";
|
|
11
11
|
import { browserTool } from "./browser.js";
|
|
12
|
+
import { setSleepIntervalTool } from "./sleep-interval.js";
|
|
13
|
+
import { manageDriveTool } from "./drive.js";
|
|
12
14
|
import { computerUseClickTool, computerUseScrollTool, computerUseDragTool, computerUseTypeTool, computerUseKeyTool, } from "./computer-use.js";
|
|
13
15
|
/**
|
|
14
16
|
* Create the in-process MCP server that provides all
|
|
@@ -27,6 +29,7 @@ export function createToolServer() {
|
|
|
27
29
|
upgradeTool,
|
|
28
30
|
manageCalendarTool,
|
|
29
31
|
manageEmailTool,
|
|
32
|
+
manageDriveTool,
|
|
30
33
|
memoryTool,
|
|
31
34
|
browserTool,
|
|
32
35
|
computerUseClickTool,
|
|
@@ -34,6 +37,7 @@ export function createToolServer() {
|
|
|
34
37
|
computerUseDragTool,
|
|
35
38
|
computerUseTypeTool,
|
|
36
39
|
computerUseKeyTool,
|
|
40
|
+
setSleepIntervalTool,
|
|
37
41
|
],
|
|
38
42
|
});
|
|
39
43
|
}
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,kBAAkB,CAAC;QACxB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE;YACL,QAAQ;YACR,cAAc;YACd,UAAU;YACV,cAAc;YACd,gBAAgB;YAChB,WAAW;YACX,kBAAkB;YAClB,eAAe;YACf,UAAU;YACV,WAAW;YACX,oBAAoB;YACpB,qBAAqB;YACrB,mBAAmB;YACnB,mBAAmB;YACnB,kBAAkB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,kBAAkB,CAAC;QACxB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE;YACL,QAAQ;YACR,cAAc;YACd,UAAU;YACV,cAAc;YACd,gBAAgB;YAChB,WAAW;YACX,kBAAkB;YAClB,eAAe;YACf,eAAe;YACf,UAAU;YACV,WAAW;YACX,oBAAoB;YACpB,qBAAqB;YACrB,mBAAmB;YACnB,mBAAmB;YACnB,kBAAkB;YAClB,oBAAoB;SACrB;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleep-interval.d.ts","sourceRoot":"","sources":["../../src/tools/sleep-interval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,oBAAoB;;EAwBhC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { tool } from "@anthropic-ai/claude-agent-sdk";
|
|
3
|
+
import { getAgentState } from "../agent/loop.js";
|
|
4
|
+
import { saveConfig } from "../config/index.js";
|
|
5
|
+
export const setSleepIntervalTool = tool("set_sleep_interval", "Change how long the agent sleeps between heartbeat wake-ups. Use this when the user asks you to sleep longer or shorter, or to change the check-in frequency.", {
|
|
6
|
+
minutes: z
|
|
7
|
+
.number()
|
|
8
|
+
.min(1)
|
|
9
|
+
.max(1440)
|
|
10
|
+
.describe("Sleep interval in minutes (1-1440, i.e. up to 24 hours)"),
|
|
11
|
+
}, async (args) => {
|
|
12
|
+
const state = await Promise.resolve(getAgentState());
|
|
13
|
+
const oldMs = state.config.heartbeatIntervalMs;
|
|
14
|
+
state.config.heartbeatIntervalMs = args.minutes * 60 * 1000;
|
|
15
|
+
saveConfig(state.config);
|
|
16
|
+
return {
|
|
17
|
+
content: [
|
|
18
|
+
{
|
|
19
|
+
type: "text",
|
|
20
|
+
text: `Sleep interval changed from ${oldMs / 60000}m to ${args.minutes}m (saved to config).`,
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=sleep-interval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleep-interval.js","sourceRoot":"","sources":["../../src/tools/sleep-interval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CACtC,oBAAoB,EACpB,+JAA+J,EAC/J;IACE,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,yDAAyD,CAAC;CACvE,EACD,KAAK,EAAE,IAAI,EAA2B,EAAE;IACtC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAC/C,KAAK,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5D,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,+BAA+B,KAAK,GAAG,KAAK,QAAQ,IAAI,CAAC,OAAO,sBAAsB;aAC7F;SACF;KACF,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/tools/upgrade.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA+
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/tools/upgrade.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA+DxB,eAAO,MAAM,WAAW;;EAuHvB,CAAC"}
|
package/dist/tools/upgrade.js
CHANGED
|
@@ -2,26 +2,10 @@ import { exec } from "node:child_process";
|
|
|
2
2
|
import { promisify } from "node:util";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { tool } from "@anthropic-ai/claude-agent-sdk";
|
|
5
|
-
import
|
|
6
|
-
import path from "node:path";
|
|
5
|
+
import { getCurrentVersion, getLatestNpmVersion, compareSemver, fetchChangelogFromNpm, } from "./version-check.js";
|
|
7
6
|
const execAsync = promisify(exec);
|
|
8
7
|
const PACKAGE_NAME = "visionclaw";
|
|
9
8
|
const RESTART_DELAY = 10_000;
|
|
10
|
-
const PACKAGE_JSON_PATH = path.resolve(new URL(".", import.meta.url).pathname, "../../package.json");
|
|
11
|
-
function compareSemver(a, b) {
|
|
12
|
-
const parse = (v) => v.split(".").map((x) => parseInt(x, 10) || 0);
|
|
13
|
-
const [aMaj, aMin, aPatch] = parse(a);
|
|
14
|
-
const [bMaj, bMin, bPatch] = parse(b);
|
|
15
|
-
if (aMaj !== bMaj)
|
|
16
|
-
return aMaj - bMaj;
|
|
17
|
-
if (aMin !== bMin)
|
|
18
|
-
return aMin - bMin;
|
|
19
|
-
return aPatch - bPatch;
|
|
20
|
-
}
|
|
21
|
-
async function getLatestNpmVersion() {
|
|
22
|
-
const { stdout } = await execAsync(`npm show ${PACKAGE_NAME} version --json`);
|
|
23
|
-
return JSON.parse(stdout.trim());
|
|
24
|
-
}
|
|
25
9
|
async function detectPackageManager() {
|
|
26
10
|
try {
|
|
27
11
|
const { stdout } = await execAsync(`pnpm list -g --json ${PACKAGE_NAME} 2>/dev/null`);
|
|
@@ -63,16 +47,7 @@ export const upgradeTool = tool("upgrade", "Check for new versions of VisionClaw
|
|
|
63
47
|
.describe("If true, only check for updates without installing"),
|
|
64
48
|
}, async (args) => {
|
|
65
49
|
try {
|
|
66
|
-
|
|
67
|
-
let currentVersion = "0.0.0";
|
|
68
|
-
try {
|
|
69
|
-
const pkg = JSON.parse(fs.readFileSync(PACKAGE_JSON_PATH, "utf-8"));
|
|
70
|
-
currentVersion = pkg.version ?? "0.0.0";
|
|
71
|
-
}
|
|
72
|
-
catch {
|
|
73
|
-
// Ignore
|
|
74
|
-
}
|
|
75
|
-
// Check latest version from npm registry
|
|
50
|
+
const currentVersion = getCurrentVersion();
|
|
76
51
|
let latestVersion;
|
|
77
52
|
try {
|
|
78
53
|
latestVersion = await getLatestNpmVersion();
|
|
@@ -98,12 +73,16 @@ export const upgradeTool = tool("upgrade", "Check for new versions of VisionClaw
|
|
|
98
73
|
],
|
|
99
74
|
};
|
|
100
75
|
}
|
|
76
|
+
const changelog = await fetchChangelogFromNpm(latestVersion, currentVersion);
|
|
77
|
+
const changelogSection = changelog
|
|
78
|
+
? `\n\nChanges in ${latestVersion}:\n${changelog}`
|
|
79
|
+
: "";
|
|
101
80
|
if (args.check_only) {
|
|
102
81
|
return {
|
|
103
82
|
content: [
|
|
104
83
|
{
|
|
105
84
|
type: "text",
|
|
106
|
-
text: `Update available: ${currentVersion} → ${latestVersion}`,
|
|
85
|
+
text: `Update available: ${currentVersion} → ${latestVersion}${changelogSection}`,
|
|
107
86
|
},
|
|
108
87
|
],
|
|
109
88
|
};
|
|
@@ -115,10 +94,6 @@ export const upgradeTool = tool("upgrade", "Check for new versions of VisionClaw
|
|
|
115
94
|
: `npm install -g ${PACKAGE_NAME}@latest`;
|
|
116
95
|
const { stdout: installOut, stderr: installErr } = await execAsync(installCmd);
|
|
117
96
|
const installLog = (installOut + installErr).trim();
|
|
118
|
-
// Attempt automatic restart via process manager.
|
|
119
|
-
// The restart kills the current process, so we must return the tool result
|
|
120
|
-
// first and schedule the restart after a delay to allow the response to
|
|
121
|
-
// propagate back to the user before the process exits.
|
|
122
97
|
const procManager = detectProcessManager();
|
|
123
98
|
if (procManager) {
|
|
124
99
|
setTimeout(() => {
|
|
@@ -131,6 +106,7 @@ export const upgradeTool = tool("upgrade", "Check for new versions of VisionClaw
|
|
|
131
106
|
text: [
|
|
132
107
|
`Upgraded from ${currentVersion} to ${latestVersion} via ${pm}.`,
|
|
133
108
|
installLog,
|
|
109
|
+
changelogSection,
|
|
134
110
|
`Restarting via ${procManager} in ${RESTART_DELAY / 1000} seconds...`,
|
|
135
111
|
]
|
|
136
112
|
.filter(Boolean)
|
|
@@ -146,6 +122,7 @@ export const upgradeTool = tool("upgrade", "Check for new versions of VisionClaw
|
|
|
146
122
|
text: [
|
|
147
123
|
`Upgraded from ${currentVersion} to ${latestVersion} via ${pm}.`,
|
|
148
124
|
installLog,
|
|
125
|
+
changelogSection,
|
|
149
126
|
"Please restart VisionClaw manually to run the new version.",
|
|
150
127
|
"Tip: run VisionClaw with PM2 (`pm2 start visionclaw --name visionclaw`) to enable automatic restarts after upgrades.",
|
|
151
128
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/tools/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAEtD,OAAO,
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/tools/upgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface VersionCheckResult {
|
|
2
|
+
currentVersion: string;
|
|
3
|
+
latestVersion: string;
|
|
4
|
+
hasUpdate: boolean;
|
|
5
|
+
changelog?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function getCurrentVersion(): string;
|
|
8
|
+
export declare function compareSemver(a: string, b: string): number;
|
|
9
|
+
export declare function getLatestNpmVersion(): Promise<string>;
|
|
10
|
+
/**
|
|
11
|
+
* Whether enough time has passed since the last notification for a given version.
|
|
12
|
+
* Returns true at most once per 24 hours per new version.
|
|
13
|
+
*/
|
|
14
|
+
export declare function shouldNotifyUpdate(): boolean;
|
|
15
|
+
export declare function recordUpdateNotification(version: string): void;
|
|
16
|
+
/**
|
|
17
|
+
* Fetch the CHANGELOG.md section for a specific version from unpkg CDN.
|
|
18
|
+
* Returns the changelog text for entries newer than `fromVersion`, or undefined on failure.
|
|
19
|
+
*/
|
|
20
|
+
export declare function fetchChangelogFromNpm(latestVersion: string, fromVersion: string): Promise<string | undefined>;
|
|
21
|
+
/**
|
|
22
|
+
* Full version check: queries npm, compares versions, fetches changelog.
|
|
23
|
+
*/
|
|
24
|
+
export declare function checkForUpdate(): Promise<VersionCheckResult>;
|
|
25
|
+
//# sourceMappingURL=version-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/tools/version-check.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD,wBAAgB,iBAAiB,IAAI,MAAM,CAS1C;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ1D;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAK3D;AAuBD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAQ5C;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAM9D;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAe7B;AA6DD;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAqBlE"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { exec } from "node:child_process";
|
|
2
|
+
import { promisify } from "node:util";
|
|
3
|
+
import fs from "node:fs";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import https from "node:https";
|
|
6
|
+
import { getConfigDir } from "../config/index.js";
|
|
7
|
+
import { logger } from "../logger.js";
|
|
8
|
+
const execAsync = promisify(exec);
|
|
9
|
+
const PACKAGE_NAME = "visionclaw";
|
|
10
|
+
const PACKAGE_JSON_PATH = path.resolve(new URL(".", import.meta.url).pathname, "../../package.json");
|
|
11
|
+
const CHECK_INTERVAL_MS = 24 * 60 * 60 * 1000; // 24 hours
|
|
12
|
+
const STATE_FILENAME = "version-check.json";
|
|
13
|
+
export function getCurrentVersion() {
|
|
14
|
+
try {
|
|
15
|
+
const pkg = JSON.parse(fs.readFileSync(PACKAGE_JSON_PATH, "utf-8"));
|
|
16
|
+
return pkg.version ?? "0.0.0";
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return "0.0.0";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export function compareSemver(a, b) {
|
|
23
|
+
const parse = (v) => v.split(".").map((x) => parseInt(x, 10) || 0);
|
|
24
|
+
const [aMaj, aMin, aPatch] = parse(a);
|
|
25
|
+
const [bMaj, bMin, bPatch] = parse(b);
|
|
26
|
+
if (aMaj !== bMaj)
|
|
27
|
+
return aMaj - bMaj;
|
|
28
|
+
if (aMin !== bMin)
|
|
29
|
+
return aMin - bMin;
|
|
30
|
+
return aPatch - bPatch;
|
|
31
|
+
}
|
|
32
|
+
export async function getLatestNpmVersion() {
|
|
33
|
+
const { stdout } = await execAsync(`npm show ${PACKAGE_NAME} version --json`);
|
|
34
|
+
return JSON.parse(stdout.trim());
|
|
35
|
+
}
|
|
36
|
+
function getStatePath() {
|
|
37
|
+
return path.join(getConfigDir(), STATE_FILENAME);
|
|
38
|
+
}
|
|
39
|
+
function loadState() {
|
|
40
|
+
try {
|
|
41
|
+
const raw = fs.readFileSync(getStatePath(), "utf-8");
|
|
42
|
+
return JSON.parse(raw);
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return { lastCheckAt: 0 };
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function saveState(state) {
|
|
49
|
+
try {
|
|
50
|
+
fs.writeFileSync(getStatePath(), JSON.stringify(state, null, 2), "utf-8");
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
// best-effort
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Whether enough time has passed since the last notification for a given version.
|
|
58
|
+
* Returns true at most once per 24 hours per new version.
|
|
59
|
+
*/
|
|
60
|
+
export function shouldNotifyUpdate() {
|
|
61
|
+
const state = loadState();
|
|
62
|
+
const elapsed = Date.now() - state.lastCheckAt;
|
|
63
|
+
const due = elapsed >= CHECK_INTERVAL_MS;
|
|
64
|
+
logger.debug(`Version check: last=${state.lastCheckAt ? new Date(state.lastCheckAt).toISOString() : "never"} elapsed=${Math.round(elapsed / 60000)}min due=${due}`);
|
|
65
|
+
return due;
|
|
66
|
+
}
|
|
67
|
+
export function recordUpdateNotification(version) {
|
|
68
|
+
logger.debug(`Version check: recording notification for v${version}`);
|
|
69
|
+
saveState({
|
|
70
|
+
lastCheckAt: Date.now(),
|
|
71
|
+
lastNotifiedVersion: version,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Fetch the CHANGELOG.md section for a specific version from unpkg CDN.
|
|
76
|
+
* Returns the changelog text for entries newer than `fromVersion`, or undefined on failure.
|
|
77
|
+
*/
|
|
78
|
+
export async function fetchChangelogFromNpm(latestVersion, fromVersion) {
|
|
79
|
+
try {
|
|
80
|
+
const url = `https://unpkg.com/${PACKAGE_NAME}@${latestVersion}/CHANGELOG.md`;
|
|
81
|
+
logger.debug(`Version check: fetching changelog from ${url}`);
|
|
82
|
+
const body = await httpGet(url);
|
|
83
|
+
logger.debug(`Version check: fetched changelog (${body.length} bytes)`);
|
|
84
|
+
const sections = extractChangelogSections(body, fromVersion);
|
|
85
|
+
logger.debug(`Version check: extracted changelog sections (${sections.length} chars)`);
|
|
86
|
+
return sections;
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
logger.warn(`Version check: failed to fetch changelog: ${err instanceof Error ? err.message : String(err)}`);
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Extract all changelog sections newer than `fromVersion`.
|
|
95
|
+
* Sections are delimited by `## [x.y.z]` headers.
|
|
96
|
+
*/
|
|
97
|
+
function extractChangelogSections(changelog, fromVersion) {
|
|
98
|
+
const lines = changelog.split("\n");
|
|
99
|
+
const result = [];
|
|
100
|
+
let capturing = false;
|
|
101
|
+
for (const line of lines) {
|
|
102
|
+
const match = /^## \[([^\]]+)\]/.exec(line);
|
|
103
|
+
if (match) {
|
|
104
|
+
const sectionVersion = match[1];
|
|
105
|
+
if (compareSemver(sectionVersion, fromVersion) <= 0) {
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
capturing = true;
|
|
109
|
+
}
|
|
110
|
+
if (capturing) {
|
|
111
|
+
result.push(line);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return result.join("\n").trim();
|
|
115
|
+
}
|
|
116
|
+
function httpGet(url, redirects = 0) {
|
|
117
|
+
if (redirects > 5)
|
|
118
|
+
return Promise.reject(new Error("Too many redirects"));
|
|
119
|
+
return new Promise((resolve, reject) => {
|
|
120
|
+
https
|
|
121
|
+
.get(url, { timeout: 10000 }, (res) => {
|
|
122
|
+
if (res.statusCode &&
|
|
123
|
+
res.statusCode >= 300 &&
|
|
124
|
+
res.statusCode < 400 &&
|
|
125
|
+
res.headers.location) {
|
|
126
|
+
resolve(httpGet(res.headers.location, redirects + 1));
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
if (res.statusCode && res.statusCode >= 400) {
|
|
130
|
+
reject(new Error(`HTTP ${res.statusCode}`));
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
let data = "";
|
|
134
|
+
res.on("data", (chunk) => {
|
|
135
|
+
data += chunk.toString();
|
|
136
|
+
});
|
|
137
|
+
res.on("end", () => resolve(data));
|
|
138
|
+
res.on("error", reject);
|
|
139
|
+
})
|
|
140
|
+
.on("error", reject);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Full version check: queries npm, compares versions, fetches changelog.
|
|
145
|
+
*/
|
|
146
|
+
export async function checkForUpdate() {
|
|
147
|
+
const currentVersion = getCurrentVersion();
|
|
148
|
+
logger.debug(`Version check: current=${currentVersion}, querying npm...`);
|
|
149
|
+
const latestVersion = await getLatestNpmVersion();
|
|
150
|
+
logger.debug(`Version check: latest=${latestVersion}`);
|
|
151
|
+
if (compareSemver(latestVersion, currentVersion) <= 0) {
|
|
152
|
+
logger.debug("Version check: already up to date");
|
|
153
|
+
return { currentVersion, latestVersion, hasUpdate: false };
|
|
154
|
+
}
|
|
155
|
+
logger.debug(`Version check: update available ${currentVersion} → ${latestVersion}, fetching changelog...`);
|
|
156
|
+
const changelog = await fetchChangelogFromNpm(latestVersion, currentVersion);
|
|
157
|
+
return {
|
|
158
|
+
currentVersion,
|
|
159
|
+
latestVersion,
|
|
160
|
+
hasUpdate: true,
|
|
161
|
+
changelog,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=version-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/tools/version-check.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "visionclaw",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.28",
|
|
4
4
|
"description": "A personal assistant agent that runs on your desktop, receives commands from messaging channels, and executes tasks autonomously.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
"files": [
|
|
11
11
|
"dist/**/*",
|
|
12
12
|
"dist/builtin-skills/**/*",
|
|
13
|
-
"README.md"
|
|
13
|
+
"README.md",
|
|
14
|
+
"CHANGELOG.md"
|
|
14
15
|
],
|
|
15
16
|
"dependencies": {
|
|
16
17
|
"@anthropic-ai/claude-agent-sdk": "^0.2.42",
|
|
@@ -20,7 +21,6 @@
|
|
|
20
21
|
"better-sqlite3": "^11.7.0",
|
|
21
22
|
"cron-parser": "^4.9.0",
|
|
22
23
|
"discord.js": "^14.25.1",
|
|
23
|
-
"dotenv": "^17.3.1",
|
|
24
24
|
"googleapis": "^144.0.0",
|
|
25
25
|
"node-telegram-bot-api": "^0.66.0",
|
|
26
26
|
"open": "^10.1.0",
|
|
@@ -34,6 +34,8 @@
|
|
|
34
34
|
"@types/node": "^22.10.0",
|
|
35
35
|
"@types/node-telegram-bot-api": "^0.64.7",
|
|
36
36
|
"@types/prompts": "^2.4.9",
|
|
37
|
+
"conventional-changelog-cli": "^5.0.0",
|
|
38
|
+
"dotenv": "^17.3.1",
|
|
37
39
|
"esbuild": "^0.27.3",
|
|
38
40
|
"eslint": "^9.39.2",
|
|
39
41
|
"tsx": "^4.19.0",
|
|
@@ -57,6 +59,7 @@
|
|
|
57
59
|
"reconfigure": "tsx scripts/reconfigure.ts",
|
|
58
60
|
"reset-session": "tsx scripts/reset-session.ts",
|
|
59
61
|
"list-profiles": "tsx scripts/list-profiles.ts",
|
|
60
|
-
"
|
|
62
|
+
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
|
|
63
|
+
"release": "pnpm lint && pnpm build && pnpm version patch --no-git-tag-version && pnpm changelog && git add -A && git commit -m \"chore(release): v$(node -p 'require(\"./package.json\").version')\" && git tag \"v$(node -p 'require(\"./package.json\").version')\" && pnpm publish"
|
|
61
64
|
}
|
|
62
65
|
}
|