@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.
- package/CHANGELOG.md +273 -0
- package/LICENSE +21 -0
- package/README.md +203 -0
- package/dist/cache/analysis-cache.d.ts +33 -0
- package/dist/cache/analysis-cache.d.ts.map +1 -0
- package/dist/cache/analysis-cache.js +56 -0
- package/dist/cache/analysis-cache.js.map +1 -0
- package/dist/cache/cache-manager.d.ts +29 -0
- package/dist/cache/cache-manager.d.ts.map +1 -0
- package/dist/cache/cache-manager.js +85 -0
- package/dist/cache/cache-manager.js.map +1 -0
- package/dist/cache/index.d.ts +16 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +17 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/prompt-cache.d.ts +33 -0
- package/dist/cache/prompt-cache.d.ts.map +1 -0
- package/dist/cache/prompt-cache.js +61 -0
- package/dist/cache/prompt-cache.js.map +1 -0
- package/dist/config.d.ts +43 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +70 -0
- package/dist/config.js.map +1 -0
- package/dist/core/ThreeStagePromptManager.d.ts +39 -0
- package/dist/core/ThreeStagePromptManager.d.ts.map +1 -0
- package/dist/core/ThreeStagePromptManager.js +176 -0
- package/dist/core/ThreeStagePromptManager.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +230 -0
- package/dist/index.js.map +1 -0
- package/dist/plugins/base-plugin.d.ts +47 -0
- package/dist/plugins/base-plugin.d.ts.map +1 -0
- package/dist/plugins/base-plugin.js +90 -0
- package/dist/plugins/base-plugin.js.map +1 -0
- package/dist/plugins/index.d.ts +58 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +161 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/types.d.ts +5 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +5 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/prompts/analyze/code-quality.d.ts +116 -0
- package/dist/prompts/analyze/code-quality.d.ts.map +1 -0
- package/dist/prompts/analyze/code-quality.js +433 -0
- package/dist/prompts/analyze/code-quality.js.map +1 -0
- package/dist/prompts/analyze/compare-integration.d.ts +130 -0
- package/dist/prompts/analyze/compare-integration.d.ts.map +1 -0
- package/dist/prompts/analyze/compare-integration.js +543 -0
- package/dist/prompts/analyze/compare-integration.js.map +1 -0
- package/dist/prompts/analyze/count-files.d.ts +109 -0
- package/dist/prompts/analyze/count-files.d.ts.map +1 -0
- package/dist/prompts/analyze/count-files.js +399 -0
- package/dist/prompts/analyze/count-files.js.map +1 -0
- package/dist/prompts/analyze/database-queries.d.ts +156 -0
- package/dist/prompts/analyze/database-queries.d.ts.map +1 -0
- package/dist/prompts/analyze/database-queries.js +759 -0
- package/dist/prompts/analyze/database-queries.js.map +1 -0
- package/dist/prompts/analyze/dependencies.d.ts +97 -0
- package/dist/prompts/analyze/dependencies.d.ts.map +1 -0
- package/dist/prompts/analyze/dependencies.js +333 -0
- package/dist/prompts/analyze/dependencies.js.map +1 -0
- package/dist/prompts/analyze/diff-signatures.d.ts +139 -0
- package/dist/prompts/analyze/diff-signatures.d.ts.map +1 -0
- package/dist/prompts/analyze/diff-signatures.js +702 -0
- package/dist/prompts/analyze/diff-signatures.js.map +1 -0
- package/dist/prompts/analyze/find-patterns.d.ts +128 -0
- package/dist/prompts/analyze/find-patterns.d.ts.map +1 -0
- package/dist/prompts/analyze/find-patterns.js +520 -0
- package/dist/prompts/analyze/find-patterns.js.map +1 -0
- package/dist/prompts/analyze/find-unused-css.d.ts +151 -0
- package/dist/prompts/analyze/find-unused-css.d.ts.map +1 -0
- package/dist/prompts/analyze/find-unused-css.js +754 -0
- package/dist/prompts/analyze/find-unused-css.js.map +1 -0
- package/dist/prompts/analyze/n8n-workflow.d.ts +137 -0
- package/dist/prompts/analyze/n8n-workflow.d.ts.map +1 -0
- package/dist/prompts/analyze/n8n-workflow.js +529 -0
- package/dist/prompts/analyze/n8n-workflow.js.map +1 -0
- package/dist/prompts/analyze/project-structure.d.ts +126 -0
- package/dist/prompts/analyze/project-structure.d.ts.map +1 -0
- package/dist/prompts/analyze/project-structure.js +569 -0
- package/dist/prompts/analyze/project-structure.js.map +1 -0
- package/dist/prompts/analyze/security-audit.d.ts +142 -0
- package/dist/prompts/analyze/security-audit.d.ts.map +1 -0
- package/dist/prompts/analyze/security-audit.js +637 -0
- package/dist/prompts/analyze/security-audit.js.map +1 -0
- package/dist/prompts/analyze/single-file.d.ts +162 -0
- package/dist/prompts/analyze/single-file.d.ts.map +1 -0
- package/dist/prompts/analyze/single-file.js +665 -0
- package/dist/prompts/analyze/single-file.js.map +1 -0
- package/dist/prompts/analyze/trace-execution.d.ts +126 -0
- package/dist/prompts/analyze/trace-execution.d.ts.map +1 -0
- package/dist/prompts/analyze/trace-execution.js +609 -0
- package/dist/prompts/analyze/trace-execution.js.map +1 -0
- package/dist/prompts/analyze/wordpress-plugin-audit.d.ts +116 -0
- package/dist/prompts/analyze/wordpress-plugin-audit.d.ts.map +1 -0
- package/dist/prompts/analyze/wordpress-plugin-audit.js +454 -0
- package/dist/prompts/analyze/wordpress-plugin-audit.js.map +1 -0
- package/dist/prompts/analyze/wordpress-security.d.ts +146 -0
- package/dist/prompts/analyze/wordpress-security.d.ts.map +1 -0
- package/dist/prompts/analyze/wordpress-security.js +698 -0
- package/dist/prompts/analyze/wordpress-security.js.map +1 -0
- package/dist/prompts/analyze/wordpress-theme-audit.d.ts +114 -0
- package/dist/prompts/analyze/wordpress-theme-audit.d.ts.map +1 -0
- package/dist/prompts/analyze/wordpress-theme-audit.js +538 -0
- package/dist/prompts/analyze/wordpress-theme-audit.js.map +1 -0
- package/dist/prompts/custom/custom-prompt.d.ts +135 -0
- package/dist/prompts/custom/custom-prompt.d.ts.map +1 -0
- package/dist/prompts/custom/custom-prompt.js +419 -0
- package/dist/prompts/custom/custom-prompt.js.map +1 -0
- package/dist/prompts/fun/arcade-game.d.ts +152 -0
- package/dist/prompts/fun/arcade-game.d.ts.map +1 -0
- package/dist/prompts/fun/arcade-game.js +653 -0
- package/dist/prompts/fun/arcade-game.js.map +1 -0
- package/dist/prompts/fun/create_text_adventure.d.ts +100 -0
- package/dist/prompts/fun/create_text_adventure.d.ts.map +1 -0
- package/dist/prompts/fun/create_text_adventure.js +397 -0
- package/dist/prompts/fun/create_text_adventure.js.map +1 -0
- package/dist/prompts/fun/css-art-generator.d.ts +168 -0
- package/dist/prompts/fun/css-art-generator.d.ts.map +1 -0
- package/dist/prompts/fun/css-art-generator.js +827 -0
- package/dist/prompts/fun/css-art-generator.js.map +1 -0
- package/dist/prompts/generate/project-documentation.d.ts +137 -0
- package/dist/prompts/generate/project-documentation.d.ts.map +1 -0
- package/dist/prompts/generate/project-documentation.js +666 -0
- package/dist/prompts/generate/project-documentation.js.map +1 -0
- package/dist/prompts/generate/refactoring.d.ts +164 -0
- package/dist/prompts/generate/refactoring.d.ts.map +1 -0
- package/dist/prompts/generate/refactoring.js +621 -0
- package/dist/prompts/generate/refactoring.js.map +1 -0
- package/dist/prompts/generate/responsive-component.d.ts +147 -0
- package/dist/prompts/generate/responsive-component.d.ts.map +1 -0
- package/dist/prompts/generate/responsive-component.js +955 -0
- package/dist/prompts/generate/responsive-component.js.map +1 -0
- package/dist/prompts/generate/typescript-conversion.d.ts +144 -0
- package/dist/prompts/generate/typescript-conversion.d.ts.map +1 -0
- package/dist/prompts/generate/typescript-conversion.js +527 -0
- package/dist/prompts/generate/typescript-conversion.js.map +1 -0
- package/dist/prompts/generate/unit-tests.d.ts +139 -0
- package/dist/prompts/generate/unit-tests.d.ts.map +1 -0
- package/dist/prompts/generate/unit-tests.js +578 -0
- package/dist/prompts/generate/unit-tests.js.map +1 -0
- package/dist/prompts/generate/wordpress-plugin.d.ts +179 -0
- package/dist/prompts/generate/wordpress-plugin.d.ts.map +1 -0
- package/dist/prompts/generate/wordpress-plugin.js +763 -0
- package/dist/prompts/generate/wordpress-plugin.js.map +1 -0
- package/dist/prompts/generate/wordpress-theme-from-static.d.ts +177 -0
- package/dist/prompts/generate/wordpress-theme-from-static.d.ts.map +1 -0
- package/dist/prompts/generate/wordpress-theme-from-static.js +695 -0
- package/dist/prompts/generate/wordpress-theme-from-static.js.map +1 -0
- package/dist/prompts/shared/cache-manager.d.ts +45 -0
- package/dist/prompts/shared/cache-manager.d.ts.map +1 -0
- package/dist/prompts/shared/cache-manager.js +129 -0
- package/dist/prompts/shared/cache-manager.js.map +1 -0
- package/dist/prompts/shared/helpers.d.ts +39 -0
- package/dist/prompts/shared/helpers.d.ts.map +1 -0
- package/dist/prompts/shared/helpers.js +151 -0
- package/dist/prompts/shared/helpers.js.map +1 -0
- package/dist/prompts/shared/templates.d.ts +35 -0
- package/dist/prompts/shared/templates.d.ts.map +1 -0
- package/dist/prompts/shared/templates.js +77 -0
- package/dist/prompts/shared/templates.js.map +1 -0
- package/dist/prompts/shared/types.d.ts +112 -0
- package/dist/prompts/shared/types.d.ts.map +1 -0
- package/dist/prompts/shared/types.js +5 -0
- package/dist/prompts/shared/types.js.map +1 -0
- package/dist/prompts/system/find-unused-files.d.ts +106 -0
- package/dist/prompts/system/find-unused-files.d.ts.map +1 -0
- package/dist/prompts/system/find-unused-files.js +353 -0
- package/dist/prompts/system/find-unused-files.js.map +1 -0
- package/dist/security/index.d.ts +39 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +46 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/integration-helpers.d.ts +121 -0
- package/dist/security/integration-helpers.d.ts.map +1 -0
- package/dist/security/integration-helpers.js +190 -0
- package/dist/security/integration-helpers.js.map +1 -0
- package/dist/security/output-encoder.d.ts +94 -0
- package/dist/security/output-encoder.d.ts.map +1 -0
- package/dist/security/output-encoder.js +295 -0
- package/dist/security/output-encoder.js.map +1 -0
- package/dist/security/prompt-injection-guard.d.ts +59 -0
- package/dist/security/prompt-injection-guard.d.ts.map +1 -0
- package/dist/security/prompt-injection-guard.js +249 -0
- package/dist/security/prompt-injection-guard.js.map +1 -0
- package/dist/security/sanitisation.d.ts +67 -0
- package/dist/security/sanitisation.d.ts.map +1 -0
- package/dist/security/sanitisation.js +398 -0
- package/dist/security/sanitisation.js.map +1 -0
- package/dist/security/security-service.d.ts +103 -0
- package/dist/security/security-service.d.ts.map +1 -0
- package/dist/security/security-service.js +303 -0
- package/dist/security/security-service.js.map +1 -0
- package/dist/security-config.d.ts +45 -0
- package/dist/security-config.d.ts.map +1 -0
- package/dist/security-config.js +63 -0
- package/dist/security-config.js.map +1 -0
- package/dist/system/function-list.d.ts +61 -0
- package/dist/system/function-list.d.ts.map +1 -0
- package/dist/system/function-list.js +111 -0
- package/dist/system/function-list.js.map +1 -0
- package/dist/system/function-registry.d.ts +23 -0
- package/dist/system/function-registry.d.ts.map +1 -0
- package/dist/system/function-registry.js +136 -0
- package/dist/system/function-registry.js.map +1 -0
- package/dist/system/health-check.d.ts +33 -0
- package/dist/system/health-check.d.ts.map +1 -0
- package/dist/system/health-check.js +98 -0
- package/dist/system/health-check.js.map +1 -0
- package/dist/system/path-resolver.d.ts +55 -0
- package/dist/system/path-resolver.d.ts.map +1 -0
- package/dist/system/path-resolver.js +90 -0
- package/dist/system/path-resolver.js.map +1 -0
- package/dist/templates/plugin-template.d.ts +121 -0
- package/dist/templates/plugin-template.d.ts.map +1 -0
- package/dist/templates/plugin-template.js +450 -0
- package/dist/templates/plugin-template.js.map +1 -0
- package/dist/types/chunking-types.d.ts +88 -0
- package/dist/types/chunking-types.d.ts.map +1 -0
- package/dist/types/chunking-types.js +18 -0
- package/dist/types/chunking-types.js.map +1 -0
- package/dist/types/prompt-stages.d.ts +42 -0
- package/dist/types/prompt-stages.d.ts.map +1 -0
- package/dist/types/prompt-stages.js +6 -0
- package/dist/types/prompt-stages.js.map +1 -0
- package/dist/types.d.ts +46 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/css-parser.d.ts +26 -0
- package/dist/utils/css-parser.d.ts.map +1 -0
- package/dist/utils/css-parser.js +117 -0
- package/dist/utils/css-parser.js.map +1 -0
- package/dist/utils/path-resolver.d.ts +13 -0
- package/dist/utils/path-resolver.d.ts.map +1 -0
- package/dist/utils/path-resolver.js +78 -0
- package/dist/utils/path-resolver.js.map +1 -0
- package/dist/utils/plugin-utilities.d.ts +171 -0
- package/dist/utils/plugin-utilities.d.ts.map +1 -0
- package/dist/utils/plugin-utilities.js +221 -0
- package/dist/utils/plugin-utilities.js.map +1 -0
- package/dist/utils/streamHandler.d.ts +3 -0
- package/dist/utils/streamHandler.d.ts.map +1 -0
- package/dist/utils/streamHandler.js +137 -0
- package/dist/utils/streamHandler.js.map +1 -0
- package/dist/validation/output-validator.d.ts +136 -0
- package/dist/validation/output-validator.d.ts.map +1 -0
- package/dist/validation/output-validator.js +262 -0
- package/dist/validation/output-validator.js.map +1 -0
- package/dist/validation/response-factory.d.ts +44 -0
- package/dist/validation/response-factory.d.ts.map +1 -0
- package/dist/validation/response-factory.js +202 -0
- package/dist/validation/response-factory.js.map +1 -0
- package/dist/validation/schemas.d.ts +519 -0
- package/dist/validation/schemas.d.ts.map +1 -0
- package/dist/validation/schemas.js +6 -0
- package/dist/validation/schemas.js.map +1 -0
- 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"}
|