codingbuddy 1.0.0 → 1.1.0

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 (40) hide show
  1. package/README.md +37 -0
  2. package/dist/api/mcp.d.ts +2 -0
  3. package/dist/api/mcp.js +92 -0
  4. package/dist/api/mcp.js.map +1 -0
  5. package/dist/src/cli/cli.d.ts +1 -0
  6. package/dist/src/cli/cli.js +15 -0
  7. package/dist/src/cli/cli.js.map +1 -1
  8. package/dist/src/config/config.loader.d.ts +2 -0
  9. package/dist/src/config/config.loader.js +14 -0
  10. package/dist/src/config/config.loader.js.map +1 -1
  11. package/dist/src/main.js +25 -1
  12. package/dist/src/main.js.map +1 -1
  13. package/dist/src/mcp/mcp-serverless.d.ts +37 -0
  14. package/dist/src/mcp/mcp-serverless.js +463 -0
  15. package/dist/src/mcp/mcp-serverless.js.map +1 -0
  16. package/dist/src/mcp/mcp.service.js +3 -1
  17. package/dist/src/mcp/mcp.service.js.map +1 -1
  18. package/dist/src/rules/agent.schema.d.ts +20 -0
  19. package/dist/src/rules/agent.schema.js +55 -0
  20. package/dist/src/rules/agent.schema.js.map +1 -0
  21. package/dist/src/rules/rules.service.js +18 -1
  22. package/dist/src/rules/rules.service.js.map +1 -1
  23. package/dist/src/rules/rules.types.d.ts +8 -5
  24. package/dist/src/rules/skill.schema.d.ts +17 -0
  25. package/dist/src/rules/skill.schema.js +64 -0
  26. package/dist/src/rules/skill.schema.js.map +1 -0
  27. package/dist/src/shared/error.utils.d.ts +1 -0
  28. package/dist/src/shared/error.utils.js +46 -0
  29. package/dist/src/shared/error.utils.js.map +1 -0
  30. package/dist/src/shared/security.utils.d.ts +2 -0
  31. package/dist/src/shared/security.utils.js +46 -0
  32. package/dist/src/shared/security.utils.js.map +1 -0
  33. package/dist/src/shared/validation.constants.d.ts +11 -0
  34. package/dist/src/shared/validation.constants.js +53 -0
  35. package/dist/src/shared/validation.constants.js.map +1 -0
  36. package/dist/tsconfig.build.tsbuildinfo +1 -1
  37. package/package.json +4 -2
  38. package/dist/vitest.config.d.ts +0 -2
  39. package/dist/vitest.config.js +0 -23
  40. package/dist/vitest.config.js.map +0 -1
@@ -0,0 +1,463 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.McpServerlessService = void 0;
4
+ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
5
+ const z = require("zod");
6
+ const fs = require("fs/promises");
7
+ const fs_1 = require("fs");
8
+ const path = require("path");
9
+ const keyword_types_1 = require("../keyword/keyword.types");
10
+ const config_loader_1 = require("../config/config.loader");
11
+ const security_utils_1 = require("../shared/security.utils");
12
+ const agent_schema_1 = require("../rules/agent.schema");
13
+ const skill_schema_1 = require("../rules/skill.schema");
14
+ const validation_constants_1 = require("../shared/validation.constants");
15
+ const error_utils_1 = require("../shared/error.utils");
16
+ const DEFAULT_MODE_CONFIG = {
17
+ modes: {
18
+ PLAN: {
19
+ description: 'Task planning and design phase',
20
+ instructions: 'Design first approach. Define test cases from TDD perspective. Review architecture before implementation.',
21
+ rules: ['rules/core.md', 'rules/augmented-coding.md'],
22
+ },
23
+ ACT: {
24
+ description: 'Actual task execution phase',
25
+ instructions: 'Follow Red-Green-Refactor cycle. Implement minimally then improve incrementally. Verify quality standards.',
26
+ rules: ['rules/core.md', 'rules/project.md', 'rules/augmented-coding.md'],
27
+ },
28
+ EVAL: {
29
+ description: 'Result review and assessment phase',
30
+ instructions: 'Review code quality. Verify SOLID principles. Check test coverage. Suggest improvements.',
31
+ rules: ['rules/core.md', 'rules/augmented-coding.md'],
32
+ },
33
+ },
34
+ defaultMode: 'PLAN',
35
+ };
36
+ class McpServerlessService {
37
+ constructor(rulesDir, projectRoot) {
38
+ this.rulesDir = rulesDir ?? this.findRulesDir();
39
+ this.projectRoot = projectRoot ?? process.cwd();
40
+ this.server = new mcp_js_1.McpServer({
41
+ name: 'codingbuddy',
42
+ version: '1.0.0',
43
+ });
44
+ this.registerTools();
45
+ this.registerResources();
46
+ }
47
+ getServer() {
48
+ return this.server;
49
+ }
50
+ setRulesDir(rulesDir) {
51
+ this.rulesDir = rulesDir;
52
+ }
53
+ setProjectRoot(projectRoot) {
54
+ this.projectRoot = projectRoot;
55
+ }
56
+ findRulesDir() {
57
+ if (process.env.CODINGBUDDY_RULES_DIR) {
58
+ return process.env.CODINGBUDDY_RULES_DIR;
59
+ }
60
+ try {
61
+ const { rulesPath } = require('codingbuddy-rules');
62
+ return rulesPath;
63
+ }
64
+ catch {
65
+ }
66
+ const candidates = [
67
+ path.resolve(__dirname, '../../../../packages/rules/.ai-rules'),
68
+ path.resolve(__dirname, '../../../packages/rules/.ai-rules'),
69
+ path.resolve(__dirname, '../../../../.ai-rules'),
70
+ path.resolve(__dirname, '../../../.ai-rules'),
71
+ ];
72
+ for (const candidate of candidates) {
73
+ if ((0, fs_1.existsSync)(candidate)) {
74
+ return candidate;
75
+ }
76
+ }
77
+ return candidates[0];
78
+ }
79
+ registerTools() {
80
+ this.server.registerTool('search_rules', {
81
+ title: 'Search Rules',
82
+ description: 'Search for rules and guidelines',
83
+ inputSchema: {
84
+ query: z.string().describe('Search query'),
85
+ },
86
+ }, async ({ query }) => {
87
+ return this.handleSearchRules(query);
88
+ });
89
+ this.server.registerTool('get_agent_details', {
90
+ title: 'Get Agent Details',
91
+ description: 'Get detailed profile of a specific AI agent',
92
+ inputSchema: {
93
+ agentName: z.string().describe('Name of the agent'),
94
+ },
95
+ }, async ({ agentName }) => {
96
+ return this.handleGetAgentDetails(agentName);
97
+ });
98
+ this.server.registerTool('parse_mode', {
99
+ title: 'Parse Mode',
100
+ description: 'Parse workflow mode keyword from prompt and return mode-specific rules with project language setting',
101
+ inputSchema: {
102
+ prompt: z
103
+ .string()
104
+ .describe('User prompt that may start with PLAN/ACT/EVAL keyword'),
105
+ },
106
+ }, async ({ prompt }) => {
107
+ return this.handleParseMode(prompt);
108
+ });
109
+ this.server.registerTool('get_project_config', {
110
+ title: 'Get Project Config',
111
+ description: 'Get project configuration including tech stack, architecture, conventions, and language settings',
112
+ inputSchema: {},
113
+ }, async () => {
114
+ return this.handleGetProjectConfig();
115
+ });
116
+ this.server.registerTool('suggest_config_updates', {
117
+ title: 'Suggest Config Updates',
118
+ description: 'Analyze the project and suggest config updates based on detected changes (new frameworks, dependencies, patterns)',
119
+ inputSchema: {
120
+ projectRoot: z
121
+ .string()
122
+ .optional()
123
+ .describe('Project root directory (defaults to current working directory)'),
124
+ },
125
+ }, async ({ projectRoot }) => {
126
+ return this.handleSuggestConfigUpdates(projectRoot);
127
+ });
128
+ this.server.registerTool('list_skills', {
129
+ title: 'List Skills',
130
+ description: 'List all available skills with descriptions',
131
+ inputSchema: {},
132
+ }, async () => {
133
+ return this.handleListSkills();
134
+ });
135
+ this.server.registerTool('get_skill', {
136
+ title: 'Get Skill',
137
+ description: 'Get skill content by name',
138
+ inputSchema: {
139
+ skillName: z.string().describe('Name of the skill'),
140
+ },
141
+ }, async ({ skillName }) => {
142
+ return this.handleGetSkill(skillName);
143
+ });
144
+ }
145
+ registerResources() {
146
+ }
147
+ async handleSearchRules(query) {
148
+ const validation = (0, validation_constants_1.validateQuery)(query);
149
+ if (!validation.valid) {
150
+ return this.errorResponse(validation.error ?? 'Invalid query');
151
+ }
152
+ try {
153
+ const results = await this.searchRules(query);
154
+ return this.jsonResponse(results);
155
+ }
156
+ catch (error) {
157
+ return this.errorResponse(`Failed to search rules: ${(0, error_utils_1.sanitizeError)(error)}`);
158
+ }
159
+ }
160
+ async handleGetAgentDetails(agentName) {
161
+ const validation = (0, validation_constants_1.validateAgentName)(agentName);
162
+ if (!validation.valid) {
163
+ return this.errorResponse(validation.error ?? 'Invalid agent name');
164
+ }
165
+ try {
166
+ const agent = await this.getAgent(agentName);
167
+ return this.jsonResponse(agent);
168
+ }
169
+ catch {
170
+ return this.errorResponse(`Agent '${agentName}' not found.`);
171
+ }
172
+ }
173
+ async handleParseMode(prompt) {
174
+ const validation = (0, validation_constants_1.validatePrompt)(prompt);
175
+ if (!validation.valid) {
176
+ return this.errorResponse(validation.error ?? 'Invalid prompt');
177
+ }
178
+ try {
179
+ const result = await this.parseMode(prompt);
180
+ const settings = await this.loadProjectSettings();
181
+ const response = {
182
+ ...result,
183
+ language: settings.language,
184
+ };
185
+ return this.jsonResponse(response);
186
+ }
187
+ catch (error) {
188
+ return this.errorResponse(`Failed to parse mode: ${(0, error_utils_1.sanitizeError)(error)}`);
189
+ }
190
+ }
191
+ async handleGetProjectConfig() {
192
+ try {
193
+ const settings = await this.loadProjectSettings();
194
+ return this.jsonResponse(settings);
195
+ }
196
+ catch (error) {
197
+ return this.errorResponse(`Failed to get project config: ${(0, error_utils_1.sanitizeError)(error)}`);
198
+ }
199
+ }
200
+ async handleListSkills() {
201
+ try {
202
+ const skills = await this.listSkills();
203
+ return this.jsonResponse(skills);
204
+ }
205
+ catch (error) {
206
+ return this.errorResponse(`Failed to list skills: ${(0, error_utils_1.sanitizeError)(error)}`);
207
+ }
208
+ }
209
+ async handleGetSkill(skillName) {
210
+ if (!skillName || !/^[a-z0-9-]+$/.test(skillName)) {
211
+ return this.errorResponse('Invalid skill name format');
212
+ }
213
+ try {
214
+ const skill = await this.getSkill(skillName);
215
+ return this.jsonResponse(skill);
216
+ }
217
+ catch {
218
+ return this.errorResponse(`Skill '${skillName}' not found.`);
219
+ }
220
+ }
221
+ async handleSuggestConfigUpdates(projectRoot) {
222
+ try {
223
+ const root = projectRoot ?? this.projectRoot;
224
+ const packageJsonPath = path.join(root, 'package.json');
225
+ const detectedStack = [];
226
+ if ((0, fs_1.existsSync)(packageJsonPath)) {
227
+ const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'));
228
+ const allDeps = {
229
+ ...packageJson.dependencies,
230
+ ...packageJson.devDependencies,
231
+ };
232
+ const frameworks = {
233
+ react: 'React',
234
+ vue: 'Vue',
235
+ angular: 'Angular',
236
+ next: 'Next.js',
237
+ nuxt: 'Nuxt',
238
+ express: 'Express',
239
+ nestjs: 'NestJS',
240
+ '@nestjs/core': 'NestJS',
241
+ fastify: 'Fastify',
242
+ typescript: 'TypeScript',
243
+ tailwindcss: 'Tailwind CSS',
244
+ jest: 'Jest',
245
+ vitest: 'Vitest',
246
+ prisma: 'Prisma',
247
+ '@prisma/client': 'Prisma',
248
+ };
249
+ for (const [pkg, name] of Object.entries(frameworks)) {
250
+ if (allDeps[pkg]) {
251
+ detectedStack.push(name);
252
+ }
253
+ }
254
+ }
255
+ const currentConfig = await this.loadProjectSettings();
256
+ const suggestions = [];
257
+ if (!currentConfig.techStack ||
258
+ Object.keys(currentConfig.techStack).length === 0) {
259
+ if (detectedStack.length > 0) {
260
+ suggestions.push(`Add detected technologies to config: ${detectedStack.join(', ')}`);
261
+ }
262
+ }
263
+ if (!currentConfig.language) {
264
+ suggestions.push('Consider adding a language setting (e.g., "ko" or "en")');
265
+ }
266
+ return this.jsonResponse({
267
+ detectedStack,
268
+ currentConfig,
269
+ suggestions,
270
+ needsUpdate: suggestions.length > 0,
271
+ });
272
+ }
273
+ catch (error) {
274
+ return this.errorResponse(`Failed to suggest config updates: ${(0, error_utils_1.sanitizeError)(error)}`);
275
+ }
276
+ }
277
+ async getRuleContent(relativePath) {
278
+ if (!(0, security_utils_1.isPathSafe)(this.rulesDir, relativePath)) {
279
+ throw new Error(`Access denied: Invalid path`);
280
+ }
281
+ const fullPath = path.join(this.rulesDir, relativePath);
282
+ try {
283
+ return await fs.readFile(fullPath, 'utf-8');
284
+ }
285
+ catch {
286
+ throw new Error(`Failed to read rule file: ${relativePath}`);
287
+ }
288
+ }
289
+ async listAgents() {
290
+ const agentsDir = path.join(this.rulesDir, 'agents');
291
+ try {
292
+ const files = await fs.readdir(agentsDir);
293
+ return files
294
+ .filter(f => f.endsWith('.json'))
295
+ .map(f => f.replace('.json', ''));
296
+ }
297
+ catch {
298
+ return [];
299
+ }
300
+ }
301
+ async getAgent(name) {
302
+ const content = await this.getRuleContent(`agents/${name}.json`);
303
+ try {
304
+ const parsed = JSON.parse(content);
305
+ const validated = (0, agent_schema_1.parseAgentProfile)(parsed);
306
+ return validated;
307
+ }
308
+ catch (error) {
309
+ if (error instanceof agent_schema_1.AgentSchemaError) {
310
+ throw new Error(`Invalid agent profile: ${name}`);
311
+ }
312
+ throw error;
313
+ }
314
+ }
315
+ async searchRules(query) {
316
+ const results = [];
317
+ const queryLower = query.toLowerCase();
318
+ const agents = await this.listAgents();
319
+ const filesToSearch = [
320
+ 'rules/core.md',
321
+ 'rules/project.md',
322
+ 'rules/augmented-coding.md',
323
+ ...agents.map(a => `agents/${a}.json`),
324
+ ];
325
+ for (const file of filesToSearch) {
326
+ try {
327
+ const content = await this.getRuleContent(file);
328
+ const lines = content.split('\n');
329
+ const matches = [];
330
+ let score = 0;
331
+ lines.forEach((line, index) => {
332
+ if (line.toLowerCase().includes(queryLower)) {
333
+ matches.push(`Line ${index + 1}: ${line.trim()}`);
334
+ score++;
335
+ }
336
+ });
337
+ if (score > 0) {
338
+ results.push({ file, matches, score });
339
+ }
340
+ }
341
+ catch {
342
+ }
343
+ }
344
+ return results.sort((a, b) => b.score - a.score);
345
+ }
346
+ async listSkills() {
347
+ const skillsDir = path.join(this.rulesDir, 'skills');
348
+ const summaries = [];
349
+ try {
350
+ const entries = await fs.readdir(skillsDir, { withFileTypes: true });
351
+ for (const entry of entries) {
352
+ if (entry.isDirectory()) {
353
+ const skillPath = path.join(skillsDir, entry.name, 'SKILL.md');
354
+ try {
355
+ const content = await fs.readFile(skillPath, 'utf-8');
356
+ const skill = (0, skill_schema_1.parseSkill)(content, `skills/${entry.name}/SKILL.md`);
357
+ summaries.push({
358
+ name: skill.name,
359
+ description: skill.description,
360
+ });
361
+ }
362
+ catch {
363
+ }
364
+ }
365
+ }
366
+ }
367
+ catch {
368
+ }
369
+ return summaries;
370
+ }
371
+ async getSkill(name) {
372
+ if (!/^[a-z0-9-]+$/.test(name)) {
373
+ throw new Error(`Invalid skill name format: ${name}`);
374
+ }
375
+ const skillPath = `skills/${name}/SKILL.md`;
376
+ if (!(0, security_utils_1.isPathSafe)(this.rulesDir, skillPath)) {
377
+ throw new Error('Access denied: Invalid path');
378
+ }
379
+ const fullPath = path.join(this.rulesDir, skillPath);
380
+ try {
381
+ const content = await fs.readFile(fullPath, 'utf-8');
382
+ return (0, skill_schema_1.parseSkill)(content, skillPath);
383
+ }
384
+ catch (error) {
385
+ if (error instanceof skill_schema_1.SkillSchemaError) {
386
+ throw new Error(`Invalid skill: ${name}`);
387
+ }
388
+ throw new Error(`Skill not found: ${name}`);
389
+ }
390
+ }
391
+ async parseMode(prompt) {
392
+ const config = DEFAULT_MODE_CONFIG;
393
+ const warnings = [];
394
+ const trimmed = prompt.trim();
395
+ const parts = trimmed.split(/\s+/);
396
+ const firstWord = parts[0]?.toUpperCase() ?? '';
397
+ let mode;
398
+ let originalPrompt;
399
+ const isKeyword = keyword_types_1.KEYWORDS.includes(firstWord);
400
+ if (isKeyword) {
401
+ mode = firstWord;
402
+ originalPrompt = trimmed.slice(parts[0].length).trim();
403
+ if (parts.length > 1) {
404
+ const secondWord = parts[1].toUpperCase();
405
+ if (keyword_types_1.KEYWORDS.includes(secondWord)) {
406
+ warnings.push('Multiple keywords found, using first');
407
+ }
408
+ }
409
+ if (originalPrompt === '') {
410
+ warnings.push('No prompt content after keyword');
411
+ }
412
+ }
413
+ else {
414
+ mode = config.defaultMode;
415
+ originalPrompt = trimmed;
416
+ warnings.push('No keyword found, defaulting to PLAN');
417
+ }
418
+ const modeConfig = config.modes[mode];
419
+ const rules = await this.getRulesForMode(mode, config);
420
+ return {
421
+ mode,
422
+ originalPrompt,
423
+ instructions: modeConfig.instructions,
424
+ rules,
425
+ ...(warnings.length > 0 ? { warnings } : {}),
426
+ };
427
+ }
428
+ async getRulesForMode(mode, config) {
429
+ const modeConfig = config.modes[mode];
430
+ const rules = [];
431
+ for (const rulePath of modeConfig.rules) {
432
+ try {
433
+ const content = await this.getRuleContent(rulePath);
434
+ rules.push({ name: rulePath, content });
435
+ }
436
+ catch {
437
+ }
438
+ }
439
+ return rules;
440
+ }
441
+ async loadProjectSettings() {
442
+ try {
443
+ const result = await (0, config_loader_1.loadConfig)(this.projectRoot);
444
+ return result.config;
445
+ }
446
+ catch {
447
+ return {};
448
+ }
449
+ }
450
+ jsonResponse(data) {
451
+ return {
452
+ content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
453
+ };
454
+ }
455
+ errorResponse(message) {
456
+ return {
457
+ isError: true,
458
+ content: [{ type: 'text', text: message }],
459
+ };
460
+ }
461
+ }
462
+ exports.McpServerlessService = McpServerlessService;
463
+ //# sourceMappingURL=mcp-serverless.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-serverless.js","sourceRoot":"","sources":["../../../src/mcp/mcp-serverless.ts"],"names":[],"mappings":";;;AAAA,oEAAoE;AACpE,yBAAyB;AACzB,kCAAkC;AAClC,2BAAgC;AAChC,6BAA6B;AAQ7B,4DAAoD;AACpD,2DAAqD;AAErD,6DAAsD;AACtD,wDAA4E;AAC5E,wDAAqE;AAErE,yEAIwC;AACxC,uDAAsD;AAyBtD,MAAM,mBAAmB,GAAuB;IAC9C,KAAK,EAAE;QACL,IAAI,EAAE;YACJ,WAAW,EAAE,gCAAgC;YAC7C,YAAY,EACV,2GAA2G;YAC7G,KAAK,EAAE,CAAC,eAAe,EAAE,2BAA2B,CAAC;SACtD;QACD,GAAG,EAAE;YACH,WAAW,EAAE,6BAA6B;YAC1C,YAAY,EACV,4GAA4G;YAC9G,KAAK,EAAE,CAAC,eAAe,EAAE,kBAAkB,EAAE,2BAA2B,CAAC;SAC1E;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,oCAAoC;YACjD,YAAY,EACV,0FAA0F;YAC5F,KAAK,EAAE,CAAC,eAAe,EAAE,2BAA2B,CAAC;SACtD;KACF;IACD,WAAW,EAAE,MAAM;CACpB,CAAC;AAMF,MAAa,oBAAoB;IAK/B,YAAY,QAAiB,EAAE,WAAoB;QACjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAEhD,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAS,CAAC;YAC1B,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAMD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,cAAc,CAAC,WAAmB;QAChC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAMO,YAAY;QAElB,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC3C,CAAC;QAGD,IAAI,CAAC;YAEH,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;YACnD,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAGD,MAAM,UAAU,GAAG;YACjB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,sCAAsC,CAAC;YAC/D,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mCAAmC,CAAC;YAC5D,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC;SAC9C,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,IAAA,eAAU,EAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAGD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAMO,aAAa;QAEnB,IAAI,CAAC,MAAM,CAAC,YAAY,CACtB,cAAc,EACd;YACE,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,iCAAiC;YAC9C,WAAW,EAAE;gBACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;aAC3C;SACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAyB,EAAE;YACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CACF,CAAC;QAGF,IAAI,CAAC,MAAM,CAAC,YAAY,CACtB,mBAAmB,EACnB;YACE,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,6CAA6C;YAC1D,WAAW,EAAE;gBACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aACpD;SACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAyB,EAAE;YAC7C,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CACF,CAAC;QAGF,IAAI,CAAC,MAAM,CAAC,YAAY,CACtB,YAAY,EACZ;YACE,KAAK,EAAE,YAAY;YACnB,WAAW,EACT,sGAAsG;YACxG,WAAW,EAAE;gBACX,MAAM,EAAE,CAAC;qBACN,MAAM,EAAE;qBACR,QAAQ,CAAC,uDAAuD,CAAC;aACrE;SACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAyB,EAAE;YAC1C,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CACF,CAAC;QAGF,IAAI,CAAC,MAAM,CAAC,YAAY,CACtB,oBAAoB,EACpB;YACE,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EACT,kGAAkG;YACpG,WAAW,EAAE,EAAE;SAChB,EACD,KAAK,IAA2B,EAAE;YAChC,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACvC,CAAC,CACF,CAAC;QAGF,IAAI,CAAC,MAAM,CAAC,YAAY,CACtB,wBAAwB,EACxB;YACE,KAAK,EAAE,wBAAwB;YAC/B,WAAW,EACT,mHAAmH;YACrH,WAAW,EAAE;gBACX,WAAW,EAAE,CAAC;qBACX,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACP,gEAAgE,CACjE;aACJ;SACF,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,EAAyB,EAAE;YAC/C,OAAO,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC,CACF,CAAC;QAGF,IAAI,CAAC,MAAM,CAAC,YAAY,CACtB,aAAa,EACb;YACE,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,6CAA6C;YAC1D,WAAW,EAAE,EAAE;SAChB,EACD,KAAK,IAA2B,EAAE;YAChC,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjC,CAAC,CACF,CAAC;QAGF,IAAI,CAAC,MAAM,CAAC,YAAY,CACtB,WAAW,EACX;YACE,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,2BAA2B;YACxC,WAAW,EAAE;gBACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aACpD;SACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAyB,EAAE;YAC7C,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,iBAAiB;IAGzB,CAAC;IAMO,KAAK,CAAC,iBAAiB,CAAC,KAAa;QAE3C,MAAM,UAAU,GAAG,IAAA,oCAAa,EAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,aAAa,CACvB,2BAA2B,IAAA,2BAAa,EAAC,KAAK,CAAC,EAAE,CAClD,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,SAAiB;QAGjB,MAAM,UAAU,GAAG,IAAA,wCAAiB,EAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,IAAI,oBAAoB,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,SAAS,cAAc,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAc;QAE1C,MAAM,UAAU,GAAG,IAAA,qCAAc,EAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,IAAI,gBAAgB,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAsB;gBAClC,GAAG,MAAM;gBACT,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B,CAAC;YACF,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,aAAa,CACvB,yBAAyB,IAAA,2BAAa,EAAC,KAAK,CAAC,EAAE,CAChD,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,aAAa,CACvB,iCAAiC,IAAA,2BAAa,EAAC,KAAK,CAAC,EAAE,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,aAAa,CACvB,0BAA0B,IAAA,2BAAa,EAAC,KAAK,CAAC,EAAE,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,SAAiB;QAE5C,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,SAAS,cAAc,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,WAAoB;QAEpB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;YAI7C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACxD,MAAM,aAAa,GAAa,EAAE,CAAC;YAEnC,IAAI,IAAA,eAAU,EAAC,eAAe,CAAC,EAAE,CAAC;gBAChC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAC5C,CAAC;gBACF,MAAM,OAAO,GAAG;oBACd,GAAG,WAAW,CAAC,YAAY;oBAC3B,GAAG,WAAW,CAAC,eAAe;iBAC/B,CAAC;gBAGF,MAAM,UAAU,GAA2B;oBACzC,KAAK,EAAE,OAAO;oBACd,GAAG,EAAE,KAAK;oBACV,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,SAAS;oBAClB,MAAM,EAAE,QAAQ;oBAChB,cAAc,EAAE,QAAQ;oBACxB,OAAO,EAAE,SAAS;oBAClB,UAAU,EAAE,YAAY;oBACxB,WAAW,EAAE,cAAc;oBAC3B,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,QAAQ;oBAChB,gBAAgB,EAAE,QAAQ;iBAC3B,CAAC;gBAEF,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBACrD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBACjB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvD,MAAM,WAAW,GAAa,EAAE,CAAC;YAGjC,IACE,CAAC,aAAa,CAAC,SAAS;gBACxB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EACjD,CAAC;gBACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,WAAW,CAAC,IAAI,CACd,wCAAwC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnE,CAAC;gBACJ,CAAC;YACH,CAAC;YAGD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAC5B,WAAW,CAAC,IAAI,CACd,yDAAyD,CAC1D,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC,YAAY,CAAC;gBACvB,aAAa;gBACb,aAAa;gBACb,WAAW;gBACX,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,aAAa,CACvB,qCAAqC,IAAA,2BAAa,EAAC,KAAK,CAAC,EAAE,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IAMO,KAAK,CAAC,cAAc,CAAC,YAAoB;QAE/C,IAAI,CAAC,IAAA,2BAAU,EAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,OAAO,KAAK;iBACT,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAChC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,IAAY;QACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEnC,MAAM,SAAS,GAAG,IAAA,gCAAiB,EAAC,MAAM,CAAC,CAAC;YAC5C,OAAO,SAAoC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,+BAAgB,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAAa;QACrC,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAEvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG;YACpB,eAAe;YACf,kBAAkB;YAClB,2BAA2B;YAC3B,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;SACvC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;gBAEd,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC5C,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAClD,KAAK,EAAE,CAAC;oBACV,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAMD,KAAK,CAAC,UAAU;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrD,MAAM,SAAS,GAAmB,EAAE,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAErE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBAC/D,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;wBACtD,MAAM,KAAK,GAAG,IAAA,yBAAU,EAAC,OAAO,EAAE,UAAU,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC;wBACnE,SAAS,CAAC,IAAI,CAAC;4BACb,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,WAAW,EAAE,KAAK,CAAC,WAAW;yBAC/B,CAAC,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC;oBAET,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QAEzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,IAAI,WAAW,CAAC;QAG5C,IAAI,CAAC,IAAA,2BAAU,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrD,OAAO,IAAA,yBAAU,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,+BAAgB,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;YAC5C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAMO,KAAK,CAAC,SAAS,CAAC,MAAc;QACpC,MAAM,MAAM,GAAG,mBAAmB,CAAC;QACnC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAEhD,IAAI,IAAU,CAAC;QACf,IAAI,cAAsB,CAAC;QAE3B,MAAM,SAAS,GAAG,wBAAQ,CAAC,QAAQ,CAAC,SAAiB,CAAC,CAAC;QAEvD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,GAAG,SAAiB,CAAC;YACzB,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAGvD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC1C,IAAI,wBAAQ,CAAC,QAAQ,CAAC,UAAkB,CAAC,EAAE,CAAC;oBAC1C,QAAQ,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YAGD,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;gBAC1B,QAAQ,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;YAC1B,cAAc,GAAG,OAAO,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEvD,OAAO;YACL,IAAI;YACJ,cAAc;YACd,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,KAAK;YACL,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7C,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,IAAU,EACV,MAA0B;QAE1B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,KAAK,GAAkB,EAAE,CAAC;QAEhC,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBACpD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAMO,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAU,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAMO,YAAY,CAAC,IAAa;QAChC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,OAAe;QACnC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SAC3C,CAAC;IACJ,CAAC;CACF;AAlmBD,oDAkmBC"}
@@ -239,13 +239,15 @@ let McpService = McpService_1 = class McpService {
239
239
  const coreRules = await this.rulesService.getRuleContent('rules/core.md');
240
240
  const settings = await this.configService.getSettings();
241
241
  const projectContext = this.formatProjectContext(settings);
242
+ const expertise = agent.role.expertise.join(', ');
243
+ const responsibilities = agent.role.responsibilities?.join('\n- ') ?? '';
242
244
  return {
243
245
  messages: [
244
246
  {
245
247
  role: 'user',
246
248
  content: {
247
249
  type: 'text',
248
- text: `Activate Agent: ${agent.name}\n\nRole: ${agent.role}\n\nGoals:\n${agent.goals.join('\n')}\n\nWorkflow:\n${agent.workflow.join('\n')}\n\n${projectContext}\n\nCore Rules Context:\n${coreRules.substring(0, 1000)}... (truncated)`,
250
+ text: `Activate Agent: ${agent.name}\n\nDescription: ${agent.description}\n\nRole: ${agent.role.title}\nExpertise: ${expertise}\n\nResponsibilities:\n- ${responsibilities}\n\n${projectContext}\n\nCore Rules Context:\n${coreRules.substring(0, 1000)}... (truncated)`,
249
251
  },
250
252
  },
251
253
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.service.js","sourceRoot":"","sources":["../../../src/mcp/mcp.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.service.js","sourceRoot":"","sources":["../../../src/mcp/mcp.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import * as z from 'zod';
2
+ export declare class AgentSchemaError extends Error {
3
+ readonly details?: z.ZodError | undefined;
4
+ constructor(message: string, details?: z.ZodError | undefined);
5
+ }
6
+ declare const AgentProfileSchema: z.ZodObject<{
7
+ name: z.ZodString;
8
+ description: z.ZodString;
9
+ role: z.ZodObject<{
10
+ title: z.ZodString;
11
+ expertise: z.ZodArray<z.ZodString>;
12
+ tech_stack_reference: z.ZodOptional<z.ZodString>;
13
+ responsibilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
14
+ }, z.z.core.$loose>;
15
+ }, z.z.core.$loose>;
16
+ export type ValidatedAgentProfile = z.infer<typeof AgentProfileSchema> & {
17
+ [key: string]: unknown;
18
+ };
19
+ export declare function parseAgentProfile(data: unknown): ValidatedAgentProfile;
20
+ export {};
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgentSchemaError = void 0;
4
+ exports.parseAgentProfile = parseAgentProfile;
5
+ const z = require("zod");
6
+ const security_utils_1 = require("../shared/security.utils");
7
+ class AgentSchemaError extends Error {
8
+ constructor(message, details) {
9
+ super(message);
10
+ this.details = details;
11
+ this.name = 'AgentSchemaError';
12
+ }
13
+ }
14
+ exports.AgentSchemaError = AgentSchemaError;
15
+ const RoleSchema = z
16
+ .object({
17
+ title: z.string(),
18
+ expertise: z.array(z.string()),
19
+ tech_stack_reference: z.string().optional(),
20
+ responsibilities: z.array(z.string()).optional(),
21
+ })
22
+ .passthrough();
23
+ const AgentProfileSchema = z
24
+ .object({
25
+ name: z.string(),
26
+ description: z.string(),
27
+ role: RoleSchema,
28
+ })
29
+ .passthrough();
30
+ function parseAgentProfile(data) {
31
+ try {
32
+ const dangerousKey = (0, security_utils_1.containsDangerousKeys)(data);
33
+ if (dangerousKey) {
34
+ throw new AgentSchemaError(`Invalid agent profile: Dangerous key "${dangerousKey}" detected`);
35
+ }
36
+ const result = AgentProfileSchema.safeParse(data);
37
+ if (!result.success) {
38
+ const errorMessage = result.error.issues
39
+ .map(issue => {
40
+ const pathStr = issue.path.length > 0 ? issue.path.join('.') : 'root';
41
+ return `${pathStr}: ${issue.message}`;
42
+ })
43
+ .join(', ');
44
+ throw new AgentSchemaError(`Invalid agent profile: ${errorMessage}`, result.error);
45
+ }
46
+ return result.data;
47
+ }
48
+ catch (error) {
49
+ if (error instanceof AgentSchemaError) {
50
+ throw error;
51
+ }
52
+ throw new AgentSchemaError(`Invalid agent profile: ${error instanceof Error ? error.message : 'Unknown error'}`);
53
+ }
54
+ }
55
+ //# sourceMappingURL=agent.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.schema.js","sourceRoot":"","sources":["../../../src/rules/agent.schema.ts"],"names":[],"mappings":";;;AAwEA,8CAqCC;AApGD,yBAAyB;AACzB,6DAAiE;AAMjE,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YACE,OAAe,EACC,OAAoB;QAEpC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,YAAO,GAAP,OAAO,CAAa;QAGpC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AARD,4CAQC;AASD,MAAM,UAAU,GAAG,CAAC;KACjB,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3C,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACjD,CAAC;KACD,WAAW,EAAE,CAAC;AAKjB,MAAM,kBAAkB,GAAG,CAAC;KACzB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,UAAU;CACjB,CAAC;KACD,WAAW,EAAE,CAAC;AAqBjB,SAAgB,iBAAiB,CAAC,IAAa;IAC7C,IAAI,CAAC;QAEH,MAAM,YAAY,GAAG,IAAA,sCAAqB,EAAC,IAAI,CAAC,CAAC;QACjD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,gBAAgB,CACxB,yCAAyC,YAAY,YAAY,CAClE,CAAC;QACJ,CAAC;QAGD,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;iBACrC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACX,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACtE,OAAO,GAAG,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YACxC,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,IAAI,gBAAgB,CACxB,0BAA0B,YAAY,EAAE,EACxC,MAAM,CAAC,KAAK,CACb,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,IAA6B,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAEf,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;YACtC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,gBAAgB,CACxB,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACrF,CAAC;IACJ,CAAC;AACH,CAAC"}