algokit-mcp 1.0.2 → 1.0.3
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 +138 -16
- package/dist/api/boj-scraper.js +1 -1
- package/dist/api/boj-scraper.js.map +1 -1
- package/dist/api/programmers-scraper.d.ts +0 -5
- package/dist/api/programmers-scraper.d.ts.map +1 -1
- package/dist/api/programmers-scraper.js +59 -90
- package/dist/api/programmers-scraper.js.map +1 -1
- package/dist/index.js +38 -35
- package/dist/index.js.map +1 -1
- package/dist/tools/boj/analyze-code-submission-boj.d.ts +67 -0
- package/dist/tools/boj/analyze-code-submission-boj.d.ts.map +1 -0
- package/dist/tools/boj/analyze-code-submission-boj.js +91 -0
- package/dist/tools/boj/analyze-code-submission-boj.js.map +1 -0
- package/dist/tools/boj/analyze-problem-boj.d.ts +48 -0
- package/dist/tools/boj/analyze-problem-boj.d.ts.map +1 -0
- package/dist/tools/boj/analyze-problem-boj.js +52 -0
- package/dist/tools/boj/analyze-problem-boj.js.map +1 -0
- package/dist/tools/boj/fetch-problem-content-boj.d.ts +49 -0
- package/dist/tools/boj/fetch-problem-content-boj.d.ts.map +1 -0
- package/dist/tools/boj/fetch-problem-content-boj.js +95 -0
- package/dist/tools/boj/fetch-problem-content-boj.js.map +1 -0
- package/dist/tools/boj/generate-hint-boj.d.ts +42 -0
- package/dist/tools/boj/generate-hint-boj.d.ts.map +1 -0
- package/dist/tools/boj/generate-hint-boj.js +82 -0
- package/dist/tools/boj/generate-hint-boj.js.map +1 -0
- package/dist/tools/boj/generate-review-template-boj.d.ts +48 -0
- package/dist/tools/boj/generate-review-template-boj.d.ts.map +1 -0
- package/dist/tools/boj/generate-review-template-boj.js +52 -0
- package/dist/tools/boj/generate-review-template-boj.js.map +1 -0
- package/dist/tools/boj/get-problem-boj.d.ts +22 -0
- package/dist/tools/boj/get-problem-boj.d.ts.map +1 -0
- package/dist/tools/boj/get-problem-boj.js +89 -0
- package/dist/tools/boj/get-problem-boj.js.map +1 -0
- package/dist/tools/boj/search-problems-boj.d.ts +42 -0
- package/dist/tools/boj/search-problems-boj.d.ts.map +1 -0
- package/dist/tools/boj/search-problems-boj.js +143 -0
- package/dist/tools/boj/search-problems-boj.js.map +1 -0
- package/dist/tools/boj/search-tags-boj.d.ts +22 -0
- package/dist/tools/boj/search-tags-boj.d.ts.map +1 -0
- package/dist/tools/boj/search-tags-boj.js +70 -0
- package/dist/tools/boj/search-tags-boj.js.map +1 -0
- package/dist/tools/get-problem-boj.d.ts +22 -0
- package/dist/tools/get-problem-boj.d.ts.map +1 -0
- package/dist/tools/get-problem-boj.js +89 -0
- package/dist/tools/get-problem-boj.js.map +1 -0
- package/dist/tools/programmers/analyze-code-submission-programmers.d.ts +60 -0
- package/dist/tools/programmers/analyze-code-submission-programmers.d.ts.map +1 -0
- package/dist/tools/programmers/analyze-code-submission-programmers.js +85 -0
- package/dist/tools/programmers/analyze-code-submission-programmers.js.map +1 -0
- package/dist/tools/programmers/analyze-problem-programmers.d.ts +48 -0
- package/dist/tools/programmers/analyze-problem-programmers.d.ts.map +1 -0
- package/dist/tools/programmers/analyze-problem-programmers.js +53 -0
- package/dist/tools/programmers/analyze-problem-programmers.js.map +1 -0
- package/dist/tools/programmers/fetch-problem-content-programmers.d.ts +46 -0
- package/dist/tools/programmers/fetch-problem-content-programmers.d.ts.map +1 -0
- package/dist/tools/programmers/fetch-problem-content-programmers.js +76 -0
- package/dist/tools/programmers/fetch-problem-content-programmers.js.map +1 -0
- package/dist/tools/programmers/generate-hint-programmers.d.ts +42 -0
- package/dist/tools/programmers/generate-hint-programmers.d.ts.map +1 -0
- package/dist/tools/programmers/generate-hint-programmers.js +80 -0
- package/dist/tools/programmers/generate-hint-programmers.js.map +1 -0
- package/dist/tools/programmers/generate-review-template-programmers.d.ts +48 -0
- package/dist/tools/programmers/generate-review-template-programmers.d.ts.map +1 -0
- package/dist/tools/programmers/generate-review-template-programmers.js +53 -0
- package/dist/tools/programmers/generate-review-template-programmers.js.map +1 -0
- package/dist/tools/programmers/get-problem-programmers.d.ts +53 -0
- package/dist/tools/programmers/get-problem-programmers.d.ts.map +1 -0
- package/dist/tools/programmers/get-problem-programmers.js +163 -0
- package/dist/tools/programmers/get-problem-programmers.js.map +1 -0
- package/dist/tools/programmers/search-problems-programmers.d.ts +73 -0
- package/dist/tools/programmers/search-problems-programmers.d.ts.map +1 -0
- package/dist/tools/programmers/search-problems-programmers.js +173 -0
- package/dist/tools/programmers/search-problems-programmers.js.map +1 -0
- package/dist/tools/search-problems-boj.d.ts +42 -0
- package/dist/tools/search-problems-boj.d.ts.map +1 -0
- package/dist/tools/search-problems-boj.js +143 -0
- package/dist/tools/search-problems-boj.js.map +1 -0
- package/dist/tools/search-tags-boj.d.ts +22 -0
- package/dist/tools/search-tags-boj.d.ts.map +1 -0
- package/dist/tools/search-tags-boj.js +70 -0
- package/dist/tools/search-tags-boj.js.map +1 -0
- package/dist/utils/agent-skill-installer.d.ts +9 -0
- package/dist/utils/agent-skill-installer.d.ts.map +1 -0
- package/dist/utils/agent-skill-installer.js +94 -0
- package/dist/utils/agent-skill-installer.js.map +1 -0
- package/dist/utils/claudecode-skill-installer.d.ts +6 -0
- package/dist/utils/claudecode-skill-installer.d.ts.map +1 -0
- package/dist/utils/claudecode-skill-installer.js +70 -0
- package/dist/utils/claudecode-skill-installer.js.map +1 -0
- package/dist/utils/skill-installer.d.ts +6 -0
- package/dist/utils/skill-installer.d.ts.map +1 -0
- package/dist/utils/skill-installer.js +70 -0
- package/dist/utils/skill-installer.js.map +1 -0
- package/dist/utils/tier-converter.d.ts.map +1 -1
- package/dist/utils/tier-converter.js +3 -0
- package/dist/utils/tier-converter.js.map +1 -1
- package/package.json +3 -4
- package/skills/algo:code-review/SKILL.md +134 -0
- package/skills/algo:fetch/SKILL.md +102 -0
- package/skills/algo:hint/SKILL.md +111 -0
- package/skills/algo:review/SKILL.md +123 -0
- package/skills/algo:search/SKILL.md +122 -0
package/dist/index.js
CHANGED
|
@@ -10,25 +10,24 @@ import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
|
10
10
|
import { readFile } from 'fs/promises';
|
|
11
11
|
import { join, dirname } from 'path';
|
|
12
12
|
import { fileURLToPath } from 'url';
|
|
13
|
-
|
|
14
|
-
import { searchProblems, SearchProblemsInputSchema, } from './tools/search-problems.js';
|
|
15
|
-
import { getProblem, GetProblemInputSchema, } from './tools/get-problem.js';
|
|
16
|
-
import { searchTags, SearchTagsInputSchema, } from './tools/search-tags.js';
|
|
13
|
+
import { ensureSkillsInstalled } from './utils/agent-skill-installer.js';
|
|
17
14
|
// BOJ 도구
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
15
|
+
import { searchProblems, SearchProblemsInputSchema, } from './tools/boj/search-problems-boj.js';
|
|
16
|
+
import { getProblem, GetProblemInputSchema, } from './tools/boj/get-problem-boj.js';
|
|
17
|
+
import { searchTags, SearchTagsInputSchema, } from './tools/boj/search-tags-boj.js';
|
|
18
|
+
import { analyzeProblemBOJTool, AnalyzeProblemBOJInputSchema, } from './tools/boj/analyze-problem-boj.js';
|
|
19
|
+
import { generateReviewTemplateBOJTool, GenerateReviewTemplateBOJInputSchema, } from './tools/boj/generate-review-template-boj.js';
|
|
20
|
+
import { generateHintBOJTool, GenerateHintBOJInputSchema, } from './tools/boj/generate-hint-boj.js';
|
|
21
|
+
import { fetchProblemContentBOJTool, FetchProblemContentBOJInputSchema, } from './tools/boj/fetch-problem-content-boj.js';
|
|
22
|
+
import { analyzeCodeSubmissionBOJTool, AnalyzeCodeSubmissionBOJInputSchema, } from './tools/boj/analyze-code-submission-boj.js';
|
|
23
23
|
// Programmers 도구
|
|
24
|
-
import { searchProgrammersProblemsTool, SearchProgrammersProblemsInputSchema, } from './tools/search-programmers
|
|
25
|
-
import { getProgrammersProblemTool, GetProgrammersProblemInputSchema, } from './tools/get-programmers
|
|
26
|
-
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import { fetchProblemContentProgrammersTool, FetchProblemContentProgrammersInputSchema, } from './tools/fetch-problem-content-programmers.js';
|
|
24
|
+
import { searchProgrammersProblemsTool, SearchProgrammersProblemsInputSchema, } from './tools/programmers/search-problems-programmers.js';
|
|
25
|
+
import { getProgrammersProblemTool, GetProgrammersProblemInputSchema, } from './tools/programmers/get-problem-programmers.js';
|
|
26
|
+
import { analyzeProblemProgrammersTool, AnalyzeProblemProgrammersInputSchema, } from './tools/programmers/analyze-problem-programmers.js';
|
|
27
|
+
import { generateHintProgrammersTool, GenerateHintProgrammersInputSchema, } from './tools/programmers/generate-hint-programmers.js';
|
|
28
|
+
import { generateReviewTemplateProgrammersTool, GenerateReviewTemplateProgrammersInputSchema, } from './tools/programmers/generate-review-template-programmers.js';
|
|
29
|
+
import { analyzeCodeSubmissionProgrammersTool, AnalyzeCodeSubmissionProgrammersInputSchema, } from './tools/programmers/analyze-code-submission-programmers.js';
|
|
30
|
+
import { fetchProblemContentProgrammersTool, FetchProblemContentProgrammersInputSchema, } from './tools/programmers/fetch-problem-content-programmers.js';
|
|
32
31
|
// 서비스 임포트
|
|
33
32
|
import { SolvedAcClient } from './api/solvedac-client.js';
|
|
34
33
|
import { ProblemAnalyzer } from './services/problem-analyzer.js';
|
|
@@ -81,22 +80,25 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
81
80
|
tools: [
|
|
82
81
|
// 기존 BOJ 도구 (이름 유지)
|
|
83
82
|
{
|
|
84
|
-
name: '
|
|
83
|
+
name: 'search_problems_boj',
|
|
85
84
|
description: 'BOJ 문제를 검색합니다. 키워드, 난이도 레벨, 알고리즘 태그로 필터링할 수 있습니다. ' +
|
|
86
85
|
'⚠️ **중요**: 결과는 마크다운 테이블로 반환되며, 각 문제번호는 https://www.acmicpc.net/problem/{ID} 형태의 마크다운 링크로 제공됩니다. ' +
|
|
87
86
|
'사용자에게 보여줄 때는 이 링크들을 반드시 유지해야 합니다. ' +
|
|
88
|
-
'예: Gold 티어의 DP 문제 검색, Silver 이하 그리디 문제 검색
|
|
87
|
+
'예: Gold 티어의 DP 문제 검색, Silver 이하 그리디 문제 검색 등\n\n' +
|
|
88
|
+
'⚠️ 플랫폼 미지정 시 사용자에게 어느 플랫폼에서 검색할지 확인하세요.',
|
|
89
89
|
inputSchema: zodToJsonSchema(SearchProblemsInputSchema),
|
|
90
90
|
},
|
|
91
91
|
{
|
|
92
|
-
name: '
|
|
93
|
-
description: '특정 BOJ 문제의 상세 정보를 조회합니다. 문제 번호로 난이도, 태그, 통계 등을 확인할 수
|
|
92
|
+
name: 'get_problem_boj',
|
|
93
|
+
description: '특정 BOJ 문제의 상세 정보를 조회합니다. 문제 번호로 난이도, 태그, 통계 등을 확인할 수 있습니다.\n\n' +
|
|
94
|
+
'⚠️ 플랫폼 판별: 문제 번호만 입력된 경우 대화 맥락에서 플랫폼을 파악하거나, 맥락이 없으면 반드시 BOJ/프로그래머스 중 어느 플랫폼인지 사용자에게 확인 후 호출하세요.',
|
|
94
95
|
inputSchema: zodToJsonSchema(GetProblemInputSchema),
|
|
95
96
|
},
|
|
96
97
|
{
|
|
97
|
-
name: '
|
|
98
|
+
name: 'search_tags_boj',
|
|
98
99
|
description: '알고리즘 태그를 검색합니다. 한글 또는 영문 키워드로 관련 태그를 찾을 수 있습니다. ' +
|
|
99
|
-
'예: "다이나믹", "그래프", "이분 탐색"
|
|
100
|
+
'예: "다이나믹", "그래프", "이분 탐색" 등\n\n' +
|
|
101
|
+
'⚠️ 플랫폼 미지정 시 사용자에게 어느 플랫폼에서 검색할지 확인하세요.',
|
|
100
102
|
inputSchema: zodToJsonSchema(SearchTagsInputSchema),
|
|
101
103
|
},
|
|
102
104
|
// BOJ 분리 도구
|
|
@@ -127,12 +129,12 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
127
129
|
},
|
|
128
130
|
// Programmers 기존 도구
|
|
129
131
|
{
|
|
130
|
-
name: '
|
|
132
|
+
name: 'search_problems_programmers',
|
|
131
133
|
description: searchProgrammersProblemsToolObj.description,
|
|
132
134
|
inputSchema: zodToJsonSchema(SearchProgrammersProblemsInputSchema),
|
|
133
135
|
},
|
|
134
136
|
{
|
|
135
|
-
name: '
|
|
137
|
+
name: 'get_problem_programmers',
|
|
136
138
|
description: getProgrammersProblemToolObj.description,
|
|
137
139
|
inputSchema: zodToJsonSchema(GetProgrammersProblemInputSchema),
|
|
138
140
|
},
|
|
@@ -390,7 +392,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
390
392
|
try {
|
|
391
393
|
switch (name) {
|
|
392
394
|
// 기존 BOJ 도구 (이름 유지)
|
|
393
|
-
case '
|
|
395
|
+
case 'search_problems_boj': {
|
|
394
396
|
const input = SearchProblemsInputSchema.parse(args);
|
|
395
397
|
const result = await searchProblems(input);
|
|
396
398
|
return {
|
|
@@ -402,7 +404,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
402
404
|
],
|
|
403
405
|
};
|
|
404
406
|
}
|
|
405
|
-
case '
|
|
407
|
+
case 'get_problem_boj': {
|
|
406
408
|
const input = GetProblemInputSchema.parse(args);
|
|
407
409
|
const result = await getProblem(input);
|
|
408
410
|
return {
|
|
@@ -414,7 +416,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
414
416
|
],
|
|
415
417
|
};
|
|
416
418
|
}
|
|
417
|
-
case '
|
|
419
|
+
case 'search_tags_boj': {
|
|
418
420
|
const input = SearchTagsInputSchema.parse(args);
|
|
419
421
|
const result = await searchTags(input);
|
|
420
422
|
return {
|
|
@@ -463,14 +465,14 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
463
465
|
};
|
|
464
466
|
}
|
|
465
467
|
// Programmers 기존 도구
|
|
466
|
-
case '
|
|
468
|
+
case 'search_problems_programmers': {
|
|
467
469
|
const input = SearchProgrammersProblemsInputSchema.parse(args);
|
|
468
470
|
const result = await searchProgrammersProblemsToolObj.handler(input);
|
|
469
471
|
return {
|
|
470
472
|
content: [result],
|
|
471
473
|
};
|
|
472
474
|
}
|
|
473
|
-
case '
|
|
475
|
+
case 'get_problem_programmers': {
|
|
474
476
|
const input = GetProgrammersProblemInputSchema.parse(args);
|
|
475
477
|
const result = await getProgrammersProblemToolObj.handler(input);
|
|
476
478
|
return {
|
|
@@ -525,16 +527,16 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
525
527
|
server: 'AlgoKit',
|
|
526
528
|
version: '1.0.0',
|
|
527
529
|
tools: [
|
|
528
|
-
'
|
|
529
|
-
'
|
|
530
|
-
'
|
|
530
|
+
'search_problems_boj',
|
|
531
|
+
'get_problem_boj',
|
|
532
|
+
'search_tags_boj',
|
|
531
533
|
'analyze_problem_boj',
|
|
532
534
|
'generate_hint_boj',
|
|
533
535
|
'generate_review_template_boj',
|
|
534
536
|
'fetch_problem_content_boj',
|
|
535
537
|
'analyze_code_submission_boj',
|
|
536
|
-
'
|
|
537
|
-
'
|
|
538
|
+
'search_problems_programmers',
|
|
539
|
+
'get_problem_programmers',
|
|
538
540
|
'analyze_problem_programmers',
|
|
539
541
|
'generate_hint_programmers',
|
|
540
542
|
'generate_review_template_programmers',
|
|
@@ -579,6 +581,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
579
581
|
* 서버 시작
|
|
580
582
|
*/
|
|
581
583
|
async function main() {
|
|
584
|
+
await ensureSkillsInstalled();
|
|
582
585
|
const transport = new StdioServerTransport();
|
|
583
586
|
await server.connect(transport);
|
|
584
587
|
// Graceful shutdown
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* analyze_code_submission_boj MCP 도구
|
|
3
|
+
*
|
|
4
|
+
* Phase 6 - P6-006: BOJ 사용자 코드 분석 MCP 도구 구현
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
/**
|
|
8
|
+
* 입력 스키마
|
|
9
|
+
*/
|
|
10
|
+
export declare const AnalyzeCodeSubmissionBOJInputSchema: z.ZodObject<{
|
|
11
|
+
problem_id: z.ZodNumber;
|
|
12
|
+
code: z.ZodString;
|
|
13
|
+
language: z.ZodEnum<["python", "cpp", "javascript", "java", "go"]>;
|
|
14
|
+
analysis_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["full", "hint", "debug", "review"]>>>;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
language: "python" | "cpp" | "javascript" | "java" | "go";
|
|
17
|
+
code: string;
|
|
18
|
+
problem_id: number;
|
|
19
|
+
analysis_type: "full" | "hint" | "debug" | "review";
|
|
20
|
+
}, {
|
|
21
|
+
language: "python" | "cpp" | "javascript" | "java" | "go";
|
|
22
|
+
code: string;
|
|
23
|
+
problem_id: number;
|
|
24
|
+
analysis_type?: "full" | "hint" | "debug" | "review" | undefined;
|
|
25
|
+
}>;
|
|
26
|
+
export type AnalyzeCodeSubmissionBOJInput = z.infer<typeof AnalyzeCodeSubmissionBOJInputSchema>;
|
|
27
|
+
/**
|
|
28
|
+
* MCP TextContent 타입
|
|
29
|
+
*/
|
|
30
|
+
interface TextContent {
|
|
31
|
+
type: 'text';
|
|
32
|
+
text: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* analyze_code_submission_boj 도구 핸들러
|
|
36
|
+
*
|
|
37
|
+
* @param args - 입력 인자 (problem_id, code, language, analysis_type)
|
|
38
|
+
* @returns CodeAnalysisResult JSON 문자열
|
|
39
|
+
* @throws {Error} 검증 실패, 스크래핑 실패, 파싱 실패, 분석 실패 시
|
|
40
|
+
*/
|
|
41
|
+
export declare function handleAnalyzeCodeSubmissionBOJ(args: unknown): Promise<TextContent>;
|
|
42
|
+
/**
|
|
43
|
+
* MCP 도구 정의
|
|
44
|
+
*/
|
|
45
|
+
export declare function analyzeCodeSubmissionBOJTool(): {
|
|
46
|
+
name: string;
|
|
47
|
+
description: string;
|
|
48
|
+
inputSchema: z.ZodObject<{
|
|
49
|
+
problem_id: z.ZodNumber;
|
|
50
|
+
code: z.ZodString;
|
|
51
|
+
language: z.ZodEnum<["python", "cpp", "javascript", "java", "go"]>;
|
|
52
|
+
analysis_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["full", "hint", "debug", "review"]>>>;
|
|
53
|
+
}, "strip", z.ZodTypeAny, {
|
|
54
|
+
language: "python" | "cpp" | "javascript" | "java" | "go";
|
|
55
|
+
code: string;
|
|
56
|
+
problem_id: number;
|
|
57
|
+
analysis_type: "full" | "hint" | "debug" | "review";
|
|
58
|
+
}, {
|
|
59
|
+
language: "python" | "cpp" | "javascript" | "java" | "go";
|
|
60
|
+
code: string;
|
|
61
|
+
problem_id: number;
|
|
62
|
+
analysis_type?: "full" | "hint" | "debug" | "review" | undefined;
|
|
63
|
+
}>;
|
|
64
|
+
handler: typeof handleAnalyzeCodeSubmissionBOJ;
|
|
65
|
+
};
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=analyze-code-submission-boj.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze-code-submission-boj.d.ts","sourceRoot":"","sources":["../../../src/tools/boj/analyze-code-submission-boj.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;GAEG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;EAS9C,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAEhG;;GAEG;AACH,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAuCxF;AAED;;GAEG;AACH,wBAAgB,4BAA4B;;;;;;;;;;;;;;;;;;;;EA0B3C"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* analyze_code_submission_boj MCP 도구
|
|
3
|
+
*
|
|
4
|
+
* Phase 6 - P6-006: BOJ 사용자 코드 분석 MCP 도구 구현
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { handleFetchProblemContentBOJ } from './fetch-problem-content-boj.js';
|
|
8
|
+
import { CodeAnalyzer } from '../../services/code-analyzer.js';
|
|
9
|
+
/**
|
|
10
|
+
* 입력 스키마
|
|
11
|
+
*/
|
|
12
|
+
export const AnalyzeCodeSubmissionBOJInputSchema = z.object({
|
|
13
|
+
problem_id: z.number().int().positive()
|
|
14
|
+
.describe('백준 문제 번호'),
|
|
15
|
+
code: z.string().min(1)
|
|
16
|
+
.describe('분석할 사용자 코드'),
|
|
17
|
+
language: z.enum(['python', 'cpp', 'javascript', 'java', 'go'])
|
|
18
|
+
.describe('프로그래밍 언어'),
|
|
19
|
+
analysis_type: z.enum(['full', 'hint', 'debug', 'review']).optional().default('full')
|
|
20
|
+
.describe('분석 타입 (기본값: full)'),
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* analyze_code_submission_boj 도구 핸들러
|
|
24
|
+
*
|
|
25
|
+
* @param args - 입력 인자 (problem_id, code, language, analysis_type)
|
|
26
|
+
* @returns CodeAnalysisResult JSON 문자열
|
|
27
|
+
* @throws {Error} 검증 실패, 스크래핑 실패, 파싱 실패, 분석 실패 시
|
|
28
|
+
*/
|
|
29
|
+
export async function handleAnalyzeCodeSubmissionBOJ(args) {
|
|
30
|
+
try {
|
|
31
|
+
// 1. 입력 검증
|
|
32
|
+
const { problem_id, code, language, analysis_type } = AnalyzeCodeSubmissionBOJInputSchema.parse(args);
|
|
33
|
+
// 2. 문제 본문 스크래핑 (fetch_problem_content_boj 재사용)
|
|
34
|
+
const problemContentResponse = await handleFetchProblemContentBOJ({ problem_id });
|
|
35
|
+
const problemContent = JSON.parse(problemContentResponse.text);
|
|
36
|
+
// 3. CodeSubmission 객체 생성
|
|
37
|
+
const submission = {
|
|
38
|
+
problemId: problem_id,
|
|
39
|
+
code,
|
|
40
|
+
language: language,
|
|
41
|
+
submittedAt: new Date().toISOString(),
|
|
42
|
+
};
|
|
43
|
+
// 4. CodeAnalyzer로 분석
|
|
44
|
+
const analyzer = new CodeAnalyzer();
|
|
45
|
+
const result = await analyzer.analyzeCode(problemContent, submission, analysis_type);
|
|
46
|
+
// 5. JSON 문자열로 반환
|
|
47
|
+
return {
|
|
48
|
+
type: 'text',
|
|
49
|
+
text: JSON.stringify(result, null, 2),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
// Zod 검증 에러
|
|
54
|
+
if (error instanceof z.ZodError) {
|
|
55
|
+
throw new Error(`입력 검증 실패: ${error.issues[0].message}`);
|
|
56
|
+
}
|
|
57
|
+
// 기타 에러 (스크래핑/파싱 에러는 handleFetchProblemContentBOJ에서 처리됨)
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* MCP 도구 정의
|
|
63
|
+
*/
|
|
64
|
+
export function analyzeCodeSubmissionBOJTool() {
|
|
65
|
+
return {
|
|
66
|
+
name: 'analyze_code_submission_boj',
|
|
67
|
+
description: `백준(BOJ) 문제에 대한 사용자 코드를 분석하여 피드백을 제공합니다.
|
|
68
|
+
|
|
69
|
+
문제 본문과 사용자 코드를 결합하여 LLM 분석용 프롬프트를 생성합니다.
|
|
70
|
+
|
|
71
|
+
**분석 타입**:
|
|
72
|
+
- full: 전체 분석 (정확성, 복잡도, 개선점)
|
|
73
|
+
- hint: 힌트 제공 (핵심 개념, 접근 방법)
|
|
74
|
+
- debug: 디버깅 (에러 원인, 로직 오류)
|
|
75
|
+
- review: 코드 리뷰 (스타일, 가독성)
|
|
76
|
+
|
|
77
|
+
**응답 구조**: problemInfo, codeMetadata, analysisPrompts, suggestedQuestions
|
|
78
|
+
|
|
79
|
+
**사용 시나리오**:
|
|
80
|
+
- 문제 풀이 후 코드 개선점 확인
|
|
81
|
+
- 틀린 코드 디버깅
|
|
82
|
+
- 코드 리뷰 및 품질 개선
|
|
83
|
+
|
|
84
|
+
**지원 언어**: Python, C++, JavaScript, Java, Go
|
|
85
|
+
|
|
86
|
+
⚠️ 플랫폼 판별: 문제 번호만 입력된 경우 대화 맥락에서 플랫폼을 파악하거나, 맥락이 없으면 반드시 BOJ/프로그래머스 중 어느 플랫폼인지 사용자에게 확인 후 호출하세요.`,
|
|
87
|
+
inputSchema: AnalyzeCodeSubmissionBOJInputSchema,
|
|
88
|
+
handler: handleAnalyzeCodeSubmissionBOJ,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=analyze-code-submission-boj.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze-code-submission-boj.js","sourceRoot":"","sources":["../../../src/tools/boj/analyze-code-submission-boj.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;SACpC,QAAQ,CAAC,UAAU,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpB,QAAQ,CAAC,YAAY,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;SAC5D,QAAQ,CAAC,UAAU,CAAC;IACvB,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;SAClF,QAAQ,CAAC,mBAAmB,CAAC;CACjC,CAAC,CAAC;AAYH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,IAAa;IAChE,IAAI,CAAC;QACH,WAAW;QACX,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,mCAAmC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEtG,gDAAgD;QAChD,MAAM,sBAAsB,GAAG,MAAM,4BAA4B,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAClF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAE/D,0BAA0B;QAC1B,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,UAAU;YACrB,IAAI;YACJ,QAAQ,EAAE,QAA6B;YACvC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC;QAEF,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,MAAM,GAAuB,MAAM,QAAQ,CAAC,WAAW,CAC3D,cAAc,EACd,UAAU,EACV,aAA6B,CAC9B,CAAC;QAEF,kBAAkB;QAClB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;SACtC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY;QACZ,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,yDAAyD;QACzD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;iGAmBgF;QAC7F,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,8BAA8B;KACxC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* analyze_problem_boj MCP 도구
|
|
3
|
+
*
|
|
4
|
+
* BOJ 문제 분석 및 구조화된 힌트 데이터 제공 (Keyless Architecture)
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import type { ProblemAnalyzer } from '../../services/problem-analyzer.js';
|
|
8
|
+
/**
|
|
9
|
+
* 입력 스키마
|
|
10
|
+
*/
|
|
11
|
+
export declare const AnalyzeProblemBOJInputSchema: z.ZodObject<{
|
|
12
|
+
problem_id: z.ZodNumber;
|
|
13
|
+
include_similar: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
14
|
+
}, "strip", z.ZodTypeAny, {
|
|
15
|
+
problem_id: number;
|
|
16
|
+
include_similar: boolean;
|
|
17
|
+
}, {
|
|
18
|
+
problem_id: number;
|
|
19
|
+
include_similar?: boolean | undefined;
|
|
20
|
+
}>;
|
|
21
|
+
export type AnalyzeProblemBOJInput = z.infer<typeof AnalyzeProblemBOJInputSchema>;
|
|
22
|
+
/**
|
|
23
|
+
* MCP TextContent 타입
|
|
24
|
+
*/
|
|
25
|
+
interface TextContent {
|
|
26
|
+
type: 'text';
|
|
27
|
+
text: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* analyze_problem_boj 도구 핸들러
|
|
31
|
+
*/
|
|
32
|
+
export declare function analyzeProblemBOJTool(analyzer: ProblemAnalyzer): {
|
|
33
|
+
name: string;
|
|
34
|
+
description: string;
|
|
35
|
+
inputSchema: z.ZodObject<{
|
|
36
|
+
problem_id: z.ZodNumber;
|
|
37
|
+
include_similar: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
38
|
+
}, "strip", z.ZodTypeAny, {
|
|
39
|
+
problem_id: number;
|
|
40
|
+
include_similar: boolean;
|
|
41
|
+
}, {
|
|
42
|
+
problem_id: number;
|
|
43
|
+
include_similar?: boolean | undefined;
|
|
44
|
+
}>;
|
|
45
|
+
handler: (input: AnalyzeProblemBOJInput) => Promise<TextContent>;
|
|
46
|
+
};
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=analyze-problem-boj.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze-problem-boj.d.ts","sourceRoot":"","sources":["../../../src/tools/boj/analyze-problem-boj.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAG1E;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;EAKvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF;;GAEG;AACH,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe;;;;;;;;;;;;;qBAKpC,sBAAsB,KAAG,OAAO,CAAC,WAAW,CAAC;EA6BvE"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* analyze_problem_boj MCP 도구
|
|
3
|
+
*
|
|
4
|
+
* BOJ 문제 분석 및 구조화된 힌트 데이터 제공 (Keyless Architecture)
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { ProblemNotFoundError } from '../../api/types.js';
|
|
8
|
+
/**
|
|
9
|
+
* 입력 스키마
|
|
10
|
+
*/
|
|
11
|
+
export const AnalyzeProblemBOJInputSchema = z.object({
|
|
12
|
+
problem_id: z.number().int().positive()
|
|
13
|
+
.describe('백준 문제 번호'),
|
|
14
|
+
include_similar: z.boolean().optional().default(true)
|
|
15
|
+
.describe('유사 문제 추천 포함 여부'),
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* analyze_problem_boj 도구 핸들러
|
|
19
|
+
*/
|
|
20
|
+
export function analyzeProblemBOJTool(analyzer) {
|
|
21
|
+
return {
|
|
22
|
+
name: 'analyze_problem_boj',
|
|
23
|
+
description: '백준(BOJ) 문제를 분석하여 구조화된 힌트 데이터를 제공합니다. 알고리즘 패턴, 난이도 컨텍스트, 3단계 힌트 포인트, 유사 문제 추천을 포함합니다.\n\n⚠️ 플랫폼 판별: 문제 번호만 입력된 경우 대화 맥락에서 플랫폼을 파악하거나, 맥락이 없으면 반드시 BOJ/프로그래머스 중 어느 플랫폼인지 사용자에게 확인 후 호출하세요.',
|
|
24
|
+
inputSchema: AnalyzeProblemBOJInputSchema,
|
|
25
|
+
handler: async (input) => {
|
|
26
|
+
try {
|
|
27
|
+
// 입력 검증
|
|
28
|
+
const { problem_id, include_similar } = AnalyzeProblemBOJInputSchema.parse(input);
|
|
29
|
+
// 문제 분석
|
|
30
|
+
const analysis = await analyzer.analyze(problem_id, include_similar);
|
|
31
|
+
// JSON 문자열로 반환 (Claude Code가 파싱)
|
|
32
|
+
return {
|
|
33
|
+
type: 'text',
|
|
34
|
+
text: JSON.stringify(analysis, null, 2),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
// Zod 검증 에러
|
|
39
|
+
if (error instanceof z.ZodError) {
|
|
40
|
+
throw new Error(`입력 검증 실패: ${error.issues[0].message}`);
|
|
41
|
+
}
|
|
42
|
+
// ProblemNotFoundError
|
|
43
|
+
if (error instanceof ProblemNotFoundError) {
|
|
44
|
+
throw new Error(`문제를 찾을 수 없습니다: ${input.problem_id}번`);
|
|
45
|
+
}
|
|
46
|
+
// 기타 에러
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=analyze-problem-boj.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze-problem-boj.js","sourceRoot":"","sources":["../../../src/tools/boj/analyze-problem-boj.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;SACpC,QAAQ,CAAC,UAAU,CAAC;IACvB,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;SAClD,QAAQ,CAAC,gBAAgB,CAAC;CAC9B,CAAC,CAAC;AAYH;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAyB;IAC7D,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,0LAA0L;QACvM,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,KAAK,EAAE,KAA6B,EAAwB,EAAE;YACrE,IAAI,CAAC;gBACH,QAAQ;gBACR,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAElF,QAAQ;gBACR,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBAErE,iCAAiC;gBACjC,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,YAAY;gBACZ,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBAED,uBAAuB;gBACvB,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;oBAC1C,MAAM,IAAI,KAAK,CAAC,kBAAmB,KAAgC,CAAC,UAAU,GAAG,CAAC,CAAC;gBACrF,CAAC;gBAED,QAAQ;gBACR,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* fetch_problem_content_boj MCP 도구
|
|
3
|
+
*
|
|
4
|
+
* Phase 6 - P6-004: BOJ 문제 본문 스크래핑 MCP 도구 구현
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
/**
|
|
8
|
+
* 입력 스키마
|
|
9
|
+
*/
|
|
10
|
+
export declare const FetchProblemContentBOJInputSchema: z.ZodObject<{
|
|
11
|
+
problem_id: z.ZodNumber;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
problem_id: number;
|
|
14
|
+
}, {
|
|
15
|
+
problem_id: number;
|
|
16
|
+
}>;
|
|
17
|
+
export type FetchProblemContentBOJInput = z.infer<typeof FetchProblemContentBOJInputSchema>;
|
|
18
|
+
/**
|
|
19
|
+
* MCP TextContent 타입
|
|
20
|
+
*/
|
|
21
|
+
interface TextContent {
|
|
22
|
+
type: 'text';
|
|
23
|
+
text: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* fetch_problem_content_boj 도구 핸들러
|
|
27
|
+
*
|
|
28
|
+
* @param args - 입력 인자 (problem_id)
|
|
29
|
+
* @returns ProblemContent JSON 문자열
|
|
30
|
+
* @throws {Error} 검증 실패, 스크래핑 실패, 파싱 실패 시
|
|
31
|
+
*/
|
|
32
|
+
export declare function handleFetchProblemContentBOJ(args: unknown): Promise<TextContent>;
|
|
33
|
+
/**
|
|
34
|
+
* MCP 도구 정의
|
|
35
|
+
*/
|
|
36
|
+
export declare function fetchProblemContentBOJTool(): {
|
|
37
|
+
name: string;
|
|
38
|
+
description: string;
|
|
39
|
+
inputSchema: z.ZodObject<{
|
|
40
|
+
problem_id: z.ZodNumber;
|
|
41
|
+
}, "strip", z.ZodTypeAny, {
|
|
42
|
+
problem_id: number;
|
|
43
|
+
}, {
|
|
44
|
+
problem_id: number;
|
|
45
|
+
}>;
|
|
46
|
+
handler: typeof handleFetchProblemContentBOJ;
|
|
47
|
+
};
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=fetch-problem-content-boj.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-problem-content-boj.d.ts","sourceRoot":"","sources":["../../../src/tools/boj/fetch-problem-content-boj.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;GAEG;AACH,eAAO,MAAM,iCAAiC;;;;;;EAG5C,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F;;GAEG;AACH,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CA+CtF;AAED;;GAEG;AACH,wBAAgB,0BAA0B;;;;;;;;;;;EAyBzC"}
|