midnight-mcp 0.1.41 → 0.2.1
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 +32 -1
- package/dist/bin.d.ts +1 -0
- package/dist/bin.js +10764 -0
- package/dist/index.d.ts +205 -3
- package/dist/index.js +10722 -15
- package/package.json +16 -6
- package/dist/config/compact-version.d.ts +0 -183
- package/dist/config/compact-version.js +0 -423
- package/dist/db/index.d.ts +0 -3
- package/dist/db/index.js +0 -2
- package/dist/db/vectorStore.d.ts +0 -69
- package/dist/db/vectorStore.js +0 -196
- package/dist/pipeline/embeddings.d.ts +0 -25
- package/dist/pipeline/embeddings.js +0 -103
- package/dist/pipeline/github.d.ts +0 -84
- package/dist/pipeline/github.js +0 -399
- package/dist/pipeline/index.d.ts +0 -11
- package/dist/pipeline/index.js +0 -6
- package/dist/pipeline/indexer.d.ts +0 -41
- package/dist/pipeline/indexer.js +0 -254
- package/dist/pipeline/parser.d.ts +0 -46
- package/dist/pipeline/parser.js +0 -436
- package/dist/pipeline/releases.d.ts +0 -112
- package/dist/pipeline/releases.js +0 -298
- package/dist/pipeline/repository.d.ts +0 -372
- package/dist/pipeline/repository.js +0 -520
- package/dist/prompts/index.d.ts +0 -3
- package/dist/prompts/index.js +0 -2
- package/dist/prompts/templates.d.ts +0 -26
- package/dist/prompts/templates.js +0 -443
- package/dist/resources/code.d.ts +0 -15
- package/dist/resources/code.js +0 -122
- package/dist/resources/content/code-content.d.ts +0 -6
- package/dist/resources/content/code-content.js +0 -802
- package/dist/resources/content/docs-content.d.ts +0 -14
- package/dist/resources/content/docs-content.js +0 -1202
- package/dist/resources/content/index.d.ts +0 -6
- package/dist/resources/content/index.js +0 -6
- package/dist/resources/docs.d.ts +0 -15
- package/dist/resources/docs.js +0 -98
- package/dist/resources/index.d.ts +0 -6
- package/dist/resources/index.js +0 -13
- package/dist/resources/schemas.d.ts +0 -16
- package/dist/resources/schemas.js +0 -407
- package/dist/scripts/index-repos.d.ts +0 -12
- package/dist/scripts/index-repos.js +0 -53
- package/dist/server.d.ts +0 -43
- package/dist/server.js +0 -696
- package/dist/services/index.d.ts +0 -6
- package/dist/services/index.js +0 -6
- package/dist/services/sampling.d.ts +0 -62
- package/dist/services/sampling.js +0 -277
- package/dist/tools/analyze.d.ts +0 -106
- package/dist/tools/analyze.js +0 -431
- package/dist/tools/generation.d.ts +0 -9
- package/dist/tools/generation.js +0 -285
- package/dist/tools/health.d.ts +0 -120
- package/dist/tools/health.js +0 -365
- package/dist/tools/index.d.ts +0 -14
- package/dist/tools/index.js +0 -22
- package/dist/tools/meta.d.ts +0 -61
- package/dist/tools/meta.js +0 -282
- package/dist/tools/repository/constants.d.ts +0 -19
- package/dist/tools/repository/constants.js +0 -324
- package/dist/tools/repository/handlers.d.ts +0 -373
- package/dist/tools/repository/handlers.js +0 -724
- package/dist/tools/repository/index.d.ts +0 -9
- package/dist/tools/repository/index.js +0 -13
- package/dist/tools/repository/schemas.d.ts +0 -153
- package/dist/tools/repository/schemas.js +0 -106
- package/dist/tools/repository/tools.d.ts +0 -7
- package/dist/tools/repository/tools.js +0 -484
- package/dist/tools/repository/validation.d.ts +0 -106
- package/dist/tools/repository/validation.js +0 -820
- package/dist/tools/repository.d.ts +0 -6
- package/dist/tools/repository.js +0 -7
- package/dist/tools/search.d.ts +0 -76
- package/dist/tools/search.js +0 -423
- package/dist/types/index.d.ts +0 -2
- package/dist/types/index.js +0 -2
- package/dist/types/mcp.d.ts +0 -187
- package/dist/types/mcp.js +0 -6
- package/dist/utils/cache.d.ts +0 -77
- package/dist/utils/cache.js +0 -172
- package/dist/utils/config.d.ts +0 -70
- package/dist/utils/config.js +0 -294
- package/dist/utils/errors.d.ts +0 -111
- package/dist/utils/errors.js +0 -165
- package/dist/utils/health.d.ts +0 -29
- package/dist/utils/health.js +0 -132
- package/dist/utils/hosted-api.d.ts +0 -67
- package/dist/utils/hosted-api.js +0 -119
- package/dist/utils/index.d.ts +0 -16
- package/dist/utils/index.js +0 -15
- package/dist/utils/logger.d.ts +0 -48
- package/dist/utils/logger.js +0 -124
- package/dist/utils/rate-limit.d.ts +0 -61
- package/dist/utils/rate-limit.js +0 -148
- package/dist/utils/validation.d.ts +0 -52
- package/dist/utils/validation.js +0 -255
package/dist/types/mcp.d.ts
DELETED
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extended MCP types for advanced features
|
|
3
|
-
* Includes tool annotations, output schemas, and resource templates
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Tool annotations provide hints about tool behavior
|
|
7
|
-
* These help clients make better decisions about tool usage
|
|
8
|
-
*/
|
|
9
|
-
export interface ToolAnnotations {
|
|
10
|
-
/**
|
|
11
|
-
* If true, the tool does not modify any state
|
|
12
|
-
* Clients can safely retry or parallelize read-only tools
|
|
13
|
-
*/
|
|
14
|
-
readOnlyHint?: boolean;
|
|
15
|
-
/**
|
|
16
|
-
* If true, calling the tool multiple times with the same input
|
|
17
|
-
* produces the same result (safe to retry)
|
|
18
|
-
*/
|
|
19
|
-
idempotentHint?: boolean;
|
|
20
|
-
/**
|
|
21
|
-
* If true, the tool may return results from external sources
|
|
22
|
-
* that could change over time
|
|
23
|
-
*/
|
|
24
|
-
openWorldHint?: boolean;
|
|
25
|
-
/**
|
|
26
|
-
* If true, the tool may take a long time to complete
|
|
27
|
-
* Clients should show progress indicators
|
|
28
|
-
*/
|
|
29
|
-
longRunningHint?: boolean;
|
|
30
|
-
/**
|
|
31
|
-
* Human-readable title for display in UIs
|
|
32
|
-
*/
|
|
33
|
-
title?: string;
|
|
34
|
-
/**
|
|
35
|
-
* If true, this tool performs destructive or irreversible actions
|
|
36
|
-
* Clients should require human confirmation before execution
|
|
37
|
-
*/
|
|
38
|
-
destructiveHint?: boolean;
|
|
39
|
-
/**
|
|
40
|
-
* If true, this tool requires explicit human confirmation
|
|
41
|
-
* before execution (e.g., financial transactions, deletions)
|
|
42
|
-
*/
|
|
43
|
-
requiresConfirmation?: boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Tool category for progressive disclosure
|
|
46
|
-
* Allows clients to group/filter tools by domain
|
|
47
|
-
*/
|
|
48
|
-
category?: ToolCategory;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Tool categories for progressive disclosure
|
|
52
|
-
* Clients can initially show categories, then expand to individual tools
|
|
53
|
-
*/
|
|
54
|
-
export type ToolCategory = "search" | "analyze" | "repository" | "versioning" | "generation" | "health" | "compound";
|
|
55
|
-
/**
|
|
56
|
-
* JSON Schema for structured tool outputs
|
|
57
|
-
* Enables better LLM parsing and IDE integration
|
|
58
|
-
*/
|
|
59
|
-
export interface OutputSchema {
|
|
60
|
-
type: "object" | "array" | "string" | "number" | "boolean";
|
|
61
|
-
properties?: Record<string, PropertySchema>;
|
|
62
|
-
items?: PropertySchema;
|
|
63
|
-
required?: string[];
|
|
64
|
-
description?: string;
|
|
65
|
-
}
|
|
66
|
-
export interface PropertySchema {
|
|
67
|
-
type: "string" | "number" | "boolean" | "array" | "object";
|
|
68
|
-
description?: string;
|
|
69
|
-
items?: PropertySchema;
|
|
70
|
-
properties?: Record<string, PropertySchema>;
|
|
71
|
-
enum?: string[];
|
|
72
|
-
}
|
|
73
|
-
export interface ExtendedToolDefinition {
|
|
74
|
-
name: string;
|
|
75
|
-
description: string;
|
|
76
|
-
inputSchema: {
|
|
77
|
-
type: "object";
|
|
78
|
-
properties: Record<string, unknown>;
|
|
79
|
-
required?: string[];
|
|
80
|
-
};
|
|
81
|
-
outputSchema?: OutputSchema;
|
|
82
|
-
annotations?: ToolAnnotations;
|
|
83
|
-
handler: (input: any) => Promise<any>;
|
|
84
|
-
}
|
|
85
|
-
export interface ResourceTemplate {
|
|
86
|
-
/**
|
|
87
|
-
* URI template following RFC 6570
|
|
88
|
-
* e.g., "midnight://code/{owner}/{repo}/{path}"
|
|
89
|
-
*/
|
|
90
|
-
uriTemplate: string;
|
|
91
|
-
/**
|
|
92
|
-
* Human-readable name
|
|
93
|
-
*/
|
|
94
|
-
name: string;
|
|
95
|
-
/**
|
|
96
|
-
* Human-readable title for display
|
|
97
|
-
*/
|
|
98
|
-
title?: string;
|
|
99
|
-
/**
|
|
100
|
-
* Description of what resources this template provides
|
|
101
|
-
*/
|
|
102
|
-
description: string;
|
|
103
|
-
/**
|
|
104
|
-
* MIME type of resources matching this template
|
|
105
|
-
*/
|
|
106
|
-
mimeType: string;
|
|
107
|
-
}
|
|
108
|
-
export interface ResourceAnnotations {
|
|
109
|
-
/**
|
|
110
|
-
* Intended audience for the resource
|
|
111
|
-
* "user" = for human consumption
|
|
112
|
-
* "assistant" = for LLM context
|
|
113
|
-
*/
|
|
114
|
-
audience?: ("user" | "assistant")[];
|
|
115
|
-
/**
|
|
116
|
-
* Priority from 0.0 (optional) to 1.0 (required)
|
|
117
|
-
*/
|
|
118
|
-
priority?: number;
|
|
119
|
-
/**
|
|
120
|
-
* ISO 8601 timestamp of last modification
|
|
121
|
-
*/
|
|
122
|
-
lastModified?: string;
|
|
123
|
-
}
|
|
124
|
-
export interface SamplingRequest {
|
|
125
|
-
messages: SamplingMessage[];
|
|
126
|
-
systemPrompt?: string;
|
|
127
|
-
modelPreferences?: ModelPreferences;
|
|
128
|
-
maxTokens?: number;
|
|
129
|
-
temperature?: number;
|
|
130
|
-
stopSequences?: string[];
|
|
131
|
-
}
|
|
132
|
-
export interface SamplingMessage {
|
|
133
|
-
role: "user" | "assistant";
|
|
134
|
-
content: TextContent | ImageContent;
|
|
135
|
-
}
|
|
136
|
-
export interface TextContent {
|
|
137
|
-
type: "text";
|
|
138
|
-
text: string;
|
|
139
|
-
}
|
|
140
|
-
export interface ImageContent {
|
|
141
|
-
type: "image";
|
|
142
|
-
data: string;
|
|
143
|
-
mimeType: string;
|
|
144
|
-
}
|
|
145
|
-
export interface ModelPreferences {
|
|
146
|
-
hints?: {
|
|
147
|
-
name: string;
|
|
148
|
-
}[];
|
|
149
|
-
costPriority?: number;
|
|
150
|
-
speedPriority?: number;
|
|
151
|
-
intelligencePriority?: number;
|
|
152
|
-
}
|
|
153
|
-
export interface SamplingResponse {
|
|
154
|
-
role: "assistant";
|
|
155
|
-
content: TextContent;
|
|
156
|
-
model: string;
|
|
157
|
-
stopReason: "endTurn" | "maxTokens" | "stopSequence";
|
|
158
|
-
}
|
|
159
|
-
export interface SearchResult {
|
|
160
|
-
content: string;
|
|
161
|
-
relevanceScore: number;
|
|
162
|
-
source: {
|
|
163
|
-
repository: string;
|
|
164
|
-
filePath: string;
|
|
165
|
-
lines: string;
|
|
166
|
-
};
|
|
167
|
-
codeType: string;
|
|
168
|
-
}
|
|
169
|
-
export interface SearchResponse {
|
|
170
|
-
results: SearchResult[];
|
|
171
|
-
totalResults: number;
|
|
172
|
-
query: string;
|
|
173
|
-
warnings?: string[];
|
|
174
|
-
}
|
|
175
|
-
export interface AnalysisResponse {
|
|
176
|
-
name: string;
|
|
177
|
-
type: string;
|
|
178
|
-
summary: string;
|
|
179
|
-
components: {
|
|
180
|
-
name: string;
|
|
181
|
-
type: string;
|
|
182
|
-
description: string;
|
|
183
|
-
}[];
|
|
184
|
-
securityNotes: string[];
|
|
185
|
-
recommendations: string[];
|
|
186
|
-
}
|
|
187
|
-
//# sourceMappingURL=mcp.d.ts.map
|
package/dist/types/mcp.js
DELETED
package/dist/utils/cache.d.ts
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generic caching utilities for MCP server
|
|
3
|
-
* Provides TTL-based caching with memory management
|
|
4
|
-
*/
|
|
5
|
-
export interface CacheOptions {
|
|
6
|
-
ttl: number;
|
|
7
|
-
maxSize?: number;
|
|
8
|
-
name?: string;
|
|
9
|
-
}
|
|
10
|
-
export interface CacheEntry<T> {
|
|
11
|
-
value: T;
|
|
12
|
-
expiresAt: number;
|
|
13
|
-
createdAt: number;
|
|
14
|
-
}
|
|
15
|
-
export interface CacheStats {
|
|
16
|
-
hits: number;
|
|
17
|
-
misses: number;
|
|
18
|
-
size: number;
|
|
19
|
-
hitRate: number;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Generic cache implementation with TTL and size limits
|
|
23
|
-
*/
|
|
24
|
-
export declare class Cache<T> {
|
|
25
|
-
private cache;
|
|
26
|
-
private options;
|
|
27
|
-
private stats;
|
|
28
|
-
constructor(options: CacheOptions);
|
|
29
|
-
/**
|
|
30
|
-
* Get a value from the cache
|
|
31
|
-
*/
|
|
32
|
-
get(key: string): T | undefined;
|
|
33
|
-
/**
|
|
34
|
-
* Set a value in the cache
|
|
35
|
-
*/
|
|
36
|
-
set(key: string, value: T, ttl?: number): void;
|
|
37
|
-
/**
|
|
38
|
-
* Check if a key exists and is not expired
|
|
39
|
-
*/
|
|
40
|
-
has(key: string): boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Delete a key from the cache
|
|
43
|
-
*/
|
|
44
|
-
delete(key: string): boolean;
|
|
45
|
-
/**
|
|
46
|
-
* Clear all entries from the cache
|
|
47
|
-
*/
|
|
48
|
-
clear(): void;
|
|
49
|
-
/**
|
|
50
|
-
* Remove expired entries
|
|
51
|
-
*/
|
|
52
|
-
prune(): number;
|
|
53
|
-
/**
|
|
54
|
-
* Evict the oldest entry to make room
|
|
55
|
-
*/
|
|
56
|
-
private evictOldest;
|
|
57
|
-
/**
|
|
58
|
-
* Get cache statistics
|
|
59
|
-
*/
|
|
60
|
-
getStats(): CacheStats;
|
|
61
|
-
/**
|
|
62
|
-
* Get or set with a factory function
|
|
63
|
-
*/
|
|
64
|
-
getOrSet(key: string, factory: () => Promise<T>, ttl?: number): Promise<T>;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Create a cache key from multiple parts
|
|
68
|
-
*/
|
|
69
|
-
export declare function createCacheKey(...parts: (string | number | boolean | undefined)[]): string;
|
|
70
|
-
export declare const searchCache: Cache<unknown>;
|
|
71
|
-
export declare const fileCache: Cache<string>;
|
|
72
|
-
export declare const metadataCache: Cache<unknown>;
|
|
73
|
-
/**
|
|
74
|
-
* Prune all caches periodically
|
|
75
|
-
*/
|
|
76
|
-
export declare function pruneAllCaches(): void;
|
|
77
|
-
//# sourceMappingURL=cache.d.ts.map
|
package/dist/utils/cache.js
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generic caching utilities for MCP server
|
|
3
|
-
* Provides TTL-based caching with memory management
|
|
4
|
-
*/
|
|
5
|
-
import { logger } from "./logger.js";
|
|
6
|
-
/**
|
|
7
|
-
* Generic cache implementation with TTL and size limits
|
|
8
|
-
*/
|
|
9
|
-
export class Cache {
|
|
10
|
-
cache = new Map();
|
|
11
|
-
options;
|
|
12
|
-
stats = { hits: 0, misses: 0 };
|
|
13
|
-
constructor(options) {
|
|
14
|
-
this.options = {
|
|
15
|
-
ttl: options.ttl,
|
|
16
|
-
maxSize: options.maxSize || 1000,
|
|
17
|
-
name: options.name || "cache",
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Get a value from the cache
|
|
22
|
-
*/
|
|
23
|
-
get(key) {
|
|
24
|
-
const entry = this.cache.get(key);
|
|
25
|
-
if (!entry) {
|
|
26
|
-
this.stats.misses++;
|
|
27
|
-
return undefined;
|
|
28
|
-
}
|
|
29
|
-
// Check if expired
|
|
30
|
-
if (Date.now() > entry.expiresAt) {
|
|
31
|
-
this.cache.delete(key);
|
|
32
|
-
this.stats.misses++;
|
|
33
|
-
return undefined;
|
|
34
|
-
}
|
|
35
|
-
this.stats.hits++;
|
|
36
|
-
return entry.value;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Set a value in the cache
|
|
40
|
-
*/
|
|
41
|
-
set(key, value, ttl) {
|
|
42
|
-
// Enforce size limit
|
|
43
|
-
if (this.cache.size >= this.options.maxSize) {
|
|
44
|
-
this.evictOldest();
|
|
45
|
-
}
|
|
46
|
-
const now = Date.now();
|
|
47
|
-
this.cache.set(key, {
|
|
48
|
-
value,
|
|
49
|
-
expiresAt: now + (ttl || this.options.ttl),
|
|
50
|
-
createdAt: now,
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Check if a key exists and is not expired
|
|
55
|
-
*/
|
|
56
|
-
has(key) {
|
|
57
|
-
const entry = this.cache.get(key);
|
|
58
|
-
if (!entry)
|
|
59
|
-
return false;
|
|
60
|
-
if (Date.now() > entry.expiresAt) {
|
|
61
|
-
this.cache.delete(key);
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
return true;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Delete a key from the cache
|
|
68
|
-
*/
|
|
69
|
-
delete(key) {
|
|
70
|
-
return this.cache.delete(key);
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Clear all entries from the cache
|
|
74
|
-
*/
|
|
75
|
-
clear() {
|
|
76
|
-
this.cache.clear();
|
|
77
|
-
logger.debug(`Cache cleared: ${this.options.name}`);
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Remove expired entries
|
|
81
|
-
*/
|
|
82
|
-
prune() {
|
|
83
|
-
const now = Date.now();
|
|
84
|
-
let pruned = 0;
|
|
85
|
-
for (const [key, entry] of this.cache.entries()) {
|
|
86
|
-
if (now > entry.expiresAt) {
|
|
87
|
-
this.cache.delete(key);
|
|
88
|
-
pruned++;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
if (pruned > 0) {
|
|
92
|
-
logger.debug(`Cache pruned: ${this.options.name}`, { pruned });
|
|
93
|
-
}
|
|
94
|
-
return pruned;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Evict the oldest entry to make room
|
|
98
|
-
*/
|
|
99
|
-
evictOldest() {
|
|
100
|
-
let oldestKey = null;
|
|
101
|
-
let oldestTime = Infinity;
|
|
102
|
-
for (const [key, entry] of this.cache.entries()) {
|
|
103
|
-
if (entry.createdAt < oldestTime) {
|
|
104
|
-
oldestTime = entry.createdAt;
|
|
105
|
-
oldestKey = key;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
if (oldestKey) {
|
|
109
|
-
this.cache.delete(oldestKey);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Get cache statistics
|
|
114
|
-
*/
|
|
115
|
-
getStats() {
|
|
116
|
-
const total = this.stats.hits + this.stats.misses;
|
|
117
|
-
return {
|
|
118
|
-
hits: this.stats.hits,
|
|
119
|
-
misses: this.stats.misses,
|
|
120
|
-
size: this.cache.size,
|
|
121
|
-
hitRate: total > 0 ? this.stats.hits / total : 0,
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Get or set with a factory function
|
|
126
|
-
*/
|
|
127
|
-
async getOrSet(key, factory, ttl) {
|
|
128
|
-
const cached = this.get(key);
|
|
129
|
-
if (cached !== undefined) {
|
|
130
|
-
return cached;
|
|
131
|
-
}
|
|
132
|
-
const value = await factory();
|
|
133
|
-
this.set(key, value, ttl);
|
|
134
|
-
return value;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Create a cache key from multiple parts
|
|
139
|
-
*/
|
|
140
|
-
export function createCacheKey(...parts) {
|
|
141
|
-
return parts
|
|
142
|
-
.filter((p) => p !== undefined)
|
|
143
|
-
.map((p) => String(p))
|
|
144
|
-
.join(":");
|
|
145
|
-
}
|
|
146
|
-
// Pre-configured caches for common use cases
|
|
147
|
-
export const searchCache = new Cache({
|
|
148
|
-
ttl: 5 * 60 * 1000, // 5 minutes
|
|
149
|
-
maxSize: 500,
|
|
150
|
-
name: "search",
|
|
151
|
-
});
|
|
152
|
-
export const fileCache = new Cache({
|
|
153
|
-
ttl: 10 * 60 * 1000, // 10 minutes
|
|
154
|
-
maxSize: 200,
|
|
155
|
-
name: "file",
|
|
156
|
-
});
|
|
157
|
-
export const metadataCache = new Cache({
|
|
158
|
-
ttl: 15 * 60 * 1000, // 15 minutes
|
|
159
|
-
maxSize: 100,
|
|
160
|
-
name: "metadata",
|
|
161
|
-
});
|
|
162
|
-
/**
|
|
163
|
-
* Prune all caches periodically
|
|
164
|
-
*/
|
|
165
|
-
export function pruneAllCaches() {
|
|
166
|
-
searchCache.prune();
|
|
167
|
-
fileCache.prune();
|
|
168
|
-
metadataCache.prune();
|
|
169
|
-
}
|
|
170
|
-
// Auto-prune every 5 minutes
|
|
171
|
-
setInterval(pruneAllCaches, 5 * 60 * 1000);
|
|
172
|
-
//# sourceMappingURL=cache.js.map
|
package/dist/utils/config.d.ts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
declare const ConfigSchema: z.ZodObject<{
|
|
3
|
-
mode: z.ZodDefault<z.ZodEnum<["hosted", "local"]>>;
|
|
4
|
-
hostedApiUrl: z.ZodDefault<z.ZodString>;
|
|
5
|
-
githubToken: z.ZodOptional<z.ZodString>;
|
|
6
|
-
chromaUrl: z.ZodDefault<z.ZodString>;
|
|
7
|
-
openaiApiKey: z.ZodOptional<z.ZodString>;
|
|
8
|
-
embeddingModel: z.ZodDefault<z.ZodString>;
|
|
9
|
-
logLevel: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error"]>>;
|
|
10
|
-
syncInterval: z.ZodDefault<z.ZodNumber>;
|
|
11
|
-
port: z.ZodDefault<z.ZodNumber>;
|
|
12
|
-
dataDir: z.ZodDefault<z.ZodString>;
|
|
13
|
-
cacheDir: z.ZodDefault<z.ZodString>;
|
|
14
|
-
}, "strip", z.ZodTypeAny, {
|
|
15
|
-
mode: "hosted" | "local";
|
|
16
|
-
hostedApiUrl: string;
|
|
17
|
-
chromaUrl: string;
|
|
18
|
-
embeddingModel: string;
|
|
19
|
-
logLevel: "debug" | "info" | "warn" | "error";
|
|
20
|
-
syncInterval: number;
|
|
21
|
-
port: number;
|
|
22
|
-
dataDir: string;
|
|
23
|
-
cacheDir: string;
|
|
24
|
-
githubToken?: string | undefined;
|
|
25
|
-
openaiApiKey?: string | undefined;
|
|
26
|
-
}, {
|
|
27
|
-
mode?: "hosted" | "local" | undefined;
|
|
28
|
-
hostedApiUrl?: string | undefined;
|
|
29
|
-
githubToken?: string | undefined;
|
|
30
|
-
chromaUrl?: string | undefined;
|
|
31
|
-
openaiApiKey?: string | undefined;
|
|
32
|
-
embeddingModel?: string | undefined;
|
|
33
|
-
logLevel?: "debug" | "info" | "warn" | "error" | undefined;
|
|
34
|
-
syncInterval?: number | undefined;
|
|
35
|
-
port?: number | undefined;
|
|
36
|
-
dataDir?: string | undefined;
|
|
37
|
-
cacheDir?: string | undefined;
|
|
38
|
-
}>;
|
|
39
|
-
export type Config = z.infer<typeof ConfigSchema>;
|
|
40
|
-
export declare const config: {
|
|
41
|
-
mode: "hosted" | "local";
|
|
42
|
-
hostedApiUrl: string;
|
|
43
|
-
chromaUrl: string;
|
|
44
|
-
embeddingModel: string;
|
|
45
|
-
logLevel: "debug" | "info" | "warn" | "error";
|
|
46
|
-
syncInterval: number;
|
|
47
|
-
port: number;
|
|
48
|
-
dataDir: string;
|
|
49
|
-
cacheDir: string;
|
|
50
|
-
githubToken?: string | undefined;
|
|
51
|
-
openaiApiKey?: string | undefined;
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* Check if running in hosted mode (default)
|
|
55
|
-
*/
|
|
56
|
-
export declare function isHostedMode(): boolean;
|
|
57
|
-
/**
|
|
58
|
-
* Check if running in local mode
|
|
59
|
-
*/
|
|
60
|
-
export declare function isLocalMode(): boolean;
|
|
61
|
-
export interface RepositoryConfig {
|
|
62
|
-
owner: string;
|
|
63
|
-
repo: string;
|
|
64
|
-
branch: string;
|
|
65
|
-
patterns: string[];
|
|
66
|
-
exclude: string[];
|
|
67
|
-
}
|
|
68
|
-
export declare const DEFAULT_REPOSITORIES: RepositoryConfig[];
|
|
69
|
-
export {};
|
|
70
|
-
//# sourceMappingURL=config.d.ts.map
|