kiri-mcp-server 0.25.4 → 0.25.5
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/package.json
CHANGED
|
@@ -35,7 +35,15 @@ export declare function stopDaemon(databasePath: string): Promise<void>;
|
|
|
35
35
|
/**
|
|
36
36
|
* デーモンプロセスを起動
|
|
37
37
|
*
|
|
38
|
-
*
|
|
38
|
+
* デタッチモードで起動し、ソケットが準備完了するまで待つ。
|
|
39
|
+
* スタートアップロックにより、同時に複数のプロセスがデーモンを起動することを防ぐ。
|
|
40
|
+
*
|
|
41
|
+
* LAW-001: Single Daemon Invariant
|
|
42
|
+
* - 同一データベースパスに対して、常に最大1つのデーモンのみが存在する
|
|
43
|
+
*
|
|
44
|
+
* LAW-002: Exclusive Startup
|
|
45
|
+
* - スタートアップロック取得者のみがデーモンをspawnできる
|
|
46
|
+
* - ロック取得失敗時は既存デーモンの起動完了を待つ
|
|
39
47
|
*/
|
|
40
48
|
export declare function startDaemon(options: StartDaemonOptions): Promise<void>;
|
|
41
49
|
//# sourceMappingURL=start-daemon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-daemon.d.ts","sourceRoot":"","sources":["../../../src/client/start-daemon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"start-daemon.d.ts","sourceRoot":"","sources":["../../../src/client/start-daemon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA8LH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,OAAO,CAAC,CAsFlB;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4F5E"}
|
|
@@ -4,11 +4,176 @@
|
|
|
4
4
|
* Responsible for spawning daemon process in detached mode and waiting for readiness.
|
|
5
5
|
*/
|
|
6
6
|
import { spawn } from "child_process";
|
|
7
|
+
import { existsSync, readFileSync, unlinkSync, writeFileSync } from "fs";
|
|
7
8
|
import * as fs from "fs/promises";
|
|
8
9
|
import * as net from "net";
|
|
9
10
|
import * as path from "path";
|
|
10
11
|
import { fileURLToPath } from "url";
|
|
11
12
|
import { getSocketPath } from "../shared/utils/socket.js";
|
|
13
|
+
/**
|
|
14
|
+
* 指定したPIDのプロセスが存在するかチェック
|
|
15
|
+
*
|
|
16
|
+
* @param pid - チェックするプロセスID
|
|
17
|
+
* @returns プロセスが存在する場合はtrue
|
|
18
|
+
*/
|
|
19
|
+
function isProcessRunning(pid) {
|
|
20
|
+
if (!Number.isInteger(pid) || pid <= 0) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
// シグナル0はプロセスを停止せず、存在チェックのみ
|
|
25
|
+
process.kill(pid, 0);
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
const code = err.code;
|
|
30
|
+
// ESRCH = プロセス不存在
|
|
31
|
+
// EPERM = プロセスは存在するが権限なし(他ユーザーのプロセス)
|
|
32
|
+
if (code === "ESRCH") {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
// EPERMやその他のエラーは「存在するが操作できない」= 存在扱い
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* スタートアップロックを取得(排他的作成)
|
|
41
|
+
*
|
|
42
|
+
* ロックファイルが存在しても、所有プロセスが死んでいればstale lockとして
|
|
43
|
+
* 自動的にクリーンアップして再取得を試みる。
|
|
44
|
+
*
|
|
45
|
+
* @param startupLockPath - スタートアップロックファイルのパス
|
|
46
|
+
* @returns ロック取得に成功した場合はtrue、他のプロセスが既にロック中の場合はfalse
|
|
47
|
+
*/
|
|
48
|
+
function tryAcquireStartupLock(startupLockPath) {
|
|
49
|
+
try {
|
|
50
|
+
writeFileSync(startupLockPath, String(process.pid), { flag: "wx" });
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
if (err.code === "EEXIST") {
|
|
55
|
+
// ロックが stale(所有プロセスが死んでいる)かチェック
|
|
56
|
+
try {
|
|
57
|
+
const existingPidStr = readFileSync(startupLockPath, "utf-8");
|
|
58
|
+
const existingPid = parseInt(existingPidStr.trim(), 10);
|
|
59
|
+
if (!isNaN(existingPid) && !isProcessRunning(existingPid)) {
|
|
60
|
+
// Stale lock 検出 - 削除前に再検証(TOCTOU対策)
|
|
61
|
+
console.error(`[StartDaemon] Removing stale startup lock (PID ${existingPid} not running)`);
|
|
62
|
+
// PIDが再利用されていないか再確認
|
|
63
|
+
if (existsSync(startupLockPath)) {
|
|
64
|
+
const recheckPidStr = readFileSync(startupLockPath, "utf-8");
|
|
65
|
+
const recheckPid = parseInt(recheckPidStr.trim(), 10);
|
|
66
|
+
// PIDが一致し、まだプロセスが死んでいる場合のみ削除
|
|
67
|
+
if (!isNaN(recheckPid) && recheckPid === existingPid && !isProcessRunning(recheckPid)) {
|
|
68
|
+
unlinkSync(startupLockPath);
|
|
69
|
+
// 再取得を試みる
|
|
70
|
+
try {
|
|
71
|
+
writeFileSync(startupLockPath, String(process.pid), { flag: "wx" });
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
catch (retryErr) {
|
|
75
|
+
// 再取得に失敗(他のプロセスが先に取得した)
|
|
76
|
+
if (retryErr.code === "EEXIST") {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
throw retryErr;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// 生きているプロセスがロックを保持している
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
catch (readErr) {
|
|
88
|
+
// ロックファイルを読めない場合は安全のため取得失敗とする
|
|
89
|
+
if (readErr.code !== "ENOENT") {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
// ENOENTの場合、ファイルが消えたので再取得を試みる
|
|
93
|
+
try {
|
|
94
|
+
writeFileSync(startupLockPath, String(process.pid), { flag: "wx" });
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
catch (retryErr) {
|
|
98
|
+
if (retryErr.code === "EEXIST") {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
throw retryErr;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
throw err;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* スタートアップロックを解放
|
|
110
|
+
*
|
|
111
|
+
* @param startupLockPath - スタートアップロックファイルのパス
|
|
112
|
+
*/
|
|
113
|
+
function releaseStartupLock(startupLockPath) {
|
|
114
|
+
try {
|
|
115
|
+
if (existsSync(startupLockPath)) {
|
|
116
|
+
unlinkSync(startupLockPath);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch (err) {
|
|
120
|
+
// ファイルが存在しない場合は無視
|
|
121
|
+
if (err.code !== "ENOENT") {
|
|
122
|
+
console.error(`[StartDaemon] Failed to release startup lock: ${err}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* ソケットが準備完了するまでポーリング
|
|
128
|
+
*
|
|
129
|
+
* startDaemonとwaitForDaemonReadyで共通のポーリングロジック
|
|
130
|
+
*
|
|
131
|
+
* @param socketPath - ソケットパス
|
|
132
|
+
* @param readyTimeoutMs - タイムアウト(ミリ秒、未指定時は環境変数または240秒)
|
|
133
|
+
* @param successMessage - 成功時に出力するメッセージ
|
|
134
|
+
*/
|
|
135
|
+
async function pollSocketReady(socketPath, readyTimeoutMs, successMessage) {
|
|
136
|
+
const envTimeoutSeconds = process.env.KIRI_DAEMON_READY_TIMEOUT
|
|
137
|
+
? Number.parseFloat(process.env.KIRI_DAEMON_READY_TIMEOUT)
|
|
138
|
+
: undefined;
|
|
139
|
+
const effectiveTimeoutMs = readyTimeoutMs ??
|
|
140
|
+
(Number.isFinite(envTimeoutSeconds) && envTimeoutSeconds > 0
|
|
141
|
+
? envTimeoutSeconds * 1000
|
|
142
|
+
: 240_000);
|
|
143
|
+
const pollIntervalMs = 500;
|
|
144
|
+
const maxAttempts = Math.max(1, Math.ceil(effectiveTimeoutMs / pollIntervalMs));
|
|
145
|
+
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
146
|
+
try {
|
|
147
|
+
// ソケット接続を試みる
|
|
148
|
+
const socket = net.connect(socketPath);
|
|
149
|
+
await new Promise((resolve, reject) => {
|
|
150
|
+
const timeout = setTimeout(() => {
|
|
151
|
+
socket.destroy();
|
|
152
|
+
reject(new Error("Socket connection timeout"));
|
|
153
|
+
}, pollIntervalMs);
|
|
154
|
+
socket.on("connect", () => {
|
|
155
|
+
clearTimeout(timeout);
|
|
156
|
+
socket.end();
|
|
157
|
+
resolve();
|
|
158
|
+
});
|
|
159
|
+
socket.on("error", (err) => {
|
|
160
|
+
clearTimeout(timeout);
|
|
161
|
+
reject(err);
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
// 接続成功
|
|
165
|
+
console.error(successMessage);
|
|
166
|
+
return;
|
|
167
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
168
|
+
}
|
|
169
|
+
catch (_err) {
|
|
170
|
+
// まだ準備できていない、再試行
|
|
171
|
+
await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// タイムアウト
|
|
175
|
+
throw new Error(`Daemon did not become ready within ${Math.round(effectiveTimeoutMs / 1000)} seconds.`);
|
|
176
|
+
}
|
|
12
177
|
/**
|
|
13
178
|
* デーモンが実行中かチェック
|
|
14
179
|
*
|
|
@@ -158,88 +323,92 @@ export async function stopDaemon(databasePath) {
|
|
|
158
323
|
/**
|
|
159
324
|
* デーモンプロセスを起動
|
|
160
325
|
*
|
|
161
|
-
*
|
|
326
|
+
* デタッチモードで起動し、ソケットが準備完了するまで待つ。
|
|
327
|
+
* スタートアップロックにより、同時に複数のプロセスがデーモンを起動することを防ぐ。
|
|
328
|
+
*
|
|
329
|
+
* LAW-001: Single Daemon Invariant
|
|
330
|
+
* - 同一データベースパスに対して、常に最大1つのデーモンのみが存在する
|
|
331
|
+
*
|
|
332
|
+
* LAW-002: Exclusive Startup
|
|
333
|
+
* - スタートアップロック取得者のみがデーモンをspawnできる
|
|
334
|
+
* - ロック取得失敗時は既存デーモンの起動完了を待つ
|
|
162
335
|
*/
|
|
163
336
|
export async function startDaemon(options) {
|
|
164
337
|
const { repoRoot, databasePath, socketPath, watchMode, debounceMs, allowDegrade, securityConfigPath, securityLockPath, readyTimeoutMs, } = options;
|
|
165
|
-
//
|
|
166
|
-
// 開発時: src/daemon/daemon.ts, ビルド後: dist/src/daemon/daemon.js
|
|
167
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
168
|
-
const __dirname = path.dirname(__filename);
|
|
169
|
-
const daemonScriptPath = path.resolve(__dirname, "../daemon/daemon.js");
|
|
170
|
-
// デーモン起動引数
|
|
171
|
-
const args = ["--repo", repoRoot, "--db", databasePath, "--socket-path", socketPath];
|
|
172
|
-
if (watchMode) {
|
|
173
|
-
args.push("--watch");
|
|
174
|
-
if (debounceMs !== undefined) {
|
|
175
|
-
args.push("--debounce", String(debounceMs));
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
if (allowDegrade) {
|
|
179
|
-
args.push("--allow-degrade");
|
|
180
|
-
}
|
|
181
|
-
if (securityConfigPath) {
|
|
182
|
-
args.push("--security-config", securityConfigPath);
|
|
183
|
-
}
|
|
184
|
-
if (securityLockPath) {
|
|
185
|
-
args.push("--security-lock", securityLockPath);
|
|
186
|
-
}
|
|
187
|
-
// データベースの親ディレクトリを自動作成(.kiri/ などが存在しない場合)
|
|
338
|
+
// データベースの親ディレクトリを自動作成(ロック取得前に必要)
|
|
188
339
|
const dbDir = path.dirname(databasePath);
|
|
189
340
|
await fs.mkdir(dbDir, { recursive: true });
|
|
190
|
-
//
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
341
|
+
// スタートアップロックパス(daemon側でも同一パスを使用: src/daemon/lifecycle.ts参照)
|
|
342
|
+
const startupLockPath = `${databasePath}.daemon.starting`;
|
|
343
|
+
// スタートアップロックを取得
|
|
344
|
+
const lockAcquired = tryAcquireStartupLock(startupLockPath);
|
|
345
|
+
if (!lockAcquired) {
|
|
346
|
+
// 別のプロセスがデーモンを起動中 - 既存デーモンの起動完了を待つ
|
|
347
|
+
console.error("[StartDaemon] Another process is starting daemon, waiting for it to become ready...");
|
|
348
|
+
await waitForDaemonReady(socketPath, readyTimeoutMs);
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
// ロックを取得できた場合のみデーモンを起動
|
|
352
|
+
try {
|
|
353
|
+
// デーモン実行ファイルのパスを解決
|
|
354
|
+
// 開発時: src/daemon/daemon.ts, ビルド後: dist/src/daemon/daemon.js
|
|
355
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
356
|
+
const __dirname = path.dirname(__filename);
|
|
357
|
+
const daemonScriptPath = path.resolve(__dirname, "../daemon/daemon.js");
|
|
358
|
+
// デーモン起動引数
|
|
359
|
+
const args = ["--repo", repoRoot, "--db", databasePath, "--socket-path", socketPath];
|
|
360
|
+
if (watchMode) {
|
|
361
|
+
args.push("--watch");
|
|
362
|
+
if (debounceMs !== undefined) {
|
|
363
|
+
args.push("--debounce", String(debounceMs));
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
if (allowDegrade) {
|
|
367
|
+
args.push("--allow-degrade");
|
|
368
|
+
}
|
|
369
|
+
if (securityConfigPath) {
|
|
370
|
+
args.push("--security-config", securityConfigPath);
|
|
371
|
+
}
|
|
372
|
+
if (securityLockPath) {
|
|
373
|
+
args.push("--security-lock", securityLockPath);
|
|
374
|
+
}
|
|
375
|
+
// デーモンログファイル
|
|
376
|
+
const logFilePath = `${databasePath}.daemon.log`;
|
|
377
|
+
let logFile;
|
|
212
378
|
try {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
reject(new Error("Socket connection timeout"));
|
|
219
|
-
}, pollIntervalMs);
|
|
220
|
-
socket.on("connect", () => {
|
|
221
|
-
clearTimeout(timeout);
|
|
222
|
-
socket.end();
|
|
223
|
-
resolve();
|
|
224
|
-
});
|
|
225
|
-
socket.on("error", (err) => {
|
|
226
|
-
clearTimeout(timeout);
|
|
227
|
-
reject(err);
|
|
228
|
-
});
|
|
379
|
+
logFile = await fs.open(logFilePath, "a");
|
|
380
|
+
// デタッチモードでデーモンを起動
|
|
381
|
+
const daemon = spawn(process.execPath, [daemonScriptPath, ...args], {
|
|
382
|
+
detached: true,
|
|
383
|
+
stdio: ["ignore", logFile.fd, logFile.fd],
|
|
229
384
|
});
|
|
230
|
-
//
|
|
231
|
-
console.error(
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
385
|
+
daemon.unref(); // 親プロセスがデーモンの終了を待たない
|
|
386
|
+
console.error(`[StartDaemon] Spawned daemon process (PID: ${daemon.pid})`);
|
|
387
|
+
console.error(`[StartDaemon] Daemon log: ${logFilePath}`);
|
|
388
|
+
// ソケットが準備完了するまで待つ
|
|
389
|
+
await pollSocketReady(socketPath, readyTimeoutMs, "[StartDaemon] Daemon is ready");
|
|
235
390
|
}
|
|
236
|
-
|
|
237
|
-
//
|
|
238
|
-
|
|
391
|
+
finally {
|
|
392
|
+
// logFileハンドルを必ず閉じる
|
|
393
|
+
if (logFile) {
|
|
394
|
+
await logFile.close().catch(() => { });
|
|
395
|
+
}
|
|
239
396
|
}
|
|
240
397
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
398
|
+
finally {
|
|
399
|
+
// スタートアップロックを解放(成功/失敗に関わらず)
|
|
400
|
+
releaseStartupLock(startupLockPath);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* デーモンが準備完了するまで待つ
|
|
405
|
+
*
|
|
406
|
+
* 別プロセスがデーモンを起動中の場合に使用
|
|
407
|
+
*
|
|
408
|
+
* @param socketPath - ソケットパス
|
|
409
|
+
* @param readyTimeoutMs - タイムアウト(ミリ秒)
|
|
410
|
+
*/
|
|
411
|
+
async function waitForDaemonReady(socketPath, readyTimeoutMs) {
|
|
412
|
+
await pollSocketReady(socketPath, readyTimeoutMs, "[StartDaemon] Daemon (started by another process) is ready");
|
|
244
413
|
}
|
|
245
414
|
//# sourceMappingURL=start-daemon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-daemon.js","sourceRoot":"","sources":["../../../src/client/start-daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"start-daemon.js","sourceRoot":"","sources":["../../../src/client/start-daemon.ts"],"names":[],"mappings":"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"}
|