@houtini/lm 1.0.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 (260) hide show
  1. package/CHANGELOG.md +273 -0
  2. package/LICENSE +21 -0
  3. package/README.md +203 -0
  4. package/dist/cache/analysis-cache.d.ts +33 -0
  5. package/dist/cache/analysis-cache.d.ts.map +1 -0
  6. package/dist/cache/analysis-cache.js +56 -0
  7. package/dist/cache/analysis-cache.js.map +1 -0
  8. package/dist/cache/cache-manager.d.ts +29 -0
  9. package/dist/cache/cache-manager.d.ts.map +1 -0
  10. package/dist/cache/cache-manager.js +85 -0
  11. package/dist/cache/cache-manager.js.map +1 -0
  12. package/dist/cache/index.d.ts +16 -0
  13. package/dist/cache/index.d.ts.map +1 -0
  14. package/dist/cache/index.js +17 -0
  15. package/dist/cache/index.js.map +1 -0
  16. package/dist/cache/prompt-cache.d.ts +33 -0
  17. package/dist/cache/prompt-cache.d.ts.map +1 -0
  18. package/dist/cache/prompt-cache.js +61 -0
  19. package/dist/cache/prompt-cache.js.map +1 -0
  20. package/dist/config.d.ts +43 -0
  21. package/dist/config.d.ts.map +1 -0
  22. package/dist/config.js +70 -0
  23. package/dist/config.js.map +1 -0
  24. package/dist/core/ThreeStagePromptManager.d.ts +39 -0
  25. package/dist/core/ThreeStagePromptManager.d.ts.map +1 -0
  26. package/dist/core/ThreeStagePromptManager.js +176 -0
  27. package/dist/core/ThreeStagePromptManager.js.map +1 -0
  28. package/dist/index.d.ts +6 -0
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +230 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/plugins/base-plugin.d.ts +47 -0
  33. package/dist/plugins/base-plugin.d.ts.map +1 -0
  34. package/dist/plugins/base-plugin.js +90 -0
  35. package/dist/plugins/base-plugin.js.map +1 -0
  36. package/dist/plugins/index.d.ts +58 -0
  37. package/dist/plugins/index.d.ts.map +1 -0
  38. package/dist/plugins/index.js +161 -0
  39. package/dist/plugins/index.js.map +1 -0
  40. package/dist/plugins/types.d.ts +5 -0
  41. package/dist/plugins/types.d.ts.map +1 -0
  42. package/dist/plugins/types.js +5 -0
  43. package/dist/plugins/types.js.map +1 -0
  44. package/dist/prompts/analyze/code-quality.d.ts +116 -0
  45. package/dist/prompts/analyze/code-quality.d.ts.map +1 -0
  46. package/dist/prompts/analyze/code-quality.js +433 -0
  47. package/dist/prompts/analyze/code-quality.js.map +1 -0
  48. package/dist/prompts/analyze/compare-integration.d.ts +130 -0
  49. package/dist/prompts/analyze/compare-integration.d.ts.map +1 -0
  50. package/dist/prompts/analyze/compare-integration.js +543 -0
  51. package/dist/prompts/analyze/compare-integration.js.map +1 -0
  52. package/dist/prompts/analyze/count-files.d.ts +109 -0
  53. package/dist/prompts/analyze/count-files.d.ts.map +1 -0
  54. package/dist/prompts/analyze/count-files.js +399 -0
  55. package/dist/prompts/analyze/count-files.js.map +1 -0
  56. package/dist/prompts/analyze/database-queries.d.ts +156 -0
  57. package/dist/prompts/analyze/database-queries.d.ts.map +1 -0
  58. package/dist/prompts/analyze/database-queries.js +759 -0
  59. package/dist/prompts/analyze/database-queries.js.map +1 -0
  60. package/dist/prompts/analyze/dependencies.d.ts +97 -0
  61. package/dist/prompts/analyze/dependencies.d.ts.map +1 -0
  62. package/dist/prompts/analyze/dependencies.js +333 -0
  63. package/dist/prompts/analyze/dependencies.js.map +1 -0
  64. package/dist/prompts/analyze/diff-signatures.d.ts +139 -0
  65. package/dist/prompts/analyze/diff-signatures.d.ts.map +1 -0
  66. package/dist/prompts/analyze/diff-signatures.js +702 -0
  67. package/dist/prompts/analyze/diff-signatures.js.map +1 -0
  68. package/dist/prompts/analyze/find-patterns.d.ts +128 -0
  69. package/dist/prompts/analyze/find-patterns.d.ts.map +1 -0
  70. package/dist/prompts/analyze/find-patterns.js +520 -0
  71. package/dist/prompts/analyze/find-patterns.js.map +1 -0
  72. package/dist/prompts/analyze/find-unused-css.d.ts +151 -0
  73. package/dist/prompts/analyze/find-unused-css.d.ts.map +1 -0
  74. package/dist/prompts/analyze/find-unused-css.js +754 -0
  75. package/dist/prompts/analyze/find-unused-css.js.map +1 -0
  76. package/dist/prompts/analyze/n8n-workflow.d.ts +137 -0
  77. package/dist/prompts/analyze/n8n-workflow.d.ts.map +1 -0
  78. package/dist/prompts/analyze/n8n-workflow.js +529 -0
  79. package/dist/prompts/analyze/n8n-workflow.js.map +1 -0
  80. package/dist/prompts/analyze/project-structure.d.ts +126 -0
  81. package/dist/prompts/analyze/project-structure.d.ts.map +1 -0
  82. package/dist/prompts/analyze/project-structure.js +569 -0
  83. package/dist/prompts/analyze/project-structure.js.map +1 -0
  84. package/dist/prompts/analyze/security-audit.d.ts +142 -0
  85. package/dist/prompts/analyze/security-audit.d.ts.map +1 -0
  86. package/dist/prompts/analyze/security-audit.js +637 -0
  87. package/dist/prompts/analyze/security-audit.js.map +1 -0
  88. package/dist/prompts/analyze/single-file.d.ts +162 -0
  89. package/dist/prompts/analyze/single-file.d.ts.map +1 -0
  90. package/dist/prompts/analyze/single-file.js +665 -0
  91. package/dist/prompts/analyze/single-file.js.map +1 -0
  92. package/dist/prompts/analyze/trace-execution.d.ts +126 -0
  93. package/dist/prompts/analyze/trace-execution.d.ts.map +1 -0
  94. package/dist/prompts/analyze/trace-execution.js +609 -0
  95. package/dist/prompts/analyze/trace-execution.js.map +1 -0
  96. package/dist/prompts/analyze/wordpress-plugin-audit.d.ts +116 -0
  97. package/dist/prompts/analyze/wordpress-plugin-audit.d.ts.map +1 -0
  98. package/dist/prompts/analyze/wordpress-plugin-audit.js +454 -0
  99. package/dist/prompts/analyze/wordpress-plugin-audit.js.map +1 -0
  100. package/dist/prompts/analyze/wordpress-security.d.ts +146 -0
  101. package/dist/prompts/analyze/wordpress-security.d.ts.map +1 -0
  102. package/dist/prompts/analyze/wordpress-security.js +698 -0
  103. package/dist/prompts/analyze/wordpress-security.js.map +1 -0
  104. package/dist/prompts/analyze/wordpress-theme-audit.d.ts +114 -0
  105. package/dist/prompts/analyze/wordpress-theme-audit.d.ts.map +1 -0
  106. package/dist/prompts/analyze/wordpress-theme-audit.js +538 -0
  107. package/dist/prompts/analyze/wordpress-theme-audit.js.map +1 -0
  108. package/dist/prompts/custom/custom-prompt.d.ts +135 -0
  109. package/dist/prompts/custom/custom-prompt.d.ts.map +1 -0
  110. package/dist/prompts/custom/custom-prompt.js +419 -0
  111. package/dist/prompts/custom/custom-prompt.js.map +1 -0
  112. package/dist/prompts/fun/arcade-game.d.ts +152 -0
  113. package/dist/prompts/fun/arcade-game.d.ts.map +1 -0
  114. package/dist/prompts/fun/arcade-game.js +653 -0
  115. package/dist/prompts/fun/arcade-game.js.map +1 -0
  116. package/dist/prompts/fun/create_text_adventure.d.ts +100 -0
  117. package/dist/prompts/fun/create_text_adventure.d.ts.map +1 -0
  118. package/dist/prompts/fun/create_text_adventure.js +397 -0
  119. package/dist/prompts/fun/create_text_adventure.js.map +1 -0
  120. package/dist/prompts/fun/css-art-generator.d.ts +168 -0
  121. package/dist/prompts/fun/css-art-generator.d.ts.map +1 -0
  122. package/dist/prompts/fun/css-art-generator.js +827 -0
  123. package/dist/prompts/fun/css-art-generator.js.map +1 -0
  124. package/dist/prompts/generate/project-documentation.d.ts +137 -0
  125. package/dist/prompts/generate/project-documentation.d.ts.map +1 -0
  126. package/dist/prompts/generate/project-documentation.js +666 -0
  127. package/dist/prompts/generate/project-documentation.js.map +1 -0
  128. package/dist/prompts/generate/refactoring.d.ts +164 -0
  129. package/dist/prompts/generate/refactoring.d.ts.map +1 -0
  130. package/dist/prompts/generate/refactoring.js +621 -0
  131. package/dist/prompts/generate/refactoring.js.map +1 -0
  132. package/dist/prompts/generate/responsive-component.d.ts +147 -0
  133. package/dist/prompts/generate/responsive-component.d.ts.map +1 -0
  134. package/dist/prompts/generate/responsive-component.js +955 -0
  135. package/dist/prompts/generate/responsive-component.js.map +1 -0
  136. package/dist/prompts/generate/typescript-conversion.d.ts +144 -0
  137. package/dist/prompts/generate/typescript-conversion.d.ts.map +1 -0
  138. package/dist/prompts/generate/typescript-conversion.js +527 -0
  139. package/dist/prompts/generate/typescript-conversion.js.map +1 -0
  140. package/dist/prompts/generate/unit-tests.d.ts +139 -0
  141. package/dist/prompts/generate/unit-tests.d.ts.map +1 -0
  142. package/dist/prompts/generate/unit-tests.js +578 -0
  143. package/dist/prompts/generate/unit-tests.js.map +1 -0
  144. package/dist/prompts/generate/wordpress-plugin.d.ts +179 -0
  145. package/dist/prompts/generate/wordpress-plugin.d.ts.map +1 -0
  146. package/dist/prompts/generate/wordpress-plugin.js +763 -0
  147. package/dist/prompts/generate/wordpress-plugin.js.map +1 -0
  148. package/dist/prompts/generate/wordpress-theme-from-static.d.ts +177 -0
  149. package/dist/prompts/generate/wordpress-theme-from-static.d.ts.map +1 -0
  150. package/dist/prompts/generate/wordpress-theme-from-static.js +695 -0
  151. package/dist/prompts/generate/wordpress-theme-from-static.js.map +1 -0
  152. package/dist/prompts/shared/cache-manager.d.ts +45 -0
  153. package/dist/prompts/shared/cache-manager.d.ts.map +1 -0
  154. package/dist/prompts/shared/cache-manager.js +129 -0
  155. package/dist/prompts/shared/cache-manager.js.map +1 -0
  156. package/dist/prompts/shared/helpers.d.ts +39 -0
  157. package/dist/prompts/shared/helpers.d.ts.map +1 -0
  158. package/dist/prompts/shared/helpers.js +151 -0
  159. package/dist/prompts/shared/helpers.js.map +1 -0
  160. package/dist/prompts/shared/templates.d.ts +35 -0
  161. package/dist/prompts/shared/templates.d.ts.map +1 -0
  162. package/dist/prompts/shared/templates.js +77 -0
  163. package/dist/prompts/shared/templates.js.map +1 -0
  164. package/dist/prompts/shared/types.d.ts +112 -0
  165. package/dist/prompts/shared/types.d.ts.map +1 -0
  166. package/dist/prompts/shared/types.js +5 -0
  167. package/dist/prompts/shared/types.js.map +1 -0
  168. package/dist/prompts/system/find-unused-files.d.ts +106 -0
  169. package/dist/prompts/system/find-unused-files.d.ts.map +1 -0
  170. package/dist/prompts/system/find-unused-files.js +353 -0
  171. package/dist/prompts/system/find-unused-files.js.map +1 -0
  172. package/dist/security/index.d.ts +39 -0
  173. package/dist/security/index.d.ts.map +1 -0
  174. package/dist/security/index.js +46 -0
  175. package/dist/security/index.js.map +1 -0
  176. package/dist/security/integration-helpers.d.ts +121 -0
  177. package/dist/security/integration-helpers.d.ts.map +1 -0
  178. package/dist/security/integration-helpers.js +190 -0
  179. package/dist/security/integration-helpers.js.map +1 -0
  180. package/dist/security/output-encoder.d.ts +94 -0
  181. package/dist/security/output-encoder.d.ts.map +1 -0
  182. package/dist/security/output-encoder.js +295 -0
  183. package/dist/security/output-encoder.js.map +1 -0
  184. package/dist/security/prompt-injection-guard.d.ts +59 -0
  185. package/dist/security/prompt-injection-guard.d.ts.map +1 -0
  186. package/dist/security/prompt-injection-guard.js +249 -0
  187. package/dist/security/prompt-injection-guard.js.map +1 -0
  188. package/dist/security/sanitisation.d.ts +67 -0
  189. package/dist/security/sanitisation.d.ts.map +1 -0
  190. package/dist/security/sanitisation.js +398 -0
  191. package/dist/security/sanitisation.js.map +1 -0
  192. package/dist/security/security-service.d.ts +103 -0
  193. package/dist/security/security-service.d.ts.map +1 -0
  194. package/dist/security/security-service.js +303 -0
  195. package/dist/security/security-service.js.map +1 -0
  196. package/dist/security-config.d.ts +45 -0
  197. package/dist/security-config.d.ts.map +1 -0
  198. package/dist/security-config.js +63 -0
  199. package/dist/security-config.js.map +1 -0
  200. package/dist/system/function-list.d.ts +61 -0
  201. package/dist/system/function-list.d.ts.map +1 -0
  202. package/dist/system/function-list.js +111 -0
  203. package/dist/system/function-list.js.map +1 -0
  204. package/dist/system/function-registry.d.ts +23 -0
  205. package/dist/system/function-registry.d.ts.map +1 -0
  206. package/dist/system/function-registry.js +136 -0
  207. package/dist/system/function-registry.js.map +1 -0
  208. package/dist/system/health-check.d.ts +33 -0
  209. package/dist/system/health-check.d.ts.map +1 -0
  210. package/dist/system/health-check.js +98 -0
  211. package/dist/system/health-check.js.map +1 -0
  212. package/dist/system/path-resolver.d.ts +55 -0
  213. package/dist/system/path-resolver.d.ts.map +1 -0
  214. package/dist/system/path-resolver.js +90 -0
  215. package/dist/system/path-resolver.js.map +1 -0
  216. package/dist/templates/plugin-template.d.ts +121 -0
  217. package/dist/templates/plugin-template.d.ts.map +1 -0
  218. package/dist/templates/plugin-template.js +450 -0
  219. package/dist/templates/plugin-template.js.map +1 -0
  220. package/dist/types/chunking-types.d.ts +88 -0
  221. package/dist/types/chunking-types.d.ts.map +1 -0
  222. package/dist/types/chunking-types.js +18 -0
  223. package/dist/types/chunking-types.js.map +1 -0
  224. package/dist/types/prompt-stages.d.ts +42 -0
  225. package/dist/types/prompt-stages.d.ts.map +1 -0
  226. package/dist/types/prompt-stages.js +6 -0
  227. package/dist/types/prompt-stages.js.map +1 -0
  228. package/dist/types.d.ts +46 -0
  229. package/dist/types.d.ts.map +1 -0
  230. package/dist/types.js +6 -0
  231. package/dist/types.js.map +1 -0
  232. package/dist/utils/css-parser.d.ts +26 -0
  233. package/dist/utils/css-parser.d.ts.map +1 -0
  234. package/dist/utils/css-parser.js +117 -0
  235. package/dist/utils/css-parser.js.map +1 -0
  236. package/dist/utils/path-resolver.d.ts +13 -0
  237. package/dist/utils/path-resolver.d.ts.map +1 -0
  238. package/dist/utils/path-resolver.js +78 -0
  239. package/dist/utils/path-resolver.js.map +1 -0
  240. package/dist/utils/plugin-utilities.d.ts +171 -0
  241. package/dist/utils/plugin-utilities.d.ts.map +1 -0
  242. package/dist/utils/plugin-utilities.js +221 -0
  243. package/dist/utils/plugin-utilities.js.map +1 -0
  244. package/dist/utils/streamHandler.d.ts +3 -0
  245. package/dist/utils/streamHandler.d.ts.map +1 -0
  246. package/dist/utils/streamHandler.js +137 -0
  247. package/dist/utils/streamHandler.js.map +1 -0
  248. package/dist/validation/output-validator.d.ts +136 -0
  249. package/dist/validation/output-validator.d.ts.map +1 -0
  250. package/dist/validation/output-validator.js +262 -0
  251. package/dist/validation/output-validator.js.map +1 -0
  252. package/dist/validation/response-factory.d.ts +44 -0
  253. package/dist/validation/response-factory.d.ts.map +1 -0
  254. package/dist/validation/response-factory.js +202 -0
  255. package/dist/validation/response-factory.js.map +1 -0
  256. package/dist/validation/schemas.d.ts +519 -0
  257. package/dist/validation/schemas.d.ts.map +1 -0
  258. package/dist/validation/schemas.js +6 -0
  259. package/dist/validation/schemas.js.map +1 -0
  260. package/package.json +72 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-queries.js","sourceRoot":"","sources":["../../../src/prompts/analyze/database-queries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ import { BasePlugin } from '../../plugins/base-plugin.js';
2
+ import { IPromptPlugin } from '../shared/types.js';
3
+ import { PromptStages } from '../../types/prompt-stages.js';
4
+ export declare class DependencyAnalyzer extends BasePlugin implements IPromptPlugin {
5
+ name: string;
6
+ category: "analyze";
7
+ description: string;
8
+ parameters: {
9
+ code: {
10
+ type: "string";
11
+ description: string;
12
+ required: boolean;
13
+ };
14
+ filePath: {
15
+ type: "string";
16
+ description: string;
17
+ required: boolean;
18
+ };
19
+ projectPath: {
20
+ type: "string";
21
+ description: string;
22
+ required: boolean;
23
+ };
24
+ files: {
25
+ type: "array";
26
+ description: string;
27
+ required: boolean;
28
+ items: {
29
+ type: "string";
30
+ };
31
+ };
32
+ maxDepth: {
33
+ type: "number";
34
+ description: string;
35
+ required: boolean;
36
+ default: number;
37
+ };
38
+ analysisType: {
39
+ type: "string";
40
+ description: string;
41
+ enum: string[];
42
+ default: string;
43
+ required: boolean;
44
+ };
45
+ analysisDepth: {
46
+ type: "string";
47
+ description: string;
48
+ enum: string[];
49
+ default: string;
50
+ required: boolean;
51
+ };
52
+ language: {
53
+ type: "string";
54
+ description: string;
55
+ required: boolean;
56
+ default: string;
57
+ };
58
+ includePackageJson: {
59
+ type: "boolean";
60
+ description: string;
61
+ required: boolean;
62
+ default: boolean;
63
+ };
64
+ checkDevDependencies: {
65
+ type: "boolean";
66
+ description: string;
67
+ required: boolean;
68
+ default: boolean;
69
+ };
70
+ ignorePatterns: {
71
+ type: "array";
72
+ description: string;
73
+ required: boolean;
74
+ default: string[];
75
+ items: {
76
+ type: "string";
77
+ };
78
+ };
79
+ };
80
+ private analysisCache;
81
+ private multiFileAnalysis;
82
+ constructor();
83
+ execute(params: any, llmClient: any): Promise<any>;
84
+ private detectAnalysisMode;
85
+ private validateParameters;
86
+ private executeSingleFileAnalysis;
87
+ private executeMultiFileAnalysis;
88
+ private getSingleFilePromptStages;
89
+ private getMultiFilePromptStages;
90
+ getPromptStages(params: any): PromptStages;
91
+ private discoverRelevantFiles;
92
+ private performMultiFileAnalysis;
93
+ private analyzeIndividualFile;
94
+ private getFileExtensions;
95
+ }
96
+ export default DependencyAnalyzer;
97
+ //# sourceMappingURL=dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../../src/prompts/analyze/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAgB5D,qBAAa,kBAAmB,SAAQ,UAAW,YAAW,aAAa;IACzE,IAAI,SAA0B;IAC9B,QAAQ,EAAG,SAAS,CAAU;IAC9B,WAAW,SAAqH;IAGhI,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAwER;IAEF,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,iBAAiB,CAA2B;;IAM9C,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;IAmBzC,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,kBAAkB;YAYZ,yBAAyB;YAuCzB,wBAAwB;IAsCtC,OAAO,CAAC,yBAAyB;IA+DjC,OAAO,CAAC,wBAAwB;IAiDhC,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,YAAY;YAU5B,qBAAqB;YASrB,wBAAwB;YAwCxB,qBAAqB;IAenC,OAAO,CAAC,iBAAiB;CAW1B;AAED,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,333 @@
1
+ import { BasePlugin } from '../../plugins/base-plugin.js';
2
+ import { ThreeStagePromptManager } from '../../core/ThreeStagePromptManager.js';
3
+ import { withSecurity } from '../../security/integration-helpers.js';
4
+ import { readFileContent } from '../shared/helpers.js';
5
+ import { ModelSetup, ResponseProcessor, ParameterValidator, ErrorHandler, MultiFileAnalysis } from '../../utils/plugin-utilities.js';
6
+ import { getAnalysisCache } from '../../cache/index.js';
7
+ // Common Node.js modules - Use these instead of require()
8
+ import { basename, extname, relative } from 'path';
9
+ import { readFile, stat } from 'fs/promises';
10
+ export class DependencyAnalyzer extends BasePlugin {
11
+ constructor() {
12
+ super();
13
+ this.name = 'analyze_dependencies';
14
+ this.category = 'analyze';
15
+ this.description = 'Analyze code dependencies including circular references, unused imports, version conflicts, and coupling issues';
16
+ // Universal parameter set - supports both single and multi-file scenarios
17
+ this.parameters = {
18
+ // Single-file parameters
19
+ code: {
20
+ type: 'string',
21
+ description: 'The code to analyze for dependencies (single-file analysis)',
22
+ required: false
23
+ },
24
+ filePath: {
25
+ type: 'string',
26
+ description: 'Path to single file to analyze for dependencies',
27
+ required: false
28
+ },
29
+ // Multi-file parameters
30
+ projectPath: {
31
+ type: 'string',
32
+ description: 'Path to project root for comprehensive dependency analysis',
33
+ required: false
34
+ },
35
+ files: {
36
+ type: 'array',
37
+ description: 'Array of specific file paths for dependency analysis',
38
+ required: false,
39
+ items: { type: 'string' }
40
+ },
41
+ maxDepth: {
42
+ type: 'number',
43
+ description: 'Maximum directory depth for dependency discovery (1-5)',
44
+ required: false,
45
+ default: 4
46
+ },
47
+ // Analysis options
48
+ analysisType: {
49
+ type: 'string',
50
+ description: 'Type of dependency analysis to perform',
51
+ enum: ['imports', 'circular', 'unused', 'coupling', 'comprehensive'],
52
+ default: 'comprehensive',
53
+ required: false
54
+ },
55
+ analysisDepth: {
56
+ type: 'string',
57
+ description: 'Level of dependency analysis detail',
58
+ enum: ['basic', 'detailed', 'comprehensive'],
59
+ default: 'detailed',
60
+ required: false
61
+ },
62
+ language: {
63
+ type: 'string',
64
+ description: 'Programming language for language-specific dependency patterns',
65
+ required: false,
66
+ default: 'javascript'
67
+ },
68
+ includePackageJson: {
69
+ type: 'boolean',
70
+ description: 'Include package.json analysis for version conflicts',
71
+ required: false,
72
+ default: true
73
+ },
74
+ checkDevDependencies: {
75
+ type: 'boolean',
76
+ description: 'Include devDependencies in analysis',
77
+ required: false,
78
+ default: false
79
+ },
80
+ ignorePatterns: {
81
+ type: 'array',
82
+ description: 'Patterns to ignore (e.g., ["node_modules", "*.test.js"])',
83
+ required: false,
84
+ default: ["node_modules", "*.min.js", "*.bundle.js"],
85
+ items: { type: 'string' }
86
+ }
87
+ };
88
+ this.analysisCache = getAnalysisCache();
89
+ this.multiFileAnalysis = new MultiFileAnalysis();
90
+ }
91
+ async execute(params, llmClient) {
92
+ return await withSecurity(this, params, llmClient, async (secureParams) => {
93
+ try {
94
+ const analysisMode = this.detectAnalysisMode(secureParams);
95
+ this.validateParameters(secureParams, analysisMode);
96
+ const { model, contextLength } = await ModelSetup.getReadyModel(llmClient);
97
+ if (analysisMode === 'single-file') {
98
+ return await this.executeSingleFileAnalysis(secureParams, model, contextLength);
99
+ }
100
+ else {
101
+ return await this.executeMultiFileAnalysis(secureParams, model, contextLength);
102
+ }
103
+ }
104
+ catch (error) {
105
+ return ErrorHandler.createExecutionError('analyze_dependencies', error);
106
+ }
107
+ });
108
+ }
109
+ detectAnalysisMode(params) {
110
+ if (params.code || params.filePath) {
111
+ return 'single-file';
112
+ }
113
+ if (params.projectPath || params.files) {
114
+ return 'multi-file';
115
+ }
116
+ return 'single-file';
117
+ }
118
+ validateParameters(params, mode) {
119
+ if (mode === 'single-file') {
120
+ ParameterValidator.validateCodeOrFile(params);
121
+ }
122
+ else {
123
+ ParameterValidator.validateProjectPath(params);
124
+ ParameterValidator.validateDepth(params);
125
+ }
126
+ ParameterValidator.validateEnum(params, 'analysisType', ['imports', 'circular', 'unused', 'coupling', 'comprehensive']);
127
+ ParameterValidator.validateEnum(params, 'analysisDepth', ['basic', 'detailed', 'comprehensive']);
128
+ }
129
+ async executeSingleFileAnalysis(params, model, contextLength) {
130
+ let codeToAnalyze = params.code;
131
+ if (params.filePath) {
132
+ codeToAnalyze = await readFileContent(params.filePath);
133
+ }
134
+ const promptStages = this.getSingleFilePromptStages({
135
+ ...params,
136
+ code: codeToAnalyze
137
+ });
138
+ const promptManager = new ThreeStagePromptManager(contextLength);
139
+ const needsChunking = promptManager.needsChunking(promptStages);
140
+ if (needsChunking) {
141
+ const conversation = promptManager.createChunkedConversation(promptStages);
142
+ const messages = [
143
+ conversation.systemMessage,
144
+ ...conversation.dataMessages,
145
+ conversation.analysisMessage
146
+ ];
147
+ return await ResponseProcessor.executeChunked(messages, model, contextLength, 'analyze_dependencies', 'single');
148
+ }
149
+ else {
150
+ return await ResponseProcessor.executeDirect(promptStages, model, contextLength, 'analyze_dependencies');
151
+ }
152
+ }
153
+ async executeMultiFileAnalysis(params, model, contextLength) {
154
+ let filesToAnalyze = params.files ||
155
+ await this.discoverRelevantFiles(params.projectPath, params.maxDepth, params.analysisType);
156
+ const analysisResult = await this.performMultiFileAnalysis(filesToAnalyze, params, model, contextLength);
157
+ const promptStages = this.getMultiFilePromptStages({
158
+ ...params,
159
+ analysisResult,
160
+ fileCount: filesToAnalyze.length
161
+ });
162
+ const promptManager = new ThreeStagePromptManager(contextLength);
163
+ const conversation = promptManager.createChunkedConversation(promptStages);
164
+ const messages = [
165
+ conversation.systemMessage,
166
+ ...conversation.dataMessages,
167
+ conversation.analysisMessage
168
+ ];
169
+ return await ResponseProcessor.executeChunked(messages, model, contextLength, 'analyze_dependencies', 'multifile');
170
+ }
171
+ getSingleFilePromptStages(params) {
172
+ const { code, language, analysisDepth, analysisType } = params;
173
+ const systemAndContext = `You are an expert dependency analyst specializing in ${analysisDepth} ${analysisType} analysis.
174
+
175
+ Analysis Context:
176
+ - Language: ${language}
177
+ - Analysis Depth: ${analysisDepth}
178
+ - Analysis Type: ${analysisType}
179
+ - Mode: Single File Dependency Analysis
180
+
181
+ Your expertise includes:
182
+ - Import/export pattern analysis
183
+ - Circular dependency detection
184
+ - Version conflict identification
185
+ - Coupling assessment
186
+ - Dead code elimination
187
+
188
+ Your task is to provide actionable insights about this file's dependencies.`;
189
+ const dataPayload = `Code to analyze for dependencies:
190
+
191
+ \`\`\`${language}
192
+ ${code}
193
+ \`\`\``;
194
+ const outputInstructions = `Provide comprehensive dependency analysis with the following structure:
195
+
196
+ **File Dependencies Summary**
197
+ Provide an overview of this file's dependency profile, including import/export patterns, external dependencies, and overall coupling assessment.
198
+
199
+ **Import Analysis**
200
+ - List all detected imports (modules, files, packages)
201
+ - Identify import types (static, dynamic, conditional)
202
+ - Note any unusual or problematic import patterns
203
+ - Assess import organization and consistency
204
+
205
+ **Export Analysis**
206
+ - Document all exports from this file
207
+ - Categorize export types (functions, classes, constants, types)
208
+ - Evaluate export design and API surface
209
+ - Identify potential unused exports
210
+
211
+ **Dependency Issues**
212
+ For each dependency-related issue found:
213
+ - Issue type (circular, unused, version, coupling, etc.)
214
+ - Severity level (critical, high, medium, low)
215
+ - Detailed explanation of the problem
216
+ - Specific lines or patterns involved
217
+ - Recommended resolution approach
218
+
219
+ **Optimization Opportunities**
220
+ - Potential import consolidation or reorganization
221
+ - Suggestions for reducing coupling
222
+ - Dead code elimination opportunities
223
+ - Performance improvements through lazy loading
224
+
225
+ **Recommendations**
226
+ Provide specific, actionable steps to improve the dependency structure, focusing on maintainability and performance impact while considering language-specific dependency patterns.`;
227
+ return { systemAndContext, dataPayload, outputInstructions };
228
+ }
229
+ getMultiFilePromptStages(params) {
230
+ const { analysisResult, analysisType, analysisDepth, fileCount, projectPath } = params;
231
+ const systemAndContext = `You are a senior software architect specializing in ${analysisDepth} multi-file dependency analysis and system architecture.
232
+
233
+ Analysis Context:
234
+ - Analysis Type: ${analysisType}
235
+ - Analysis Depth: ${analysisDepth}
236
+ - Files Analyzed: ${fileCount}
237
+ - Project: ${projectPath ? basename(projectPath) : 'multi-file analysis'}
238
+ - Mode: Comprehensive Project Dependency Analysis
239
+
240
+ Your expertise includes identifying system-wide dependency patterns, architectural issues, and cross-module coupling problems. You understand layered architecture, dependency inversion, circular dependency chains, and system-wide optimization opportunities.`;
241
+ const dataPayload = `Project-wide dependency analysis results:
242
+
243
+ ${JSON.stringify(analysisResult, null, 2)}`;
244
+ const outputInstructions = `Provide comprehensive multi-file dependency analysis with the following structure:
245
+
246
+ **Project Dependency Overview**
247
+ Provide a high-level assessment of the project's dependency architecture across all ${fileCount} analyzed files, including overall coupling, circular dependencies, and architectural patterns.
248
+
249
+ **Cross-File Dependencies**
250
+ - Map key dependency relationships between files
251
+ - Identify architectural layers and their interactions
252
+ - Document shared dependencies and common patterns
253
+ - Assess overall system coupling and cohesion
254
+
255
+ **Systemic Issues**
256
+ For each system-wide dependency issue:
257
+ - Issue type (circular dependencies, tight coupling, architecture violations)
258
+ - Severity and impact on maintainability
259
+ - Files and modules involved
260
+ - Root cause analysis
261
+ - System-wide resolution strategy
262
+
263
+ **Architectural Recommendations**
264
+ - Dependency consolidation opportunities
265
+ - Suggestions for improving separation of concerns
266
+ - Refactoring opportunities for better architecture
267
+ - Long-term structural improvements
268
+
269
+ **Implementation Roadmap**
270
+ Provide a prioritized plan for addressing cross-file dependency issues, considering the impact on the overall system architecture and focusing on actionable insights that improve code maintainability and reduce technical debt.`;
271
+ return { systemAndContext, dataPayload, outputInstructions };
272
+ }
273
+ getPromptStages(params) {
274
+ const mode = this.detectAnalysisMode(params);
275
+ if (mode === 'single-file') {
276
+ return this.getSingleFilePromptStages(params);
277
+ }
278
+ else {
279
+ return this.getMultiFilePromptStages(params);
280
+ }
281
+ }
282
+ async discoverRelevantFiles(projectPath, maxDepth, analysisType) {
283
+ const extensions = this.getFileExtensions(analysisType);
284
+ return await this.multiFileAnalysis.discoverFiles(projectPath, extensions, maxDepth);
285
+ }
286
+ async performMultiFileAnalysis(files, params, model, contextLength) {
287
+ const cacheKey = this.analysisCache.generateKey('analyze_dependencies', params, files);
288
+ const cached = await this.analysisCache.get(cacheKey);
289
+ if (cached)
290
+ return cached;
291
+ const fileAnalysisResults = await this.multiFileAnalysis.analyzeBatch(files, (file) => this.analyzeIndividualFile(file, params, model), contextLength);
292
+ const aggregatedResult = {
293
+ summary: `Dependency analysis of ${files.length} files`,
294
+ findings: fileAnalysisResults,
295
+ data: {
296
+ fileCount: files.length,
297
+ totalSize: fileAnalysisResults.reduce((sum, result) => sum + (result.size || 0), 0),
298
+ analysisTimestamp: new Date().toISOString()
299
+ }
300
+ };
301
+ await this.analysisCache.cacheAnalysis(cacheKey, aggregatedResult, {
302
+ modelUsed: model.identifier || 'unknown',
303
+ executionTime: Date.now(),
304
+ timestamp: new Date().toISOString()
305
+ });
306
+ return aggregatedResult;
307
+ }
308
+ async analyzeIndividualFile(file, params, model) {
309
+ const content = await readFile(file, 'utf-8');
310
+ const stats = await stat(file);
311
+ return {
312
+ filePath: file,
313
+ fileName: basename(file),
314
+ size: content.length,
315
+ lines: content.split('\n').length,
316
+ extension: extname(file),
317
+ relativePath: relative(params.projectPath || '', file),
318
+ lastModified: stats.mtime.toISOString()
319
+ };
320
+ }
321
+ getFileExtensions(analysisType) {
322
+ const extensionMap = {
323
+ 'imports': ['.js', '.ts', '.jsx', '.tsx', '.mjs', '.cjs'],
324
+ 'circular': ['.js', '.ts', '.jsx', '.tsx', '.mjs', '.cjs'],
325
+ 'unused': ['.js', '.ts', '.jsx', '.tsx', '.mjs', '.cjs'],
326
+ 'coupling': ['.js', '.ts', '.jsx', '.tsx', '.mjs', '.cjs'],
327
+ 'comprehensive': ['.js', '.ts', '.jsx', '.tsx', '.mjs', '.cjs', '.json', '.php', '.py']
328
+ };
329
+ return extensionMap[analysisType] || extensionMap.comprehensive;
330
+ }
331
+ }
332
+ export default DependencyAnalyzer;
333
+ //# sourceMappingURL=dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../src/prompts/analyze/dependencies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Plugin Template - Modern v4.2 (Single Source of Truth)
3
+ *
4
+ * Universal template that intelligently handles both single-file and multi-file analysis
5
+ * Automatically detects analysis type based on provided parameters
6
+ *
7
+ * Copy this template for creating any new plugin - it adapts to your needs
8
+ */
9
+ import { BasePlugin } from '../../plugins/base-plugin.js';
10
+ import { IPromptPlugin } from '../shared/types.js';
11
+ import { PromptStages } from '../../types/prompt-stages.js';
12
+ export declare class MethodSignatureDiffer extends BasePlugin implements IPromptPlugin {
13
+ name: string;
14
+ category: "analyze";
15
+ description: string;
16
+ parameters: {
17
+ code: {
18
+ type: "string";
19
+ description: string;
20
+ required: boolean;
21
+ };
22
+ filePath: {
23
+ type: "string";
24
+ description: string;
25
+ required: boolean;
26
+ };
27
+ projectPath: {
28
+ type: "string";
29
+ description: string;
30
+ required: boolean;
31
+ };
32
+ files: {
33
+ type: "array";
34
+ description: string;
35
+ required: boolean;
36
+ items: {
37
+ type: "string";
38
+ };
39
+ };
40
+ maxDepth: {
41
+ type: "number";
42
+ description: string;
43
+ required: boolean;
44
+ default: number;
45
+ };
46
+ callingFile: {
47
+ type: "string";
48
+ description: string;
49
+ required: boolean;
50
+ };
51
+ calledClass: {
52
+ type: "string";
53
+ description: string;
54
+ required: boolean;
55
+ };
56
+ methodName: {
57
+ type: "string";
58
+ description: string;
59
+ required: boolean;
60
+ };
61
+ language: {
62
+ type: "string";
63
+ description: string;
64
+ required: boolean;
65
+ default: string;
66
+ };
67
+ analysisDepth: {
68
+ type: "string";
69
+ description: string;
70
+ enum: string[];
71
+ default: string;
72
+ required: boolean;
73
+ };
74
+ analysisType: {
75
+ type: "string";
76
+ description: string;
77
+ enum: string[];
78
+ default: string;
79
+ required: boolean;
80
+ };
81
+ };
82
+ private analysisCache;
83
+ private multiFileAnalysis;
84
+ constructor();
85
+ execute(params: any, llmClient: any): Promise<any>;
86
+ /**
87
+ * Auto-detect whether this is single-file or multi-file analysis
88
+ */
89
+ private detectAnalysisMode;
90
+ /**
91
+ * Validate parameters based on detected analysis mode
92
+ */
93
+ private validateParameters;
94
+ /**
95
+ * Execute single-file analysis
96
+ */
97
+ private executeSingleFileAnalysis;
98
+ /**
99
+ * Execute multi-file analysis
100
+ */
101
+ private executeMultiFileAnalysis;
102
+ /**
103
+ * Execute specific method signature comparison
104
+ */
105
+ private executeSpecificMethodComparison;
106
+ /**
107
+ * Single-file prompt stages for method signature analysis within one file
108
+ */
109
+ private getSingleFilePromptStages;
110
+ /**
111
+ * Multi-file prompt stages for cross-file method signature analysis
112
+ */
113
+ private getMultiFilePromptStages;
114
+ /**
115
+ * Specific comparison prompt stages for targeted method signature analysis
116
+ */
117
+ private getSpecificComparisonPromptStages;
118
+ /**
119
+ * Implement for backwards compatibility
120
+ * The system still expects this method, so we intelligently route to the appropriate stages
121
+ */
122
+ getPromptStages(params: any): PromptStages;
123
+ private discoverRelevantFiles;
124
+ private performMultiFileAnalysis;
125
+ private analyzeIndividualFile;
126
+ private getFileExtensions;
127
+ private extractMethodCalls;
128
+ private extractClassDefinitions;
129
+ private findMethodCallsInContent;
130
+ private findClassDefinitionsInContent;
131
+ /**
132
+ * Find files that might contain the specified class
133
+ */
134
+ private findClassFiles;
135
+ private fileContainsClass;
136
+ private generateCacheKey;
137
+ }
138
+ export default MethodSignatureDiffer;
139
+ //# sourceMappingURL=diff-signatures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-signatures.d.ts","sourceRoot":"","sources":["../../../src/prompts/analyze/diff-signatures.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAY5D,qBAAa,qBAAsB,SAAQ,UAAW,YAAW,aAAa;IAC5E,IAAI,SAA4B;IAChC,QAAQ,EAAG,SAAS,CAAU;IAC9B,WAAW,SAAuH;IAGlI,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsER;IAEF,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,iBAAiB,CAA2B;;IAO9C,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;IAyBzC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;OAEG;YACW,yBAAyB;IA0CvC;;OAEG;YACW,wBAAwB;IA+CtC;;OAEG;YACW,+BAA+B;IAgE7C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA8EjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAkGhC;;OAEG;IACH,OAAO,CAAC,iCAAiC;IA8HzC;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,YAAY;YAgB5B,qBAAqB;YASrB,wBAAwB;YA0CxB,qBAAqB;IAcnC,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,6BAA6B;IAgBrC;;OAEG;YACW,cAAc;IAuB5B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,gBAAgB;CAKzB;AAED,eAAe,qBAAqB,CAAC"}