codevault 1.3.0-beta.7 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/.env.example +49 -27
  2. package/README.md +512 -71
  3. package/dist/cli/commands/ask-cmd.d.ts +3 -0
  4. package/dist/cli/commands/ask-cmd.d.ts.map +1 -0
  5. package/dist/cli/commands/ask-cmd.js +113 -0
  6. package/dist/cli/commands/ask-cmd.js.map +1 -0
  7. package/dist/cli.js +2 -0
  8. package/dist/cli.js.map +1 -1
  9. package/dist/config/apply-env.d.ts.map +1 -1
  10. package/dist/config/apply-env.js +54 -22
  11. package/dist/config/apply-env.js.map +1 -1
  12. package/dist/config/loader.d.ts.map +1 -1
  13. package/dist/config/loader.js +72 -20
  14. package/dist/config/loader.js.map +1 -1
  15. package/dist/config/types.d.ts +11 -0
  16. package/dist/config/types.d.ts.map +1 -1
  17. package/dist/mcp/tools/ask-codebase.d.ts +85 -0
  18. package/dist/mcp/tools/ask-codebase.d.ts.map +1 -0
  19. package/dist/mcp/tools/ask-codebase.js +125 -0
  20. package/dist/mcp/tools/ask-codebase.js.map +1 -0
  21. package/dist/mcp-server.js +76 -0
  22. package/dist/mcp-server.js.map +1 -1
  23. package/dist/providers/base.js +4 -4
  24. package/dist/providers/base.js.map +1 -1
  25. package/dist/providers/chat-llm.d.ts +41 -0
  26. package/dist/providers/chat-llm.d.ts.map +1 -0
  27. package/dist/providers/chat-llm.js +155 -0
  28. package/dist/providers/chat-llm.js.map +1 -0
  29. package/dist/providers/index.d.ts.map +1 -1
  30. package/dist/providers/index.js +2 -1
  31. package/dist/providers/index.js.map +1 -1
  32. package/dist/providers/ollama.d.ts.map +1 -1
  33. package/dist/providers/ollama.js +3 -3
  34. package/dist/providers/ollama.js.map +1 -1
  35. package/dist/providers/openai.d.ts.map +1 -1
  36. package/dist/providers/openai.js +9 -8
  37. package/dist/providers/openai.js.map +1 -1
  38. package/dist/ranking/api-reranker.d.ts.map +1 -1
  39. package/dist/ranking/api-reranker.js +14 -28
  40. package/dist/ranking/api-reranker.js.map +1 -1
  41. package/dist/synthesis/markdown-formatter.d.ts +13 -0
  42. package/dist/synthesis/markdown-formatter.d.ts.map +1 -0
  43. package/dist/synthesis/markdown-formatter.js +104 -0
  44. package/dist/synthesis/markdown-formatter.js.map +1 -0
  45. package/dist/synthesis/prompt-builder.d.ts +21 -0
  46. package/dist/synthesis/prompt-builder.d.ts.map +1 -0
  47. package/dist/synthesis/prompt-builder.js +129 -0
  48. package/dist/synthesis/prompt-builder.js.map +1 -0
  49. package/dist/synthesis/synthesizer.d.ts +30 -0
  50. package/dist/synthesis/synthesizer.d.ts.map +1 -0
  51. package/dist/synthesis/synthesizer.js +210 -0
  52. package/dist/synthesis/synthesizer.js.map +1 -0
  53. package/dist/utils/rate-limiter.d.ts.map +1 -1
  54. package/dist/utils/rate-limiter.js +4 -3
  55. package/dist/utils/rate-limiter.js.map +1 -1
  56. package/package.json +4 -4
@@ -0,0 +1,129 @@
1
+ export function buildSystemPrompt() {
2
+ return `You are an expert code analyst helping developers understand their codebase. Your role is to:
3
+
4
+ 1. Analyze the provided code chunks and their metadata
5
+ 2. Answer the user's question clearly and concisely
6
+ 3. Use proper markdown formatting
7
+ 4. Include citations to specific files and code snippets
8
+ 5. Provide practical, actionable insights
9
+ 6. Highlight important patterns, dependencies, and relationships
10
+
11
+ Format your response in markdown with:
12
+ - Clear headings and sections
13
+ - Code blocks with language tags
14
+ - File path citations like: \`[filename.ext](filename.ext:line)\`
15
+ - Bullet points for clarity
16
+ - Bold/italic for emphasis
17
+
18
+ Keep responses focused and relevant to the question asked.`;
19
+ }
20
+ export function buildUserPrompt(context, options = {}) {
21
+ const { query, results, codeChunks, metadata } = context;
22
+ const maxChunks = options.maxContextChunks || 10;
23
+ const citationStyle = options.citationStyle || 'inline';
24
+ let prompt = `# Question\n\n${query}\n\n`;
25
+ // Add search metadata
26
+ if (metadata) {
27
+ prompt += `# Search Context\n\n`;
28
+ if (metadata.searchType) {
29
+ prompt += `- Search Type: ${metadata.searchType}\n`;
30
+ }
31
+ if (metadata.provider) {
32
+ prompt += `- Embedding Provider: ${metadata.provider}\n`;
33
+ }
34
+ if (metadata.totalChunks) {
35
+ prompt += `- Total Indexed Chunks: ${metadata.totalChunks}\n`;
36
+ }
37
+ prompt += `- Relevant Results: ${results.length}\n\n`;
38
+ }
39
+ // Add relevant code chunks
40
+ prompt += `# Relevant Code Chunks\n\n`;
41
+ prompt += `I found ${Math.min(results.length, maxChunks)} relevant code chunks. Here they are in order of relevance:\n\n`;
42
+ const chunksToInclude = results.slice(0, maxChunks);
43
+ chunksToInclude.forEach((result, index) => {
44
+ const chunkCode = codeChunks.get(result.sha);
45
+ const relevanceScore = (result.meta.score * 100).toFixed(1);
46
+ prompt += `## Chunk ${index + 1}: ${result.meta.symbol} (${relevanceScore}% relevant)\n\n`;
47
+ prompt += `**File:** \`${result.path}\`\n`;
48
+ prompt += `**Language:** ${result.lang}\n`;
49
+ prompt += `**Symbol:** ${result.meta.symbol}\n`;
50
+ if (result.meta.description) {
51
+ prompt += `**Description:** ${result.meta.description}\n`;
52
+ }
53
+ if (result.meta.intent) {
54
+ prompt += `**Intent:** ${result.meta.intent}\n`;
55
+ }
56
+ // Add search metadata if available
57
+ if (result.meta.searchType) {
58
+ prompt += `**Search Type:** ${result.meta.searchType}\n`;
59
+ }
60
+ if (result.meta.symbolBoost && result.meta.symbolBoost > 0) {
61
+ prompt += `**Symbol Match:** Yes (boosted by ${(result.meta.symbolBoost * 100).toFixed(0)}%)\n`;
62
+ }
63
+ if (result.meta.rerankerScore !== undefined) {
64
+ prompt += `**Reranker Score:** ${(result.meta.rerankerScore * 100).toFixed(1)}%\n`;
65
+ }
66
+ prompt += `\n**Code:**\n\n`;
67
+ if (chunkCode) {
68
+ const truncatedCode = chunkCode.length > 2000
69
+ ? chunkCode.substring(0, 2000) + '\n... [truncated]'
70
+ : chunkCode;
71
+ prompt += `\`\`\`${result.lang}\n${truncatedCode}\n\`\`\`\n\n`;
72
+ }
73
+ else {
74
+ prompt += `_[Code not available]_\n\n`;
75
+ }
76
+ prompt += `---\n\n`;
77
+ });
78
+ // Add instructions for response format
79
+ prompt += `# Instructions\n\n`;
80
+ prompt += `Based on the code chunks above, please answer the question: "${query}"\n\n`;
81
+ prompt += `Your response should:\n`;
82
+ prompt += `1. Directly answer the question in clear, natural language\n`;
83
+ prompt += `2. Reference specific code chunks using inline citations like: \`[filename.ext](filename.ext)\`\n`;
84
+ prompt += `3. Include relevant code snippets in your explanation\n`;
85
+ prompt += `4. Highlight key patterns, dependencies, or architectural decisions\n`;
86
+ prompt += `5. Use proper markdown formatting with headers, lists, and code blocks\n`;
87
+ prompt += `6. Be concise but thorough - focus on what's most relevant\n\n`;
88
+ if (citationStyle === 'footnote') {
89
+ prompt += `7. Add a "References" section at the end with all cited files\n\n`;
90
+ }
91
+ return prompt;
92
+ }
93
+ export function buildMultiQueryPrompt(query) {
94
+ return `You are a query analyzer for code search. Given a complex question about a codebase, break it down into 2-4 specific search queries that would help find relevant code.
95
+
96
+ Question: "${query}"
97
+
98
+ Return ONLY a JSON array of search query strings, nothing else. Each query should be:
99
+ - Specific and focused on one aspect
100
+ - Use technical terms that would appear in code
101
+ - Be suitable for semantic search
102
+
103
+ Example format:
104
+ ["authentication middleware", "user login function", "session management"]
105
+
106
+ Your response (JSON array only):`;
107
+ }
108
+ export function parseMultiQueryResponse(response) {
109
+ try {
110
+ // Extract JSON array from response
111
+ const jsonMatch = response.match(/\[[\s\S]*\]/);
112
+ if (!jsonMatch) {
113
+ return [];
114
+ }
115
+ const queries = JSON.parse(jsonMatch[0]);
116
+ if (!Array.isArray(queries)) {
117
+ return [];
118
+ }
119
+ return queries
120
+ .filter(q => typeof q === 'string' && q.trim().length > 0)
121
+ .map(q => q.trim())
122
+ .slice(0, 4); // Max 4 queries
123
+ }
124
+ catch (error) {
125
+ console.error('Failed to parse multi-query response:', error);
126
+ return [];
127
+ }
128
+ }
129
+ //# sourceMappingURL=prompt-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../src/synthesis/prompt-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { ScopeFilters } from '../types/search.js';
2
+ export interface SynthesisOptions {
3
+ provider?: string;
4
+ chatProvider?: string;
5
+ workingPath?: string;
6
+ scope?: ScopeFilters;
7
+ maxChunks?: number;
8
+ useReranking?: boolean;
9
+ useMultiQuery?: boolean;
10
+ temperature?: number;
11
+ stream?: boolean;
12
+ }
13
+ export interface SynthesisResult {
14
+ success: boolean;
15
+ answer?: string;
16
+ query: string;
17
+ queriesUsed?: string[];
18
+ chunksAnalyzed: number;
19
+ chatProvider: string;
20
+ embeddingProvider: string;
21
+ error?: string;
22
+ metadata?: {
23
+ searchType?: string;
24
+ totalResults?: number;
25
+ multiQuery?: boolean;
26
+ };
27
+ }
28
+ export declare function synthesizeAnswer(query: string, options?: SynthesisOptions): Promise<SynthesisResult>;
29
+ export declare function synthesizeAnswerStreaming(query: string, options?: SynthesisOptions): AsyncGenerator<string>;
30
+ //# sourceMappingURL=synthesizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthesizer.d.ts","sourceRoot":"","sources":["../../src/synthesis/synthesizer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAgL1B;AAED,wBAAuB,yBAAyB,CAC9C,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,gBAAqB,GAC7B,cAAc,CAAC,MAAM,CAAC,CAkExB"}
@@ -0,0 +1,210 @@
1
+ import { searchCode, getChunk } from '../core/search.js';
2
+ import { createChatLLMProvider } from '../providers/chat-llm.js';
3
+ import { buildSystemPrompt, buildUserPrompt, buildMultiQueryPrompt, parseMultiQueryResponse } from './prompt-builder.js';
4
+ export async function synthesizeAnswer(query, options = {}) {
5
+ const { provider = 'auto', chatProvider = 'auto', workingPath = '.', scope = {}, maxChunks = 10, useReranking = true, useMultiQuery = false, temperature = 0.7 } = options;
6
+ try {
7
+ const chatLLM = createChatLLMProvider(chatProvider);
8
+ if (chatLLM.init) {
9
+ await chatLLM.init();
10
+ }
11
+ let allResults = [];
12
+ let queriesUsed = [query];
13
+ let usedMultiQuery = false;
14
+ // Multi-query support for complex questions
15
+ if (useMultiQuery && isComplexQuestion(query)) {
16
+ try {
17
+ const multiQueryPrompt = buildMultiQueryPrompt(query);
18
+ const multiQueryResponse = await chatLLM.generateCompletion([
19
+ { role: 'user', content: multiQueryPrompt }
20
+ ], { temperature: 0.3, maxTokens: 500 });
21
+ const subQueries = parseMultiQueryResponse(multiQueryResponse);
22
+ if (subQueries.length > 0) {
23
+ queriesUsed = subQueries;
24
+ usedMultiQuery = true;
25
+ if (!process.env.CODEVAULT_QUIET) {
26
+ console.log(`📝 Breaking down query into ${subQueries.length} sub-queries:`);
27
+ subQueries.forEach((q, i) => console.log(` ${i + 1}. "${q}"`));
28
+ console.log('');
29
+ }
30
+ }
31
+ }
32
+ catch (error) {
33
+ // Fall back to single query if multi-query fails
34
+ if (!process.env.CODEVAULT_QUIET) {
35
+ console.warn('Multi-query breakdown failed, using original query');
36
+ }
37
+ }
38
+ }
39
+ // Execute searches
40
+ const searchScope = {
41
+ ...scope,
42
+ reranker: useReranking ? 'api' : 'off',
43
+ hybrid: true,
44
+ bm25: true,
45
+ symbol_boost: true
46
+ };
47
+ for (const searchQuery of queriesUsed) {
48
+ const searchResult = await searchCode(searchQuery, maxChunks, provider, workingPath, searchScope);
49
+ if (searchResult.success && searchResult.results.length > 0) {
50
+ allResults.push(...searchResult.results);
51
+ }
52
+ }
53
+ // Deduplicate results by SHA
54
+ const uniqueResults = new Map();
55
+ for (const result of allResults) {
56
+ if (!uniqueResults.has(result.sha)) {
57
+ uniqueResults.set(result.sha, result);
58
+ }
59
+ else {
60
+ // Keep the one with higher score
61
+ const existing = uniqueResults.get(result.sha);
62
+ if (result.meta.score > existing.meta.score) {
63
+ uniqueResults.set(result.sha, result);
64
+ }
65
+ }
66
+ }
67
+ const deduplicatedResults = Array.from(uniqueResults.values())
68
+ .sort((a, b) => b.meta.score - a.meta.score)
69
+ .slice(0, maxChunks);
70
+ if (deduplicatedResults.length === 0) {
71
+ return {
72
+ success: false,
73
+ error: 'no_results',
74
+ query,
75
+ queriesUsed,
76
+ chunksAnalyzed: 0,
77
+ chatProvider: chatLLM.getName(),
78
+ embeddingProvider: provider,
79
+ metadata: {
80
+ multiQuery: usedMultiQuery,
81
+ totalResults: 0
82
+ }
83
+ };
84
+ }
85
+ // Retrieve code chunks
86
+ const codeChunks = new Map();
87
+ if (!process.env.CODEVAULT_QUIET) {
88
+ console.log(`🔍 Retrieved ${deduplicatedResults.length} relevant code chunks`);
89
+ }
90
+ for (const result of deduplicatedResults) {
91
+ const chunkResult = await getChunk(result.sha, workingPath);
92
+ if (chunkResult.success && chunkResult.code) {
93
+ codeChunks.set(result.sha, chunkResult.code);
94
+ }
95
+ }
96
+ // Build context for LLM
97
+ const context = {
98
+ query,
99
+ results: deduplicatedResults,
100
+ codeChunks,
101
+ metadata: {
102
+ searchType: deduplicatedResults[0]?.meta?.searchType,
103
+ provider,
104
+ totalChunks: deduplicatedResults.length
105
+ }
106
+ };
107
+ // Generate synthesis
108
+ const systemPrompt = buildSystemPrompt();
109
+ const userPrompt = buildUserPrompt(context, { maxContextChunks: maxChunks });
110
+ const messages = [
111
+ { role: 'system', content: systemPrompt },
112
+ { role: 'user', content: userPrompt }
113
+ ];
114
+ if (!process.env.CODEVAULT_QUIET) {
115
+ console.log(`🤖 Synthesizing answer with ${chatLLM.getName()}...`);
116
+ }
117
+ const answer = await chatLLM.generateCompletion(messages, {
118
+ temperature,
119
+ maxTokens: parseInt(process.env.CODEVAULT_CHAT_MAX_TOKENS || '4096', 10)
120
+ });
121
+ return {
122
+ success: true,
123
+ answer,
124
+ query,
125
+ queriesUsed,
126
+ chunksAnalyzed: deduplicatedResults.length,
127
+ chatProvider: chatLLM.getName(),
128
+ embeddingProvider: provider,
129
+ metadata: {
130
+ searchType: deduplicatedResults[0]?.meta?.searchType,
131
+ totalResults: deduplicatedResults.length,
132
+ multiQuery: usedMultiQuery
133
+ }
134
+ };
135
+ }
136
+ catch (error) {
137
+ return {
138
+ success: false,
139
+ error: error.message,
140
+ query,
141
+ chunksAnalyzed: 0,
142
+ chatProvider: chatProvider,
143
+ embeddingProvider: provider
144
+ };
145
+ }
146
+ }
147
+ export async function* synthesizeAnswerStreaming(query, options = {}) {
148
+ const { provider = 'auto', chatProvider = 'auto', workingPath = '.', scope = {}, maxChunks = 10, useReranking = true, temperature = 0.7 } = options;
149
+ const chatLLM = createChatLLMProvider(chatProvider);
150
+ if (chatLLM.init) {
151
+ await chatLLM.init();
152
+ }
153
+ // Execute search
154
+ const searchScope = {
155
+ ...scope,
156
+ reranker: useReranking ? 'api' : 'off',
157
+ hybrid: true,
158
+ bm25: true,
159
+ symbol_boost: true
160
+ };
161
+ const searchResult = await searchCode(query, maxChunks, provider, workingPath, searchScope);
162
+ if (!searchResult.success || searchResult.results.length === 0) {
163
+ yield `**No relevant code found for:** "${query}"\n\n`;
164
+ yield `Please ensure the project is indexed and try rephrasing your question.`;
165
+ return;
166
+ }
167
+ // Retrieve code chunks
168
+ const codeChunks = new Map();
169
+ for (const result of searchResult.results.slice(0, maxChunks)) {
170
+ const chunkResult = await getChunk(result.sha, workingPath);
171
+ if (chunkResult.success && chunkResult.code) {
172
+ codeChunks.set(result.sha, chunkResult.code);
173
+ }
174
+ }
175
+ // Build context
176
+ const context = {
177
+ query,
178
+ results: searchResult.results.slice(0, maxChunks),
179
+ codeChunks,
180
+ metadata: {
181
+ searchType: searchResult.searchType,
182
+ provider: searchResult.provider,
183
+ totalChunks: searchResult.results.length
184
+ }
185
+ };
186
+ // Generate streaming response
187
+ const systemPrompt = buildSystemPrompt();
188
+ const userPrompt = buildUserPrompt(context, { maxContextChunks: maxChunks });
189
+ const messages = [
190
+ { role: 'system', content: systemPrompt },
191
+ { role: 'user', content: userPrompt }
192
+ ];
193
+ for await (const chunk of chatLLM.generateStreamingCompletion(messages, { temperature })) {
194
+ yield chunk;
195
+ }
196
+ }
197
+ function isComplexQuestion(query) {
198
+ const complexIndicators = [
199
+ /\bhow\s+(does|do|can|should)\b/i,
200
+ /\bwhat\s+(is|are|does)\b/i,
201
+ /\bexplain\b/i,
202
+ /\bwalk\s+me\s+through\b/i,
203
+ /\bstep\s+by\s+step\b/i,
204
+ /\band\b.*\band\b/i, // Multiple "and"s suggest complex query
205
+ /\bor\b.*\bor\b/i, // Multiple "or"s
206
+ /\?.*\?/, // Multiple questions
207
+ ];
208
+ return complexIndicators.some(pattern => pattern.test(query));
209
+ }
210
+ //# sourceMappingURL=synthesizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthesizer.js","sourceRoot":"","sources":["../../src/synthesis/synthesizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAA0C,MAAM,0BAA0B,CAAC;AACzG,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EAExB,MAAM,qBAAqB,CAAC;AAgC7B,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,UAA4B,EAAE;IAE9B,MAAM,EACJ,QAAQ,GAAG,MAAM,EACjB,YAAY,GAAG,MAAM,EACrB,WAAW,GAAG,GAAG,EACjB,KAAK,GAAG,EAAE,EACV,SAAS,GAAG,EAAE,EACd,YAAY,GAAG,IAAI,EACnB,aAAa,GAAG,KAAK,EACrB,WAAW,GAAG,GAAG,EAClB,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,UAAU,GAAmB,EAAE,CAAC;QACpC,IAAI,WAAW,GAAa,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,4CAA4C;QAC5C,IAAI,aAAa,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBACtD,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC;oBAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE;iBAC5C,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;gBAEzC,MAAM,UAAU,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;gBAE/D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,WAAW,GAAG,UAAU,CAAC;oBACzB,cAAc,GAAG,IAAI,CAAC;oBAEtB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;wBACjC,OAAO,CAAC,GAAG,CAAC,+BAA+B,UAAU,CAAC,MAAM,eAAe,CAAC,CAAC;wBAC7E,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;wBACjE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iDAAiD;gBACjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;oBACjC,OAAO,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAiB;YAChC,GAAG,KAAK;YACR,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;YACtC,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,IAAI;SACnB,CAAC;QAEF,KAAK,MAAM,WAAW,IAAI,WAAW,EAAE,CAAC;YACtC,MAAM,YAAY,GAAG,MAAM,UAAU,CACnC,WAAW,EACX,SAAS,EACT,QAAQ,EACR,WAAW,EACX,WAAW,CACZ,CAAC;YAEF,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5D,UAAU,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;QACtD,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,iCAAiC;gBACjC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAE,CAAC;gBAChD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC5C,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;aAC3D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;aAC3C,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAEvB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;gBACnB,KAAK;gBACL,WAAW;gBACX,cAAc,EAAE,CAAC;gBACjB,YAAY,EAAE,OAAO,CAAC,OAAO,EAAE;gBAC/B,iBAAiB,EAAE,QAAQ;gBAC3B,QAAQ,EAAE;oBACR,UAAU,EAAE,cAAc;oBAC1B,YAAY,EAAE,CAAC;iBAChB;aACF,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,gBAAgB,mBAAmB,CAAC,MAAM,uBAAuB,CAAC,CAAC;QACjF,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC5D,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC5C,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,OAAO,GAAgB;YAC3B,KAAK;YACL,OAAO,EAAE,mBAAmB;YAC5B,UAAU;YACV,QAAQ,EAAE;gBACR,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU;gBACpD,QAAQ;gBACR,WAAW,EAAE,mBAAmB,CAAC,MAAM;aACxC;SACF,CAAC;QAEF,qBAAqB;QACrB,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC;QAE7E,MAAM,QAAQ,GAAkB;YAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;SACtC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,+BAA+B,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE;YACxD,WAAW;YACX,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,MAAM,EAAE,EAAE,CAAC;SACzE,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM;YACN,KAAK;YACL,WAAW;YACX,cAAc,EAAE,mBAAmB,CAAC,MAAM;YAC1C,YAAY,EAAE,OAAO,CAAC,OAAO,EAAE;YAC/B,iBAAiB,EAAE,QAAQ;YAC3B,QAAQ,EAAE;gBACR,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU;gBACpD,YAAY,EAAE,mBAAmB,CAAC,MAAM;gBACxC,UAAU,EAAE,cAAc;aAC3B;SACF,CAAC;IAEJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAG,KAAe,CAAC,OAAO;YAC/B,KAAK;YACL,cAAc,EAAE,CAAC;YACjB,YAAY,EAAE,YAAY;YAC1B,iBAAiB,EAAE,QAAQ;SAC5B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,yBAAyB,CAC9C,KAAa,EACb,UAA4B,EAAE;IAE9B,MAAM,EACJ,QAAQ,GAAG,MAAM,EACjB,YAAY,GAAG,MAAM,EACrB,WAAW,GAAG,GAAG,EACjB,KAAK,GAAG,EAAE,EACV,SAAS,GAAG,EAAE,EACd,YAAY,GAAG,IAAI,EACnB,WAAW,GAAG,GAAG,EAClB,GAAG,OAAO,CAAC;IAEZ,MAAM,OAAO,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,iBAAiB;IACjB,MAAM,WAAW,GAAiB;QAChC,GAAG,KAAK;QACR,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;QACtC,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI;QACV,YAAY,EAAE,IAAI;KACnB,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAE5F,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/D,MAAM,oCAAoC,KAAK,OAAO,CAAC;QACvD,MAAM,wEAAwE,CAAC;QAC/E,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YAC5C,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,OAAO,GAAgB;QAC3B,KAAK;QACL,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;QACjD,UAAU;QACV,QAAQ,EAAE;YACR,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM;SACzC;KACF,CAAC;IAEF,8BAA8B;IAC9B,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC;IAE7E,MAAM,QAAQ,GAAkB;QAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;QACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;KACtC,CAAC;IAEF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,2BAA2B,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACzF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,iBAAiB,GAAG;QACxB,iCAAiC;QACjC,2BAA2B;QAC3B,cAAc;QACd,0BAA0B;QAC1B,uBAAuB;QACvB,mBAAmB,EAAE,wCAAwC;QAC7D,iBAAiB,EAAI,iBAAiB;QACtC,QAAQ,EAAc,qBAAqB;KAC5C,CAAC;IAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAChE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../src/utils/rate-limiter.ts"],"names":[],"mappings":"AAaA,qBAAa,WAAW;IACtB,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,WAAW,CAA6B;IAEhD,OAAO,CAAC,YAAY,CAAS;gBAEjB,iBAAiB,GAAE,MAAM,GAAG,IAAW,EAAE,eAAe,GAAE,MAAM,GAAG,IAAW,EAAE,YAAY,GAAE,MAAc;IAMxH,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,qBAAqB;IAsBvB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,SAAI,EAAE,eAAe,SAAI,GAAG,OAAO,CAAC,CAAC,CAAC;YAazE,YAAY;IAkD1B,OAAO,CAAC,gBAAgB;IAYxB,QAAQ;;;;;;;;;;;;IAqBR,KAAK,IAAI,IAAI;CAMd;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAanE"}
1
+ {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../src/utils/rate-limiter.ts"],"names":[],"mappings":"AAaA,qBAAa,WAAW;IACtB,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,WAAW,CAA6B;IAEhD,OAAO,CAAC,YAAY,CAAS;gBAEjB,iBAAiB,GAAE,MAAM,GAAG,IAAW,EAAE,eAAe,GAAE,MAAM,GAAG,IAAW,EAAE,YAAY,GAAE,MAAc;IAMxH,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,qBAAqB;IAsBvB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,SAAI,EAAE,eAAe,SAAI,GAAG,OAAO,CAAC,CAAC,CAAC;YAazE,YAAY;IAkD1B,OAAO,CAAC,gBAAgB;IAYxB,QAAQ;;;;;;;;;;;;IAqBR,KAAK,IAAI,IAAI;CAMd;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAanE"}
@@ -14,7 +14,7 @@ export class RateLimiter {
14
14
  this.maxQueueSize = maxQueueSize;
15
15
  }
16
16
  getDefaultRPM() {
17
- const envVar = process.env.CODEVAULT_RATE_LIMIT_RPM || process.env.CODEVAULT_RATE_LIMIT;
17
+ const envVar = process.env.CODEVAULT_EMBEDDING_RATE_LIMIT_RPM || process.env.CODEVAULT_RATE_LIMIT_RPM || process.env.CODEVAULT_RATE_LIMIT;
18
18
  if (envVar) {
19
19
  const limit = parseInt(envVar, 10);
20
20
  if (!isNaN(limit) && limit > 0) {
@@ -24,8 +24,9 @@ export class RateLimiter {
24
24
  return null;
25
25
  }
26
26
  getDefaultTPM() {
27
- if (process.env.CODEVAULT_RATE_LIMIT_TPM) {
28
- const limit = parseInt(process.env.CODEVAULT_RATE_LIMIT_TPM, 10);
27
+ const envVar = process.env.CODEVAULT_EMBEDDING_RATE_LIMIT_TPM || process.env.CODEVAULT_RATE_LIMIT_TPM;
28
+ if (envVar) {
29
+ const limit = parseInt(envVar, 10);
29
30
  if (!isNaN(limit) && limit > 0) {
30
31
  return limit;
31
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../src/utils/rate-limiter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../src/utils/rate-limiter.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,WAAW;IACd,GAAG,CAAgB;IACnB,GAAG,CAAgB;IACnB,KAAK,GAAqB,EAAE,CAAC;IAC7B,UAAU,GAAG,KAAK,CAAC;IACnB,YAAY,GAAa,EAAE,CAAC;IAC5B,UAAU,GAAsB,EAAE,CAAC;IACnC,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,sDAAsD;IAC9C,YAAY,CAAS;IAE7B,YAAY,oBAAmC,IAAI,EAAE,kBAAiC,IAAI,EAAE,eAAuB,KAAK;QACtH,IAAI,CAAC,GAAG,GAAG,iBAAiB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACrD,IAAI,CAAC,GAAG,GAAG,eAAe,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEO,aAAa;QACnB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAC1I,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa;QACnB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;QACtG,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,eAAe,GAAG,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,GAAG,GAAG,KAAK,CAAC;QAEjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC;QAE7E,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACzF,IAAI,kBAAkB,GAAG,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACpD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,UAAU,GAAG,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,eAAe,GAAG,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC;YAC/C,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3E,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACzF,IAAI,kBAAkB,GAAG,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACpD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBAClD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAO,CAAI,EAAoB,EAAE,UAAU,GAAG,CAAC,EAAE,eAAe,GAAG,CAAC;QACxE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,uEAAuE;YACvE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,YAAY,wCAAwC,CAAC,CAAC,CAAC;gBAC5G,OAAO;YACT,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;YACtE,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;YAElE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,IAAI,CAAC,CAAC,EAAE,CAAC;gBAClD,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;gBAC/D,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAEnB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;gBAE1B,MAAM,UAAU,GAAG,eAAe,IAAK,MAAc,EAAE,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC;gBAChF,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBAE/B,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;oBAE3C,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;wBAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;wBAC3C,OAAO,CAAC,IAAI,CAAC,yCAAyC,KAAK,kBAAkB,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC;wBAE9G,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;wBAE7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;oBAC3F,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,UAAU,aAAc,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACpG,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAc,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAEO,gBAAgB,CAAC,KAAc;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,OAAO,GAAI,KAAa,CAAC,OAAO,IAAI,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAI,KAAa,CAAC,MAAM,IAAK,KAAa,CAAC,UAAU,IAAI,CAAC,CAAC;QAEvE,OAAO,MAAM,KAAK,GAAG;YACd,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC/C,CAAC;IAED,QAAQ;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,GAAG,GAAG,KAAK,CAAC;QACjC,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU;aACvC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;aAC1C,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEjD,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YAC9B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;YAClF,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,MAAM;YAC5E,kBAAkB;YAClB,YAAY,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI;YAC/B,YAAY,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI;YAC/B,SAAS,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI;SAClD,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAC,YAAoB;IACpD,MAAM,aAAa,GAA+D;QAChF,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;QAChC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;QAClC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE;KACpC,CAAC;IAEF,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;QACrH,OAAO,IAAI,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACvE,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codevault",
3
- "version": "1.3.0-beta.7",
3
+ "version": "1.4.0",
4
4
  "description": "AI-powered semantic code search via Model Context Protocol",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -16,12 +16,12 @@
16
16
  ],
17
17
  "repository": {
18
18
  "type": "git",
19
- "url": "git+https://github.com/shariqriazz/codevault-v2.git"
19
+ "url": "git+https://github.com/shariqriazz/codevault.git"
20
20
  },
21
21
  "bugs": {
22
- "url": "https://github.com/shariqriazz/codevault-v2/issues"
22
+ "url": "https://github.com/shariqriazz/codevault/issues"
23
23
  },
24
- "homepage": "https://github.com/shariqriazz/codevault-v2#readme",
24
+ "homepage": "https://github.com/shariqriazz/codevault#readme",
25
25
  "scripts": {
26
26
  "build": "tsc",
27
27
  "dev": "tsc --watch",