mcp-ai-agent-guidelines 0.7.2 → 0.7.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.
Files changed (186) hide show
  1. package/README.md +201 -6
  2. package/dist/index.js +290 -5
  3. package/dist/index.js.map +1 -1
  4. package/dist/resources/structured.d.ts.map +1 -1
  5. package/dist/resources/structured.js +410 -0
  6. package/dist/resources/structured.js.map +1 -1
  7. package/dist/schemas/flow-tool-schemas.d.ts +167 -0
  8. package/dist/schemas/flow-tool-schemas.d.ts.map +1 -0
  9. package/dist/schemas/flow-tool-schemas.js +149 -0
  10. package/dist/schemas/flow-tool-schemas.js.map +1 -0
  11. package/dist/tools/bridge/index.d.ts +83 -0
  12. package/dist/tools/bridge/index.d.ts.map +1 -0
  13. package/dist/tools/bridge/index.js +85 -0
  14. package/dist/tools/bridge/index.js.map +1 -0
  15. package/dist/tools/bridge/project-onboarding-bridge.d.ts +54 -0
  16. package/dist/tools/bridge/project-onboarding-bridge.d.ts.map +1 -0
  17. package/dist/tools/bridge/project-onboarding-bridge.js +220 -0
  18. package/dist/tools/bridge/project-onboarding-bridge.js.map +1 -0
  19. package/dist/tools/bridge/semantic-analyzer-bridge.d.ts +47 -0
  20. package/dist/tools/bridge/semantic-analyzer-bridge.d.ts.map +1 -0
  21. package/dist/tools/bridge/semantic-analyzer-bridge.js +174 -0
  22. package/dist/tools/bridge/semantic-analyzer-bridge.js.map +1 -0
  23. package/dist/tools/code-hygiene-analyzer.js +57 -8
  24. package/dist/tools/code-hygiene-analyzer.js.map +1 -1
  25. package/dist/tools/config/guidelines-config.d.ts +2 -14
  26. package/dist/tools/config/guidelines-config.d.ts.map +1 -1
  27. package/dist/tools/config/guidelines-config.js +45 -6
  28. package/dist/tools/config/guidelines-config.js.map +1 -1
  29. package/dist/tools/config/model-config.d.ts +2 -23
  30. package/dist/tools/config/model-config.d.ts.map +1 -1
  31. package/dist/tools/config/model-config.js.map +1 -1
  32. package/dist/tools/config/types/guidelines.types.d.ts +15 -0
  33. package/dist/tools/config/types/guidelines.types.d.ts.map +1 -0
  34. package/dist/tools/config/types/guidelines.types.js +3 -0
  35. package/dist/tools/config/types/guidelines.types.js.map +1 -0
  36. package/dist/tools/config/types/index.d.ts +3 -0
  37. package/dist/tools/config/types/index.d.ts.map +1 -0
  38. package/dist/tools/config/types/index.js +3 -0
  39. package/dist/tools/config/types/index.js.map +1 -0
  40. package/dist/tools/config/types/model.types.d.ts +24 -0
  41. package/dist/tools/config/types/model.types.d.ts.map +1 -0
  42. package/dist/tools/config/types/model.types.js +3 -0
  43. package/dist/tools/config/types/model.types.js.map +1 -0
  44. package/dist/tools/design/adr-generator.d.ts +1 -1
  45. package/dist/tools/design/adr-generator.d.ts.map +1 -1
  46. package/dist/tools/design/adr-generator.js.map +1 -1
  47. package/dist/tools/design/confirmation-module.d.ts +1 -1
  48. package/dist/tools/design/confirmation-module.d.ts.map +1 -1
  49. package/dist/tools/design/confirmation-prompt-builder.d.ts +1 -1
  50. package/dist/tools/design/confirmation-prompt-builder.d.ts.map +1 -1
  51. package/dist/tools/design/confirmation-prompt-builder.js.map +1 -1
  52. package/dist/tools/design/constraint-consistency-enforcer.d.ts +1 -1
  53. package/dist/tools/design/constraint-consistency-enforcer.d.ts.map +1 -1
  54. package/dist/tools/design/constraint-consistency-enforcer.js.map +1 -1
  55. package/dist/tools/design/constraint-manager.d.ts +14 -14
  56. package/dist/tools/design/constraint-manager.d.ts.map +1 -1
  57. package/dist/tools/design/coverage-enforcer.d.ts +1 -1
  58. package/dist/tools/design/coverage-enforcer.d.ts.map +1 -1
  59. package/dist/tools/design/cross-session-consistency-enforcer.d.ts +1 -1
  60. package/dist/tools/design/cross-session-consistency-enforcer.d.ts.map +1 -1
  61. package/dist/tools/design/design-assistant.d.ts +1 -1
  62. package/dist/tools/design/design-assistant.d.ts.map +1 -1
  63. package/dist/tools/design/design-assistant.js +22 -9
  64. package/dist/tools/design/design-assistant.js.map +1 -1
  65. package/dist/tools/design/design-phase-workflow.d.ts +1 -1
  66. package/dist/tools/design/design-phase-workflow.d.ts.map +1 -1
  67. package/dist/tools/design/index.d.ts +1 -1
  68. package/dist/tools/design/index.d.ts.map +1 -1
  69. package/dist/tools/design/methodology-selector.d.ts +1 -1
  70. package/dist/tools/design/methodology-selector.d.ts.map +1 -1
  71. package/dist/tools/design/pivot-module.d.ts +1 -1
  72. package/dist/tools/design/pivot-module.d.ts.map +1 -1
  73. package/dist/tools/design/roadmap-generator.d.ts +1 -1
  74. package/dist/tools/design/roadmap-generator.d.ts.map +1 -1
  75. package/dist/tools/design/roadmap-generator.js.map +1 -1
  76. package/dist/tools/design/spec-generator.d.ts +1 -1
  77. package/dist/tools/design/spec-generator.d.ts.map +1 -1
  78. package/dist/tools/design/spec-generator.js.map +1 -1
  79. package/dist/tools/design/strategic-pivot-prompt-builder.d.ts +1 -1
  80. package/dist/tools/design/strategic-pivot-prompt-builder.d.ts.map +1 -1
  81. package/dist/tools/design/types/artifact.types.d.ts +16 -0
  82. package/dist/tools/design/types/artifact.types.d.ts.map +1 -0
  83. package/dist/tools/design/types/artifact.types.js +3 -0
  84. package/dist/tools/design/types/artifact.types.js.map +1 -0
  85. package/dist/tools/design/types/common.types.d.ts +8 -0
  86. package/dist/tools/design/types/common.types.d.ts.map +1 -0
  87. package/dist/tools/design/types/common.types.js +3 -0
  88. package/dist/tools/design/types/common.types.js.map +1 -0
  89. package/dist/tools/design/types/consistency.types.d.ts +130 -0
  90. package/dist/tools/design/types/consistency.types.d.ts.map +1 -0
  91. package/dist/tools/design/types/consistency.types.js +3 -0
  92. package/dist/tools/design/types/consistency.types.js.map +1 -0
  93. package/dist/tools/design/types/constraint.types.d.ts +53 -0
  94. package/dist/tools/design/types/constraint.types.d.ts.map +1 -0
  95. package/dist/tools/design/types/constraint.types.js +3 -0
  96. package/dist/tools/design/types/constraint.types.js.map +1 -0
  97. package/dist/tools/design/types/coverage.types.d.ts +58 -0
  98. package/dist/tools/design/types/coverage.types.d.ts.map +1 -0
  99. package/dist/tools/design/types/coverage.types.js +3 -0
  100. package/dist/tools/design/types/coverage.types.js.map +1 -0
  101. package/dist/tools/design/types/index.d.ts +9 -0
  102. package/dist/tools/design/types/index.d.ts.map +1 -0
  103. package/dist/tools/design/types/index.js +4 -0
  104. package/dist/tools/design/types/index.js.map +1 -0
  105. package/dist/tools/design/types/methodology.types.d.ts +53 -0
  106. package/dist/tools/design/types/methodology.types.d.ts.map +1 -0
  107. package/dist/tools/design/types/methodology.types.js +3 -0
  108. package/dist/tools/design/types/methodology.types.js.map +1 -0
  109. package/dist/tools/design/types/pivot.types.d.ts +56 -0
  110. package/dist/tools/design/types/pivot.types.d.ts.map +1 -0
  111. package/dist/tools/design/types/pivot.types.js +3 -0
  112. package/dist/tools/design/types/pivot.types.js.map +1 -0
  113. package/dist/tools/design/types/session.types.d.ts +50 -0
  114. package/dist/tools/design/types/session.types.d.ts.map +1 -0
  115. package/dist/tools/design/types/session.types.js +3 -0
  116. package/dist/tools/design/types/session.types.js.map +1 -0
  117. package/dist/tools/design/types.d.ts +18 -401
  118. package/dist/tools/design/types.d.ts.map +1 -1
  119. package/dist/tools/design/types.js +17 -1
  120. package/dist/tools/design/types.js.map +1 -1
  121. package/dist/tools/guidelines-validator.js +3 -3
  122. package/dist/tools/mermaid-diagram-generator.d.ts.map +1 -1
  123. package/dist/tools/mermaid-diagram-generator.js +712 -58
  124. package/dist/tools/mermaid-diagram-generator.js.map +1 -1
  125. package/dist/tools/mode-switcher.d.ts +21 -0
  126. package/dist/tools/mode-switcher.d.ts.map +1 -0
  127. package/dist/tools/mode-switcher.js +383 -0
  128. package/dist/tools/mode-switcher.js.map +1 -0
  129. package/dist/tools/project-onboarding.d.ts +7 -0
  130. package/dist/tools/project-onboarding.d.ts.map +1 -0
  131. package/dist/tools/project-onboarding.js +344 -0
  132. package/dist/tools/project-onboarding.js.map +1 -0
  133. package/dist/tools/prompt/domain-neutral-prompt-builder.d.ts +8 -8
  134. package/dist/tools/prompt/hierarchical-prompt-builder.d.ts +6 -6
  135. package/dist/tools/prompt/hierarchy-level-selector.d.ts +7 -0
  136. package/dist/tools/prompt/hierarchy-level-selector.d.ts.map +1 -0
  137. package/dist/tools/prompt/hierarchy-level-selector.js +256 -0
  138. package/dist/tools/prompt/hierarchy-level-selector.js.map +1 -0
  139. package/dist/tools/prompt/prompt-chaining-builder.d.ts +29 -0
  140. package/dist/tools/prompt/prompt-chaining-builder.d.ts.map +1 -0
  141. package/dist/tools/prompt/prompt-chaining-builder.js +212 -0
  142. package/dist/tools/prompt/prompt-chaining-builder.js.map +1 -0
  143. package/dist/tools/prompt/prompt-flow-builder.d.ts +24 -0
  144. package/dist/tools/prompt/prompt-flow-builder.d.ts.map +1 -0
  145. package/dist/tools/prompt/prompt-flow-builder.js +422 -0
  146. package/dist/tools/prompt/prompt-flow-builder.js.map +1 -0
  147. package/dist/tools/prompt/prompting-hierarchy-evaluator.d.ts +13 -0
  148. package/dist/tools/prompt/prompting-hierarchy-evaluator.d.ts.map +1 -0
  149. package/dist/tools/prompt/prompting-hierarchy-evaluator.js +372 -0
  150. package/dist/tools/prompt/prompting-hierarchy-evaluator.js.map +1 -0
  151. package/dist/tools/prompt/spark-prompt-builder.d.ts +14 -14
  152. package/dist/tools/prompt/types/hierarchy.types.d.ts +42 -0
  153. package/dist/tools/prompt/types/hierarchy.types.d.ts.map +1 -0
  154. package/dist/tools/prompt/types/hierarchy.types.js +23 -0
  155. package/dist/tools/prompt/types/hierarchy.types.js.map +1 -0
  156. package/dist/tools/prompt/types/index.d.ts +2 -0
  157. package/dist/tools/prompt/types/index.d.ts.map +1 -0
  158. package/dist/tools/prompt/types/index.js +3 -0
  159. package/dist/tools/prompt/types/index.js.map +1 -0
  160. package/dist/tools/semantic-code-analyzer.d.ts +7 -0
  161. package/dist/tools/semantic-code-analyzer.d.ts.map +1 -0
  162. package/dist/tools/semantic-code-analyzer.js +380 -0
  163. package/dist/tools/semantic-code-analyzer.js.map +1 -0
  164. package/dist/tools/shared/prompt-sections.d.ts +3 -7
  165. package/dist/tools/shared/prompt-sections.d.ts.map +1 -1
  166. package/dist/tools/shared/prompt-sections.js +2 -26
  167. package/dist/tools/shared/prompt-sections.js.map +1 -1
  168. package/dist/tools/shared/prompt-utils.d.ts +2 -6
  169. package/dist/tools/shared/prompt-utils.d.ts.map +1 -1
  170. package/dist/tools/shared/prompt-utils.js.map +1 -1
  171. package/dist/tools/shared/types/index.d.ts +3 -0
  172. package/dist/tools/shared/types/index.d.ts.map +1 -0
  173. package/dist/tools/shared/types/index.js +3 -0
  174. package/dist/tools/shared/types/index.js.map +1 -0
  175. package/dist/tools/shared/types/prompt-sections.types.d.ts +8 -0
  176. package/dist/tools/shared/types/prompt-sections.types.d.ts.map +1 -0
  177. package/dist/tools/shared/types/prompt-sections.types.js +28 -0
  178. package/dist/tools/shared/types/prompt-sections.types.js.map +1 -0
  179. package/dist/tools/shared/types/prompt-utils.types.d.ts +7 -0
  180. package/dist/tools/shared/types/prompt-utils.types.d.ts.map +1 -0
  181. package/dist/tools/shared/types/prompt-utils.types.js +3 -0
  182. package/dist/tools/shared/types/prompt-utils.types.js.map +1 -0
  183. package/dist/tools/sprint-timeline-calculator.d.ts.map +1 -1
  184. package/dist/tools/sprint-timeline-calculator.js +129 -28
  185. package/dist/tools/sprint-timeline-calculator.js.map +1 -1
  186. package/package.json +3 -1
@@ -0,0 +1,220 @@
1
+ /**
2
+ * Bridge Connector for Project Onboarding
3
+ *
4
+ * Provides integration points between project onboarding and other tools
5
+ * Enables onboarding data to enhance all other tools with project context
6
+ */
7
+ /**
8
+ * Integration helpers for project onboarding with other tools
9
+ */
10
+ /**
11
+ * Extract project context from onboarding results
12
+ */
13
+ export function extractProjectContext(onboardingResult) {
14
+ const context = {
15
+ name: "",
16
+ type: "other",
17
+ languages: [],
18
+ frameworks: [],
19
+ buildSystem: "",
20
+ testFramework: "",
21
+ structure: {
22
+ directories: [],
23
+ keyFiles: [],
24
+ entryPoints: [],
25
+ },
26
+ };
27
+ // Extract name
28
+ const nameMatch = onboardingResult.match(/\| Name \| ([^|]+) \|/);
29
+ if (nameMatch)
30
+ context.name = nameMatch[1].trim();
31
+ // Extract type
32
+ const typeMatch = onboardingResult.match(/\| Type \| ([^|]+) \|/);
33
+ if (typeMatch)
34
+ context.type = typeMatch[1].trim();
35
+ // Extract languages
36
+ const langMatch = onboardingResult.match(/\| Languages \| ([^|]+) \|/);
37
+ if (langMatch) {
38
+ context.languages = langMatch[1].split(",").map((l) => l.trim());
39
+ }
40
+ // Extract frameworks
41
+ const fwMatch = onboardingResult.match(/\| Frameworks \| ([^|]+) \|/);
42
+ if (fwMatch) {
43
+ context.frameworks = fwMatch[1].split(",").map((f) => f.trim());
44
+ }
45
+ // Extract build system
46
+ const buildMatch = onboardingResult.match(/\| Build System \| ([^|]+) \|/);
47
+ if (buildMatch)
48
+ context.buildSystem = buildMatch[1].trim();
49
+ // Extract test framework
50
+ const testMatch = onboardingResult.match(/\| Test Framework \| ([^|]+) \|/);
51
+ if (testMatch)
52
+ context.testFramework = testMatch[1].trim();
53
+ // Extract directories
54
+ const dirSection = onboardingResult.match(/\*\*Key Directories:\*\*\n([^*]+)/);
55
+ if (dirSection) {
56
+ context.structure.directories = dirSection[1]
57
+ .split("\n")
58
+ .map((l) => l.replace(/^-\s*`?([^`\n]+)`?/, "$1").trim())
59
+ .filter(Boolean);
60
+ }
61
+ // Extract key files
62
+ const filesSection = onboardingResult.match(/\*\*Key Files:\*\*\n([^*]+)/);
63
+ if (filesSection) {
64
+ context.structure.keyFiles = filesSection[1]
65
+ .split("\n")
66
+ .map((l) => l.replace(/^-\s*`?([^`\n]+)`?/, "$1").trim())
67
+ .filter(Boolean);
68
+ }
69
+ // Extract entry points
70
+ const entrySection = onboardingResult.match(/\*\*Entry Points:\*\*\n([^#]+)/);
71
+ if (entrySection) {
72
+ context.structure.entryPoints = entrySection[1]
73
+ .split("\n")
74
+ .map((l) => l.replace(/^-\s*`?([^`\n]+)`?/, "$1").trim())
75
+ .filter(Boolean);
76
+ }
77
+ return context;
78
+ }
79
+ /**
80
+ * Enhance any tool with project context
81
+ */
82
+ export function enhanceToolWithProjectContext(toolInput, projectContext) {
83
+ if (typeof toolInput === "object" && toolInput !== null) {
84
+ return {
85
+ ...toolInput,
86
+ projectContext: {
87
+ name: projectContext.name,
88
+ type: projectContext.type,
89
+ languages: projectContext.languages,
90
+ buildSystem: projectContext.buildSystem,
91
+ },
92
+ };
93
+ }
94
+ return toolInput;
95
+ }
96
+ /**
97
+ * Generate hierarchical prompt with project context
98
+ */
99
+ export function generateContextualPrompt(projectContext, taskDescription) {
100
+ return `# Task: ${taskDescription}
101
+
102
+ ## Project Context
103
+ - **Name**: ${projectContext.name}
104
+ - **Type**: ${projectContext.type}
105
+ - **Languages**: ${projectContext.languages.join(", ")}
106
+ - **Build System**: ${projectContext.buildSystem}
107
+ - **Test Framework**: ${projectContext.testFramework}
108
+
109
+ ## Project Structure
110
+ ### Entry Points
111
+ ${projectContext.structure.entryPoints.map((ep) => `- ${ep}`).join("\n")}
112
+
113
+ ### Key Directories
114
+ ${projectContext.structure.directories
115
+ .slice(0, 5)
116
+ .map((d) => `- ${d}`)
117
+ .join("\n")}
118
+
119
+ ### Key Files
120
+ ${projectContext.structure.keyFiles
121
+ .slice(0, 5)
122
+ .map((f) => `- ${f}`)
123
+ .join("\n")}
124
+
125
+ ## Task Requirements
126
+ Consider the project structure and conventions when completing this task.`;
127
+ }
128
+ /**
129
+ * Generate code hygiene analysis with project-specific rules
130
+ */
131
+ export function generateProjectSpecificHygieneRules(projectContext) {
132
+ const rules = [];
133
+ // Language-specific rules
134
+ if (projectContext.languages.includes("TypeScript/JavaScript")) {
135
+ rules.push("Check for proper TypeScript type annotations");
136
+ rules.push("Ensure ESLint/Biome rules are followed");
137
+ }
138
+ if (projectContext.languages.includes("Python")) {
139
+ rules.push("Verify type hints are present");
140
+ rules.push("Check for PEP 8 compliance");
141
+ }
142
+ if (projectContext.languages.includes("Rust")) {
143
+ rules.push("Run clippy for Rust-specific lints");
144
+ rules.push("Check for proper ownership and borrowing patterns");
145
+ }
146
+ // Build system specific
147
+ if (projectContext.buildSystem.includes("npm")) {
148
+ rules.push("Verify package.json scripts are documented");
149
+ rules.push("Check for security vulnerabilities with npm audit");
150
+ }
151
+ // Test framework specific
152
+ if (projectContext.testFramework) {
153
+ rules.push(`Ensure tests follow ${projectContext.testFramework} best practices`);
154
+ rules.push("Verify test coverage meets project standards");
155
+ }
156
+ return rules;
157
+ }
158
+ /**
159
+ * Generate strategy analysis with project context
160
+ */
161
+ export function generateStrategyWithProjectContext(projectContext) {
162
+ const swot = {
163
+ strengths: [],
164
+ weaknesses: [],
165
+ opportunities: [],
166
+ threats: [],
167
+ };
168
+ // Strengths based on project type
169
+ if (projectContext.type === "library") {
170
+ swot.strengths.push("Reusable component architecture");
171
+ }
172
+ if (projectContext.languages.length > 1) {
173
+ swot.strengths.push("Multi-language support and versatility");
174
+ }
175
+ // Weaknesses
176
+ if (!projectContext.testFramework ||
177
+ projectContext.testFramework.includes("check")) {
178
+ swot.weaknesses.push("Testing infrastructure may need improvement");
179
+ }
180
+ // Opportunities
181
+ if (projectContext.buildSystem.includes("npm")) {
182
+ swot.opportunities.push("Leverage npm ecosystem for rapid development");
183
+ }
184
+ // Threats
185
+ if (projectContext.languages.includes("JavaScript")) {
186
+ swot.threats.push("Rapid JavaScript ecosystem evolution requires regular updates");
187
+ }
188
+ const recommendations = [
189
+ `Focus on ${projectContext.type} best practices`,
190
+ `Leverage ${projectContext.buildSystem} for efficient builds`,
191
+ `Maintain consistency across ${projectContext.languages.join(", ")} codebases`,
192
+ ];
193
+ return { swot, recommendations };
194
+ }
195
+ /**
196
+ * Create mode-specific project guidance
197
+ */
198
+ export function generateModeGuidance(projectContext, mode) {
199
+ const guidance = [];
200
+ switch (mode) {
201
+ case "planning":
202
+ guidance.push(`Plan changes considering ${projectContext.type} architecture`);
203
+ guidance.push(`Review project structure: ${projectContext.structure.directories.slice(0, 3).join(", ")}`);
204
+ break;
205
+ case "editing":
206
+ guidance.push(`Edit files in ${projectContext.languages.join(" or ")} following project conventions`);
207
+ guidance.push(`Entry points: ${projectContext.structure.entryPoints.slice(0, 2).join(", ")}`);
208
+ break;
209
+ case "debugging":
210
+ guidance.push(`Check ${projectContext.testFramework} test outputs`);
211
+ guidance.push(`Use ${projectContext.buildSystem} for rebuilding`);
212
+ break;
213
+ case "refactoring":
214
+ guidance.push(`Maintain ${projectContext.type} structure during refactoring`);
215
+ guidance.push(`Preserve ${projectContext.languages.join(", ")} idioms`);
216
+ break;
217
+ }
218
+ return guidance.join("\n");
219
+ }
220
+ //# sourceMappingURL=project-onboarding-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-onboarding-bridge.js","sourceRoot":"","sources":["../../../src/tools/bridge/project-onboarding-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Bridge Connector for Semantic Code Analyzer
3
+ *
4
+ * Provides integration points between semantic code analyzer and other tools
5
+ * Enables semantic analysis to enhance prompts, strategies, and other tools
6
+ */
7
+ /**
8
+ * Integration helpers for semantic code analyzer with other tools
9
+ */
10
+ /**
11
+ * Enhance hierarchical prompts with semantic insights
12
+ */
13
+ export declare function enhancePromptWithSemantics(semanticAnalysis: string, promptContext: string): string;
14
+ /**
15
+ * Generate code hygiene recommendations based on semantic analysis
16
+ */
17
+ export declare function generateHygieneRecommendations(semanticAnalysis: string): string[];
18
+ /**
19
+ * Extract semantic insights from analysis text
20
+ */
21
+ export declare function extractSemanticInsights(analysisText: string): {
22
+ structure: string;
23
+ patterns: string[];
24
+ dependencies: string[];
25
+ symbols: string[];
26
+ };
27
+ /**
28
+ * Create refactoring suggestions based on semantic analysis
29
+ */
30
+ export declare function suggestRefactorings(semanticAnalysis: string): {
31
+ priority: "high" | "medium" | "low";
32
+ suggestion: string;
33
+ reason: string;
34
+ }[];
35
+ /**
36
+ * Generate security analysis prompt based on semantic insights
37
+ */
38
+ export declare function generateSecurityAnalysisPrompt(semanticAnalysis: string): string;
39
+ /**
40
+ * Integration point for strategy frameworks
41
+ */
42
+ export declare function integrateWithStrategyFrameworks(semanticAnalysis: string, _projectContext: string): {
43
+ technicalDebt: string[];
44
+ architectureInsights: string[];
45
+ recommendations: string[];
46
+ };
47
+ //# sourceMappingURL=semantic-analyzer-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-analyzer-bridge.d.ts","sourceRoot":"","sources":["../../../src/tools/bridge/semantic-analyzer-bridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AAEH;;GAEG;AACH,wBAAgB,0BAA0B,CACzC,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,GACnB,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC7C,gBAAgB,EAAE,MAAM,GACtB,MAAM,EAAE,CAsBV;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,CAoDA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG;IAC9D,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CACf,EAAE,CAyCF;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC7C,gBAAgB,EAAE,MAAM,GACtB,MAAM,CAmBR;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC9C,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,GACrB;IACF,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC1B,CAqBA"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Bridge Connector for Semantic Code Analyzer
3
+ *
4
+ * Provides integration points between semantic code analyzer and other tools
5
+ * Enables semantic analysis to enhance prompts, strategies, and other tools
6
+ */
7
+ /**
8
+ * Integration helpers for semantic code analyzer with other tools
9
+ */
10
+ /**
11
+ * Enhance hierarchical prompts with semantic insights
12
+ */
13
+ export function enhancePromptWithSemantics(semanticAnalysis, promptContext) {
14
+ // Extract key insights from semantic analysis
15
+ const insights = extractSemanticInsights(semanticAnalysis);
16
+ // Enhance prompt context with code structure information
17
+ return `${promptContext}
18
+
19
+ ## Code Context from Semantic Analysis
20
+ ${insights.structure}
21
+
22
+ ## Identified Patterns
23
+ ${insights.patterns.join(", ")}
24
+
25
+ ## Dependencies
26
+ ${insights.dependencies.join(", ")}`;
27
+ }
28
+ /**
29
+ * Generate code hygiene recommendations based on semantic analysis
30
+ */
31
+ export function generateHygieneRecommendations(semanticAnalysis) {
32
+ const recommendations = [];
33
+ if (semanticAnalysis.includes("Error Handling") === false) {
34
+ recommendations.push("Add comprehensive error handling (try-catch blocks)");
35
+ }
36
+ if (semanticAnalysis.includes("Dependency Injection")) {
37
+ recommendations.push("Good use of dependency injection pattern");
38
+ }
39
+ else {
40
+ recommendations.push("Consider using dependency injection for better testability");
41
+ }
42
+ if (semanticAnalysis.includes("Async/Await")) {
43
+ recommendations.push("Review async/await usage for potential race conditions");
44
+ }
45
+ return recommendations;
46
+ }
47
+ /**
48
+ * Extract semantic insights from analysis text
49
+ */
50
+ export function extractSemanticInsights(analysisText) {
51
+ const insights = {
52
+ structure: "",
53
+ patterns: [],
54
+ dependencies: [],
55
+ symbols: [],
56
+ };
57
+ // Extract structure section
58
+ const structureMatch = analysisText.match(/### 🏗️ Code Structure\n\n([^#]+)/);
59
+ if (structureMatch) {
60
+ insights.structure = structureMatch[1].trim();
61
+ }
62
+ // Extract patterns
63
+ if (analysisText.includes("Async/Await"))
64
+ insights.patterns.push("Async/Await");
65
+ if (analysisText.includes("Error Handling"))
66
+ insights.patterns.push("Error Handling");
67
+ if (analysisText.includes("Dependency Injection"))
68
+ insights.patterns.push("Dependency Injection");
69
+ if (analysisText.includes("Factory Pattern"))
70
+ insights.patterns.push("Factory Pattern");
71
+ // Extract dependencies
72
+ const depsMatch = analysisText.match(/### 📦 Dependencies\n\n([^#]+)/);
73
+ if (depsMatch) {
74
+ const depLines = depsMatch[1]
75
+ .split("\n")
76
+ .filter((line) => line.includes("**"));
77
+ insights.dependencies = depLines
78
+ .map((line) => {
79
+ const match = line.match(/\*\*([^*]+)\*\*/);
80
+ return match ? match[1] : "";
81
+ })
82
+ .filter(Boolean);
83
+ }
84
+ // Extract symbols
85
+ const symbolsMatch = analysisText.match(/### 🔤 Symbols Identified\n\n([^#]+)/);
86
+ if (symbolsMatch) {
87
+ const symbolLines = symbolsMatch[1]
88
+ .split("\n")
89
+ .filter((line) => line.includes("-"));
90
+ insights.symbols = symbolLines
91
+ .map((line) => line.replace(/^-\s*/, "").trim())
92
+ .filter(Boolean);
93
+ }
94
+ return insights;
95
+ }
96
+ /**
97
+ * Create refactoring suggestions based on semantic analysis
98
+ */
99
+ export function suggestRefactorings(semanticAnalysis) {
100
+ const suggestions = [];
101
+ // Check for error handling
102
+ if (!semanticAnalysis.includes("Error Handling")) {
103
+ suggestions.push({
104
+ priority: "high",
105
+ suggestion: "Add comprehensive error handling",
106
+ reason: "No error handling patterns detected in the code",
107
+ });
108
+ }
109
+ // Check for complexity
110
+ if (semanticAnalysis.match(/Functions.*\((\d+)\)/)?.[1]) {
111
+ const funcCount = Number.parseInt(semanticAnalysis.match(/Functions.*\((\d+)\)/)?.[1] || "0", 10);
112
+ if (funcCount > 10) {
113
+ suggestions.push({
114
+ priority: "medium",
115
+ suggestion: "Consider breaking down into smaller modules",
116
+ reason: `High number of functions (${funcCount}) indicates potential for modularization`,
117
+ });
118
+ }
119
+ }
120
+ // Check for patterns
121
+ if (!semanticAnalysis.includes("Dependency Injection")) {
122
+ suggestions.push({
123
+ priority: "low",
124
+ suggestion: "Consider dependency injection pattern",
125
+ reason: "Could improve testability and modularity",
126
+ });
127
+ }
128
+ return suggestions;
129
+ }
130
+ /**
131
+ * Generate security analysis prompt based on semantic insights
132
+ */
133
+ export function generateSecurityAnalysisPrompt(semanticAnalysis) {
134
+ const insights = extractSemanticInsights(semanticAnalysis);
135
+ return `# Security Analysis Request
136
+
137
+ ## Code Structure
138
+ ${insights.structure}
139
+
140
+ ## Areas to Analyze
141
+ 1. Input validation for all entry points
142
+ 2. Dependency security (check ${insights.dependencies.join(", ")})
143
+ 3. Error handling and information disclosure
144
+ 4. Authentication and authorization patterns
145
+ ${insights.patterns.includes("Async/Await") ? "5. Race condition analysis for async operations" : ""}
146
+
147
+ ## Focus Areas
148
+ - Review ${insights.symbols.length} identified symbols for security issues
149
+ - Analyze ${insights.dependencies.length} dependencies for known vulnerabilities
150
+ - Check for common security anti-patterns`;
151
+ }
152
+ /**
153
+ * Integration point for strategy frameworks
154
+ */
155
+ export function integrateWithStrategyFrameworks(semanticAnalysis, _projectContext) {
156
+ const insights = extractSemanticInsights(semanticAnalysis);
157
+ return {
158
+ technicalDebt: [
159
+ insights.patterns.includes("Error Handling")
160
+ ? ""
161
+ : "Missing error handling",
162
+ insights.patterns.includes("Dependency Injection")
163
+ ? ""
164
+ : "Tight coupling detected",
165
+ ].filter(Boolean),
166
+ architectureInsights: [
167
+ `Code structure: ${insights.structure}`,
168
+ `Patterns in use: ${insights.patterns.join(", ")}`,
169
+ `External dependencies: ${insights.dependencies.length}`,
170
+ ],
171
+ recommendations: generateHygieneRecommendations(`### Analysis\n${semanticAnalysis}`),
172
+ };
173
+ }
174
+ //# sourceMappingURL=semantic-analyzer-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-analyzer-bridge.js","sourceRoot":"","sources":["../../../src/tools/bridge/semantic-analyzer-bridge.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,7 @@ function analyzeCodeHygiene(input) {
79
79
  issues.push({
80
80
  type: "Technical Debt",
81
81
  description: "Found TODO or FIXME comments indicating incomplete work",
82
+ severity: "minor",
82
83
  });
83
84
  recommendations.push("Address pending TODO and FIXME items before production");
84
85
  }
@@ -87,6 +88,7 @@ function analyzeCodeHygiene(input) {
87
88
  issues.push({
88
89
  type: "Debug Code",
89
90
  description: "Found console.log statements that should be removed in production",
91
+ severity: "major",
90
92
  });
91
93
  recommendations.push("Remove debug console.log statements");
92
94
  }
@@ -94,6 +96,7 @@ function analyzeCodeHygiene(input) {
94
96
  issues.push({
95
97
  type: "Debug Code",
96
98
  description: "Found print statements that should use proper logging",
99
+ severity: "major",
97
100
  });
98
101
  recommendations.push("Replace print statements with proper logging");
99
102
  }
@@ -116,6 +119,7 @@ function analyzeCodeHygiene(input) {
116
119
  issues.push({
117
120
  type: "Code Complexity",
118
121
  description: `Found function with ${functionLines} lines - consider breaking into smaller functions`,
122
+ severity: "major",
119
123
  });
120
124
  }
121
125
  inFunction = false;
@@ -128,6 +132,7 @@ function analyzeCodeHygiene(input) {
128
132
  issues.push({
129
133
  type: "Outdated Pattern",
130
134
  description: "Using var instead of let/const",
135
+ severity: "minor",
131
136
  });
132
137
  recommendations.push("Replace var declarations with let or const");
133
138
  }
@@ -139,21 +144,57 @@ function analyzeCodeHygiene(input) {
139
144
  issues.push({
140
145
  type: "Error Handling",
141
146
  description: "Async code without proper error handling",
147
+ severity: "critical",
142
148
  });
143
149
  recommendations.push("Add try-catch blocks around async operations");
144
150
  }
145
- // Calculate score
151
+ // Check for hardcoded credentials or sensitive data
152
+ if (/password\s*=\s*["']|api[_-]?key\s*=\s*["']|secret\s*=\s*["']/i.test(code)) {
153
+ issues.push({
154
+ type: "Security Risk",
155
+ description: "Potential hardcoded credentials or API keys detected",
156
+ severity: "critical",
157
+ });
158
+ recommendations.push("Move sensitive data to environment variables or secure configuration");
159
+ }
160
+ // Check for commented out code
161
+ const commentedLines = lines.filter((line) => {
162
+ const trimmed = line.trim();
163
+ return ((trimmed.startsWith("//") && /[a-zA-Z0-9()]/.test(trimmed.slice(2))) ||
164
+ (trimmed.startsWith("#") &&
165
+ language === "python" &&
166
+ /[a-zA-Z0-9()]/.test(trimmed.slice(1))));
167
+ }).length;
168
+ if (commentedLines > 3) {
169
+ issues.push({
170
+ type: "Dead Code",
171
+ description: `Found ${commentedLines} lines of commented code - consider removing`,
172
+ severity: "minor",
173
+ });
174
+ recommendations.push("Remove commented out code or move to version control history");
175
+ }
176
+ // Calculate score with severity-based penalties
146
177
  let score = 100;
147
- score -= issues.length * 10;
178
+ for (const issue of issues) {
179
+ if (issue.severity === "critical") {
180
+ score -= 20;
181
+ }
182
+ else if (issue.severity === "major") {
183
+ score -= 12;
184
+ }
185
+ else {
186
+ score -= 5;
187
+ }
188
+ }
148
189
  score = Math.max(0, score);
149
190
  let scoreDescription = "";
150
- if (score >= 90)
191
+ if (score >= 85)
151
192
  scoreDescription = "Excellent";
152
- else if (score >= 80)
153
- scoreDescription = "Good";
154
193
  else if (score >= 70)
194
+ scoreDescription = "Good";
195
+ else if (score >= 50)
155
196
  scoreDescription = "Fair";
156
- else if (score >= 60)
197
+ else if (score >= 30)
157
198
  scoreDescription = "Needs Improvement";
158
199
  else
159
200
  scoreDescription = "Poor";
@@ -162,12 +203,20 @@ function analyzeCodeHygiene(input) {
162
203
  nextSteps.push("Code hygiene looks good! Consider adding automated linting if not already present.");
163
204
  }
164
205
  else {
165
- nextSteps.push("Address the identified issues in order of priority");
206
+ const criticalIssues = issues.filter((i) => i.severity === "critical").length;
207
+ const majorIssues = issues.filter((i) => i.severity === "major").length;
208
+ if (criticalIssues > 0) {
209
+ nextSteps.push(`Address ${criticalIssues} critical issue(s) immediately`);
210
+ }
211
+ if (majorIssues > 0) {
212
+ nextSteps.push(`Fix ${majorIssues} major issue(s) before merging`);
213
+ }
214
+ nextSteps.push("Address the identified issues in order of priority (critical > major > minor)");
166
215
  nextSteps.push("Set up automated code quality checks (ESLint, Prettier, Biome, etc.)");
167
216
  nextSteps.push("Consider implementing pre-commit hooks");
168
217
  }
169
218
  return {
170
- issues,
219
+ issues: issues.map(({ severity, ...rest }) => rest),
171
220
  recommendations,
172
221
  score,
173
222
  scoreDescription,
@@ -1 +1 @@
1
- {"version":3,"file":"code-hygiene-analyzer.js","sourceRoot":"","sources":["../../src/tools/code-hygiene-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-hygiene-analyzer.js","sourceRoot":"","sources":["../../src/tools/code-hygiene-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACrD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAa;IACtD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB;QACzC,CAAC,CAAC,sBAAsB,CAAC;YACvB,uHAAuH;YACvH,sDAAsD;SACtD,CAAC;QACH,CAAC,CAAC,SAAS,CAAC;IAEb,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe;QACrC,CAAC,CAAC;YACA,cAAc;YACd,cAAc,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;YACrD,wDAAwD;YACxD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;YAChE,EAAE;SACF;aACC,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC;QACb,CAAC,CAAC,EAAE,CAAC;IAEN,OAAO;QACN,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;EAER,QAAQ;;;;;eAKK,KAAK,CAAC,QAAQ;gBACb,KAAK,CAAC,SAAS,IAAI,eAAe;mBAC/B,QAAQ,CAAC,MAAM,CAAC,MAAM;sBACnB,QAAQ,CAAC,eAAe,CAAC,MAAM;;;EAGnD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;EAG1G,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;oBACzB,CAAC,CAAC,4DAA4D,QAAQ,CAAC,MAAM;yBAC1E,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,WAAW,IAAI,CAAC;yBAC1D,IAAI,CAAC,IAAI,CAAC,IAAI;oBACjB,CAAC,CAAC,EACJ;;;EAGE,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;IAG7E,QAAQ,CAAC,KAAK,YAAY,QAAQ,CAAC,gBAAgB;;;EAGrD,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;EAC3E,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE;;CAEtC;aACG;SACD;KACD,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAuB;IAClD,MAAM,MAAM,GAIP,EAAE,CAAC;IACR,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;IAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAE9C,6BAA6B;IAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,yDAAyD;YACtE,QAAQ,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,eAAe,CAAC,IAAI,CACnB,wDAAwD,CACxD,CAAC;IACH,CAAC;IAED,IACC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5B,CAAC,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,CAAC,EACvD,CAAC;QACF,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,YAAY;YAClB,WAAW,EACV,mEAAmE;YACpE,QAAQ,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,eAAe,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,eAAe,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IACtE,CAAC;IAED,8CAA8C;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IACC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAC/C,CAAC;YACF,UAAU,GAAG,IAAI,CAAC;YAClB,aAAa,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACvB,aAAa,EAAE,CAAC;YAChB,IACC,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG;gBACnB,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC,EACtE,CAAC;gBACF,IAAI,aAAa,GAAG,EAAE,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,iBAAiB;wBACvB,WAAW,EAAE,uBAAuB,aAAa,mDAAmD;wBACpG,QAAQ,EAAE,OAAO;qBACjB,CAAC,CAAC;gBACJ,CAAC;gBACD,UAAU,GAAG,KAAK,CAAC;YACpB,CAAC;QACF,CAAC;IACF,CAAC;IAED,8BAA8B;IAC9B,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC5D,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,gCAAgC;gBAC7C,QAAQ,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,eAAe,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;IAED,mCAAmC;IACnC,IACC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EACtB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,0CAA0C;YACvD,QAAQ,EAAE,UAAU;SACpB,CAAC,CAAC;QACH,eAAe,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IACtE,CAAC;IAED,oDAAoD;IACpD,IACC,+DAA+D,CAAC,IAAI,CAAC,IAAI,CAAC,EACzE,CAAC;QACF,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,sDAAsD;YACnE,QAAQ,EAAE,UAAU;SACpB,CAAC,CAAC;QACH,eAAe,CAAC,IAAI,CACnB,sEAAsE,CACtE,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,OAAO,CACN,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;gBACvB,QAAQ,KAAK,QAAQ;gBACrB,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CACxC,CAAC;IACH,CAAC,CAAC,CAAC,MAAM,CAAC;IAEV,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,SAAS,cAAc,8CAA8C;YAClF,QAAQ,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,eAAe,CAAC,IAAI,CACnB,8DAA8D,CAC9D,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACnC,KAAK,IAAI,EAAE,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACvC,KAAK,IAAI,EAAE,CAAC;QACb,CAAC;aAAM,CAAC;YACP,KAAK,IAAI,CAAC,CAAC;QACZ,CAAC;IACF,CAAC;IACD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAE3B,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,IAAI,KAAK,IAAI,EAAE;QAAE,gBAAgB,GAAG,WAAW,CAAC;SAC3C,IAAI,KAAK,IAAI,EAAE;QAAE,gBAAgB,GAAG,MAAM,CAAC;SAC3C,IAAI,KAAK,IAAI,EAAE;QAAE,gBAAgB,GAAG,MAAM,CAAC;SAC3C,IAAI,KAAK,IAAI,EAAE;QAAE,gBAAgB,GAAG,mBAAmB,CAAC;;QACxD,gBAAgB,GAAG,MAAM,CAAC;IAE/B,sBAAsB;IACtB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,IAAI,CACb,oFAAoF,CACpF,CAAC;IACH,CAAC;SAAM,CAAC;QACP,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAChC,CAAC,MAAM,CAAC;QACT,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QAExE,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,WAAW,cAAc,gCAAgC,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,IAAI,CAAC,OAAO,WAAW,gCAAgC,CAAC,CAAC;QACpE,CAAC;QACD,SAAS,CAAC,IAAI,CACb,+EAA+E,CAC/E,CAAC;QACF,SAAS,CAAC,IAAI,CACb,sEAAsE,CACtE,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO;QACN,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;QACnD,eAAe;QACf,KAAK;QACL,gBAAgB;QAChB,SAAS;KACT,CAAC;AACH,CAAC"}
@@ -1,16 +1,4 @@
1
- export interface Criterion {
2
- id: string;
3
- keywords: string[];
4
- weight: number;
5
- strength: string;
6
- issue: string;
7
- recommendation: string;
8
- optional?: boolean;
9
- }
10
- export interface CategoryConfig {
11
- base: number;
12
- criteria: Criterion[];
13
- bestPractices: string[];
14
- }
1
+ import type { CategoryConfig, Criterion } from "./types/index.js";
2
+ export type { Criterion, CategoryConfig };
15
3
  export declare const CATEGORY_CONFIG: Record<string, CategoryConfig>;
16
4
  //# sourceMappingURL=guidelines-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guidelines-config.d.ts","sourceRoot":"","sources":["../../../src/tools/config/guidelines-config.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,SAAS;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA6O1D,CAAC"}
1
+ {"version":3,"file":"guidelines-config.d.ts","sourceRoot":"","sources":["../../../src/tools/config/guidelines-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;AAE1C,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAwR1D,CAAC"}