@corbat-tech/coding-standards-mcp 1.0.3 → 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 (91) hide show
  1. package/README.md +153 -341
  2. package/dist/agent.d.ts +5 -6
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +95 -217
  5. package/dist/agent.js.map +1 -1
  6. package/dist/errors.d.ts +58 -0
  7. package/dist/errors.d.ts.map +1 -0
  8. package/dist/errors.js +112 -0
  9. package/dist/errors.js.map +1 -0
  10. package/dist/guardrails.d.ts +35 -0
  11. package/dist/guardrails.d.ts.map +1 -0
  12. package/dist/guardrails.js +303 -0
  13. package/dist/guardrails.js.map +1 -0
  14. package/dist/index.js +1 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/logger.d.ts +36 -0
  17. package/dist/logger.d.ts.map +1 -0
  18. package/dist/logger.js +63 -0
  19. package/dist/logger.js.map +1 -0
  20. package/dist/metrics.d.ts +40 -0
  21. package/dist/metrics.d.ts.map +1 -0
  22. package/dist/metrics.js +97 -0
  23. package/dist/metrics.js.map +1 -0
  24. package/dist/profiles.d.ts +1 -1
  25. package/dist/profiles.d.ts.map +1 -1
  26. package/dist/profiles.js +239 -108
  27. package/dist/profiles.js.map +1 -1
  28. package/dist/prompts.js +1 -1
  29. package/dist/prompts.js.map +1 -1
  30. package/dist/tools/definitions.d.ts +104 -0
  31. package/dist/tools/definitions.d.ts.map +1 -0
  32. package/dist/tools/definitions.js +171 -0
  33. package/dist/tools/definitions.js.map +1 -0
  34. package/dist/tools/handlers/get-context.d.ts +12 -0
  35. package/dist/tools/handlers/get-context.d.ts.map +1 -0
  36. package/dist/tools/handlers/get-context.js +118 -0
  37. package/dist/tools/handlers/get-context.js.map +1 -0
  38. package/dist/tools/handlers/health.d.ts +11 -0
  39. package/dist/tools/handlers/health.d.ts.map +1 -0
  40. package/dist/tools/handlers/health.js +57 -0
  41. package/dist/tools/handlers/health.js.map +1 -0
  42. package/dist/tools/handlers/index.d.ts +11 -0
  43. package/dist/tools/handlers/index.d.ts.map +1 -0
  44. package/dist/tools/handlers/index.js +11 -0
  45. package/dist/tools/handlers/index.js.map +1 -0
  46. package/dist/tools/handlers/init.d.ts +12 -0
  47. package/dist/tools/handlers/init.d.ts.map +1 -0
  48. package/dist/tools/handlers/init.js +102 -0
  49. package/dist/tools/handlers/init.js.map +1 -0
  50. package/dist/tools/handlers/profiles.d.ts +11 -0
  51. package/dist/tools/handlers/profiles.d.ts.map +1 -0
  52. package/dist/tools/handlers/profiles.js +25 -0
  53. package/dist/tools/handlers/profiles.js.map +1 -0
  54. package/dist/tools/handlers/search.d.ts +12 -0
  55. package/dist/tools/handlers/search.d.ts.map +1 -0
  56. package/dist/tools/handlers/search.js +58 -0
  57. package/dist/tools/handlers/search.js.map +1 -0
  58. package/dist/tools/handlers/validate.d.ts +12 -0
  59. package/dist/tools/handlers/validate.d.ts.map +1 -0
  60. package/dist/tools/handlers/validate.js +76 -0
  61. package/dist/tools/handlers/validate.js.map +1 -0
  62. package/dist/tools/index.d.ts +22 -0
  63. package/dist/tools/index.d.ts.map +1 -0
  64. package/dist/tools/index.js +72 -0
  65. package/dist/tools/index.js.map +1 -0
  66. package/dist/tools/schemas.d.ts +29 -0
  67. package/dist/tools/schemas.d.ts.map +1 -0
  68. package/dist/tools/schemas.js +20 -0
  69. package/dist/tools/schemas.js.map +1 -0
  70. package/dist/tools.js +2 -2
  71. package/dist/tools.js.map +1 -1
  72. package/dist/types.d.ts +141 -71
  73. package/dist/types.d.ts.map +1 -1
  74. package/dist/types.js +92 -40
  75. package/dist/types.js.map +1 -1
  76. package/package.json +2 -2
  77. package/profiles/examples/microservice-kafka.yaml +122 -0
  78. package/profiles/examples/startup-fast.yaml +67 -0
  79. package/profiles/examples/strict-enterprise.yaml +62 -0
  80. package/profiles/templates/angular.yaml +614 -0
  81. package/profiles/templates/csharp-dotnet.yaml +529 -0
  82. package/profiles/templates/flutter.yaml +547 -0
  83. package/profiles/templates/go.yaml +1276 -0
  84. package/profiles/templates/java-spring-backend.yaml +326 -0
  85. package/profiles/templates/kotlin-spring.yaml +417 -0
  86. package/profiles/templates/nextjs.yaml +536 -0
  87. package/profiles/templates/nodejs.yaml +594 -0
  88. package/profiles/templates/python.yaml +546 -0
  89. package/profiles/templates/react.yaml +456 -0
  90. package/profiles/templates/rust.yaml +508 -0
  91. package/profiles/templates/vue.yaml +483 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/tools/handlers/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Handler for the profiles tool.
3
+ * Lists all available coding standards profiles.
4
+ */
5
+ export declare function handleProfiles(): Promise<{
6
+ content: Array<{
7
+ type: 'text';
8
+ text: string;
9
+ }>;
10
+ }>;
11
+ //# sourceMappingURL=profiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/profiles.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAsBlG"}
@@ -0,0 +1,25 @@
1
+ import { config } from '../../config.js';
2
+ import { listProfiles } from '../../profiles.js';
3
+ /**
4
+ * Handler for the profiles tool.
5
+ * Lists all available coding standards profiles.
6
+ */
7
+ export async function handleProfiles() {
8
+ const profiles = await listProfiles();
9
+ if (profiles.length === 0) {
10
+ return {
11
+ content: [{ type: 'text', text: 'No profiles found. Run `corbat-init` to create one.' }],
12
+ };
13
+ }
14
+ const lines = ['# Available Profiles', ''];
15
+ for (const { id, profile } of profiles) {
16
+ const isDefault = id === config.defaultProfile ? ' (default)' : '';
17
+ lines.push(`**${id}**${isDefault}`);
18
+ lines.push(`${profile.description || 'No description'}`);
19
+ lines.push('');
20
+ }
21
+ lines.push('---', '');
22
+ lines.push('Use with: `get_context` tool or specify profile in `.corbat.json`');
23
+ return { content: [{ type: 'text', text: lines.join('\n') }] };
24
+ }
25
+ //# sourceMappingURL=profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../src/tools/handlers/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;IAEtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qDAAqD,EAAE,CAAC;SACzF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAE3C,KAAK,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,EAAE,KAAK,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,SAAS,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,IAAI,gBAAgB,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IAEhF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AACjE,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Handler for the search tool.
3
+ * Searches standards documentation for specific topics.
4
+ */
5
+ export declare function handleSearch(args: Record<string, unknown>): Promise<{
6
+ content: Array<{
7
+ type: 'text';
8
+ text: string;
9
+ }>;
10
+ isError?: boolean;
11
+ }>;
12
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/search.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA2DhF"}
@@ -0,0 +1,58 @@
1
+ import { loadStandards } from '../../profiles.js';
2
+ import { SearchSchema } from '../schemas.js';
3
+ /**
4
+ * Handler for the search tool.
5
+ * Searches standards documentation for specific topics.
6
+ */
7
+ export async function handleSearch(args) {
8
+ const { query } = SearchSchema.parse(args);
9
+ if (!query.trim()) {
10
+ return {
11
+ content: [{ type: 'text', text: 'Please provide a search query.' }],
12
+ isError: true,
13
+ };
14
+ }
15
+ const standards = await loadStandards();
16
+ const queryLower = query.toLowerCase();
17
+ const results = [];
18
+ for (const standard of standards) {
19
+ const contentLower = standard.content.toLowerCase();
20
+ if (contentLower.includes(queryLower)) {
21
+ // Find the relevant section
22
+ const lines = standard.content.split('\n');
23
+ let excerpt = '';
24
+ for (let i = 0; i < lines.length; i++) {
25
+ if (lines[i].toLowerCase().includes(queryLower)) {
26
+ // Get context around match
27
+ const start = Math.max(0, i - 2);
28
+ const end = Math.min(lines.length, i + 5);
29
+ excerpt = lines.slice(start, end).join('\n');
30
+ break;
31
+ }
32
+ }
33
+ results.push({
34
+ name: standard.name,
35
+ category: standard.category,
36
+ excerpt: excerpt.slice(0, 500),
37
+ });
38
+ }
39
+ }
40
+ if (results.length === 0) {
41
+ return {
42
+ content: [
43
+ {
44
+ type: 'text',
45
+ text: `No results for "${query}".\n\nTry: testing, kafka, docker, kubernetes, logging, metrics, archunit, flyway`,
46
+ },
47
+ ],
48
+ };
49
+ }
50
+ const output = [`# Results for "${query}"`, ''];
51
+ for (const result of results.slice(0, 5)) {
52
+ output.push(`## ${result.name}`, '');
53
+ output.push(result.excerpt, '');
54
+ output.push('---', '');
55
+ }
56
+ return { content: [{ type: 'text', text: output.join('\n') }] };
57
+ }
58
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/tools/handlers/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Handler for the validate tool.
3
+ * Returns validation criteria for code against standards.
4
+ */
5
+ export declare function handleValidate(args: Record<string, unknown>): Promise<{
6
+ content: Array<{
7
+ type: 'text';
8
+ text: string;
9
+ }>;
10
+ isError?: boolean;
11
+ }>;
12
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/validate.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA2EhF"}
@@ -0,0 +1,76 @@
1
+ import { getGuardrails } from '../../agent.js';
2
+ import { config } from '../../config.js';
3
+ import { getProfile } from '../../profiles.js';
4
+ import { ValidateSchema } from '../schemas.js';
5
+ /**
6
+ * Handler for the validate tool.
7
+ * Returns validation criteria for code against standards.
8
+ */
9
+ export async function handleValidate(args) {
10
+ const { code, task_type } = ValidateSchema.parse(args);
11
+ const profileId = config.defaultProfile;
12
+ const profile = await getProfile(profileId);
13
+ if (!profile) {
14
+ return {
15
+ content: [{ type: 'text', text: `Profile not found: ${profileId}` }],
16
+ isError: true,
17
+ };
18
+ }
19
+ const guardrails = task_type ? await getGuardrails(task_type, null) : null;
20
+ const lines = [
21
+ '# Code Validation',
22
+ '',
23
+ '## Code',
24
+ '```',
25
+ code.slice(0, 2000) + (code.length > 2000 ? '\n...(truncated)' : ''),
26
+ '```',
27
+ '',
28
+ '---',
29
+ '',
30
+ '## Validation Criteria',
31
+ '',
32
+ ];
33
+ // Code quality thresholds
34
+ if (profile.codeQuality) {
35
+ lines.push('**Thresholds:**');
36
+ lines.push(`- Max method lines: ${profile.codeQuality.maxMethodLines}`);
37
+ lines.push(`- Max class lines: ${profile.codeQuality.maxClassLines}`);
38
+ lines.push(`- Max parameters: ${profile.codeQuality.maxMethodParameters}`);
39
+ lines.push(`- Min coverage: ${profile.codeQuality.minimumTestCoverage}%`);
40
+ lines.push('');
41
+ }
42
+ // Guardrails if task type specified
43
+ if (guardrails) {
44
+ lines.push(`**${task_type?.toUpperCase()} Guardrails:**`);
45
+ lines.push('');
46
+ lines.push('Must:');
47
+ for (const rule of guardrails.mandatory.slice(0, 4)) {
48
+ lines.push(`- ${rule}`);
49
+ }
50
+ lines.push('');
51
+ lines.push('Avoid:');
52
+ for (const rule of guardrails.avoid.slice(0, 3)) {
53
+ lines.push(`- ${rule}`);
54
+ }
55
+ lines.push('');
56
+ }
57
+ // Naming conventions
58
+ if (profile.naming) {
59
+ lines.push('**Naming:**');
60
+ const naming = profile.naming;
61
+ if (naming.general && typeof naming.general === 'object') {
62
+ for (const [key, value] of Object.entries(naming.general)) {
63
+ lines.push(`- ${key}: ${value}`);
64
+ }
65
+ }
66
+ lines.push('');
67
+ }
68
+ lines.push('---', '');
69
+ lines.push('## Review Checklist', '');
70
+ lines.push('Analyze the code and report:', '');
71
+ lines.push('1. **CRITICAL** - Must fix (bugs, security, violations)');
72
+ lines.push('2. **WARNINGS** - Should fix (style, best practices)');
73
+ lines.push('3. **Score** - Compliance 0-100 with justification');
74
+ return { content: [{ type: 'text', text: lines.join('\n') }] };
75
+ }
76
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/tools/handlers/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Tools module index.
3
+ *
4
+ * This module provides:
5
+ * - Tool definitions (name, description, inputSchema)
6
+ * - Tool handlers (business logic)
7
+ * - handleToolCall dispatcher
8
+ */
9
+ export type { ToolName } from './definitions.js';
10
+ export { tools } from './definitions.js';
11
+ export * from './schemas.js';
12
+ /**
13
+ * Handle tool calls by dispatching to the appropriate handler.
14
+ */
15
+ export declare function handleToolCall(name: string, args: Record<string, unknown>): Promise<{
16
+ content: Array<{
17
+ type: 'text';
18
+ text: string;
19
+ }>;
20
+ isError?: boolean;
21
+ }>;
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,cAAc,cAAc,CAAC;AAE7B;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA0DhF"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Tools module index.
3
+ *
4
+ * This module provides:
5
+ * - Tool definitions (name, description, inputSchema)
6
+ * - Tool handlers (business logic)
7
+ * - handleToolCall dispatcher
8
+ */
9
+ import { logger } from '../logger.js';
10
+ import { recordError, recordToolCall } from '../metrics.js';
11
+ import { handleGetContext, handleHealth, handleInit, handleProfiles, handleSearch, handleValidate, } from './handlers/index.js';
12
+ // Re-export definitions and schemas
13
+ export { tools } from './definitions.js';
14
+ export * from './schemas.js';
15
+ /**
16
+ * Handle tool calls by dispatching to the appropriate handler.
17
+ */
18
+ export async function handleToolCall(name, args) {
19
+ const toolName = name;
20
+ // Record metrics
21
+ recordToolCall(name);
22
+ logger.debug('Tool call received', { tool: name, args });
23
+ try {
24
+ let result;
25
+ switch (toolName) {
26
+ case 'get_context':
27
+ result = await handleGetContext(args);
28
+ break;
29
+ case 'validate':
30
+ result = await handleValidate(args);
31
+ break;
32
+ case 'search':
33
+ result = await handleSearch(args);
34
+ break;
35
+ case 'profiles':
36
+ result = await handleProfiles();
37
+ break;
38
+ case 'health':
39
+ result = await handleHealth();
40
+ break;
41
+ case 'init':
42
+ result = await handleInit(args);
43
+ break;
44
+ default:
45
+ recordError();
46
+ return {
47
+ content: [
48
+ {
49
+ type: 'text',
50
+ text: `Unknown tool: ${name}. Available: get_context, validate, search, profiles, health, init`,
51
+ },
52
+ ],
53
+ isError: true,
54
+ };
55
+ }
56
+ if (result.isError) {
57
+ recordError();
58
+ logger.warn('Tool returned error', { tool: name });
59
+ }
60
+ return result;
61
+ }
62
+ catch (error) {
63
+ recordError();
64
+ const message = error instanceof Error ? error.message : String(error);
65
+ logger.error('Tool call failed', { tool: name, error: message });
66
+ return {
67
+ content: [{ type: 'text', text: `Error: ${message}` }],
68
+ isError: true,
69
+ };
70
+ }
71
+ }
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,cAAc,GACf,MAAM,qBAAqB,CAAC;AAG7B,oCAAoC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,cAAc,cAAc,CAAC;AAE7B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,IAA6B;IAE7B,MAAM,QAAQ,GAAG,IAAgB,CAAC;IAElC,iBAAiB;IACjB,cAAc,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,IAAI,MAA6E,CAAC;QAElF,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,aAAa;gBAChB,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;gBAChC,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;gBAC9B,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM;YACR;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,iBAAiB,IAAI,oEAAoE;yBAChG;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;QACN,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,WAAW,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAEjE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;YACtD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schemas for tool input validation.
4
+ * Centralized schemas used by handlers.
5
+ */
6
+ export declare const GetContextSchema: z.ZodObject<{
7
+ task: z.ZodString;
8
+ project_dir: z.ZodOptional<z.ZodString>;
9
+ }, z.core.$strip>;
10
+ export declare const ValidateSchema: z.ZodObject<{
11
+ code: z.ZodString;
12
+ task_type: z.ZodOptional<z.ZodEnum<{
13
+ feature: "feature";
14
+ bugfix: "bugfix";
15
+ refactor: "refactor";
16
+ test: "test";
17
+ }>>;
18
+ }, z.core.$strip>;
19
+ export declare const SearchSchema: z.ZodObject<{
20
+ query: z.ZodString;
21
+ }, z.core.$strip>;
22
+ export declare const InitSchema: z.ZodObject<{
23
+ project_dir: z.ZodString;
24
+ }, z.core.$strip>;
25
+ export type GetContextInput = z.infer<typeof GetContextSchema>;
26
+ export type ValidateInput = z.infer<typeof ValidateSchema>;
27
+ export type SearchInput = z.infer<typeof SearchSchema>;
28
+ export type InitInput = z.infer<typeof InitSchema>;
29
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AAEH,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;iBAGzB,CAAC;AAEH,eAAO,MAAM,YAAY;;iBAEvB,CAAC;AAEH,eAAO,MAAM,UAAU;;iBAErB,CAAC;AAGH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACvD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schemas for tool input validation.
4
+ * Centralized schemas used by handlers.
5
+ */
6
+ export const GetContextSchema = z.object({
7
+ task: z.string().min(1, 'Task description is required'),
8
+ project_dir: z.string().optional(),
9
+ });
10
+ export const ValidateSchema = z.object({
11
+ code: z.string().min(1, 'Code is required'),
12
+ task_type: z.enum(['feature', 'bugfix', 'refactor', 'test']).optional(),
13
+ });
14
+ export const SearchSchema = z.object({
15
+ query: z.string().min(1, 'Search query is required'),
16
+ });
17
+ export const InitSchema = z.object({
18
+ project_dir: z.string().min(1, 'Project directory is required'),
19
+ });
20
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,8BAA8B,CAAC;IACvD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;CACxE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC;CAChE,CAAC,CAAC"}
package/dist/tools.js CHANGED
@@ -151,7 +151,7 @@ async function handleGetContext(args) {
151
151
  };
152
152
  }
153
153
  // Get guardrails and rules
154
- const guardrails = getGuardrails(taskType, projectConfig);
154
+ const guardrails = await getGuardrails(taskType, projectConfig);
155
155
  const projectRules = getProjectRules(taskType, projectConfig);
156
156
  // Build concise, scannable output
157
157
  const lines = [`# Context for: ${task}`, '', '---', ''];
@@ -246,7 +246,7 @@ async function handleValidate(args) {
246
246
  isError: true,
247
247
  };
248
248
  }
249
- const guardrails = task_type ? getGuardrails(task_type, null) : null;
249
+ const guardrails = task_type ? await getGuardrails(task_type, null) : null;
250
250
  const lines = [
251
251
  '# Code Validation',
252
252
  '',
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}