kiri-mcp-server 0.23.0 → 0.24.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.
@@ -4,6 +4,9 @@
4
4
  *
5
5
  * Transparently bridges stdio (MCP client) ↔ Unix socket (daemon).
6
6
  * Auto-starts daemon if not running, handles retries and fallback.
7
+ * Supports automatic reconnection on daemon restart.
8
+ *
9
+ * @see Issue #156: MCP接続がデーモン再起動時に切断され、自動再接続しない問題への対応
7
10
  */
8
11
  import { spawn } from "child_process";
9
12
  import * as net from "net";
@@ -14,6 +17,7 @@ import packageJson from "../../package.json" with { type: "json" };
14
17
  import { defineCli } from "../shared/cli/args.js";
15
18
  import { getSocketPath } from "../shared/utils/socket.js";
16
19
  import { parsePositiveInt } from "../shared/utils/validation.js";
20
+ import { ConnectionManager, isRetriableError } from "./connection-manager.js";
17
21
  import { startDaemon, isDaemonRunning, stopDaemon } from "./start-daemon.js";
18
22
  /** Delay after stopping daemon before starting new processes */
19
23
  const DAEMON_STOP_WAIT_MS = 1000;
@@ -122,6 +126,32 @@ const PROXY_CLI_SPEC = {
122
126
  },
123
127
  ],
124
128
  },
129
+ {
130
+ title: "Reconnection",
131
+ options: [
132
+ {
133
+ flag: "max-reconnect-attempts",
134
+ type: "string",
135
+ description: "Maximum number of reconnection attempts (default: 10)",
136
+ placeholder: "<count>",
137
+ default: "10",
138
+ },
139
+ {
140
+ flag: "reconnect-delay",
141
+ type: "string",
142
+ description: "Initial reconnection delay in milliseconds (default: 500)",
143
+ placeholder: "<ms>",
144
+ default: "500",
145
+ },
146
+ {
147
+ flag: "reconnect-max-delay",
148
+ type: "string",
149
+ description: "Maximum reconnection delay in milliseconds (default: 30000)",
150
+ placeholder: "<ms>",
151
+ default: "30000",
152
+ },
153
+ ],
154
+ },
125
155
  ],
126
156
  examples: [
127
157
  "kiri --repo /path/to/repo --db /path/to/index.duckdb",
@@ -151,6 +181,9 @@ function parseProxyArgs() {
151
181
  securityConfigPath: values["security-config"],
152
182
  securityLockPath: values["security-lock"],
153
183
  fullIndex: values.full || false,
184
+ maxReconnectAttempts: parsePositiveInt(values["max-reconnect-attempts"], 10, "max reconnect attempts"),
185
+ reconnectInitialDelayMs: parsePositiveInt(values["reconnect-delay"], 500, "reconnect delay"),
186
+ reconnectMaxDelayMs: parsePositiveInt(values["reconnect-max-delay"], 30000, "reconnect max delay"),
154
187
  };
155
188
  }
156
189
  /**
@@ -207,7 +240,7 @@ async function checkDaemonVersion(socket) {
207
240
  /**
208
241
  * デーモンに接続を試みる(リトライロジック付き)
209
242
  */
210
- async function connectToDaemon(socketPath, maxRetries, retryDelayMs) {
243
+ async function _connectToDaemon(socketPath, maxRetries, retryDelayMs) {
211
244
  for (let attempt = 1; attempt <= maxRetries; attempt++) {
212
245
  try {
213
246
  const socket = net.connect(socketPath);
@@ -228,12 +261,82 @@ async function connectToDaemon(socketPath, maxRetries, retryDelayMs) {
228
261
  }
229
262
  }
230
263
  }
231
- throw new Error("Unexpected error in connectToDaemon");
264
+ throw new Error("Unexpected error in _connectToDaemon");
232
265
  }
233
266
  /**
234
- * Stdio ↔ Socket ブリッジを確立
267
+ * Stdio ↔ Socket ブリッジを確立(再接続対応版)
268
+ *
269
+ * ConnectionManagerを使用して、デーモン再起動時も自動的に再接続を試みる。
270
+ * 再接続中のリクエストはRequestQueueでバッファリングされ、再接続後に再送信される。
271
+ *
272
+ * @see Issue #156
235
273
  */
236
- function bridgeStdioToSocket(socket) {
274
+ function createReconnectingBridge(connectionManager) {
275
+ const requestQueue = connectionManager.getRequestQueue();
276
+ // stdin → socket
277
+ const stdinReader = readline.createInterface({
278
+ input: process.stdin,
279
+ crlfDelay: Infinity,
280
+ });
281
+ stdinReader.on("line", async (line) => {
282
+ // リクエストをキューに追加
283
+ requestQueue.enqueue(line);
284
+ const socket = connectionManager.getSocket();
285
+ if (socket && connectionManager.getState().status === "connected") {
286
+ try {
287
+ socket.write(line + "\n");
288
+ }
289
+ catch (err) {
290
+ console.error(`[Proxy] Write error: ${err.message}`);
291
+ // 書き込みエラーは無視(再接続時に再送信される)
292
+ }
293
+ }
294
+ // 接続されていない場合、リクエストはキューに保持され、再接続後に再送信される
295
+ });
296
+ stdinReader.on("close", () => {
297
+ connectionManager.close();
298
+ process.exit(0);
299
+ });
300
+ // socket → stdout のイベントリスナーを設定
301
+ // Note: dequeue処理はConnectionManager.setupSocketListeners()で行われる
302
+ connectionManager.on("data", (data) => {
303
+ // 改行区切りでレスポンスを処理し、stdoutへ出力
304
+ const lines = data
305
+ .toString()
306
+ .split("\n")
307
+ .filter((line) => line.trim());
308
+ for (const line of lines) {
309
+ console.log(line);
310
+ }
311
+ });
312
+ // 再接続イベントのログ出力
313
+ connectionManager.on("reconnecting", (attempt, maxAttempts, delayMs) => {
314
+ console.error(`[Proxy] Reconnection attempt ${attempt}/${maxAttempts} (delay: ${Math.round(delayMs)}ms)`);
315
+ });
316
+ connectionManager.on("reconnected", () => {
317
+ console.error("[Proxy] Reconnected to daemon successfully");
318
+ });
319
+ connectionManager.on("disconnected", (reason) => {
320
+ console.error(`[Proxy] Connection lost: ${reason}. Attempting reconnection...`);
321
+ });
322
+ connectionManager.on("maxRetriesExceeded", () => {
323
+ console.error("[Proxy] Max reconnection attempts exceeded. Exiting.");
324
+ process.exit(1);
325
+ });
326
+ connectionManager.on("error", (err) => {
327
+ if (!isRetriableError(err)) {
328
+ console.error(`[Proxy] Fatal socket error: ${err.message}`);
329
+ process.exit(1);
330
+ }
331
+ // 再接続可能なエラーはConnectionManagerが自動的に処理
332
+ });
333
+ }
334
+ /**
335
+ * Stdio ↔ Socket ブリッジを確立(レガシー版、後方互換性のために残す)
336
+ *
337
+ * @deprecated createReconnectingBridgeを使用してください
338
+ */
339
+ function _bridgeStdioToSocket(socket) {
237
340
  // stdin → socket
238
341
  const stdinReader = readline.createInterface({
239
342
  input: process.stdin,
@@ -322,6 +425,10 @@ async function handleFullIndex(options) {
322
425
  }
323
426
  /**
324
427
  * メイン関数:プロキシを起動
428
+ *
429
+ * ConnectionManagerを使用して、デーモン再起動時も自動的に再接続を試みる。
430
+ *
431
+ * @see Issue #156
325
432
  */
326
433
  async function main() {
327
434
  const options = parseProxyArgs();
@@ -331,16 +438,22 @@ async function main() {
331
438
  return; // Exit without starting MCP proxy
332
439
  }
333
440
  try {
334
- // デーモンが実行中かチェック (use configured socket path)
335
- const running = await isDaemonRunning(options.databasePath, options.socketPath);
336
- if (!running) {
337
- console.error("[Proxy] Daemon not running. Starting daemon...");
338
- // デーモンを起動
339
- await startDaemon(buildDaemonOptions(options));
340
- console.error("[Proxy] Daemon started successfully");
341
- }
342
- // デーモンに接続
343
- const socket = await connectToDaemon(options.socketPath, options.maxRetries, options.retryDelayMs);
441
+ // ConnectionManagerを作成
442
+ const connectionManager = new ConnectionManager({
443
+ socketPath: options.socketPath,
444
+ databasePath: options.databasePath,
445
+ repoRoot: options.repoRoot,
446
+ maxReconnectAttempts: options.maxReconnectAttempts,
447
+ reconnectInitialDelayMs: options.reconnectInitialDelayMs,
448
+ reconnectMaxDelayMs: options.reconnectMaxDelayMs,
449
+ watchMode: options.watchMode,
450
+ debounceMs: options.debounceMs,
451
+ allowDegrade: options.allowDegrade,
452
+ securityConfigPath: options.securityConfigPath,
453
+ securityLockPath: options.securityLockPath,
454
+ });
455
+ // 初回接続
456
+ const socket = await connectionManager.connect();
344
457
  // バージョン互換性をチェック
345
458
  try {
346
459
  await checkDaemonVersion(socket);
@@ -351,28 +464,39 @@ async function main() {
351
464
  if (versionErr.message.includes("Version mismatch")) {
352
465
  console.error(`[Proxy] ${versionErr.message}`);
353
466
  console.error("[Proxy] Automatically restarting daemon with current version...");
354
- socket.destroy();
467
+ connectionManager.close();
355
468
  // 古いデーモンを停止
356
469
  await stopDaemon(options.databasePath);
357
470
  // 少し待ってから新しいデーモンを起動
358
471
  await new Promise((resolve) => setTimeout(resolve, DAEMON_STOP_WAIT_MS));
359
- // 新しいデーモンを起動
360
- await startDaemon(buildDaemonOptions(options));
472
+ // 新しいConnectionManagerを作成して再接続
473
+ const newConnectionManager = new ConnectionManager({
474
+ socketPath: options.socketPath,
475
+ databasePath: options.databasePath,
476
+ repoRoot: options.repoRoot,
477
+ maxReconnectAttempts: options.maxReconnectAttempts,
478
+ reconnectInitialDelayMs: options.reconnectInitialDelayMs,
479
+ reconnectMaxDelayMs: options.reconnectMaxDelayMs,
480
+ watchMode: options.watchMode,
481
+ debounceMs: options.debounceMs,
482
+ allowDegrade: options.allowDegrade,
483
+ securityConfigPath: options.securityConfigPath,
484
+ securityLockPath: options.securityLockPath,
485
+ });
486
+ const newSocket = await newConnectionManager.connect();
361
487
  console.error("[Proxy] Daemon restarted successfully, reconnecting...");
362
- // 再接続を試みる
363
- const newSocket = await connectToDaemon(options.socketPath, options.maxRetries, options.retryDelayMs);
364
488
  // 再度バージョンチェック
365
489
  await checkDaemonVersion(newSocket);
366
- console.error("[Proxy] Connected to daemon. Bridging stdio ↔ socket...");
367
- // Stdio ↔ Socket ブリッジを確立
368
- bridgeStdioToSocket(newSocket);
490
+ console.error("[Proxy] Connected to daemon. Bridging stdio ↔ socket (with reconnection support)...");
491
+ // Stdio ↔ Socket ブリッジを確立(再接続対応版)
492
+ createReconnectingBridge(newConnectionManager);
369
493
  return;
370
494
  }
371
495
  throw versionError;
372
496
  }
373
- console.error("[Proxy] Connected to daemon. Bridging stdio ↔ socket...");
374
- // Stdio ↔ Socket ブリッジを確立
375
- bridgeStdioToSocket(socket);
497
+ console.error("[Proxy] Connected to daemon. Bridging stdio ↔ socket (with reconnection support)...");
498
+ // Stdio ↔ Socket ブリッジを確立(再接続対応版)
499
+ createReconnectingBridge(connectionManager);
376
500
  }
377
501
  catch (err) {
378
502
  const error = err;
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/client/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/client/proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * RequestQueue - 再接続中のリクエストをバッファリングし、再接続後に再送信する
3
+ *
4
+ * @see Issue #156: MCP接続がデーモン再起動時に切断され、自動再接続しない問題への対応
5
+ */
6
+ import type * as net from "net";
7
+ /**
8
+ * 保留中のリクエスト情報
9
+ */
10
+ export interface PendingRequest {
11
+ /** JSON-RPC リクエストID */
12
+ id: string | number;
13
+ /** JSON-RPC リクエスト文字列(送信用) */
14
+ data: string;
15
+ /** 送信時刻(タイムアウト計算用) */
16
+ timestamp: number;
17
+ /** タイムアウト時間(ミリ秒) */
18
+ timeoutMs: number;
19
+ /** リトライ回数 */
20
+ retryCount: number;
21
+ /** タイムアウトタイマーID */
22
+ timeoutTimer?: NodeJS.Timeout;
23
+ }
24
+ /**
25
+ * RequestQueueのオプション
26
+ */
27
+ export interface RequestQueueOptions {
28
+ /** リクエストタイムアウト時間(ミリ秒)。デフォルト: 30000 */
29
+ requestTimeoutMs?: number;
30
+ /** 最大保留リクエスト数。デフォルト: 100 */
31
+ maxPendingRequests?: number;
32
+ /** 最大リトライ回数。デフォルト: 3 */
33
+ maxRetryCount?: number;
34
+ /** タイムアウト時のコールバック */
35
+ onTimeout?: (request: PendingRequest) => void;
36
+ /** キュー満杯時のコールバック */
37
+ onQueueFull?: (request: PendingRequest) => void;
38
+ }
39
+ /**
40
+ * JSON-RPCリクエストからIDを抽出するユーティリティ
41
+ */
42
+ export declare function extractRequestId(data: string): string | number | null;
43
+ /**
44
+ * リクエストキュー
45
+ *
46
+ * 再接続中のリクエストをバッファリングし、再接続後に再送信する。
47
+ * タイムアウト管理とリトライ制限を提供する。
48
+ */
49
+ export declare class RequestQueue {
50
+ private readonly queue;
51
+ private readonly requestTimeoutMs;
52
+ private readonly maxPendingRequests;
53
+ private readonly maxRetryCount;
54
+ private readonly onTimeout;
55
+ private readonly onQueueFull;
56
+ constructor(options?: RequestQueueOptions);
57
+ /**
58
+ * リクエストをキューに追加
59
+ *
60
+ * @param data - JSON-RPC リクエスト文字列
61
+ * @returns 追加されたリクエスト情報、またはnull(notificationの場合やキュー満杯の場合)
62
+ */
63
+ enqueue(data: string): PendingRequest | null;
64
+ /**
65
+ * レスポンス受信時にキューからリクエストを削除
66
+ *
67
+ * @param id - JSON-RPC リクエストID
68
+ * @returns 削除されたリクエスト情報、またはundefined
69
+ */
70
+ dequeue(id: string | number): PendingRequest | undefined;
71
+ /**
72
+ * 再接続後に保留中のリクエストを再送信
73
+ *
74
+ * @param socket - 再接続後のソケット
75
+ * @returns 再送信されたリクエスト数
76
+ */
77
+ replayAll(socket: net.Socket): Promise<number>;
78
+ /**
79
+ * キュー内のリクエスト数を取得
80
+ */
81
+ size(): number;
82
+ /**
83
+ * キューをクリア(全リクエストのタイムアウトタイマーも解除)
84
+ */
85
+ clear(): void;
86
+ /**
87
+ * 全ての保留中リクエストを取得(デバッグ用)
88
+ */
89
+ getAll(): PendingRequest[];
90
+ /**
91
+ * 特定のリクエストを取得
92
+ */
93
+ get(id: string | number): PendingRequest | undefined;
94
+ /**
95
+ * タイムアウト処理
96
+ */
97
+ private handleTimeout;
98
+ /**
99
+ * ソケットへの書き込み(Promise化)
100
+ */
101
+ private writeToSocket;
102
+ }
103
+ //# sourceMappingURL=request-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-queue.d.ts","sourceRoot":"","sources":["../../../src/client/request-queue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,KAAK,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4BAA4B;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wBAAwB;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,oBAAoB;IACpB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;CACjD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAYrE;AAED;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmD;IACzE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkD;IAC5E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkD;gBAElE,OAAO,GAAE,mBAAwB;IAQ7C;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IA4C5C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS;IAWxD;;;;;OAKG;IACG,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA8CpD;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;OAEG;IACH,MAAM,IAAI,cAAc,EAAE;IAI1B;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS;IAIpD;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,aAAa;CAWtB"}
@@ -0,0 +1,203 @@
1
+ /**
2
+ * RequestQueue - 再接続中のリクエストをバッファリングし、再接続後に再送信する
3
+ *
4
+ * @see Issue #156: MCP接続がデーモン再起動時に切断され、自動再接続しない問題への対応
5
+ */
6
+ /**
7
+ * JSON-RPCリクエストからIDを抽出するユーティリティ
8
+ */
9
+ export function extractRequestId(data) {
10
+ try {
11
+ const parsed = JSON.parse(data);
12
+ // JSON-RPC 2.0のidフィールドを取得
13
+ // idがない場合はnotificationなのでキューイング不要
14
+ if (parsed.id !== undefined && parsed.id !== null) {
15
+ return parsed.id;
16
+ }
17
+ return null;
18
+ }
19
+ catch {
20
+ return null;
21
+ }
22
+ }
23
+ /**
24
+ * リクエストキュー
25
+ *
26
+ * 再接続中のリクエストをバッファリングし、再接続後に再送信する。
27
+ * タイムアウト管理とリトライ制限を提供する。
28
+ */
29
+ export class RequestQueue {
30
+ queue = new Map();
31
+ requestTimeoutMs;
32
+ maxPendingRequests;
33
+ maxRetryCount;
34
+ onTimeout;
35
+ onQueueFull;
36
+ constructor(options = {}) {
37
+ this.requestTimeoutMs = options.requestTimeoutMs ?? 30000;
38
+ this.maxPendingRequests = options.maxPendingRequests ?? 100;
39
+ this.maxRetryCount = options.maxRetryCount ?? 3;
40
+ this.onTimeout = options.onTimeout ?? undefined;
41
+ this.onQueueFull = options.onQueueFull ?? undefined;
42
+ }
43
+ /**
44
+ * リクエストをキューに追加
45
+ *
46
+ * @param data - JSON-RPC リクエスト文字列
47
+ * @returns 追加されたリクエスト情報、またはnull(notificationの場合やキュー満杯の場合)
48
+ */
49
+ enqueue(data) {
50
+ const id = extractRequestId(data);
51
+ // idがない場合はnotification(応答不要)なのでキューイング不要
52
+ if (id === null) {
53
+ return null;
54
+ }
55
+ // キュー満杯チェック
56
+ if (this.queue.size >= this.maxPendingRequests) {
57
+ const request = {
58
+ id,
59
+ data,
60
+ timestamp: Date.now(),
61
+ timeoutMs: this.requestTimeoutMs,
62
+ retryCount: 0,
63
+ };
64
+ this.onQueueFull?.(request);
65
+ return null;
66
+ }
67
+ // 既存のリクエストがある場合は上書き(同じIDのリクエストは最新のみ保持)
68
+ const existing = this.queue.get(id);
69
+ if (existing?.timeoutTimer) {
70
+ clearTimeout(existing.timeoutTimer);
71
+ }
72
+ const request = {
73
+ id,
74
+ data,
75
+ timestamp: Date.now(),
76
+ timeoutMs: this.requestTimeoutMs,
77
+ retryCount: existing?.retryCount ?? 0,
78
+ };
79
+ // タイムアウトタイマーを設定
80
+ request.timeoutTimer = setTimeout(() => {
81
+ this.handleTimeout(id);
82
+ }, this.requestTimeoutMs);
83
+ this.queue.set(id, request);
84
+ return request;
85
+ }
86
+ /**
87
+ * レスポンス受信時にキューからリクエストを削除
88
+ *
89
+ * @param id - JSON-RPC リクエストID
90
+ * @returns 削除されたリクエスト情報、またはundefined
91
+ */
92
+ dequeue(id) {
93
+ const request = this.queue.get(id);
94
+ if (request) {
95
+ if (request.timeoutTimer) {
96
+ clearTimeout(request.timeoutTimer);
97
+ }
98
+ this.queue.delete(id);
99
+ }
100
+ return request;
101
+ }
102
+ /**
103
+ * 再接続後に保留中のリクエストを再送信
104
+ *
105
+ * @param socket - 再接続後のソケット
106
+ * @returns 再送信されたリクエスト数
107
+ */
108
+ async replayAll(socket) {
109
+ let replayedCount = 0;
110
+ const toRemove = [];
111
+ for (const [id, request] of this.queue) {
112
+ // リトライ上限チェック
113
+ if (request.retryCount >= this.maxRetryCount) {
114
+ toRemove.push(id);
115
+ continue;
116
+ }
117
+ // リトライ回数を増加
118
+ request.retryCount++;
119
+ // タイムアウトタイマーをリセット
120
+ if (request.timeoutTimer) {
121
+ clearTimeout(request.timeoutTimer);
122
+ }
123
+ request.timeoutTimer = setTimeout(() => {
124
+ this.handleTimeout(id);
125
+ }, this.requestTimeoutMs);
126
+ // ソケットに再送信
127
+ try {
128
+ await this.writeToSocket(socket, request.data);
129
+ replayedCount++;
130
+ }
131
+ catch {
132
+ // 書き込みエラーは無視(次の再接続で再試行)
133
+ }
134
+ }
135
+ // リトライ上限に達したリクエストを削除
136
+ for (const id of toRemove) {
137
+ const request = this.queue.get(id);
138
+ if (request?.timeoutTimer) {
139
+ clearTimeout(request.timeoutTimer);
140
+ }
141
+ this.queue.delete(id);
142
+ if (request) {
143
+ this.onTimeout?.(request);
144
+ }
145
+ }
146
+ return replayedCount;
147
+ }
148
+ /**
149
+ * キュー内のリクエスト数を取得
150
+ */
151
+ size() {
152
+ return this.queue.size;
153
+ }
154
+ /**
155
+ * キューをクリア(全リクエストのタイムアウトタイマーも解除)
156
+ */
157
+ clear() {
158
+ for (const request of this.queue.values()) {
159
+ if (request.timeoutTimer) {
160
+ clearTimeout(request.timeoutTimer);
161
+ }
162
+ }
163
+ this.queue.clear();
164
+ }
165
+ /**
166
+ * 全ての保留中リクエストを取得(デバッグ用)
167
+ */
168
+ getAll() {
169
+ return Array.from(this.queue.values());
170
+ }
171
+ /**
172
+ * 特定のリクエストを取得
173
+ */
174
+ get(id) {
175
+ return this.queue.get(id);
176
+ }
177
+ /**
178
+ * タイムアウト処理
179
+ */
180
+ handleTimeout(id) {
181
+ const request = this.queue.get(id);
182
+ if (request) {
183
+ this.queue.delete(id);
184
+ this.onTimeout?.(request);
185
+ }
186
+ }
187
+ /**
188
+ * ソケットへの書き込み(Promise化)
189
+ */
190
+ writeToSocket(socket, data) {
191
+ return new Promise((resolve, reject) => {
192
+ socket.write(data + "\n", (err) => {
193
+ if (err) {
194
+ reject(err);
195
+ }
196
+ else {
197
+ resolve();
198
+ }
199
+ });
200
+ });
201
+ }
202
+ }
203
+ //# sourceMappingURL=request-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-queue.js","sourceRoot":"","sources":["../../../src/client/request-queue.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,9 @@ export declare class DaemonLifecycle {
34
34
  /**
35
35
  * スタートアップロックを取得(排他的作成)
36
36
  *
37
+ * ロックファイルが存在しても、所有プロセスが死んでいればstale lockとして
38
+ * 自動的にクリーンアップして再取得を試みる。
39
+ *
37
40
  * @returns ロック取得に成功した場合はtrue、他のプロセスが既にロック中の場合はfalse
38
41
  */
39
42
  acquireStartupLock(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/daemon/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,qBAAa,eAAe;IAYxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAZrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAC,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4B;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAa;gBAGxB,YAAY,EAAE,MAAM,EACpB,kBAAkB,GAAE,MAAU;IAOjD;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAc5C;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWzC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAWpC;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsB5C;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAQzC;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAK5B;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAO5B;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAI/C;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAuBtB;;OAEG;IACH,qBAAqB,IAAI,IAAI;IAoB7B;;;;OAIG;YACW,iBAAiB;IAmC/B;;;;OAIG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAc1C"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/daemon/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwBH;;GAEG;AACH,qBAAa,eAAe;IAYxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAZrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAC,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4B;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAa;gBAGxB,YAAY,EAAE,MAAM,EACpB,kBAAkB,GAAE,MAAU;IAOjD;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;;;;;;OAOG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAwF5C;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWzC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAWpC;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsB5C;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAQzC;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAK5B;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAO5B;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAI/C;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAuBtB;;OAEG;IACH,qBAAqB,IAAI,IAAI;IAoB7B;;;;OAIG;YACW,iBAAiB;IAmC/B;;;;OAIG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAc1C"}