visionclaw 0.1.81 → 0.1.82
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 +9 -0
- package/dist/agent/onboarding-gate.d.ts.map +1 -1
- package/dist/agent/onboarding-gate.js +8 -1
- package/dist/agent/onboarding-gate.js.map +1 -1
- package/dist/onboarding/send-invite.d.ts.map +1 -1
- package/dist/onboarding/send-invite.js +6 -1
- package/dist/onboarding/send-invite.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
## [0.1.82](https://github.com/babelcloud/visionclaw/compare/v0.1.81...v0.1.82) (2026-03-03)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **onboarding:** implement email sending timeout and logging enhancements ([6398a94](https://github.com/babelcloud/visionclaw/commit/6398a946e9db05aea68f1e4da33e6ef5f65474c6))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
1
10
|
## [0.1.81](https://github.com/babelcloud/visionclaw/compare/v0.1.80...v0.1.81) (2026-03-03)
|
|
2
11
|
|
|
3
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding-gate.d.ts","sourceRoot":"","sources":["../../src/agent/onboarding-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAMzD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"onboarding-gate.d.ts","sourceRoot":"","sources":["../../src/agent/onboarding-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAMzD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,OAAO,CAAC,CAuElB"}
|
|
@@ -21,8 +21,15 @@ export async function runOnboardingGate(config, channelManager, messageQueue) {
|
|
|
21
21
|
const partialOwner = loadOwnerConfig();
|
|
22
22
|
logger.system("Owner onboarding not complete. Entering onboarding mode...");
|
|
23
23
|
if (!partialOwner.onboardingCodeVerified) {
|
|
24
|
+
logger.system("Sending onboarding email...");
|
|
24
25
|
try {
|
|
25
|
-
|
|
26
|
+
const EMAIL_TIMEOUT_MS = 30_000;
|
|
27
|
+
await Promise.race([
|
|
28
|
+
sendOnboardingEmail(config, partialOwner),
|
|
29
|
+
new Promise((_resolve, reject) => {
|
|
30
|
+
setTimeout(() => reject(new Error("Timed out after 30s")), EMAIL_TIMEOUT_MS);
|
|
31
|
+
}),
|
|
32
|
+
]);
|
|
26
33
|
}
|
|
27
34
|
catch (err) {
|
|
28
35
|
logger.err(`Failed to send onboarding email: ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding-gate.js","sourceRoot":"","sources":["../../src/agent/onboarding-gate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAwB,EACxB,cAA8B,EAC9B,YAA0B;IAE1B,IAAI,oBAAoB,EAAE;QAAE,OAAO,KAAK,CAAC;IAEzC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACzB,MAAM,CAAC,MAAM,CACX,sFAAsF,CACvF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC;IAE5E,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"onboarding-gate.js","sourceRoot":"","sources":["../../src/agent/onboarding-gate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAwB,EACxB,cAA8B,EAC9B,YAA0B;IAE1B,IAAI,oBAAoB,EAAE;QAAE,OAAO,KAAK,CAAC;IAEzC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACzB,MAAM,CAAC,MAAM,CACX,sFAAsF,CACvF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC;IAE5E,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,CAAC;YAChC,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC;gBACzC,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;oBACtC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;gBAC/E,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CACR,oCAAoC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,MAAM,CAAC,6DAA6D,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAE9F,MAAM,SAAS,GAAG,KAAK,EAAE,MAAc,EAAE,IAAY,EAAiB,EAAE;QACtE,MAAM,cAAc,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC,CAAC;IAEF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAChC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;oBACnC,IAAI,CAAC,GAAG;wBAAE,SAAS;oBAEnB,IAAI,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;wBAC/B,MAAM,CAAC,KAAK,CAAC,wBAAwB,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC;wBAC5D,SAAS;oBACX,CAAC;oBAED,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,EAAE;wBACzF,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;qBACf,CAAC,CAAC;oBAEH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBACzD,IAAI,IAAI,EAAE,CAAC;wBACT,OAAO,EAAE,CAAC;wBACV,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,2EAA2E,CAAC,CAAC;IAE3F,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-invite.d.ts","sourceRoot":"","sources":["../../src/onboarding/send-invite.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"send-invite.d.ts","sourceRoot":"","sources":["../../src/onboarding/send-invite.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAuB7D;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAsDf;AAqBD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,IAAI,CAAC,CAmCf"}
|
|
@@ -5,7 +5,9 @@ import { logger } from "../logger.js";
|
|
|
5
5
|
*/
|
|
6
6
|
async function resolveBotUsername(botToken) {
|
|
7
7
|
try {
|
|
8
|
-
const res = await fetch(`https://api.telegram.org/bot${botToken}/getMe
|
|
8
|
+
const res = await fetch(`https://api.telegram.org/bot${botToken}/getMe`, {
|
|
9
|
+
signal: AbortSignal.timeout(10_000),
|
|
10
|
+
});
|
|
9
11
|
const data = (await res.json());
|
|
10
12
|
return data.ok ? (data.result?.username ?? null) : null;
|
|
11
13
|
}
|
|
@@ -23,10 +25,12 @@ export async function sendOnboardingEmail(config, ownerConfig) {
|
|
|
23
25
|
if (!botToken) {
|
|
24
26
|
throw new Error("Telegram is not configured. Cannot send onboarding email without a Telegram bot.");
|
|
25
27
|
}
|
|
28
|
+
logger.debug("Resolving Telegram bot username...");
|
|
26
29
|
const botUsername = await resolveBotUsername(botToken);
|
|
27
30
|
if (!botUsername) {
|
|
28
31
|
throw new Error("Could not resolve Telegram bot username. Check the bot token in config.json.");
|
|
29
32
|
}
|
|
33
|
+
logger.debug(`Bot username resolved: @${botUsername}`);
|
|
30
34
|
const code = ownerConfig.onboardingCode;
|
|
31
35
|
if (!code) {
|
|
32
36
|
throw new Error("No onboarding code found in owner.json.");
|
|
@@ -50,6 +54,7 @@ Your verification code: ${code}
|
|
|
50
54
|
If you don't have Telegram installed, you can get it at https://telegram.org
|
|
51
55
|
|
|
52
56
|
Looking forward to working with you!`;
|
|
57
|
+
logger.debug(`Sending onboarding email to ${ownerConfig.ownerEmail}...`);
|
|
53
58
|
const emailClient = new GmailEmailClient(config);
|
|
54
59
|
await emailClient.sendEmail({
|
|
55
60
|
to: ownerConfig.ownerEmail,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-invite.js","sourceRoot":"","sources":["../../src/onboarding/send-invite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IAChD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,+BAA+B,QAAQ,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"send-invite.js","sourceRoot":"","sources":["../../src/onboarding/send-invite.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.82",
|
|
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",
|