@voko/lite 0.3.1
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/package.json +32 -0
- package/scripts/build-native.js +72 -0
- package/src/bankHeadOffices.js +20543 -0
- package/src/channels/email.js +35 -0
- package/src/channels/feishu.js +31 -0
- package/src/channels/qq-email.js +30 -0
- package/src/channels/registry.js +279 -0
- package/src/channels/telegram.js +28 -0
- package/src/channels/voko-email.js +7 -0
- package/src/channels/wechat.js +35 -0
- package/src/cli.js +120 -0
- package/src/context.js +164 -0
- package/src/core/access-control-api.js +150 -0
- package/src/core/access-control.js +56 -0
- package/src/core/agent-registration.js +319 -0
- package/src/core/api-signature.js +33 -0
- package/src/core/audit.js +133 -0
- package/src/core/database.js +1409 -0
- package/src/core/did-auth.js +54 -0
- package/src/core/hermes-paths.js +57 -0
- package/src/core/invitation.js +49 -0
- package/src/core/lite-bus.js +16 -0
- package/src/core/llm-client.js +1032 -0
- package/src/core/messenger.js +456 -0
- package/src/core/notifier.js +99 -0
- package/src/core/offline-sync.js +150 -0
- package/src/core/payment.js +285 -0
- package/src/core/publish-agent.js +166 -0
- package/src/core/register-capabilities.js +119 -0
- package/src/core/search-capabilities.js +136 -0
- package/src/core/send-message.js +85 -0
- package/src/core/set-agent-status.js +65 -0
- package/src/core/update-agent-profile.js +102 -0
- package/src/core/worker-manager.js +332 -0
- package/src/endpoints.json +21 -0
- package/src/index.js +712 -0
- package/src/mcp/CLAUDE_TEST.md +82 -0
- package/src/mcp/FULL_TEST.md +139 -0
- package/src/mcp/TEST.md +124 -0
- package/src/mcp/TEST_STEPS.md +75 -0
- package/src/mcp/server.js +612 -0
- package/src/mcp/tools.js +1367 -0
- package/src/mcp/transport/http.js +95 -0
- package/src/mcp/transport/stdio.js +20 -0
- package/src/preload.js +27 -0
- package/src/server/agent-email-api.js +120 -0
- package/src/server/agent-manager.js +580 -0
- package/src/server/email-handler.js +329 -0
- package/src/server/feishu-handler.js +249 -0
- package/src/server/hermes-api-client.js +166 -0
- package/src/server/hermes-discovery.js +80 -0
- package/src/server/hermes-handler.js +287 -0
- package/src/server/openclaw-handler-cli.js +131 -0
- package/src/server/openclaw-websocket-handler.js +1290 -0
- package/src/server/oss.js +186 -0
- package/src/server/owner-intervention-notifier.js +320 -0
- package/src/server/release-page.html +204 -0
- package/src/server/telegram-handler.js +208 -0
- package/src/server/voko-email-handler.js +68 -0
- package/src/server/wechat-handler.js +439 -0
- package/src/workers/agent-worker.js +378 -0
- package/src/workers/message-content.js +51 -0
package/package.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@voko/lite",
|
|
3
|
+
"version": "0.3.1",
|
|
4
|
+
"description": "VOKO Lite — 纯 Node.js 轻量版,通过 MCP 供 agent 使用",
|
|
5
|
+
"type": "commonjs",
|
|
6
|
+
"main": "src/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"voko": "src/index.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"src/",
|
|
12
|
+
"scripts/",
|
|
13
|
+
"package.json"
|
|
14
|
+
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"postinstall": "node scripts/build-native.js",
|
|
17
|
+
"build:native": "node scripts/build-native.js",
|
|
18
|
+
"start": "node src/index.js"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
22
|
+
"@noble/ed25519": "^3.1.0",
|
|
23
|
+
"@larksuiteoapi/node-sdk": "^1.62.1",
|
|
24
|
+
"better-sqlite3": "^12.11.1",
|
|
25
|
+
"express": "^5.2.1",
|
|
26
|
+
"imapflow": "^1.3.3",
|
|
27
|
+
"nodemailer": "^8.0.7",
|
|
28
|
+
"postal-mime": "^2.7.4",
|
|
29
|
+
"qrcode": "^1.5.4",
|
|
30
|
+
"wukongimjssdk": "^1.3.5"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* 编译 Lite 专用的 better-sqlite3(系统 Node.js 版)
|
|
4
|
+
*
|
|
5
|
+
* 开发环境:从 monorepo 根复制 + 编译
|
|
6
|
+
* 生产环境:npm install 后自动下载预编译版
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const fs = require('fs');
|
|
10
|
+
const path = require('path');
|
|
11
|
+
const { execSync } = require('child_process');
|
|
12
|
+
|
|
13
|
+
const ROOT = path.join(__dirname, '..');
|
|
14
|
+
const DST = path.join(ROOT, 'native', 'better-sqlite3');
|
|
15
|
+
const DST_BUILD = path.join(DST, 'build', 'Release', 'better_sqlite3.node');
|
|
16
|
+
|
|
17
|
+
async function main() {
|
|
18
|
+
// 检查是否已有编译产物
|
|
19
|
+
if (fs.existsSync(DST_BUILD)) {
|
|
20
|
+
console.log('[build-native] 已编译,跳过');
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
fs.mkdirSync(path.join(ROOT, 'native'), { recursive: true });
|
|
25
|
+
|
|
26
|
+
// 尝试从上级 node_modules 获取(monorepo 开发环境)
|
|
27
|
+
const srcCandidates = [
|
|
28
|
+
path.join(__dirname, '..', '..', '..', 'node_modules', 'better-sqlite3'), // monorepo
|
|
29
|
+
path.join(__dirname, '..', '..', 'node_modules', 'better-sqlite3'), // 子目录
|
|
30
|
+
path.join(ROOT, 'node_modules', 'better-sqlite3'), // 本地
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
let copied = false;
|
|
34
|
+
for (const src of srcCandidates) {
|
|
35
|
+
if (fs.existsSync(path.join(src, 'package.json'))) {
|
|
36
|
+
console.log('[build-native] 从', src, '复制...');
|
|
37
|
+
try { fs.rmSync(DST, { recursive: true }); } catch (_) {}
|
|
38
|
+
copyRecursive(src, DST);
|
|
39
|
+
copied = true;
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (!copied) {
|
|
45
|
+
// 生产环境:直接 npm install better-sqlite3 到 native/
|
|
46
|
+
console.log('[build-native] 未找到 better-sqlite3,安装中...');
|
|
47
|
+
execSync('npm install better-sqlite3@12 --no-save --prefix native', { cwd: ROOT, stdio: 'inherit' });
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// 清理旧 build + 重新编译
|
|
52
|
+
try { fs.rmSync(path.join(DST, 'build'), { recursive: true }); } catch (_) {}
|
|
53
|
+
console.log('[build-native] 编译中...');
|
|
54
|
+
execSync('npm run install', { cwd: DST, stdio: 'inherit' });
|
|
55
|
+
console.log('[build-native] ✅ 完成');
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function copyRecursive(src, dst) {
|
|
59
|
+
fs.mkdirSync(dst, { recursive: true });
|
|
60
|
+
for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
|
|
61
|
+
if (entry.name === 'build' || entry.name === '.git') continue;
|
|
62
|
+
const s = path.join(src, entry.name);
|
|
63
|
+
const d = path.join(dst, entry.name);
|
|
64
|
+
if (entry.isDirectory()) copyRecursive(s, d);
|
|
65
|
+
else fs.copyFileSync(s, d);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
main().catch(err => {
|
|
70
|
+
console.error('[build-native] 失败:', err.message);
|
|
71
|
+
process.exit(1);
|
|
72
|
+
});
|