elseid-mcp 1.0.0 → 1.0.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/dist/scripts/cli.js +87 -100
- package/dist/scripts/cli.js.map +1 -1
- package/dist/src/crypto/keypair.js +1 -1
- package/dist/src/crypto/keypair.js.map +1 -1
- package/dist/src/index.js +16 -16
- package/dist/src/index.js.map +1 -1
- package/dist/src/nostr/ws_pool.js +4 -4
- package/dist/src/nostr/ws_pool.js.map +1 -1
- package/dist/src/relay/broadcaster.js +2 -2
- package/dist/src/relay/broadcaster.js.map +1 -1
- package/dist/src/relay/health.js +2 -2
- package/dist/src/relay/health.js.map +1 -1
- package/dist/src/storage/db.js +2 -2
- package/dist/src/storage/db.js.map +1 -1
- package/package.json +1 -1
package/dist/scripts/cli.js
CHANGED
|
@@ -5,107 +5,101 @@ import os from "os";
|
|
|
5
5
|
import { checkbox, select } from "@inquirer/prompts";
|
|
6
6
|
import chalk from "chalk";
|
|
7
7
|
import { fileURLToPath } from 'url';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
function getExecutionDetails() {
|
|
22
|
-
if (isRemoteRun) {
|
|
23
|
-
return {
|
|
24
|
-
command: "npx",
|
|
25
|
-
args: ["-y", "elseid-mcp", "--stdio"]
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
return {
|
|
30
|
-
command: "node",
|
|
31
|
-
args: [path.join(projectRoot, "dist/src/index.js"), "--stdio"]
|
|
32
|
-
};
|
|
33
|
-
}
|
|
8
|
+
import { spawn } from "child_process";
|
|
9
|
+
// ──人格分裂逻辑:检测是否为 MCP 服务启动模式 ──────────────────────
|
|
10
|
+
// 如果检测到 --stdio 参数,说明是 AI 客户端在启动服务,我们直接跳转到服务端逻辑
|
|
11
|
+
if (process.argv.includes("--stdio")) {
|
|
12
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
+
const __dirname = path.dirname(__filename);
|
|
14
|
+
const serverPath = path.resolve(__dirname, "..", "src", "index.js");
|
|
15
|
+
// 启动真正的 MCP 服务进程
|
|
16
|
+
const child = spawn("node", [serverPath, ...process.argv.slice(2)], {
|
|
17
|
+
stdio: "inherit"
|
|
18
|
+
});
|
|
19
|
+
child.on("exit", (code) => process.exit(code ?? 0));
|
|
20
|
+
// 停止执行后续的 CLI 界面代码
|
|
34
21
|
}
|
|
35
|
-
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (
|
|
55
|
-
|
|
22
|
+
else {
|
|
23
|
+
// 继续执行原有的 CLI 安装界面逻辑
|
|
24
|
+
runCLI();
|
|
25
|
+
}
|
|
26
|
+
// ── Environment Detection ──────────────────────────────────────
|
|
27
|
+
async function runCLI() {
|
|
28
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
29
|
+
const __dirname = path.dirname(__filename);
|
|
30
|
+
const isRemoteRun = __dirname.includes('node_modules') || __dirname.includes('_npx');
|
|
31
|
+
const projectRoot = path.resolve(__dirname, '..');
|
|
32
|
+
const CONFIG_PATHS = {
|
|
33
|
+
claude: process.platform === "darwin"
|
|
34
|
+
? path.join(os.homedir(), "Library/Application Support/Claude/claude_desktop_config.json")
|
|
35
|
+
: path.join(os.homedir(), "AppData/Roaming/Claude/claude_desktop_config.json"),
|
|
36
|
+
opencode: path.join(os.homedir(), ".config/opencode/opencode.json"),
|
|
37
|
+
codex: path.join(os.homedir(), ".codex/config.toml"),
|
|
38
|
+
};
|
|
39
|
+
const mcpConfigName = "elseid-mcp";
|
|
40
|
+
function getExecutionDetails() {
|
|
41
|
+
if (isRemoteRun) {
|
|
42
|
+
return { command: "npx", args: ["-y", "elseid-mcp", "--stdio"] };
|
|
56
43
|
}
|
|
57
44
|
else {
|
|
58
|
-
|
|
45
|
+
return { command: "node", args: [path.join(projectRoot, "dist/src/index.js"), "--stdio"] };
|
|
59
46
|
}
|
|
60
|
-
fs.writeFileSync(configPath, content.trim() + "\n", "utf8");
|
|
61
|
-
return true;
|
|
62
47
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
48
|
+
const { command: cmd, args } = getExecutionDetails();
|
|
49
|
+
// ── Injection Logic ───────────────────────────────────────────
|
|
50
|
+
async function injectConfig(client, configPath) {
|
|
51
|
+
const dir = path.dirname(configPath);
|
|
52
|
+
if (!fs.existsSync(dir))
|
|
53
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
54
|
+
if (client === 'codex') {
|
|
55
|
+
let content = fs.existsSync(configPath) ? fs.readFileSync(configPath, "utf8") : "";
|
|
56
|
+
const mcpBlock = `\n[mcp_servers."${mcpConfigName}"]\ncommand = "${cmd}"\nargs = [${args.map(a => `"${a}"`).join(", ")}]\n`;
|
|
57
|
+
const regex = new RegExp(`\\[mcp_servers\\."${mcpConfigName}"\\][\\s\\S]*?(?=\\n\\[|$)`, 'g');
|
|
58
|
+
content = regex.test(content) ? content.replace(regex, mcpBlock.trim()) : content + mcpBlock;
|
|
59
|
+
fs.writeFileSync(configPath, content.trim() + "\n", "utf8");
|
|
60
|
+
return true;
|
|
68
61
|
}
|
|
69
|
-
|
|
70
|
-
|
|
62
|
+
let config = {};
|
|
63
|
+
if (fs.existsSync(configPath)) {
|
|
64
|
+
try {
|
|
65
|
+
config = JSON.parse(fs.readFileSync(configPath, "utf8"));
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
config = {};
|
|
69
|
+
}
|
|
71
70
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
config.mcpServers = {};
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
config.mcp = {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
config.commands =
|
|
93
|
-
|
|
94
|
-
|
|
71
|
+
if (client === 'claude') {
|
|
72
|
+
if (!config.mcpServers)
|
|
73
|
+
config.mcpServers = {};
|
|
74
|
+
config.mcpServers[mcpConfigName] = { command: cmd, args: args };
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
if (!config.mcp)
|
|
78
|
+
config.mcp = {};
|
|
79
|
+
config.mcp[mcpConfigName] = {
|
|
80
|
+
type: "local",
|
|
81
|
+
command: isRemoteRun ? ["npx", "-y", "elseid-mcp", "--stdio"] : [cmd, ...args],
|
|
82
|
+
enabled: true
|
|
83
|
+
};
|
|
84
|
+
if (client === 'opencode') {
|
|
85
|
+
const OPENCODE_COMMANDS = [
|
|
86
|
+
{ id: "elseid-home", name: "ElseID: Summon Butler", description: "Call your digital butler", prompt: "Hello Butler, manage my ElseID drifter." },
|
|
87
|
+
{ id: "elseid-status", name: "ElseID: Status", description: "Check your avatar status", prompt: "Run elseid_get_journey_log." }
|
|
88
|
+
];
|
|
89
|
+
if (!config.commands)
|
|
90
|
+
config.commands = [];
|
|
91
|
+
config.commands = config.commands.filter((c) => !c.id.startsWith("elseid-"));
|
|
92
|
+
config.commands.push(...OPENCODE_COMMANDS);
|
|
93
|
+
}
|
|
95
94
|
}
|
|
95
|
+
fs.writeFileSync(configPath, JSON.stringify(config, null, 2), "utf8");
|
|
96
|
+
return true;
|
|
96
97
|
}
|
|
97
|
-
|
|
98
|
-
return true;
|
|
99
|
-
}
|
|
100
|
-
// ── UI Styles ────────────────────────────────────────────────
|
|
101
|
-
const BRAND = chalk.hex('#8B94FF');
|
|
102
|
-
const SOCIAL_GREEN = chalk.greenBright;
|
|
103
|
-
const TECH_CYAN = chalk.cyan;
|
|
104
|
-
const DIM = chalk.gray;
|
|
105
|
-
const ITALIC = chalk.italic;
|
|
106
|
-
const SEPARATOR = DIM('—'.repeat(60));
|
|
107
|
-
async function main() {
|
|
98
|
+
// ── UI Logic ──────────────────────────────────────────────────
|
|
108
99
|
console.clear();
|
|
100
|
+
const BRAND = chalk.hex('#8B94FF');
|
|
101
|
+
const TECH_CYAN = chalk.cyan;
|
|
102
|
+
const DIM = chalk.gray;
|
|
109
103
|
console.log(`
|
|
110
104
|
${BRAND.bold(`██████ ██ ██████ ███████ ██ ██████ `)}
|
|
111
105
|
${BRAND.bold(`██ ██ ██ ██ ██ ██ ██ `)}
|
|
@@ -115,8 +109,6 @@ async function main() {
|
|
|
115
109
|
|
|
116
110
|
${BRAND('Exile your digital soul')} ${DIM('|')} ${DIM('0x7E 0x1D')}
|
|
117
111
|
`);
|
|
118
|
-
console.log(` ${SEPARATOR}`);
|
|
119
|
-
console.log(` ${ITALIC('"Anchored in reality, drifting into the unknown."')}\n`);
|
|
120
112
|
const promptPrefix = `${TECH_CYAN('λ')} ${chalk.bold('ELSEID')} ${DIM('»')}`;
|
|
121
113
|
const clientChoices = [
|
|
122
114
|
{ name: '1. Claude Desktop', value: 'claude', checked: true },
|
|
@@ -138,19 +130,14 @@ async function main() {
|
|
|
138
130
|
});
|
|
139
131
|
if (confirm === 'cancel')
|
|
140
132
|
process.exit(0);
|
|
141
|
-
console.log(chalk.gray(`\n Injecting protocol (${isRemoteRun ? 'NPM Remote' : 'Local Dev'})...`));
|
|
142
133
|
for (const client of selectedClients) {
|
|
143
134
|
const pathKey = client;
|
|
144
135
|
const configPath = CONFIG_PATHS[pathKey];
|
|
145
136
|
if (configPath) {
|
|
146
137
|
await injectConfig(client, configPath);
|
|
147
|
-
console.log(
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
console.log(DIM(` - ${client}: Manual setup required`));
|
|
138
|
+
console.log(chalk.greenBright(` ✓ ${client} protocol activated`));
|
|
151
139
|
}
|
|
152
140
|
}
|
|
153
|
-
console.log(`\n ${
|
|
141
|
+
console.log(`\n ${chalk.greenBright.bold("SYNC SUCCESS")} Identity ready. Restart your client.\n`);
|
|
154
142
|
}
|
|
155
|
-
main().catch(() => process.exit(1));
|
|
156
143
|
//# sourceMappingURL=cli.js.map
|
package/dist/scripts/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../scripts/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../scripts/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,7 +73,7 @@ export async function rotateIdentity() {
|
|
|
73
73
|
await db.exec("PRAGMA wal_checkpoint(TRUNCATE)");
|
|
74
74
|
}
|
|
75
75
|
catch (err) {
|
|
76
|
-
console.
|
|
76
|
+
console.error("⚠️ WAL checkpoint failed during rotation:", err);
|
|
77
77
|
}
|
|
78
78
|
await db.exec("COMMIT");
|
|
79
79
|
return identity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../../src/crypto/keypair.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,8DAA8D;AAC9D,oDAAoD;AAEpD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGnD,mBAAmB;AAEnB,SAAS,MAAM;IACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAED,aAAa;AAEb,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC;;;;GAIxB,CAAoI,CAAC;IAEtI,IAAI,GAAG,EAAE,CAAC;QACR,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAC7B,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,eAAe,EAAE,GAAG,CAAC,iBAAiB;YACtC,QAAQ,EAAE,GAAG,CAAC,SAAS;SACxB,CAAC;IACJ,CAAC;IAED,aAAa;IACb,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAa,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAE3G,MAAM,EAAE,CAAC,GAAG,CAAC;;;GAGZ,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAElH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAwB;IAC7D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAE5C,8EAA8E;IAC9E,IAAI,SAAS,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,EAAE,CAAC,GAAG,CAAC;;GAEZ,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjC,IAAI,CAAC;QACH,kEAAkE;QACpE,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC,GAAG,CAAC,mCAAmC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAE3D,+BAA+B;QAC/B,MAAM,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAEvC,wBAAwB;QACxB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAa,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAE3G,MAAM,EAAE,CAAC,GAAG,CAAC;;;GAGZ,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEhH,iBAAiB;QACjB,IAAI,CAAC;YAAC,MAAM,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACrE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../../src/crypto/keypair.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
+
// ============================================================
|
|
1
2
|
// ElseID — MCP Server Entry Point
|
|
3
|
+
// ============================================================
|
|
2
4
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
5
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
|
-
import fs from "node:fs";
|
|
5
|
-
import path from "node:path";
|
|
6
|
-
import { fileURLToPath } from "node:url";
|
|
7
6
|
import { registerCreateDrifter } from "./tools/create_drifter.js";
|
|
8
7
|
import { registerFindNearbyDrifter } from "./tools/find_nearby_drifter.js";
|
|
9
8
|
import { registerFeedDrifter } from "./tools/feed_drifter.js";
|
|
@@ -15,26 +14,26 @@ import { registerRecoverDrifter } from "./tools/recover_drifter.js";
|
|
|
15
14
|
import { registerRelayTools } from "./tools/relay_tools.js";
|
|
16
15
|
import { registerSetHostName } from "./tools/set_host_name.js";
|
|
17
16
|
import { registerEvolveDrifter } from "./tools/evolve_drifter.js";
|
|
18
|
-
import { initDb
|
|
17
|
+
import { initDb } from "./storage/db.js";
|
|
19
18
|
import { closeAll } from "./nostr/ws_pool.js";
|
|
20
19
|
import { checkAllRelays } from "./relay/health.js";
|
|
21
|
-
import { redactSecrets } from "./utils/redact.js";
|
|
22
20
|
async function main() {
|
|
21
|
+
// 1. Initialize local SQLite database
|
|
23
22
|
await initDb();
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
|
|
27
|
-
// Immediate Relay Refresh (Auto-Activation Optimization)
|
|
23
|
+
// 2. Immediate Relay Refresh (Auto-Activation Optimization)
|
|
24
|
+
// IMPORTANT: All logging must use console.error (stderr) to avoid breaking MCP protocol on stdout.
|
|
28
25
|
checkAllRelays().then((results) => {
|
|
29
26
|
const online = results.filter(r => r.online).length;
|
|
30
|
-
console.
|
|
27
|
+
console.error(`[ElseID] Relay health check complete: ${online}/${results.length} stations online.`);
|
|
31
28
|
}).catch(() => {
|
|
32
|
-
console.
|
|
29
|
+
console.error("[ElseID] Background relay check encountered an issue.");
|
|
33
30
|
});
|
|
31
|
+
// 3. Create MCP server
|
|
34
32
|
const server = new McpServer({
|
|
35
33
|
name: "elseid-mcp",
|
|
36
|
-
version: "1.0.
|
|
34
|
+
version: "1.0.1",
|
|
37
35
|
});
|
|
36
|
+
// 4. Register all tools
|
|
38
37
|
registerCreateDrifter(server);
|
|
39
38
|
registerFindNearbyDrifter(server);
|
|
40
39
|
registerFeedDrifter(server);
|
|
@@ -46,20 +45,21 @@ async function main() {
|
|
|
46
45
|
registerRelayTools(server);
|
|
47
46
|
registerSetHostName(server);
|
|
48
47
|
registerEvolveDrifter(server);
|
|
48
|
+
// 5. Start stdio transport
|
|
49
49
|
const transport = new StdioServerTransport();
|
|
50
50
|
await server.connect(transport);
|
|
51
|
-
console.
|
|
51
|
+
console.error("[ElseID] Drifter MCP server activated and ready ✓");
|
|
52
|
+
// 6. Graceful shutdown
|
|
52
53
|
const shutdown = async () => {
|
|
53
|
-
console.
|
|
54
|
+
console.error("[ElseID] Shutting down…");
|
|
54
55
|
closeAll();
|
|
55
|
-
await closeDb();
|
|
56
56
|
process.exit(0);
|
|
57
57
|
};
|
|
58
58
|
process.on("SIGINT", shutdown);
|
|
59
59
|
process.on("SIGTERM", shutdown);
|
|
60
60
|
}
|
|
61
61
|
main().catch((err) => {
|
|
62
|
-
console.error("[ElseID] Fatal error during startup:",
|
|
62
|
+
console.error("[ElseID] Fatal error during startup:", err);
|
|
63
63
|
process.exit(1);
|
|
64
64
|
});
|
|
65
65
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,kCAAkC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,7 +83,7 @@ export async function subscribe(relayUrl, filter, timeoutMs = WS_TIMEOUT_MS * 2)
|
|
|
83
83
|
ws.send(JSON.stringify(["CLOSE", subId]));
|
|
84
84
|
}
|
|
85
85
|
catch (err) {
|
|
86
|
-
console.
|
|
86
|
+
console.error(`[ws_pool] Failed to send CLOSE for ${subId}:`, err);
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
function onAbort() {
|
|
@@ -96,7 +96,7 @@ export async function subscribe(relayUrl, filter, timeoutMs = WS_TIMEOUT_MS * 2)
|
|
|
96
96
|
msg = JSON.parse(raw.toString());
|
|
97
97
|
}
|
|
98
98
|
catch (err) {
|
|
99
|
-
console.
|
|
99
|
+
console.error("[ws_pool] Failed to parse message:", err);
|
|
100
100
|
return;
|
|
101
101
|
}
|
|
102
102
|
const [type, id, payload] = msg;
|
|
@@ -213,7 +213,7 @@ export async function subscribeRaceFirst(relayUrls, filter, predicate, timeoutMs
|
|
|
213
213
|
ws.send(JSON.stringify(["CLOSE", subId]));
|
|
214
214
|
}
|
|
215
215
|
catch (err) {
|
|
216
|
-
console.
|
|
216
|
+
console.error(`[ws_pool] Failed to send CLOSE (race) for ${subId}:`, err);
|
|
217
217
|
}
|
|
218
218
|
};
|
|
219
219
|
const closeRelay = () => {
|
|
@@ -234,7 +234,7 @@ export async function subscribeRaceFirst(relayUrls, filter, predicate, timeoutMs
|
|
|
234
234
|
msg = JSON.parse(raw.toString());
|
|
235
235
|
}
|
|
236
236
|
catch (err) {
|
|
237
|
-
console.
|
|
237
|
+
console.error("[ws_pool] Failed to parse message (race):", err);
|
|
238
238
|
return;
|
|
239
239
|
}
|
|
240
240
|
const [type, id, payload] = msg;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws_pool.js","sourceRoot":"","sources":["../../../src/nostr/ws_pool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ws_pool.js","sourceRoot":"","sources":["../../../src/nostr/ws_pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,11 +62,11 @@ function sendOnce(event, relayUrl) {
|
|
|
62
62
|
}
|
|
63
63
|
// ["NOTICE", <message>] — informational, not final
|
|
64
64
|
if (type === "NOTICE") {
|
|
65
|
-
console.
|
|
65
|
+
console.error(`[broadcaster] NOTICE from ${relayUrl}:`, redactSecrets(rest[0]));
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
catch (err) {
|
|
69
|
-
console.
|
|
69
|
+
console.error(`[broadcaster] Failed to parse message from ${relayUrl}:`, err);
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
72
|
ws.once("error", (err) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcaster.js","sourceRoot":"","sources":["../../../src/relay/broadcaster.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"broadcaster.js","sourceRoot":"","sources":["../../../src/relay/broadcaster.ts"],"names":[],"mappings":"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"}
|
package/dist/src/relay/health.js
CHANGED
|
@@ -29,7 +29,7 @@ export async function checkRelay(url) {
|
|
|
29
29
|
ws.send(JSON.stringify(["CLOSE", "health-probe"]));
|
|
30
30
|
}
|
|
31
31
|
catch (err) {
|
|
32
|
-
console.
|
|
32
|
+
console.error(`[health] Failed to close health-probe for ${url}:`, err);
|
|
33
33
|
}
|
|
34
34
|
ws.close();
|
|
35
35
|
const info = { url, online: true, latencyMs, writable: true };
|
|
@@ -84,7 +84,7 @@ export async function getHealthyRelays() {
|
|
|
84
84
|
const row = await db.get(`SELECT MAX(last_check) AS lc FROM relay_stats`);
|
|
85
85
|
if (!row?.lc || row.lc < staleThreshold) {
|
|
86
86
|
checkAllRelays().catch((err) => {
|
|
87
|
-
console.
|
|
87
|
+
console.error("⚠️ Background relay health check failed:", err);
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
90
|
const healthy = cached.filter((r) => r.online && r.writable);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../../src/relay/health.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,4DAA4D;AAC5D,6DAA6D;AAE7D,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGjG,qBAAqB;AAErB,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YACpC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;gBACf,EAAE,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,EAAE,aAAa,CAAC,CAAC;QAElB,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;QAE9B,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAE9E,UAAU,CAAC,KAAK,IAAI,EAAE;gBACpB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,GAAG,IAAI,CAAC;oBACf,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,IAAI,CAAC;wBAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;oBAAC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACvE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../../src/relay/health.ts"],"names":[],"mappings":"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"}
|
package/dist/src/storage/db.js
CHANGED
|
@@ -30,7 +30,7 @@ export async function initDb() {
|
|
|
30
30
|
fs.chmodSync(DATA_DIR, 0o700);
|
|
31
31
|
}
|
|
32
32
|
catch (err) {
|
|
33
|
-
console.
|
|
33
|
+
console.error(`⚠️ Failed to set permissions on data directory ${DATA_DIR}:`, err);
|
|
34
34
|
}
|
|
35
35
|
// Use sqlite3.Database as the driver
|
|
36
36
|
_db = await open({
|
|
@@ -44,7 +44,7 @@ export async function initDb() {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
catch (err) {
|
|
47
|
-
console.
|
|
47
|
+
console.error(`⚠️ Failed to set permissions on database file ${DB_PATH}:`, err);
|
|
48
48
|
}
|
|
49
49
|
await _db.exec("PRAGMA journal_mode = WAL");
|
|
50
50
|
await _db.exec("PRAGMA foreign_keys = ON");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/storage/db.ts"],"names":[],"mappings":"AAAA,wDAAwD;AAExD,OAAO,EAAE,IAAI,EAAY,MAAM,QAAQ,CAAC;AACxC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5D,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,gBAAgB,CAAC;AAE/D,sFAAsF;AACtF,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IAChC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,GAAG,CAAC,eAAe,4BAA4B,CAAC,CAAC;QACrG,QAAQ,GAAG,gBAAgB,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAEjD,IAAI,GAAG,GAAoB,IAAI,CAAC;AAEhC,MAAM,UAAU,KAAK;IACnB,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACtE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,kFAAkF;IAClF,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/storage/db.ts"],"names":[],"mappings":"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"}
|