@cello-protocol/connect 0.0.24 → 0.0.27
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/bin/cello-mcp.d.ts +3 -0
- package/dist/bin/cello-mcp.d.ts.map +1 -1
- package/dist/bin/cello-mcp.js +81 -1
- package/dist/bin/cello-mcp.js.map +1 -1
- package/dist/lock-file.d.ts +72 -0
- package/dist/lock-file.d.ts.map +1 -0
- package/dist/lock-file.js +270 -0
- package/dist/lock-file.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +17 -0
- package/dist/server.js.map +1 -1
- package/package.json +3 -3
package/dist/bin/cello-mcp.d.ts
CHANGED
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
*
|
|
13
13
|
* Environment variables:
|
|
14
14
|
* CELLO_KEY_FILE Path to Ed25519 key file (default: ~/.cello/key)
|
|
15
|
+
* CELLO_AGENT_NAME Named agent identifier (M7+); lock file is per-agent
|
|
16
|
+
* (default: null → ~/.cello/cello-mcp.pid; with name → ~/.cello/agents/<name>/cello-mcp.pid)
|
|
17
|
+
* CELLO_LOCK_FILE_PATH Override lock file path (test only; default: computed from CELLO_AGENT_NAME)
|
|
15
18
|
* CELLO_LISTEN_ADDR libp2p listen address (default: /ip4/0.0.0.0/tcp/0)
|
|
16
19
|
* CELLO_ANNOUNCE_ADDRS comma-separated libp2p announce multiaddrs (optional)
|
|
17
20
|
* Required when the node is behind NAT/EIP and must advertise
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cello-mcp.d.ts","sourceRoot":"","sources":["../../src/bin/cello-mcp.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cello-mcp.d.ts","sourceRoot":"","sources":["../../src/bin/cello-mcp.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG"}
|
package/dist/bin/cello-mcp.js
CHANGED
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
*
|
|
13
13
|
* Environment variables:
|
|
14
14
|
* CELLO_KEY_FILE Path to Ed25519 key file (default: ~/.cello/key)
|
|
15
|
+
* CELLO_AGENT_NAME Named agent identifier (M7+); lock file is per-agent
|
|
16
|
+
* (default: null → ~/.cello/cello-mcp.pid; with name → ~/.cello/agents/<name>/cello-mcp.pid)
|
|
17
|
+
* CELLO_LOCK_FILE_PATH Override lock file path (test only; default: computed from CELLO_AGENT_NAME)
|
|
15
18
|
* CELLO_LISTEN_ADDR libp2p listen address (default: /ip4/0.0.0.0/tcp/0)
|
|
16
19
|
* CELLO_ANNOUNCE_ADDRS comma-separated libp2p announce multiaddrs (optional)
|
|
17
20
|
* Required when the node is behind NAT/EIP and must advertise
|
|
@@ -32,6 +35,7 @@
|
|
|
32
35
|
* CELLO_ENV != local + no BACKUP_S3_BUCKET → null (no backup; client.backup.not.configured logged)
|
|
33
36
|
*/
|
|
34
37
|
import { homedir } from "node:os";
|
|
38
|
+
import { join, normalize } from "node:path";
|
|
35
39
|
import { createWriteStream, readFileSync } from "node:fs";
|
|
36
40
|
// AC-002 (DX-001): TTY detection — BEFORE anything else.
|
|
37
41
|
// If stdin is a TTY, the binary was run directly in a terminal, not as an MCP subprocess.
|
|
@@ -60,7 +64,6 @@ process.stderr.write = (chunk, encodingOrCb, cb) => {
|
|
|
60
64
|
}
|
|
61
65
|
return origWrite(chunk);
|
|
62
66
|
};
|
|
63
|
-
import { join } from "node:path";
|
|
64
67
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
65
68
|
import { FileKeyProvider } from "@cello-protocol/crypto";
|
|
66
69
|
import { createNode } from "@cello-protocol/transport";
|
|
@@ -68,9 +71,86 @@ import { createClient, createMcpSessionServer, NetworkDirectoryNode, bootstrapNe
|
|
|
68
71
|
import { LocalCloudStorageProvider, LocalClientStore } from "@cello-protocol/interfaces/stubs";
|
|
69
72
|
import { pushChannelNotification } from "../notifications.js";
|
|
70
73
|
import { resolveDirectoryUrl, fetchBootstrapMultiaddr } from "../config.js";
|
|
74
|
+
import { acquireLockFile, getLockFilePath } from "../lock-file.js";
|
|
71
75
|
// AC-001 (DX-001): Startup progress — emit one line per step to stderr.
|
|
72
76
|
// Format: 'cello: <step>... <outcome>'
|
|
73
77
|
process.stderr.write("cello: starting...\n");
|
|
78
|
+
// CELLO-M6B-001: Acquire PID lock file BEFORE any DB operations.
|
|
79
|
+
// This kills any prior cello-mcp process holding the same lock, ensuring exactly
|
|
80
|
+
// one cello-mcp per agent at all times. The cleanup function is registered to
|
|
81
|
+
// release the lock on SIGTERM/SIGINT/normal exit.
|
|
82
|
+
const agentName = process.env["CELLO_AGENT_NAME"] ?? null;
|
|
83
|
+
const lockFilePath = process.env["CELLO_LOCK_FILE_PATH"] ?? getLockFilePath(agentName);
|
|
84
|
+
// CRITICAL-2: Validate CELLO_LOCK_FILE_PATH if set — reject paths outside ~/.cello/ in production.
|
|
85
|
+
// Use path.normalize (without realpathSync) so this works on first run before the lock file
|
|
86
|
+
// or ~/.cello/ directory exists. The normalized path is checked against the normalized ~/.cello/
|
|
87
|
+
// prefix — this catches directory traversal ("../") in the raw path without requiring the file
|
|
88
|
+
// to exist. Note: symlink-based path traversal requires the symlink to already exist at the
|
|
89
|
+
// exact lock file path; if an attacker can already write arbitrary symlinks to ~/.cello/ they
|
|
90
|
+
// have broader access. The normalize check prevents the common env-var injection attack where
|
|
91
|
+
// CELLO_LOCK_FILE_PATH=~/../../../etc/passwd is set directly.
|
|
92
|
+
// Test/local environments allow flexibility for isolated test fixtures.
|
|
93
|
+
if (process.env["CELLO_LOCK_FILE_PATH"]) {
|
|
94
|
+
// CELLO_LOCK_FILE_PATH is documented as "test only". Bypass validation only in NODE_ENV=test
|
|
95
|
+
// (unit/integration test runners set this). Do NOT bypass for CELLO_ENV=local — operators
|
|
96
|
+
// running in local mode are not running tests, and a misconfigured shell env var should
|
|
97
|
+
// still be rejected to prevent path traversal in the most common installation scenario.
|
|
98
|
+
const isTestEnv = process.env["NODE_ENV"] === "test";
|
|
99
|
+
if (!isTestEnv) {
|
|
100
|
+
const userHome = homedir();
|
|
101
|
+
const celloDir = normalize(join(userHome, ".cello")) + "/";
|
|
102
|
+
const normalizedLockPath = normalize(lockFilePath);
|
|
103
|
+
if (!normalizedLockPath.startsWith(celloDir)) {
|
|
104
|
+
process.stderr.write(`cello-mcp: CELLO_LOCK_FILE_PATH must be within ~/.cello/ directory\n`);
|
|
105
|
+
process.stderr.write(`cello-mcp: Got: ${lockFilePath} (normalized to ${normalizedLockPath})\n`);
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const releaseLock = await acquireLockFile(lockFilePath, {
|
|
111
|
+
logger: {
|
|
112
|
+
info: (event, ctx) => process.stderr.write(`cello-mcp: [info] ${event} ${JSON.stringify(ctx)}\n`),
|
|
113
|
+
warn: (event, ctx) => process.stderr.write(`cello-mcp: [warn] ${event} ${JSON.stringify(ctx)}\n`),
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
// CRITICAL-1: Register cleanup on exit signals and normal exit.
|
|
117
|
+
// The "exit" handler calls releaseLock() and runs on normal exit.
|
|
118
|
+
// Signal handlers call process.exit() which triggers the exit handler.
|
|
119
|
+
// Exception handlers MUST call releaseLock() before re-throwing because
|
|
120
|
+
// Node.js terminates immediately on uncaught exceptions without firing
|
|
121
|
+
// the "exit" event. Without this, every cello-mcp crash leaves a stale lock.
|
|
122
|
+
//
|
|
123
|
+
// NOTE: In-flight backup operations (cello_backup tool) are NOT awaited on SIGTERM/SIGINT.
|
|
124
|
+
// This is acceptable risk for M6B scope because:
|
|
125
|
+
// 1. Backups are idempotent (checksummed, retried on next run)
|
|
126
|
+
// 2. Backup upload failures are logged and return error to the user
|
|
127
|
+
// 3. Partial S3 uploads are eventually consistent and can be retried
|
|
128
|
+
// 4. Adding graceful shutdown tracking requires wiring state across tool calls (out of scope)
|
|
129
|
+
// If graceful shutdown becomes necessary, add a ClientBackup.shutdown() method that:
|
|
130
|
+
// - Sets a shuttingDown flag
|
|
131
|
+
// - Waits up to 5s for in-flight backup() calls to complete
|
|
132
|
+
// - Then allows process.exit(0) to proceed
|
|
133
|
+
process.on("exit", () => {
|
|
134
|
+
releaseLock();
|
|
135
|
+
});
|
|
136
|
+
process.on("SIGTERM", () => {
|
|
137
|
+
process.exit(0);
|
|
138
|
+
});
|
|
139
|
+
process.on("SIGINT", () => {
|
|
140
|
+
process.exit(0);
|
|
141
|
+
});
|
|
142
|
+
process.on("uncaughtException", (err) => {
|
|
143
|
+
process.stderr.write(`cello-mcp: [error] process.uncaught.exception ${JSON.stringify({ message: err.message, stack: err.stack })}\n`);
|
|
144
|
+
releaseLock();
|
|
145
|
+
process.exit(1);
|
|
146
|
+
});
|
|
147
|
+
process.on("unhandledRejection", (reason) => {
|
|
148
|
+
const msg = reason instanceof Error ? reason.message : String(reason);
|
|
149
|
+
const stack = reason instanceof Error ? reason.stack : undefined;
|
|
150
|
+
process.stderr.write(`cello-mcp: [error] process.unhandled.rejection ${JSON.stringify({ reason: msg, stack })}\n`);
|
|
151
|
+
releaseLock();
|
|
152
|
+
process.exit(1);
|
|
153
|
+
});
|
|
74
154
|
const keyPath = process.env["CELLO_KEY_FILE"] ?? join(homedir(), ".cello", "key");
|
|
75
155
|
const listenAddr = process.env["CELLO_LISTEN_ADDR"] ?? "/ip4/0.0.0.0/tcp/0";
|
|
76
156
|
const announceAddrs = process.env["CELLO_ANNOUNCE_ADDRS"]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cello-mcp.js","sourceRoot":"","sources":["../../src/bin/cello-mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cello-mcp.js","sourceRoot":"","sources":["../../src/bin/cello-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* lock-file.ts — PID lock file manager for single-instance cello-mcp process
|
|
3
|
+
*
|
|
4
|
+
* CELLO-M6B-001: Every new cello-mcp startup kills any prior process holding
|
|
5
|
+
* the same lock file, ensuring exactly one cello-mcp per agent at all times.
|
|
6
|
+
*
|
|
7
|
+
* Pseudocode (Phase P):
|
|
8
|
+
*
|
|
9
|
+
* acquireLockFile(lockFilePath, opts?):
|
|
10
|
+
* 1. Read lockFilePath. If it doesn't exist, skip to step 7.
|
|
11
|
+
* 2. Parse PID from file content (trim whitespace, parseInt).
|
|
12
|
+
* 3. Check if process with that PID is running (kill(priorPid, 0)).
|
|
13
|
+
* - If ESRCH (no such process) → stale lock → skip to step 7.
|
|
14
|
+
* - If EPERM (permission denied) → process exists but owned by another user → warn and continue to step 7.
|
|
15
|
+
* - If process is running and killable → proceed to step 4.
|
|
16
|
+
* 4. Send SIGTERM to prior process.
|
|
17
|
+
* 5. Poll every 100ms for up to 5 seconds, checking if process still exists (kill(priorPid, 0)).
|
|
18
|
+
* 6. If still running after 5s, send SIGKILL. Log at warn level.
|
|
19
|
+
* 7. Create lock file directory (mkdir -p) if needed.
|
|
20
|
+
* 8. Write current process.pid to lockFilePath.
|
|
21
|
+
* 9. Return a cleanup function that removes the lock file.
|
|
22
|
+
*
|
|
23
|
+
* releaseLockFile(lockFilePath):
|
|
24
|
+
* 1. Call fs.unlinkSync(lockFilePath), catch ENOENT silently.
|
|
25
|
+
*
|
|
26
|
+
* Dependency injection for testability:
|
|
27
|
+
* - killFn: (pid: number, signal: number | NodeJS.Signals) => void
|
|
28
|
+
* Defaults to process.kill. Tests inject a mock that throws for EPERM scenarios.
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* Get the lock file path for a given agent name.
|
|
32
|
+
* Used by both cello-mcp.ts and tests to ensure path logic is consistent.
|
|
33
|
+
*
|
|
34
|
+
* @param agentName - Optional agent name (M7+ multi-agent support)
|
|
35
|
+
* @param baseDir - Base directory for .cello (defaults to homedir())
|
|
36
|
+
* @returns Absolute path to the lock file
|
|
37
|
+
*/
|
|
38
|
+
export declare function getLockFilePath(agentName: string | null, baseDir?: string): string;
|
|
39
|
+
export interface LockFileOptions {
|
|
40
|
+
/**
|
|
41
|
+
* Injected kill function for testing. Defaults to process.kill.
|
|
42
|
+
* Tests can inject a mock that throws { code: 'EPERM' } to simulate cross-user scenarios.
|
|
43
|
+
*/
|
|
44
|
+
killFn?: (pid: number, signal: number | NodeJS.Signals) => void;
|
|
45
|
+
/**
|
|
46
|
+
* Logger for observability events. If not provided, no events are logged.
|
|
47
|
+
*/
|
|
48
|
+
logger?: {
|
|
49
|
+
info: (event: string, context: Record<string, unknown>) => void;
|
|
50
|
+
warn: (event: string, context: Record<string, unknown>) => void;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Acquire the PID lock file. If a prior process is running, kill it (SIGTERM → wait → SIGKILL).
|
|
55
|
+
* Returns a cleanup function that releases the lock file on exit.
|
|
56
|
+
*
|
|
57
|
+
* AC-001, AC-002, AC-004, SI-001
|
|
58
|
+
*/
|
|
59
|
+
export declare function acquireLockFile(lockFilePath: string, opts?: LockFileOptions): Promise<() => void>;
|
|
60
|
+
/**
|
|
61
|
+
* Release the lock file. Called on SIGTERM/SIGINT/normal exit.
|
|
62
|
+
* AC-003
|
|
63
|
+
*
|
|
64
|
+
* @param lockFilePath - Path to the lock file to remove
|
|
65
|
+
* @param logger - Optional logger for observability events
|
|
66
|
+
* @param unlinkFn - Injected unlink function for testing (defaults to fs.unlinkSync)
|
|
67
|
+
*/
|
|
68
|
+
export declare function releaseLockFile(lockFilePath: string, logger?: {
|
|
69
|
+
info: (event: string, context: Record<string, unknown>) => void;
|
|
70
|
+
warn: (event: string, context: Record<string, unknown>) => void;
|
|
71
|
+
}, unlinkFn?: (path: string) => void): void;
|
|
72
|
+
//# sourceMappingURL=lock-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock-file.d.ts","sourceRoot":"","sources":["../src/lock-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAMH;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,SAAY,GAClB,MAAM,CAIR;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;IAChE;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QAChE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KACjE,CAAC;CACH;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC,CAgMrB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE;IACP,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAChE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACjE,EACD,QAAQ,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAiB,GAC5C,IAAI,CAcN"}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* lock-file.ts — PID lock file manager for single-instance cello-mcp process
|
|
3
|
+
*
|
|
4
|
+
* CELLO-M6B-001: Every new cello-mcp startup kills any prior process holding
|
|
5
|
+
* the same lock file, ensuring exactly one cello-mcp per agent at all times.
|
|
6
|
+
*
|
|
7
|
+
* Pseudocode (Phase P):
|
|
8
|
+
*
|
|
9
|
+
* acquireLockFile(lockFilePath, opts?):
|
|
10
|
+
* 1. Read lockFilePath. If it doesn't exist, skip to step 7.
|
|
11
|
+
* 2. Parse PID from file content (trim whitespace, parseInt).
|
|
12
|
+
* 3. Check if process with that PID is running (kill(priorPid, 0)).
|
|
13
|
+
* - If ESRCH (no such process) → stale lock → skip to step 7.
|
|
14
|
+
* - If EPERM (permission denied) → process exists but owned by another user → warn and continue to step 7.
|
|
15
|
+
* - If process is running and killable → proceed to step 4.
|
|
16
|
+
* 4. Send SIGTERM to prior process.
|
|
17
|
+
* 5. Poll every 100ms for up to 5 seconds, checking if process still exists (kill(priorPid, 0)).
|
|
18
|
+
* 6. If still running after 5s, send SIGKILL. Log at warn level.
|
|
19
|
+
* 7. Create lock file directory (mkdir -p) if needed.
|
|
20
|
+
* 8. Write current process.pid to lockFilePath.
|
|
21
|
+
* 9. Return a cleanup function that removes the lock file.
|
|
22
|
+
*
|
|
23
|
+
* releaseLockFile(lockFilePath):
|
|
24
|
+
* 1. Call fs.unlinkSync(lockFilePath), catch ENOENT silently.
|
|
25
|
+
*
|
|
26
|
+
* Dependency injection for testability:
|
|
27
|
+
* - killFn: (pid: number, signal: number | NodeJS.Signals) => void
|
|
28
|
+
* Defaults to process.kill. Tests inject a mock that throws for EPERM scenarios.
|
|
29
|
+
*/
|
|
30
|
+
import { readFileSync, writeFileSync, unlinkSync, mkdirSync } from "node:fs";
|
|
31
|
+
import { dirname, join } from "node:path";
|
|
32
|
+
import { homedir } from "node:os";
|
|
33
|
+
/**
|
|
34
|
+
* Get the lock file path for a given agent name.
|
|
35
|
+
* Used by both cello-mcp.ts and tests to ensure path logic is consistent.
|
|
36
|
+
*
|
|
37
|
+
* @param agentName - Optional agent name (M7+ multi-agent support)
|
|
38
|
+
* @param baseDir - Base directory for .cello (defaults to homedir())
|
|
39
|
+
* @returns Absolute path to the lock file
|
|
40
|
+
*/
|
|
41
|
+
export function getLockFilePath(agentName, baseDir = homedir()) {
|
|
42
|
+
return agentName
|
|
43
|
+
? join(baseDir, ".cello", "agents", agentName, "cello-mcp.pid")
|
|
44
|
+
: join(baseDir, ".cello", "cello-mcp.pid");
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Acquire the PID lock file. If a prior process is running, kill it (SIGTERM → wait → SIGKILL).
|
|
48
|
+
* Returns a cleanup function that releases the lock file on exit.
|
|
49
|
+
*
|
|
50
|
+
* AC-001, AC-002, AC-004, SI-001
|
|
51
|
+
*/
|
|
52
|
+
export async function acquireLockFile(lockFilePath, opts) {
|
|
53
|
+
const killFn = opts?.killFn ?? process.kill.bind(process);
|
|
54
|
+
const logger = opts?.logger;
|
|
55
|
+
// Step 1-3: Check for prior process
|
|
56
|
+
let priorPid = null;
|
|
57
|
+
try {
|
|
58
|
+
const content = readFileSync(lockFilePath, "utf8").trim();
|
|
59
|
+
priorPid = parseInt(content, 10);
|
|
60
|
+
if (isNaN(priorPid) || priorPid <= 0) {
|
|
61
|
+
// Invalid or dangerous PID — treat as stale.
|
|
62
|
+
// priorPid === 0: process.kill(0, ...) sends signal to the entire process group.
|
|
63
|
+
// priorPid < 0: process.kill(-1, ...) sends signal to all processes the user can signal.
|
|
64
|
+
// Both are POSIX semantics — neither refers to the intended prior cello-mcp instance.
|
|
65
|
+
priorPid = null;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
// ENOENT = no lock file exists → proceed to write
|
|
70
|
+
if (err.code !== "ENOENT") {
|
|
71
|
+
// Unexpected read error (permissions, etc) — non-fatal, log and continue
|
|
72
|
+
logger?.warn("client.startup.lock.read.failed", {
|
|
73
|
+
reason: err.message,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
priorPid = null;
|
|
77
|
+
}
|
|
78
|
+
if (priorPid !== null) {
|
|
79
|
+
// Check if process is running
|
|
80
|
+
let isRunning = false;
|
|
81
|
+
try {
|
|
82
|
+
killFn(priorPid, 0); // signal 0 = check existence without killing
|
|
83
|
+
isRunning = true;
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
const code = err.code;
|
|
87
|
+
if (code === "ESRCH") {
|
|
88
|
+
// No such process — stale lock
|
|
89
|
+
isRunning = false;
|
|
90
|
+
}
|
|
91
|
+
else if (code === "EPERM") {
|
|
92
|
+
// Process exists but owned by another user (SI-001)
|
|
93
|
+
logger?.warn("client.startup.lock.eperm", {
|
|
94
|
+
priorPid,
|
|
95
|
+
reason: "process owned by another user",
|
|
96
|
+
});
|
|
97
|
+
isRunning = false; // Treat as stale — we cannot kill it, proceed with our own lock
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
// Unknown error — log and treat as not running
|
|
101
|
+
logger?.warn("client.startup.lock.check.failed", {
|
|
102
|
+
priorPid,
|
|
103
|
+
reason: err.message,
|
|
104
|
+
});
|
|
105
|
+
isRunning = false;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (isRunning) {
|
|
109
|
+
// Step 4: Send SIGTERM
|
|
110
|
+
// Track whether SIGTERM was successfully delivered. If the kill call throws
|
|
111
|
+
// (race: process exited between the existence check and the kill call), we
|
|
112
|
+
// know the process is already gone — we must NOT emit prior.process.killed,
|
|
113
|
+
// because the taxonomy entry says "after successfully killing a prior process."
|
|
114
|
+
let sigTermDelivered = false;
|
|
115
|
+
try {
|
|
116
|
+
killFn(priorPid, "SIGTERM");
|
|
117
|
+
sigTermDelivered = true;
|
|
118
|
+
}
|
|
119
|
+
catch (err) {
|
|
120
|
+
// Kill failed (race: process exited between check and kill) — non-fatal.
|
|
121
|
+
// The process is already gone; skip the polling phase and proceed to write.
|
|
122
|
+
logger?.warn("client.startup.prior.kill.failed", {
|
|
123
|
+
priorPid,
|
|
124
|
+
signal: "SIGTERM",
|
|
125
|
+
reason: err.message,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
// Only poll if SIGTERM was actually delivered
|
|
129
|
+
let stillRunning = sigTermDelivered;
|
|
130
|
+
if (sigTermDelivered) {
|
|
131
|
+
// Step 5: Poll for up to 5 seconds
|
|
132
|
+
const startTime = Date.now();
|
|
133
|
+
const timeout = 5000;
|
|
134
|
+
// Check immediately after SIGTERM (most processes exit quickly)
|
|
135
|
+
try {
|
|
136
|
+
killFn(priorPid, 0);
|
|
137
|
+
stillRunning = true;
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
if (err.code === "ESRCH") {
|
|
141
|
+
// ESRCH = no such process — process is gone
|
|
142
|
+
stillRunning = false;
|
|
143
|
+
}
|
|
144
|
+
// EPERM or unknown — process may still exist; treat as still running
|
|
145
|
+
}
|
|
146
|
+
// Only poll if still running after immediate check
|
|
147
|
+
while (stillRunning && Date.now() - startTime < timeout) {
|
|
148
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
149
|
+
try {
|
|
150
|
+
killFn(priorPid, 0);
|
|
151
|
+
stillRunning = true;
|
|
152
|
+
}
|
|
153
|
+
catch (err) {
|
|
154
|
+
if (err.code === "ESRCH") {
|
|
155
|
+
// ESRCH = no such process — process is gone
|
|
156
|
+
stillRunning = false;
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
// EPERM or unknown — process may still exist; treat as still running
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
// Step 6: Escalate to SIGKILL if needed
|
|
164
|
+
if (stillRunning) {
|
|
165
|
+
try {
|
|
166
|
+
killFn(priorPid, "SIGKILL");
|
|
167
|
+
// Poll after SIGKILL to verify the kernel has reaped the process before
|
|
168
|
+
// we write the lock file. SIGKILL is unblockable but process cleanup
|
|
169
|
+
// (releasing file locks, closing fds) is not instantaneous — especially
|
|
170
|
+
// on loaded systems. Poll up to 500ms in 50ms intervals.
|
|
171
|
+
const sigkillDeadline = Date.now() + 500;
|
|
172
|
+
let reaped = false;
|
|
173
|
+
while (Date.now() < sigkillDeadline) {
|
|
174
|
+
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
175
|
+
try {
|
|
176
|
+
killFn(priorPid, 0);
|
|
177
|
+
// Still running — keep polling
|
|
178
|
+
}
|
|
179
|
+
catch (err) {
|
|
180
|
+
if (err.code === "ESRCH") {
|
|
181
|
+
// ESRCH = no such process — reaping confirmed
|
|
182
|
+
reaped = true;
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
// EPERM or unknown — not yet confirmed reaped; continue polling
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
// Log a single event regardless of whether reaping was confirmed.
|
|
189
|
+
// reaped=false on a very loaded system means SIGKILL was sent but the kernel
|
|
190
|
+
// hasn't cleaned up within 500ms — the process is dying, we proceed anyway.
|
|
191
|
+
logger?.warn("client.startup.prior.process.killed", {
|
|
192
|
+
priorPid,
|
|
193
|
+
signal: "SIGKILL",
|
|
194
|
+
reaped,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
catch (err) {
|
|
198
|
+
logger?.warn("client.startup.prior.kill.failed", {
|
|
199
|
+
priorPid,
|
|
200
|
+
signal: "SIGKILL",
|
|
201
|
+
reason: err.message,
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
else if (sigTermDelivered) {
|
|
206
|
+
// Graceful exit — SIGTERM was delivered and the process exited on its own.
|
|
207
|
+
// Only emit this event when we successfully sent the signal (sigTermDelivered=true)
|
|
208
|
+
// and the process is confirmed gone (stillRunning=false). Do NOT emit when
|
|
209
|
+
// SIGTERM threw (the process was already dead before we could send the signal).
|
|
210
|
+
logger?.info("client.startup.prior.process.killed", {
|
|
211
|
+
priorPid,
|
|
212
|
+
signal: "SIGTERM",
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
// Step 7-8: Write own PID to lock file
|
|
218
|
+
// Per canonical taxonomy and story observability spec: lock file write failure is
|
|
219
|
+
// NON-FATAL. Log at warn level and proceed — orphan detection is disabled but the
|
|
220
|
+
// process can still serve MCP tool calls. The operator will see the warn event and
|
|
221
|
+
// can diagnose the filesystem permission issue separately.
|
|
222
|
+
try {
|
|
223
|
+
mkdirSync(dirname(lockFilePath), { recursive: true });
|
|
224
|
+
writeFileSync(lockFilePath, String(process.pid), "utf8");
|
|
225
|
+
logger?.info("client.startup.lock.acquired", { pid: process.pid });
|
|
226
|
+
}
|
|
227
|
+
catch (err) {
|
|
228
|
+
logger?.warn("client.startup.lock.write.failed", {
|
|
229
|
+
reason: err.message,
|
|
230
|
+
});
|
|
231
|
+
// Non-fatal: return a no-op cleanup since we have no lock to release
|
|
232
|
+
return () => { };
|
|
233
|
+
}
|
|
234
|
+
// Step 9: Return idempotent cleanup function.
|
|
235
|
+
// The function may be called from multiple paths (exit event + signal/exception handler).
|
|
236
|
+
// The released flag suppresses the second call to prevent a duplicate
|
|
237
|
+
// client.startup.lock.released log event in the wild (I-3 finding).
|
|
238
|
+
let released = false;
|
|
239
|
+
return () => {
|
|
240
|
+
if (!released) {
|
|
241
|
+
released = true;
|
|
242
|
+
releaseLockFile(lockFilePath, logger);
|
|
243
|
+
}
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Release the lock file. Called on SIGTERM/SIGINT/normal exit.
|
|
248
|
+
* AC-003
|
|
249
|
+
*
|
|
250
|
+
* @param lockFilePath - Path to the lock file to remove
|
|
251
|
+
* @param logger - Optional logger for observability events
|
|
252
|
+
* @param unlinkFn - Injected unlink function for testing (defaults to fs.unlinkSync)
|
|
253
|
+
*/
|
|
254
|
+
export function releaseLockFile(lockFilePath, logger, unlinkFn = unlinkSync) {
|
|
255
|
+
try {
|
|
256
|
+
unlinkFn(lockFilePath);
|
|
257
|
+
logger?.info("client.startup.lock.released", { pid: process.pid });
|
|
258
|
+
}
|
|
259
|
+
catch (err) {
|
|
260
|
+
// ENOENT is expected if cleanup ran twice — silent
|
|
261
|
+
if (err.code !== "ENOENT") {
|
|
262
|
+
// Unexpected unlink failure (EACCES, EROFS, etc.) — non-fatal but observable
|
|
263
|
+
logger?.warn("client.startup.lock.release.failed", {
|
|
264
|
+
reason: err.message,
|
|
265
|
+
pid: process.pid,
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
//# sourceMappingURL=lock-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock-file.js","sourceRoot":"","sources":["../src/lock-file.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAA0B,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAoB3E,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,WAAW,EACxB,IAAI,CAAC,EAAE;IAAE,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAE,GAC1F,SAAS,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAA0B,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAoB3E,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,WAAW,EACxB,IAAI,CAAC,EAAE;IAAE,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAE,GAC1F,SAAS,CA8dX"}
|
package/dist/server.js
CHANGED
|
@@ -290,6 +290,17 @@ export function createMcpServer(node, client, keyProvider, opts) {
|
|
|
290
290
|
}, async ({ session_id }) => {
|
|
291
291
|
if (client == null)
|
|
292
292
|
return CLIENT_NOT_INITIALIZED;
|
|
293
|
+
// Every completed session must end with a seal — attempt before teardown.
|
|
294
|
+
// If the session is already sealing/sealed/deferred/rejected, skip the attempt.
|
|
295
|
+
const sessions = client.listSessions();
|
|
296
|
+
const session = sessions.find((s) => Buffer.from(s.session_id).toString("hex") === session_id);
|
|
297
|
+
const alreadySealing = session &&
|
|
298
|
+
(session.status === "sealing" || session.status === "sealed" ||
|
|
299
|
+
session.status === "seal_deferred" || session.status === "seal_rejected");
|
|
300
|
+
let sealResult;
|
|
301
|
+
if (!alreadySealing && session?.status === "active") {
|
|
302
|
+
sealResult = await client.initiateSessionSeal(session_id);
|
|
303
|
+
}
|
|
293
304
|
client.closeSession(session_id);
|
|
294
305
|
// PERSIST-017: include checkpoint_status if CheckpointStatusProvider is wired in.
|
|
295
306
|
// When not provided (M1 stubs, tests without DB), return closed: true only.
|
|
@@ -307,6 +318,12 @@ export function createMcpServer(node, client, keyProvider, opts) {
|
|
|
307
318
|
});
|
|
308
319
|
}
|
|
309
320
|
}
|
|
321
|
+
if (sealResult && !sealResult.ok) {
|
|
322
|
+
return jsonText({ closed: true, seal_status: "failed", seal_reason: sealResult.reason });
|
|
323
|
+
}
|
|
324
|
+
if (sealResult?.ok) {
|
|
325
|
+
return jsonText({ closed: true, seal_status: "initiated" });
|
|
326
|
+
}
|
|
310
327
|
return jsonText({ closed: true });
|
|
311
328
|
});
|
|
312
329
|
// ── cello_list_sessions ───────────────────────────────────────────────────
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cello-protocol/connect",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.27",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"@libp2p/peer-id": "^6.0.8",
|
|
31
31
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
32
32
|
"zod": "^4.4.2",
|
|
33
|
-
"@cello-protocol/
|
|
33
|
+
"@cello-protocol/client": "0.0.18",
|
|
34
34
|
"@cello-protocol/transport": "0.0.4",
|
|
35
|
-
"@cello-protocol/
|
|
35
|
+
"@cello-protocol/crypto": "0.0.7"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@claude-flow/testing": "3.0.0-alpha.6",
|