kiri-mcp-server 0.19.0 → 0.20.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.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > Intelligent code context extraction for LLMs via Model Context Protocol
4
4
 
5
- [![Version](https://img.shields.io/badge/version-0.19.0-blue.svg)](package.json)
5
+ [![Version](https://img.shields.io/badge/version-0.20.1-blue.svg)](package.json)
6
6
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
7
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.6-blue.svg)](https://www.typescriptlang.org/)
8
8
  [![MCP](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://modelcontextprotocol.io/)
@@ -139,10 +139,10 @@ See [CHANGELOG.md](CHANGELOG.md) for release notes.
139
139
 
140
140
  **Recent highlights:**
141
141
 
142
- - **v0.19.0**: MCP Structured Output対応(outputSchemaフィールド追加)
142
+ - **v0.20.1**: MCP Prompts translation fix (Japanese to English)
143
+ - **v0.20.0**: MCP Prompts/Resources support
144
+ - **v0.19.0**: MCP Structured Output support (outputSchema field)
143
145
  - **v0.18.2**: Defensive JSON sanitization for metadata persistence
144
- - **v0.18.1**: Unicode surrogate fix, DCCA analysis documentation
145
- - **v0.18.0**: Rust code intelligence, shirushi document ID management
146
146
 
147
147
  ---
148
148
 
@@ -221,4 +221,4 @@ Built with [Model Context Protocol](https://modelcontextprotocol.io/), [DuckDB](
221
221
 
222
222
  ---
223
223
 
224
- **Status**: v0.19.0 (Beta) - Production-ready for MCP clients
224
+ **Status**: v0.20.1 (Beta) - Production-ready for MCP clients
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kiri-mcp-server",
3
- "version": "0.18.2",
3
+ "version": "0.20.0",
4
4
  "description": "KIRI context extraction platform",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@9.0.0",
@@ -0,0 +1,154 @@
1
+ /**
2
+ * MCP Structured Output用のoutputSchema定義
3
+ *
4
+ * Zod 4のz.toJSONSchema()を使用して、各ツールの戻り値のJSON Schemaを生成。
5
+ * MCP仕様(2025-06-18)のstructuredContent対応に使用。
6
+ *
7
+ * @see https://modelcontextprotocol.io/specification/2025-06-18/server/tools
8
+ * @see https://zod.dev/json-schema
9
+ */
10
+ import { z } from "zod";
11
+ /**
12
+ * context_bundleの各エントリのスキーマ
13
+ */
14
+ export declare const ContextBundleItemSchema: z.ZodObject<{
15
+ path: z.ZodString;
16
+ range: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
17
+ preview: z.ZodOptional<z.ZodString>;
18
+ why: z.ZodArray<z.ZodString>;
19
+ score: z.ZodNumber;
20
+ }, z.core.$strip>;
21
+ /**
22
+ * context_bundleの戻り値スキーマ
23
+ */
24
+ export declare const ContextBundleResultSchema: z.ZodObject<{
25
+ context: z.ZodArray<z.ZodObject<{
26
+ path: z.ZodString;
27
+ range: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
28
+ preview: z.ZodOptional<z.ZodString>;
29
+ why: z.ZodArray<z.ZodString>;
30
+ score: z.ZodNumber;
31
+ }, z.core.$strip>>;
32
+ tokens_estimate: z.ZodOptional<z.ZodNumber>;
33
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
+ }, z.core.$strip>;
35
+ /**
36
+ * files_searchの各エントリのスキーマ
37
+ */
38
+ export declare const FilesSearchResultItemSchema: z.ZodObject<{
39
+ path: z.ZodString;
40
+ preview: z.ZodOptional<z.ZodString>;
41
+ matchLine: z.ZodNumber;
42
+ lang: z.ZodNullable<z.ZodString>;
43
+ ext: z.ZodNullable<z.ZodString>;
44
+ score: z.ZodNumber;
45
+ }, z.core.$strip>;
46
+ /**
47
+ * files_searchの戻り値スキーマ(配列)
48
+ */
49
+ export declare const FilesSearchResultSchema: z.ZodArray<z.ZodObject<{
50
+ path: z.ZodString;
51
+ preview: z.ZodOptional<z.ZodString>;
52
+ matchLine: z.ZodNumber;
53
+ lang: z.ZodNullable<z.ZodString>;
54
+ ext: z.ZodNullable<z.ZodString>;
55
+ score: z.ZodNumber;
56
+ }, z.core.$strip>>;
57
+ /**
58
+ * snippets_getの戻り値スキーマ
59
+ */
60
+ export declare const SnippetResultSchema: z.ZodObject<{
61
+ path: z.ZodString;
62
+ startLine: z.ZodNumber;
63
+ endLine: z.ZodNumber;
64
+ content: z.ZodOptional<z.ZodString>;
65
+ totalLines: z.ZodNumber;
66
+ symbolName: z.ZodNullable<z.ZodString>;
67
+ symbolKind: z.ZodNullable<z.ZodString>;
68
+ truncated: z.ZodOptional<z.ZodBoolean>;
69
+ }, z.core.$strip>;
70
+ /**
71
+ * deps_closureのノードスキーマ
72
+ */
73
+ export declare const DepsClosureNodeSchema: z.ZodObject<{
74
+ kind: z.ZodEnum<{
75
+ path: "path";
76
+ package: "package";
77
+ }>;
78
+ target: z.ZodString;
79
+ depth: z.ZodNumber;
80
+ }, z.core.$strip>;
81
+ /**
82
+ * deps_closureのエッジスキーマ
83
+ */
84
+ export declare const DepsClosureEdgeSchema: z.ZodObject<{
85
+ from: z.ZodString;
86
+ to: z.ZodString;
87
+ kind: z.ZodEnum<{
88
+ path: "path";
89
+ package: "package";
90
+ }>;
91
+ rel: z.ZodString;
92
+ depth: z.ZodNumber;
93
+ }, z.core.$strip>;
94
+ /**
95
+ * deps_closureの戻り値スキーマ
96
+ */
97
+ export declare const DepsClosureResultSchema: z.ZodObject<{
98
+ root: z.ZodString;
99
+ direction: z.ZodEnum<{
100
+ outbound: "outbound";
101
+ inbound: "inbound";
102
+ }>;
103
+ nodes: z.ZodArray<z.ZodObject<{
104
+ kind: z.ZodEnum<{
105
+ path: "path";
106
+ package: "package";
107
+ }>;
108
+ target: z.ZodString;
109
+ depth: z.ZodNumber;
110
+ }, z.core.$strip>>;
111
+ edges: z.ZodArray<z.ZodObject<{
112
+ from: z.ZodString;
113
+ to: z.ZodString;
114
+ kind: z.ZodEnum<{
115
+ path: "path";
116
+ package: "package";
117
+ }>;
118
+ rel: z.ZodString;
119
+ depth: z.ZodNumber;
120
+ }, z.core.$strip>>;
121
+ }, z.core.$strip>;
122
+ /**
123
+ * semantic_rerankの各エントリのスキーマ
124
+ */
125
+ export declare const SemanticRerankItemSchema: z.ZodObject<{
126
+ path: z.ZodString;
127
+ semantic: z.ZodNumber;
128
+ base: z.ZodNumber;
129
+ combined: z.ZodNumber;
130
+ }, z.core.$strip>;
131
+ /**
132
+ * semantic_rerankの戻り値スキーマ
133
+ */
134
+ export declare const SemanticRerankResultSchema: z.ZodObject<{
135
+ candidates: z.ZodArray<z.ZodObject<{
136
+ path: z.ZodString;
137
+ semantic: z.ZodNumber;
138
+ base: z.ZodNumber;
139
+ combined: z.ZodNumber;
140
+ }, z.core.$strip>>;
141
+ }, z.core.$strip>;
142
+ /**
143
+ * 各ツールのoutputSchemaをJSON Schema形式で生成
144
+ *
145
+ * MCP仕様のtools/listレスポンスで使用される
146
+ */
147
+ export declare const OUTPUT_SCHEMAS: {
148
+ readonly context_bundle: z.core.JSONSchema.JSONSchema;
149
+ readonly files_search: z.core.JSONSchema.JSONSchema;
150
+ readonly snippets_get: z.core.JSONSchema.JSONSchema;
151
+ readonly deps_closure: z.core.JSONSchema.JSONSchema;
152
+ readonly semantic_rerank: z.core.JSONSchema.JSONSchema;
153
+ };
154
+ //# sourceMappingURL=output-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-schemas.d.ts","sourceRoot":"","sources":["../../../src/server/output-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;iBAMlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;iBAIpC,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;iBAOtC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;kBAAuC,CAAC;AAM5E;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;iBAS9B,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;iBAIhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;iBAMhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;iBAKlC,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;iBAKnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;iBAErC,CAAC;AAMH;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * MCP Structured Output用のoutputSchema定義
3
+ *
4
+ * Zod 4のz.toJSONSchema()を使用して、各ツールの戻り値のJSON Schemaを生成。
5
+ * MCP仕様(2025-06-18)のstructuredContent対応に使用。
6
+ *
7
+ * @see https://modelcontextprotocol.io/specification/2025-06-18/server/tools
8
+ * @see https://zod.dev/json-schema
9
+ */
10
+ import { z } from "zod";
11
+ // =============================================================================
12
+ // context_bundle
13
+ // =============================================================================
14
+ /**
15
+ * context_bundleの各エントリのスキーマ
16
+ */
17
+ export const ContextBundleItemSchema = z.object({
18
+ path: z.string().describe("ファイルパス"),
19
+ range: z.tuple([z.number(), z.number()]).describe("行範囲 [start, end]"),
20
+ preview: z.string().optional().describe("コードプレビュー(compact=falseの場合)"),
21
+ why: z.array(z.string()).describe("スコアリング理由"),
22
+ score: z.number().describe("関連度スコア"),
23
+ });
24
+ /**
25
+ * context_bundleの戻り値スキーマ
26
+ */
27
+ export const ContextBundleResultSchema = z.object({
28
+ context: z.array(ContextBundleItemSchema).describe("関連コードスニペットの配列"),
29
+ tokens_estimate: z.number().optional().describe("推定トークン数"),
30
+ warnings: z.array(z.string()).optional().describe("警告メッセージ"),
31
+ });
32
+ // =============================================================================
33
+ // files_search
34
+ // =============================================================================
35
+ /**
36
+ * files_searchの各エントリのスキーマ
37
+ */
38
+ export const FilesSearchResultItemSchema = z.object({
39
+ path: z.string().describe("ファイルパス"),
40
+ preview: z.string().optional().describe("マッチしたコンテキスト(compact=falseの場合)"),
41
+ matchLine: z.number().describe("マッチした行番号"),
42
+ lang: z.string().nullable().describe("プログラミング言語"),
43
+ ext: z.string().nullable().describe("ファイル拡張子"),
44
+ score: z.number().describe("検索スコア"),
45
+ });
46
+ /**
47
+ * files_searchの戻り値スキーマ(配列)
48
+ */
49
+ export const FilesSearchResultSchema = z.array(FilesSearchResultItemSchema);
50
+ // =============================================================================
51
+ // snippets_get
52
+ // =============================================================================
53
+ /**
54
+ * snippets_getの戻り値スキーマ
55
+ */
56
+ export const SnippetResultSchema = z.object({
57
+ path: z.string().describe("ファイルパス"),
58
+ startLine: z.number().describe("開始行番号"),
59
+ endLine: z.number().describe("終了行番号"),
60
+ content: z.string().optional().describe("スニペット内容(compact=falseの場合)"),
61
+ totalLines: z.number().describe("ファイルの総行数"),
62
+ symbolName: z.string().nullable().describe("シンボル名"),
63
+ symbolKind: z.string().nullable().describe("シンボル種別"),
64
+ truncated: z.boolean().optional().describe("ファイルが切り詰められたか(view=fullの場合)"),
65
+ });
66
+ // =============================================================================
67
+ // deps_closure
68
+ // =============================================================================
69
+ /**
70
+ * deps_closureのノードスキーマ
71
+ */
72
+ export const DepsClosureNodeSchema = z.object({
73
+ kind: z.enum(["path", "package"]).describe("ノード種別"),
74
+ target: z.string().describe("対象パスまたはパッケージ名"),
75
+ depth: z.number().describe("ルートからの深さ"),
76
+ });
77
+ /**
78
+ * deps_closureのエッジスキーマ
79
+ */
80
+ export const DepsClosureEdgeSchema = z.object({
81
+ from: z.string().describe("依存元"),
82
+ to: z.string().describe("依存先"),
83
+ kind: z.enum(["path", "package"]).describe("エッジ種別"),
84
+ rel: z.string().describe("関係タイプ"),
85
+ depth: z.number().describe("エッジの深さ"),
86
+ });
87
+ /**
88
+ * deps_closureの戻り値スキーマ
89
+ */
90
+ export const DepsClosureResultSchema = z.object({
91
+ root: z.string().describe("ルートファイルパス"),
92
+ direction: z.enum(["outbound", "inbound"]).describe("探索方向"),
93
+ nodes: z.array(DepsClosureNodeSchema).describe("依存ノード配列"),
94
+ edges: z.array(DepsClosureEdgeSchema).describe("依存エッジ配列"),
95
+ });
96
+ // =============================================================================
97
+ // semantic_rerank
98
+ // =============================================================================
99
+ /**
100
+ * semantic_rerankの各エントリのスキーマ
101
+ */
102
+ export const SemanticRerankItemSchema = z.object({
103
+ path: z.string().describe("ファイルパス"),
104
+ semantic: z.number().describe("セマンティック類似度スコア"),
105
+ base: z.number().describe("ベーススコア"),
106
+ combined: z.number().describe("統合スコア"),
107
+ });
108
+ /**
109
+ * semantic_rerankの戻り値スキーマ
110
+ */
111
+ export const SemanticRerankResultSchema = z.object({
112
+ candidates: z.array(SemanticRerankItemSchema).describe("リランキングされた候補配列"),
113
+ });
114
+ // =============================================================================
115
+ // JSON Schema生成
116
+ // =============================================================================
117
+ /**
118
+ * 各ツールのoutputSchemaをJSON Schema形式で生成
119
+ *
120
+ * MCP仕様のtools/listレスポンスで使用される
121
+ */
122
+ export const OUTPUT_SCHEMAS = {
123
+ context_bundle: z.toJSONSchema(ContextBundleResultSchema),
124
+ files_search: z.toJSONSchema(FilesSearchResultSchema),
125
+ snippets_get: z.toJSONSchema(SnippetResultSchema),
126
+ deps_closure: z.toJSONSchema(DepsClosureResultSchema),
127
+ semantic_rerank: z.toJSONSchema(SemanticRerankResultSchema),
128
+ };
129
+ //# sourceMappingURL=output-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-schemas.js","sourceRoot":"","sources":["../../../src/server/output-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACrE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACrE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;CACrC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;IACnE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC1D,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;CAC7D,CAAC,CAAC;AAEH,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACxE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IACjD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;CACpC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAE5E,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACpE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC3C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACpD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;CAC1E,CAAC,CAAC;AAEH,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;IACnD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;CACvC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;IAChC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;IACnD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;CACrC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC3D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;IACzD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;CAC1D,CAAC,CAAC;AAEH,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;CACvC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;CACxE,CAAC,CAAC;AAEH,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,cAAc,EAAE,CAAC,CAAC,YAAY,CAAC,yBAAyB,CAAC;IACzD,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAC;IACrD,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,mBAAmB,CAAC;IACjD,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAC;IACrD,eAAe,EAAE,CAAC,CAAC,YAAY,CAAC,0BAA0B,CAAC;CACnD,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * プロンプトの引数定義
3
+ */
4
+ export interface PromptArgument {
5
+ name: string;
6
+ description?: string;
7
+ required?: boolean;
8
+ }
9
+ /**
10
+ * プロンプト記述子(prompts/listで返す形式)
11
+ */
12
+ export interface PromptDescriptor {
13
+ name: string;
14
+ description?: string;
15
+ arguments?: PromptArgument[];
16
+ }
17
+ /**
18
+ * プロンプトメッセージのコンテンツ
19
+ */
20
+ export interface PromptContent {
21
+ type: "text";
22
+ text: string;
23
+ }
24
+ /**
25
+ * プロンプトメッセージ(prompts/getで返す形式)
26
+ */
27
+ export interface PromptMessage {
28
+ role: "user" | "assistant";
29
+ content: PromptContent;
30
+ }
31
+ /**
32
+ * prompts/getのレスポンス
33
+ */
34
+ export interface PromptGetResult {
35
+ description?: string;
36
+ messages: PromptMessage[];
37
+ }
38
+ /**
39
+ * カスタムプロンプト定義(.kiri/prompts.yaml用)
40
+ */
41
+ interface CustomPromptDefinition {
42
+ name: string;
43
+ description?: string;
44
+ arguments?: PromptArgument[];
45
+ template: string;
46
+ }
47
+ /**
48
+ * ビルトインのプリセットプロンプト
49
+ */
50
+ export declare const PRESET_PROMPTS: PromptDescriptor[];
51
+ /**
52
+ * .kiri/prompts.yaml からカスタムプロンプトを読み込む
53
+ *
54
+ * @param repoRoot - リポジトリのルートパス
55
+ * @returns カスタムプロンプト定義の配列
56
+ */
57
+ export declare function loadCustomPrompts(repoRoot: string): Promise<CustomPromptDefinition[]>;
58
+ /**
59
+ * 利用可能なすべてのプロンプトを取得(プリセット + カスタム)
60
+ *
61
+ * @param repoRoot - リポジトリのルートパス
62
+ * @returns プロンプト記述子の配列
63
+ */
64
+ export declare function listPrompts(repoRoot: string): Promise<PromptDescriptor[]>;
65
+ /**
66
+ * プロンプトのメッセージを生成
67
+ *
68
+ * @param promptName - プロンプト名
69
+ * @param args - 引数
70
+ * @param repoRoot - リポジトリのルートパス
71
+ * @returns プロンプトメッセージまたはnull(見つからない場合)
72
+ */
73
+ export declare function generatePromptMessages(promptName: string, args: Record<string, string>, repoRoot: string): Promise<PromptGetResult | null>;
74
+ export {};
75
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/server/prompts.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAaD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,gBAAgB,EA6D5C,CAAC;AAyIF;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC,CA2B3F;AAwBD;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAS/E;AAeD;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA4CjC"}