@ff-labs/fff-node 0.8.5-nightly.ccb1b9d → 0.9.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/README.md ADDED
@@ -0,0 +1,126 @@
1
+ # fff - Fast File Finder
2
+
3
+ High-performance fuzzy file finder for Node.js, powered by Rust. Extremely fast live file, content, and directory search with a typo-resistant algorithm. As well as regex, plain-text, multi-occurrence and typo-resistant content search.
4
+
5
+ Comes with built-in git status support, frecency access tracking, and a real-time file watcher, content indexing and many more! Designed for LLM agent tools that search through codebases or agentic RAG document search.
6
+
7
+ Faster than ripgrep & fzf on any workflow that runs more than once per process.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ npm install @ff-labs/fff-node
13
+ ```
14
+
15
+ The correct native binary for your platform is installed automatically via platform-specific packages (e.g. `@ff-labs/fff-bin-darwin-arm64`, `@ff-labs/fff-bin-linux-x64-gnu`)
16
+
17
+ ### Supported Platforms
18
+
19
+ | Platform | Architecture | Package |
20
+ | -------- | --------------------- | ----------------------------------- |
21
+ | macOS | ARM64 (Apple Silicon) | `@ff-labs/fff-bin-darwin-arm64` |
22
+ | macOS | x64 (Intel) | `@ff-labs/fff-bin-darwin-x64` |
23
+ | Linux | x64 (glibc) | `@ff-labs/fff-bin-linux-x64-gnu` |
24
+ | Linux | ARM64 (glibc) | `@ff-labs/fff-bin-linux-arm64-gnu` |
25
+ | Linux | x64 (musl) | `@ff-labs/fff-bin-linux-x64-musl` |
26
+ | Linux | ARM64 (musl) | `@ff-labs/fff-bin-linux-arm64-musl` |
27
+ | Windows | x64 | `@ff-labs/fff-bin-win32-x64` |
28
+ | Windows | ARM64 | `@ff-labs/fff-bin-win32-arm64` |
29
+
30
+ If the platform package isn't available, the postinstall script will attempt to download from GitHub releases as a fallback.
31
+
32
+ ## Quick Start
33
+
34
+ Each `FileFinder` instance owns an independent native index. Create one, wait
35
+ for the initial scan, then run as many searches as you like.
36
+
37
+ ```typescript
38
+ import { FileFinder } from "@ff-labs/fff-node";
39
+
40
+ // Create an instance bound to a directory
41
+ const created = FileFinder.create({ basePath: "/path/to/project" });
42
+ if (!created.ok) throw new Error(created.error);
43
+
44
+ const finder = created.value;
45
+
46
+ // Wait for the initial scan (async, non-blocking)
47
+ await finder.waitForScan(5000);
48
+
49
+ // 1. Fuzzy file search (typo resistant)
50
+ const files = finder.fileSearch("typescropt.ts", { pageSize: 10 });
51
+ if (files.ok) {
52
+ for (const item of files.value.items) {
53
+ console.log(item.relativePath, item.gitStatus);
54
+ }
55
+ }
56
+
57
+ // 2. Glob filter — no fuzzy matching, 100% compatible with npm `glob`
58
+ const globbed = finder.glob("src/**/*.ts");
59
+ if (globbed.ok) console.log(`${globbed.value.totalMatched} TypeScript files`);
60
+
61
+ // 3. Content search (live grep) with pagination
62
+ const grep = finder.grep("TODO", { mode: "plain", pageSize: 20 });
63
+ if (grep.ok) {
64
+ for (const m of grep.value.items) {
65
+ console.log(`${m.relativePath}:${m.lineNumber}: ${m.lineContent}`);
66
+ }
67
+ }
68
+
69
+ // 4. Directory search based on the query (typo resistant)
70
+ const dirs = finder.directorySearch("components");
71
+ if (dirs.ok) console.log(dirs.value.items.map((d) => d.relativePath));
72
+
73
+ // Free the resources when you don't need a file picker anymore
74
+ finder.destroy();
75
+ ```
76
+
77
+ ## API Reference
78
+
79
+ Verify the latest API in the local interface at [`./src/fff-api.ts`](./src/fff-api.ts). Every field and type is documented.
80
+
81
+ ### Result Types
82
+
83
+ All methods return a `Result<T>` type for explicit error handling:
84
+
85
+ ```typescript
86
+ type Result<T> = { ok: true; value: T } | { ok: false; error: string };
87
+
88
+ const result = finder.fileSearch("foo");
89
+
90
+ if (result.ok) {
91
+ // result.value is SearchResult
92
+ } else {
93
+ // result.error is string error message
94
+ }
95
+ ```
96
+
97
+ This SDK calls a native compiled library for your platform at runtime. This is generally safe — fff is battle-tested and stable, and written in a memory-safe language — but there is a class of errors that can't be caught at the Node.js level. If you hit one, please report an issue!
98
+
99
+ ## Building from Source
100
+
101
+ If prebuilt binaries aren't available for your platform:
102
+
103
+ ```bash
104
+ # Clone the repository
105
+ git clone https://github.com/dmtrKovalenko/fff.nvim
106
+ cd fff.nvim
107
+
108
+ # Build the C library
109
+ cargo build --release -p fff-c
110
+
111
+ # The binary will be at target/release/libfff_c.{so,dylib,dll}
112
+ ```
113
+
114
+ ## CLI examples
115
+
116
+ ```bash
117
+ # Download binary manually (fallback if npm package unavailable)
118
+ npx @ff-labs/fff-node download [tag]
119
+
120
+ # Show platform info and binary location
121
+ npx @ff-labs/fff-node info
122
+ ```
123
+
124
+ ## License
125
+
126
+ MIT
@@ -1,3 +1,18 @@
1
+ /**
2
+ * The shared public API surface for the fff file finder, implemented identically
3
+ * by `@ff-labs/fff-node` and `@ff-labs/fff-bun`.
4
+ *
5
+ * This file is the single source of truth for every type, helper, and the
6
+ * `FileFinderApi` interface that crosses the package boundary. It is copied
7
+ * verbatim into each package's `src/fff-api.ts` by `make sync-api`.
8
+ *
9
+ * Anything that is not part of the public API (FFI struct layouts, binary
10
+ * loading, platform detection, etc.) stays as per-package internal
11
+ * implementation and must NOT live here.
12
+ *
13
+ * Keep this file self-contained: it must not import from any package-local
14
+ * module, since each package compiles its own copy.
15
+ */
1
16
  /**
2
17
  * Result type for all operations - follows the Result pattern
3
18
  */
@@ -26,7 +41,10 @@ export interface InitOptions {
26
41
  frecencyDbPath?: string;
27
42
  /** Path to query history database (optional, omit to skip query tracker initialization) */
28
43
  historyDbPath?: string;
29
- /** Use unsafe no-lock mode for databases (optional, defaults to false) */
44
+ /**
45
+ * @deprecated No-op. The no-lock LMDB flags showed no measurable win under
46
+ * realistic contention and are now ignored. Kept for source-compat.
47
+ */
30
48
  useUnsafeNoLock?: boolean;
31
49
  /**
32
50
  * Disable mmap cache warmup after the initial scan. When mmap cache is
@@ -70,6 +88,18 @@ export interface InitOptions {
70
88
  cacheBudgetMaxBytes?: number;
71
89
  /** Override for the per-file byte cap in the content cache. */
72
90
  cacheBudgetMaxFileSize?: number;
91
+ /**
92
+ * Allow indexing the filesystem root (`/`). Off by default — root is
93
+ * rarely the intended target and floods the watcher with churn-prone
94
+ * events. Setting this true is opt-in and the caller is responsible for
95
+ * the resulting fs-event volume.
96
+ */
97
+ enableFsRootScanning?: boolean;
98
+ /**
99
+ * Allow indexing the user's home directory. Same trade-off as
100
+ * `enableFsRootScanning`.
101
+ */
102
+ enableHomeDirScanning?: boolean;
73
103
  }
74
104
  /**
75
105
  * Search options for fuzzy file search
@@ -88,6 +118,22 @@ export interface SearchOptions {
88
118
  /** Page size for pagination (default: 100) */
89
119
  pageSize?: number;
90
120
  }
121
+ /**
122
+ * Options for `glob`, the constraint-only search.
123
+ *
124
+ * The pattern is applied as a single pass SIMD optimized prefiltering
125
+ * without any fuzzy matching involved. Faster and 100% compatible to npm `glob`.
126
+ */
127
+ export interface GlobOptions {
128
+ /** Maximum threads for parallel filtering (0 = auto). */
129
+ maxThreads?: number;
130
+ /** Current file path (for deprioritization in results). */
131
+ currentFile?: string;
132
+ /** Page index for pagination (default: 0). */
133
+ pageIndex?: number;
134
+ /** Page size for pagination (default: 100). */
135
+ pageSize?: number;
136
+ }
91
137
  /**
92
138
  * A file item in search results
93
139
  */
@@ -243,6 +289,10 @@ export interface ScanProgress {
243
289
  scannedFilesCount: number;
244
290
  /** Whether a scan is currently in progress */
245
291
  isScanning: boolean;
292
+ /** Whether the background file watcher is ready */
293
+ isWatcherReady: boolean;
294
+ /** Whether the warmup/bigram phase has completed */
295
+ isWarmupComplete: boolean;
246
296
  }
247
297
  /**
248
298
  * Database health information
@@ -352,14 +402,14 @@ export interface GrepOptions {
352
402
  beforeContext?: number;
353
403
  /** Number of context lines to include after each match (default: 0) */
354
404
  afterContext?: number;
405
+ /** Maximum matches to return in this page across all files (default: 50) */
406
+ pageSize?: number;
355
407
  /**
356
408
  * When true, classify each match line as a code definition (struct/fn/class/...)
357
409
  * and expose it via `GrepMatch.isDefinition`. Let callers re-rank defs first
358
410
  * without a TS-side regex port. (default: false)
359
411
  */
360
412
  classifyDefinitions?: boolean;
361
- /** Maximum matches to return in this page across all files (default: 50) */
362
- pageSize?: number;
363
413
  }
364
414
  /**
365
415
  * A single grep match with file and line information
@@ -455,12 +505,77 @@ export interface MultiGrepOptions {
455
505
  beforeContext?: number;
456
506
  /** Number of context lines to include after each match (default: 0) */
457
507
  afterContext?: number;
508
+ /** Maximum matches to return in this page across all files (default: 50) */
509
+ pageSize?: number;
458
510
  /**
459
511
  * When true, classify each match line as a code definition (struct/fn/class/...)
460
512
  * and expose it via `GrepMatch.isDefinition`. (default: false)
461
513
  */
462
514
  classifyDefinitions?: boolean;
463
- /** Maximum matches to return in this page across all files (default: 50) */
464
- pageSize?: number;
465
515
  }
466
- //# sourceMappingURL=types.d.ts.map
516
+ /**
517
+ * The shared instance surface implemented by `FileFinder` in both
518
+ * `@ff-labs/fff-node` and `@ff-labs/fff-bun`.
519
+ *
520
+ * Both packages must implement this identically. Only instance members belong
521
+ * here. Static helpers (`create`, `isAvailable`, `ensureLoaded`,
522
+ * `healthCheckStatic`) are package-specific and intentionally excluded.
523
+ */
524
+ export interface FileFinderApi {
525
+ /** Whether the instance has been destroyed. */
526
+ readonly isDestroyed: boolean;
527
+ /** Destroy and free all native resources. */
528
+ destroy(): void;
529
+ /** Fuzzy file search. */
530
+ fileSearch(query: string, options?: SearchOptions): Result<SearchResult>;
531
+ /** Glob-only filtering (no fuzzy matching). */
532
+ glob(pattern: string, options?: GlobOptions): Result<SearchResult>;
533
+ /** Fuzzy directory search. */
534
+ directorySearch(query: string, options?: DirSearchOptions): Result<DirSearchResult>;
535
+ /** Fuzzy search over files and directories interleaved by score. */
536
+ mixedSearch(query: string, options?: SearchOptions): Result<MixedSearchResult>;
537
+ /** Content search (live grep). */
538
+ grep(query: string, options?: GrepOptions): Result<GrepResult>;
539
+ /** Multi-pattern OR content search (Aho-Corasick). */
540
+ multiGrep(options: MultiGrepOptions): Result<GrepResult>;
541
+ /** Trigger an async rescan of the indexed directory. */
542
+ scanFiles(): Result<void>;
543
+ /** Whether a scan is currently in progress. */
544
+ isScanning(): boolean;
545
+ /** The root directory being indexed. */
546
+ getBasePath(): Result<string | null>;
547
+ /** Current scan progress snapshot. */
548
+ getScanProgress(): Result<ScanProgress>;
549
+ /**
550
+ * Wait for the initial file scan to complete.
551
+ *
552
+ * Non-blocking: polls `isScanning` and yields to the event loop between
553
+ * checks, so other async work keeps running while waiting.
554
+ */
555
+ waitForScan(timeoutMs?: number): Promise<Result<boolean>>;
556
+ /**
557
+ * Wait for the initial file scan to complete, blocking the calling thread.
558
+ *
559
+ * Backed by the native `fff_wait_for_scan` call. Prefer `waitForScan` unless
560
+ * you specifically need synchronous blocking behaviour.
561
+ */
562
+ waitForScanBlocking(timeoutMs?: number): Result<boolean>;
563
+ /**
564
+ * Wait until the index is fully ready: the scan has finished and the warmup
565
+ * (content indexing / bigram) phase has completed.
566
+ *
567
+ * Non-blocking: polls `getScanProgress` and yields to the event loop.
568
+ */
569
+ waitForIndexReady(timeoutMs?: number): Promise<Result<boolean>>;
570
+ /** Restart indexing in a new directory. */
571
+ reindex(newPath: string): Result<void>;
572
+ /** Refresh the git status cache. Returns the number of updated files. */
573
+ refreshGitStatus(): Result<number>;
574
+ /** Record that `selectedFilePath` was chosen for `query`. */
575
+ trackQuery(query: string, selectedFilePath: string): Result<boolean>;
576
+ /** Get a historical query by offset (0 = most recent). */
577
+ getHistoricalQuery(offset: number): Result<string | null>;
578
+ /** Health/diagnostics information for this instance. */
579
+ healthCheck(testPath?: string): Result<HealthCheck>;
580
+ }
581
+ //# sourceMappingURL=fff-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fff-api.d.ts","sourceRoot":"","sources":["../../src/fff-api.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;GAcG;AAEH;;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;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8FAA8F;IAC9F,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACzD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0EAA0E;IAC1E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,+DAA+D;IAC/D,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;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;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,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,OAAO;IACtB,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,yCAAyC;IACzC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,yCAAyC;IACzC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,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;IACpB,mDAAmD;IACnD,cAAc,EAAE,OAAO,CAAC;IACxB,oDAAoD;IACpD,gBAAgB,EAAE,OAAO,CAAC;CAC3B;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;;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;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,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;IACxB,gGAAgG;IAChG,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;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;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAE9B,6CAA6C;IAC7C,OAAO,IAAI,IAAI,CAAC;IAEhB,yBAAyB;IACzB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAEzE,+CAA+C;IAC/C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAEnE,8BAA8B;IAC9B,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IAEpF,oEAAoE;IACpE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE/E,kCAAkC;IAClC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAE/D,sDAAsD;IACtD,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAEzD,wDAAwD;IACxD,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1B,+CAA+C;IAC/C,UAAU,IAAI,OAAO,CAAC;IAEtB,wCAAwC;IACxC,WAAW,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAErC,sCAAsC;IACtC,eAAe,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;IAExC;;;;;OAKG;IACH,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1D;;;;;OAKG;IACH,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzD;;;;;OAKG;IACH,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAEhE,2CAA2C;IAC3C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvC,yEAAyE;IACzE,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAEnC,6DAA6D;IAC7D,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAErE,0DAA0D;IAC1D,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE1D,wDAAwD;IACxD,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;CACrD"}
@@ -1,3 +1,8 @@
1
+ // ----------------------------------------------------------------------------
2
+ // GENERATED FILE - DO NOT EDIT.
3
+ // Source of truth: packages/shared/fff-api.ts
4
+ // Run make sync-js-api from the repo root to regenerate.
5
+ // ----------------------------------------------------------------------------
1
6
  /**
2
7
  * Helper to create a successful result
3
8
  */
@@ -16,4 +21,4 @@ export function err(error) {
16
21
  export function createGrepCursor(offset) {
17
22
  return { __brand: "GrepCursor", _offset: offset };
18
23
  }
19
- //# sourceMappingURL=types.js.map
24
+ //# sourceMappingURL=fff-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fff-api.js","sourceRoot":"","sources":["../../src/fff-api.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,gCAAgC;AAChC,8CAA8C;AAC9C,yDAAyD;AACzD,+EAA+E;AAuB/E;;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;AAuVD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,EAAE,OAAO,EAAE,YAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7D,CAAC"}
package/dist/src/ffi.d.ts CHANGED
@@ -34,15 +34,12 @@
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 { DirSearchResult, GrepResult, MixedSearchResult, Result, SearchResult } from "./types.js";
37
+ import type { DirSearchResult, GrepResult, MixedSearchResult, Result, SearchResult } from "./fff-api.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
- /**
43
- * Create a new file finder instance.
44
- */
45
- export declare function ffiCreate(basePath: string, frecencyDbPath: string, historyDbPath: string, useUnsafeNoLock: boolean, enableMmapCache: boolean, enableContentIndexing: boolean, watch: boolean, aiMode: boolean, logFilePath: string, logLevel: string, cacheBudgetMaxFiles: number, cacheBudgetMaxBytes: number, cacheBudgetMaxFileSize: number): Result<NativeHandle>;
42
+ export declare function ffiCreate(basePath: string, frecencyDbPath: string, historyDbPath: string, _useUnsafeNoLock: boolean, enableMmapCache: boolean, enableContentIndexing: boolean, watch: boolean, aiMode: boolean, logFilePath: string, logLevel: string, cacheBudgetMaxFiles: number, cacheBudgetMaxBytes: number, cacheBudgetMaxFileSize: number, enableFsRootScanning: boolean, enableHomeDirScanning: boolean): Result<NativeHandle>;
46
43
  /**
47
44
  * Destroy and clean up an instance.
48
45
  */
@@ -51,6 +48,11 @@ export declare function ffiDestroy(handle: NativeHandle): void;
51
48
  * Perform fuzzy search.
52
49
  */
53
50
  export declare function ffiSearch(handle: NativeHandle, query: string, currentFile: string, maxThreads: number, pageIndex: number, pageSize: number, comboBoostMultiplier: number, minComboCount: number): Result<SearchResult>;
51
+ /**
52
+ * Glob-only search. Bypasses the regular query parser, applies the pattern
53
+ * as a single `Constraint::Glob`, ranks by frecency, paginates.
54
+ */
55
+ export declare function ffiGlob(handle: NativeHandle, pattern: string, currentFile: string, maxThreads: number, pageIndex: number, pageSize: number): Result<SearchResult>;
54
56
  /**
55
57
  * Perform fuzzy directory search.
56
58
  */
@@ -85,6 +87,8 @@ export declare function ffiGetBasePath(handle: NativeHandle): Result<string | nu
85
87
  export declare function ffiGetScanProgress(handle: NativeHandle): Result<{
86
88
  scannedFilesCount: number;
87
89
  isScanning: boolean;
90
+ isWatcherReady: boolean;
91
+ isWarmupComplete: boolean;
88
92
  }>;
89
93
  /**
90
94
  * Wait for a tree scan to complete.
@@ -1 +1 @@
1
- {"version":3,"file":"ffi.d.ts","sourceRoot":"","sources":["../../src/ffi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ffi.d.ts","sourceRoot":"","sources":["../../src/ffi.ts"],"names":[],"mappings":"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"}
package/dist/src/ffi.js CHANGED
@@ -35,8 +35,27 @@
35
35
  */
36
36
  import { close, DataType, isNullPointer, load, open, restorePointer, wrapPointer, } from "ffi-rs";
37
37
  import { findBinary } from "./binary.js";
38
- import { createGrepCursor, err } from "./types.js";
38
+ import { createGrepCursor, err } from "./fff-api.js";
39
39
  const LIBRARY_KEY = "fff_c";
40
+ const FFF_CREATE_OPTIONS_STRUCT = {
41
+ version: DataType.U32,
42
+ base_path: DataType.String,
43
+ frecency_db_path: DataType.String,
44
+ history_db_path: DataType.String,
45
+ enable_mmap_cache: DataType.U8,
46
+ enable_content_indexing: DataType.U8,
47
+ watch: DataType.U8,
48
+ ai_mode: DataType.U8,
49
+ log_file_path: DataType.String,
50
+ log_level: DataType.String,
51
+ cache_budget_max_files: DataType.U64,
52
+ cache_budget_max_bytes: DataType.U64,
53
+ cache_budget_max_file_size: DataType.U64,
54
+ enable_fs_root_scanning: DataType.U8,
55
+ enable_home_dir_scanning: DataType.U8,
56
+ };
57
+ // ALWAYS KEEP IN SYNC WITH fff.h
58
+ const FFF_CREATE_OPTIONS_VERSION = 1;
40
59
  /** Grep mode constants matching the C API (u8). */
41
60
  const GREP_MODE_PLAIN = 0;
42
61
  const GREP_MODE_REGEX = 1;
@@ -247,46 +266,43 @@ function freeString(ptr) {
247
266
  // Ignore
248
267
  }
249
268
  }
250
- /**
251
- * Create a new file finder instance.
252
- */
253
- export function ffiCreate(basePath, frecencyDbPath, historyDbPath, useUnsafeNoLock, enableMmapCache, enableContentIndexing, watch, aiMode, logFilePath, logLevel, cacheBudgetMaxFiles, cacheBudgetMaxBytes, cacheBudgetMaxFileSize) {
269
+ export function ffiCreate(basePath, frecencyDbPath, historyDbPath, _useUnsafeNoLock, enableMmapCache, enableContentIndexing, watch, aiMode, logFilePath, logLevel, cacheBudgetMaxFiles, cacheBudgetMaxBytes, cacheBudgetMaxFileSize, enableFsRootScanning, enableHomeDirScanning) {
254
270
  loadLibrary();
255
- const { rawPtr, struct: structData } = callRaw("fff_create_instance2", [
256
- DataType.String, // base_path
257
- DataType.String, // frecency_db_path
258
- DataType.String, // history_db_path
259
- DataType.Boolean, // use_unsafe_no_lock
260
- DataType.Boolean, // enable_mmap_cache
261
- DataType.Boolean, // enable_content_indexing
262
- DataType.Boolean, // watch
263
- DataType.Boolean, // ai_mode
264
- DataType.String, // log_file_path
265
- DataType.String, // log_level
266
- DataType.U64, // cache_budget_max_files
267
- DataType.U64, // cache_budget_max_bytes
268
- DataType.U64, // cache_budget_max_file_size
269
- ], [
270
- basePath,
271
- frecencyDbPath,
272
- historyDbPath,
273
- useUnsafeNoLock,
274
- enableMmapCache,
275
- enableContentIndexing,
276
- watch,
277
- aiMode,
278
- logFilePath,
279
- logLevel,
280
- cacheBudgetMaxFiles,
281
- cacheBudgetMaxBytes,
282
- cacheBudgetMaxFileSize,
283
- ]);
271
+ const optsValue = {
272
+ version: FFF_CREATE_OPTIONS_VERSION,
273
+ base_path: basePath,
274
+ frecency_db_path: frecencyDbPath,
275
+ history_db_path: historyDbPath,
276
+ enable_mmap_cache: enableMmapCache ? 1 : 0,
277
+ enable_content_indexing: enableContentIndexing ? 1 : 0,
278
+ watch: watch ? 1 : 0,
279
+ ai_mode: aiMode ? 1 : 0,
280
+ log_file_path: logFilePath,
281
+ log_level: logLevel,
282
+ cache_budget_max_files: cacheBudgetMaxFiles,
283
+ cache_budget_max_bytes: cacheBudgetMaxBytes,
284
+ cache_budget_max_file_size: cacheBudgetMaxFileSize,
285
+ enable_fs_root_scanning: enableFsRootScanning ? 1 : 0,
286
+ enable_home_dir_scanning: enableHomeDirScanning ? 1 : 0,
287
+ };
288
+ const rawPtr = load({
289
+ library: LIBRARY_KEY,
290
+ funcName: "fff_create_instance_with",
291
+ retType: DataType.External,
292
+ paramsType: [FFF_CREATE_OPTIONS_STRUCT],
293
+ paramsValue: [optsValue],
294
+ freeResultMemory: false,
295
+ });
296
+ const [structData] = restorePointer({
297
+ retType: [FFF_RESULT_STRUCT],
298
+ paramsValue: wrapPointer([rawPtr]),
299
+ });
284
300
  const success = structData.success !== 0;
285
301
  try {
286
302
  if (success) {
287
303
  const handle = structData.handle;
288
304
  if (isNullPointer(handle)) {
289
- return err("fff_create_instance2 returned null handle");
305
+ return err("fff_create_instance_with returned null handle");
290
306
  }
291
307
  return { ok: true, value: handle };
292
308
  }
@@ -392,7 +408,6 @@ const FFF_MIXED_SEARCH_RESULT_STRUCT = {
392
408
  location_end_line: DataType.I32,
393
409
  location_end_col: DataType.I32,
394
410
  };
395
- // FffGrepMatch (144 bytes) — ordered by alignment: ptrs, u64s, u32s, u16, bools
396
411
  const FFF_GREP_MATCH_STRUCT = {
397
412
  relative_path: DataType.External,
398
413
  file_name: DataType.External,
@@ -412,7 +427,7 @@ const FFF_GREP_MATCH_STRUCT = {
412
427
  match_ranges_count: DataType.U32,
413
428
  context_before_count: DataType.U32,
414
429
  context_after_count: DataType.U32,
415
- fuzzy_score: DataType.U32, // actually u16 in C, but ffi-rs doesn't have U16 reads as u32 with padding
430
+ fuzzy_score: DataType.U32, // actually u16 in C, but ffi-rs doesn't so we read it as u32 with padding
416
431
  has_fuzzy_score: DataType.U8,
417
432
  is_binary: DataType.U8,
418
433
  is_definition: DataType.U8,
@@ -669,7 +684,11 @@ function parseSearchResult(rawPtr) {
669
684
  location = { type: "line", line: sr.location_line };
670
685
  }
671
686
  else if (sr.location_tag === 2) {
672
- location = { type: "position", line: sr.location_line, col: sr.location_col };
687
+ location = {
688
+ type: "position",
689
+ line: sr.location_line,
690
+ col: sr.location_col,
691
+ };
673
692
  }
674
693
  else if (sr.location_tag === 3) {
675
694
  location = {
@@ -795,7 +814,11 @@ function parseMixedSearchResult(rawPtr) {
795
814
  location = { type: "line", line: sr.location_line };
796
815
  }
797
816
  else if (sr.location_tag === 2) {
798
- location = { type: "position", line: sr.location_line, col: sr.location_col };
817
+ location = {
818
+ type: "position",
819
+ line: sr.location_line,
820
+ col: sr.location_col,
821
+ };
799
822
  }
800
823
  else if (sr.location_tag === 3) {
801
824
  location = {
@@ -866,6 +889,29 @@ export function ffiSearch(handle, query, currentFile, maxThreads, pageIndex, pag
866
889
  });
867
890
  return parseSearchResult(rawPtr);
868
891
  }
892
+ /**
893
+ * Glob-only search. Bypasses the regular query parser, applies the pattern
894
+ * as a single `Constraint::Glob`, ranks by frecency, paginates.
895
+ */
896
+ export function ffiGlob(handle, pattern, currentFile, maxThreads, pageIndex, pageSize) {
897
+ loadLibrary();
898
+ const rawPtr = load({
899
+ library: LIBRARY_KEY,
900
+ funcName: "fff_glob",
901
+ retType: DataType.External,
902
+ paramsType: [
903
+ DataType.External, // handle
904
+ DataType.String, // pattern
905
+ DataType.String, // current_file
906
+ DataType.U32, // max_threads
907
+ DataType.U32, // page_index
908
+ DataType.U32, // page_size
909
+ ],
910
+ paramsValue: [handle, pattern, currentFile, maxThreads, pageIndex, pageSize],
911
+ freeResultMemory: false,
912
+ });
913
+ return parseSearchResult(rawPtr);
914
+ }
869
915
  /**
870
916
  * Perform fuzzy directory search.
871
917
  */
@@ -1032,6 +1078,8 @@ export function ffiGetBasePath(handle) {
1032
1078
  const FFF_SCAN_PROGRESS_STRUCT = {
1033
1079
  scanned_files_count: DataType.U64,
1034
1080
  is_scanning: DataType.U8,
1081
+ is_watcher_ready: DataType.U8,
1082
+ is_warmup_complete: DataType.U8,
1035
1083
  };
1036
1084
  /**
1037
1085
  * Get scan progress.
@@ -1052,6 +1100,8 @@ export function ffiGetScanProgress(handle) {
1052
1100
  const result = {
1053
1101
  scannedFilesCount: Number(sp.scanned_files_count),
1054
1102
  isScanning: sp.is_scanning !== 0,
1103
+ isWatcherReady: sp.is_watcher_ready !== 0,
1104
+ isWarmupComplete: sp.is_warmup_complete !== 0,
1055
1105
  };
1056
1106
  // Free native scan progress
1057
1107
  load({
@@ -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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"}
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * All methods return Result types for explicit error handling.
9
9
  */
10
- import type { DirSearchOptions, DirSearchResult, GrepOptions, GrepResult, HealthCheck, InitOptions, MixedSearchResult, MultiGrepOptions, Result, ScanProgress, SearchOptions, SearchResult } from "./types.js";
10
+ import type { DirSearchOptions, DirSearchResult, FileFinderApi, GlobOptions, GrepOptions, GrepResult, HealthCheck, InitOptions, MixedSearchResult, MultiGrepOptions, Result, ScanProgress, SearchOptions, SearchResult } from "./fff-api.js";
11
11
  /**
12
12
  * FileFinder - Fast file finder with fuzzy search
13
13
  *
@@ -27,7 +27,7 @@ import type { DirSearchOptions, DirSearchResult, GrepOptions, GrepResult, Health
27
27
  * }
28
28
  *
29
29
  * // Wait for initial scan
30
- * finder.value.waitForScan(5000);
30
+ * await finder.value.waitForScan(5000);
31
31
  *
32
32
  * // Search for files
33
33
  * const search = finder.value.search("main.ts");
@@ -41,7 +41,7 @@ import type { DirSearchOptions, DirSearchResult, GrepOptions, GrepResult, Health
41
41
  * finder.value.destroy();
42
42
  * ```
43
43
  */
44
- export declare class FileFinder {
44
+ export declare class FileFinder implements FileFinderApi {
45
45
  private handle;
46
46
  private constructor();
47
47
  /**
@@ -105,6 +105,27 @@ export declare class FileFinder {
105
105
  * ```
106
106
  */
107
107
  fileSearch(query: string, options?: SearchOptions): Result<SearchResult>;
108
+ /**
109
+ * Filters files using glob wildcard expression.
110
+ *
111
+ * The pattern is applied as a single pass SIMD optimized prefiltering
112
+ * without any fuzzy matching involved. Faster and 100% compatible to npm `glob`.
113
+ *
114
+ * @param pattern - Glob pattern (required, non-empty)
115
+ * @param options - Glob search options (pagination, max threads, current file)
116
+ * @returns Search results with files matching the glob
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * const result = finder.glob("**\/*.rs", { pageSize: 100 });
121
+ * if (result.ok) {
122
+ * for (const item of result.value.items) {
123
+ * console.log(item.relativePath);
124
+ * }
125
+ * }
126
+ * ```
127
+ */
128
+ glob(pattern: string, options?: GlobOptions): Result<SearchResult>;
108
129
  /**
109
130
  * Search for directories matching the query.
110
131
  *
@@ -233,8 +254,7 @@ export declare class FileFinder {
233
254
  getScanProgress(): Result<ScanProgress>;
234
255
  /**
235
256
  * Wait for the initial file scan to complete.
236
- *
237
- * Non-blocking — polls `isScanning` and yields to the event loop between checks.
257
+ * Non-blocking: polls `isScanning` and yields to the event loop between checks.
238
258
  *
239
259
  * @param timeoutMs - Maximum time to wait in milliseconds (default: 5000)
240
260
  * @returns true if scan completed, false if timed out
@@ -251,6 +271,26 @@ export declare class FileFinder {
251
271
  * ```
252
272
  */
253
273
  waitForScan(timeoutMs?: number): Promise<Result<boolean>>;
274
+ /**
275
+ * Wait for the initial file scan to complete, blocking the calling thread.
276
+ *
277
+ * Backed by the native `fff_wait_for_scan` call. Prefer {@link waitForScan}
278
+ * unless you specifically need synchronous blocking behaviour.
279
+ *
280
+ * @param timeoutMs - Maximum time to wait in milliseconds (default: 5000)
281
+ * @returns true if scan completed, false if timed out
282
+ */
283
+ waitForScanBlocking(timeoutMs?: number): Result<boolean>;
284
+ /**
285
+ * Wait until the index is fully ready: the scan has finished and the warmup
286
+ * (content indexing / bigram) phase has completed.
287
+ *
288
+ * Non-blocking: polls `getScanProgress` and yields to the event loop.
289
+ *
290
+ * @param timeoutMs - Maximum time to wait in milliseconds (default: 5000)
291
+ * @returns true if the index became ready, false if timed out
292
+ */
293
+ waitForIndexReady(timeoutMs?: number): Promise<Result<boolean>>;
254
294
  /**
255
295
  * Change the indexed directory to a new path.
256
296
  *
@@ -1 +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"}
1
+ {"version":3,"file":"finder.d.ts","sourceRoot":"","sources":["../../src/finder.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,8 @@
7
7
  *
8
8
  * All methods return Result types for explicit error handling.
9
9
  */
10
- import { ensureLoaded, ffiCreate, ffiDestroy, ffiGetBasePath, ffiGetHistoricalQuery, ffiGetScanProgress, ffiHealthCheck, ffiIsScanning, ffiLiveGrep, ffiMultiGrep, ffiRefreshGitStatus, ffiRestartIndex, ffiScanFiles, ffiSearch, ffiSearchDirectories, ffiSearchMixed, ffiTrackQuery, isAvailable, } from "./ffi.js";
11
- import { err } from "./types.js";
10
+ import { ensureLoaded, ffiCreate, ffiDestroy, ffiGetBasePath, ffiGetHistoricalQuery, ffiGetScanProgress, ffiGlob, ffiHealthCheck, ffiIsScanning, ffiLiveGrep, ffiMultiGrep, ffiRefreshGitStatus, ffiRestartIndex, ffiScanFiles, ffiSearch, ffiSearchDirectories, ffiSearchMixed, ffiTrackQuery, ffiWaitForScan, isAvailable, } from "./ffi.js";
11
+ import { err } from "./fff-api.js";
12
12
  /**
13
13
  * FileFinder - Fast file finder with fuzzy search
14
14
  *
@@ -28,7 +28,7 @@ import { err } from "./types.js";
28
28
  * }
29
29
  *
30
30
  * // Wait for initial scan
31
- * finder.value.waitForScan(5000);
31
+ * await finder.value.waitForScan(5000);
32
32
  *
33
33
  * // Search for files
34
34
  * const search = finder.value.search("main.ts");
@@ -67,7 +67,7 @@ export class FileFinder {
67
67
  * ```
68
68
  */
69
69
  static create(options) {
70
- const result = ffiCreate(options.basePath, options.frecencyDbPath ?? "", options.historyDbPath ?? "", options.useUnsafeNoLock ?? false, !(options.disableMmapCache ?? false), !(options.disableContentIndexing ?? options.disableMmapCache ?? false), !(options.disableWatch ?? false), options.aiMode ?? false, options.logFilePath ?? "", options.logLevel ?? "", options.cacheBudgetMaxFiles ?? 0, options.cacheBudgetMaxBytes ?? 0, options.cacheBudgetMaxFileSize ?? 0);
70
+ const result = ffiCreate(options.basePath, options.frecencyDbPath ?? "", options.historyDbPath ?? "", options.useUnsafeNoLock ?? false, !(options.disableMmapCache ?? false), !(options.disableContentIndexing ?? options.disableMmapCache ?? false), !(options.disableWatch ?? false), options.aiMode ?? false, options.logFilePath ?? "", options.logLevel ?? "", options.cacheBudgetMaxFiles ?? 0, options.cacheBudgetMaxBytes ?? 0, options.cacheBudgetMaxFileSize ?? 0, options.enableFsRootScanning ?? false, options.enableHomeDirScanning ?? false);
71
71
  if (!result.ok) {
72
72
  return result;
73
73
  }
@@ -131,6 +131,32 @@ export class FileFinder {
131
131
  return guard;
132
132
  return ffiSearch(guard.value, query, options?.currentFile ?? "", options?.maxThreads ?? 0, options?.pageIndex ?? 0, options?.pageSize ?? 0, options?.comboBoostMultiplier ?? 0, options?.minComboCount ?? 0);
133
133
  }
134
+ /**
135
+ * Filters files using glob wildcard expression.
136
+ *
137
+ * The pattern is applied as a single pass SIMD optimized prefiltering
138
+ * without any fuzzy matching involved. Faster and 100% compatible to npm `glob`.
139
+ *
140
+ * @param pattern - Glob pattern (required, non-empty)
141
+ * @param options - Glob search options (pagination, max threads, current file)
142
+ * @returns Search results with files matching the glob
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * const result = finder.glob("**\/*.rs", { pageSize: 100 });
147
+ * if (result.ok) {
148
+ * for (const item of result.value.items) {
149
+ * console.log(item.relativePath);
150
+ * }
151
+ * }
152
+ * ```
153
+ */
154
+ glob(pattern, options) {
155
+ const guard = this.ensureAlive();
156
+ if (!guard.ok)
157
+ return guard;
158
+ return ffiGlob(guard.value, pattern, options?.currentFile ?? "", options?.maxThreads ?? 0, options?.pageIndex ?? 0, options?.pageSize ?? 0);
159
+ }
134
160
  /**
135
161
  * Search for directories matching the query.
136
162
  *
@@ -301,8 +327,7 @@ export class FileFinder {
301
327
  }
302
328
  /**
303
329
  * Wait for the initial file scan to complete.
304
- *
305
- * Non-blocking — polls `isScanning` and yields to the event loop between checks.
330
+ * Non-blocking: polls `isScanning` and yields to the event loop between checks.
306
331
  *
307
332
  * @param timeoutMs - Maximum time to wait in milliseconds (default: 5000)
308
333
  * @returns true if scan completed, false if timed out
@@ -331,6 +356,48 @@ export class FileFinder {
331
356
  }
332
357
  return { ok: true, value: true };
333
358
  }
359
+ /**
360
+ * Wait for the initial file scan to complete, blocking the calling thread.
361
+ *
362
+ * Backed by the native `fff_wait_for_scan` call. Prefer {@link waitForScan}
363
+ * unless you specifically need synchronous blocking behaviour.
364
+ *
365
+ * @param timeoutMs - Maximum time to wait in milliseconds (default: 5000)
366
+ * @returns true if scan completed, false if timed out
367
+ */
368
+ waitForScanBlocking(timeoutMs = 5000) {
369
+ const guard = this.ensureAlive();
370
+ if (!guard.ok)
371
+ return guard;
372
+ return ffiWaitForScan(guard.value, timeoutMs);
373
+ }
374
+ /**
375
+ * Wait until the index is fully ready: the scan has finished and the warmup
376
+ * (content indexing / bigram) phase has completed.
377
+ *
378
+ * Non-blocking: polls `getScanProgress` and yields to the event loop.
379
+ *
380
+ * @param timeoutMs - Maximum time to wait in milliseconds (default: 5000)
381
+ * @returns true if the index became ready, false if timed out
382
+ */
383
+ async waitForIndexReady(timeoutMs = 5000) {
384
+ const guard = this.ensureAlive();
385
+ if (!guard.ok)
386
+ return guard;
387
+ const deadline = Date.now() + timeoutMs;
388
+ while (true) {
389
+ const progress = this.getScanProgress();
390
+ if (!progress.ok)
391
+ return progress;
392
+ if (!progress.value.isScanning && progress.value.isWarmupComplete) {
393
+ return { ok: true, value: true };
394
+ }
395
+ if (Date.now() >= deadline) {
396
+ return { ok: true, value: false };
397
+ }
398
+ await new Promise((resolve) => setTimeout(resolve, 50));
399
+ }
400
+ }
334
401
  /**
335
402
  * Change the indexed directory to a new path.
336
403
  *
@@ -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":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,YAAY,EACZ,SAAS,EACT,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,OAAO,EACP,cAAc,EACd,aAAa,EACb,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,GAEZ,MAAM,UAAU,CAAC;AAmBlB,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,OAAO,UAAU;IACb,MAAM,CAAsB;IAEpC,YAAoB,MAAoB;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,MAAM,CAAC,OAAoB;QAChC,MAAM,MAAM,GAAG,SAAS,CACtB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,cAAc,IAAI,EAAE,EAC5B,OAAO,CAAC,aAAa,IAAI,EAAE,EAC3B,OAAO,CAAC,eAAe,IAAI,KAAK,EAChC,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,EACpC,CAAC,CAAC,OAAO,CAAC,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,EACtE,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC,EAChC,OAAO,CAAC,MAAM,IAAI,KAAK,EACvB,OAAO,CAAC,WAAW,IAAI,EAAE,EACzB,OAAO,CAAC,QAAQ,IAAI,EAAE,EACtB,OAAO,CAAC,mBAAmB,IAAI,CAAC,EAChC,OAAO,CAAC,mBAAmB,IAAI,CAAC,EAChC,OAAO,CAAC,sBAAsB,IAAI,CAAC,EACnC,OAAO,CAAC,oBAAoB,IAAI,KAAK,EACrC,OAAO,CAAC,qBAAqB,IAAI,KAAK,CACvC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,UAAU,CAAC,KAAa,EAAE,OAAuB;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAE5B,OAAO,SAAS,CACd,KAAK,CAAC,KAAK,EACX,KAAK,EACL,OAAO,EAAE,WAAW,IAAI,EAAE,EAC1B,OAAO,EAAE,UAAU,IAAI,CAAC,EACxB,OAAO,EAAE,SAAS,IAAI,CAAC,EACvB,OAAO,EAAE,QAAQ,IAAI,CAAC,EACtB,OAAO,EAAE,oBAAoB,IAAI,CAAC,EAClC,OAAO,EAAE,aAAa,IAAI,CAAC,CAC5B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,IAAI,CAAC,OAAe,EAAE,OAAqB;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAE5B,OAAO,OAAO,CACZ,KAAK,CAAC,KAAK,EACX,OAAO,EACP,OAAO,EAAE,WAAW,IAAI,EAAE,EAC1B,OAAO,EAAE,UAAU,IAAI,CAAC,EACxB,OAAO,EAAE,SAAS,IAAI,CAAC,EACvB,OAAO,EAAE,QAAQ,IAAI,CAAC,CACvB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,CAAC,KAAa,EAAE,OAA0B;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAE5B,OAAO,oBAAoB,CACzB,KAAK,CAAC,KAAK,EACX,KAAK,EACL,OAAO,EAAE,WAAW,IAAI,IAAI,EAC5B,OAAO,EAAE,UAAU,IAAI,CAAC,EACxB,OAAO,EAAE,SAAS,IAAI,CAAC,EACvB,OAAO,EAAE,QAAQ,IAAI,CAAC,CACvB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,WAAW,CAAC,KAAa,EAAE,OAAuB;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAE5B,OAAO,cAAc,CACnB,KAAK,CAAC,KAAK,EACX,KAAK,EACL,OAAO,EAAE,WAAW,IAAI,EAAE,EAC1B,OAAO,EAAE,UAAU,IAAI,CAAC,EACxB,OAAO,EAAE,SAAS,IAAI,CAAC,EACvB,OAAO,EAAE,QAAQ,IAAI,CAAC,EACtB,OAAO,EAAE,oBAAoB,IAAI,CAAC,EAClC,OAAO,EAAE,aAAa,IAAI,CAAC,CAC5B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,IAAI,CAAC,KAAa,EAAE,OAAqB;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAE5B,OAAO,WAAW,CAChB,KAAK,CAAC,KAAK,EACX,KAAK,EACL,OAAO,EAAE,IAAI,IAAI,OAAO,EACxB,OAAO,EAAE,WAAW,IAAI,CAAC,EACzB,OAAO,EAAE,iBAAiB,IAAI,CAAC,EAC/B,OAAO,EAAE,SAAS,IAAI,IAAI,EAC1B,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,CAAC,EAC7B,OAAO,EAAE,QAAQ,IAAI,CAAC,EACtB,OAAO,EAAE,YAAY,IAAI,CAAC,EAC1B,OAAO,EAAE,aAAa,IAAI,CAAC,EAC3B,OAAO,EAAE,YAAY,IAAI,CAAC,EAC1B,OAAO,EAAE,mBAAmB,IAAI,KAAK,CACtC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,SAAS,CAAC,OAAyB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAE5B,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,YAAY,CACjB,KAAK,CAAC,KAAK,EACX,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAC3B,OAAO,CAAC,WAAW,IAAI,EAAE,EACzB,OAAO,CAAC,WAAW,IAAI,CAAC,EACxB,OAAO,CAAC,iBAAiB,IAAI,CAAC,EAC9B,OAAO,CAAC,SAAS,IAAI,IAAI,EACzB,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,EAC5B,OAAO,CAAC,QAAQ,IAAI,CAAC,EACrB,OAAO,CAAC,YAAY,IAAI,CAAC,EACzB,OAAO,CAAC,aAAa,IAAI,CAAC,EAC1B,OAAO,CAAC,YAAY,IAAI,CAAC,EACzB,OAAO,CAAC,mBAAmB,IAAI,KAAK,CACrC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,SAAS;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC5B,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACvC,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC5B,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC5B,OAAO,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAyB,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,WAAW,CAAC,YAAoB,IAAI;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC3B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YACpC,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACnC,CAAC;IAED;;;;;;;;OAQG;IACH,mBAAmB,CAAC,YAAoB,IAAI;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC5B,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CAAC,YAAoB,IAAI;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAM,IAAI,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,QAAQ,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAClE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACnC,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC3B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YACpC,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,OAAe;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC5B,OAAO,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC5B,OAAO,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;OAQG;IACH,UAAU,CAAC,KAAa,EAAE,gBAAwB;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC5B,OAAO,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,MAAc;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC5B,OAAO,qBAAqB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,QAAiB;QAC3B,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAwB,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,YAAY;QACjB,YAAY,EAAE,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAiB;QACxC,OAAO,cAAc,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAwB,CAAC;IACrE,CAAC;CACF"}
@@ -22,7 +22,7 @@
22
22
  * const finder = result.value;
23
23
  *
24
24
  * // Wait for initial scan
25
- * finder.waitForScan(5000);
25
+ * await finder.waitForScan(5000);
26
26
  *
27
27
  * // Search for files
28
28
  * const search = finder.fileSearch("main.ts");
@@ -40,8 +40,8 @@
40
40
  */
41
41
  export { binaryExists, findBinary, } from "./binary.js";
42
42
  export { closeLibrary } from "./ffi.js";
43
+ export type { DbHealth, DirItem, DirSearchOptions, DirSearchResult, FileFinderApi, FileItem, GrepCursor, GrepMatch, GrepMode, GrepOptions, GrepResult, HealthCheck, InitOptions, Location, MixedItem, MixedSearchResult, MultiGrepOptions, Result, ScanProgress, Score, SearchOptions, SearchResult, } from "./fff-api.js";
44
+ export { err, ok } from "./fff-api.js";
43
45
  export { FileFinder } from "./finder.js";
44
46
  export { getLibExtension, getLibFilename, getNpmPackageName, getTriple, } from "./platform.js";
45
- export type { DbHealth, DirItem, DirSearchOptions, DirSearchResult, FileItem, GrepCursor, GrepMatch, GrepMode, GrepOptions, GrepResult, HealthCheck, InitOptions, Location, MixedItem, MixedSearchResult, MultiGrepOptions, Result, ScanProgress, Score, SearchOptions, SearchResult, } from "./types.js";
46
- export { err, ok } from "./types.js";
47
47
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EACL,YAAY,EACZ,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,SAAS,GACV,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,KAAK,EACL,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EACL,YAAY,EACZ,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EACV,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,QAAQ,EACR,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,KAAK,EACL,aAAa,EACb,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,SAAS,GACV,MAAM,eAAe,CAAC"}
package/dist/src/index.js CHANGED
@@ -22,7 +22,7 @@
22
22
  * const finder = result.value;
23
23
  *
24
24
  * // Wait for initial scan
25
- * finder.waitForScan(5000);
25
+ * await finder.waitForScan(5000);
26
26
  *
27
27
  * // Search for files
28
28
  * const search = finder.fileSearch("main.ts");
@@ -40,8 +40,8 @@
40
40
  */
41
41
  export { binaryExists, findBinary, } from "./binary.js";
42
42
  export { closeLibrary } from "./ffi.js";
43
+ // Result helpers
44
+ export { err, ok } from "./fff-api.js";
43
45
  export { FileFinder } from "./finder.js";
44
46
  export { getLibExtension, getLibFilename, getNpmPackageName, getTriple, } from "./platform.js";
45
- // Result helpers
46
- export { err, ok } from "./types.js";
47
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EACL,YAAY,EACZ,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,SAAS,GACV,MAAM,eAAe,CAAC;AAyBvB,iBAAiB;AACjB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EACL,YAAY,EACZ,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAyBxC,iBAAiB;AACjB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,SAAS,GACV,MAAM,eAAe,CAAC"}
@@ -36,11 +36,10 @@ function detectLinuxLibc() {
36
36
  });
37
37
  }
38
38
  catch (e) {
39
- // Alpine/musl: `ldd --version` exits with code 1 but still prints
40
- // "musl libc ..." — execSync surfaces that on the error object.
41
39
  const err = e;
42
40
  output = String(err?.stdout ?? "") + String(err?.stderr ?? "");
43
41
  }
42
+ // ldd on musl can produce stdout with musl either with exit code 1 or 0
44
43
  if (output.toLowerCase().includes("musl")) {
45
44
  return "unknown-linux-musl";
46
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ff-labs/fff-node",
3
- "version": "0.8.5-nightly.ccb1b9d",
3
+ "version": "0.9.0",
4
4
  "private": false,
5
5
  "description": "High-performance fuzzy file finder for Node.js - perfect for LLM agent tools",
6
6
  "type": "module",
@@ -60,14 +60,14 @@
60
60
  "ffi-rs": "^1.0.0"
61
61
  },
62
62
  "optionalDependencies": {
63
- "@ff-labs/fff-bin-darwin-arm64": "0.8.5-nightly.ccb1b9d",
64
- "@ff-labs/fff-bin-darwin-x64": "0.8.5-nightly.ccb1b9d",
65
- "@ff-labs/fff-bin-linux-x64-gnu": "0.8.5-nightly.ccb1b9d",
66
- "@ff-labs/fff-bin-linux-arm64-gnu": "0.8.5-nightly.ccb1b9d",
67
- "@ff-labs/fff-bin-linux-x64-musl": "0.8.5-nightly.ccb1b9d",
68
- "@ff-labs/fff-bin-linux-arm64-musl": "0.8.5-nightly.ccb1b9d",
69
- "@ff-labs/fff-bin-win32-x64": "0.8.5-nightly.ccb1b9d",
70
- "@ff-labs/fff-bin-win32-arm64": "0.8.5-nightly.ccb1b9d"
63
+ "@ff-labs/fff-bin-darwin-arm64": "0.9.0",
64
+ "@ff-labs/fff-bin-darwin-x64": "0.9.0",
65
+ "@ff-labs/fff-bin-linux-x64-gnu": "0.9.0",
66
+ "@ff-labs/fff-bin-linux-arm64-gnu": "0.9.0",
67
+ "@ff-labs/fff-bin-linux-x64-musl": "0.9.0",
68
+ "@ff-labs/fff-bin-linux-arm64-musl": "0.9.0",
69
+ "@ff-labs/fff-bin-win32-x64": "0.9.0",
70
+ "@ff-labs/fff-bin-win32-arm64": "0.9.0"
71
71
  },
72
72
  "devDependencies": {
73
73
  "typescript": "^5.0.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
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;AAmTD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,EAAE,OAAO,EAAE,YAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7D,CAAC"}