@search-docs/mcp-server 1.0.14 → 1.0.16

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 -270
  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 +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * サーバ制御ツール
3
+ * server_start, server_stop
4
+ */
5
+ import type { ToolRegistrationContext } from './types.js';
6
+ /**
7
+ * server_start ツールを登録
8
+ */
9
+ export declare function registerServerStartTool(context: ToolRegistrationContext): void;
10
+ /**
11
+ * server_stop ツールを登録
12
+ */
13
+ export declare function registerServerStopTool(context: ToolRegistrationContext): void;
14
+ //# sourceMappingURL=server-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-control.d.ts","sourceRoot":"","sources":["../../src/tools/server-control.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAwE9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAqD7E"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * サーバ制御ツール
3
+ * server_start, server_stop
4
+ */
5
+ import { z } from 'zod';
6
+ import { startServer } from '@search-docs/cli/commands/server/start';
7
+ import { stopServer } from '@search-docs/cli/commands/server/stop';
8
+ import { getStateErrorMessage } from '../state.js';
9
+ /**
10
+ * server_start ツールを登録
11
+ */
12
+ export function registerServerStartTool(context) {
13
+ const { server, systemState, refreshSystemState } = context;
14
+ server.registerTool('server_start', {
15
+ description: 'search-docsサーバを起動します。設定ファイルが作成済みであることが必要です。デフォルトではバックグラウンドで起動します。',
16
+ inputSchema: {
17
+ foreground: z
18
+ .boolean()
19
+ .optional()
20
+ .describe('フォアグラウンド起動(デフォルト: false、バックグラウンド起動)'),
21
+ },
22
+ }, async (args) => {
23
+ // 状態チェック
24
+ if (systemState.state === 'NOT_CONFIGURED') {
25
+ throw new Error(getStateErrorMessage(systemState.state, 'サーバの起動'));
26
+ }
27
+ if (systemState.state === 'RUNNING') {
28
+ return {
29
+ content: [
30
+ {
31
+ type: 'text',
32
+ text: 'サーバは既に起動しています。\n\nサーバ情報を確認するには get_system_status を使用してください。',
33
+ },
34
+ ],
35
+ };
36
+ }
37
+ const { foreground = false } = args;
38
+ try {
39
+ // CLIのstartServer関数を呼び出し
40
+ // startServer()内でヘルスチェックを行い、起動完了を待機する
41
+ await startServer({
42
+ config: systemState.configPath,
43
+ foreground,
44
+ });
45
+ // システム状態を再検出
46
+ await refreshSystemState();
47
+ let resultText = '✅ サーバを起動しました。\n\n';
48
+ if (foreground) {
49
+ resultText += 'フォアグラウンドモードで起動しています。\n';
50
+ resultText += '終了するには Ctrl+C を押してください。\n\n';
51
+ }
52
+ else {
53
+ resultText += 'バックグラウンドモードで起動しました。\n\n';
54
+ }
55
+ resultText += '次のステップ:\n';
56
+ resultText += ' - システム状態を確認: get_system_status\n';
57
+ resultText += ' - インデックス状態を確認: index_status\n';
58
+ resultText += ' - 文書を検索: search\n';
59
+ return {
60
+ content: [
61
+ {
62
+ type: 'text',
63
+ text: resultText,
64
+ },
65
+ ],
66
+ };
67
+ }
68
+ catch (error) {
69
+ throw new Error(`サーバの起動に失敗しました: ${error.message}`);
70
+ }
71
+ });
72
+ }
73
+ /**
74
+ * server_stop ツールを登録
75
+ */
76
+ export function registerServerStopTool(context) {
77
+ const { server, systemState, refreshSystemState } = context;
78
+ server.registerTool('server_stop', {
79
+ description: 'search-docsサーバを停止します。起動中のサーバを安全に終了します。',
80
+ inputSchema: {},
81
+ }, async () => {
82
+ // 状態チェック
83
+ if (systemState.state === 'NOT_CONFIGURED') {
84
+ throw new Error(getStateErrorMessage(systemState.state, 'サーバの停止'));
85
+ }
86
+ if (systemState.state === 'CONFIGURED_SERVER_DOWN') {
87
+ return {
88
+ content: [
89
+ {
90
+ type: 'text',
91
+ text: 'サーバは既に停止しています。\n\nサーバを起動するには server_start を使用してください。',
92
+ },
93
+ ],
94
+ };
95
+ }
96
+ try {
97
+ // CLIのstopServer関数を呼び出し
98
+ // systemState.projectRootをcwdとして明示的に渡す
99
+ const configToUse = systemState.configPath ||
100
+ (systemState.projectRoot ? `${systemState.projectRoot}/.search-docs.json` : undefined);
101
+ await stopServer({
102
+ config: configToUse,
103
+ cwd: systemState.projectRoot,
104
+ });
105
+ // システム状態を再検出
106
+ await refreshSystemState();
107
+ return {
108
+ content: [
109
+ {
110
+ type: 'text',
111
+ text: '✅ サーバを停止しました。\n\nサーバを再起動するには server_start を使用してください。',
112
+ },
113
+ ],
114
+ };
115
+ }
116
+ catch (error) {
117
+ throw new Error(`サーバの停止に失敗しました: ${error.message}`);
118
+ }
119
+ });
120
+ }
121
+ //# sourceMappingURL=server-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-control.js","sourceRoot":"","sources":["../../src/tools/server-control.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * get_system_status ツール
3
+ * システム全体の状態を取得する
4
+ */
5
+ import type { ToolRegistrationContext } from './types.js';
6
+ /**
7
+ * get_system_status ツールを登録
8
+ */
9
+ export declare function registerSystemStatusTool(context: ToolRegistrationContext): void;
10
+ //# sourceMappingURL=system-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-status.d.ts","sourceRoot":"","sources":["../../src/tools/system-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAsE/E"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * get_system_status ツール
3
+ * システム全体の状態を取得する
4
+ */
5
+ /**
6
+ * get_system_status ツールを登録
7
+ */
8
+ export function registerSystemStatusTool(context) {
9
+ const { server, systemState } = context;
10
+ server.registerTool('get_system_status', {
11
+ description: 'search-docsシステムの状態を取得します。設定ファイルの有無、サーバの起動状態、インデックス情報を確認できます。',
12
+ inputSchema: {},
13
+ }, async () => {
14
+ let statusText = '📊 search-docs システム状態\n\n';
15
+ switch (systemState.state) {
16
+ case 'NOT_CONFIGURED':
17
+ statusText += '状態: 未設定\n\n';
18
+ statusText += 'search-docsがまだセットアップされていません。\n\n';
19
+ statusText += 'まず、設定ファイルを作成してください:\n';
20
+ statusText += ' ツール: init\n\n';
21
+ statusText += '設定作成後、サーバを起動してください:\n';
22
+ statusText += ' ツール: server_start\n';
23
+ break;
24
+ case 'CONFIGURED_SERVER_DOWN':
25
+ statusText += '状態: 設定済み・サーバ停止中\n\n';
26
+ statusText += `設定ファイル: ${systemState.configPath}\n`;
27
+ statusText += `プロジェクト: ${systemState.config?.project.name}\n`;
28
+ statusText += `ポート: ${systemState.config?.server.port}\n\n`;
29
+ statusText += 'サーバを起動してください:\n';
30
+ statusText += ' ツール: server_start\n';
31
+ break;
32
+ case 'RUNNING':
33
+ statusText += '状態: 稼働中 ✅\n\n';
34
+ statusText += `設定ファイル: ${systemState.configPath}\n`;
35
+ statusText += `プロジェクト: ${systemState.config?.project.name}\n`;
36
+ statusText += `サーバURL: ${systemState.serverUrl}\n\n`;
37
+ // サーバ情報を取得
38
+ try {
39
+ const status = await systemState.client.getStatus();
40
+ statusText += 'サーバ情報:\n';
41
+ statusText += ` バージョン: ${status.server.version}\n`;
42
+ statusText += ` PID: ${status.server.pid}\n`;
43
+ statusText += ` 起動時間: ${(status.server.uptime / 1000).toFixed(1)}秒\n\n`;
44
+ statusText += 'インデックス情報:\n';
45
+ statusText += ` 総文書数: ${status.index.totalDocuments}件\n`;
46
+ statusText += ` 総セクション数: ${status.index.totalSections}件\n`;
47
+ statusText += ` Dirtyセクション: ${status.index.dirtyCount}件\n\n`;
48
+ if (status.index.dirtyCount > 0) {
49
+ statusText += `⚠️ ${status.index.dirtyCount}件の文書が更新待ちです。\n`;
50
+ statusText += 'バックグラウンドで順次インデックスが更新されます。\n';
51
+ }
52
+ }
53
+ catch (error) {
54
+ statusText += `⚠️ サーバ情報の取得に失敗: ${error.message}\n`;
55
+ }
56
+ break;
57
+ }
58
+ return {
59
+ content: [
60
+ {
61
+ type: 'text',
62
+ text: statusText,
63
+ },
64
+ ],
65
+ };
66
+ });
67
+ }
68
+ //# sourceMappingURL=system-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-status.js","sourceRoot":"","sources":["../../src/tools/system-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAgC;IACvE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAExC,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EACT,8DAA8D;QAChE,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,IAAI,UAAU,GAAG,2BAA2B,CAAC;QAE7C,QAAQ,WAAW,CAAC,KAAK,EAAE,CAAC;YAC1B,KAAK,gBAAgB;gBACnB,UAAU,IAAI,aAAa,CAAC;gBAC5B,UAAU,IAAI,kCAAkC,CAAC;gBACjD,UAAU,IAAI,uBAAuB,CAAC;gBACtC,UAAU,IAAI,iBAAiB,CAAC;gBAChC,UAAU,IAAI,uBAAuB,CAAC;gBACtC,UAAU,IAAI,uBAAuB,CAAC;gBACtC,MAAM;YAER,KAAK,wBAAwB;gBAC3B,UAAU,IAAI,qBAAqB,CAAC;gBACpC,UAAU,IAAI,WAAW,WAAW,CAAC,UAAU,IAAI,CAAC;gBACpD,UAAU,IAAI,WAAW,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;gBAC9D,UAAU,IAAI,QAAQ,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC;gBAC5D,UAAU,IAAI,iBAAiB,CAAC;gBAChC,UAAU,IAAI,uBAAuB,CAAC;gBACtC,MAAM;YAER,KAAK,SAAS;gBACZ,UAAU,IAAI,eAAe,CAAC;gBAC9B,UAAU,IAAI,WAAW,WAAW,CAAC,UAAU,IAAI,CAAC;gBACpD,UAAU,IAAI,WAAW,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;gBAC9D,UAAU,IAAI,WAAW,WAAW,CAAC,SAAS,MAAM,CAAC;gBAErD,WAAW;gBACX,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAO,CAAC,SAAS,EAAE,CAAC;oBACrD,UAAU,IAAI,UAAU,CAAC;oBACzB,UAAU,IAAI,YAAY,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC;oBACpD,UAAU,IAAI,UAAU,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;oBAC9C,UAAU,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;oBACzE,UAAU,IAAI,aAAa,CAAC;oBAC5B,UAAU,IAAI,WAAW,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC;oBAC1D,UAAU,IAAI,cAAc,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC;oBAC5D,UAAU,IAAI,iBAAiB,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC;oBAE9D,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;wBAChC,UAAU,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,gBAAgB,CAAC;wBAC7D,UAAU,IAAI,6BAA6B,CAAC;oBAC9C,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,IAAI,oBAAqB,KAAe,CAAC,OAAO,IAAI,CAAC;gBACjE,CAAC;gBACD,MAAM;QACV,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU;iBACjB;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ツール登録の共通型定義
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import type { SystemStateInfo } from '../state.js';
6
+ /**
7
+ * ツール登録コンテキスト
8
+ */
9
+ export interface ToolRegistrationContext {
10
+ /** MCPサーバインスタンス */
11
+ server: McpServer;
12
+ /** システム状態情報 */
13
+ systemState: SystemStateInfo;
14
+ /** システム状態を再検出する関数 */
15
+ refreshSystemState: () => Promise<void>;
16
+ }
17
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,mBAAmB;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe;IACf,WAAW,EAAE,eAAe,CAAC;IAC7B,qBAAqB;IACrB,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ツール登録の共通型定義
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 共通ユーティリティ関数
3
+ */
4
+ /**
5
+ * depthを分かりやすいラベルに変換
6
+ *
7
+ * @param depth - 深度(0-3)
8
+ * @returns ラベル文字列
9
+ */
10
+ export declare function getDepthLabel(depth: number): string;
11
+ /**
12
+ * コンテンツのプレビューを取得(行ベース)
13
+ *
14
+ * @param content - 元のコンテンツ
15
+ * @param maxLines - 最大行数(デフォルト: 5)
16
+ * @returns プレビュー文字列
17
+ */
18
+ export declare function getPreviewContent(content: string, maxLines?: number): string;
19
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQnD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAY/E"}
package/dist/utils.js ADDED
@@ -0,0 +1,36 @@
1
+ /**
2
+ * 共通ユーティリティ関数
3
+ */
4
+ /**
5
+ * depthを分かりやすいラベルに変換
6
+ *
7
+ * @param depth - 深度(0-3)
8
+ * @returns ラベル文字列
9
+ */
10
+ export function getDepthLabel(depth) {
11
+ const labels = [
12
+ 'document (全体)',
13
+ 'H1 (章)',
14
+ 'H2 (節)',
15
+ 'H3 (項)',
16
+ ];
17
+ return labels[depth] || `depth-${depth}`;
18
+ }
19
+ /**
20
+ * コンテンツのプレビューを取得(行ベース)
21
+ *
22
+ * @param content - 元のコンテンツ
23
+ * @param maxLines - 最大行数(デフォルト: 5)
24
+ * @returns プレビュー文字列
25
+ */
26
+ export function getPreviewContent(content, maxLines = 5) {
27
+ const lines = content.split('\n');
28
+ if (lines.length <= maxLines) {
29
+ return content;
30
+ }
31
+ const previewLines = lines.slice(0, maxLines);
32
+ const remaining = lines.length - maxLines;
33
+ previewLines.push(`... (残り${remaining}行)`);
34
+ return previewLines.join('\n');
35
+ }
36
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,MAAM,GAAG;QACb,eAAe;QACf,QAAQ;QACR,QAAQ;QACR,QAAQ;KACT,CAAC;IACF,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,WAAmB,CAAC;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;IAC1C,YAAY,CAAC,IAAI,CAAC,UAAU,SAAS,IAAI,CAAC,CAAC;IAE3C,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@search-docs/mcp-server",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "description": "MCP Server for search-docs - Claude Code integration",
5
5
  "type": "module",
6
6
  "main": "dist/server.js",
@@ -16,7 +16,7 @@
16
16
  "@modelcontextprotocol/sdk": "^1.17.0",
17
17
  "commander": "^12.0.0",
18
18
  "zod": "^3.22.0",
19
- "@search-docs/cli": "1.0.9",
19
+ "@search-docs/cli": "1.0.11",
20
20
  "@search-docs/client": "1.0.8",
21
21
  "@search-docs/types": "1.0.8"
22
22
  },