@ff-labs/fff-node 0.1.0-nightly.ec548f6 → 0.2.4-dev.233679d

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/ffi.d.ts CHANGED
@@ -34,18 +34,15 @@
34
34
  * V8 External objects. We use this instead of truthy checks.
35
35
  */
36
36
  import { type JsExternal } from "ffi-rs";
37
- import type { Result } from "./types.js";
37
+ import type { Result, SearchResult } from "./types.js";
38
38
  /**
39
39
  * Opaque native handle type. Callers must not inspect or modify this value.
40
40
  */
41
41
  export type NativeHandle = JsExternal;
42
42
  /**
43
43
  * Create a new file finder instance.
44
- *
45
- * Returns the opaque native handle on success. The handle must be passed to
46
- * all subsequent FFI calls and freed with `ffiDestroy`.
47
44
  */
48
- export declare function ffiCreate(optsJson: string): Result<NativeHandle>;
45
+ export declare function ffiCreate(basePath: string, frecencyDbPath: string, historyDbPath: string, useUnsafeNoLock: boolean, warmupMmapCache: boolean, aiMode: boolean): Result<NativeHandle>;
49
46
  /**
50
47
  * Destroy and clean up an instance.
51
48
  */
@@ -53,7 +50,15 @@ export declare function ffiDestroy(handle: NativeHandle): void;
53
50
  /**
54
51
  * Perform fuzzy search.
55
52
  */
56
- export declare function ffiSearch(handle: NativeHandle, query: string, optsJson: string): Result<unknown>;
53
+ export declare function ffiSearch(handle: NativeHandle, query: string, currentFile: string, maxThreads: number, pageIndex: number, pageSize: number, comboBoostMultiplier: number, minComboCount: number): Result<SearchResult>;
54
+ /**
55
+ * Live grep - search file contents.
56
+ */
57
+ export declare function ffiLiveGrep(handle: NativeHandle, query: string, mode: string, maxFileSize: number, maxMatchesPerFile: number, smartCase: boolean, fileOffset: number, pageLimit: number, timeBudgetMs: number, beforeContext: number, afterContext: number, classifyDefinitions: boolean): Result<unknown>;
58
+ /**
59
+ * Multi-pattern grep - Aho-Corasick multi-needle search.
60
+ */
61
+ export declare function ffiMultiGrep(handle: NativeHandle, patternsJoined: string, constraints: string, maxFileSize: number, maxMatchesPerFile: number, smartCase: boolean, fileOffset: number, pageLimit: number, timeBudgetMs: number, beforeContext: number, afterContext: number, classifyDefinitions: boolean): Result<unknown>;
57
62
  /**
58
63
  * Trigger file scan.
59
64
  */
@@ -94,14 +99,6 @@ export declare function ffiGetHistoricalQuery(handle: NativeHandle, offset: numb
94
99
  * since ffi-rs does not accept `null` for External parameters.
95
100
  */
96
101
  export declare function ffiHealthCheck(handle: NativeHandle | null, testPath: string): Result<unknown>;
97
- /**
98
- * Live grep - search file contents.
99
- */
100
- export declare function ffiLiveGrep(handle: NativeHandle, query: string, optsJson: string): Result<unknown>;
101
- /**
102
- * Multi-pattern grep - Aho-Corasick multi-needle search.
103
- */
104
- export declare function ffiMultiGrep(handle: NativeHandle, optsJson: string): Result<unknown>;
105
102
  /**
106
103
  * Ensure the library is loaded.
107
104
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ffi.d.ts","sourceRoot":"","sources":["../../src/ffi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAIL,KAAK,UAAU,EAKhB,MAAM,QAAQ,CAAC;AAEhB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAmLzC;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;AAEtC;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAyBhE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CASrD;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,OAAO,CAAC,CAMjB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAE/D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAS3D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAExE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAQvF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAMnF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAcxE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,OAAO,CAAC,CAQjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CASvB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,GAAG,IAAI,EAC3B,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,OAAO,CAAC,CA8CjB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,OAAO,CAAC,CAMjB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAMpF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAOrC;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAKnC"}
1
+ {"version":3,"file":"ffi.d.ts","sourceRoot":"","sources":["../../src/ffi.ts"],"names":[],"mappings":"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"}
package/dist/src/ffi.js CHANGED
@@ -37,6 +37,21 @@ import { close, DataType, isNullPointer, load, open, restorePointer, wrapPointer
37
37
  import { findBinary } from "./binary.js";
38
38
  import { err } from "./types.js";
39
39
  const LIBRARY_KEY = "fff_c";
40
+ /** Grep mode constants matching the C API (u8). */
41
+ const GREP_MODE_PLAIN = 0;
42
+ const GREP_MODE_REGEX = 1;
43
+ const GREP_MODE_FUZZY = 2;
44
+ /** Map string mode to u8 */
45
+ function grepModeToU8(mode) {
46
+ switch (mode) {
47
+ case "regex":
48
+ return GREP_MODE_REGEX;
49
+ case "fuzzy":
50
+ return GREP_MODE_FUZZY;
51
+ default:
52
+ return GREP_MODE_PLAIN;
53
+ }
54
+ }
40
55
  // Track whether the library is loaded
41
56
  let isLoaded = false;
42
57
  /**
@@ -147,13 +162,6 @@ function freeResult(resultPtr) {
147
162
  /**
148
163
  * Call a fff C function that returns *mut FffResult, parse the result,
149
164
  * free the native memory, and return a typed Result<T>.
150
- *
151
- * Strategy:
152
- * 1. Call the C function with External retType to get the raw pointer
153
- * 2. Read struct fields via restorePointer
154
- * 3. Based on success flag, read the data or error string
155
- * 4. Call fff_free_result with the original raw pointer to free Rust memory
156
- * 5. Parse JSON data and convert snake_case to camelCase
157
165
  */
158
166
  function callFfiResult(funcName, paramsType, paramsValue) {
159
167
  loadLibrary();
@@ -186,19 +194,23 @@ function callFfiResult(funcName, paramsType, paramsValue) {
186
194
  }
187
195
  /**
188
196
  * Create a new file finder instance.
189
- *
190
- * Returns the opaque native handle on success. The handle must be passed to
191
- * all subsequent FFI calls and freed with `ffiDestroy`.
192
197
  */
193
- export function ffiCreate(optsJson) {
198
+ export function ffiCreate(basePath, frecencyDbPath, historyDbPath, useUnsafeNoLock, warmupMmapCache, aiMode) {
194
199
  loadLibrary();
195
- const { rawPtr, struct: structData } = callRaw("fff_create", [DataType.String], [optsJson]);
200
+ const { rawPtr, struct: structData } = callRaw("fff_create_instance", [
201
+ DataType.String, // base_path
202
+ DataType.String, // frecency_db_path
203
+ DataType.String, // history_db_path
204
+ DataType.Boolean, // use_unsafe_no_lock
205
+ DataType.Boolean, // warmup_mmap_cache
206
+ DataType.Boolean, // ai_mode
207
+ ], [basePath, frecencyDbPath, historyDbPath, useUnsafeNoLock, warmupMmapCache, aiMode]);
196
208
  const success = structData.success !== 0;
197
209
  try {
198
210
  if (success) {
199
211
  const handle = structData.handle;
200
212
  if (isNullPointer(handle)) {
201
- return err("fff_create returned null handle");
213
+ return err("fff_create_instance returned null handle");
202
214
  }
203
215
  return { ok: true, value: handle };
204
216
  }
@@ -224,11 +236,232 @@ export function ffiDestroy(handle) {
224
236
  paramsValue: [handle],
225
237
  });
226
238
  }
239
+ // ---------------------------------------------------------------------------
240
+ // Struct type definitions for restorePointer (must match #[repr(C)] layout)
241
+ // ---------------------------------------------------------------------------
242
+ const FFF_FILE_ITEM_STRUCT = {
243
+ path: DataType.External,
244
+ relative_path: DataType.External,
245
+ file_name: DataType.External,
246
+ git_status: DataType.External,
247
+ size: DataType.U64,
248
+ modified: DataType.U64,
249
+ access_frecency_score: DataType.I64,
250
+ modification_frecency_score: DataType.I64,
251
+ total_frecency_score: DataType.I64,
252
+ is_binary: DataType.U8,
253
+ };
254
+ const FFF_SCORE_STRUCT = {
255
+ total: DataType.I32,
256
+ base_score: DataType.I32,
257
+ filename_bonus: DataType.I32,
258
+ special_filename_bonus: DataType.I32,
259
+ frecency_boost: DataType.I32,
260
+ distance_penalty: DataType.I32,
261
+ current_file_penalty: DataType.I32,
262
+ combo_match_boost: DataType.I32,
263
+ exact_match: DataType.U8,
264
+ match_type: DataType.External,
265
+ };
266
+ const FFF_SEARCH_RESULT_STRUCT = {
267
+ items: DataType.External,
268
+ scores: DataType.External,
269
+ count: DataType.U32,
270
+ total_matched: DataType.U32,
271
+ total_files: DataType.U32,
272
+ // FffLocation inlined (flattened)
273
+ location_tag: DataType.U8,
274
+ location_line: DataType.I32,
275
+ location_col: DataType.I32,
276
+ location_end_line: DataType.I32,
277
+ location_end_col: DataType.I32,
278
+ };
279
+ // ---------------------------------------------------------------------------
280
+ // Struct reading helpers
281
+ // ---------------------------------------------------------------------------
282
+ function readFileItemFromRaw(raw) {
283
+ return {
284
+ path: readCString(raw.path) ?? "",
285
+ relativePath: readCString(raw.relative_path) ?? "",
286
+ fileName: readCString(raw.file_name) ?? "",
287
+ gitStatus: readCString(raw.git_status) ?? "",
288
+ size: Number(raw.size),
289
+ modified: Number(raw.modified),
290
+ accessFrecencyScore: Number(raw.access_frecency_score),
291
+ modificationFrecencyScore: Number(raw.modification_frecency_score),
292
+ totalFrecencyScore: Number(raw.total_frecency_score),
293
+ };
294
+ }
295
+ function readScoreFromRaw(raw) {
296
+ return {
297
+ total: raw.total,
298
+ baseScore: raw.base_score,
299
+ filenameBonus: raw.filename_bonus,
300
+ specialFilenameBonus: raw.special_filename_bonus,
301
+ frecencyBoost: raw.frecency_boost,
302
+ distancePenalty: raw.distance_penalty,
303
+ currentFilePenalty: raw.current_file_penalty,
304
+ comboMatchBoost: raw.combo_match_boost,
305
+ exactMatch: raw.exact_match !== 0,
306
+ matchType: readCString(raw.match_type) ?? "",
307
+ };
308
+ }
309
+ /**
310
+ * Call an accessor function that returns a pointer to a struct element,
311
+ * then read the struct from that pointer.
312
+ */
313
+ function callAccessor(funcName, resultPtr, index, structDef) {
314
+ loadLibrary();
315
+ const elemPtr = load({
316
+ library: LIBRARY_KEY,
317
+ funcName,
318
+ retType: DataType.External,
319
+ paramsType: [DataType.External, DataType.U32],
320
+ paramsValue: [resultPtr, index],
321
+ });
322
+ const [raw] = restorePointer({
323
+ retType: [structDef],
324
+ paramsValue: wrapPointer([elemPtr]),
325
+ });
326
+ return raw;
327
+ }
328
+ /**
329
+ * Parse an FffSearchResult from `FffResult.handle`, then free native memory.
330
+ */
331
+ function parseSearchResult(rawPtr) {
332
+ loadLibrary();
333
+ // Read FffResult envelope
334
+ const [envelope] = restorePointer({
335
+ retType: [FFF_RESULT_STRUCT],
336
+ paramsValue: wrapPointer([rawPtr]),
337
+ });
338
+ const success = envelope.success !== 0;
339
+ if (!success) {
340
+ const errorMsg = readCString(envelope.error) || "Unknown error";
341
+ freeResult(rawPtr);
342
+ return err(errorMsg);
343
+ }
344
+ const handlePtr = envelope.handle;
345
+ // Free the FffResult envelope (does NOT free handle)
346
+ freeResult(rawPtr);
347
+ if (isNullPointer(handlePtr)) {
348
+ return err("fff_search returned null search result");
349
+ }
350
+ // Read FffSearchResult struct
351
+ const [sr] = restorePointer({
352
+ retType: [FFF_SEARCH_RESULT_STRUCT],
353
+ paramsValue: wrapPointer([handlePtr]),
354
+ });
355
+ const count = sr.count;
356
+ // Read location
357
+ let location;
358
+ if (sr.location_tag === 1) {
359
+ location = { type: "line", line: sr.location_line };
360
+ }
361
+ else if (sr.location_tag === 2) {
362
+ location = { type: "position", line: sr.location_line, col: sr.location_col };
363
+ }
364
+ else if (sr.location_tag === 3) {
365
+ location = {
366
+ type: "range",
367
+ start: { line: sr.location_line, col: sr.location_col },
368
+ end: { line: sr.location_end_line, col: sr.location_end_col },
369
+ };
370
+ }
371
+ // Read items and scores via accessor functions
372
+ const items = [];
373
+ const scores = [];
374
+ for (let i = 0; i < count; i++) {
375
+ const rawItem = callAccessor("fff_search_result_get_item", handlePtr, i, FFF_FILE_ITEM_STRUCT);
376
+ items.push(readFileItemFromRaw(rawItem));
377
+ const rawScore = callAccessor("fff_search_result_get_score", handlePtr, i, FFF_SCORE_STRUCT);
378
+ scores.push(readScoreFromRaw(rawScore));
379
+ }
380
+ // Free native search result
381
+ load({
382
+ library: LIBRARY_KEY,
383
+ funcName: "fff_free_search_result",
384
+ retType: DataType.Void,
385
+ paramsType: [DataType.External],
386
+ paramsValue: [handlePtr],
387
+ });
388
+ const result = { items, scores, totalMatched: sr.total_matched, totalFiles: sr.total_files };
389
+ if (location) {
390
+ result.location = location;
391
+ }
392
+ return { ok: true, value: result };
393
+ }
227
394
  /**
228
395
  * Perform fuzzy search.
229
396
  */
230
- export function ffiSearch(handle, query, optsJson) {
231
- return callFfiResult("fff_search", [DataType.External, DataType.String, DataType.String], [handle, query, optsJson]);
397
+ export function ffiSearch(handle, query, currentFile, maxThreads, pageIndex, pageSize, comboBoostMultiplier, minComboCount) {
398
+ loadLibrary();
399
+ const rawPtr = load({
400
+ library: LIBRARY_KEY,
401
+ funcName: "fff_search",
402
+ retType: DataType.External,
403
+ paramsType: [
404
+ DataType.External, // handle
405
+ DataType.String, // query
406
+ DataType.String, // current_file
407
+ DataType.U32, // max_threads
408
+ DataType.U32, // page_index
409
+ DataType.U32, // page_size
410
+ DataType.I32, // combo_boost_multiplier
411
+ DataType.U32, // min_combo_count
412
+ ],
413
+ paramsValue: [handle, query, currentFile, maxThreads, pageIndex, pageSize, comboBoostMultiplier, minComboCount],
414
+ freeResultMemory: false,
415
+ });
416
+ return parseSearchResult(rawPtr);
417
+ }
418
+ /**
419
+ * Live grep - search file contents.
420
+ */
421
+ export function ffiLiveGrep(handle, query, mode, maxFileSize, maxMatchesPerFile, smartCase, fileOffset, pageLimit, timeBudgetMs, beforeContext, afterContext, classifyDefinitions) {
422
+ return callFfiResult("fff_live_grep", [
423
+ DataType.External, // handle
424
+ DataType.String, // query
425
+ DataType.U8, // mode
426
+ DataType.U64, // max_file_size
427
+ DataType.U32, // max_matches_per_file
428
+ DataType.Boolean, // smart_case
429
+ DataType.U32, // file_offset
430
+ DataType.U32, // page_limit
431
+ DataType.U64, // time_budget_ms
432
+ DataType.U32, // before_context
433
+ DataType.U32, // after_context
434
+ DataType.Boolean, // classify_definitions
435
+ ], [
436
+ handle, query, grepModeToU8(mode),
437
+ maxFileSize, maxMatchesPerFile, smartCase,
438
+ fileOffset, pageLimit, timeBudgetMs,
439
+ beforeContext, afterContext, classifyDefinitions,
440
+ ]);
441
+ }
442
+ /**
443
+ * Multi-pattern grep - Aho-Corasick multi-needle search.
444
+ */
445
+ export function ffiMultiGrep(handle, patternsJoined, constraints, maxFileSize, maxMatchesPerFile, smartCase, fileOffset, pageLimit, timeBudgetMs, beforeContext, afterContext, classifyDefinitions) {
446
+ return callFfiResult("fff_multi_grep", [
447
+ DataType.External, // handle
448
+ DataType.String, // patterns_joined
449
+ DataType.String, // constraints
450
+ DataType.U64, // max_file_size
451
+ DataType.U32, // max_matches_per_file
452
+ DataType.Boolean, // smart_case
453
+ DataType.U32, // file_offset
454
+ DataType.U32, // page_limit
455
+ DataType.U64, // time_budget_ms
456
+ DataType.U32, // before_context
457
+ DataType.U32, // after_context
458
+ DataType.Boolean, // classify_definitions
459
+ ], [
460
+ handle, patternsJoined, constraints,
461
+ maxFileSize, maxMatchesPerFile, smartCase,
462
+ fileOffset, pageLimit, timeBudgetMs,
463
+ beforeContext, afterContext, classifyDefinitions,
464
+ ]);
232
465
  }
233
466
  /**
234
467
  * Trigger file scan.
@@ -352,18 +585,6 @@ export function ffiHealthCheck(handle, testPath) {
352
585
  }
353
586
  return callFfiResult("fff_health_check", [DataType.External, DataType.String], [handle, testPath]);
354
587
  }
355
- /**
356
- * Live grep - search file contents.
357
- */
358
- export function ffiLiveGrep(handle, query, optsJson) {
359
- return callFfiResult("fff_live_grep", [DataType.External, DataType.String, DataType.String], [handle, query, optsJson]);
360
- }
361
- /**
362
- * Multi-pattern grep - Aho-Corasick multi-needle search.
363
- */
364
- export function ffiMultiGrep(handle, optsJson) {
365
- return callFfiResult("fff_multi_grep", [DataType.External, DataType.String], [handle, optsJson]);
366
- }
367
588
  /**
368
589
  * Ensure the library is loaded.
369
590
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ffi.js","sourceRoot":"","sources":["../../src/ffi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ffi.js","sourceRoot":"","sources":["../../src/ffi.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,8 @@ import type { GrepOptions, GrepResult, HealthCheck, InitOptions, MultiGrepOption
15
15
  * as you need and destroy them when done.
16
16
  *
17
17
  * @example
18
- * ```typescript
18
+ *
19
+ * ```ts
19
20
  * import { FileFinder } from "@ff-labs/fff-node";
20
21
  *
21
22
  * // Create an instance
@@ -126,21 +127,21 @@ export declare class FileFinder {
126
127
  * @example
127
128
  * ```typescript
128
129
  * // First page
129
- * const result = finder.liveGrep("TODO", { mode: "plain" });
130
+ * const result = finder.grep("TODO", { mode: "plain" });
130
131
  * if (result.ok) {
131
132
  * for (const match of result.value.items) {
132
133
  * console.log(`${match.relativePath}:${match.lineNumber}: ${match.lineContent}`);
133
134
  * }
134
135
  * // Fetch next page
135
136
  * if (result.value.nextCursor) {
136
- * const page2 = finder.liveGrep("TODO", {
137
+ * const page2 = finder.grep("TODO", {
137
138
  * cursor: result.value.nextCursor,
138
139
  * });
139
140
  * }
140
141
  * }
141
142
  * ```
142
143
  */
143
- liveGrep(query: string, options?: GrepOptions): Result<GrepResult>;
144
+ grep(query: string, options?: GrepOptions): Result<GrepResult>;
144
145
  /**
145
146
  * Multi-pattern OR search using Aho-Corasick.
146
147
  *
@@ -185,6 +186,8 @@ export declare class FileFinder {
185
186
  /**
186
187
  * Wait for the initial file scan to complete.
187
188
  *
189
+ * Non-blocking — polls `isScanning` and yields to the event loop between checks.
190
+ *
188
191
  * @param timeoutMs - Maximum time to wait in milliseconds (default: 5000)
189
192
  * @returns true if scan completed, false if timed out
190
193
  *
@@ -192,14 +195,14 @@ export declare class FileFinder {
192
195
  * ```typescript
193
196
  * const finder = FileFinder.create({ basePath: "/path/to/project" });
194
197
  * if (finder.ok) {
195
- * const completed = finder.value.waitForScan(10000);
198
+ * const completed = await finder.value.waitForScan(10000);
196
199
  * if (!completed.ok || !completed.value) {
197
200
  * console.warn("Scan did not complete in time");
198
201
  * }
199
202
  * }
200
203
  * ```
201
204
  */
202
- waitForScan(timeoutMs?: number): Result<boolean>;
205
+ waitForScan(timeoutMs?: number): Promise<Result<boolean>>;
203
206
  /**
204
207
  * Change the indexed directory to a new path.
205
208
  *
@@ -1 +1 @@
1
- {"version":3,"file":"finder.d.ts","sourceRoot":"","sources":["../../src/finder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAsBH,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAC;AAWpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;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;IAWvD;;;;;;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;IAcxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAUlE;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC;IAcxD;;;;;OAKG;IACH,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC;IAMzB;;OAEG;IACH,UAAU,IAAI,OAAO;IAKrB;;OAEG;IACH,eAAe,IAAI,MAAM,CAAC,YAAY,CAAC;IAMvC;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,SAAS,GAAE,MAAa,GAAG,MAAM,CAAC,OAAO,CAAC;IAMtD;;;;;;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"}
1
+ {"version":3,"file":"finder.d.ts","sourceRoot":"","sources":["../../src/finder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAqBH,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,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;IAiBvD;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAsB9D;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC;IA0BxD;;;;;OAKG;IACH,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC;IAMzB;;OAEG;IACH,UAAU,IAAI,OAAO;IAKrB;;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"}
@@ -7,8 +7,8 @@
7
7
  *
8
8
  * All methods return Result types for explicit error handling.
9
9
  */
10
- import { ensureLoaded, ffiCreate, ffiDestroy, ffiGetHistoricalQuery, ffiGetScanProgress, ffiHealthCheck, ffiIsScanning, ffiLiveGrep, ffiMultiGrep, ffiRefreshGitStatus, ffiRestartIndex, ffiScanFiles, ffiSearch, ffiTrackQuery, ffiWaitForScan, isAvailable, } from "./ffi.js";
11
- import { createGrepCursor, err, toInternalGrepOptions, toInternalInitOptions, toInternalMultiGrepOptions, toInternalSearchOptions, } from "./types.js";
10
+ import { ensureLoaded, ffiCreate, ffiDestroy, ffiGetHistoricalQuery, ffiGetScanProgress, ffiHealthCheck, ffiIsScanning, ffiLiveGrep, ffiMultiGrep, ffiRefreshGitStatus, ffiRestartIndex, ffiScanFiles, ffiSearch, ffiTrackQuery, isAvailable, } from "./ffi.js";
11
+ import { createGrepCursor, err } from "./types.js";
12
12
  /**
13
13
  * FileFinder - Fast file finder with fuzzy search
14
14
  *
@@ -16,7 +16,8 @@ import { createGrepCursor, err, toInternalGrepOptions, toInternalInitOptions, to
16
16
  * as you need and destroy them when done.
17
17
  *
18
18
  * @example
19
- * ```typescript
19
+ *
20
+ * ```ts
20
21
  * import { FileFinder } from "@ff-labs/fff-node";
21
22
  *
22
23
  * // Create an instance
@@ -66,8 +67,7 @@ export class FileFinder {
66
67
  * ```
67
68
  */
68
69
  static create(options) {
69
- const internalOpts = toInternalInitOptions(options);
70
- const result = ffiCreate(JSON.stringify(internalOpts));
70
+ const result = ffiCreate(options.basePath, options.frecencyDbPath ?? "", options.historyDbPath ?? "", options.useUnsafeNoLock ?? false, options.warmupMmapCache ?? false, options.aiMode ?? false);
71
71
  if (!result.ok) {
72
72
  return result;
73
73
  }
@@ -129,12 +129,7 @@ export class FileFinder {
129
129
  const guard = this.ensureAlive();
130
130
  if (!guard.ok)
131
131
  return guard;
132
- const internalOpts = toInternalSearchOptions(options);
133
- const result = ffiSearch(guard.value, query, JSON.stringify(internalOpts));
134
- if (!result.ok) {
135
- return result;
136
- }
137
- return result;
132
+ return ffiSearch(guard.value, query, options?.currentFile ?? "", options?.maxThreads ?? 0, options?.pageIndex ?? 0, options?.pageSize ?? 0, options?.comboBoostMultiplier ?? 0, options?.minComboCount ?? 0);
138
133
  }
139
134
  /**
140
135
  * Search file contents (live grep).
@@ -158,26 +153,26 @@ export class FileFinder {
158
153
  * @example
159
154
  * ```typescript
160
155
  * // First page
161
- * const result = finder.liveGrep("TODO", { mode: "plain" });
156
+ * const result = finder.grep("TODO", { mode: "plain" });
162
157
  * if (result.ok) {
163
158
  * for (const match of result.value.items) {
164
159
  * console.log(`${match.relativePath}:${match.lineNumber}: ${match.lineContent}`);
165
160
  * }
166
161
  * // Fetch next page
167
162
  * if (result.value.nextCursor) {
168
- * const page2 = finder.liveGrep("TODO", {
163
+ * const page2 = finder.grep("TODO", {
169
164
  * cursor: result.value.nextCursor,
170
165
  * });
171
166
  * }
172
167
  * }
173
168
  * ```
174
169
  */
175
- liveGrep(query, options) {
170
+ grep(query, options) {
176
171
  const guard = this.ensureAlive();
177
172
  if (!guard.ok)
178
173
  return guard;
179
- const internalOpts = toInternalGrepOptions(options);
180
- const result = ffiLiveGrep(guard.value, query, JSON.stringify(internalOpts));
174
+ const result = ffiLiveGrep(guard.value, query, options?.mode ?? "plain", options?.maxFileSize ?? 0, options?.maxMatchesPerFile ?? 0, options?.smartCase ?? true, options?.cursor?._offset ?? 0, 0, // page_limit (0 = default 50)
175
+ options?.timeBudgetMs ?? 0, options?.beforeContext ?? 0, options?.afterContext ?? 0, false);
181
176
  return transformGrepResult(result);
182
177
  }
183
178
  /**
@@ -212,8 +207,8 @@ export class FileFinder {
212
207
  if (!options.patterns || options.patterns.length === 0) {
213
208
  return err("patterns array must have at least 1 element");
214
209
  }
215
- const internalOpts = toInternalMultiGrepOptions(options);
216
- const result = ffiMultiGrep(guard.value, JSON.stringify(internalOpts));
210
+ const result = ffiMultiGrep(guard.value, options.patterns.join("\n"), options.constraints ?? "", options.maxFileSize ?? 0, options.maxMatchesPerFile ?? 0, options.smartCase ?? true, options.cursor?._offset ?? 0, 0, // page_limit (0 = default 50)
211
+ options.timeBudgetMs ?? 0, options.beforeContext ?? 0, options.afterContext ?? 0, false);
217
212
  return transformGrepResult(result);
218
213
  }
219
214
  /**
@@ -248,6 +243,8 @@ export class FileFinder {
248
243
  /**
249
244
  * Wait for the initial file scan to complete.
250
245
  *
246
+ * Non-blocking — polls `isScanning` and yields to the event loop between checks.
247
+ *
251
248
  * @param timeoutMs - Maximum time to wait in milliseconds (default: 5000)
252
249
  * @returns true if scan completed, false if timed out
253
250
  *
@@ -255,18 +252,25 @@ export class FileFinder {
255
252
  * ```typescript
256
253
  * const finder = FileFinder.create({ basePath: "/path/to/project" });
257
254
  * if (finder.ok) {
258
- * const completed = finder.value.waitForScan(10000);
255
+ * const completed = await finder.value.waitForScan(10000);
259
256
  * if (!completed.ok || !completed.value) {
260
257
  * console.warn("Scan did not complete in time");
261
258
  * }
262
259
  * }
263
260
  * ```
264
261
  */
265
- waitForScan(timeoutMs = 5000) {
262
+ async waitForScan(timeoutMs = 5000) {
266
263
  const guard = this.ensureAlive();
267
264
  if (!guard.ok)
268
265
  return guard;
269
- return ffiWaitForScan(guard.value, timeoutMs);
266
+ const deadline = Date.now() + timeoutMs;
267
+ while (this.isScanning()) {
268
+ if (Date.now() >= deadline) {
269
+ return { ok: true, value: false };
270
+ }
271
+ await new Promise((resolve) => setTimeout(resolve, 50));
272
+ }
273
+ return { ok: true, value: true };
270
274
  }
271
275
  /**
272
276
  * Change the indexed directory to a new path.
@@ -1 +1 @@
1
- {"version":3,"file":"finder.js","sourceRoot":"","sources":["../../src/finder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finder.js","sourceRoot":"","sources":["../../src/finder.ts"],"names":[],"mappings":"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"}
@@ -208,40 +208,6 @@ export interface HealthCheck {
208
208
  error?: string;
209
209
  };
210
210
  }
211
- /**
212
- * Internal: Options format sent to Rust FFI
213
- * @internal
214
- */
215
- export interface InitOptionsInternal {
216
- base_path: string;
217
- frecency_db_path?: string;
218
- history_db_path?: string;
219
- use_unsafe_no_lock: boolean;
220
- warmup_mmap_cache: boolean;
221
- ai_mode: boolean;
222
- }
223
- /**
224
- * Internal: Search options format sent to Rust FFI
225
- * @internal
226
- */
227
- export interface SearchOptionsInternal {
228
- max_threads?: number;
229
- current_file?: string;
230
- combo_boost_multiplier?: number;
231
- min_combo_count?: number;
232
- page_index?: number;
233
- page_size?: number;
234
- }
235
- /**
236
- * Convert public InitOptions to internal format
237
- * @internal
238
- */
239
- export declare function toInternalInitOptions(opts: InitOptions): InitOptionsInternal;
240
- /**
241
- * Convert public SearchOptions to internal format
242
- * @internal
243
- */
244
- export declare function toInternalSearchOptions(opts?: SearchOptions): SearchOptionsInternal;
245
211
  /**
246
212
  * Grep search mode
247
213
  */
@@ -386,45 +352,4 @@ export interface MultiGrepOptions {
386
352
  /** Number of context lines to include after each match (default: 0) */
387
353
  afterContext?: number;
388
354
  }
389
- /**
390
- * Internal: Multi-grep options format sent to Rust FFI
391
- * @internal
392
- */
393
- export interface MultiGrepOptionsInternal {
394
- patterns: string[];
395
- constraints?: string;
396
- max_file_size?: number;
397
- max_matches_per_file?: number;
398
- smart_case?: boolean;
399
- file_offset?: number;
400
- page_limit?: number;
401
- time_budget_ms?: number;
402
- before_context?: number;
403
- after_context?: number;
404
- }
405
- /**
406
- * Convert public MultiGrepOptions to internal format
407
- * @internal
408
- */
409
- export declare function toInternalMultiGrepOptions(opts: MultiGrepOptions, pageLimit?: number): MultiGrepOptionsInternal;
410
- /**
411
- * Internal: Grep options format sent to Rust FFI
412
- * @internal
413
- */
414
- export interface GrepOptionsInternal {
415
- max_file_size?: number;
416
- max_matches_per_file?: number;
417
- smart_case?: boolean;
418
- file_offset?: number;
419
- page_limit?: number;
420
- mode?: string;
421
- time_budget_ms?: number;
422
- before_context?: number;
423
- after_context?: number;
424
- }
425
- /**
426
- * Convert public GrepOptions to internal format
427
- * @internal
428
- */
429
- export declare function toInternalGrepOptions(opts?: GrepOptions, pageLimit?: number): GrepOptionsInternal;
430
355
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9E;;GAEG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAEzC;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAE/C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8FAA8F;IAC9F,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,yBAAyB,EAAE,MAAM,CAAC;IAClC,8BAA8B;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,UAAU,EAAE,OAAO,CAAC;IACpB,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC/C;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC,CAAC;AAEN;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,yBAAyB;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,yCAAyC;IACzC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8CAA8C;IAC9C,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,GAAG,EAAE;QACH,wCAAwC;QACxC,SAAS,EAAE,OAAO,CAAC;QACnB,yCAAyC;QACzC,eAAe,EAAE,OAAO,CAAC;QACzB,iCAAiC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,6BAA6B;QAC7B,cAAc,EAAE,MAAM,CAAC;QACvB,4CAA4C;QAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,yBAAyB;IACzB,UAAU,EAAE;QACV,6CAA6C;QAC7C,WAAW,EAAE,OAAO,CAAC;QACrB,8BAA8B;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,oCAAoC;QACpC,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,8BAA8B;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,wCAAwC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,+BAA+B;IAC/B,QAAQ,EAAE;QACR,+CAA+C;QAC/C,WAAW,EAAE,OAAO,CAAC;QACrB,kCAAkC;QAClC,aAAa,CAAC,EAAE,QAAQ,CAAC;QACzB,wCAAwC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,2BAA2B;IAC3B,YAAY,EAAE;QACZ,4CAA4C;QAC5C,WAAW,EAAE,OAAO,CAAC;QACrB,kCAAkC;QAClC,aAAa,CAAC,EAAE,QAAQ,CAAC;QACzB,wCAAwC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,mBAAmB,CAS5E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,qBAAqB,CASnF;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,gBAAgB;IAChB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,gBAAgB;IAChB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAE3D;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,gGAAgG;IAChG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6GAA6G;IAC7G,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,qCAAqC;IACrC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kCAAkC;IAClC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,wCAAwC;IACxC,yBAAyB,EAAE,MAAM,CAAC;IAClC,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAChC,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,oFAAoF;IACpF,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,uHAAuH;IACvH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,4IAA4I;IAC5I,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mFAAmF;IACnF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,gBAAgB,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,wBAAwB,CAa1B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,CAAC,EAAE,WAAW,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,mBAAmB,CAYrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/dist/src/types.js CHANGED
@@ -10,73 +10,10 @@ export function ok(value) {
10
10
  export function err(error) {
11
11
  return { ok: false, error };
12
12
  }
13
- /**
14
- * Convert public InitOptions to internal format
15
- * @internal
16
- */
17
- export function toInternalInitOptions(opts) {
18
- return {
19
- base_path: opts.basePath,
20
- frecency_db_path: opts.frecencyDbPath,
21
- history_db_path: opts.historyDbPath,
22
- use_unsafe_no_lock: opts.useUnsafeNoLock ?? false,
23
- warmup_mmap_cache: opts.warmupMmapCache ?? false,
24
- ai_mode: opts.aiMode ?? false,
25
- };
26
- }
27
- /**
28
- * Convert public SearchOptions to internal format
29
- * @internal
30
- */
31
- export function toInternalSearchOptions(opts) {
32
- return {
33
- max_threads: opts?.maxThreads,
34
- current_file: opts?.currentFile,
35
- combo_boost_multiplier: opts?.comboBoostMultiplier,
36
- min_combo_count: opts?.minComboCount,
37
- page_index: opts?.pageIndex,
38
- page_size: opts?.pageSize,
39
- };
40
- }
41
13
  /**
42
14
  * @internal Create a GrepCursor from a raw file offset.
43
15
  */
44
16
  export function createGrepCursor(offset) {
45
17
  return { __brand: "GrepCursor", _offset: offset };
46
18
  }
47
- /**
48
- * Convert public MultiGrepOptions to internal format
49
- * @internal
50
- */
51
- export function toInternalMultiGrepOptions(opts, pageLimit) {
52
- return {
53
- patterns: opts.patterns,
54
- constraints: opts.constraints,
55
- max_file_size: opts.maxFileSize,
56
- max_matches_per_file: opts.maxMatchesPerFile,
57
- smart_case: opts.smartCase,
58
- file_offset: opts.cursor?._offset ?? 0,
59
- page_limit: pageLimit,
60
- time_budget_ms: opts.timeBudgetMs,
61
- before_context: opts.beforeContext,
62
- after_context: opts.afterContext,
63
- };
64
- }
65
- /**
66
- * Convert public GrepOptions to internal format
67
- * @internal
68
- */
69
- export function toInternalGrepOptions(opts, pageLimit) {
70
- return {
71
- max_file_size: opts?.maxFileSize,
72
- max_matches_per_file: opts?.maxMatchesPerFile,
73
- smart_case: opts?.smartCase,
74
- file_offset: opts?.cursor?._offset ?? 0,
75
- page_limit: pageLimit,
76
- mode: opts?.mode,
77
- time_budget_ms: opts?.timeBudgetMs,
78
- before_context: opts?.beforeContext,
79
- after_context: opts?.afterContext,
80
- };
81
- }
82
19
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,UAAU,EAAE,CAAI,KAAQ;IAC5B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,GAAG,CAAI,KAAa;IAClC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC9B,CAAC;AA2ND;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAiB;IACrD,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,QAAQ;QACxB,gBAAgB,EAAE,IAAI,CAAC,cAAc;QACrC,eAAe,EAAE,IAAI,CAAC,aAAa;QACnC,kBAAkB,EAAE,IAAI,CAAC,eAAe,IAAI,KAAK;QACjD,iBAAiB,EAAE,IAAI,CAAC,eAAe,IAAI,KAAK;QAChD,OAAO,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;KAC9B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAoB;IAC1D,OAAO;QACL,WAAW,EAAE,IAAI,EAAE,UAAU;QAC7B,YAAY,EAAE,IAAI,EAAE,WAAW;QAC/B,sBAAsB,EAAE,IAAI,EAAE,oBAAoB;QAClD,eAAe,EAAE,IAAI,EAAE,aAAa;QACpC,UAAU,EAAE,IAAI,EAAE,SAAS;QAC3B,SAAS,EAAE,IAAI,EAAE,QAAQ;KAC1B,CAAC;AACJ,CAAC;AAmBD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,EAAE,OAAO,EAAE,YAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7D,CAAC;AAoJD;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAAsB,EACtB,SAAkB;IAElB,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,aAAa,EAAE,IAAI,CAAC,WAAW;QAC/B,oBAAoB,EAAE,IAAI,CAAC,iBAAiB;QAC5C,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC;QACtC,UAAU,EAAE,SAAS;QACrB,cAAc,EAAE,IAAI,CAAC,YAAY;QACjC,cAAc,EAAE,IAAI,CAAC,aAAa;QAClC,aAAa,EAAE,IAAI,CAAC,YAAY;KACjC,CAAC;AACJ,CAAC;AAkBD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAkB,EAClB,SAAkB;IAElB,OAAO;QACL,aAAa,EAAE,IAAI,EAAE,WAAW;QAChC,oBAAoB,EAAE,IAAI,EAAE,iBAAiB;QAC7C,UAAU,EAAE,IAAI,EAAE,SAAS;QAC3B,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,IAAI,CAAC;QACvC,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,IAAI,EAAE,IAAI;QAChB,cAAc,EAAE,IAAI,EAAE,YAAY;QAClC,cAAc,EAAE,IAAI,EAAE,aAAa;QACnC,aAAa,EAAE,IAAI,EAAE,YAAY;KAClC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,UAAU,EAAE,CAAI,KAAQ;IAC5B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,GAAG,CAAI,KAAa;IAClC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC9B,CAAC;AAkND;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,EAAE,OAAO,EAAE,YAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ff-labs/fff-node",
3
- "version": "0.1.0-nightly.ec548f6",
3
+ "version": "0.2.4-dev.233679d",
4
4
  "private": false,
5
5
  "description": "High-performance fuzzy file finder for Node.js - perfect for LLM agent tools",
6
6
  "type": "module",
@@ -17,7 +17,7 @@
17
17
  ],
18
18
  "scripts": {
19
19
  "build": "tsc",
20
- "test": "node --test test/e2e.mjs",
20
+ "test": "node test/e2e.mjs",
21
21
  "typecheck": "tsc --noEmit"
22
22
  },
23
23
  "engines": {
@@ -60,14 +60,14 @@
60
60
  "ffi-rs": "^1.0.0"
61
61
  },
62
62
  "optionalDependencies": {
63
- "@ff-labs/fff-bin-darwin-arm64": "0.1.0-nightly.ec548f6",
64
- "@ff-labs/fff-bin-darwin-x64": "0.1.0-nightly.ec548f6",
65
- "@ff-labs/fff-bin-linux-x64-gnu": "0.1.0-nightly.ec548f6",
66
- "@ff-labs/fff-bin-linux-arm64-gnu": "0.1.0-nightly.ec548f6",
67
- "@ff-labs/fff-bin-linux-x64-musl": "0.1.0-nightly.ec548f6",
68
- "@ff-labs/fff-bin-linux-arm64-musl": "0.1.0-nightly.ec548f6",
69
- "@ff-labs/fff-bin-win32-x64": "0.1.0-nightly.ec548f6",
70
- "@ff-labs/fff-bin-win32-arm64": "0.1.0-nightly.ec548f6"
63
+ "@ff-labs/fff-bin-darwin-arm64": "0.2.4-dev.233679d",
64
+ "@ff-labs/fff-bin-darwin-x64": "0.2.4-dev.233679d",
65
+ "@ff-labs/fff-bin-linux-x64-gnu": "0.2.4-dev.233679d",
66
+ "@ff-labs/fff-bin-linux-arm64-gnu": "0.2.4-dev.233679d",
67
+ "@ff-labs/fff-bin-linux-x64-musl": "0.2.4-dev.233679d",
68
+ "@ff-labs/fff-bin-linux-arm64-musl": "0.2.4-dev.233679d",
69
+ "@ff-labs/fff-bin-win32-x64": "0.2.4-dev.233679d",
70
+ "@ff-labs/fff-bin-win32-arm64": "0.2.4-dev.233679d"
71
71
  },
72
72
  "devDependencies": {
73
73
  "typescript": "^5.0.0",