@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":"wordpress-theme-from-static.js","sourceRoot":"","sources":["../../../src/prompts/generate/wordpress-theme-from-static.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache Management Functions
|
|
3
|
+
* Handles cache operations for multi-file analysis
|
|
4
|
+
*/
|
|
5
|
+
import { BasePlugin } from '../../plugins/base-plugin.js';
|
|
6
|
+
import { IPromptPlugin } from './types.js';
|
|
7
|
+
import { PromptStages } from '../../types/prompt-stages.js';
|
|
8
|
+
export declare class CacheManager {
|
|
9
|
+
private static cache;
|
|
10
|
+
static clear(filePath?: string): void;
|
|
11
|
+
static getStatistics(): any;
|
|
12
|
+
static getCacheSize(): number;
|
|
13
|
+
static estimateMemoryUsage(): string;
|
|
14
|
+
}
|
|
15
|
+
export declare class ClearCachePlugin extends BasePlugin implements IPromptPlugin {
|
|
16
|
+
name: string;
|
|
17
|
+
category: "system";
|
|
18
|
+
description: string;
|
|
19
|
+
parameters: {
|
|
20
|
+
filePath: {
|
|
21
|
+
type: "string";
|
|
22
|
+
description: string;
|
|
23
|
+
required: boolean;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
execute(params: any, llmClient: any): Promise<any>;
|
|
27
|
+
getPromptStages(params: any): PromptStages;
|
|
28
|
+
getPrompt(params: any): string;
|
|
29
|
+
}
|
|
30
|
+
export declare class CacheStatisticsPlugin extends BasePlugin implements IPromptPlugin {
|
|
31
|
+
name: string;
|
|
32
|
+
category: "system";
|
|
33
|
+
description: string;
|
|
34
|
+
parameters: {};
|
|
35
|
+
execute(params: any, llmClient: any): Promise<any>;
|
|
36
|
+
getPromptStages(params: any): PromptStages;
|
|
37
|
+
getPrompt(params: any): string;
|
|
38
|
+
}
|
|
39
|
+
declare const _default: {
|
|
40
|
+
CacheManager: typeof CacheManager;
|
|
41
|
+
ClearCachePlugin: typeof ClearCachePlugin;
|
|
42
|
+
CacheStatisticsPlugin: typeof CacheStatisticsPlugin;
|
|
43
|
+
};
|
|
44
|
+
export default _default;
|
|
45
|
+
//# sourceMappingURL=cache-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-manager.d.ts","sourceRoot":"","sources":["../../../src/prompts/shared/cache-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAA+B;IAEnD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAQrC,MAAM,CAAC,aAAa,IAAI,GAAG;IAQ3B,MAAM,CAAC,YAAY,IAAI,MAAM;IAI7B,MAAM,CAAC,mBAAmB,IAAI,MAAM;CAIrC;AAED,qBAAa,gBAAiB,SAAQ,UAAW,YAAW,aAAa;IACvE,IAAI,SAA0B;IAC9B,QAAQ,EAAG,QAAQ,CAAU;IAC7B,WAAW,SAA0E;IAErF,UAAU;;;;;;MAMR;IAEI,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;IAsBzC,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,YAAY;IAS1C,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM;CAI/B;AAED,qBAAa,qBAAsB,SAAQ,UAAW,YAAW,aAAa;IAC5E,IAAI,SAA0B;IAC9B,QAAQ,EAAG,QAAQ,CAAU;IAC7B,WAAW,SAAqD;IAEhE,UAAU,KAAM;IAEV,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;IAyBzC,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,YAAY;IAS1C,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM;CAI/B;;;;;;AAED,wBAIE"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache Management Functions
|
|
3
|
+
* Handles cache operations for multi-file analysis
|
|
4
|
+
*/
|
|
5
|
+
import { BasePlugin } from '../../plugins/base-plugin.js';
|
|
6
|
+
import { ResponseFactory } from '../../validation/response-factory.js';
|
|
7
|
+
import { withSecurity } from '../../security/integration-helpers.js';
|
|
8
|
+
export class CacheManager {
|
|
9
|
+
static clear(filePath) {
|
|
10
|
+
if (filePath) {
|
|
11
|
+
this.cache.delete(filePath);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
this.cache.clear();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
static getStatistics() {
|
|
18
|
+
return {
|
|
19
|
+
totalEntries: this.cache.size,
|
|
20
|
+
memoryUsage: this.estimateMemoryUsage(),
|
|
21
|
+
files: Array.from(this.cache.keys())
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
static getCacheSize() {
|
|
25
|
+
return this.cache.size;
|
|
26
|
+
}
|
|
27
|
+
static estimateMemoryUsage() {
|
|
28
|
+
const size = JSON.stringify(Array.from(this.cache.entries())).length;
|
|
29
|
+
return `${(size / 1024).toFixed(2)} KB`;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
CacheManager.cache = new Map();
|
|
33
|
+
export class ClearCachePlugin extends BasePlugin {
|
|
34
|
+
constructor() {
|
|
35
|
+
super(...arguments);
|
|
36
|
+
this.name = 'clear_analysis_cache';
|
|
37
|
+
this.category = 'system';
|
|
38
|
+
this.description = 'Clear the multi-file analysis cache for a specific file or all files';
|
|
39
|
+
this.parameters = {
|
|
40
|
+
filePath: {
|
|
41
|
+
type: 'string',
|
|
42
|
+
description: 'Optional: specific file to clear from cache',
|
|
43
|
+
required: false
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
async execute(params, llmClient) {
|
|
48
|
+
return await withSecurity(this, params, llmClient, async (secureParams) => {
|
|
49
|
+
const entriesBefore = CacheManager.getCacheSize();
|
|
50
|
+
CacheManager.clear(secureParams.filePath);
|
|
51
|
+
// Use ResponseFactory for consistent, spec-compliant output
|
|
52
|
+
ResponseFactory.setStartTime();
|
|
53
|
+
return ResponseFactory.createSystemResponse({
|
|
54
|
+
status: 'success',
|
|
55
|
+
details: {
|
|
56
|
+
success: true,
|
|
57
|
+
message: secureParams.filePath
|
|
58
|
+
? `Cache cleared for ${secureParams.filePath}`
|
|
59
|
+
: 'All cache entries cleared',
|
|
60
|
+
filesCleared: secureParams.filePath ? 1 : entriesBefore,
|
|
61
|
+
memoryFreed: CacheManager.estimateMemoryUsage()
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
// MODERN: 3-Stage prompt architecture (system utility - no prompting needed)
|
|
67
|
+
getPromptStages(params) {
|
|
68
|
+
return {
|
|
69
|
+
systemAndContext: 'System cache management utility',
|
|
70
|
+
dataPayload: 'Cache clearing operation',
|
|
71
|
+
outputInstructions: 'Clear cache and return status'
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
// LEGACY: Backwards compatibility method
|
|
75
|
+
getPrompt(params) {
|
|
76
|
+
const stages = this.getPromptStages(params);
|
|
77
|
+
return `${stages.systemAndContext}\n\n${stages.dataPayload}\n\n${stages.outputInstructions}`;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export class CacheStatisticsPlugin extends BasePlugin {
|
|
81
|
+
constructor() {
|
|
82
|
+
super(...arguments);
|
|
83
|
+
this.name = 'get_cache_statistics';
|
|
84
|
+
this.category = 'system';
|
|
85
|
+
this.description = 'Get statistics about the current analysis cache';
|
|
86
|
+
this.parameters = {};
|
|
87
|
+
}
|
|
88
|
+
async execute(params, llmClient) {
|
|
89
|
+
return await withSecurity(this, params, llmClient, async (secureParams) => {
|
|
90
|
+
const stats = CacheManager.getStatistics();
|
|
91
|
+
// Use ResponseFactory for consistent, spec-compliant output
|
|
92
|
+
ResponseFactory.setStartTime();
|
|
93
|
+
return ResponseFactory.createSystemResponse({
|
|
94
|
+
status: 'active',
|
|
95
|
+
details: {
|
|
96
|
+
totalEntries: stats.totalEntries,
|
|
97
|
+
memoryUsage: stats.memoryUsage,
|
|
98
|
+
files: stats.files,
|
|
99
|
+
oldestEntry: stats.files.length > 0 ? new Date().toISOString() : 'none',
|
|
100
|
+
newestEntry: stats.files.length > 0 ? new Date().toISOString() : 'none',
|
|
101
|
+
hitRate: 0, // Would need actual hit tracking
|
|
102
|
+
statistics: {
|
|
103
|
+
byType: { 'analysis': stats.totalEntries },
|
|
104
|
+
bySize: { 'small': stats.totalEntries }
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
// MODERN: 3-Stage prompt architecture (system utility - no prompting needed)
|
|
111
|
+
getPromptStages(params) {
|
|
112
|
+
return {
|
|
113
|
+
systemAndContext: 'System cache statistics utility',
|
|
114
|
+
dataPayload: 'Cache statistics request',
|
|
115
|
+
outputInstructions: 'Return cache statistics and metrics'
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
// LEGACY: Backwards compatibility method
|
|
119
|
+
getPrompt(params) {
|
|
120
|
+
const stages = this.getPromptStages(params);
|
|
121
|
+
return `${stages.systemAndContext}\n\n${stages.dataPayload}\n\n${stages.outputInstructions}`;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
export default {
|
|
125
|
+
CacheManager,
|
|
126
|
+
ClearCachePlugin,
|
|
127
|
+
CacheStatisticsPlugin
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=cache-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-manager.js","sourceRoot":"","sources":["../../../src/prompts/shared/cache-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared helper functions for all plugins
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Validates that required parameters are present
|
|
6
|
+
*/
|
|
7
|
+
export declare function validateRequiredParams(params: any, required: string[]): void;
|
|
8
|
+
/**
|
|
9
|
+
* Safely validates and normalizes a file path to prevent path traversal attacks
|
|
10
|
+
* This function should be used before any file operations
|
|
11
|
+
*/
|
|
12
|
+
export declare function validateAndNormalizePath(filePath: string): Promise<string>;
|
|
13
|
+
/**
|
|
14
|
+
* Safely reads file content with proper security checks and path traversal protection
|
|
15
|
+
* Uses the validateAndNormalizePath function to ensure security
|
|
16
|
+
*/
|
|
17
|
+
export declare function readFileContent(filePath: string): Promise<string>;
|
|
18
|
+
/**
|
|
19
|
+
* Formats code snippets for inclusion in prompts
|
|
20
|
+
*/
|
|
21
|
+
export declare function formatCodeForPrompt(code: string, language: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Truncates long strings with ellipsis
|
|
24
|
+
*/
|
|
25
|
+
export declare function truncateString(str: string, maxLength: number): string;
|
|
26
|
+
/**
|
|
27
|
+
* Escapes special characters in strings for safe prompt inclusion
|
|
28
|
+
*/
|
|
29
|
+
export declare function escapeForPrompt(str: string): string;
|
|
30
|
+
declare const _default: {
|
|
31
|
+
validateRequiredParams: typeof validateRequiredParams;
|
|
32
|
+
validateAndNormalizePath: typeof validateAndNormalizePath;
|
|
33
|
+
readFileContent: typeof readFileContent;
|
|
34
|
+
formatCodeForPrompt: typeof formatCodeForPrompt;
|
|
35
|
+
truncateString: typeof truncateString;
|
|
36
|
+
escapeForPrompt: typeof escapeForPrompt;
|
|
37
|
+
};
|
|
38
|
+
export default _default;
|
|
39
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/prompts/shared/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAM5E;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoEhF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+CvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGrE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;;;;;;;;;AAED,wBAOE"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared helper functions for all plugins
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Validates that required parameters are present
|
|
6
|
+
*/
|
|
7
|
+
export function validateRequiredParams(params, required) {
|
|
8
|
+
for (const param of required) {
|
|
9
|
+
if (!params[param]) {
|
|
10
|
+
throw new Error(`Missing required parameter: ${param}`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Safely validates and normalizes a file path to prevent path traversal attacks
|
|
16
|
+
* This function should be used before any file operations
|
|
17
|
+
*/
|
|
18
|
+
export async function validateAndNormalizePath(filePath) {
|
|
19
|
+
const path = await import('path');
|
|
20
|
+
const { securityConfig } = await import('../../security-config.js');
|
|
21
|
+
// Input validation
|
|
22
|
+
if (!filePath || typeof filePath !== 'string') {
|
|
23
|
+
throw new Error('Invalid file path provided');
|
|
24
|
+
}
|
|
25
|
+
// Check for null bytes (directory traversal attack vector)
|
|
26
|
+
if (filePath.includes('\0')) {
|
|
27
|
+
throw new Error('Access denied: Null byte detected in file path');
|
|
28
|
+
}
|
|
29
|
+
// Check for path traversal sequences BEFORE normalization (prevents bypass)
|
|
30
|
+
if (filePath.includes('..')) {
|
|
31
|
+
throw new Error('Access denied: Path traversal sequences detected');
|
|
32
|
+
}
|
|
33
|
+
// Must be absolute path
|
|
34
|
+
if (!path.isAbsolute(filePath)) {
|
|
35
|
+
throw new Error('File path must be absolute');
|
|
36
|
+
}
|
|
37
|
+
// Normalize and resolve to canonical form - this MUST come after traversal checks
|
|
38
|
+
const normalizedPath = path.resolve(path.normalize(filePath));
|
|
39
|
+
// Double-check: ensure normalization didn't introduce traversal sequences
|
|
40
|
+
if (normalizedPath.includes('..')) {
|
|
41
|
+
throw new Error('Access denied: Path normalization resulted in traversal sequences');
|
|
42
|
+
}
|
|
43
|
+
// Get allowed directories (these are already normalized and lowercase for Windows)
|
|
44
|
+
const allowedDirs = securityConfig.getAllowedDirectories();
|
|
45
|
+
// Validate against allowed directories (case-insensitive for Windows)
|
|
46
|
+
const normalizedPathLower = normalizedPath.toLowerCase();
|
|
47
|
+
const isPathSafe = allowedDirs.some(allowedDir => {
|
|
48
|
+
// Exact match check first
|
|
49
|
+
if (normalizedPathLower === allowedDir) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
// Subdirectory check - ensure path is actually within the allowed directory
|
|
53
|
+
// Both paths must end with separator for accurate boundary detection
|
|
54
|
+
const normalizedAllowedDir = allowedDir.endsWith(path.sep) ? allowedDir : allowedDir + path.sep;
|
|
55
|
+
const pathToCheck = normalizedPathLower.endsWith(path.sep) ? normalizedPathLower : normalizedPathLower + path.sep;
|
|
56
|
+
return pathToCheck.startsWith(normalizedAllowedDir);
|
|
57
|
+
});
|
|
58
|
+
if (!isPathSafe) {
|
|
59
|
+
// Log security violation if enabled
|
|
60
|
+
if (securityConfig.security.logSecurityViolations) {
|
|
61
|
+
console.warn(`SECURITY VIOLATION: Attempted access to unauthorized path: ${filePath} (normalized: ${normalizedPath})`);
|
|
62
|
+
console.warn(`Allowed directories: ${allowedDirs.join(', ')}`);
|
|
63
|
+
}
|
|
64
|
+
throw new Error(`Access denied: Path '${filePath}' is outside allowed directories`);
|
|
65
|
+
}
|
|
66
|
+
// Final validation: ensure the normalized path hasn't escaped the boundaries
|
|
67
|
+
// This catches edge cases where path.resolve might behave unexpectedly
|
|
68
|
+
const relativePath = path.relative(allowedDirs.find(dir => normalizedPathLower.startsWith(dir)), normalizedPath);
|
|
69
|
+
if (relativePath.startsWith('..') || path.isAbsolute(relativePath)) {
|
|
70
|
+
throw new Error('Access denied: Path validation failed - potential escape detected');
|
|
71
|
+
}
|
|
72
|
+
return normalizedPath;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Safely reads file content with proper security checks and path traversal protection
|
|
76
|
+
* Uses the validateAndNormalizePath function to ensure security
|
|
77
|
+
*/
|
|
78
|
+
export async function readFileContent(filePath) {
|
|
79
|
+
const fs = await import('fs/promises');
|
|
80
|
+
const path = await import('path');
|
|
81
|
+
// Import security config
|
|
82
|
+
const { securityConfig } = await import('../../security-config.js');
|
|
83
|
+
// First, validate and normalize the path (this includes all security checks)
|
|
84
|
+
const normalizedPath = await validateAndNormalizePath(filePath);
|
|
85
|
+
try {
|
|
86
|
+
// Check if file exists and is actually a file (not directory)
|
|
87
|
+
const stat = await fs.stat(normalizedPath);
|
|
88
|
+
if (!stat.isFile()) {
|
|
89
|
+
throw new Error(`Path '${filePath}' is not a file`);
|
|
90
|
+
}
|
|
91
|
+
// Check file size limit
|
|
92
|
+
if (stat.size > securityConfig.security.maxFileSize) {
|
|
93
|
+
throw new Error(`File '${filePath}' exceeds maximum size limit (${securityConfig.security.maxFileSize} bytes)`);
|
|
94
|
+
}
|
|
95
|
+
// Check file extension if restrictions are in place
|
|
96
|
+
const fileExt = path.extname(normalizedPath).toLowerCase();
|
|
97
|
+
if (securityConfig.security.allowedExtensions.length > 0 &&
|
|
98
|
+
!securityConfig.security.allowedExtensions.includes(fileExt)) {
|
|
99
|
+
throw new Error(`File extension '${fileExt}' is not allowed`);
|
|
100
|
+
}
|
|
101
|
+
// Read file content
|
|
102
|
+
const content = await fs.readFile(normalizedPath, 'utf-8');
|
|
103
|
+
return content;
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
if (error.code === 'ENOENT') {
|
|
107
|
+
throw new Error(`File not found: ${filePath}`);
|
|
108
|
+
}
|
|
109
|
+
else if (error.code === 'EACCES') {
|
|
110
|
+
throw new Error(`Permission denied: ${filePath}`);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
// Re-throw our custom errors as-is
|
|
114
|
+
if (error.message.includes('Access denied') ||
|
|
115
|
+
error.message.includes('exceeds maximum size') ||
|
|
116
|
+
error.message.includes('not allowed')) {
|
|
117
|
+
throw error;
|
|
118
|
+
}
|
|
119
|
+
throw new Error(`Failed to read file '${filePath}': ${error.message}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Formats code snippets for inclusion in prompts
|
|
125
|
+
*/
|
|
126
|
+
export function formatCodeForPrompt(code, language) {
|
|
127
|
+
return `\`\`\`${language}\n${code}\n\`\`\``;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Truncates long strings with ellipsis
|
|
131
|
+
*/
|
|
132
|
+
export function truncateString(str, maxLength) {
|
|
133
|
+
if (str.length <= maxLength)
|
|
134
|
+
return str;
|
|
135
|
+
return str.substring(0, maxLength - 3) + '...';
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Escapes special characters in strings for safe prompt inclusion
|
|
139
|
+
*/
|
|
140
|
+
export function escapeForPrompt(str) {
|
|
141
|
+
return str.replace(/[`\\]/g, '\\$&');
|
|
142
|
+
}
|
|
143
|
+
export default {
|
|
144
|
+
validateRequiredParams,
|
|
145
|
+
validateAndNormalizePath,
|
|
146
|
+
readFileContent,
|
|
147
|
+
formatCodeForPrompt,
|
|
148
|
+
truncateString,
|
|
149
|
+
escapeForPrompt
|
|
150
|
+
};
|
|
151
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/prompts/shared/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared prompt templates used across multiple plugins
|
|
3
|
+
*/
|
|
4
|
+
export declare const COMMON_INSTRUCTIONS: {
|
|
5
|
+
codeQuality: string;
|
|
6
|
+
outputFormat: string;
|
|
7
|
+
frameworkSpecific: {
|
|
8
|
+
wordpress: string;
|
|
9
|
+
react: string;
|
|
10
|
+
node: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export declare const ANALYSIS_TEMPLATES: {
|
|
14
|
+
complexity: string;
|
|
15
|
+
security: string;
|
|
16
|
+
performance: string;
|
|
17
|
+
};
|
|
18
|
+
declare const _default: {
|
|
19
|
+
COMMON_INSTRUCTIONS: {
|
|
20
|
+
codeQuality: string;
|
|
21
|
+
outputFormat: string;
|
|
22
|
+
frameworkSpecific: {
|
|
23
|
+
wordpress: string;
|
|
24
|
+
react: string;
|
|
25
|
+
node: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
ANALYSIS_TEMPLATES: {
|
|
29
|
+
complexity: string;
|
|
30
|
+
security: string;
|
|
31
|
+
performance: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export default _default;
|
|
35
|
+
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/prompts/shared/templates.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;CA6C/B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;CA4B9B,CAAC;;;;;;;;;;;;;;;;;AAEF,wBAGE"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared prompt templates used across multiple plugins
|
|
3
|
+
*/
|
|
4
|
+
export const COMMON_INSTRUCTIONS = {
|
|
5
|
+
codeQuality: `
|
|
6
|
+
Focus on:
|
|
7
|
+
- Code readability and maintainability
|
|
8
|
+
- Performance implications
|
|
9
|
+
- Security considerations
|
|
10
|
+
- Best practices for the given language/framework
|
|
11
|
+
`,
|
|
12
|
+
outputFormat: `
|
|
13
|
+
Provide your response in a clear, structured format:
|
|
14
|
+
- Use bullet points for lists
|
|
15
|
+
- Include code examples where relevant
|
|
16
|
+
- Highlight critical issues first
|
|
17
|
+
- Suggest actionable improvements
|
|
18
|
+
`,
|
|
19
|
+
frameworkSpecific: {
|
|
20
|
+
wordpress: `
|
|
21
|
+
Consider WordPress-specific patterns:
|
|
22
|
+
- Hook and filter usage
|
|
23
|
+
- Nonce verification for security
|
|
24
|
+
- Proper escaping and sanitization
|
|
25
|
+
- Database query optimization
|
|
26
|
+
- Plugin/theme compatibility
|
|
27
|
+
`,
|
|
28
|
+
react: `
|
|
29
|
+
Consider React-specific patterns:
|
|
30
|
+
- Component composition
|
|
31
|
+
- State management
|
|
32
|
+
- Performance optimization (memoization, lazy loading)
|
|
33
|
+
- Accessibility (ARIA attributes)
|
|
34
|
+
- Testing considerations
|
|
35
|
+
`,
|
|
36
|
+
node: `
|
|
37
|
+
Consider Node.js-specific patterns:
|
|
38
|
+
- Async/await patterns
|
|
39
|
+
- Error handling
|
|
40
|
+
- Module structure
|
|
41
|
+
- Performance and memory usage
|
|
42
|
+
- Security (input validation, authentication)
|
|
43
|
+
`
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
export const ANALYSIS_TEMPLATES = {
|
|
47
|
+
complexity: `
|
|
48
|
+
Analyze the complexity of this code:
|
|
49
|
+
- Cyclomatic complexity
|
|
50
|
+
- Cognitive complexity
|
|
51
|
+
- Nesting depth
|
|
52
|
+
- Function length
|
|
53
|
+
Suggest ways to reduce complexity if needed.
|
|
54
|
+
`,
|
|
55
|
+
security: `
|
|
56
|
+
Perform a security analysis:
|
|
57
|
+
- Input validation
|
|
58
|
+
- Authentication/authorization
|
|
59
|
+
- Data sanitization
|
|
60
|
+
- SQL injection risks
|
|
61
|
+
- XSS vulnerabilities
|
|
62
|
+
- CSRF protection
|
|
63
|
+
`,
|
|
64
|
+
performance: `
|
|
65
|
+
Analyze performance aspects:
|
|
66
|
+
- Algorithm efficiency
|
|
67
|
+
- Database query optimization
|
|
68
|
+
- Caching opportunities
|
|
69
|
+
- Memory usage patterns
|
|
70
|
+
- Potential bottlenecks
|
|
71
|
+
`
|
|
72
|
+
};
|
|
73
|
+
export default {
|
|
74
|
+
COMMON_INSTRUCTIONS,
|
|
75
|
+
ANALYSIS_TEMPLATES
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/prompts/shared/templates.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,WAAW,EAAE;;;;;;GAMZ;IAED,YAAY,EAAE;;;;;;GAMb;IAED,iBAAiB,EAAE;QACjB,SAAS,EAAE;;;;;;;KAOV;QAED,KAAK,EAAE;;;;;;;KAON;QAED,IAAI,EAAE;;;;;;;KAOL;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE;;;;;;;GAOX;IAED,QAAQ,EAAE;;;;;;;;GAQT;IAED,WAAW,EAAE;;;;;;;GAOZ;CACF,CAAC;AAEF,eAAe;IACb,mBAAmB;IACnB,kBAAkB;CACnB,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript type definitions for the modern v4.2 plugin system
|
|
3
|
+
*/
|
|
4
|
+
import { PromptStages } from '../../types/prompt-stages.js';
|
|
5
|
+
export interface IPromptPlugin {
|
|
6
|
+
name: string;
|
|
7
|
+
category: 'analyze' | 'generate' | 'multifile' | 'custom' | 'system';
|
|
8
|
+
description: string;
|
|
9
|
+
parameters: ParameterSchema;
|
|
10
|
+
execute(params: any, llmClient: any): Promise<any>;
|
|
11
|
+
getPromptStages(params: any): PromptStages;
|
|
12
|
+
validateParams?(params: any): void;
|
|
13
|
+
getToolDefinition(): any;
|
|
14
|
+
}
|
|
15
|
+
export interface ParameterSchema {
|
|
16
|
+
[key: string]: ParameterDefinition;
|
|
17
|
+
}
|
|
18
|
+
export interface ParameterDefinition {
|
|
19
|
+
type: 'string' | 'number' | 'boolean' | 'array' | 'object';
|
|
20
|
+
description?: string;
|
|
21
|
+
required?: boolean;
|
|
22
|
+
default?: any;
|
|
23
|
+
enum?: string[];
|
|
24
|
+
items?: ParameterDefinition;
|
|
25
|
+
properties?: ParameterSchema;
|
|
26
|
+
}
|
|
27
|
+
export interface PluginContext {
|
|
28
|
+
projectType?: 'wordpress-plugin' | 'wordpress-theme' | 'react-app' | 'react-component' | 'node-api' | 'n8n-node' | 'n8n-workflow' | 'browser-extension' | 'cli-tool' | 'html-component' | 'generic';
|
|
29
|
+
framework?: string;
|
|
30
|
+
frameworkVersion?: string;
|
|
31
|
+
environment?: 'browser' | 'node' | 'wordpress' | 'hybrid';
|
|
32
|
+
standards?: string[];
|
|
33
|
+
language?: string;
|
|
34
|
+
languageVersion?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface AnalysisResult {
|
|
37
|
+
summary: string;
|
|
38
|
+
findings: Finding[];
|
|
39
|
+
suggestions: Suggestion[];
|
|
40
|
+
metrics?: Metrics;
|
|
41
|
+
confidence?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface Finding {
|
|
44
|
+
severity: 'critical' | 'high' | 'medium' | 'low' | 'info';
|
|
45
|
+
type: 'issue' | 'warning' | 'suggestion' | 'info';
|
|
46
|
+
message: string;
|
|
47
|
+
location?: string;
|
|
48
|
+
line?: number;
|
|
49
|
+
column?: number;
|
|
50
|
+
recommendation?: string;
|
|
51
|
+
}
|
|
52
|
+
export interface Suggestion {
|
|
53
|
+
priority: 'high' | 'medium' | 'low';
|
|
54
|
+
category: string;
|
|
55
|
+
description: string;
|
|
56
|
+
implementation?: string;
|
|
57
|
+
benefits?: string[];
|
|
58
|
+
risks?: string[];
|
|
59
|
+
}
|
|
60
|
+
export interface Metrics {
|
|
61
|
+
linesOfCode?: number;
|
|
62
|
+
cyclomaticComplexity?: number;
|
|
63
|
+
cognitiveComplexity?: number;
|
|
64
|
+
maintainabilityIndex?: number;
|
|
65
|
+
testCoverage?: number;
|
|
66
|
+
[key: string]: any;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Modern LM Studio Client Interface (v4.2)
|
|
70
|
+
* Uses streaming and model management
|
|
71
|
+
*/
|
|
72
|
+
export interface LLMClient {
|
|
73
|
+
llm: {
|
|
74
|
+
listLoaded(): Promise<LLMModel[]>;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export interface LLMModel {
|
|
78
|
+
identifier: string;
|
|
79
|
+
respond(messages: ChatMessage[], options: ModelOptions): AsyncIterable<ModelResponse>;
|
|
80
|
+
getContextLength?(): Promise<number>;
|
|
81
|
+
}
|
|
82
|
+
export interface ChatMessage {
|
|
83
|
+
role: 'system' | 'user' | 'assistant';
|
|
84
|
+
content: string;
|
|
85
|
+
}
|
|
86
|
+
export interface ModelOptions {
|
|
87
|
+
temperature?: number;
|
|
88
|
+
maxTokens?: number;
|
|
89
|
+
topP?: number;
|
|
90
|
+
}
|
|
91
|
+
export interface ModelResponse {
|
|
92
|
+
content?: string;
|
|
93
|
+
[key: string]: any;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Security and validation types
|
|
97
|
+
*/
|
|
98
|
+
export interface SecurityResult {
|
|
99
|
+
blocked: boolean;
|
|
100
|
+
sanitised: any;
|
|
101
|
+
warnings: string[];
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Plugin execution context
|
|
105
|
+
*/
|
|
106
|
+
export interface PluginExecutionContext {
|
|
107
|
+
modelUsed?: string;
|
|
108
|
+
executionTimeMs?: number;
|
|
109
|
+
contextLength?: number;
|
|
110
|
+
chunked?: boolean;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=types.d.ts.map
|