visionclaw 0.1.111 → 0.1.113
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 +34 -0
- package/dist/agent/backup.d.ts.map +1 -1
- package/dist/agent/backup.js +41 -0
- package/dist/agent/backup.js.map +1 -1
- package/dist/agent/client-factory.js +1 -74
- package/dist/agent/command-handlers.d.ts.map +1 -1
- package/dist/agent/command-handlers.js +7 -3
- package/dist/agent/command-handlers.js.map +1 -1
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +16 -1
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/openai-file-session.js +1 -78
- package/dist/agent/openai-session.js +1 -413
- package/dist/agent/openai-tools.js +1 -167
- package/dist/agent/providers/claude/session.d.ts.map +1 -1
- package/dist/agent/providers/claude/session.js +17 -0
- package/dist/agent/providers/claude/session.js.map +1 -1
- package/dist/agent/runtime-surface.d.ts.map +1 -1
- package/dist/agent/runtime-surface.js +17 -3
- package/dist/agent/runtime-surface.js.map +1 -1
- package/dist/agent/session-trimmer.d.ts +34 -0
- package/dist/agent/session-trimmer.d.ts.map +1 -0
- package/dist/agent/session-trimmer.js +101 -0
- package/dist/agent/session-trimmer.js.map +1 -0
- package/dist/agent/session-types.js +1 -2
- package/dist/agent/session.js +1 -500
- package/dist/agent/state.d.ts +2 -0
- package/dist/agent/state.d.ts.map +1 -1
- package/dist/agent/state.js +14 -0
- package/dist/agent/state.js.map +1 -1
- package/dist/agent/system-prompt.d.ts.map +1 -1
- package/dist/agent/system-prompt.js +5 -3
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/builtin-skills/visionclaw-manual/SKILL.md +29 -5
- package/dist/channels/slack.js +1 -142
- package/dist/channels/sms.js +1 -111
- package/dist/channels/whatsapp.js +1 -292
- package/dist/config/types.d.ts +3 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +3 -0
- package/dist/config/types.js.map +1 -1
- package/dist/files.js +1 -82
- package/dist/google/default-oauth-app.js +1 -7
- package/dist/index.js +36 -1
- package/dist/index.js.map +1 -1
- package/dist/memory/store.js +1 -71
- package/dist/onboarding/index.d.ts.map +1 -1
- package/dist/onboarding/index.js +55 -6
- package/dist/onboarding/index.js.map +1 -1
- package/dist/onboarding/macos-permissions.d.ts +4 -8
- package/dist/onboarding/macos-permissions.d.ts.map +1 -1
- package/dist/onboarding/macos-permissions.js +79 -28
- package/dist/onboarding/macos-permissions.js.map +1 -1
- package/dist/onboarding/prepare-mac.d.ts.map +1 -1
- package/dist/onboarding/prepare-mac.js +206 -70
- package/dist/onboarding/prepare-mac.js.map +1 -1
- package/dist/onboarding/provisioning-spec.d.ts +5 -0
- package/dist/onboarding/provisioning-spec.d.ts.map +1 -1
- package/dist/onboarding/provisioning-spec.js +6 -0
- package/dist/onboarding/provisioning-spec.js.map +1 -1
- package/dist/onboarding/setup-state.d.ts +1 -0
- package/dist/onboarding/setup-state.d.ts.map +1 -1
- package/dist/onboarding/setup-state.js +1 -0
- package/dist/onboarding/setup-state.js.map +1 -1
- package/dist/restore.d.ts.map +1 -1
- package/dist/restore.js +26 -0
- package/dist/restore.js.map +1 -1
- package/dist/service/launchd.d.ts +11 -0
- package/dist/service/launchd.d.ts.map +1 -0
- package/dist/service/launchd.js +344 -0
- package/dist/service/launchd.js.map +1 -0
- package/dist/tools/browser.js +1 -108
- package/dist/tools/helpers/macos-screenshot.swift +74 -0
- package/dist/tools/screenshot.d.ts.map +1 -1
- package/dist/tools/screenshot.js +55 -2
- package/dist/tools/screenshot.js.map +1 -1
- package/dist/tools/sleep-interval.js +1 -25
- package/dist/tools/upgrade.d.ts.map +1 -1
- package/dist/tools/upgrade.js +2 -1
- package/dist/tools/upgrade.js.map +1 -1
- package/dist/tools/version-check.js +1 -164
- package/dist/tools/web-search.js +1 -2
- package/dist/utils/backup-paths.js +1 -14
- package/dist/utils/restart.d.ts +3 -1
- package/dist/utils/restart.d.ts.map +1 -1
- package/dist/utils/restart.js +43 -26
- package/dist/utils/restart.js.map +1 -1
- package/package.json +5 -3
package/dist/tools/browser.js
CHANGED
|
@@ -1,108 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { tool } from "@anthropic-ai/claude-agent-sdk";
|
|
3
|
-
import { spawn } from "node:child_process";
|
|
4
|
-
import fs from "node:fs";
|
|
5
|
-
import path from "node:path";
|
|
6
|
-
import os from "node:os";
|
|
7
|
-
import { logger } from "../logger.js";
|
|
8
|
-
/**
|
|
9
|
-
* Simple helper to launch Chrome with a remote debugging port and
|
|
10
|
-
* profile directory. The process is detached so the agent can continue
|
|
11
|
-
* running while Chrome stays open.
|
|
12
|
-
*/
|
|
13
|
-
export const browserTool = tool("browser", "Open a Chrome instance with CDP enabled and the specified profile.", {
|
|
14
|
-
profile: z
|
|
15
|
-
.string()
|
|
16
|
-
.optional()
|
|
17
|
-
.describe("Absolute path to the Chrome user data directory (profile) to use. If omitted, the default profile at $HOME/.visionclaw/profiles/default/.playwright-mcp will be used."),
|
|
18
|
-
port: z
|
|
19
|
-
.number()
|
|
20
|
-
.int()
|
|
21
|
-
.positive()
|
|
22
|
-
.optional()
|
|
23
|
-
.default(9222)
|
|
24
|
-
.describe("Remote debugging port to listen on (default 9222)."),
|
|
25
|
-
executable: z
|
|
26
|
-
.string()
|
|
27
|
-
.optional()
|
|
28
|
-
.describe("Path to the Chrome executable; defaults to the standard macOS location."),
|
|
29
|
-
headless: z
|
|
30
|
-
.boolean()
|
|
31
|
-
.optional()
|
|
32
|
-
.default(false)
|
|
33
|
-
.describe("If true launch in headless mode.")
|
|
34
|
-
}, async (args) => {
|
|
35
|
-
// dummy await to satisfy lint rule; real work is synchronous
|
|
36
|
-
await Promise.resolve();
|
|
37
|
-
// Only macOS currently supported; other platforms can be added later.
|
|
38
|
-
if (process.platform !== "darwin") {
|
|
39
|
-
return {
|
|
40
|
-
content: [
|
|
41
|
-
{ type: "text", text: "browser tool is only supported on macOS" }
|
|
42
|
-
],
|
|
43
|
-
isError: true,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
const chromePath = args.executable ??
|
|
47
|
-
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome";
|
|
48
|
-
// fill in defaults manually since schema defaults may not be applied by the
|
|
49
|
-
// MCP runtime when invoking the handler directly.
|
|
50
|
-
const port = typeof args.port === "number" ? args.port : 9222;
|
|
51
|
-
const profile = args.profile ??
|
|
52
|
-
path.join(os.homedir(), ".visionclaw", "profiles", "default", ".playwright-mcp");
|
|
53
|
-
const flags = [
|
|
54
|
-
`--remote-debugging-port=${port}`,
|
|
55
|
-
`--user-data-dir=${profile}`,
|
|
56
|
-
"--no-first-run",
|
|
57
|
-
"--no-default-browser-check",
|
|
58
|
-
];
|
|
59
|
-
if (args.headless) {
|
|
60
|
-
flags.push("--headless=new");
|
|
61
|
-
}
|
|
62
|
-
// make sure executable exists before spawning; otherwise spawn will
|
|
63
|
-
// emit an error asynchronously and we won't be able to catch it.
|
|
64
|
-
if (!fs.existsSync(chromePath)) {
|
|
65
|
-
const msg = `executable not found: ${chromePath}`;
|
|
66
|
-
// include profile in the message so callers know which profile would have been used
|
|
67
|
-
return {
|
|
68
|
-
content: [
|
|
69
|
-
{ type: "text", text: `Failed to launch Chrome: ${msg} (profile=${profile})` },
|
|
70
|
-
],
|
|
71
|
-
isError: true,
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
try {
|
|
75
|
-
const child = spawn(chromePath, flags, {
|
|
76
|
-
detached: true,
|
|
77
|
-
stdio: "ignore",
|
|
78
|
-
});
|
|
79
|
-
// allow process to continue independently
|
|
80
|
-
child.unref();
|
|
81
|
-
logger.info("browser tool launched chrome", {
|
|
82
|
-
path: chromePath,
|
|
83
|
-
port,
|
|
84
|
-
profile,
|
|
85
|
-
});
|
|
86
|
-
return {
|
|
87
|
-
content: [
|
|
88
|
-
{
|
|
89
|
-
type: "text",
|
|
90
|
-
text: `Chrome started (profile=${profile}) listening on port ${port}`,
|
|
91
|
-
},
|
|
92
|
-
],
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
catch (err) {
|
|
96
|
-
logger.err("browser tool failed to start chrome", { error: String(err) });
|
|
97
|
-
return {
|
|
98
|
-
content: [
|
|
99
|
-
{
|
|
100
|
-
type: "text",
|
|
101
|
-
text: `Failed to launch Chrome: ${err instanceof Error ? err.message : String(err)}`,
|
|
102
|
-
},
|
|
103
|
-
],
|
|
104
|
-
isError: true,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
//# sourceMappingURL=browser.js.map
|
|
1
|
+
const a84_0x3b8f62=a84_0x1f0e;(function(_0x3ce05c,_0x14262c){const _0x283a6c=a84_0x1f0e,_0x4dc7de=_0x3ce05c();while(!![]){try{const _0x4eee8f=parseInt(_0x283a6c(0x14c))/0x1+-parseInt(_0x283a6c(0x157))/0x2*(-parseInt(_0x283a6c(0x170))/0x3)+-parseInt(_0x283a6c(0x13c))/0x4+parseInt(_0x283a6c(0x13f))/0x5*(-parseInt(_0x283a6c(0x156))/0x6)+-parseInt(_0x283a6c(0x158))/0x7+parseInt(_0x283a6c(0x13a))/0x8+parseInt(_0x283a6c(0x139))/0x9;if(_0x4eee8f===_0x14262c)break;else _0x4dc7de['push'](_0x4dc7de['shift']());}catch(_0x3f67c3){_0x4dc7de['push'](_0x4dc7de['shift']());}}}(a84_0x3afc,0xedb1b));function a84_0x1f0e(_0x291a1a,_0x2f5c22){_0x291a1a=_0x291a1a-0x132;const _0x3afc24=a84_0x3afc();let _0x1f0e61=_0x3afc24[_0x291a1a];if(a84_0x1f0e['NwCKhx']===undefined){var _0x166114=function(_0x23054a){const _0x58c21c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2af09b='',_0x3bf72c='';for(let _0x53c5ae=0x0,_0x1501ae,_0x25af1e,_0x38927d=0x0;_0x25af1e=_0x23054a['charAt'](_0x38927d++);~_0x25af1e&&(_0x1501ae=_0x53c5ae%0x4?_0x1501ae*0x40+_0x25af1e:_0x25af1e,_0x53c5ae++%0x4)?_0x2af09b+=String['fromCharCode'](0xff&_0x1501ae>>(-0x2*_0x53c5ae&0x6)):0x0){_0x25af1e=_0x58c21c['indexOf'](_0x25af1e);}for(let _0x21977b=0x0,_0x59ca61=_0x2af09b['length'];_0x21977b<_0x59ca61;_0x21977b++){_0x3bf72c+='%'+('00'+_0x2af09b['charCodeAt'](_0x21977b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bf72c);};a84_0x1f0e['uFiefi']=_0x166114,a84_0x1f0e['ThxmhY']={},a84_0x1f0e['NwCKhx']=!![];}const _0x4712a0=_0x3afc24[0x0],_0x3f8d24=_0x291a1a+_0x4712a0,_0x46320d=a84_0x1f0e['ThxmhY'][_0x3f8d24];return!_0x46320d?(_0x1f0e61=a84_0x1f0e['uFiefi'](_0x1f0e61),a84_0x1f0e['ThxmhY'][_0x3f8d24]=_0x1f0e61):_0x1f0e61=_0x46320d,_0x1f0e61;}const a84_0x4d77e0=a84_0x441a;(function(_0x1501ae,_0x25af1e){const _0x548532=a84_0x1f0e,_0x38927d=a84_0x441a,_0x21977b=_0x1501ae();while(!![]){try{const _0x59ca61=parseInt(_0x38927d(0x110))/0x1+-parseInt(_0x38927d(0x113))/0x2+parseInt(_0x38927d(0x131))/0x3*(parseInt(_0x38927d(0x122))/0x4)+parseInt(_0x38927d(0x126))/0x5*(-parseInt(_0x38927d(0x12a))/0x6)+parseInt(_0x38927d(0x11c))/0x7*(-parseInt(_0x38927d(0x102))/0x8)+-parseInt(_0x38927d(0x135))/0x9*(-parseInt(_0x38927d(0x118))/0xa)+-parseInt(_0x38927d(0x11d))/0xb;if(_0x59ca61===_0x25af1e)break;else _0x21977b[_0x548532(0x145)](_0x21977b['shift']());}catch(_0x44ae71){_0x21977b['push'](_0x21977b[_0x548532(0x148)]());}}}(a84_0x1387,0xdb757));function a84_0x441a(_0x19fa9d,_0x15e413){const _0x3b9a3f=a84_0x1f0e;_0x19fa9d=_0x19fa9d-0xff;const _0x59d67b=a84_0x1387();let _0x10d577=_0x59d67b[_0x19fa9d];if(a84_0x441a[_0x3b9a3f(0x136)]===undefined){var _0x18c1f9=function(_0x4874b2){const _0x43d146=_0x3b9a3f,_0x50bbe2=_0x43d146(0x144);let _0x172921='',_0xa7703a='';for(let _0x3649f9=0x0,_0xd39711,_0x4099de,_0x1a0692=0x0;_0x4099de=_0x4874b2['charAt'](_0x1a0692++);~_0x4099de&&(_0xd39711=_0x3649f9%0x4?_0xd39711*0x40+_0x4099de:_0x4099de,_0x3649f9++%0x4)?_0x172921+=String[_0x43d146(0x165)](0xff&_0xd39711>>(-0x2*_0x3649f9&0x6)):0x0){_0x4099de=_0x50bbe2[_0x43d146(0x137)](_0x4099de);}for(let _0x5d7293=0x0,_0x260e32=_0x172921[_0x43d146(0x133)];_0x5d7293<_0x260e32;_0x5d7293++){_0xa7703a+='%'+('00'+_0x172921[_0x43d146(0x14a)](_0x5d7293)[_0x43d146(0x149)](0x10))[_0x43d146(0x16b)](-0x2);}return decodeURIComponent(_0xa7703a);};a84_0x441a[_0x3b9a3f(0x16e)]=_0x18c1f9,a84_0x441a[_0x3b9a3f(0x13b)]={},a84_0x441a[_0x3b9a3f(0x136)]=!![];}const _0x1d9798=_0x59d67b[0x0],_0x2cb62b=_0x19fa9d+_0x1d9798,_0x3ba691=a84_0x441a[_0x3b9a3f(0x13b)][_0x2cb62b];return!_0x3ba691?(_0x10d577=a84_0x441a[_0x3b9a3f(0x16e)](_0x10d577),a84_0x441a[_0x3b9a3f(0x13b)][_0x2cb62b]=_0x10d577):_0x10d577=_0x3ba691,_0x10d577;}import{z}from'zod';import{tool}from'@anthropic-ai/claude-agent-sdk';import{spawn}from'node:child_process';import a84_0x2af09b from'node:fs';import a84_0x3bf72c from'node:path';function a84_0x1387(){const _0x44503d=a84_0x1f0e,_0x5f42a2=[_0x44503d(0x15a),'Dgv4Da','CgXHDgzVCM0','zgvMyxvSDa','AwDUB3jL',_0x44503d(0x146),_0x44503d(0x169),'yNjVD3nLCG',_0x44503d(0x150),_0x44503d(0x141),_0x44503d(0x14b),_0x44503d(0x153),'mtCZmZu5oe95qNPUqq','zxHPC3rZu3LUyW',_0x44503d(0x143),_0x44503d(0x16a),_0x44503d(0x15b),_0x44503d(0x147),_0x44503d(0x15c),_0x44503d(0x160),_0x44503d(0x14f),_0x44503d(0x168),'ChjVzMLSzq','ls1UBY1KzwzHDwX0lwjYB3DZzxiTy2HLy2S','otm3m29yuwjHyW',_0x44503d(0x166),_0x44503d(0x132),'uMvTB3rLigrLyNvNz2LUzYbWB3j0ihrVigXPC3rLBIbVBIaOzgvMyxvSDca5mJiYks4',_0x44503d(0x15f),_0x44503d(0x14d),_0x44503d(0x135),_0x44503d(0x13e),_0x44503d(0x14e),_0x44503d(0x164),'nujRB0rhwa',_0x44503d(0x15d),_0x44503d(0x154),_0x44503d(0x140),'nda4mZu0wwrjBLnm','Cg9YDa',_0x44503d(0x16f),_0x44503d(0x151),_0x44503d(0x16c),'Aw5MBW',_0x44503d(0x162),_0x44503d(0x163),_0x44503d(0x159),_0x44503d(0x16d),_0x44503d(0x155),_0x44503d(0x15e),'Ag9TzwrPCG','q2HYB21Lihn0yxj0zwqGkhbYB2zPBgu9',_0x44503d(0x13d),'ChjVzMLSzxm',_0x44503d(0x134),_0x44503d(0x152)];return a84_0x1387=function(){return _0x5f42a2;},a84_0x1387();}import a84_0x53c5ae from'node:os';import{logger}from'../logger.js';function a84_0x3afc(){const _0xec4975=['C3D5r0rOAJf6C2jtExH2vxKYr0DbDZrhqwD2shPNweXdm21hqNC5s3PZna','B3b0Aw9UywW','Eu5QvKqZBKXdswiWqJi5u2LNtfPPzZLvqMHlr0mZDLDdzZLzrgD2s2LNovvPzZfiEta5Da','BLP1m29KBvPXmxi1EJi1za','qND2wKmYzK56Cq','zNjVBunOyxjdB2rL','Bxr1wg5KztjUwNPRq05mzKv2Dq','rMfPBgvKihrVigXHDw5JAcbdAhjVBwu6ia','ENHithKZDJb5D2PtENnIvuiZCuD6ttKXqK1XnMLH','ENHithKZDJb5D2PtENe','BuPPm250rZrUAeHXrwDmuKjX','C2XPy2u','BhmXwxP3mvzez3vuEMD2sur3re5bDZvoBhHIvKnoCtK','A3nIu0f4BJb6DZvqqK1dr0iYneDdzZLzrgnH','s0PPwgLS','EMD2wNKZALb5txu','m1fUAMD1yq','zgvZy3jPyMu','Be56uemYtfzctw5tExHd','BgvUz3rO','BLPdmKr3CMn2m2i2','BuPiDNjNCJbZthe','BfLeAMHK','Aw5KzxHpzG','zgvMyxvSDa','mtuYmZuXmJHdz0ThrhG','otaWnta0ofvuu1LvDq','CMTUy2zo','nJyZmZmYme5dy0Xfvq','Eu5QvKqZBKXdswiWqJi5u2LNEKHbD1HmEMnImejzyLPez2zzrgnIsKfOALzcD3u','Be5Iu3L4tdndtuXoqwHXvej3BLC','ndu5nZvwr1vnENi','CxDQwKiYwdfez3vhq2DMmefJyJbcwwiWqwD1r3eYsfLcmJfmAwH2wNP4AuD6z2yWExnIs0f4AKX5m3jwq05lr2TOyLLcmNPqqMD1ugLOCLzPAhzAENm0r3n3EuDcmJfqrgHYthPJv0Dez0HmAwDYthPnzJfcAhfhq2HQvNPntfn6C2jirgnHs3nLow5YCZHvre1mwKf3ovv5mLHirfK5v0nnou1bD1Hmq1K5s3P3EKHeD1GWBfK1v0jNzJvem2PqEJjimgX3muPdy2iZqxDyu2LNAKXPAhzAENDXvq','BhmXmumYDLLSD3jirgDLvhPNtfLWCq','Cg9ZAxrPDMu','DdnItejjyKHPzw5pq005vhPZyLbctM4WExC1sNPZyJnbEhjpAwvUzxvJyKXctwzjqMD2s2LNzLv6y2iWqwD1r0mZyKX5mKXnqxD2s2LOyLLcmNPqqMD1vq','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExPbqKneruzhseLks0XntK9quvjtvfvwv1HzwJaXmJm0nty3odKRlZ0','ChvZAa','q2H2wKfH','qxC1ma','C2HPzNq','Dg9tDhjPBMC','y2HHCKnVzgvbDa','BdbMv0nNwfb5mMyWqxC5vunzowHcmJLoqMD1r3eYsfLcmJfmBe1Mv0nJowrcmJuWENC1menzow55D25WDvK5AeiYou5cz3vhCtjiwuiYmuW','otiZnJbuBLbWvu4','EMDMwuqYtfu','BhmXt3P3zKTcz3zAq1OXvxP4qW','BxrPv3iXEJz2z1bn','rhC1wxP3Eq','qu05uejh','DwDMmefJyJbcwwiWqwD1r3eYsfLcmJfmAwD2nhP3BJfez2zjqMD1n2LNCKX6twyXqMHYwMLOCLzPAhjpENnIwKrNzLv6z2zzEMnIvhL3BNb1wwjtqJjUserNtfzcstq','Eu05vKjNDKHcrW','qK52vhLnDLK','Awniv0nnou1bD1HmChe','mte1ofbmu2XJwa','mZqYmtiXmLH0BLbvta','mtuWmZGWm0nYwhH0va','qJnImef3ovv5D1C','BhmXvujzmu1bEgPArgmXwur3na','q012wKiYwdj6Cq','qZnYwuf3nu4','ENHQwq','B2rPv25AzNz0Ehj6EtfT','qwD2shPNweXdm20'];a84_0x3afc=function(){return _0xec4975;};return a84_0x3afc();}export const browserTool=tool(a84_0x4d77e0(0x10b),a84_0x4d77e0(0x112),{'profile':z[a84_0x4d77e0(0x116)]()[a84_0x4d77e0(0x132)]()[a84_0x4d77e0(0x12c)](a84_0x4d77e0(0x129)),'port':z[a84_0x4d77e0(0x128)]()[a84_0x4d77e0(0x115)]()[a84_0x3b8f62(0x142)]()[a84_0x4d77e0(0x132)]()[a84_0x3b8f62(0x138)](0x2406)[a84_0x3b8f62(0x171)](a84_0x4d77e0(0x11f)),'executable':z[a84_0x4d77e0(0x116)]()[a84_0x3b8f62(0x161)]()[a84_0x4d77e0(0x12c)](a84_0x4d77e0(0x103)),'headless':z[a84_0x4d77e0(0x10f)]()[a84_0x4d77e0(0x132)]()[a84_0x4d77e0(0x107)](![])[a84_0x4d77e0(0x12c)](a84_0x4d77e0(0x117))},async _0xb84d2c=>{const _0x1806b1=a84_0x3b8f62,_0x3f4dd2=a84_0x4d77e0;await Promise[_0x3f4dd2(0x114)]();if(process[_0x3f4dd2(0x106)]!==_0x3f4dd2(0x121))return{'content':[{'type':_0x3f4dd2(0x105),'text':_0x3f4dd2(0x130)}],'isError':!![]};const _0x28d57f=_0xb84d2c[_0x3f4dd2(0x10a)]??_0x3f4dd2(0x10e),_0x3b004d=typeof _0xb84d2c[_0x3f4dd2(0x12b)]===_0x3f4dd2(0x128)?_0xb84d2c[_0x3f4dd2(0x12b)]:0x2406,_0x449d40=_0xb84d2c[_0x3f4dd2(0x11a)]??a84_0x3bf72c[_0x3f4dd2(0x12d)](a84_0x53c5ae[_0x3f4dd2(0x136)](),_0x3f4dd2(0x11e),_0x3f4dd2(0x101),_0x3f4dd2(0x107),_0x3f4dd2(0x123)),_0x2aff82=[_0x3f4dd2(0x12e)+_0x3b004d,_0x3f4dd2(0x10d)+_0x449d40,_0x3f4dd2(0x104),_0x3f4dd2(0x11b)];_0xb84d2c[_0x3f4dd2(0x120)]&&_0x2aff82[_0x3f4dd2(0x109)](_0x3f4dd2(0x124));if(!a84_0x2af09b[_0x3f4dd2(0x111)](_0x28d57f)){const _0x19cd0c=_0x3f4dd2(0x119)+_0x28d57f;return{'content':[{'type':_0x3f4dd2(0x105),'text':_0x1806b1(0x167)+_0x19cd0c+_0x3f4dd2(0x134)+_0x449d40+')'}],'isError':!![]};}try{const _0x536e54=spawn(_0x28d57f,_0x2aff82,{'detached':!![],'stdio':_0x3f4dd2(0x108)});return _0x536e54[_0x3f4dd2(0x10c)](),logger[_0x3f4dd2(0x12f)]('browser\x20tool\x20launched\x20chrome',{'path':_0x28d57f,'port':_0x3b004d,'profile':_0x449d40}),{'content':[{'type':_0x3f4dd2(0x105),'text':_0x3f4dd2(0xff)+_0x449d40+_0x3f4dd2(0x133)+_0x3b004d}]};}catch(_0x38090d){return logger[_0x3f4dd2(0x127)](_0x3f4dd2(0x100),{'error':String(_0x38090d)}),{'content':[{'type':_0x3f4dd2(0x105),'text':_0x1806b1(0x167)+(_0x38090d instanceof Error?_0x38090d[_0x3f4dd2(0x125)]:String(_0x38090d))}],'isError':!![]};}});
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import ScreenCaptureKit
|
|
3
|
+
import CoreGraphics
|
|
4
|
+
import ImageIO
|
|
5
|
+
|
|
6
|
+
@available(macOS 14.0, *)
|
|
7
|
+
func captureScreen(to outputPath: String) async throws {
|
|
8
|
+
let content = try await SCShareableContent.excludingDesktopWindows(
|
|
9
|
+
false, onScreenWindowsOnly: true
|
|
10
|
+
)
|
|
11
|
+
let mainID = CGMainDisplayID()
|
|
12
|
+
guard let display = content.displays.first(where: { $0.displayID == mainID })
|
|
13
|
+
?? content.displays.first
|
|
14
|
+
else {
|
|
15
|
+
throw NSError(
|
|
16
|
+
domain: "VisionClaw", code: 1,
|
|
17
|
+
userInfo: [NSLocalizedDescriptionKey: "No display found"]
|
|
18
|
+
)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
let filter = SCContentFilter(display: display, excludingWindows: [])
|
|
22
|
+
let config = SCStreamConfiguration()
|
|
23
|
+
config.showsCursor = true
|
|
24
|
+
config.captureResolution = .best
|
|
25
|
+
// Set output dimensions large enough to avoid downscaling on Retina displays.
|
|
26
|
+
// With .best, ScreenCaptureKit captures at native resolution; if these exceed
|
|
27
|
+
// the actual pixel count it won't upscale.
|
|
28
|
+
config.width = display.width * 2
|
|
29
|
+
config.height = display.height * 2
|
|
30
|
+
|
|
31
|
+
let image = try await SCScreenshotManager.captureImage(
|
|
32
|
+
contentFilter: filter, configuration: config
|
|
33
|
+
)
|
|
34
|
+
try writePNG(image, to: outputPath)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
func writePNG(_ image: CGImage, to path: String) throws {
|
|
38
|
+
let url = URL(fileURLWithPath: path) as CFURL
|
|
39
|
+
guard let dest = CGImageDestinationCreateWithURL(
|
|
40
|
+
url, "public.png" as CFString, 1, nil
|
|
41
|
+
) else {
|
|
42
|
+
throw NSError(
|
|
43
|
+
domain: "VisionClaw", code: 2,
|
|
44
|
+
userInfo: [NSLocalizedDescriptionKey: "Cannot create image destination"]
|
|
45
|
+
)
|
|
46
|
+
}
|
|
47
|
+
CGImageDestinationAddImage(dest, image, nil)
|
|
48
|
+
guard CGImageDestinationFinalize(dest) else {
|
|
49
|
+
throw NSError(
|
|
50
|
+
domain: "VisionClaw", code: 3,
|
|
51
|
+
userInfo: [NSLocalizedDescriptionKey: "Cannot finalize PNG"]
|
|
52
|
+
)
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
let outputPath = CommandLine.arguments.count > 1
|
|
57
|
+
? CommandLine.arguments[1]
|
|
58
|
+
: "/tmp/screenshot.png"
|
|
59
|
+
|
|
60
|
+
if #available(macOS 14.0, *) {
|
|
61
|
+
Task {
|
|
62
|
+
do {
|
|
63
|
+
try await captureScreen(to: outputPath)
|
|
64
|
+
Foundation.exit(0)
|
|
65
|
+
} catch {
|
|
66
|
+
fputs("Error: \(error.localizedDescription)\n", stderr)
|
|
67
|
+
Foundation.exit(1)
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
dispatchMain()
|
|
71
|
+
} else {
|
|
72
|
+
fputs("Requires macOS 14.0+\n", stderr)
|
|
73
|
+
Foundation.exit(1)
|
|
74
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"AAoEA,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAC5C,eAAO,MAAM,iBAAiB,UAAY,CAAC;AAE3C;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ1E;AA2ID;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAUnD;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAkDnD;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBrE;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI3E;AAcD;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAmBtD;AAwCD;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CA4BzD;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAgGhE"}
|
package/dist/tools/screenshot.js
CHANGED
|
@@ -5,10 +5,51 @@ import fsp from "node:fs/promises";
|
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import { logger } from "../logger.js";
|
|
8
|
-
import { getScreenshotsDir } from "../config/index.js";
|
|
8
|
+
import { getBaseDir, getScreenshotsDir } from "../config/index.js";
|
|
9
9
|
const execAsync = promisify(exec);
|
|
10
10
|
const WINDOWS_EXEC_OPTIONS = process.platform === "win32" ? { windowsHide: true } : {};
|
|
11
11
|
const MAX_SCREENSHOT_SIZE = 1 * 1024 * 1024; // 1MB
|
|
12
|
+
// ── macOS ScreenCaptureKit helper ───────────────────────────────────────
|
|
13
|
+
// `screencapture -C` is unreliable for cursor capture on macOS 14+.
|
|
14
|
+
// We compile a small Swift CLI that uses ScreenCaptureKit with
|
|
15
|
+
// `showsCursor = true` and cache the binary across runs.
|
|
16
|
+
const SCK_HELPER_SRC = path.join(path.dirname(new URL(import.meta.url).pathname), "helpers", "macos-screenshot.swift");
|
|
17
|
+
const SCK_HELPER_BIN = path.join(getBaseDir(), "bin", "macos-screenshot");
|
|
18
|
+
let _sckBinaryReady;
|
|
19
|
+
/**
|
|
20
|
+
* Ensure the ScreenCaptureKit helper binary is compiled and up-to-date.
|
|
21
|
+
* Returns the binary path on success, or null if compilation fails.
|
|
22
|
+
*/
|
|
23
|
+
async function ensureSckBinary() {
|
|
24
|
+
if (_sckBinaryReady === true)
|
|
25
|
+
return SCK_HELPER_BIN;
|
|
26
|
+
if (_sckBinaryReady === false)
|
|
27
|
+
return null;
|
|
28
|
+
try {
|
|
29
|
+
const [srcStat, binStat] = await Promise.all([
|
|
30
|
+
fsp.stat(SCK_HELPER_SRC).catch(() => null),
|
|
31
|
+
fsp.stat(SCK_HELPER_BIN).catch(() => null),
|
|
32
|
+
]);
|
|
33
|
+
if (!srcStat) {
|
|
34
|
+
_sckBinaryReady = false;
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
if (binStat && binStat.mtimeMs >= srcStat.mtimeMs) {
|
|
38
|
+
_sckBinaryReady = true;
|
|
39
|
+
return SCK_HELPER_BIN;
|
|
40
|
+
}
|
|
41
|
+
await fsp.mkdir(path.dirname(SCK_HELPER_BIN), { recursive: true });
|
|
42
|
+
await execAsync(`swiftc -O -framework ScreenCaptureKit -framework CoreGraphics -framework ImageIO -o "${SCK_HELPER_BIN}" "${SCK_HELPER_SRC}"`);
|
|
43
|
+
_sckBinaryReady = true;
|
|
44
|
+
logger.debug(`Compiled ScreenCaptureKit helper → ${SCK_HELPER_BIN}`);
|
|
45
|
+
return SCK_HELPER_BIN;
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
logger.warn(`Failed to compile ScreenCaptureKit helper: ${e instanceof Error ? e.message : String(e)}`);
|
|
49
|
+
_sckBinaryReady = false;
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
12
53
|
// ── Claude vision dimension constraints ────────────────────────────────
|
|
13
54
|
// Reference: https://platform.claude.com/docs/en/build-with-claude/vision
|
|
14
55
|
// Images larger than these limits are resized server-side, increasing
|
|
@@ -387,7 +428,19 @@ export async function takeScreenshot() {
|
|
|
387
428
|
const tmpFile = path.join(os.tmpdir(), `visionclaw-screenshot-${Date.now()}.png`);
|
|
388
429
|
try {
|
|
389
430
|
if (process.platform === "darwin") {
|
|
390
|
-
|
|
431
|
+
const sckBin = await ensureSckBinary();
|
|
432
|
+
if (sckBin) {
|
|
433
|
+
try {
|
|
434
|
+
await execAsync(`"${sckBin}" "${tmpFile}"`);
|
|
435
|
+
}
|
|
436
|
+
catch (e) {
|
|
437
|
+
logger.warn(`ScreenCaptureKit capture failed, falling back to screencapture: ${e instanceof Error ? e.message : String(e)}`);
|
|
438
|
+
await execAsync(`screencapture -x -C "${tmpFile}"`);
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
else {
|
|
442
|
+
await execAsync(`screencapture -x -C "${tmpFile}"`);
|
|
443
|
+
}
|
|
391
444
|
}
|
|
392
445
|
else if (process.platform === "win32") {
|
|
393
446
|
// Use DPI-aware capture + cursor overlay for complete screenshots on scaled displays
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { tool } from "@anthropic-ai/claude-agent-sdk";
|
|
3
|
-
import { getAgentState } from "../agent/loop.js";
|
|
4
|
-
import { saveOwnerConfig } 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.ownerConfig.heartbeatIntervalMs;
|
|
14
|
-
state.ownerConfig.heartbeatIntervalMs = args.minutes * 60 * 1000;
|
|
15
|
-
saveOwnerConfig(state.ownerConfig);
|
|
16
|
-
return {
|
|
17
|
-
content: [
|
|
18
|
-
{
|
|
19
|
-
type: "text",
|
|
20
|
-
text: `Sleep interval changed from ${oldMs / 60000}m to ${args.minutes}m (saved to owner config).`,
|
|
21
|
-
},
|
|
22
|
-
],
|
|
23
|
-
};
|
|
24
|
-
});
|
|
25
|
-
//# sourceMappingURL=sleep-interval.js.map
|
|
1
|
+
(function(_0x167e3f,_0x27c17e){const _0x3c8466=a100_0xfa27,_0x2c6120=_0x167e3f();while(!![]){try{const _0x2eb0e9=-parseInt(_0x3c8466(0x1a8))/0x1+-parseInt(_0x3c8466(0x190))/0x2+-parseInt(_0x3c8466(0x18b))/0x3*(-parseInt(_0x3c8466(0x1a7))/0x4)+-parseInt(_0x3c8466(0x1a1))/0x5+-parseInt(_0x3c8466(0x194))/0x6*(-parseInt(_0x3c8466(0x19a))/0x7)+-parseInt(_0x3c8466(0x195))/0x8+parseInt(_0x3c8466(0x19d))/0x9*(parseInt(_0x3c8466(0x185))/0xa);if(_0x2eb0e9===_0x27c17e)break;else _0x2c6120['push'](_0x2c6120['shift']());}catch(_0x4e5570){_0x2c6120['push'](_0x2c6120['shift']());}}}(a100_0x2d12,0x42f2b));const a100_0x54d829=a100_0x20b4;function a100_0x2d12(){const _0x2cb6e4=['qNnHt0mYzJj6D3fhrgC4r0iZrfv6EgLhEti5vxPnte5RCZq','BKP1wg1kAtrYD2zLqKTeBW','Bxrhv25ksZjYmxPvCJjMAa','y2HHCKf0','mJa0nJaZq1L3uLv4','Bxr5mg5KAtnTzgiXDwHYnNz4tW','uKzUtfDp','oufLq3ndqG','qJnevxP4AMrcmJvnqxDd','BMrHm3P3ANP3Eer6','rgD2nerH','mtu2nde1meTAA3PcuG','DtjythP4yuDbDZuWENHQmNL3v0DbDZrhqNDmvur4CKXdwwfpBxmWwg5KCvDSy2jqBe11vwLODLDPAhjwAwrPmgLNsfzeEgPAA3e','BgvUz3rO','BxrXng9Nvg9Yzurrrxe','qK52vhLnDLK','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExPbqKneruzhseLks0XntK9quvjtvfvwv1HzwJaXmJm0nty3odKRlZ0','mtu0mgDvwKPZzG','mZuXntm2ugfKBhjt','qNDMna','ChvZAa','C2HPzNq','z2LgDeXI','BwLUDxrLCW','BvPdmg90Btn3D0HYDxvyqq','EMD2wNKZALb5txu','Bxrhmg50EtjVz3jNreXiB3LX','mtiZntm4ndbID05PDMq','qNDmvq','Dg9tDhjPBMC','B3DyDxf3oxv6yq','C2XPy2u','qNDmvur4CKXdvW','mJK2n3PWBhP3yq','qwD2senoCKL6D2yWC3C1mhP4AJj5D1HUq1C','CtjisejnreXPz0HwrfLIu0iYnu5PAhjpENnIshOYDLvey2jAqMD2tenOBuD5txyWrdj2tejjyK96D2zzrgDQthL4CuDemMzsENmXmunOBvvPzNzAENnImefNtfPPAerpENC0r0rNseXPAhzAENHPr3L4BLjdwwi1qJn1r0rNoeDdmLHmENHHr0jNovv6mNzzAwC5wwLOBK9cm2OWENHPu2LNovLPAhjwAwDUt3L3nu56C2iWqwD1r3KYseX5mLnuqxC0r3PoAKXdEhzmqK1UnwXh','BxrTmw9Ks1DUEhjYq3CXu3fh','q012wKiYwdj6Cq','nJq0nJiWyxzWt1vu','u2XLzxaGAw50zxj2ywWGy2HHBMDLzcbMCM9Tia','BtjqvNflELbYCq','tKXku0Xj','mtHZvfrkCKy','mZu0mZuYohnJEhfvsq'];a100_0x2d12=function(){return _0x2cb6e4;};return a100_0x2d12();}function a100_0x2416(){const _0xb06e39=a100_0xfa27,_0x4f2d28=[_0xb06e39(0x18f),_0xb06e39(0x197),_0xb06e39(0x1a4),_0xb06e39(0x184),'Bsb0BYa','nevHCwH1sG',_0xb06e39(0x1a0),_0xb06e39(0x196),_0xb06e39(0x18a),_0xb06e39(0x186),'C2v0x3nSzwvWx2LUDgvYDMfS',_0xb06e39(0x1a9),_0xb06e39(0x183),_0xb06e39(0x192),_0xb06e39(0x182),_0xb06e39(0x18d),_0xb06e39(0x1a5),_0xb06e39(0x188),_0xb06e39(0x19f),'mZa4nJnlz0zcwNe',_0xb06e39(0x18c),_0xb06e39(0x1a2),_0xb06e39(0x18e),_0xb06e39(0x19b),_0xb06e39(0x198),_0xb06e39(0x19e)];return a100_0x2416=function(){return _0x4f2d28;},a100_0x2416();}function a100_0xfa27(_0x5ccca3,_0x25c1dd){_0x5ccca3=_0x5ccca3-0x180;const _0x2d120f=a100_0x2d12();let _0xfa2740=_0x2d120f[_0x5ccca3];if(a100_0xfa27['cFxaIQ']===undefined){var _0x4adbb7=function(_0x461467){const _0x223a2a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f2d28='',_0x3c1cf8='';for(let _0x1bd09b=0x0,_0x4ab533,_0x3870d2,_0x471ed2=0x0;_0x3870d2=_0x461467['charAt'](_0x471ed2++);~_0x3870d2&&(_0x4ab533=_0x1bd09b%0x4?_0x4ab533*0x40+_0x3870d2:_0x3870d2,_0x1bd09b++%0x4)?_0x4f2d28+=String['fromCharCode'](0xff&_0x4ab533>>(-0x2*_0x1bd09b&0x6)):0x0){_0x3870d2=_0x223a2a['indexOf'](_0x3870d2);}for(let _0x451ada=0x0,_0x399ecf=_0x4f2d28['length'];_0x451ada<_0x399ecf;_0x451ada++){_0x3c1cf8+='%'+('00'+_0x4f2d28['charCodeAt'](_0x451ada)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c1cf8);};a100_0xfa27['gLBEna']=_0x4adbb7,a100_0xfa27['XDKSTh']={},a100_0xfa27['cFxaIQ']=!![];}const _0x2354be=_0x2d120f[0x0],_0x59b9d0=_0x5ccca3+_0x2354be,_0x1f4eb4=a100_0xfa27['XDKSTh'][_0x59b9d0];return!_0x1f4eb4?(_0xfa2740=a100_0xfa27['gLBEna'](_0xfa2740),a100_0xfa27['XDKSTh'][_0x59b9d0]=_0xfa2740):_0xfa2740=_0x1f4eb4,_0xfa2740;}function a100_0x20b4(_0x3c1cf8,_0x1bd09b){const _0x597f9d=a100_0xfa27;_0x3c1cf8=_0x3c1cf8-0x1cd;const _0x4ab533=a100_0x2416();let _0x3870d2=_0x4ab533[_0x3c1cf8];if(a100_0x20b4[_0x597f9d(0x193)]===undefined){var _0x471ed2=function(_0x1f1088){const _0x4814a1=_0x597f9d,_0x2d79ed=_0x4814a1(0x1a6);let _0x44022f='',_0x99e6fa='';for(let _0x136080=0x0,_0x153b7a,_0x11df0c,_0x36969c=0x0;_0x11df0c=_0x1f1088[_0x4814a1(0x199)](_0x36969c++);~_0x11df0c&&(_0x153b7a=_0x136080%0x4?_0x153b7a*0x40+_0x11df0c:_0x11df0c,_0x136080++%0x4)?_0x44022f+=String['fromCharCode'](0xff&_0x153b7a>>(-0x2*_0x136080&0x6)):0x0){_0x11df0c=_0x2d79ed['indexOf'](_0x11df0c);}for(let _0x3a7b7a=0x0,_0x28d515=_0x44022f[_0x4814a1(0x1a3)];_0x3a7b7a<_0x28d515;_0x3a7b7a++){_0x99e6fa+='%'+('00'+_0x44022f['charCodeAt'](_0x3a7b7a)[_0x4814a1(0x187)](0x10))[_0x4814a1(0x189)](-0x2);}return decodeURIComponent(_0x99e6fa);};a100_0x20b4[_0x597f9d(0x180)]=_0x471ed2,a100_0x20b4[_0x597f9d(0x19c)]={},a100_0x20b4[_0x597f9d(0x193)]=!![];}const _0x451ada=_0x4ab533[0x0],_0x399ecf=_0x3c1cf8+_0x451ada,_0x1c4324=a100_0x20b4['RFnLWO'][_0x399ecf];return!_0x1c4324?(_0x3870d2=a100_0x20b4['giFtLb'](_0x3870d2),a100_0x20b4[_0x597f9d(0x19c)][_0x399ecf]=_0x3870d2):_0x3870d2=_0x1c4324,_0x3870d2;}(function(_0x3ef468,_0x3d93b9){const _0x3f109b=a100_0xfa27,_0x9bfc29=a100_0x20b4,_0x422763=_0x3ef468();while(!![]){try{const _0x1cc6bf=-parseInt(_0x9bfc29(0x1de))/0x1+parseInt(_0x9bfc29(0x1d3))/0x2*(-parseInt(_0x9bfc29(0x1dd))/0x3)+parseInt(_0x9bfc29(0x1d5))/0x4*(-parseInt(_0x9bfc29(0x1e6))/0x5)+parseInt(_0x9bfc29(0x1d2))/0x6*(-parseInt(_0x9bfc29(0x1e3))/0x7)+-parseInt(_0x9bfc29(0x1ce))/0x8*(parseInt(_0x9bfc29(0x1e1))/0x9)+parseInt(_0x9bfc29(0x1cd))/0xa+parseInt(_0x9bfc29(0x1e2))/0xb*(parseInt(_0x9bfc29(0x1d1))/0xc);if(_0x1cc6bf===_0x3d93b9)break;else _0x422763[_0x3f109b(0x1aa)](_0x422763[_0x3f109b(0x1ab)]());}catch(_0x1a0be2){_0x422763[_0x3f109b(0x1aa)](_0x422763['shift']());}}}(a100_0x2416,0xebffc));import{z}from'zod';import{tool}from'@anthropic-ai/claude-agent-sdk';import{getAgentState}from'../agent/loop.js';import{saveOwnerConfig}from'../config/index.js';export const setSleepIntervalTool=tool(a100_0x54d829(0x1da),a100_0x54d829(0x1df),{'minutes':z[a100_0x54d829(0x1e0)]()[a100_0x54d829(0x1d9)](0x1)[a100_0x54d829(0x1db)](0x5a0)[a100_0x54d829(0x1dc)](a100_0x54d829(0x1e5))},async _0x309ebf=>{const _0x1b13e9=a100_0xfa27,_0x2ed540=a100_0x54d829,_0x3a3c9b=await Promise[_0x2ed540(0x1d0)](getAgentState()),_0x375575=_0x3a3c9b[_0x2ed540(0x1cf)][_0x2ed540(0x1e4)];return _0x3a3c9b[_0x2ed540(0x1cf)][_0x2ed540(0x1e4)]=_0x309ebf[_0x1b13e9(0x181)]*0x3c*0x3e8,saveOwnerConfig(_0x3a3c9b[_0x2ed540(0x1cf)]),{'content':[{'type':_0x2ed540(0x1d6),'text':_0x1b13e9(0x191)+_0x375575/0xea60+_0x2ed540(0x1d4)+_0x309ebf[_0x2ed540(0x1d8)]+_0x2ed540(0x1d7)}]};});
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/tools/upgrade.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2BxB,eAAO,MAAM,WAAW;;EAqIvB,CAAC"}
|
package/dist/tools/upgrade.js
CHANGED
|
@@ -4,6 +4,7 @@ import { z } from "zod";
|
|
|
4
4
|
import { tool } from "@anthropic-ai/claude-agent-sdk";
|
|
5
5
|
import { getCurrentVersion, getLatestNpmVersion, compareSemver, fetchChangelogFromNpm, getInstallationInfo, } from "../utils/version-check.js";
|
|
6
6
|
import { detectProcessManager, scheduleRestart } from "../utils/restart.js";
|
|
7
|
+
import { runGracefulShutdown } from "../agent/state.js";
|
|
7
8
|
const execAsync = promisify(exec);
|
|
8
9
|
const PACKAGE_NAME = "visionclaw";
|
|
9
10
|
const RESTART_DELAY = 10_000;
|
|
@@ -88,7 +89,7 @@ export const upgradeTool = tool("upgrade", "Check for new versions of VisionClaw
|
|
|
88
89
|
}
|
|
89
90
|
const procManager = detectProcessManager();
|
|
90
91
|
if (procManager) {
|
|
91
|
-
scheduleRestart(RESTART_DELAY);
|
|
92
|
+
scheduleRestart(RESTART_DELAY, runGracefulShutdown);
|
|
92
93
|
return {
|
|
93
94
|
content: [
|
|
94
95
|
{
|
|
@@ -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,EACL,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/tools/upgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,164 +1 @@
|
|
|
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
|
|
1
|
+
const a103_0x46f13a=a103_0x1856;(function(_0x28818b,_0x4c3bd6){const _0x374242=a103_0x1856,_0x4d3c70=_0x28818b();while(!![]){try{const _0x5219c6=parseInt(_0x374242(0x87))/0x1+-parseInt(_0x374242(0xaa))/0x2*(parseInt(_0x374242(0x75))/0x3)+parseInt(_0x374242(0xbf))/0x4*(parseInt(_0x374242(0x70))/0x5)+-parseInt(_0x374242(0xb5))/0x6*(-parseInt(_0x374242(0xa2))/0x7)+parseInt(_0x374242(0x7c))/0x8+-parseInt(_0x374242(0x7e))/0x9+-parseInt(_0x374242(0x9a))/0xa*(-parseInt(_0x374242(0x8f))/0xb);if(_0x5219c6===_0x4c3bd6)break;else _0x4d3c70['push'](_0x4d3c70['shift']());}catch(_0x4bd4ee){_0x4d3c70['push'](_0x4d3c70['shift']());}}}(a103_0x4cdc,0x5dc6b));function a103_0x4cdc(){const _0x5f2871=['qu05uejh','nZK2nZnxtfPPD0C','y2HHCKf0','DhjPBq','q005mujnCq','q2DMmefNnuHcD3u','C2HPzNq','q2DMwumYDq','vMvYC2LVBIbJAgvJAZOGBgf0zxn0pq','DNL0sNHy','vMvYC2LVBIbJAgvJAZOGzMv0y2HLzcbJAgfUz2vSB2CGka','BgfZDenOzwnRqxq','mta1meDNvKTrEq','DxrMltG','DK12wumYtfzcswjkqwD2sKfAt0DdtxzkqJnQs0f3nu5PzZvwrgDmtuf3BKHez0XwqKLItuiZAuDerW','BuPLm250ytjcDM5jru5iAG','CMvHzezPBgvtEw5J','qZnYserODLPXmJLlENe','BNrIB0eXuffbs1C','y2HHCKnVzgvbDa','mJCXnZKXofjWr0Hoqq','BLPdnefMrhj5s1rx','BNrhmw5Kytb3z2zArhzqsa','C3rYAw5NAwz5','DK12wumYtfzcswjkqwD2sKfAt0Dcz2zArgqW','AgvHzgvYCW','rhHYtwX0rW','q012shPLELbcz3z0rxC1sG','ntuZnej5t3DnDG','Aw5KzxHpzG','AM9PBG','DMvYC2LVBG','vMvYC2LVBIbJAgvJAZOGzMfPBgvKihrVigzLDgnOignOyw5NzwXVzZOG','rdjMwujh','z2v0','CMvZB2X2zq','qNDMvW','BK1msenmDLvfCq','BvPPmM50EtrTzLbPquXevxPx','nNfQAhHYqG','q2H2wKfH','DK12wumYtfzcswjkqwD2sKfAt0D6EeGWq01MsKrNDKTPz25pExC1tNP3wfz6wwjAENDUmef3ovvdwwfp','BgnIwer3DLLfD0XvELLIvunNmfvSstq','qK05mW','qMD2vxOZCK8','BNrXmw1KCvPTzgi0CZnIz3LoBq','BgvUz3rO','C3bSAxq','DK12wumYtfzcswjkqwD2sKfAt0D6txyWEtjiuejnq0D5mKHiqK1etejNou5Pz3PzqJiWrW','ndu5otzprxzUteu','ENHQwuiZAq','Aw9Rz0Tjyq','rgHQuejX','DMvYC2LVBI1JAgvJAY5QC29U','zNjVBunOyxjdB2rL','BuPYshPOCJbbtNu','C2XPy2u','mtbcvfbiBgW','qZnIu0f4Cq','ChvZAa','t1PksLb4','EMD2sur3qW','oda3vvnzy2HX','re1mwKf3ovv5mLHirfC','BdbUAxf1nwHYDvHWCLK1vhPH','AwH6tenoBLbcmJrhBhmXuumYovu','qK5IvgLOBK9cm0nh','Dg9tDhjPBMC','EMDMmhLX','ndaZnJmYzMfgq0rn','vg9Vig1HBNKGCMvKAxjLy3rZ','nJe4nta3mevrwgH6uq','Bg9JyxrPB24','BMrTm21kCtjUtMzmEK5YtKjx','C2zYDxvJyq','rgC5ANuWoxreAgPqqK1d','BgnItxP4CKPbz0XvELLIsKfNzLv6mNztqJjdvwXjna','q012uxP3BJa','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExPbqKneruzhseLks0XntK9quvjtvfvwv1HzwJaXmJm0nty3odKRlZ0','rdnQuerNDMDbD1HmDtnmvxLx','ntKZnde5qxPpv0fd','yu1cwevs','BeK0vMXjnfzdz2zkqtjMtNPZnvfdmJLv','ENHithLx','Ahr0Chm6lY91BNbRzY5JB20V','qND2wKmYzK56Cq','Bwm0v2Xkyq'];a103_0x4cdc=function(){return _0x5f2871;};return a103_0x4cdc();}const a103_0x2ce713=a103_0x4078;(function(_0x15680e,_0x292b03){const _0xccca56=a103_0x1856,_0x2aab17=a103_0x4078,_0x33e13a=_0x15680e();while(!![]){try{const _0x33da35=-parseInt(_0x2aab17(0x178))/0x1*(parseInt(_0x2aab17(0x17f))/0x2)+-parseInt(_0x2aab17(0x186))/0x3*(parseInt(_0x2aab17(0x182))/0x4)+parseInt(_0x2aab17(0x16e))/0x5*(parseInt(_0x2aab17(0x19a))/0x6)+-parseInt(_0x2aab17(0x198))/0x7*(parseInt(_0x2aab17(0x189))/0x8)+parseInt(_0x2aab17(0x188))/0x9+-parseInt(_0x2aab17(0x179))/0xa*(parseInt(_0x2aab17(0x18a))/0xb)+parseInt(_0x2aab17(0x17a))/0xc;if(_0x33da35===_0x292b03)break;else _0x33e13a[_0xccca56(0x72)](_0x33e13a['shift']());}catch(_0xde6bf9){_0x33e13a[_0xccca56(0x72)](_0x33e13a[_0xccca56(0x94)]());}}}(a103_0x9eb1,0xe69ab));import{exec}from'node:child_process';import{promisify}from'node:util';function a103_0x4078(_0x16e1f8,_0x1d7cb9){const _0x2e79f8=a103_0x1856;_0x16e1f8=_0x16e1f8-0x16d;const _0x36d0c5=a103_0x9eb1();let _0x1d49c6=_0x36d0c5[_0x16e1f8];if(a103_0x4078[_0x2e79f8(0x73)]===undefined){var _0x220036=function(_0x4bf8db){const _0x50ec49=_0x2e79f8,_0x5d3ddd=_0x50ec49(0x85);let _0x3e7fcc='',_0x347b98='';for(let _0x167d7b=0x0,_0x4f3119,_0x22d3a3,_0x2bf4dc=0x0;_0x22d3a3=_0x4bf8db[_0x50ec49(0x90)](_0x2bf4dc++);~_0x22d3a3&&(_0x4f3119=_0x167d7b%0x4?_0x4f3119*0x40+_0x22d3a3:_0x22d3a3,_0x167d7b++%0x4)?_0x3e7fcc+=String[_0x50ec49(0xc4)](0xff&_0x4f3119>>(-0x2*_0x167d7b&0x6)):0x0){_0x22d3a3=_0x5d3ddd[_0x50ec49(0xab)](_0x22d3a3);}for(let _0x2b3130=0x0,_0x3b57a1=_0x3e7fcc['length'];_0x2b3130<_0x3b57a1;_0x2b3130++){_0x347b98+='%'+('00'+_0x3e7fcc[_0x50ec49(0xa1)](_0x2b3130)[_0x50ec49(0x7a)](0x10))[_0x50ec49(0xc6)](-0x2);}return decodeURIComponent(_0x347b98);};a103_0x4078[_0x2e79f8(0x88)]=_0x220036,a103_0x4078[_0x2e79f8(0x97)]={},a103_0x4078[_0x2e79f8(0x73)]=!![];}const _0x33fda7=_0x36d0c5[0x0],_0x5ecd64=_0x16e1f8+_0x33fda7,_0x2aa8f1=a103_0x4078[_0x2e79f8(0x97)][_0x5ecd64];return!_0x2aa8f1?(_0x1d49c6=a103_0x4078[_0x2e79f8(0x88)](_0x1d49c6),a103_0x4078[_0x2e79f8(0x97)][_0x5ecd64]=_0x1d49c6):_0x1d49c6=_0x2aa8f1,_0x1d49c6;}import a103_0x39b1e4 from'node:fs';import a103_0x47d96 from'node:path';import a103_0x588d94 from'node:https';import{getConfigDir}from'../config/index.js';import{logger}from'../logger.js';function a103_0x9eb1(){const _0x496010=a103_0x1856,_0x5674d3=[_0x496010(0x74),'BwLUigr1zt0',_0x496010(0xc1),_0x496010(0xc0),_0x496010(0x8c),_0x496010(0x76),_0x496010(0x83),'ignOyxjZkq',_0x496010(0xa8),_0x496010(0x80),_0x496010(0x9f),_0x496010(0x9d),_0x496010(0x95),_0x496010(0x79),'vMvYC2LVBIbJAgvJAZOGywXYzwfKEsb1Ccb0BYbKyxrL',_0x496010(0xa9),_0x496010(0x7b),_0x496010(0xb6),_0x496010(0xba),_0x496010(0xbe),_0x496010(0x84),_0x496010(0xb2),_0x496010(0xc2),_0x496010(0xa0),'igvSyxbZzwq9',_0x496010(0x8a),_0x496010(0xb9),_0x496010(0xb8),_0x496010(0x8e),_0x496010(0x93),'vMvYC2LVBIbJAgvJAZOGy3vYCMvUDd0','Bg9JyxrPB24',_0x496010(0x9c),'mZyZmM11DKrtzq',_0x496010(0xb4),_0x496010(0xbb),_0x496010(0x81),_0x496010(0x92),'BgfZDenOzwnRqxq','BMv2zxi',_0x496010(0xa3),_0x496010(0x71),_0x496010(0xb7),_0x496010(0xa4),_0x496010(0x8d),_0x496010(0x78),_0x496010(0xaf),_0x496010(0xb3),_0x496010(0x86),'mJq1mZu4mezLAgX4Aa',_0x496010(0xc5),'mJjlBxfjvLq',_0x496010(0xa6),_0x496010(0x89),_0x496010(0x82),_0x496010(0x77)];return a103_0x9eb1=function(){return _0x5674d3;},a103_0x9eb1();}const execAsync=promisify(exec),PACKAGE_NAME=a103_0x2ce713(0x194),PACKAGE_JSON_PATH=a103_0x47d96[a103_0x46f13a(0xb1)](new URL('.',import.meta.url)[a103_0x2ce713(0x174)],a103_0x2ce713(0x18c)),CHECK_INTERVAL_MS=0x18*0x3c*0x3c*0x3e8,STATE_FILENAME=a103_0x46f13a(0xc3);export function getCurrentVersion(){const _0x44ffdc=a103_0x46f13a,_0x57b2ac=a103_0x2ce713;try{const _0x2a0911=JSON[_0x57b2ac(0x19b)](a103_0x39b1e4[_0x57b2ac(0x19e)](PACKAGE_JSON_PATH,_0x57b2ac(0x197)));return _0x2a0911[_0x44ffdc(0xad)]??_0x57b2ac(0x183);}catch{return _0x57b2ac(0x183);}}export function compareSemver(_0x504928,_0x301299){const _0x1074ed=a103_0x46f13a,_0x418678=a103_0x2ce713,_0x5afda0=_0x11528d=>_0x11528d[_0x1074ed(0xbd)]('.')[_0x418678(0x1a4)](_0x186f28=>parseInt(_0x186f28,0xa)||0x0),[_0x2c6c48,_0x2365b3,_0x124c34]=_0x5afda0(_0x504928),[_0x4361f0,_0x437da9,_0x23e671]=_0x5afda0(_0x301299);if(_0x2c6c48!==_0x4361f0)return _0x2c6c48-_0x4361f0;if(_0x2365b3!==_0x437da9)return _0x2365b3-_0x437da9;return _0x124c34-_0x23e671;}export async function getLatestNpmVersion(){const _0x205dbf=a103_0x2ce713,{stdout:_0x4aab52}=await execAsync(_0x205dbf(0x19c)+PACKAGE_NAME+_0x205dbf(0x184));return JSON[_0x205dbf(0x19b)](_0x4aab52[_0x205dbf(0x16d)]());}function getStatePath(){const _0x33b913=a103_0x2ce713;return a103_0x47d96[_0x33b913(0x173)](getConfigDir(),STATE_FILENAME);}function loadState(){const _0x432967=a103_0x46f13a,_0x4aeb2b=a103_0x2ce713;try{const _0x391e30=a103_0x39b1e4[_0x432967(0x9e)](getStatePath(),_0x432967(0x9b));return JSON[_0x4aeb2b(0x19b)](_0x391e30);}catch{return{'lastCheckAt':0x0};}}function saveState(_0x4e8cbc){const _0x22707b=a103_0x46f13a,_0x559321=a103_0x2ce713;try{a103_0x39b1e4[_0x559321(0x187)](getStatePath(),JSON[_0x22707b(0xa5)](_0x4e8cbc,null,0x2),_0x559321(0x197));}catch{}}export function shouldNotifyUpdate(){const _0xeb43b8=a103_0x46f13a,_0x4ef288=a103_0x2ce713,_0x4d1848=loadState(),_0x3a62c2=Date[_0x4ef288(0x171)]()-_0x4d1848[_0x4ef288(0x17d)],_0x3c2909=_0x3a62c2>=CHECK_INTERVAL_MS;return logger[_0x4ef288(0x18f)](_0x4ef288(0x18b)+(_0x4d1848[_0x4ef288(0x17d)]?new Date(_0x4d1848[_0xeb43b8(0x99)])[_0x4ef288(0x18d)]():_0x4ef288(0x17e))+_0x4ef288(0x16f)+Math[_0x4ef288(0x17c)](_0x3a62c2/0xea60)+_0x4ef288(0x190)+_0x3c2909),_0x3c2909;}export function recordUpdateNotification(_0x3de570){const _0x306903=a103_0x2ce713;logger[_0x306903(0x18f)](_0x306903(0x177)+_0x3de570),saveState({'lastCheckAt':Date[_0x306903(0x171)](),'lastNotifiedVersion':_0x3de570});}function a103_0x1856(_0x46b94a,_0x2ef25f){_0x46b94a=_0x46b94a-0x70;const _0x4cdcd8=a103_0x4cdc();let _0x1856cf=_0x4cdcd8[_0x46b94a];if(a103_0x1856['jOFPui']===undefined){var _0x1f7ef3=function(_0x362bba){const _0x12e201='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39b1e4='',_0x47d96='';for(let _0x588d94=0x0,_0x15680e,_0x292b03,_0x2aab17=0x0;_0x292b03=_0x362bba['charAt'](_0x2aab17++);~_0x292b03&&(_0x15680e=_0x588d94%0x4?_0x15680e*0x40+_0x292b03:_0x292b03,_0x588d94++%0x4)?_0x39b1e4+=String['fromCharCode'](0xff&_0x15680e>>(-0x2*_0x588d94&0x6)):0x0){_0x292b03=_0x12e201['indexOf'](_0x292b03);}for(let _0x33e13a=0x0,_0x33da35=_0x39b1e4['length'];_0x33e13a<_0x33da35;_0x33e13a++){_0x47d96+='%'+('00'+_0x39b1e4['charCodeAt'](_0x33e13a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47d96);};a103_0x1856['FSohkP']=_0x1f7ef3,a103_0x1856['kvKZaH']={},a103_0x1856['jOFPui']=!![];}const _0x184c49=_0x4cdcd8[0x0],_0x24a1ec=_0x46b94a+_0x184c49,_0xbd8ea7=a103_0x1856['kvKZaH'][_0x24a1ec];return!_0xbd8ea7?(_0x1856cf=a103_0x1856['FSohkP'](_0x1856cf),a103_0x1856['kvKZaH'][_0x24a1ec]=_0x1856cf):_0x1856cf=_0xbd8ea7,_0x1856cf;}export async function fetchChangelogFromNpm(_0x5a4e46,_0x329611){const _0x4b6623=a103_0x46f13a,_0x24cc2a=a103_0x2ce713;try{const _0x251653=_0x4b6623(0x8b)+PACKAGE_NAME+'@'+_0x5a4e46+_0x24cc2a(0x18e);logger[_0x24cc2a(0x18f)](_0x24cc2a(0x1a2)+_0x251653);const _0x5bb499=await httpGet(_0x251653);logger[_0x24cc2a(0x18f)](_0x4b6623(0x98)+_0x5bb499[_0x4b6623(0xbc)]+'\x20bytes)');const _0x38b947=extractChangelogSections(_0x5bb499,_0x329611);return logger[_0x24cc2a(0x18f)](_0x24cc2a(0x181)+_0x38b947[_0x24cc2a(0x1a1)]+_0x24cc2a(0x196)),_0x38b947;}catch(_0x5739e8){return logger[_0x24cc2a(0x185)](_0x4b6623(0xae)+(_0x5739e8 instanceof Error?_0x5739e8[_0x24cc2a(0x193)]:String(_0x5739e8))),undefined;}}function extractChangelogSections(_0x47aae1,_0x4dcd51){const _0x36d366=a103_0x46f13a,_0x5d561c=a103_0x2ce713,_0xc85674=_0x47aae1[_0x5d561c(0x180)]('\x0a'),_0x1a53b4=[];let _0x54b2a6=![];for(const _0x579796 of _0xc85674){const _0x4884a5=/^## \[([^\]]+)\]/[_0x5d561c(0x170)](_0x579796);if(_0x4884a5){const _0x52e636=_0x4884a5[0x1];if(compareSemver(_0x52e636,_0x4dcd51)<=0x0)break;_0x54b2a6=!![];}_0x54b2a6&&_0x1a53b4[_0x5d561c(0x1a0)](_0x579796);}return _0x1a53b4[_0x36d366(0xac)]('\x0a')[_0x36d366(0x91)]();}function httpGet(_0x4e4a13,_0x5195b0=0x0){const _0x389c24=a103_0x46f13a,_0x56a765=a103_0x2ce713;if(_0x5195b0>0x5)return Promise[_0x56a765(0x1a3)](new Error(_0x389c24(0x7d)));return new Promise((_0x4f156a,_0x29298e)=>{const _0x296d56=_0x389c24,_0x379651=_0x56a765;a103_0x588d94[_0x296d56(0xb0)](_0x4e4a13,{'timeout':0x2710},_0x3d7bc5=>{const _0x446d1d=_0x296d56,_0x28683e=a103_0x4078;if(_0x3d7bc5[_0x28683e(0x199)]&&_0x3d7bc5[_0x28683e(0x199)]>=0x12c&&_0x3d7bc5[_0x28683e(0x199)]<0x190&&_0x3d7bc5[_0x446d1d(0xa7)][_0x446d1d(0x7f)]){_0x4f156a(httpGet(_0x3d7bc5[_0x446d1d(0xa7)][_0x28683e(0x176)],_0x5195b0+0x1));return;}if(_0x3d7bc5[_0x28683e(0x199)]&&_0x3d7bc5[_0x28683e(0x199)]>=0x190){_0x29298e(new Error(_0x28683e(0x17b)+_0x3d7bc5['statusCode']));return;}let _0x2e5c2f='';_0x3d7bc5['on'](_0x28683e(0x19f),_0x1cca9c=>{_0x2e5c2f+=_0x1cca9c['toString']();}),_0x3d7bc5['on']('end',()=>_0x4f156a(_0x2e5c2f)),_0x3d7bc5['on'](_0x28683e(0x192),_0x29298e);})['on'](_0x379651(0x192),_0x29298e);});}export async function checkForUpdate(){const _0x5f2160=a103_0x46f13a,_0x4e685f=a103_0x2ce713,_0x10a9a7=getCurrentVersion();logger['debug'](_0x4e685f(0x175)+_0x10a9a7+_0x4e685f(0x172));const _0x597ad6=await getLatestNpmVersion();logger[_0x4e685f(0x18f)](_0x5f2160(0x96)+_0x597ad6);if(compareSemver(_0x597ad6,_0x10a9a7)<=0x0)return logger['debug'](_0x4e685f(0x19d)),{'currentVersion':_0x10a9a7,'latestVersion':_0x597ad6,'hasUpdate':![]};logger[_0x4e685f(0x18f)]('Version\x20check:\x20update\x20available\x20'+_0x10a9a7+_0x4e685f(0x191)+_0x597ad6+_0x4e685f(0x195));const _0x40f53a=await fetchChangelogFromNpm(_0x597ad6,_0x10a9a7);return{'currentVersion':_0x10a9a7,'latestVersion':_0x597ad6,'hasUpdate':!![],'changelog':_0x40f53a};}
|
package/dist/tools/web-search.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
//# sourceMappingURL=web-search.js.map
|
|
1
|
+
export{};
|