cursor-recursive-rag 0.2.0-alpha.2 → 0.2.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/README.md +179 -203
- package/dist/adapters/llm/anthropic.d.ts +27 -0
- package/dist/adapters/llm/anthropic.d.ts.map +1 -0
- package/dist/adapters/llm/anthropic.js +287 -0
- package/dist/adapters/llm/anthropic.js.map +1 -0
- package/dist/adapters/llm/base.d.ts +62 -0
- package/dist/adapters/llm/base.d.ts.map +1 -0
- package/dist/adapters/llm/base.js +140 -0
- package/dist/adapters/llm/base.js.map +1 -0
- package/dist/adapters/llm/deepseek.d.ts +24 -0
- package/dist/adapters/llm/deepseek.d.ts.map +1 -0
- package/dist/adapters/llm/deepseek.js +228 -0
- package/dist/adapters/llm/deepseek.js.map +1 -0
- package/dist/adapters/llm/groq.d.ts +25 -0
- package/dist/adapters/llm/groq.d.ts.map +1 -0
- package/dist/adapters/llm/groq.js +265 -0
- package/dist/adapters/llm/groq.js.map +1 -0
- package/dist/adapters/llm/index.d.ts +62 -0
- package/dist/adapters/llm/index.d.ts.map +1 -0
- package/dist/adapters/llm/index.js +380 -0
- package/dist/adapters/llm/index.js.map +1 -0
- package/dist/adapters/llm/ollama.d.ts +23 -0
- package/dist/adapters/llm/ollama.d.ts.map +1 -0
- package/dist/adapters/llm/ollama.js +261 -0
- package/dist/adapters/llm/ollama.js.map +1 -0
- package/dist/adapters/llm/openai.d.ts +22 -0
- package/dist/adapters/llm/openai.d.ts.map +1 -0
- package/dist/adapters/llm/openai.js +232 -0
- package/dist/adapters/llm/openai.js.map +1 -0
- package/dist/adapters/llm/openrouter.d.ts +27 -0
- package/dist/adapters/llm/openrouter.d.ts.map +1 -0
- package/dist/adapters/llm/openrouter.js +305 -0
- package/dist/adapters/llm/openrouter.js.map +1 -0
- package/dist/adapters/vector/index.d.ts.map +1 -1
- package/dist/adapters/vector/index.js +8 -0
- package/dist/adapters/vector/index.js.map +1 -1
- package/dist/adapters/vector/redis-native.d.ts +35 -0
- package/dist/adapters/vector/redis-native.d.ts.map +1 -0
- package/dist/adapters/vector/redis-native.js +170 -0
- package/dist/adapters/vector/redis-native.js.map +1 -0
- package/dist/cli/commands/chat.d.ts +4 -0
- package/dist/cli/commands/chat.d.ts.map +1 -0
- package/dist/cli/commands/chat.js +374 -0
- package/dist/cli/commands/chat.js.map +1 -0
- package/dist/cli/commands/maintenance.d.ts +4 -0
- package/dist/cli/commands/maintenance.d.ts.map +1 -0
- package/dist/cli/commands/maintenance.js +237 -0
- package/dist/cli/commands/maintenance.js.map +1 -0
- package/dist/cli/commands/rules.d.ts +9 -0
- package/dist/cli/commands/rules.d.ts.map +1 -0
- package/dist/cli/commands/rules.js +639 -0
- package/dist/cli/commands/rules.js.map +1 -0
- package/dist/cli/commands/setup.js +5 -4
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/index.js +6 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/config/memoryConfig.d.ts +427 -0
- package/dist/config/memoryConfig.d.ts.map +1 -0
- package/dist/config/memoryConfig.js +258 -0
- package/dist/config/memoryConfig.js.map +1 -0
- package/dist/config/rulesConfig.d.ts +486 -0
- package/dist/config/rulesConfig.d.ts.map +1 -0
- package/dist/config/rulesConfig.js +345 -0
- package/dist/config/rulesConfig.js.map +1 -0
- package/dist/dashboard/coreTools.d.ts +14 -0
- package/dist/dashboard/coreTools.d.ts.map +1 -0
- package/dist/dashboard/coreTools.js +413 -0
- package/dist/dashboard/coreTools.js.map +1 -0
- package/dist/dashboard/public/index.html +1982 -13
- package/dist/dashboard/server.d.ts +1 -8
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +846 -13
- package/dist/dashboard/server.js.map +1 -1
- package/dist/dashboard/toolRegistry.d.ts +192 -0
- package/dist/dashboard/toolRegistry.d.ts.map +1 -0
- package/dist/dashboard/toolRegistry.js +322 -0
- package/dist/dashboard/toolRegistry.js.map +1 -0
- package/dist/proxy/index.d.ts +1 -1
- package/dist/proxy/index.d.ts.map +1 -1
- package/dist/proxy/index.js +9 -6
- package/dist/proxy/index.js.map +1 -1
- package/dist/server/index.js +21 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/tools/crawl.d.ts.map +1 -1
- package/dist/server/tools/crawl.js +8 -0
- package/dist/server/tools/crawl.js.map +1 -1
- package/dist/server/tools/index.d.ts.map +1 -1
- package/dist/server/tools/index.js +19 -1
- package/dist/server/tools/index.js.map +1 -1
- package/dist/server/tools/ingest.d.ts.map +1 -1
- package/dist/server/tools/ingest.js +5 -0
- package/dist/server/tools/ingest.js.map +1 -1
- package/dist/server/tools/memory.d.ts +250 -0
- package/dist/server/tools/memory.d.ts.map +1 -0
- package/dist/server/tools/memory.js +472 -0
- package/dist/server/tools/memory.js.map +1 -0
- package/dist/server/tools/recursive-query.d.ts.map +1 -1
- package/dist/server/tools/recursive-query.js +6 -0
- package/dist/server/tools/recursive-query.js.map +1 -1
- package/dist/server/tools/search.d.ts.map +1 -1
- package/dist/server/tools/search.js +6 -0
- package/dist/server/tools/search.js.map +1 -1
- package/dist/services/activity-log.d.ts +10 -0
- package/dist/services/activity-log.d.ts.map +1 -0
- package/dist/services/activity-log.js +53 -0
- package/dist/services/activity-log.js.map +1 -0
- package/dist/services/categoryManager.d.ts +110 -0
- package/dist/services/categoryManager.d.ts.map +1 -0
- package/dist/services/categoryManager.js +549 -0
- package/dist/services/categoryManager.js.map +1 -0
- package/dist/services/contextEnvironment.d.ts +206 -0
- package/dist/services/contextEnvironment.d.ts.map +1 -0
- package/dist/services/contextEnvironment.js +481 -0
- package/dist/services/contextEnvironment.js.map +1 -0
- package/dist/services/conversationProcessor.d.ts +99 -0
- package/dist/services/conversationProcessor.d.ts.map +1 -0
- package/dist/services/conversationProcessor.js +311 -0
- package/dist/services/conversationProcessor.js.map +1 -0
- package/dist/services/cursorChatReader.d.ts +129 -0
- package/dist/services/cursorChatReader.d.ts.map +1 -0
- package/dist/services/cursorChatReader.js +419 -0
- package/dist/services/cursorChatReader.js.map +1 -0
- package/dist/services/decayCalculator.d.ts +85 -0
- package/dist/services/decayCalculator.d.ts.map +1 -0
- package/dist/services/decayCalculator.js +182 -0
- package/dist/services/decayCalculator.js.map +1 -0
- package/dist/services/enhancedVectorStore.d.ts +102 -0
- package/dist/services/enhancedVectorStore.d.ts.map +1 -0
- package/dist/services/enhancedVectorStore.js +245 -0
- package/dist/services/enhancedVectorStore.js.map +1 -0
- package/dist/services/hybridScorer.d.ts +120 -0
- package/dist/services/hybridScorer.d.ts.map +1 -0
- package/dist/services/hybridScorer.js +334 -0
- package/dist/services/hybridScorer.js.map +1 -0
- package/dist/services/knowledgeExtractor.d.ts +45 -0
- package/dist/services/knowledgeExtractor.d.ts.map +1 -0
- package/dist/services/knowledgeExtractor.js +436 -0
- package/dist/services/knowledgeExtractor.js.map +1 -0
- package/dist/services/knowledgeStorage.d.ts +102 -0
- package/dist/services/knowledgeStorage.d.ts.map +1 -0
- package/dist/services/knowledgeStorage.js +383 -0
- package/dist/services/knowledgeStorage.js.map +1 -0
- package/dist/services/maintenanceScheduler.d.ts +89 -0
- package/dist/services/maintenanceScheduler.d.ts.map +1 -0
- package/dist/services/maintenanceScheduler.js +479 -0
- package/dist/services/maintenanceScheduler.js.map +1 -0
- package/dist/services/memoryMetadataStore.d.ts +62 -0
- package/dist/services/memoryMetadataStore.d.ts.map +1 -0
- package/dist/services/memoryMetadataStore.js +570 -0
- package/dist/services/memoryMetadataStore.js.map +1 -0
- package/dist/services/recursiveRetrieval.d.ts +122 -0
- package/dist/services/recursiveRetrieval.d.ts.map +1 -0
- package/dist/services/recursiveRetrieval.js +443 -0
- package/dist/services/recursiveRetrieval.js.map +1 -0
- package/dist/services/relationshipGraph.d.ts +77 -0
- package/dist/services/relationshipGraph.d.ts.map +1 -0
- package/dist/services/relationshipGraph.js +411 -0
- package/dist/services/relationshipGraph.js.map +1 -0
- package/dist/services/rlmSafeguards.d.ts +273 -0
- package/dist/services/rlmSafeguards.d.ts.map +1 -0
- package/dist/services/rlmSafeguards.js +705 -0
- package/dist/services/rlmSafeguards.js.map +1 -0
- package/dist/services/rulesAnalyzer.d.ts +119 -0
- package/dist/services/rulesAnalyzer.d.ts.map +1 -0
- package/dist/services/rulesAnalyzer.js +768 -0
- package/dist/services/rulesAnalyzer.js.map +1 -0
- package/dist/services/rulesMerger.d.ts +75 -0
- package/dist/services/rulesMerger.d.ts.map +1 -0
- package/dist/services/rulesMerger.js +404 -0
- package/dist/services/rulesMerger.js.map +1 -0
- package/dist/services/rulesParser.d.ts +127 -0
- package/dist/services/rulesParser.d.ts.map +1 -0
- package/dist/services/rulesParser.js +594 -0
- package/dist/services/rulesParser.js.map +1 -0
- package/dist/services/smartChunker.d.ts +110 -0
- package/dist/services/smartChunker.d.ts.map +1 -0
- package/dist/services/smartChunker.js +520 -0
- package/dist/services/smartChunker.js.map +1 -0
- package/dist/types/categories.d.ts +105 -0
- package/dist/types/categories.d.ts.map +1 -0
- package/dist/types/categories.js +108 -0
- package/dist/types/categories.js.map +1 -0
- package/dist/types/extractedKnowledge.d.ts +233 -0
- package/dist/types/extractedKnowledge.d.ts.map +1 -0
- package/dist/types/extractedKnowledge.js +56 -0
- package/dist/types/extractedKnowledge.js.map +1 -0
- package/dist/types/index.d.ts +9 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +12 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/llmProvider.d.ts +282 -0
- package/dist/types/llmProvider.d.ts.map +1 -0
- package/dist/types/llmProvider.js +48 -0
- package/dist/types/llmProvider.js.map +1 -0
- package/dist/types/memory.d.ts +227 -0
- package/dist/types/memory.d.ts.map +1 -0
- package/dist/types/memory.js +76 -0
- package/dist/types/memory.js.map +1 -0
- package/dist/types/relationships.d.ts +167 -0
- package/dist/types/relationships.d.ts.map +1 -0
- package/dist/types/relationships.js +106 -0
- package/dist/types/relationships.js.map +1 -0
- package/dist/types/rulesOptimizer.d.ts +345 -0
- package/dist/types/rulesOptimizer.d.ts.map +1 -0
- package/dist/types/rulesOptimizer.js +22 -0
- package/dist/types/rulesOptimizer.js.map +1 -0
- package/docs/cursor-recursive-rag-memory-spec.md +4569 -0
- package/docs/cursor-recursive-rag-tasks.md +1355 -0
- package/package.json +6 -3
- package/restart-rag.sh +16 -0
|
@@ -0,0 +1,486 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rules Analyzer Configuration
|
|
3
|
+
*
|
|
4
|
+
* User-configurable settings for the rules optimizer.
|
|
5
|
+
* Can be set via:
|
|
6
|
+
* - Config file: ~/.cursor-rag/rules-config.json
|
|
7
|
+
* - Dashboard UI
|
|
8
|
+
* - CLI flags
|
|
9
|
+
*/
|
|
10
|
+
import { z } from 'zod';
|
|
11
|
+
/**
|
|
12
|
+
* Custom version check pattern
|
|
13
|
+
*/
|
|
14
|
+
export declare const VersionCheckSchema: z.ZodObject<{
|
|
15
|
+
/** Technology name (e.g., "Laravel", "React") */
|
|
16
|
+
name: z.ZodString;
|
|
17
|
+
/** Regex pattern to match version mentions (should have one capture group for version) */
|
|
18
|
+
pattern: z.ZodString;
|
|
19
|
+
/** Current/expected version number */
|
|
20
|
+
currentVersion: z.ZodString;
|
|
21
|
+
/** Whether this check is enabled */
|
|
22
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
23
|
+
}, "strip", z.ZodTypeAny, {
|
|
24
|
+
pattern: string;
|
|
25
|
+
name: string;
|
|
26
|
+
enabled: boolean;
|
|
27
|
+
currentVersion: string;
|
|
28
|
+
}, {
|
|
29
|
+
pattern: string;
|
|
30
|
+
name: string;
|
|
31
|
+
currentVersion: string;
|
|
32
|
+
enabled?: boolean | undefined;
|
|
33
|
+
}>;
|
|
34
|
+
export type VersionCheck = z.infer<typeof VersionCheckSchema>;
|
|
35
|
+
/**
|
|
36
|
+
* Custom deprecation pattern
|
|
37
|
+
*/
|
|
38
|
+
export declare const DeprecationPatternSchema: z.ZodObject<{
|
|
39
|
+
/** Pattern name/identifier */
|
|
40
|
+
name: z.ZodString;
|
|
41
|
+
/** Regex pattern to detect the deprecated usage */
|
|
42
|
+
pattern: z.ZodString;
|
|
43
|
+
/** Human-readable reason why this is deprecated */
|
|
44
|
+
reason: z.ZodString;
|
|
45
|
+
/** Suggested alternative */
|
|
46
|
+
suggestion: z.ZodOptional<z.ZodString>;
|
|
47
|
+
/** Whether this check is enabled */
|
|
48
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
49
|
+
}, "strip", z.ZodTypeAny, {
|
|
50
|
+
pattern: string;
|
|
51
|
+
name: string;
|
|
52
|
+
enabled: boolean;
|
|
53
|
+
reason: string;
|
|
54
|
+
suggestion?: string | undefined;
|
|
55
|
+
}, {
|
|
56
|
+
pattern: string;
|
|
57
|
+
name: string;
|
|
58
|
+
reason: string;
|
|
59
|
+
enabled?: boolean | undefined;
|
|
60
|
+
suggestion?: string | undefined;
|
|
61
|
+
}>;
|
|
62
|
+
export type DeprecationPattern = z.infer<typeof DeprecationPatternSchema>;
|
|
63
|
+
/**
|
|
64
|
+
* Custom tag extraction pattern
|
|
65
|
+
*/
|
|
66
|
+
export declare const TagPatternSchema: z.ZodObject<{
|
|
67
|
+
/** Tag that will be applied */
|
|
68
|
+
tag: z.ZodString;
|
|
69
|
+
/** Regex pattern to match content */
|
|
70
|
+
pattern: z.ZodString;
|
|
71
|
+
/** Whether this pattern is enabled */
|
|
72
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
73
|
+
}, "strip", z.ZodTypeAny, {
|
|
74
|
+
pattern: string;
|
|
75
|
+
enabled: boolean;
|
|
76
|
+
tag: string;
|
|
77
|
+
}, {
|
|
78
|
+
pattern: string;
|
|
79
|
+
tag: string;
|
|
80
|
+
enabled?: boolean | undefined;
|
|
81
|
+
}>;
|
|
82
|
+
export type TagPattern = z.infer<typeof TagPatternSchema>;
|
|
83
|
+
/**
|
|
84
|
+
* LLM Provider type
|
|
85
|
+
*/
|
|
86
|
+
export declare const LLMProviderTypeSchema: z.ZodEnum<["openai", "anthropic", "deepseek", "groq", "ollama", "openrouter"]>;
|
|
87
|
+
export type LLMProviderType = z.infer<typeof LLMProviderTypeSchema>;
|
|
88
|
+
/**
|
|
89
|
+
* LLM configuration for rules analyzer
|
|
90
|
+
*/
|
|
91
|
+
export declare const LLMConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
92
|
+
/** Selected provider */
|
|
93
|
+
provider: z.ZodOptional<z.ZodEnum<["openai", "anthropic", "deepseek", "groq", "ollama", "openrouter"]>>;
|
|
94
|
+
/** API key (stored securely) */
|
|
95
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
96
|
+
/** Selected model */
|
|
97
|
+
model: z.ZodOptional<z.ZodString>;
|
|
98
|
+
/** Base URL override (for Ollama or custom endpoints) */
|
|
99
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
100
|
+
}, "strip", z.ZodTypeAny, {
|
|
101
|
+
model?: string | undefined;
|
|
102
|
+
provider?: "openai" | "anthropic" | "deepseek" | "groq" | "ollama" | "openrouter" | undefined;
|
|
103
|
+
apiKey?: string | undefined;
|
|
104
|
+
baseUrl?: string | undefined;
|
|
105
|
+
}, {
|
|
106
|
+
model?: string | undefined;
|
|
107
|
+
provider?: "openai" | "anthropic" | "deepseek" | "groq" | "ollama" | "openrouter" | undefined;
|
|
108
|
+
apiKey?: string | undefined;
|
|
109
|
+
baseUrl?: string | undefined;
|
|
110
|
+
}>>;
|
|
111
|
+
export type LLMConfig = z.infer<typeof LLMConfigSchema>;
|
|
112
|
+
/**
|
|
113
|
+
* Natural language rule (interpreted by LLM)
|
|
114
|
+
*/
|
|
115
|
+
export declare const NaturalRuleSchema: z.ZodObject<{
|
|
116
|
+
/** The rule description in plain English */
|
|
117
|
+
rule: z.ZodString;
|
|
118
|
+
/** Severity level */
|
|
119
|
+
severity: z.ZodDefault<z.ZodEnum<["error", "warning", "info"]>>;
|
|
120
|
+
/** Whether this rule is enabled */
|
|
121
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
122
|
+
}, "strip", z.ZodTypeAny, {
|
|
123
|
+
enabled: boolean;
|
|
124
|
+
rule: string;
|
|
125
|
+
severity: "error" | "info" | "warning";
|
|
126
|
+
}, {
|
|
127
|
+
rule: string;
|
|
128
|
+
enabled?: boolean | undefined;
|
|
129
|
+
severity?: "error" | "info" | "warning" | undefined;
|
|
130
|
+
}>;
|
|
131
|
+
export type NaturalRule = z.infer<typeof NaturalRuleSchema>;
|
|
132
|
+
/**
|
|
133
|
+
* Full rules analyzer configuration
|
|
134
|
+
*/
|
|
135
|
+
export declare const RulesAnalyzerConfigSchema: z.ZodObject<{
|
|
136
|
+
/** Analysis settings */
|
|
137
|
+
analysis: z.ZodDefault<z.ZodObject<{
|
|
138
|
+
/** Minimum similarity threshold for duplicate detection (0-1) */
|
|
139
|
+
duplicateThreshold: z.ZodDefault<z.ZodNumber>;
|
|
140
|
+
/** Maximum age in days before flagging as potentially outdated */
|
|
141
|
+
maxAgeDays: z.ZodDefault<z.ZodNumber>;
|
|
142
|
+
/** Years back to consider as "old" when referenced */
|
|
143
|
+
oldYearThreshold: z.ZodDefault<z.ZodNumber>;
|
|
144
|
+
/** Whether to detect conflicts */
|
|
145
|
+
detectConflicts: z.ZodDefault<z.ZodBoolean>;
|
|
146
|
+
/** Whether to detect outdated rules */
|
|
147
|
+
detectOutdated: z.ZodDefault<z.ZodBoolean>;
|
|
148
|
+
/** Whether to use LLM for enhanced analysis */
|
|
149
|
+
useLLM: z.ZodDefault<z.ZodBoolean>;
|
|
150
|
+
}, "strip", z.ZodTypeAny, {
|
|
151
|
+
duplicateThreshold: number;
|
|
152
|
+
detectOutdated: boolean;
|
|
153
|
+
detectConflicts: boolean;
|
|
154
|
+
useLLM: boolean;
|
|
155
|
+
maxAgeDays: number;
|
|
156
|
+
oldYearThreshold: number;
|
|
157
|
+
}, {
|
|
158
|
+
duplicateThreshold?: number | undefined;
|
|
159
|
+
detectOutdated?: boolean | undefined;
|
|
160
|
+
detectConflicts?: boolean | undefined;
|
|
161
|
+
useLLM?: boolean | undefined;
|
|
162
|
+
maxAgeDays?: number | undefined;
|
|
163
|
+
oldYearThreshold?: number | undefined;
|
|
164
|
+
}>>;
|
|
165
|
+
/** LLM provider configuration */
|
|
166
|
+
llm: z.ZodDefault<z.ZodDefault<z.ZodObject<{
|
|
167
|
+
/** Selected provider */
|
|
168
|
+
provider: z.ZodOptional<z.ZodEnum<["openai", "anthropic", "deepseek", "groq", "ollama", "openrouter"]>>;
|
|
169
|
+
/** API key (stored securely) */
|
|
170
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
171
|
+
/** Selected model */
|
|
172
|
+
model: z.ZodOptional<z.ZodString>;
|
|
173
|
+
/** Base URL override (for Ollama or custom endpoints) */
|
|
174
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
175
|
+
}, "strip", z.ZodTypeAny, {
|
|
176
|
+
model?: string | undefined;
|
|
177
|
+
provider?: "openai" | "anthropic" | "deepseek" | "groq" | "ollama" | "openrouter" | undefined;
|
|
178
|
+
apiKey?: string | undefined;
|
|
179
|
+
baseUrl?: string | undefined;
|
|
180
|
+
}, {
|
|
181
|
+
model?: string | undefined;
|
|
182
|
+
provider?: "openai" | "anthropic" | "deepseek" | "groq" | "ollama" | "openrouter" | undefined;
|
|
183
|
+
apiKey?: string | undefined;
|
|
184
|
+
baseUrl?: string | undefined;
|
|
185
|
+
}>>>;
|
|
186
|
+
/** Natural language rules (LLM-interpreted) */
|
|
187
|
+
naturalRules: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
188
|
+
/** The rule description in plain English */
|
|
189
|
+
rule: z.ZodString;
|
|
190
|
+
/** Severity level */
|
|
191
|
+
severity: z.ZodDefault<z.ZodEnum<["error", "warning", "info"]>>;
|
|
192
|
+
/** Whether this rule is enabled */
|
|
193
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
194
|
+
}, "strip", z.ZodTypeAny, {
|
|
195
|
+
enabled: boolean;
|
|
196
|
+
rule: string;
|
|
197
|
+
severity: "error" | "info" | "warning";
|
|
198
|
+
}, {
|
|
199
|
+
rule: string;
|
|
200
|
+
enabled?: boolean | undefined;
|
|
201
|
+
severity?: "error" | "info" | "warning" | undefined;
|
|
202
|
+
}>, "many">>;
|
|
203
|
+
/** Custom version checks */
|
|
204
|
+
versionChecks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
205
|
+
/** Technology name (e.g., "Laravel", "React") */
|
|
206
|
+
name: z.ZodString;
|
|
207
|
+
/** Regex pattern to match version mentions (should have one capture group for version) */
|
|
208
|
+
pattern: z.ZodString;
|
|
209
|
+
/** Current/expected version number */
|
|
210
|
+
currentVersion: z.ZodString;
|
|
211
|
+
/** Whether this check is enabled */
|
|
212
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
213
|
+
}, "strip", z.ZodTypeAny, {
|
|
214
|
+
pattern: string;
|
|
215
|
+
name: string;
|
|
216
|
+
enabled: boolean;
|
|
217
|
+
currentVersion: string;
|
|
218
|
+
}, {
|
|
219
|
+
pattern: string;
|
|
220
|
+
name: string;
|
|
221
|
+
currentVersion: string;
|
|
222
|
+
enabled?: boolean | undefined;
|
|
223
|
+
}>, "many">>;
|
|
224
|
+
/** Custom deprecation patterns */
|
|
225
|
+
deprecationPatterns: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
226
|
+
/** Pattern name/identifier */
|
|
227
|
+
name: z.ZodString;
|
|
228
|
+
/** Regex pattern to detect the deprecated usage */
|
|
229
|
+
pattern: z.ZodString;
|
|
230
|
+
/** Human-readable reason why this is deprecated */
|
|
231
|
+
reason: z.ZodString;
|
|
232
|
+
/** Suggested alternative */
|
|
233
|
+
suggestion: z.ZodOptional<z.ZodString>;
|
|
234
|
+
/** Whether this check is enabled */
|
|
235
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
236
|
+
}, "strip", z.ZodTypeAny, {
|
|
237
|
+
pattern: string;
|
|
238
|
+
name: string;
|
|
239
|
+
enabled: boolean;
|
|
240
|
+
reason: string;
|
|
241
|
+
suggestion?: string | undefined;
|
|
242
|
+
}, {
|
|
243
|
+
pattern: string;
|
|
244
|
+
name: string;
|
|
245
|
+
reason: string;
|
|
246
|
+
enabled?: boolean | undefined;
|
|
247
|
+
suggestion?: string | undefined;
|
|
248
|
+
}>, "many">>;
|
|
249
|
+
/** Custom tag extraction patterns */
|
|
250
|
+
tagPatterns: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
251
|
+
/** Tag that will be applied */
|
|
252
|
+
tag: z.ZodString;
|
|
253
|
+
/** Regex pattern to match content */
|
|
254
|
+
pattern: z.ZodString;
|
|
255
|
+
/** Whether this pattern is enabled */
|
|
256
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
257
|
+
}, "strip", z.ZodTypeAny, {
|
|
258
|
+
pattern: string;
|
|
259
|
+
enabled: boolean;
|
|
260
|
+
tag: string;
|
|
261
|
+
}, {
|
|
262
|
+
pattern: string;
|
|
263
|
+
tag: string;
|
|
264
|
+
enabled?: boolean | undefined;
|
|
265
|
+
}>, "many">>;
|
|
266
|
+
/** File patterns */
|
|
267
|
+
files: z.ZodDefault<z.ZodObject<{
|
|
268
|
+
/** Patterns to include */
|
|
269
|
+
include: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
270
|
+
/** Patterns to exclude */
|
|
271
|
+
exclude: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
272
|
+
}, "strip", z.ZodTypeAny, {
|
|
273
|
+
include: string[];
|
|
274
|
+
exclude: string[];
|
|
275
|
+
}, {
|
|
276
|
+
include?: string[] | undefined;
|
|
277
|
+
exclude?: string[] | undefined;
|
|
278
|
+
}>>;
|
|
279
|
+
/** Optimization settings */
|
|
280
|
+
optimization: z.ZodDefault<z.ZodObject<{
|
|
281
|
+
/** Aggressiveness level */
|
|
282
|
+
aggressiveness: z.ZodDefault<z.ZodEnum<["conservative", "balanced", "aggressive"]>>;
|
|
283
|
+
/** Maximum tokens per merged rule */
|
|
284
|
+
maxTokensPerRule: z.ZodDefault<z.ZodNumber>;
|
|
285
|
+
/** Create backups before modifications */
|
|
286
|
+
createBackups: z.ZodDefault<z.ZodBoolean>;
|
|
287
|
+
/** Backup directory */
|
|
288
|
+
backupDir: z.ZodDefault<z.ZodString>;
|
|
289
|
+
}, "strip", z.ZodTypeAny, {
|
|
290
|
+
aggressiveness: "conservative" | "balanced" | "aggressive";
|
|
291
|
+
createBackups: boolean;
|
|
292
|
+
backupDir: string;
|
|
293
|
+
maxTokensPerRule: number;
|
|
294
|
+
}, {
|
|
295
|
+
aggressiveness?: "conservative" | "balanced" | "aggressive" | undefined;
|
|
296
|
+
createBackups?: boolean | undefined;
|
|
297
|
+
backupDir?: string | undefined;
|
|
298
|
+
maxTokensPerRule?: number | undefined;
|
|
299
|
+
}>>;
|
|
300
|
+
}, "strip", z.ZodTypeAny, {
|
|
301
|
+
optimization: {
|
|
302
|
+
aggressiveness: "conservative" | "balanced" | "aggressive";
|
|
303
|
+
createBackups: boolean;
|
|
304
|
+
backupDir: string;
|
|
305
|
+
maxTokensPerRule: number;
|
|
306
|
+
};
|
|
307
|
+
analysis: {
|
|
308
|
+
duplicateThreshold: number;
|
|
309
|
+
detectOutdated: boolean;
|
|
310
|
+
detectConflicts: boolean;
|
|
311
|
+
useLLM: boolean;
|
|
312
|
+
maxAgeDays: number;
|
|
313
|
+
oldYearThreshold: number;
|
|
314
|
+
};
|
|
315
|
+
llm: {
|
|
316
|
+
model?: string | undefined;
|
|
317
|
+
provider?: "openai" | "anthropic" | "deepseek" | "groq" | "ollama" | "openrouter" | undefined;
|
|
318
|
+
apiKey?: string | undefined;
|
|
319
|
+
baseUrl?: string | undefined;
|
|
320
|
+
};
|
|
321
|
+
naturalRules: {
|
|
322
|
+
enabled: boolean;
|
|
323
|
+
rule: string;
|
|
324
|
+
severity: "error" | "info" | "warning";
|
|
325
|
+
}[];
|
|
326
|
+
versionChecks: {
|
|
327
|
+
pattern: string;
|
|
328
|
+
name: string;
|
|
329
|
+
enabled: boolean;
|
|
330
|
+
currentVersion: string;
|
|
331
|
+
}[];
|
|
332
|
+
deprecationPatterns: {
|
|
333
|
+
pattern: string;
|
|
334
|
+
name: string;
|
|
335
|
+
enabled: boolean;
|
|
336
|
+
reason: string;
|
|
337
|
+
suggestion?: string | undefined;
|
|
338
|
+
}[];
|
|
339
|
+
tagPatterns: {
|
|
340
|
+
pattern: string;
|
|
341
|
+
enabled: boolean;
|
|
342
|
+
tag: string;
|
|
343
|
+
}[];
|
|
344
|
+
files: {
|
|
345
|
+
include: string[];
|
|
346
|
+
exclude: string[];
|
|
347
|
+
};
|
|
348
|
+
}, {
|
|
349
|
+
optimization?: {
|
|
350
|
+
aggressiveness?: "conservative" | "balanced" | "aggressive" | undefined;
|
|
351
|
+
createBackups?: boolean | undefined;
|
|
352
|
+
backupDir?: string | undefined;
|
|
353
|
+
maxTokensPerRule?: number | undefined;
|
|
354
|
+
} | undefined;
|
|
355
|
+
analysis?: {
|
|
356
|
+
duplicateThreshold?: number | undefined;
|
|
357
|
+
detectOutdated?: boolean | undefined;
|
|
358
|
+
detectConflicts?: boolean | undefined;
|
|
359
|
+
useLLM?: boolean | undefined;
|
|
360
|
+
maxAgeDays?: number | undefined;
|
|
361
|
+
oldYearThreshold?: number | undefined;
|
|
362
|
+
} | undefined;
|
|
363
|
+
llm?: {
|
|
364
|
+
model?: string | undefined;
|
|
365
|
+
provider?: "openai" | "anthropic" | "deepseek" | "groq" | "ollama" | "openrouter" | undefined;
|
|
366
|
+
apiKey?: string | undefined;
|
|
367
|
+
baseUrl?: string | undefined;
|
|
368
|
+
} | undefined;
|
|
369
|
+
naturalRules?: {
|
|
370
|
+
rule: string;
|
|
371
|
+
enabled?: boolean | undefined;
|
|
372
|
+
severity?: "error" | "info" | "warning" | undefined;
|
|
373
|
+
}[] | undefined;
|
|
374
|
+
versionChecks?: {
|
|
375
|
+
pattern: string;
|
|
376
|
+
name: string;
|
|
377
|
+
currentVersion: string;
|
|
378
|
+
enabled?: boolean | undefined;
|
|
379
|
+
}[] | undefined;
|
|
380
|
+
deprecationPatterns?: {
|
|
381
|
+
pattern: string;
|
|
382
|
+
name: string;
|
|
383
|
+
reason: string;
|
|
384
|
+
enabled?: boolean | undefined;
|
|
385
|
+
suggestion?: string | undefined;
|
|
386
|
+
}[] | undefined;
|
|
387
|
+
tagPatterns?: {
|
|
388
|
+
pattern: string;
|
|
389
|
+
tag: string;
|
|
390
|
+
enabled?: boolean | undefined;
|
|
391
|
+
}[] | undefined;
|
|
392
|
+
files?: {
|
|
393
|
+
include?: string[] | undefined;
|
|
394
|
+
exclude?: string[] | undefined;
|
|
395
|
+
} | undefined;
|
|
396
|
+
}>;
|
|
397
|
+
export type RulesAnalyzerConfig = z.infer<typeof RulesAnalyzerConfigSchema>;
|
|
398
|
+
/**
|
|
399
|
+
* Default configuration
|
|
400
|
+
*/
|
|
401
|
+
export declare const DEFAULT_RULES_CONFIG: RulesAnalyzerConfig;
|
|
402
|
+
/**
|
|
403
|
+
* Available LLM providers with their requirements
|
|
404
|
+
*/
|
|
405
|
+
export declare const LLM_PROVIDERS: readonly [{
|
|
406
|
+
readonly id: "openai";
|
|
407
|
+
readonly name: "OpenAI";
|
|
408
|
+
readonly requiresKey: true;
|
|
409
|
+
readonly placeholder: "sk-...";
|
|
410
|
+
}, {
|
|
411
|
+
readonly id: "anthropic";
|
|
412
|
+
readonly name: "Anthropic";
|
|
413
|
+
readonly requiresKey: true;
|
|
414
|
+
readonly placeholder: "sk-ant-...";
|
|
415
|
+
}, {
|
|
416
|
+
readonly id: "deepseek";
|
|
417
|
+
readonly name: "DeepSeek";
|
|
418
|
+
readonly requiresKey: true;
|
|
419
|
+
readonly placeholder: "sk-...";
|
|
420
|
+
}, {
|
|
421
|
+
readonly id: "groq";
|
|
422
|
+
readonly name: "Groq";
|
|
423
|
+
readonly requiresKey: true;
|
|
424
|
+
readonly placeholder: "gsk_...";
|
|
425
|
+
}, {
|
|
426
|
+
readonly id: "ollama";
|
|
427
|
+
readonly name: "Ollama (Local)";
|
|
428
|
+
readonly requiresKey: false;
|
|
429
|
+
readonly placeholder: "";
|
|
430
|
+
}, {
|
|
431
|
+
readonly id: "openrouter";
|
|
432
|
+
readonly name: "OpenRouter";
|
|
433
|
+
readonly requiresKey: true;
|
|
434
|
+
readonly placeholder: "sk-or-...";
|
|
435
|
+
}];
|
|
436
|
+
/**
|
|
437
|
+
* Example configuration with common patterns (shown in dashboard as templates)
|
|
438
|
+
*/
|
|
439
|
+
export declare const EXAMPLE_PATTERNS: {
|
|
440
|
+
versionChecks: {
|
|
441
|
+
name: string;
|
|
442
|
+
pattern: string;
|
|
443
|
+
currentVersion: string;
|
|
444
|
+
enabled: boolean;
|
|
445
|
+
}[];
|
|
446
|
+
deprecationPatterns: {
|
|
447
|
+
name: string;
|
|
448
|
+
pattern: string;
|
|
449
|
+
reason: string;
|
|
450
|
+
suggestion: string;
|
|
451
|
+
enabled: boolean;
|
|
452
|
+
}[];
|
|
453
|
+
tagPatterns: {
|
|
454
|
+
tag: string;
|
|
455
|
+
pattern: string;
|
|
456
|
+
enabled: boolean;
|
|
457
|
+
}[];
|
|
458
|
+
};
|
|
459
|
+
/**
|
|
460
|
+
* Load rules analyzer configuration
|
|
461
|
+
*/
|
|
462
|
+
export declare function loadRulesConfig(): RulesAnalyzerConfig;
|
|
463
|
+
/**
|
|
464
|
+
* Save rules analyzer configuration
|
|
465
|
+
*/
|
|
466
|
+
export declare function saveRulesConfig(config: RulesAnalyzerConfig): void;
|
|
467
|
+
/**
|
|
468
|
+
* Merge user config with defaults
|
|
469
|
+
*/
|
|
470
|
+
export declare function mergeRulesConfig(userConfig: Partial<RulesAnalyzerConfig>): RulesAnalyzerConfig;
|
|
471
|
+
/**
|
|
472
|
+
* Validate a single pattern (for UI validation)
|
|
473
|
+
*/
|
|
474
|
+
export declare function validatePattern(pattern: string): {
|
|
475
|
+
valid: boolean;
|
|
476
|
+
error?: string;
|
|
477
|
+
};
|
|
478
|
+
/**
|
|
479
|
+
* Test a pattern against sample content
|
|
480
|
+
*/
|
|
481
|
+
export declare function testPattern(pattern: string, content: string): {
|
|
482
|
+
matches: boolean;
|
|
483
|
+
matchedText?: string;
|
|
484
|
+
captureGroups?: string[];
|
|
485
|
+
};
|
|
486
|
+
//# sourceMappingURL=rulesConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rulesConfig.d.ts","sourceRoot":"","sources":["../../src/config/rulesConfig.ts"],"names":[],"mappings":"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"}
|