@shuji-bonji/rfcxml-mcp 0.3.0 → 0.4.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.ja.md +39 -33
- package/README.md +37 -29
- package/dist/config.d.ts +26 -26
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +28 -25
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +30 -5
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +49 -7
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +18 -17
- package/dist/index.js.map +1 -1
- package/dist/services/checklist-generator.d.ts +43 -0
- package/dist/services/checklist-generator.d.ts.map +1 -0
- package/dist/services/checklist-generator.js +107 -0
- package/dist/services/checklist-generator.js.map +1 -0
- package/dist/services/rfc-fetcher.d.ts +11 -11
- package/dist/services/rfc-fetcher.d.ts.map +1 -1
- package/dist/services/rfc-fetcher.js +37 -31
- package/dist/services/rfc-fetcher.js.map +1 -1
- package/dist/services/rfc-text-parser.d.ts +4 -6
- package/dist/services/rfc-text-parser.d.ts.map +1 -1
- package/dist/services/rfc-text-parser.js +9 -40
- package/dist/services/rfc-text-parser.js.map +1 -1
- package/dist/services/rfcxml-parser.d.ts +5 -18
- package/dist/services/rfcxml-parser.d.ts.map +1 -1
- package/dist/services/rfcxml-parser.js +21 -95
- package/dist/services/rfcxml-parser.js.map +1 -1
- package/dist/tools/definitions.d.ts +1 -1
- package/dist/tools/definitions.js +27 -27
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/handlers.d.ts +48 -21
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/handlers.js +72 -156
- package/dist/tools/handlers.js.map +1 -1
- package/dist/types/index.d.ts +17 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/requirement-extractor.d.ts +24 -0
- package/dist/utils/requirement-extractor.d.ts.map +1 -0
- package/dist/utils/requirement-extractor.js +100 -0
- package/dist/utils/requirement-extractor.js.map +1 -0
- package/dist/utils/section.d.ts +21 -0
- package/dist/utils/section.d.ts.map +1 -0
- package/dist/utils/section.js +53 -0
- package/dist/utils/section.js.map +1 -0
- package/dist/utils/text.d.ts.map +1 -1
- package/dist/utils/text.js +3 -2
- package/dist/utils/text.js.map +1 -1
- package/dist/utils/validation.d.ts +14 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +30 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +1 -1
package/dist/tools/handlers.d.ts
CHANGED
|
@@ -1,13 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP
|
|
2
|
+
* MCP Tool Handlers
|
|
3
3
|
*/
|
|
4
|
-
import type { GetRFCStructureArgs, GetRequirementsArgs, GetDefinitionsArgs, GetDependenciesArgs, GenerateChecklistArgs, ValidateStatementArgs, Requirement } from '../types/index.js';
|
|
4
|
+
import type { GetRFCStructureArgs, GetRequirementsArgs, GetDefinitionsArgs, GetDependenciesArgs, GenerateChecklistArgs, ValidateStatementArgs, Requirement, ContentBlock } from '../types/index.js';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Clear parse cache (for testing)
|
|
7
7
|
*/
|
|
8
8
|
export declare function clearParseCache(): void;
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Simplified section structure
|
|
11
|
+
*/
|
|
12
|
+
interface SimplifiedSection {
|
|
13
|
+
number?: string;
|
|
14
|
+
title: string;
|
|
15
|
+
anchor?: string;
|
|
16
|
+
content?: ContentBlock[];
|
|
17
|
+
subsections?: SimplifiedSection[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* get_rfc_structure handler
|
|
11
21
|
*/
|
|
12
22
|
export declare function handleGetRFCStructure(args: GetRFCStructureArgs): Promise<{
|
|
13
23
|
metadata: {
|
|
@@ -15,7 +25,7 @@ export declare function handleGetRFCStructure(args: GetRFCStructureArgs): Promis
|
|
|
15
25
|
docName?: string;
|
|
16
26
|
number?: number;
|
|
17
27
|
};
|
|
18
|
-
sections:
|
|
28
|
+
sections: SimplifiedSection[];
|
|
19
29
|
referenceCount: {
|
|
20
30
|
normative: number;
|
|
21
31
|
informative: number;
|
|
@@ -24,7 +34,7 @@ export declare function handleGetRFCStructure(args: GetRFCStructureArgs): Promis
|
|
|
24
34
|
_sourceNote: string | undefined;
|
|
25
35
|
}>;
|
|
26
36
|
/**
|
|
27
|
-
* get_requirements
|
|
37
|
+
* get_requirements handler
|
|
28
38
|
*/
|
|
29
39
|
export declare function handleGetRequirements(args: GetRequirementsArgs): Promise<{
|
|
30
40
|
rfc: number;
|
|
@@ -41,7 +51,7 @@ export declare function handleGetRequirements(args: GetRequirementsArgs): Promis
|
|
|
41
51
|
_sourceNote: string | undefined;
|
|
42
52
|
}>;
|
|
43
53
|
/**
|
|
44
|
-
* get_definitions
|
|
54
|
+
* get_definitions handler
|
|
45
55
|
*/
|
|
46
56
|
export declare function handleGetDefinitions(args: GetDefinitionsArgs): Promise<{
|
|
47
57
|
rfc: number;
|
|
@@ -52,11 +62,31 @@ export declare function handleGetDefinitions(args: GetDefinitionsArgs): Promise<
|
|
|
52
62
|
_sourceNote: string | undefined;
|
|
53
63
|
}>;
|
|
54
64
|
/**
|
|
55
|
-
*
|
|
65
|
+
* Dependencies result type
|
|
56
66
|
*/
|
|
57
|
-
|
|
67
|
+
interface DependencyResult {
|
|
68
|
+
rfc: number;
|
|
69
|
+
normative: Array<{
|
|
70
|
+
rfcNumber?: number;
|
|
71
|
+
title: string;
|
|
72
|
+
anchor: string;
|
|
73
|
+
}>;
|
|
74
|
+
informative: Array<{
|
|
75
|
+
rfcNumber?: number;
|
|
76
|
+
title: string;
|
|
77
|
+
anchor: string;
|
|
78
|
+
}>;
|
|
79
|
+
_source: 'xml' | 'text';
|
|
80
|
+
_sourceNote?: string;
|
|
81
|
+
referencedBy?: never[];
|
|
82
|
+
_note?: string;
|
|
83
|
+
}
|
|
58
84
|
/**
|
|
59
|
-
*
|
|
85
|
+
* get_rfc_dependencies handler
|
|
86
|
+
*/
|
|
87
|
+
export declare function handleGetDependencies(args: GetDependenciesArgs): Promise<DependencyResult>;
|
|
88
|
+
/**
|
|
89
|
+
* get_related_sections handler
|
|
60
90
|
*/
|
|
61
91
|
export declare function handleGetRelatedSections(args: {
|
|
62
92
|
rfc: number;
|
|
@@ -72,33 +102,28 @@ export declare function handleGetRelatedSections(args: {
|
|
|
72
102
|
} | {
|
|
73
103
|
rfc: number;
|
|
74
104
|
section: string;
|
|
75
|
-
title:
|
|
105
|
+
title: string;
|
|
76
106
|
relatedSections: {
|
|
77
107
|
number: string;
|
|
78
|
-
title:
|
|
108
|
+
title: string;
|
|
79
109
|
}[];
|
|
80
110
|
_source: "text" | "xml";
|
|
81
111
|
_sourceNote: string | undefined;
|
|
82
112
|
error?: undefined;
|
|
83
113
|
}>;
|
|
84
114
|
/**
|
|
85
|
-
* generate_checklist
|
|
115
|
+
* generate_checklist handler
|
|
86
116
|
*/
|
|
87
117
|
export declare function handleGenerateChecklist(args: GenerateChecklistArgs): Promise<{
|
|
88
118
|
rfc: number;
|
|
89
119
|
role: "client" | "server" | "both";
|
|
90
|
-
stats:
|
|
91
|
-
must: number;
|
|
92
|
-
should: number;
|
|
93
|
-
may: number;
|
|
94
|
-
total: number;
|
|
95
|
-
};
|
|
120
|
+
stats: import("../services/checklist-generator.js").ChecklistStats;
|
|
96
121
|
markdown: string;
|
|
97
122
|
_source: "text" | "xml";
|
|
98
123
|
_sourceNote: string | undefined;
|
|
99
124
|
}>;
|
|
100
125
|
/**
|
|
101
|
-
* validate_statement
|
|
126
|
+
* validate_statement handler
|
|
102
127
|
*/
|
|
103
128
|
export declare function handleValidateStatement(args: ValidateStatementArgs): Promise<{
|
|
104
129
|
rfc: number;
|
|
@@ -111,7 +136,9 @@ export declare function handleValidateStatement(args: ValidateStatementArgs): Pr
|
|
|
111
136
|
_sourceNote: string | undefined;
|
|
112
137
|
}>;
|
|
113
138
|
/**
|
|
114
|
-
*
|
|
139
|
+
* Tool handlers map
|
|
140
|
+
* Note: Using 'unknown' for args type as each handler has specific type requirements
|
|
115
141
|
*/
|
|
116
142
|
export declare const toolHandlers: Record<string, (args: any) => Promise<unknown>>;
|
|
143
|
+
export {};
|
|
117
144
|
//# sourceMappingURL=handlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/tools/handlers.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/tools/handlers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmBH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,EAEX,YAAY,EACb,MAAM,mBAAmB,CAAC;AA4C3B;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AA0CD;;GAEG;AACH,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACnC;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB;;;;;;;;;;;;;GAmCpE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB;;;;;;;;iBAYlD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;GAkBxC;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB;;;;;;;GAuBlE;AAED;;GAEG;AACH,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,KAAK,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,WAAW,EAAE,KAAK,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1E,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+BhG;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;GA4BpF;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,qBAAqB;;;;;;;GA2BxE;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,qBAAqB;;;;;;;;;GA+BxE;AAED;;;GAGG;AAEH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAQxE,CAAC"}
|
package/dist/tools/handlers.js
CHANGED
|
@@ -1,31 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP
|
|
2
|
+
* MCP Tool Handlers
|
|
3
3
|
*/
|
|
4
4
|
import { fetchRFCXML, fetchRFCText, RFCXMLNotAvailableError } from '../services/rfc-fetcher.js';
|
|
5
|
-
import { parseRFCXML, extractRequirements } from '../services/rfcxml-parser.js';
|
|
5
|
+
import { parseRFCXML, extractRequirements, } from '../services/rfcxml-parser.js';
|
|
6
6
|
import { parseRFCText } from '../services/rfc-text-parser.js';
|
|
7
|
+
import { generateChecklist, generateChecklistMarkdown, getChecklistStats, } from '../services/checklist-generator.js';
|
|
7
8
|
import { LRUCache } from '../utils/cache.js';
|
|
9
|
+
import { validateRFCNumber } from '../utils/validation.js';
|
|
10
|
+
import { findSection, collectCrossReferences } from '../utils/section.js';
|
|
8
11
|
import { CACHE_CONFIG } from '../config.js';
|
|
9
12
|
/**
|
|
10
|
-
*
|
|
11
|
-
|
|
13
|
+
* Get source note for text-based parsing
|
|
14
|
+
*/
|
|
15
|
+
function getTextSourceNote(context) {
|
|
16
|
+
const notes = {
|
|
17
|
+
structure: 'Parsed from text format. Accuracy may be limited.',
|
|
18
|
+
requirements: 'Parsed from text format. Requirement extraction accuracy may be limited.',
|
|
19
|
+
definitions: 'Parsed from text format. Definition extraction accuracy may be limited.',
|
|
20
|
+
sections: 'Parsed from text format. Related section accuracy may be limited.',
|
|
21
|
+
checklist: 'Parsed from text format. Checklist accuracy may be limited.',
|
|
22
|
+
validation: 'Parsed from text format. Validation accuracy may be limited.',
|
|
23
|
+
dependencies: 'Parsed from text format. Reference information is not available.',
|
|
24
|
+
};
|
|
25
|
+
return `Warning: ${notes[context]}`;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Parsed RFC cache (main cache)
|
|
29
|
+
* Parsing is CPU-intensive, so we cache the results
|
|
12
30
|
*/
|
|
13
31
|
const parseCache = new LRUCache(CACHE_CONFIG.parsed);
|
|
14
32
|
/**
|
|
15
|
-
*
|
|
33
|
+
* Clear parse cache (for testing)
|
|
16
34
|
*/
|
|
17
35
|
export function clearParseCache() {
|
|
18
36
|
parseCache.clear();
|
|
19
37
|
}
|
|
20
38
|
/**
|
|
21
|
-
* RFCXML
|
|
39
|
+
* Fetch and parse RFCXML (with cache and fallback support)
|
|
22
40
|
*/
|
|
23
41
|
async function getParsedRFC(rfcNumber) {
|
|
24
42
|
const cached = parseCache.get(rfcNumber);
|
|
25
43
|
if (cached) {
|
|
26
44
|
return cached;
|
|
27
45
|
}
|
|
28
|
-
//
|
|
46
|
+
// Try XML first
|
|
29
47
|
try {
|
|
30
48
|
const xml = await fetchRFCXML(rfcNumber);
|
|
31
49
|
const parsed = parseRFCXML(xml);
|
|
@@ -34,7 +52,7 @@ async function getParsedRFC(rfcNumber) {
|
|
|
34
52
|
return result;
|
|
35
53
|
}
|
|
36
54
|
catch (xmlError) {
|
|
37
|
-
// XML
|
|
55
|
+
// XML fetch failed -> text fallback
|
|
38
56
|
if (xmlError instanceof RFCXMLNotAvailableError && xmlError.isOldRFC) {
|
|
39
57
|
console.error(`[RFC ${rfcNumber}] XML not available, trying text fallback...`);
|
|
40
58
|
try {
|
|
@@ -45,22 +63,23 @@ async function getParsedRFC(rfcNumber) {
|
|
|
45
63
|
return result;
|
|
46
64
|
}
|
|
47
65
|
catch (textError) {
|
|
48
|
-
//
|
|
49
|
-
throw new Error(`RFC ${rfcNumber}
|
|
66
|
+
// Text also failed
|
|
67
|
+
throw new Error(`Failed to fetch RFC ${rfcNumber}.\n` +
|
|
50
68
|
`XML: ${xmlError.message}\n` +
|
|
51
69
|
`Text: ${textError instanceof Error ? textError.message : String(textError)}`);
|
|
52
70
|
}
|
|
53
71
|
}
|
|
54
|
-
//
|
|
72
|
+
// For newer RFCs, propagate the error as-is
|
|
55
73
|
throw xmlError;
|
|
56
74
|
}
|
|
57
75
|
}
|
|
58
76
|
/**
|
|
59
|
-
* get_rfc_structure
|
|
77
|
+
* get_rfc_structure handler
|
|
60
78
|
*/
|
|
61
79
|
export async function handleGetRFCStructure(args) {
|
|
80
|
+
validateRFCNumber(args.rfc);
|
|
62
81
|
const { data: parsed, source } = await getParsedRFC(args.rfc);
|
|
63
|
-
//
|
|
82
|
+
// Simplify section structure
|
|
64
83
|
function simplifySection(section, includeContent) {
|
|
65
84
|
const result = {
|
|
66
85
|
number: section.number,
|
|
@@ -83,19 +102,20 @@ export async function handleGetRFCStructure(args) {
|
|
|
83
102
|
informative: parsed.references.informative.length,
|
|
84
103
|
},
|
|
85
104
|
_source: source,
|
|
86
|
-
_sourceNote: source === 'text' ? '
|
|
105
|
+
_sourceNote: source === 'text' ? getTextSourceNote('structure') : undefined,
|
|
87
106
|
};
|
|
88
107
|
}
|
|
89
108
|
/**
|
|
90
|
-
* get_requirements
|
|
109
|
+
* get_requirements handler
|
|
91
110
|
*/
|
|
92
111
|
export async function handleGetRequirements(args) {
|
|
112
|
+
validateRFCNumber(args.rfc);
|
|
93
113
|
const { data: parsed, source } = await getParsedRFC(args.rfc);
|
|
94
114
|
const requirements = extractRequirements(parsed.sections, {
|
|
95
115
|
section: args.section,
|
|
96
116
|
level: args.level,
|
|
97
117
|
});
|
|
98
|
-
//
|
|
118
|
+
// Statistics
|
|
99
119
|
const stats = {
|
|
100
120
|
total: requirements.length,
|
|
101
121
|
byLevel: {},
|
|
@@ -112,18 +132,17 @@ export async function handleGetRequirements(args) {
|
|
|
112
132
|
stats,
|
|
113
133
|
requirements,
|
|
114
134
|
_source: source,
|
|
115
|
-
_sourceNote: source === 'text'
|
|
116
|
-
? '⚠️ テキストからの解析結果です。要件の抽出精度が低い可能性があります。'
|
|
117
|
-
: undefined,
|
|
135
|
+
_sourceNote: source === 'text' ? getTextSourceNote('requirements') : undefined,
|
|
118
136
|
};
|
|
119
137
|
}
|
|
120
138
|
/**
|
|
121
|
-
* get_definitions
|
|
139
|
+
* get_definitions handler
|
|
122
140
|
*/
|
|
123
141
|
export async function handleGetDefinitions(args) {
|
|
142
|
+
validateRFCNumber(args.rfc);
|
|
124
143
|
const { data: parsed, source } = await getParsedRFC(args.rfc);
|
|
125
144
|
let definitions = parsed.definitions;
|
|
126
|
-
//
|
|
145
|
+
// Filter by term
|
|
127
146
|
if (args.term) {
|
|
128
147
|
const searchTerm = args.term.toLowerCase();
|
|
129
148
|
definitions = definitions.filter((d) => d.term.toLowerCase().includes(searchTerm) || d.definition.toLowerCase().includes(searchTerm));
|
|
@@ -134,15 +153,14 @@ export async function handleGetDefinitions(args) {
|
|
|
134
153
|
count: definitions.length,
|
|
135
154
|
definitions,
|
|
136
155
|
_source: source,
|
|
137
|
-
_sourceNote: source === 'text'
|
|
138
|
-
? '⚠️ テキストからの解析結果です。定義の抽出精度が低い可能性があります。'
|
|
139
|
-
: undefined,
|
|
156
|
+
_sourceNote: source === 'text' ? getTextSourceNote('definitions') : undefined,
|
|
140
157
|
};
|
|
141
158
|
}
|
|
142
159
|
/**
|
|
143
|
-
* get_rfc_dependencies
|
|
160
|
+
* get_rfc_dependencies handler
|
|
144
161
|
*/
|
|
145
162
|
export async function handleGetDependencies(args) {
|
|
163
|
+
validateRFCNumber(args.rfc);
|
|
146
164
|
const { data: parsed, source } = await getParsedRFC(args.rfc);
|
|
147
165
|
const result = {
|
|
148
166
|
rfc: args.rfc,
|
|
@@ -158,48 +176,22 @@ export async function handleGetDependencies(args) {
|
|
|
158
176
|
})),
|
|
159
177
|
_source: source,
|
|
160
178
|
};
|
|
161
|
-
//
|
|
179
|
+
// Text source cannot extract reference information
|
|
162
180
|
if (source === 'text') {
|
|
163
|
-
result._sourceNote = '
|
|
181
|
+
result._sourceNote = getTextSourceNote('dependencies');
|
|
164
182
|
}
|
|
165
|
-
// TODO: referencedBy
|
|
183
|
+
// TODO: Get referencedBy from IETF Datatracker API
|
|
166
184
|
if (args.includeReferencedBy) {
|
|
167
185
|
result.referencedBy = [];
|
|
168
|
-
result._note = 'referencedBy
|
|
186
|
+
result._note = 'referencedBy is not implemented (requires IETF Datatracker API integration)';
|
|
169
187
|
}
|
|
170
188
|
return result;
|
|
171
189
|
}
|
|
172
190
|
/**
|
|
173
|
-
*
|
|
174
|
-
*/
|
|
175
|
-
function normalizeSectionNumber(sectionId) {
|
|
176
|
-
return sectionId.replace(/^section-/, '');
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* セクションを検索(複数の形式に対応)
|
|
180
|
-
*/
|
|
181
|
-
function findSection(sections, target) {
|
|
182
|
-
const normalizedTarget = normalizeSectionNumber(target);
|
|
183
|
-
for (const sec of sections) {
|
|
184
|
-
// 各形式でマッチを試みる
|
|
185
|
-
const secNumber = sec.number ? normalizeSectionNumber(sec.number) : '';
|
|
186
|
-
const secAnchor = sec.anchor ? normalizeSectionNumber(sec.anchor) : '';
|
|
187
|
-
if (secNumber === normalizedTarget ||
|
|
188
|
-
secAnchor === normalizedTarget ||
|
|
189
|
-
sec.number === target ||
|
|
190
|
-
sec.anchor === target) {
|
|
191
|
-
return sec;
|
|
192
|
-
}
|
|
193
|
-
const found = findSection(sec.subsections || [], target);
|
|
194
|
-
if (found)
|
|
195
|
-
return found;
|
|
196
|
-
}
|
|
197
|
-
return null;
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* get_related_sections ハンドラー
|
|
191
|
+
* get_related_sections handler
|
|
201
192
|
*/
|
|
202
193
|
export async function handleGetRelatedSections(args) {
|
|
194
|
+
validateRFCNumber(args.rfc);
|
|
203
195
|
const { data: parsed, source } = await getParsedRFC(args.rfc);
|
|
204
196
|
const targetSection = findSection(parsed.sections, args.section);
|
|
205
197
|
if (!targetSection) {
|
|
@@ -207,17 +199,8 @@ export async function handleGetRelatedSections(args) {
|
|
|
207
199
|
error: `Section ${args.section} not found`,
|
|
208
200
|
};
|
|
209
201
|
}
|
|
210
|
-
//
|
|
211
|
-
const relatedSections =
|
|
212
|
-
for (const block of targetSection.content || []) {
|
|
213
|
-
if (block.type === 'text' && block.crossReferences) {
|
|
214
|
-
for (const ref of block.crossReferences) {
|
|
215
|
-
if (ref.type === 'section' && ref.section) {
|
|
216
|
-
relatedSections.add(ref.section);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}
|
|
202
|
+
// Collect cross-references using utility
|
|
203
|
+
const relatedSections = collectCrossReferences(targetSection);
|
|
221
204
|
return {
|
|
222
205
|
rfc: args.rfc,
|
|
223
206
|
section: args.section,
|
|
@@ -230,134 +213,67 @@ export async function handleGetRelatedSections(args) {
|
|
|
230
213
|
};
|
|
231
214
|
}),
|
|
232
215
|
_source: source,
|
|
233
|
-
_sourceNote: source === 'text'
|
|
234
|
-
? '⚠️ テキストからの解析結果です。関連セクションの精度が低い可能性があります。'
|
|
235
|
-
: undefined,
|
|
216
|
+
_sourceNote: source === 'text' ? getTextSourceNote('sections') : undefined,
|
|
236
217
|
};
|
|
237
218
|
}
|
|
238
219
|
/**
|
|
239
|
-
* generate_checklist
|
|
220
|
+
* generate_checklist handler
|
|
240
221
|
*/
|
|
241
222
|
export async function handleGenerateChecklist(args) {
|
|
223
|
+
validateRFCNumber(args.rfc);
|
|
242
224
|
const { data: parsed, source } = await getParsedRFC(args.rfc);
|
|
243
225
|
const requirements = extractRequirements(parsed.sections, {
|
|
244
226
|
section: args.sections?.[0],
|
|
245
227
|
});
|
|
246
|
-
//
|
|
247
|
-
const
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
return subject.includes('client') || !subject.includes('server');
|
|
252
|
-
}
|
|
253
|
-
return subject.includes('server') || !subject.includes('client');
|
|
254
|
-
})
|
|
255
|
-
: requirements;
|
|
256
|
-
// レベル別に分類
|
|
257
|
-
const must = filteredReqs.filter((r) => ['MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL NOT'].includes(r.level));
|
|
258
|
-
const should = filteredReqs.filter((r) => ['SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED'].includes(r.level));
|
|
259
|
-
const may = filteredReqs.filter((r) => ['MAY', 'OPTIONAL'].includes(r.level));
|
|
260
|
-
// Markdown 生成
|
|
261
|
-
const markdown = generateChecklistMarkdown({
|
|
262
|
-
rfc: args.rfc,
|
|
263
|
-
title: parsed.metadata.title,
|
|
264
|
-
role: args.role,
|
|
265
|
-
must: must.map((r) => ({ id: r.id, requirement: r, checked: false })),
|
|
266
|
-
should: should.map((r) => ({ id: r.id, requirement: r, checked: false })),
|
|
267
|
-
may: may.map((r) => ({ id: r.id, requirement: r, checked: false })),
|
|
268
|
-
generatedAt: new Date().toISOString(),
|
|
269
|
-
});
|
|
228
|
+
// Generate checklist using service
|
|
229
|
+
const checklist = generateChecklist(args.rfc, parsed.metadata.title, requirements, args.role);
|
|
230
|
+
// Generate Markdown
|
|
231
|
+
const markdown = generateChecklistMarkdown(checklist);
|
|
232
|
+
const stats = getChecklistStats(checklist);
|
|
270
233
|
return {
|
|
271
234
|
rfc: args.rfc,
|
|
272
235
|
role: args.role || 'both',
|
|
273
|
-
stats
|
|
274
|
-
must: must.length,
|
|
275
|
-
should: should.length,
|
|
276
|
-
may: may.length,
|
|
277
|
-
total: filteredReqs.length,
|
|
278
|
-
},
|
|
236
|
+
stats,
|
|
279
237
|
markdown,
|
|
280
238
|
_source: source,
|
|
281
|
-
_sourceNote: source === 'text'
|
|
282
|
-
? '⚠️ テキストからの解析結果です。チェックリストの精度が低い可能性があります。'
|
|
283
|
-
: undefined,
|
|
239
|
+
_sourceNote: source === 'text' ? getTextSourceNote('checklist') : undefined,
|
|
284
240
|
};
|
|
285
241
|
}
|
|
286
242
|
/**
|
|
287
|
-
*
|
|
288
|
-
*/
|
|
289
|
-
function generateChecklistMarkdown(checklist) {
|
|
290
|
-
const lines = [];
|
|
291
|
-
lines.push(`# RFC ${checklist.rfc} 実装チェックリスト`);
|
|
292
|
-
lines.push('');
|
|
293
|
-
lines.push(`**${checklist.title}**`);
|
|
294
|
-
lines.push('');
|
|
295
|
-
if (checklist.role && checklist.role !== 'both') {
|
|
296
|
-
lines.push(`役割: ${checklist.role === 'client' ? 'クライアント' : 'サーバー'}`);
|
|
297
|
-
lines.push('');
|
|
298
|
-
}
|
|
299
|
-
lines.push(`生成日時: ${checklist.generatedAt}`);
|
|
300
|
-
lines.push('');
|
|
301
|
-
if (checklist.must.length > 0) {
|
|
302
|
-
lines.push('## 必須要件 (MUST / REQUIRED / SHALL)');
|
|
303
|
-
lines.push('');
|
|
304
|
-
for (const item of checklist.must) {
|
|
305
|
-
lines.push(`- [ ] ${item.requirement.text} (${item.requirement.section})`);
|
|
306
|
-
}
|
|
307
|
-
lines.push('');
|
|
308
|
-
}
|
|
309
|
-
if (checklist.should.length > 0) {
|
|
310
|
-
lines.push('## 推奨要件 (SHOULD / RECOMMENDED)');
|
|
311
|
-
lines.push('');
|
|
312
|
-
for (const item of checklist.should) {
|
|
313
|
-
lines.push(`- [ ] ${item.requirement.text} (${item.requirement.section})`);
|
|
314
|
-
}
|
|
315
|
-
lines.push('');
|
|
316
|
-
}
|
|
317
|
-
if (checklist.may.length > 0) {
|
|
318
|
-
lines.push('## 任意要件 (MAY / OPTIONAL)');
|
|
319
|
-
lines.push('');
|
|
320
|
-
for (const item of checklist.may) {
|
|
321
|
-
lines.push(`- [ ] ${item.requirement.text} (${item.requirement.section})`);
|
|
322
|
-
}
|
|
323
|
-
lines.push('');
|
|
324
|
-
}
|
|
325
|
-
return lines.join('\n');
|
|
326
|
-
}
|
|
327
|
-
/**
|
|
328
|
-
* validate_statement ハンドラー
|
|
243
|
+
* validate_statement handler
|
|
329
244
|
*/
|
|
330
245
|
export async function handleValidateStatement(args) {
|
|
246
|
+
validateRFCNumber(args.rfc);
|
|
331
247
|
const { data: parsed, source } = await getParsedRFC(args.rfc);
|
|
332
248
|
const requirements = extractRequirements(parsed.sections);
|
|
333
|
-
//
|
|
249
|
+
// Simple keyword matching
|
|
334
250
|
const statementLower = args.statement.toLowerCase();
|
|
335
251
|
const keywords = statementLower.split(/\s+/).filter((w) => w.length > 3);
|
|
336
252
|
const matchingRequirements = requirements.filter((req) => {
|
|
337
253
|
const reqText = (req.text + ' ' + req.fullContext).toLowerCase();
|
|
338
254
|
return keywords.some((kw) => reqText.includes(kw));
|
|
339
255
|
});
|
|
340
|
-
//
|
|
256
|
+
// Conflict detection (simple version)
|
|
341
257
|
const conflicts = [];
|
|
342
|
-
// TODO:
|
|
258
|
+
// TODO: More advanced conflict detection logic
|
|
343
259
|
return {
|
|
344
260
|
rfc: args.rfc,
|
|
345
261
|
statement: args.statement,
|
|
346
262
|
isValid: conflicts.length === 0,
|
|
347
|
-
matchingRequirements: matchingRequirements.slice(0, 10), //
|
|
263
|
+
matchingRequirements: matchingRequirements.slice(0, 10), // Top 10
|
|
348
264
|
conflicts,
|
|
349
265
|
suggestions: matchingRequirements.length === 0
|
|
350
|
-
? ['
|
|
266
|
+
? ['No matching requirements found. Try different keywords.']
|
|
351
267
|
: undefined,
|
|
352
268
|
_source: source,
|
|
353
|
-
_sourceNote: source === 'text'
|
|
354
|
-
? '⚠️ テキストからの解析結果です。検証精度が低い可能性があります。'
|
|
355
|
-
: undefined,
|
|
269
|
+
_sourceNote: source === 'text' ? getTextSourceNote('validation') : undefined,
|
|
356
270
|
};
|
|
357
271
|
}
|
|
358
272
|
/**
|
|
359
|
-
*
|
|
273
|
+
* Tool handlers map
|
|
274
|
+
* Note: Using 'unknown' for args type as each handler has specific type requirements
|
|
360
275
|
*/
|
|
276
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
361
277
|
export const toolHandlers = {
|
|
362
278
|
get_rfc_structure: handleGetRFCStructure,
|
|
363
279
|
get_requirements: handleGetRequirements,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/tools/handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/tools/handlers.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* RFCXML MCP 型定義
|
|
3
3
|
*/
|
|
4
|
+
/**
|
|
5
|
+
* パース済みRFCドキュメント構造
|
|
6
|
+
* XMLとテキストパーサー共通のインターフェース
|
|
7
|
+
*/
|
|
8
|
+
export interface ParsedRFC {
|
|
9
|
+
metadata: {
|
|
10
|
+
title: string;
|
|
11
|
+
docName?: string;
|
|
12
|
+
number?: number;
|
|
13
|
+
};
|
|
14
|
+
sections: Section[];
|
|
15
|
+
references: {
|
|
16
|
+
normative: RFCReference[];
|
|
17
|
+
informative: RFCReference[];
|
|
18
|
+
};
|
|
19
|
+
definitions: Definition[];
|
|
20
|
+
}
|
|
4
21
|
export interface RFCMetadata {
|
|
5
22
|
number: number;
|
|
6
23
|
title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 要件抽出の共通ユーティリティ
|
|
3
|
+
* XML/テキストパーサー共通で使用
|
|
4
|
+
*/
|
|
5
|
+
import type { Section, Requirement, RequirementLevel } from '../types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* 要件抽出フィルタ
|
|
8
|
+
*/
|
|
9
|
+
export interface RequirementFilter {
|
|
10
|
+
section?: string;
|
|
11
|
+
level?: RequirementLevel;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 要件構成要素の解析オプション
|
|
15
|
+
*/
|
|
16
|
+
export interface ParseOptions {
|
|
17
|
+
/** 主語・アクション等の構成要素を解析するか */
|
|
18
|
+
parseComponents?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* セクションから要件を再帰的に抽出
|
|
22
|
+
*/
|
|
23
|
+
export declare function extractRequirementsFromSections(sections: Section[], filter?: RequirementFilter, options?: ParseOptions): Requirement[];
|
|
24
|
+
//# sourceMappingURL=requirement-extractor.d.ts.map
|