@search-docs/mcp-server 1.0.13 → 1.0.15

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.
Files changed (87) hide show
  1. package/dist/__tests__/helpers/test-setup.d.ts +33 -0
  2. package/dist/__tests__/helpers/test-setup.d.ts.map +1 -0
  3. package/dist/__tests__/helpers/test-setup.js +106 -0
  4. package/dist/__tests__/helpers/test-setup.js.map +1 -0
  5. package/dist/__tests__/helpers/types.d.ts +22 -0
  6. package/dist/__tests__/helpers/types.d.ts.map +1 -0
  7. package/dist/__tests__/helpers/types.js +5 -0
  8. package/dist/__tests__/helpers/types.js.map +1 -0
  9. package/dist/__tests__/mcp-server-basic.test.d.ts +16 -0
  10. package/dist/__tests__/mcp-server-basic.test.d.ts.map +1 -0
  11. package/dist/__tests__/mcp-server-basic.test.js +113 -0
  12. package/dist/__tests__/mcp-server-basic.test.js.map +1 -0
  13. package/dist/__tests__/server-lifecycle.test.d.ts +15 -0
  14. package/dist/__tests__/server-lifecycle.test.d.ts.map +1 -0
  15. package/dist/__tests__/server-lifecycle.test.js +171 -0
  16. package/dist/__tests__/server-lifecycle.test.js.map +1 -0
  17. package/dist/__tests__/server-state-transition-v2.test.d.ts +7 -0
  18. package/dist/__tests__/server-state-transition-v2.test.d.ts.map +1 -0
  19. package/dist/__tests__/server-state-transition-v2.test.js +182 -0
  20. package/dist/__tests__/server-state-transition-v2.test.js.map +1 -0
  21. package/dist/__tests__/server-state.test.d.ts +11 -0
  22. package/dist/__tests__/server-state.test.d.ts.map +1 -0
  23. package/dist/__tests__/server-state.test.js +123 -0
  24. package/dist/__tests__/server-state.test.js.map +1 -0
  25. package/dist/__tests__/state.test.d.ts +5 -0
  26. package/dist/__tests__/state.test.d.ts.map +1 -0
  27. package/dist/__tests__/state.test.js +114 -0
  28. package/dist/__tests__/state.test.js.map +1 -0
  29. package/dist/server-manager.d.ts +1 -1
  30. package/dist/server-manager.d.ts.map +1 -1
  31. package/dist/server-manager.js +68 -15
  32. package/dist/server-manager.js.map +1 -1
  33. package/dist/server-state-transition.test.d.ts +9 -0
  34. package/dist/server-state-transition.test.d.ts.map +1 -0
  35. package/dist/server-state-transition.test.js +267 -0
  36. package/dist/server-state-transition.test.js.map +1 -0
  37. package/dist/server.d.ts +4 -0
  38. package/dist/server.d.ts.map +1 -1
  39. package/dist/server.js +91 -243
  40. package/dist/server.js.map +1 -1
  41. package/dist/server.test.js +32 -1
  42. package/dist/server.test.js.map +1 -1
  43. package/dist/state.d.ts +42 -0
  44. package/dist/state.d.ts.map +1 -0
  45. package/dist/state.js +96 -0
  46. package/dist/state.js.map +1 -0
  47. package/dist/tools/__tests__/index-status.test.d.ts +5 -0
  48. package/dist/tools/__tests__/index-status.test.d.ts.map +1 -0
  49. package/dist/tools/__tests__/index-status.test.js +123 -0
  50. package/dist/tools/__tests__/index-status.test.js.map +1 -0
  51. package/dist/tools/get-document.d.ts +10 -0
  52. package/dist/tools/get-document.d.ts.map +1 -0
  53. package/dist/tools/get-document.js +73 -0
  54. package/dist/tools/get-document.js.map +1 -0
  55. package/dist/tools/index-status.d.ts +10 -0
  56. package/dist/tools/index-status.d.ts.map +1 -0
  57. package/dist/tools/index-status.js +51 -0
  58. package/dist/tools/index-status.js.map +1 -0
  59. package/dist/tools/index.d.ts +11 -0
  60. package/dist/tools/index.d.ts.map +1 -0
  61. package/dist/tools/index.js +12 -0
  62. package/dist/tools/index.js.map +1 -0
  63. package/dist/tools/init.d.ts +10 -0
  64. package/dist/tools/init.d.ts.map +1 -0
  65. package/dist/tools/init.js +71 -0
  66. package/dist/tools/init.js.map +1 -0
  67. package/dist/tools/search.d.ts +10 -0
  68. package/dist/tools/search.d.ts.map +1 -0
  69. package/dist/tools/search.js +92 -0
  70. package/dist/tools/search.js.map +1 -0
  71. package/dist/tools/server-control.d.ts +14 -0
  72. package/dist/tools/server-control.d.ts.map +1 -0
  73. package/dist/tools/server-control.js +121 -0
  74. package/dist/tools/server-control.js.map +1 -0
  75. package/dist/tools/system-status.d.ts +10 -0
  76. package/dist/tools/system-status.d.ts.map +1 -0
  77. package/dist/tools/system-status.js +68 -0
  78. package/dist/tools/system-status.js.map +1 -0
  79. package/dist/tools/types.d.ts +17 -0
  80. package/dist/tools/types.d.ts.map +1 -0
  81. package/dist/tools/types.js +5 -0
  82. package/dist/tools/types.js.map +1 -0
  83. package/dist/utils.d.ts +19 -0
  84. package/dist/utils.d.ts.map +1 -0
  85. package/dist/utils.js +36 -0
  86. package/dist/utils.js.map +1 -0
  87. package/package.json +3 -3
package/dist/server.js CHANGED
@@ -1,13 +1,17 @@
1
1
  #!/usr/bin/env node
2
+ /**
3
+ * search-docs MCP Server
4
+ * Claude Code統合用のMCPサーバ
5
+ */
2
6
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
7
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
- import { z } from 'zod';
5
8
  import { Command } from 'commander';
6
- import { SearchDocsClient } from '@search-docs/client';
7
- import { ConfigLoader } from '@search-docs/types';
9
+ import { createRequire } from 'module';
8
10
  import * as path from 'path';
11
+ import * as fs from 'fs/promises';
12
+ import { detectSystemState } from './state.js';
9
13
  import { ServerManager } from './server-manager.js';
10
- import { createRequire } from 'module';
14
+ import { registerInitTool, registerServerStartTool, registerServerStopTool, registerSystemStatusTool, registerSearchTool, registerGetDocumentTool, registerIndexStatusTool, } from './tools/index.js';
11
15
  // package.jsonからバージョンを読み込む
12
16
  const require = createRequire(import.meta.url);
13
17
  const packageJson = require('../package.json');
@@ -23,31 +27,16 @@ function debugLog(message) {
23
27
  if (isDebugMode) {
24
28
  console.error(`[mcp-server] ${message}`);
25
29
  }
26
- }
27
- /**
28
- * depthを分かりやすいラベルに変換
29
- */
30
- function getDepthLabel(depth) {
31
- const labels = [
32
- 'document (全体)',
33
- 'H1 (章)',
34
- 'H2 (節)',
35
- 'H3 (項)',
36
- ];
37
- return labels[depth] || `depth-${depth}`;
38
- }
39
- /**
40
- * コンテンツのプレビューを取得(行ベース)
41
- */
42
- function getPreviewContent(content, maxLines = 5) {
43
- const lines = content.split('\n');
44
- if (lines.length <= maxLines) {
45
- return content;
30
+ // Always write to debug file for troubleshooting
31
+ try {
32
+ const debugFile = '/tmp/mcp-server-debug.log';
33
+ const timestamp = new Date().toISOString();
34
+ const logMessage = `[${timestamp}] [mcp-server] ${message}\n`;
35
+ require('fs').appendFileSync(debugFile, logMessage);
36
+ }
37
+ catch {
38
+ // Ignore file write errors
46
39
  }
47
- const previewLines = lines.slice(0, maxLines);
48
- const remaining = lines.length - maxLines;
49
- previewLines.push(`... (残り${remaining}行)`);
50
- return previewLines.join('\n');
51
40
  }
52
41
  /**
53
42
  * コマンドライン引数を解析
@@ -72,62 +61,48 @@ async function main() {
72
61
  // コマンドライン引数の解析
73
62
  const { projectDir } = parseArgs();
74
63
  // プロジェクトディレクトリを決定
75
- // 明示的に指定されていない場合は、カレントディレクトリから設定ファイルを探索
76
64
  const cwd = projectDir || process.cwd();
77
65
  debugLog(`Working directory: ${cwd}`);
78
- if (projectDir) {
79
- debugLog(`Project directory (explicit): ${projectDir}`);
80
- }
81
- else {
82
- debugLog(`Project directory: auto-detect from config file`);
83
- }
84
- // 設定ファイルの読み込み
85
- const { config, configPath, projectRoot } = await ConfigLoader.resolve({
86
- cwd,
87
- requireConfig: true,
88
- });
89
- const serverUrl = `http://${config.server.host}:${config.server.port}`;
90
- debugLog(`Project root: ${projectRoot}`);
91
- debugLog(`Config: ${configPath || 'default config'}`);
92
- debugLog(`Server URL: ${serverUrl}`);
93
- // SearchDocsClientの初期化
94
- const client = new SearchDocsClient({ baseUrl: serverUrl });
95
- // ServerManager初期化
96
- const serverManager = new ServerManager();
97
- // プロセス終了時のクリーンアップ
98
- process.on('SIGINT', () => {
99
- debugLog('Received SIGINT, cleaning up...');
100
- serverManager.cleanup();
101
- process.exit(0);
102
- });
103
- process.on('SIGTERM', () => {
104
- debugLog('Received SIGTERM, cleaning up...');
105
- serverManager.cleanup();
106
- process.exit(0);
107
- });
108
- // 接続確認
109
- try {
110
- await client.healthCheck();
111
- debugLog('Connection to search-docs server established');
112
- }
113
- catch (_error) {
114
- debugLog('Server is not running, attempting to start...');
66
+ // システム状態を判定
67
+ let systemState = await detectSystemState(cwd);
68
+ debugLog('='.repeat(60));
69
+ debugLog(`System state detected: ${systemState.state}`);
70
+ debugLog(`Project root: ${systemState.projectRoot}`);
71
+ debugLog(`Config exists: ${systemState.config ? 'YES' : 'NO'}`);
72
+ debugLog(`Config path: ${systemState.configPath || '(none)'}`);
73
+ // CONFIGURED_SERVER_DOWNかつインデックスが存在する場合、サーバを自動起動
74
+ debugLog(`Checking auto-start condition: state === CONFIGURED_SERVER_DOWN && config exists`);
75
+ debugLog(` - state === CONFIGURED_SERVER_DOWN: ${systemState.state === 'CONFIGURED_SERVER_DOWN'}`);
76
+ debugLog(` - config exists: ${!!systemState.config}`);
77
+ if (systemState.state === 'CONFIGURED_SERVER_DOWN' && systemState.config) {
78
+ const indexPath = path.join(systemState.projectRoot, systemState.config.storage.indexPath);
79
+ debugLog(`Index path to check: ${indexPath}`);
115
80
  try {
116
- // サーバを自動起動(projectRootを使用)
117
- await serverManager.startServer(projectRoot, config.server.port, configPath || undefined);
118
- // 起動後、再度接続確認
119
- await client.healthCheck();
120
- debugLog('Successfully connected to auto-started server');
81
+ await fs.access(indexPath);
82
+ // インデックスディレクトリが存在する 自動起動を試みる
83
+ debugLog('✓ Index directory exists, attempting auto-start...');
84
+ const serverManager = new ServerManager();
85
+ try {
86
+ debugLog(`Auto-start params: projectRoot=${systemState.projectRoot}, port=${systemState.config.server.port}, configPath=${systemState.configPath}`);
87
+ await serverManager.startServer(systemState.projectRoot, systemState.config.server.port, systemState.configPath);
88
+ // 自動起動成功、状態を再判定
89
+ systemState = await detectSystemState(cwd);
90
+ debugLog(`System state after auto-start: ${systemState.state}`);
91
+ }
92
+ catch (startError) {
93
+ // 自動起動失敗は致命的ではない、手動起動を促す
94
+ debugLog(`Auto-start failed: ${startError.message}`);
95
+ }
121
96
  }
122
- catch (startError) {
123
- // エラーは標準エラー出力に出す(ユーザーが問題解決に必要)
124
- console.error('[mcp-server] Failed to auto-start server');
125
- console.error('[mcp-server] Error:', startError.message);
126
- console.error('[mcp-server] Please ensure @search-docs/cli is installed:');
127
- console.error('[mcp-server] npm install -g @search-docs/cli');
128
- throw startError;
97
+ catch (error) {
98
+ // インデックスディレクトリが存在しない → 自動起動しない
99
+ debugLog(`✗ Index directory does not exist, skipping auto-start: ${error.message}`);
129
100
  }
130
101
  }
102
+ else {
103
+ debugLog('✗ Auto-start condition not met, skipping auto-start');
104
+ }
105
+ debugLog('='.repeat(60));
131
106
  // MCPサーバの初期化
132
107
  const server = new McpServer({
133
108
  name: 'search-docs',
@@ -137,175 +112,48 @@ async function main() {
137
112
  tools: {},
138
113
  },
139
114
  });
140
- // search ツール
141
- server.registerTool('search', {
142
- description: '文書を検索します。クエリに基づいてVector検索を実行し、関連する文書セクションを返します。',
143
- inputSchema: {
144
- query: z.string().describe('検索クエリ'),
145
- depth: z
146
- .union([z.number(), z.array(z.number())])
147
- .optional()
148
- .describe('検索深度(0-3)。配列で複数指定可能'),
149
- limit: z.number().optional().describe('結果数制限(デフォルト: 10)'),
150
- includeCleanOnly: z
151
- .boolean()
152
- .optional()
153
- .describe('Clean状態のセクションのみを検索対象とする(デフォルト: false)'),
154
- previewLines: z.number().optional().describe('プレビュー行数(デフォルト: 5)'),
155
- },
156
- }, async (args) => {
157
- const { query, depth, limit, includeCleanOnly, previewLines = 5 } = args;
158
- try {
159
- const response = await client.search({
160
- query,
161
- options: {
162
- depth,
163
- limit,
164
- includeCleanOnly,
165
- },
166
- });
167
- // 結果を整形
168
- let resultText = `検索結果: ${response.total}件\n`;
169
- resultText += `処理時間: ${response.took}ms\n\n`;
170
- if (response.results.length === 0) {
171
- resultText += '該当する結果が見つかりませんでした。';
172
- }
173
- else {
174
- response.results.forEach((result, index) => {
175
- // ヘッダー行
176
- const heading = result.heading || '(no heading)';
177
- resultText += `${index + 1}. ${result.documentPath} > ${heading}\n`;
178
- // メタデータ(1行にまとめる)
179
- const depthLabel = getDepthLabel(result.depth);
180
- const sectionPath = result.sectionNumber.join('-');
181
- const metaParts = [
182
- `Level: ${depthLabel}`,
183
- `Section: ${sectionPath}`,
184
- `Line: ${result.startLine}-${result.endLine}`,
185
- `Score: ${result.score.toFixed(4)}`,
186
- ];
187
- // indexStatusが'updating'または'outdated'の場合のみ表示
188
- if (result.indexStatus === 'updating' || result.indexStatus === 'outdated') {
189
- metaParts.push(`Status: ${result.indexStatus}`);
190
- }
191
- resultText += metaParts.join(' | ') + '\n\n';
192
- // コンテンツ(引用として明確に)
193
- resultText += '```markdown\n';
194
- const preview = getPreviewContent(result.content, previewLines);
195
- resultText += preview + '\n';
196
- resultText += '```\n\n';
197
- // セクションID(get_documentで取得するため)
198
- resultText += `(セクションID: ${result.id})\n\n`;
199
- });
200
- }
201
- return {
202
- content: [
203
- {
204
- type: 'text',
205
- text: resultText,
206
- },
207
- ],
208
- };
209
- }
210
- catch (error) {
211
- throw new Error(`検索エラー: ${error.message}`);
212
- }
213
- });
214
- // get_document ツール
215
- server.registerTool('get_document', {
216
- description: '文書の内容を取得します。パス指定で文書全体、またはセクションIDで特定セクションを取得できます。pathとsectionIdのどちらか一方は必須です。',
217
- inputSchema: {
218
- path: z.string().optional().describe('文書パス(sectionIdを指定しない場合は必須)'),
219
- sectionId: z.string().optional().describe('セクションID(検索結果から取得。pathを指定しない場合は必須)'),
220
- },
221
- }, async (args) => {
222
- const { path: documentPath, sectionId } = args;
223
- // どちらか一方は必須
224
- if (!documentPath && !sectionId) {
225
- throw new Error('pathまたはsectionIdのどちらか一方を指定してください');
226
- }
227
- try {
228
- const response = await client.getDocument({ path: documentPath, sectionId });
229
- if (!response.document && !response.section) {
230
- throw new Error(`Document or section not found`);
231
- }
232
- let resultText = '';
233
- // セクション取得の場合
234
- if (sectionId && response.section) {
235
- resultText += `セクション: ${response.section.heading || '(no heading)'}\n`;
236
- resultText += `文書: ${response.section.documentPath}\n`;
237
- const depthLabel = getDepthLabel(response.section.depth);
238
- const sectionPath = response.section.sectionNumber.join('-');
239
- resultText += `Level: ${depthLabel} | Section: ${sectionPath} | Line: ${response.section.startLine}-${response.section.endLine}\n\n`;
240
- resultText += `内容:\n${'='.repeat(60)}\n`;
241
- resultText += response.section.content;
242
- resultText += `\n${'='.repeat(60)}`;
243
- }
244
- else if (response.document) {
245
- // 文書全体取得の場合
246
- resultText += `文書: ${response.document.path}\n`;
247
- if (response.document.metadata.title) {
248
- resultText += `タイトル: ${response.document.metadata.title}\n`;
249
- }
250
- resultText += `作成日: ${new Date(response.document.metadata.createdAt).toLocaleString()}\n`;
251
- resultText += `更新日: ${new Date(response.document.metadata.updatedAt).toLocaleString()}\n\n`;
252
- resultText += `内容:\n${'='.repeat(60)}\n`;
253
- resultText += response.document.content;
254
- resultText += `\n${'='.repeat(60)}`;
255
- }
256
- return {
257
- content: [
258
- {
259
- type: 'text',
260
- text: resultText,
261
- },
262
- ],
263
- };
264
- }
265
- catch (error) {
266
- throw new Error(`文書取得エラー: ${error.message}`);
267
- }
268
- });
269
- // index_status ツール
270
- server.registerTool('index_status', {
271
- description: 'インデックスの状態を確認します。総文書数、セクション数、Dirtyセクション数などを表示します。',
272
- inputSchema: {},
273
- }, async () => {
274
- try {
275
- const response = await client.getStatus();
276
- let statusText = '📊 インデックス状態\n\n';
277
- statusText += `サーバ情報:\n`;
278
- statusText += ` バージョン: ${response.server.version}\n`;
279
- statusText += ` 起動時間: ${(response.server.uptime / 1000).toFixed(1)}秒\n`;
280
- statusText += ` PID: ${response.server.pid}\n\n`;
281
- statusText += `インデックス情報:\n`;
282
- statusText += ` 総文書数: ${response.index.totalDocuments}件\n`;
283
- statusText += ` 総セクション数: ${response.index.totalSections}件\n`;
284
- statusText += ` Dirtyセクション: ${response.index.dirtyCount}件\n`;
285
- if (response.worker) {
286
- statusText += `\nワーカー情報:\n`;
287
- statusText += ` 実行中: ${response.worker.running ? 'Yes' : 'No'}\n`;
288
- statusText += ` 処理中: ${response.worker.processing}件\n`;
289
- statusText += ` キュー: ${response.worker.queue}件\n`;
290
- }
291
- return {
292
- content: [
293
- {
294
- type: 'text',
295
- text: statusText,
296
- },
297
- ],
298
- };
299
- }
300
- catch (error) {
301
- throw new Error(`ステータス取得エラー: ${error.message}`);
302
- }
303
- });
115
+ // システム状態を再検出する関数
116
+ const refreshSystemState = async () => {
117
+ const newState = await detectSystemState(cwd);
118
+ // systemStateオブジェクトのプロパティを更新
119
+ Object.assign(systemState, newState);
120
+ debugLog(`System state refreshed: ${systemState.state}`);
121
+ };
122
+ // ツール登録コンテキスト
123
+ const context = { server, systemState, refreshSystemState };
124
+ // 状態に応じてツールを登録
125
+ switch (systemState.state) {
126
+ case 'NOT_CONFIGURED':
127
+ // 未設定状態: init, get_system_status のみ
128
+ debugLog('Registering tools for NOT_CONFIGURED state');
129
+ registerInitTool(context);
130
+ registerSystemStatusTool(context);
131
+ break;
132
+ case 'CONFIGURED_SERVER_DOWN':
133
+ // 設定済み・サーバ停止状態: init, server_start, server_stop, get_system_status
134
+ debugLog('Registering tools for CONFIGURED_SERVER_DOWN state');
135
+ registerInitTool(context);
136
+ registerServerStartTool(context);
137
+ registerServerStopTool(context);
138
+ registerSystemStatusTool(context);
139
+ break;
140
+ case 'RUNNING':
141
+ // 稼働中: 全ツール
142
+ debugLog('Registering all tools for RUNNING state');
143
+ registerInitTool(context);
144
+ registerServerStartTool(context);
145
+ registerServerStopTool(context);
146
+ registerSystemStatusTool(context);
147
+ registerSearchTool(context);
148
+ registerGetDocumentTool(context);
149
+ registerIndexStatusTool(context);
150
+ break;
151
+ }
304
152
  // サーバの起動
305
153
  const transport = new StdioServerTransport();
306
154
  debugLog('Starting MCP server...');
307
155
  await server.connect(transport);
308
- debugLog('MCP server started');
156
+ debugLog(`MCP server started (state: ${systemState.state})`);
309
157
  }
310
158
  main().catch((error) => {
311
159
  console.error('[mcp-server] Server error:', error);
@@ -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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"}
@@ -19,7 +19,19 @@ describe('search-docs MCP Server E2E Tests', () => {
19
19
  });
20
20
  // サーバーが準備完了するまで待機
21
21
  await tester.waitUntilReady();
22
- });
22
+ // search-docsサーバが起動していない場合は起動
23
+ // (CONFIGURED_SERVER_DOWN状態でインデックスが存在しない場合)
24
+ const statusResult = await tester.callTool('get_system_status', {});
25
+ if (statusResult.success) {
26
+ const content = statusResult.result?.content?.[0]?.text || '';
27
+ if (content.includes('サーバ停止中') || content.includes('サーバを起動してください')) {
28
+ // サーバを起動
29
+ await tester.callTool('server_start', {});
30
+ // 起動完了を待機
31
+ await new Promise((resolve) => setTimeout(resolve, 5000));
32
+ }
33
+ }
34
+ }, 30000); // タイムアウトを30秒に延長
23
35
  afterEach(async () => {
24
36
  // テスト環境をクリーンアップ
25
37
  if (tester) {
@@ -161,5 +173,24 @@ describe('search-docs MCP Server E2E Tests', () => {
161
173
  expect(result.error).toBeDefined();
162
174
  });
163
175
  });
176
+ describe('get_system_status ツール', () => {
177
+ test('システム状態を取得できる', async () => {
178
+ const result = await tester.callTool('get_system_status', {});
179
+ expect(result.success).toBe(true);
180
+ expect(result.result).toBeDefined();
181
+ const content = result.result?.content?.[0]?.text;
182
+ expect(content).toContain('search-docs システム状態');
183
+ expect(content).toContain('状態:');
184
+ });
185
+ test('稼働中状態の詳細情報を含む', async () => {
186
+ const result = await tester.callTool('get_system_status', {});
187
+ expect(result.success).toBe(true);
188
+ const content = result.result?.content?.[0]?.text;
189
+ // RUNNING状態の場合の情報
190
+ expect(content).toContain('サーバURL:');
191
+ expect(content).toContain('総文書数:');
192
+ expect(content).toContain('総セクション数:');
193
+ });
194
+ });
164
195
  });
165
196
  //# sourceMappingURL=server.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.test.js","sourceRoot":"","sources":["../src/server.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.test.js","sourceRoot":"","sources":["../src/server.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * システム状態管理
3
+ */
4
+ import { SearchDocsClient } from '@search-docs/client';
5
+ import { type SearchDocsConfig } from '@search-docs/types';
6
+ /**
7
+ * システム状態の種類
8
+ */
9
+ export type SystemState = 'NOT_CONFIGURED' | 'CONFIGURED_SERVER_DOWN' | 'RUNNING';
10
+ /**
11
+ * システム状態情報
12
+ */
13
+ export interface SystemStateInfo {
14
+ /** システム状態 */
15
+ state: SystemState;
16
+ /** 設定情報(設定ファイルが存在する場合) */
17
+ config?: SearchDocsConfig;
18
+ /** 設定ファイルのパス(設定ファイルが存在する場合) */
19
+ configPath?: string;
20
+ /** プロジェクトルート */
21
+ projectRoot: string;
22
+ /** サーバURL(設定ファイルが存在する場合) */
23
+ serverUrl?: string;
24
+ /** クライアントインスタンス(サーバが稼働中の場合) */
25
+ client?: SearchDocsClient;
26
+ }
27
+ /**
28
+ * システム状態を判定
29
+ *
30
+ * @param cwd - カレントワーキングディレクトリ
31
+ * @returns システム状態情報
32
+ */
33
+ export declare function detectSystemState(cwd: string): Promise<SystemStateInfo>;
34
+ /**
35
+ * システム状態に応じたエラーメッセージを生成
36
+ *
37
+ * @param state - システム状態
38
+ * @param action - 実行しようとしたアクション名
39
+ * @returns エラーメッセージ
40
+ */
41
+ export declare function getStateErrorMessage(state: SystemState, action: string): string;
42
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,wBAAwB,GAAG,SAAS,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,aAAa;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA6D7E;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAwB/E"}