@edxeth/fff-node 0.7.2-edxeth.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/dist/src/binary.d.ts +22 -0
- package/dist/src/binary.d.ts.map +1 -0
- package/dist/src/binary.js +135 -0
- package/dist/src/binary.js.map +1 -0
- package/dist/src/ffi.d.ts +133 -0
- package/dist/src/ffi.d.ts.map +1 -0
- package/dist/src/ffi.js +1141 -0
- package/dist/src/ffi.js.map +1 -0
- package/dist/src/finder.d.ts +313 -0
- package/dist/src/finder.d.ts.map +1 -0
- package/dist/src/finder.js +423 -0
- package/dist/src/finder.js.map +1 -0
- package/dist/src/index.d.ts +47 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +47 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/platform.d.ts +27 -0
- package/dist/src/platform.d.ts.map +1 -0
- package/dist/src/platform.js +117 -0
- package/dist/src/platform.js.map +1 -0
- package/dist/src/types.d.ts +462 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +19 -0
- package/dist/src/types.js.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ffi.js","sourceRoot":"","sources":["../../src/ffi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FileFinder - High-level API for the fff file finder
|
|
3
|
+
*
|
|
4
|
+
* This class provides a type-safe, ergonomic API for file finding operations.
|
|
5
|
+
* Each instance owns an independent native file picker that can be created
|
|
6
|
+
* and destroyed independently. Multiple instances can coexist.
|
|
7
|
+
*
|
|
8
|
+
* All methods return Result types for explicit error handling.
|
|
9
|
+
*/
|
|
10
|
+
import type { DirSearchOptions, DirSearchResult, GrepOptions, GrepResult, HealthCheck, InitOptions, MixedSearchResult, MultiGrepOptions, Result, ScanProgress, SearchOptions, SearchResult } from "./types.js";
|
|
11
|
+
/**
|
|
12
|
+
* FileFinder - Fast file finder with fuzzy search
|
|
13
|
+
*
|
|
14
|
+
* Each instance is backed by an independent native file picker. Create as many
|
|
15
|
+
* as you need and destroy them when done.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
*
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { FileFinder } from "@ff-labs/fff-node";
|
|
21
|
+
*
|
|
22
|
+
* // Create an instance
|
|
23
|
+
* const finder = FileFinder.create({ basePath: "/path/to/project" });
|
|
24
|
+
* if (!finder.ok) {
|
|
25
|
+
* console.error(finder.error);
|
|
26
|
+
* process.exit(1);
|
|
27
|
+
* }
|
|
28
|
+
*
|
|
29
|
+
* // Wait for initial scan
|
|
30
|
+
* finder.value.waitForScan(5000);
|
|
31
|
+
*
|
|
32
|
+
* // Search for files
|
|
33
|
+
* const search = finder.value.search("main.ts");
|
|
34
|
+
* if (search.ok) {
|
|
35
|
+
* for (const item of search.value.items) {
|
|
36
|
+
* console.log(item.relativePath);
|
|
37
|
+
* }
|
|
38
|
+
* }
|
|
39
|
+
*
|
|
40
|
+
* // Cleanup
|
|
41
|
+
* finder.value.destroy();
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare class FileFinder {
|
|
45
|
+
private handle;
|
|
46
|
+
private constructor();
|
|
47
|
+
/**
|
|
48
|
+
* Create a new file finder instance.
|
|
49
|
+
*
|
|
50
|
+
* @param options - Initialization options
|
|
51
|
+
* @returns Result containing the new FileFinder instance or an error
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* // Basic initialization
|
|
56
|
+
* const finder = FileFinder.create({ basePath: "/path/to/project" });
|
|
57
|
+
*
|
|
58
|
+
* // With custom database paths
|
|
59
|
+
* const finder = FileFinder.create({
|
|
60
|
+
* basePath: "/path/to/project",
|
|
61
|
+
* frecencyDbPath: "/custom/frecency.mdb",
|
|
62
|
+
* historyDbPath: "/custom/history.mdb",
|
|
63
|
+
* });
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
static create(options: InitOptions): Result<FileFinder>;
|
|
67
|
+
/**
|
|
68
|
+
* Destroy and clean up all resources.
|
|
69
|
+
*
|
|
70
|
+
* Call this when you're done using the file finder to free memory
|
|
71
|
+
* and stop background file watching. After calling this, the instance
|
|
72
|
+
* must not be used again.
|
|
73
|
+
*/
|
|
74
|
+
destroy(): void;
|
|
75
|
+
/**
|
|
76
|
+
* Check if this instance has been destroyed.
|
|
77
|
+
*/
|
|
78
|
+
get isDestroyed(): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Guard that returns an error if the instance has been destroyed.
|
|
81
|
+
*/
|
|
82
|
+
private ensureAlive;
|
|
83
|
+
/**
|
|
84
|
+
* Search for files matching the query.
|
|
85
|
+
*
|
|
86
|
+
* The query supports fuzzy matching and special syntax:
|
|
87
|
+
* - `foo bar` - Match files containing "foo" and "bar"
|
|
88
|
+
* - `src/` - Match files in src directory
|
|
89
|
+
* - `file.ts:42` - Match file.ts with line 42
|
|
90
|
+
* - `file.ts:42:10` - Match file.ts with line 42, column 10
|
|
91
|
+
*
|
|
92
|
+
* @param query - Search query string
|
|
93
|
+
* @param options - Search options
|
|
94
|
+
* @returns Search results with matched files and scores
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* const result = finder.search("main.ts", { pageSize: 10 });
|
|
99
|
+
* if (result.ok) {
|
|
100
|
+
* console.log(`Found ${result.value.totalMatched} files`);
|
|
101
|
+
* for (const item of result.value.items) {
|
|
102
|
+
* console.log(item.relativePath);
|
|
103
|
+
* }
|
|
104
|
+
* }
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
fileSearch(query: string, options?: SearchOptions): Result<SearchResult>;
|
|
108
|
+
/**
|
|
109
|
+
* Search for directories matching the query.
|
|
110
|
+
*
|
|
111
|
+
* @param query - Search query string
|
|
112
|
+
* @param options - Directory search options
|
|
113
|
+
* @returns Search results with matched directories and scores
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* const result = finder.directorySearch("src/comp", { pageSize: 10 });
|
|
118
|
+
* if (result.ok) {
|
|
119
|
+
* console.log(`Found ${result.value.totalMatched} directories`);
|
|
120
|
+
* for (const item of result.value.items) {
|
|
121
|
+
* console.log(item.relativePath);
|
|
122
|
+
* }
|
|
123
|
+
* }
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
directorySearch(query: string, options?: DirSearchOptions): Result<DirSearchResult>;
|
|
127
|
+
/**
|
|
128
|
+
* Search for files and directories matching the query (mixed results).
|
|
129
|
+
*
|
|
130
|
+
* Results are interleaved by total score in descending order, mixing
|
|
131
|
+
* both file and directory items.
|
|
132
|
+
*
|
|
133
|
+
* @param query - Search query string
|
|
134
|
+
* @param options - Search options
|
|
135
|
+
* @returns Mixed search results with files and directories interleaved by score
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```typescript
|
|
139
|
+
* const result = finder.mixedSearch("main", { pageSize: 20 });
|
|
140
|
+
* if (result.ok) {
|
|
141
|
+
* for (const entry of result.value.items) {
|
|
142
|
+
* if (entry.type === "file") {
|
|
143
|
+
* console.log(`File: ${entry.item.relativePath}`);
|
|
144
|
+
* } else {
|
|
145
|
+
* console.log(`Dir: ${entry.item.relativePath}`);
|
|
146
|
+
* }
|
|
147
|
+
* }
|
|
148
|
+
* }
|
|
149
|
+
* ```
|
|
150
|
+
*/
|
|
151
|
+
mixedSearch(query: string, options?: SearchOptions): Result<MixedSearchResult>;
|
|
152
|
+
/**
|
|
153
|
+
* Search file contents (live grep).
|
|
154
|
+
*
|
|
155
|
+
* Searches through the contents of indexed files using the specified mode:
|
|
156
|
+
* - `"plain"` (default): SIMD-accelerated literal text matching
|
|
157
|
+
* - `"regex"`: Regular expression matching
|
|
158
|
+
* - `"fuzzy"`: Smith-Waterman fuzzy matching per line
|
|
159
|
+
*
|
|
160
|
+
* Supports pagination for large result sets. The result includes a `nextCursor`
|
|
161
|
+
* that can be passed back to fetch the next page.
|
|
162
|
+
*
|
|
163
|
+
* The query also supports constraint syntax:
|
|
164
|
+
* - `*.ts pattern` - Only search in TypeScript files
|
|
165
|
+
* - `src/ pattern` - Only search in the src directory
|
|
166
|
+
*
|
|
167
|
+
* @param query - Search query string
|
|
168
|
+
* @param options - Grep options (mode, pagination, limits)
|
|
169
|
+
* @returns Grep results with matched lines and file metadata
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```typescript
|
|
173
|
+
* // First page
|
|
174
|
+
* const result = finder.grep("TODO", { mode: "plain" });
|
|
175
|
+
* if (result.ok) {
|
|
176
|
+
* for (const match of result.value.items) {
|
|
177
|
+
* console.log(`${match.relativePath}:${match.lineNumber}: ${match.lineContent}`);
|
|
178
|
+
* }
|
|
179
|
+
* // Fetch next page
|
|
180
|
+
* if (result.value.nextCursor) {
|
|
181
|
+
* const page2 = finder.grep("TODO", {
|
|
182
|
+
* cursor: result.value.nextCursor,
|
|
183
|
+
* });
|
|
184
|
+
* }
|
|
185
|
+
* }
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
grep(query: string, options?: GrepOptions): Result<GrepResult>;
|
|
189
|
+
/**
|
|
190
|
+
* Multi-pattern OR search using Aho-Corasick.
|
|
191
|
+
*
|
|
192
|
+
* Searches for lines matching ANY of the provided patterns using
|
|
193
|
+
* SIMD-accelerated multi-needle matching. Faster than regex alternation
|
|
194
|
+
* for literal text searches.
|
|
195
|
+
*
|
|
196
|
+
* Supports pagination. The result includes a `nextCursor` that can be
|
|
197
|
+
* passed back to fetch the next page.
|
|
198
|
+
*
|
|
199
|
+
* @param options - Multi-grep options including patterns and optional constraints
|
|
200
|
+
* @returns Grep results with matched lines and file metadata
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* ```typescript
|
|
204
|
+
* const result = finder.multiGrep({
|
|
205
|
+
* patterns: ["VideoFrame", "video_frame", "PreloadedImage"],
|
|
206
|
+
* });
|
|
207
|
+
* if (result.ok) {
|
|
208
|
+
* for (const match of result.value.items) {
|
|
209
|
+
* console.log(`${match.relativePath}:${match.lineNumber}: ${match.lineContent}`);
|
|
210
|
+
* }
|
|
211
|
+
* }
|
|
212
|
+
* ```
|
|
213
|
+
*/
|
|
214
|
+
multiGrep(options: MultiGrepOptions): Result<GrepResult>;
|
|
215
|
+
/**
|
|
216
|
+
* Trigger a rescan of the indexed directory.
|
|
217
|
+
*
|
|
218
|
+
* This is useful after major file system changes that the
|
|
219
|
+
* background watcher might have missed.
|
|
220
|
+
*/
|
|
221
|
+
scanFiles(): Result<void>;
|
|
222
|
+
/**
|
|
223
|
+
* Check if a scan is currently in progress.
|
|
224
|
+
*/
|
|
225
|
+
isScanning(): boolean;
|
|
226
|
+
/**
|
|
227
|
+
* Get the base path of the file picker (the root directory being indexed).
|
|
228
|
+
*/
|
|
229
|
+
getBasePath(): Result<string | null>;
|
|
230
|
+
/**
|
|
231
|
+
* Get the current scan progress.
|
|
232
|
+
*/
|
|
233
|
+
getScanProgress(): Result<ScanProgress>;
|
|
234
|
+
/**
|
|
235
|
+
* Wait for the initial file scan to complete.
|
|
236
|
+
*
|
|
237
|
+
* Non-blocking — polls `isScanning` and yields to the event loop between checks.
|
|
238
|
+
*
|
|
239
|
+
* @param timeoutMs - Maximum time to wait in milliseconds (default: 5000)
|
|
240
|
+
* @returns true if scan completed, false if timed out
|
|
241
|
+
*
|
|
242
|
+
* @example
|
|
243
|
+
* ```typescript
|
|
244
|
+
* const finder = FileFinder.create({ basePath: "/path/to/project" });
|
|
245
|
+
* if (finder.ok) {
|
|
246
|
+
* const completed = await finder.value.waitForScan(10000);
|
|
247
|
+
* if (!completed.ok || !completed.value) {
|
|
248
|
+
* console.warn("Scan did not complete in time");
|
|
249
|
+
* }
|
|
250
|
+
* }
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
253
|
+
waitForScan(timeoutMs?: number): Promise<Result<boolean>>;
|
|
254
|
+
/**
|
|
255
|
+
* Change the indexed directory to a new path.
|
|
256
|
+
*
|
|
257
|
+
* This stops the current file watcher and starts indexing the new directory.
|
|
258
|
+
*
|
|
259
|
+
* @param newPath - New directory path to index
|
|
260
|
+
*/
|
|
261
|
+
reindex(newPath: string): Result<void>;
|
|
262
|
+
/**
|
|
263
|
+
* Refresh the git status cache.
|
|
264
|
+
*
|
|
265
|
+
* @returns Number of files with updated git status
|
|
266
|
+
*/
|
|
267
|
+
refreshGitStatus(): Result<number>;
|
|
268
|
+
/**
|
|
269
|
+
* Track query completion for smart suggestions.
|
|
270
|
+
*
|
|
271
|
+
* Call this when a user selects a file from search results.
|
|
272
|
+
* This helps improve future search rankings for similar queries.
|
|
273
|
+
*
|
|
274
|
+
* @param query - The search query that was used
|
|
275
|
+
* @param selectedFilePath - The file path that was selected
|
|
276
|
+
*/
|
|
277
|
+
trackQuery(query: string, selectedFilePath: string): Result<boolean>;
|
|
278
|
+
/**
|
|
279
|
+
* Get a historical query by offset.
|
|
280
|
+
*
|
|
281
|
+
* @param offset - Offset from most recent (0 = most recent)
|
|
282
|
+
* @returns The historical query string, or null if not found
|
|
283
|
+
*/
|
|
284
|
+
getHistoricalQuery(offset: number): Result<string | null>;
|
|
285
|
+
/**
|
|
286
|
+
* Get health check information.
|
|
287
|
+
*
|
|
288
|
+
* Useful for debugging and verifying the file finder is working correctly.
|
|
289
|
+
*
|
|
290
|
+
* @param testPath - Optional path to test git repository detection
|
|
291
|
+
*/
|
|
292
|
+
healthCheck(testPath?: string): Result<HealthCheck>;
|
|
293
|
+
/**
|
|
294
|
+
* Check if the native library is available.
|
|
295
|
+
*/
|
|
296
|
+
static isAvailable(): boolean;
|
|
297
|
+
/**
|
|
298
|
+
* Ensure the native library is loaded.
|
|
299
|
+
*
|
|
300
|
+
* Loads the native library from the platform-specific npm package
|
|
301
|
+
* or a local dev build. Throws if the binary is not found.
|
|
302
|
+
*/
|
|
303
|
+
static ensureLoaded(): void;
|
|
304
|
+
/**
|
|
305
|
+
* Get a health check without requiring an instance.
|
|
306
|
+
*
|
|
307
|
+
* Returns limited info (version + git only, no picker/frecency/query data).
|
|
308
|
+
*
|
|
309
|
+
* @param testPath - Optional path to test git repository detection
|
|
310
|
+
*/
|
|
311
|
+
static healthCheckStatic(testPath?: string): Result<HealthCheck>;
|
|
312
|
+
}
|
|
313
|
+
//# sourceMappingURL=finder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finder.d.ts","sourceRoot":"","sources":["../../src/finder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAwBH,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO;IAIP;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAwBvD;;;;;;OAMG;IACH,OAAO,IAAI,IAAI;IAOf;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;IAgBxE;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC;IAcnF;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAgB9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAoB9D;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC;IAwBxD;;;;;OAKG;IACH,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC;IAMzB;;OAEG;IACH,UAAU,IAAI,OAAO;IAKrB;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IAMpC;;OAEG;IACH,eAAe,IAAI,MAAM,CAAC,YAAY,CAAC;IAMvC;;;;;;;;;;;;;;;;;;OAkBG;IACG,WAAW,CAAC,SAAS,GAAE,MAAa,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAcrE;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;IAMtC;;;;OAIG;IACH,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAC;IAMlC;;;;;;;;OAQG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;IAMpE;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IAMzD;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;IAInD;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,OAAO;IAI7B;;;;;OAKG;IACH,MAAM,CAAC,YAAY,IAAI,IAAI;IAI3B;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;CAGjE"}
|