pupt 2.2.0 → 2.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/dist/prompts/input-types/file-search-prompt.js +2 -2
- package/dist/prompts/input-types/file-search-prompt.js.map +1 -1
- package/package.json +2 -3
- package/dist/prompts/input-types/file-prompt.d.ts +0 -12
- package/dist/prompts/input-types/file-prompt.d.ts.map +0 -1
- package/dist/prompts/input-types/file-prompt.js +0 -165
- package/dist/prompts/input-types/file-prompt.js.map +0 -1
- package/dist/schemas/prompt-schema.d.ts +0 -920
- package/dist/schemas/prompt-schema.d.ts.map +0 -1
- package/dist/schemas/prompt-schema.js +0 -110
- package/dist/schemas/prompt-schema.js.map +0 -1
- package/dist/search/file-search-engine.d.ts +0 -37
- package/dist/search/file-search-engine.d.ts.map +0 -1
- package/dist/search/file-search-engine.js +0 -184
- package/dist/search/file-search-engine.js.map +0 -1
- package/dist/services/file-system-service.d.ts +0 -43
- package/dist/services/file-system-service.d.ts.map +0 -1
- package/dist/services/file-system-service.js +0 -269
- package/dist/services/file-system-service.js.map +0 -1
- package/dist/utils/file-utils.d.ts +0 -17
- package/dist/utils/file-utils.d.ts.map +0 -1
- package/dist/utils/file-utils.js +0 -88
- package/dist/utils/file-utils.js.map +0 -1
- package/dist/utils/trie.d.ts +0 -19
- package/dist/utils/trie.d.ts.map +0 -1
- package/dist/utils/trie.js +0 -84
- package/dist/utils/trie.js.map +0 -1
- package/prompts/add-summary.prompt +0 -54
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/prompt-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe,4GAU1B,CAAC;AAGH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;EAQhC,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B7B,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;EAQ5B,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB/B,CAAC;AAGH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKvB,CAAC;AAGH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW7B,CAAC;AAGH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAK3B,CAAC"}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
// Input type schemas
|
|
3
|
-
export const InputTypeSchema = z.enum([
|
|
4
|
-
'text',
|
|
5
|
-
'select',
|
|
6
|
-
'multiselect',
|
|
7
|
-
'number',
|
|
8
|
-
'boolean',
|
|
9
|
-
'file',
|
|
10
|
-
'password',
|
|
11
|
-
'confirm',
|
|
12
|
-
'editor'
|
|
13
|
-
]);
|
|
14
|
-
// Validation schema for input validation rules
|
|
15
|
-
export const InputValidationSchema = z.object({
|
|
16
|
-
required: z.boolean().optional(),
|
|
17
|
-
pattern: z.string().optional(),
|
|
18
|
-
min: z.number().optional(),
|
|
19
|
-
max: z.number().optional(),
|
|
20
|
-
minLength: z.number().optional(),
|
|
21
|
-
maxLength: z.number().optional(),
|
|
22
|
-
enum: z.array(z.string()).optional()
|
|
23
|
-
});
|
|
24
|
-
// Input definition schema
|
|
25
|
-
export const PromptInputSchema = z.object({
|
|
26
|
-
name: z.string().min(1, 'Input name is required'),
|
|
27
|
-
type: InputTypeSchema,
|
|
28
|
-
description: z.string().optional(),
|
|
29
|
-
required: z.boolean().default(true),
|
|
30
|
-
default: z.any().optional(),
|
|
31
|
-
options: z.array(z.union([
|
|
32
|
-
z.string(),
|
|
33
|
-
z.object({
|
|
34
|
-
label: z.string(),
|
|
35
|
-
value: z.any()
|
|
36
|
-
})
|
|
37
|
-
])).optional(),
|
|
38
|
-
validation: z.union([
|
|
39
|
-
z.string(), // For backward compatibility with string validation rules
|
|
40
|
-
InputValidationSchema
|
|
41
|
-
]).optional(),
|
|
42
|
-
placeholder: z.string().optional(),
|
|
43
|
-
allowMultiple: z.boolean().optional() // For file inputs
|
|
44
|
-
}).refine((data) => {
|
|
45
|
-
// Ensure select/multiselect have options
|
|
46
|
-
if ((data.type === 'select' || data.type === 'multiselect') && !data.options) {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
return true;
|
|
50
|
-
}, {
|
|
51
|
-
message: 'Select and multiselect inputs must have options'
|
|
52
|
-
});
|
|
53
|
-
// Model configuration schema
|
|
54
|
-
export const ModelConfigSchema = z.object({
|
|
55
|
-
model: z.string().optional(),
|
|
56
|
-
temperature: z.number().min(0).max(2).optional(),
|
|
57
|
-
maxTokens: z.number().positive().optional(),
|
|
58
|
-
topP: z.number().min(0).max(1).optional(),
|
|
59
|
-
frequencyPenalty: z.number().min(-2).max(2).optional(),
|
|
60
|
-
presencePenalty: z.number().min(-2).max(2).optional(),
|
|
61
|
-
stopSequences: z.array(z.string()).optional()
|
|
62
|
-
});
|
|
63
|
-
// Prompt metadata schema (frontmatter)
|
|
64
|
-
export const PromptMetadataSchema = z.object({
|
|
65
|
-
name: z.string().optional(),
|
|
66
|
-
description: z.string().optional(),
|
|
67
|
-
tags: z.array(z.string()).optional(),
|
|
68
|
-
category: z.string().optional(),
|
|
69
|
-
version: z.string().optional(),
|
|
70
|
-
author: z.string().optional(),
|
|
71
|
-
inputs: z.array(PromptInputSchema).optional(),
|
|
72
|
-
model: z.string().optional(), // Deprecated, use modelConfig
|
|
73
|
-
temperature: z.number().min(0).max(2).optional(), // Deprecated
|
|
74
|
-
maxTokens: z.number().positive().optional(), // Deprecated
|
|
75
|
-
modelConfig: ModelConfigSchema.optional(),
|
|
76
|
-
outputFormat: z.enum(['text', 'json', 'markdown', 'code']).optional(),
|
|
77
|
-
examples: z.array(z.object({
|
|
78
|
-
inputs: z.record(z.any()),
|
|
79
|
-
output: z.string().optional()
|
|
80
|
-
})).optional(),
|
|
81
|
-
dependencies: z.array(z.string()).optional() // Other prompts this depends on
|
|
82
|
-
});
|
|
83
|
-
// Full prompt schema
|
|
84
|
-
export const PromptSchema = z.object({
|
|
85
|
-
metadata: PromptMetadataSchema,
|
|
86
|
-
content: z.string(),
|
|
87
|
-
path: z.string(),
|
|
88
|
-
name: z.string()
|
|
89
|
-
});
|
|
90
|
-
// History entry schema
|
|
91
|
-
export const HistoryEntrySchema = z.object({
|
|
92
|
-
id: z.string(),
|
|
93
|
-
timestamp: z.string().datetime(),
|
|
94
|
-
promptName: z.string(),
|
|
95
|
-
promptPath: z.string(),
|
|
96
|
-
inputs: z.record(z.any()),
|
|
97
|
-
maskedInputs: z.record(z.any()).optional(),
|
|
98
|
-
output: z.string(),
|
|
99
|
-
modelConfig: ModelConfigSchema.optional(),
|
|
100
|
-
duration: z.number().optional(),
|
|
101
|
-
annotation: z.string().optional()
|
|
102
|
-
});
|
|
103
|
-
// Annotation schema
|
|
104
|
-
export const AnnotationSchema = z.object({
|
|
105
|
-
historyId: z.string(),
|
|
106
|
-
annotation: z.string(),
|
|
107
|
-
timestamp: z.string().datetime(),
|
|
108
|
-
tags: z.array(z.string()).optional()
|
|
109
|
-
});
|
|
110
|
-
//# sourceMappingURL=prompt-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-schema.js","sourceRoot":"","sources":["../../src/schemas/prompt-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
interface FileInfo {
|
|
2
|
-
name: string;
|
|
3
|
-
absolutePath: string;
|
|
4
|
-
relativePath: string;
|
|
5
|
-
isDirectory: boolean;
|
|
6
|
-
modTime: Date;
|
|
7
|
-
}
|
|
8
|
-
interface FileSearchResult {
|
|
9
|
-
display: string;
|
|
10
|
-
value: string;
|
|
11
|
-
description?: string;
|
|
12
|
-
}
|
|
13
|
-
export declare class FileSearchEngine {
|
|
14
|
-
private basePath;
|
|
15
|
-
private filter?;
|
|
16
|
-
private cache;
|
|
17
|
-
private cacheTimeout;
|
|
18
|
-
private cacheTimestamps;
|
|
19
|
-
private pathSeparatorRegex;
|
|
20
|
-
constructor(basePath: string, filter?: string);
|
|
21
|
-
search(query: string, signal?: AbortSignal): Promise<FileInfo[]>;
|
|
22
|
-
listDirectory(dirPath: string): Promise<FileInfo[]>;
|
|
23
|
-
parseSearchQuery(query: string): {
|
|
24
|
-
searchPath: string;
|
|
25
|
-
searchTerm: string;
|
|
26
|
-
};
|
|
27
|
-
normalizePathInput(input: string): string;
|
|
28
|
-
resolveToAbsolutePath(input: string): string;
|
|
29
|
-
formatFileInfo(fileInfo: FileInfo): FileSearchResult;
|
|
30
|
-
private getCandidatePaths;
|
|
31
|
-
private filterAndSort;
|
|
32
|
-
private fuzzyMatch;
|
|
33
|
-
private getFromCache;
|
|
34
|
-
private addToCache;
|
|
35
|
-
}
|
|
36
|
-
export {};
|
|
37
|
-
//# sourceMappingURL=file-search-engine.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-search-engine.d.ts","sourceRoot":"","sources":["../../src/search/file-search-engine.ts"],"names":[],"mappings":"AAIA,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,IAAI,CAAC;CACf;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAOvC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAmBhE,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKzD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IA2B3E,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAkBzC,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAK5C,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,gBAAgB;YAWtC,iBAAiB;IA+C/B,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,UAAU;CAYnB"}
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
import fs from 'fs-extra';
|
|
2
|
-
import * as path from 'node:path';
|
|
3
|
-
import os from 'node:os';
|
|
4
|
-
export class FileSearchEngine {
|
|
5
|
-
basePath;
|
|
6
|
-
filter;
|
|
7
|
-
cache = new Map();
|
|
8
|
-
cacheTimeout = 5000; // 5 seconds
|
|
9
|
-
cacheTimestamps = new Map();
|
|
10
|
-
pathSeparatorRegex;
|
|
11
|
-
constructor(basePath, filter) {
|
|
12
|
-
this.basePath = path.resolve(basePath);
|
|
13
|
-
this.filter = filter;
|
|
14
|
-
// Create regex that matches either separator
|
|
15
|
-
this.pathSeparatorRegex = process.platform === 'win32' ? /[/\\]/ : /\//;
|
|
16
|
-
}
|
|
17
|
-
async search(query, signal) {
|
|
18
|
-
// Normalize the input based on platform
|
|
19
|
-
const normalizedQuery = this.normalizePathInput(query);
|
|
20
|
-
// Parse query to extract path components
|
|
21
|
-
const { searchPath, searchTerm } = this.parseSearchQuery(normalizedQuery);
|
|
22
|
-
// Get all accessible paths from searchPath
|
|
23
|
-
const candidates = await this.getCandidatePaths(searchPath, signal);
|
|
24
|
-
// Filter based on searchTerm - this happens on EVERY keystroke
|
|
25
|
-
if (!searchTerm) {
|
|
26
|
-
return candidates; // Show all files in directory
|
|
27
|
-
}
|
|
28
|
-
// Filter and sort results
|
|
29
|
-
return this.filterAndSort(candidates, searchTerm);
|
|
30
|
-
}
|
|
31
|
-
async listDirectory(dirPath) {
|
|
32
|
-
const normalizedPath = this.normalizePathInput(dirPath);
|
|
33
|
-
return this.getCandidatePaths(normalizedPath);
|
|
34
|
-
}
|
|
35
|
-
parseSearchQuery(query) {
|
|
36
|
-
// Handle empty query
|
|
37
|
-
if (!query) {
|
|
38
|
-
return { searchPath: '.', searchTerm: '' };
|
|
39
|
-
}
|
|
40
|
-
// Find the last separator position
|
|
41
|
-
let lastSepIndex = -1;
|
|
42
|
-
for (let i = query.length - 1; i >= 0; i--) {
|
|
43
|
-
if (query[i] === '/' || query[i] === '\\') {
|
|
44
|
-
lastSepIndex = i;
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if (lastSepIndex === -1) {
|
|
49
|
-
// No separator - searching in current directory
|
|
50
|
-
return { searchPath: '.', searchTerm: query };
|
|
51
|
-
}
|
|
52
|
-
// Split at the last separator
|
|
53
|
-
const searchPath = query.substring(0, lastSepIndex + 1);
|
|
54
|
-
const searchTerm = query.substring(lastSepIndex + 1);
|
|
55
|
-
return { searchPath, searchTerm };
|
|
56
|
-
}
|
|
57
|
-
normalizePathInput(input) {
|
|
58
|
-
if (!input)
|
|
59
|
-
return '';
|
|
60
|
-
// Handle home directory expansion
|
|
61
|
-
if (input.startsWith('~')) {
|
|
62
|
-
input = input.replace(/^~/, os.homedir());
|
|
63
|
-
}
|
|
64
|
-
// Normalize separators for the current platform
|
|
65
|
-
if (process.platform === 'win32') {
|
|
66
|
-
// On Windows, convert forward slashes to backslashes
|
|
67
|
-
input = input.replace(/\//g, path.sep);
|
|
68
|
-
}
|
|
69
|
-
// Use path.normalize to clean up the path
|
|
70
|
-
return path.normalize(input);
|
|
71
|
-
}
|
|
72
|
-
resolveToAbsolutePath(input) {
|
|
73
|
-
const normalized = this.normalizePathInput(input);
|
|
74
|
-
return path.resolve(this.basePath, normalized);
|
|
75
|
-
}
|
|
76
|
-
formatFileInfo(fileInfo) {
|
|
77
|
-
// Always use forward slashes in display for consistency
|
|
78
|
-
const displayPath = fileInfo.relativePath.replace(/\\/g, '/');
|
|
79
|
-
return {
|
|
80
|
-
display: displayPath + (fileInfo.isDirectory ? '/' : ''),
|
|
81
|
-
value: fileInfo.absolutePath, // Keep native separators
|
|
82
|
-
description: fileInfo.relativePath,
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
async getCandidatePaths(searchPath, signal) {
|
|
86
|
-
const resolvedPath = path.resolve(this.basePath, searchPath);
|
|
87
|
-
// Check cache
|
|
88
|
-
const cached = this.getFromCache(resolvedPath);
|
|
89
|
-
if (cached) {
|
|
90
|
-
return cached;
|
|
91
|
-
}
|
|
92
|
-
try {
|
|
93
|
-
// Check if operation was cancelled
|
|
94
|
-
if (signal?.aborted) {
|
|
95
|
-
return [];
|
|
96
|
-
}
|
|
97
|
-
const entries = await fs.readdir(resolvedPath);
|
|
98
|
-
// Check again after async operation
|
|
99
|
-
if (signal?.aborted) {
|
|
100
|
-
return [];
|
|
101
|
-
}
|
|
102
|
-
const fileInfos = [];
|
|
103
|
-
for (const entry of entries) {
|
|
104
|
-
const absolutePath = path.join(resolvedPath, entry);
|
|
105
|
-
const stat = await fs.stat(absolutePath);
|
|
106
|
-
fileInfos.push({
|
|
107
|
-
name: entry,
|
|
108
|
-
absolutePath,
|
|
109
|
-
relativePath: path.relative(this.basePath, absolutePath),
|
|
110
|
-
isDirectory: stat.isDirectory(),
|
|
111
|
-
modTime: stat.mtime,
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
// Cache the results
|
|
115
|
-
this.addToCache(resolvedPath, fileInfos);
|
|
116
|
-
return fileInfos;
|
|
117
|
-
}
|
|
118
|
-
catch {
|
|
119
|
-
// Return empty array if directory doesn't exist or is inaccessible
|
|
120
|
-
return [];
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
filterAndSort(candidates, searchTerm) {
|
|
124
|
-
const isFileSystemCaseSensitive = process.platform !== 'win32' && process.platform !== 'darwin';
|
|
125
|
-
const filtered = candidates.filter(file => {
|
|
126
|
-
const name = isFileSystemCaseSensitive ? file.name : file.name.toLowerCase();
|
|
127
|
-
const term = isFileSystemCaseSensitive ? searchTerm : searchTerm.toLowerCase();
|
|
128
|
-
// Prefix matching (most important for file paths)
|
|
129
|
-
if (name.startsWith(term))
|
|
130
|
-
return true;
|
|
131
|
-
// Fuzzy matching for convenience
|
|
132
|
-
return this.fuzzyMatch(name, term);
|
|
133
|
-
});
|
|
134
|
-
// Sort results
|
|
135
|
-
return filtered.sort((a, b) => {
|
|
136
|
-
const termLower = searchTerm.toLowerCase();
|
|
137
|
-
const aStarts = a.name.toLowerCase().startsWith(termLower);
|
|
138
|
-
const bStarts = b.name.toLowerCase().startsWith(termLower);
|
|
139
|
-
// Prioritize exact prefix matches
|
|
140
|
-
if (aStarts && !bStarts)
|
|
141
|
-
return -1;
|
|
142
|
-
if (!aStarts && bStarts)
|
|
143
|
-
return 1;
|
|
144
|
-
// Then directories
|
|
145
|
-
if (a.isDirectory && !b.isDirectory)
|
|
146
|
-
return -1;
|
|
147
|
-
if (!a.isDirectory && b.isDirectory)
|
|
148
|
-
return 1;
|
|
149
|
-
// Then by name
|
|
150
|
-
return a.name.localeCompare(b.name);
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
fuzzyMatch(str, pattern) {
|
|
154
|
-
let patternIdx = 0;
|
|
155
|
-
let strIdx = 0;
|
|
156
|
-
while (strIdx < str.length && patternIdx < pattern.length) {
|
|
157
|
-
if (str[strIdx] === pattern[patternIdx]) {
|
|
158
|
-
patternIdx++;
|
|
159
|
-
}
|
|
160
|
-
strIdx++;
|
|
161
|
-
}
|
|
162
|
-
return patternIdx === pattern.length;
|
|
163
|
-
}
|
|
164
|
-
getFromCache(dirPath) {
|
|
165
|
-
const cached = this.cache.get(dirPath);
|
|
166
|
-
const timestamp = this.cacheTimestamps.get(dirPath);
|
|
167
|
-
if (cached && timestamp && Date.now() - timestamp < this.cacheTimeout) {
|
|
168
|
-
return cached;
|
|
169
|
-
}
|
|
170
|
-
return null;
|
|
171
|
-
}
|
|
172
|
-
addToCache(dirPath, files) {
|
|
173
|
-
this.cache.set(dirPath, files);
|
|
174
|
-
this.cacheTimestamps.set(dirPath, Date.now());
|
|
175
|
-
// Clean up old cache entries
|
|
176
|
-
if (this.cache.size > 100) {
|
|
177
|
-
const oldestKey = Array.from(this.cacheTimestamps.entries())
|
|
178
|
-
.sort((a, b) => a[1] - b[1])[0][0];
|
|
179
|
-
this.cache.delete(oldestKey);
|
|
180
|
-
this.cacheTimestamps.delete(oldestKey);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
//# sourceMappingURL=file-search-engine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-search-engine.js","sourceRoot":"","sources":["../../src/search/file-search-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AAgBzB,MAAM,OAAO,gBAAgB;IACnB,QAAQ,CAAS;IACjB,MAAM,CAAU;IAChB,KAAK,GAA4B,IAAI,GAAG,EAAE,CAAC;IAC3C,YAAY,GAAG,IAAI,CAAC,CAAC,YAAY;IACjC,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;IACjD,kBAAkB,CAAS;IAEnC,YAAY,QAAgB,EAAE,MAAe;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,6CAA6C;QAC7C,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,MAAoB;QAC9C,wCAAwC;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEvD,yCAAyC;QACzC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAE1E,2CAA2C;QAC3C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAEpE,+DAA+D;QAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,UAAU,CAAC,CAAC,8BAA8B;QACnD,CAAC;QAED,0BAA0B;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,qBAAqB;QACrB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC7C,CAAC;QAED,mCAAmC;QACnC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC1C,YAAY,GAAG,CAAC,CAAC;gBACjB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,gDAAgD;YAChD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAChD,CAAC;QAED,8BAA8B;QAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QAErD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,kCAAkC;QAClC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,gDAAgD;QAChD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,qDAAqD;YACrD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QAED,0CAA0C;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,qBAAqB,CAAC,KAAa;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,cAAc,CAAC,QAAkB;QAC/B,wDAAwD;QACxD,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE9D,OAAO;YACL,OAAO,EAAE,WAAW,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE,yBAAyB;YACvD,WAAW,EAAE,QAAQ,CAAC,YAAY;SACnC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,UAAkB,EAAE,MAAoB;QACtE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE7D,cAAc;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC;YACH,mCAAmC;YACnC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAE/C,oCAAoC;YACpC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,SAAS,GAAe,EAAE,CAAC;YAEjC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBACpD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAEzC,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,KAAK;oBACX,YAAY;oBACZ,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;oBACxD,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;oBAC/B,OAAO,EAAE,IAAI,CAAC,KAAK;iBACpB,CAAC,CAAC;YACL,CAAC;YAED,oBAAoB;YACpB,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAEzC,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;YACnE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,UAAsB,EAAE,UAAkB;QAC9D,MAAM,yBAAyB,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAEhG,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACxC,MAAM,IAAI,GAAG,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7E,MAAM,IAAI,GAAG,yBAAyB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAE/E,kDAAkD;YAClD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEvC,iCAAiC;YACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,eAAe;QACf,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAE3D,kCAAkC;YAClC,IAAI,OAAO,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,IAAI,OAAO;gBAAE,OAAO,CAAC,CAAC;YAElC,mBAAmB;YACnB,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,WAAW;gBAAE,OAAO,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW;gBAAE,OAAO,CAAC,CAAC;YAE9C,eAAe;YACf,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,GAAW,EAAE,OAAe;QAC7C,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,OAAO,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1D,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxC,UAAU,EAAE,CAAC;YACf,CAAC;YACD,MAAM,EAAE,CAAC;QACX,CAAC;QAED,OAAO,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC;IACvC,CAAC;IAEO,YAAY,CAAC,OAAe;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEpD,IAAI,MAAM,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACtE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,UAAU,CAAC,OAAe,EAAE,KAAiB;QACnD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAE9C,6BAA6B;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;iBACzD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
interface FileInfo {
|
|
2
|
-
name: string;
|
|
3
|
-
path: string;
|
|
4
|
-
relativePath: string;
|
|
5
|
-
isDirectory: boolean;
|
|
6
|
-
size: number;
|
|
7
|
-
modified: Date;
|
|
8
|
-
}
|
|
9
|
-
interface ListFilesOptions {
|
|
10
|
-
includeHidden?: boolean;
|
|
11
|
-
pattern?: string;
|
|
12
|
-
}
|
|
13
|
-
interface GlobOptions {
|
|
14
|
-
ignore?: string[];
|
|
15
|
-
followSymlinks?: boolean;
|
|
16
|
-
}
|
|
17
|
-
interface FileSystemServiceOptions {
|
|
18
|
-
cacheTimeout?: number;
|
|
19
|
-
excludePatterns?: string[];
|
|
20
|
-
}
|
|
21
|
-
export declare class FileSystemService {
|
|
22
|
-
private cache;
|
|
23
|
-
private searchIndex;
|
|
24
|
-
private searchIndexPath;
|
|
25
|
-
private options;
|
|
26
|
-
constructor(options?: FileSystemServiceOptions);
|
|
27
|
-
expandPath(inputPath: string): string;
|
|
28
|
-
normalizePath(input: string): string;
|
|
29
|
-
resolveSearchPath(query: string): {
|
|
30
|
-
searchPath: string;
|
|
31
|
-
searchTerm: string;
|
|
32
|
-
};
|
|
33
|
-
listFiles(directory: string, options?: ListFilesOptions): Promise<FileInfo[]>;
|
|
34
|
-
searchFiles(directory: string, query: string): Promise<FileInfo[]>;
|
|
35
|
-
glob(directory: string, pattern: string, options?: GlobOptions): Promise<FileInfo[]>;
|
|
36
|
-
private buildSearchIndex;
|
|
37
|
-
private listFilesRecursive;
|
|
38
|
-
private getFromCache;
|
|
39
|
-
private setCache;
|
|
40
|
-
clearCache(): void;
|
|
41
|
-
}
|
|
42
|
-
export {};
|
|
43
|
-
//# sourceMappingURL=file-system-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-system-service.d.ts","sourceRoot":"","sources":["../../src/services/file-system-service.ts"],"names":[],"mappings":"AAOA,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED,UAAU,gBAAgB;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,UAAU,wBAAwB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAA2D;IACxE,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,OAAO,CAAqC;gBAExC,OAAO,GAAE,wBAA6B;IAYlD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAYrC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAsBpC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IA2BtE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAwDjF,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAsBlE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAqChF,gBAAgB;YAsBhB,kBAAkB;IAiDhC,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,QAAQ;IAehB,UAAU,IAAI,IAAI;CAKnB"}
|