@ff-labs/fff-node 0.9.7-nightly.a97adac → 0.9.7-nightly.a9df55d

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 CHANGED
@@ -74,6 +74,56 @@ if (dirs.ok) console.log(dirs.value.items.map((d) => d.relativePath));
74
74
  finder.destroy();
75
75
  ```
76
76
 
77
+ ## Watching files
78
+
79
+ Subscribe to filesystem changes with a glob, an exact path, or a directory
80
+ subtree. Events reflect applied index changes and are delivered in batches of
81
+ up to 128, so callbacks stay cheap even under heavy churn.
82
+
83
+ ```typescript
84
+ // Each path appears at most once per batch
85
+ const sub = finder.watch("src/**/*.ts", (events) => {
86
+ for (const e of events) console.log(e.kind, e.path); // created | modified | removed | rescan
87
+ });
88
+
89
+ // No pattern: watch the entire indexed tree
90
+ const all = finder.watch((events) => {
91
+ for (const e of events) console.log(e.kind, e.path);
92
+ });
93
+
94
+ // Unsubscribe: call the handle
95
+ if (sub.ok) sub.value();
96
+ ```
97
+
98
+ Directory subtrees are watched by passing the directory itself (parcel-watcher
99
+ style), with per-subscription excludes:
100
+
101
+ ```typescript
102
+ const dirSub = finder.watch(
103
+ projectRoot,
104
+ (events) => {
105
+ for (const e of events) console.log(e.kind, e.path);
106
+ },
107
+ { ignore: ["node_modules", "*.log"] },
108
+ );
109
+ ```
110
+
111
+ Notes:
112
+
113
+ - Globs are matched against the base-path-relative path; absolute globs must
114
+ live under `basePath`. Wildcard-free patterns resolve inside the indexed
115
+ tree: an existing directory watches its whole subtree, anything else is an
116
+ exact file path.
117
+ - `ignore` entries exclude matches per subscription: wildcards are globs,
118
+ everything else is a path prefix (a file or a whole subtree).
119
+ - Gitignored paths never produce events.
120
+ - A `rescan` event means changes were lost (index overflow, ignore-file
121
+ change) — re-stat anything you care about.
122
+ - Unsubscribing takes effect synchronously on the JS thread: once it
123
+ returns, the callback will not be invoked again.
124
+ - Watching requires the instance to be created with watching enabled
125
+ (the default).
126
+
77
127
  ## API Reference
78
128
 
79
129
  Verify the latest API in the local interface at [`./src/fff-api.ts`](./src/fff-api.ts). Every field and type is documented.
@@ -287,8 +287,31 @@ export interface ScanProgress {
287
287
  isWarmupComplete: boolean;
288
288
  }
289
289
  /**
290
- * Database health information
290
+ * Normalized watch event kind.
291
+ * A file removed and recreated in one processed batch is marked as modified.
292
+ *
293
+ * rescan = internal OS buffers were overloaded, some events might be missing.
294
+ * The `path` is going to be a folder needs to be rescanned
295
+ */
296
+ export type WatchEventKind = "created" | "modified" | "removed" | "rescan";
297
+ /** A single filesystem change notification. */
298
+ export interface WatchEvent {
299
+ /** Absolute path of the affected file (base path to rescan if `kind ==rescan`) */
300
+ path: string;
301
+ kind: WatchEventKind;
302
+ }
303
+ /** Options for watch subscriptions. */
304
+ export interface WatchOptions {
305
+ /** Additional glob wildcard patterns to ignore */
306
+ ignore?: string[];
307
+ }
308
+ /**
309
+ * Receives normalized batches of up to 128 events. Each path appears once.
291
310
  */
311
+ export type WatchBatchCallback = (events: WatchEvent[]) => void;
312
+ /** Call me to unsubscribe. */
313
+ export type WatchUnsubscribe = () => void;
314
+ /** Database health information */
292
315
  export interface DbHealth {
293
316
  /** Path to the database */
294
317
  path: string;
@@ -567,6 +590,17 @@ export interface FileFinderApi {
567
590
  trackQuery(query: string, selectedFilePath: string): Result<boolean>;
568
591
  /** Get a historical query by offset (0 = most recent). */
569
592
  getHistoricalQuery(offset: number): Result<string | null>;
593
+ /**
594
+ * Subscribe to filesystem changes matching `pattern`.
595
+ *
596
+ * Patterns may be base-relative globs (./ works), exact paths inside the indexed
597
+ * tree, or existing directories. An empty pattern watches the whole tree.
598
+ *
599
+ * Events are debounced and submitted in batches per 100-ms window at most 128 events.
600
+ * Gitignored and other ignored files are never triggering watcher.
601
+ */
602
+ watch(callback: WatchBatchCallback, options?: WatchOptions): Result<WatchUnsubscribe>;
603
+ watch(pattern: string, callback: WatchBatchCallback, options?: WatchOptions): Result<WatchUnsubscribe>;
570
604
  /** Health/diagnostics information for this instance. */
571
605
  healthCheck(testPath?: string): Result<HealthCheck>;
572
606
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fff-api.d.ts","sourceRoot":"","sources":["../../src/fff-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fff-api.d.ts","sourceRoot":"","sources":["../../src/fff-api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fff-api.js","sourceRoot":"","sources":["../../src/fff-api.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,gCAAgC;AAChC,0CAA0C;AAC1C,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;AA+UD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,EAAE,OAAO,EAAE,YAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"fff-api.js","sourceRoot":"","sources":["../../src/fff-api.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,gCAAgC;AAChC,0CAA0C;AAC1C,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;AA2WD;;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,7 +34,7 @@
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 "./fff-api.js";
37
+ import type { DirSearchResult, GrepResult, MixedSearchResult, Result, SearchResult, WatchEvent } from "./fff-api.js";
38
38
  /**
39
39
  * Opaque native handle type. Callers must not inspect or modify this value.
40
40
  */
@@ -110,6 +110,25 @@ export declare function ffiTrackQuery(handle: NativeHandle, query: string, fileP
110
110
  * Get historical query.
111
111
  */
112
112
  export declare function ffiGetHistoricalQuery(handle: NativeHandle, offset: number): Result<string | null>;
113
+ /**
114
+ * Create a push-mode watch subscription. `callback` receives a normalized
115
+ * batch of up to 128 events, delivered on the JS event loop.
116
+ *
117
+ * Returns the native watch id to pass to `ffiUnwatch`.
118
+ */
119
+ export declare function ffiWatch(handle: NativeHandle, pattern: string, ignore: string[], callback: (events: WatchEvent[]) => void): Result<number>;
120
+ /**
121
+ * Remove a watch subscription. Drops the JS handler synchronously — once
122
+ * this returns the callback can never run again (a late native tail batch
123
+ * misses the map lookup and is dropped).
124
+ */
125
+ export declare function ffiUnwatch(handle: NativeHandle, watchId: number): Result<boolean>;
126
+ /**
127
+ * Post-`ffiDestroy` cleanup for an instance's watch state: drops any
128
+ * handlers that were never explicitly unwatched and releases the process
129
+ * trampoline when this was the last watching instance.
130
+ */
131
+ export declare function ffiWatchCleanupAfterDestroy(handle: NativeHandle, watchIds: Iterable<number>): void;
113
132
  /**
114
133
  * Health check.
115
134
  *
@@ -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
@@ -33,7 +33,7 @@
33
33
  * `isNullPointer` from ffi-rs correctly detects null C pointers wrapped as
34
34
  * V8 External objects. We use this instead of truthy checks.
35
35
  */
36
- import { close, DataType, isNullPointer, load, open, restorePointer, wrapPointer, } from "ffi-rs";
36
+ import { close, createPointer, DataType, freePointer, funcConstructor, isNullPointer, load, open, PointerType, restorePointer, unwrapPointer, wrapPointer, } from "ffi-rs";
37
37
  import { findBinary } from "./binary.js";
38
38
  import { createGrepCursor, err } from "./fff-api.js";
39
39
  const LIBRARY_KEY = "fff_c";
@@ -909,7 +909,14 @@ export function ffiGlob(handle, pattern, currentFile, maxThreads, pageIndex, pag
909
909
  DataType.U32, // page_index
910
910
  DataType.U32, // page_size
911
911
  ],
912
- paramsValue: [handle, pattern, currentFile, maxThreads, pageIndex, pageSize],
912
+ paramsValue: [
913
+ handle,
914
+ pattern,
915
+ currentFile,
916
+ maxThreads,
917
+ pageIndex,
918
+ pageSize,
919
+ ],
913
920
  freeResultMemory: false,
914
921
  });
915
922
  return parseSearchResult(rawPtr);
@@ -931,7 +938,14 @@ export function ffiSearchDirectories(handle, query, currentFile, maxThreads, pag
931
938
  DataType.U32, // page_index
932
939
  DataType.U32, // page_size
933
940
  ],
934
- paramsValue: [handle, query, currentFile ?? "", maxThreads, pageIndex, pageSize],
941
+ paramsValue: [
942
+ handle,
943
+ query,
944
+ currentFile ?? "",
945
+ maxThreads,
946
+ pageIndex,
947
+ pageSize,
948
+ ],
935
949
  freeResultMemory: false,
936
950
  });
937
951
  return parseDirSearchResult(rawPtr);
@@ -1145,6 +1159,180 @@ export function ffiTrackQuery(handle, query, filePath) {
1145
1159
  export function ffiGetHistoricalQuery(handle, offset) {
1146
1160
  return callStringResult("fff_get_historical_query", [DataType.External, DataType.U64], [handle, offset]);
1147
1161
  }
1162
+ // ALWAYS KEEP IN SYNC WITH fff.h
1163
+ //
1164
+ // Note: node uses `fff_watch_args` (flattened options) because ffi-rs cannot
1165
+ // marshal a `*const *const c_char` field inside a struct param — StringArray
1166
+ // is only supported as a top-level parameter.
1167
+ //
1168
+ // Batch contents are read through the C accessors (fff_watch_events_count /
1169
+ // fff_watch_events_get_path / fff_watch_events_get_kind), so no struct
1170
+ // layout knowledge lives on this side.
1171
+ /** Map the C kind byte to the public WatchEventKind. */
1172
+ function watchKindFromU8(kind) {
1173
+ switch (kind) {
1174
+ case 0:
1175
+ return "created";
1176
+ case 1:
1177
+ return "modified";
1178
+ case 2:
1179
+ return "removed";
1180
+ default:
1181
+ return "rescan";
1182
+ }
1183
+ }
1184
+ /** Trampoline signature: (watch id, batch address, user_data — unused). */
1185
+ const WATCH_TRAMPOLINE_TYPE = funcConstructor({
1186
+ paramsType: [DataType.U64, DataType.U64, DataType.U64],
1187
+ retType: DataType.Void,
1188
+ });
1189
+ /** JS handlers keyed by process-unique native watch id. */
1190
+ const watchHandlers = new Map();
1191
+ /** Instances (by handle identity) that ever created a watch subscription. */
1192
+ const watchInstances = new Set();
1193
+ /** Lazily created process-wide trampoline (createPointer result). */
1194
+ let watchTrampoline = null;
1195
+ /** Convert a raw u64 address delivered through the trampoline to a JsExternal. */
1196
+ function addressToExternal(address) {
1197
+ return load({
1198
+ library: LIBRARY_KEY,
1199
+ funcName: "fff_ptr_offset",
1200
+ retType: DataType.External,
1201
+ paramsType: [DataType.U64, DataType.U64],
1202
+ paramsValue: [address, 0],
1203
+ });
1204
+ }
1205
+ /** Parse an FffWatchEventBatch at `address` and free the native memory. */
1206
+ function consumeWatchBatch(address) {
1207
+ const batchPtr = addressToExternal(address);
1208
+ const count = load({
1209
+ library: LIBRARY_KEY,
1210
+ funcName: "fff_watch_events_count",
1211
+ retType: DataType.U32,
1212
+ paramsType: [DataType.External],
1213
+ paramsValue: [batchPtr],
1214
+ });
1215
+ const events = [];
1216
+ for (let i = 0; i < count; i++) {
1217
+ const path = load({
1218
+ library: LIBRARY_KEY,
1219
+ funcName: "fff_watch_events_get_path",
1220
+ retType: DataType.External,
1221
+ paramsType: [DataType.External, DataType.U32],
1222
+ paramsValue: [batchPtr, i],
1223
+ });
1224
+ const kind = load({
1225
+ library: LIBRARY_KEY,
1226
+ funcName: "fff_watch_events_get_kind",
1227
+ retType: DataType.U8,
1228
+ paramsType: [DataType.External, DataType.U32],
1229
+ paramsValue: [batchPtr, i],
1230
+ });
1231
+ events.push({
1232
+ path: readCString(path) ?? "",
1233
+ kind: watchKindFromU8(kind),
1234
+ });
1235
+ }
1236
+ load({
1237
+ library: LIBRARY_KEY,
1238
+ funcName: "fff_free_watch_events",
1239
+ retType: DataType.Void,
1240
+ paramsType: [DataType.U64],
1241
+ paramsValue: [address],
1242
+ });
1243
+ return events;
1244
+ }
1245
+ /**
1246
+ * The single native->JS entry point for all watch subscriptions. Runs on
1247
+ * the JS thread (threadsafe_function delivery); the batch is owned by us
1248
+ * and freed inside `consumeWatchBatch`. Unknown watch ids (unsubscribe
1249
+ * races) are benign: the batch is freed and dropped.
1250
+ */
1251
+ function watchTrampolineImpl(watchId, batchAddress, _userData) {
1252
+ const events = consumeWatchBatch(batchAddress);
1253
+ const handler = watchHandlers.get(Number(watchId));
1254
+ if (handler === undefined || events.length === 0)
1255
+ return;
1256
+ try {
1257
+ handler(events);
1258
+ }
1259
+ catch {
1260
+ // User callback errors must not propagate into the FFI layer
1261
+ }
1262
+ }
1263
+ function ensureWatchTrampoline() {
1264
+ if (watchTrampoline === null) {
1265
+ watchTrampoline = createPointer({
1266
+ paramsType: [WATCH_TRAMPOLINE_TYPE],
1267
+ paramsValue: [watchTrampolineImpl],
1268
+ });
1269
+ }
1270
+ return unwrapPointer(watchTrampoline)[0];
1271
+ }
1272
+ // fff watcher uses a single cross-boundary FFI callback to deliver all events which we then manually
1273
+ // mapping to the user's javascript functions
1274
+ function ensureWatchCallbackRegistered(handle) {
1275
+ if (watchInstances.has(handle))
1276
+ return { ok: true, value: undefined };
1277
+ const trampoline = ensureWatchTrampoline();
1278
+ const registered = callVoidResult("fff_set_watch_callback", [DataType.External, DataType.External, DataType.U64], [handle, trampoline, 0]);
1279
+ if (registered.ok)
1280
+ watchInstances.add(handle);
1281
+ return registered;
1282
+ }
1283
+ function releaseWatchTrampolineIfIdle() {
1284
+ if (watchHandlers.size > 0 ||
1285
+ watchInstances.size > 0 ||
1286
+ watchTrampoline === null)
1287
+ return;
1288
+ freePointer({
1289
+ paramsType: [WATCH_TRAMPOLINE_TYPE],
1290
+ paramsValue: watchTrampoline,
1291
+ pointerType: PointerType.RsPointer,
1292
+ });
1293
+ watchTrampoline = null;
1294
+ }
1295
+ /**
1296
+ * Create a push-mode watch subscription. `callback` receives a normalized
1297
+ * batch of up to 128 events, delivered on the JS event loop.
1298
+ *
1299
+ * Returns the native watch id to pass to `ffiUnwatch`.
1300
+ */
1301
+ export function ffiWatch(handle, pattern, ignore, callback) {
1302
+ loadLibrary();
1303
+ const registered = ensureWatchCallbackRegistered(handle);
1304
+ if (!registered.ok)
1305
+ return registered;
1306
+ const created = callIntResult("fff_watch_args", [DataType.External, DataType.String, DataType.StringArray, DataType.U32], [handle, pattern, ignore, ignore.length]);
1307
+ if (!created.ok)
1308
+ return created;
1309
+ // No startup race: threadsafe delivery lands on the JS event loop, so this
1310
+ // synchronous set always precedes the first routing lookup for this id.
1311
+ watchHandlers.set(created.value, callback);
1312
+ return created;
1313
+ }
1314
+ /**
1315
+ * Remove a watch subscription. Drops the JS handler synchronously — once
1316
+ * this returns the callback can never run again (a late native tail batch
1317
+ * misses the map lookup and is dropped).
1318
+ */
1319
+ export function ffiUnwatch(handle, watchId) {
1320
+ const result = callBoolResult("fff_unwatch", [DataType.External, DataType.U64], [handle, watchId]);
1321
+ watchHandlers.delete(watchId);
1322
+ return result;
1323
+ }
1324
+ /**
1325
+ * Post-`ffiDestroy` cleanup for an instance's watch state: drops any
1326
+ * handlers that were never explicitly unwatched and releases the process
1327
+ * trampoline when this was the last watching instance.
1328
+ */
1329
+ export function ffiWatchCleanupAfterDestroy(handle, watchIds) {
1330
+ for (const id of watchIds) {
1331
+ watchHandlers.delete(id);
1332
+ }
1333
+ watchInstances.delete(handle);
1334
+ releaseWatchTrampolineIfIdle();
1335
+ }
1148
1336
  /**
1149
1337
  * Health check.
1150
1338
  *
@@ -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, FileFinderApi, GlobOptions, GrepOptions, GrepResult, HealthCheck, InitOptions, MixedSearchResult, MultiGrepOptions, Result, ScanProgress, SearchOptions, SearchResult } from "./fff-api.js";
10
+ import type { DirSearchOptions, DirSearchResult, FileFinderApi, GlobOptions, GrepOptions, GrepResult, HealthCheck, InitOptions, MixedSearchResult, MultiGrepOptions, Result, ScanProgress, SearchOptions, SearchResult, WatchBatchCallback, WatchOptions, WatchUnsubscribe } from "./fff-api.js";
11
11
  /**
12
12
  * FileFinder - Fast file finder with fuzzy search
13
13
  *
@@ -43,6 +43,8 @@ import type { DirSearchOptions, DirSearchResult, FileFinderApi, GlobOptions, Gre
43
43
  */
44
44
  export declare class FileFinder implements FileFinderApi {
45
45
  private handle;
46
+ /** Native ids of this instance's active watch subscriptions. */
47
+ private watchers;
46
48
  private constructor();
47
49
  /**
48
50
  * Create a new file finder instance.
@@ -322,6 +324,42 @@ export declare class FileFinder implements FileFinderApi {
322
324
  * @returns The historical query string, or null if not found
323
325
  */
324
326
  getHistoricalQuery(offset: number): Result<string | null>;
327
+ /**
328
+ * Subscribe to filesystem changes matching `pattern`.
329
+ *
330
+ * Pattern semantics:
331
+ * - Wildcards (`*.rs`, `src/**`, `./**\/*.ts`) — glob matched against the
332
+ * base-path-relative path. Absolute globs must be under the base path.
333
+ * - No wildcards — resolved against the base path (must stay inside it):
334
+ * an existing directory subscribes to its whole subtree, anything else
335
+ * is an exact file path.
336
+ * - Omitted — subscribes to the entire indexed tree: `watch(callback)`.
337
+ *
338
+ * Push-based: events are delivered by the native watcher through a single
339
+ * process-wide callback trampoline (no polling, no idle wakeups). The
340
+ * callback receives normalized batches of up to 128 events on the JS event
341
+ * loop, with each path appearing at most once.
342
+ *
343
+ * Requires the instance to be created with watching enabled (default).
344
+ *
345
+ * @param pattern - Glob pattern, exact file path, or directory
346
+ * @param callback - Invoked with each batch of events
347
+ * @param options - Watch options
348
+ * @returns Unsubscribe handle; call it to stop
349
+ *
350
+ * @example
351
+ * ```typescript
352
+ * const sub = finder.watch("**\/*.rs", (events) => {
353
+ * for (const e of events) console.log(e.kind, e.path);
354
+ * });
355
+ * if (sub.ok) sub.value(); // unsubscribe
356
+ *
357
+ * // no pattern: everything under the indexed base path
358
+ * const all = finder.watch((events) => console.log(events.length));
359
+ * ```
360
+ */
361
+ watch(callback: WatchBatchCallback, options?: WatchOptions): Result<WatchUnsubscribe>;
362
+ watch(pattern: string, callback: WatchBatchCallback, options?: WatchOptions): Result<WatchUnsubscribe>;
325
363
  /**
326
364
  * Get health check information.
327
365
  *
@@ -1 +1 @@
1
- {"version":3,"file":"finder.d.ts","sourceRoot":"","sources":["../../src/finder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finder.d.ts","sourceRoot":"","sources":["../../src/finder.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 { ensureLoaded, ffiCreate, ffiDestroy, ffiGetBasePath, ffiGetHistoricalQuery, ffiGetScanProgress, ffiGlob, ffiHealthCheck, ffiIsScanning, ffiLiveGrep, ffiMultiGrep, ffiRefreshGitStatus, ffiRestartIndex, ffiScanFiles, ffiSearch, ffiSearchDirectories, ffiSearchMixed, ffiTrackQuery, ffiWaitForScan, isAvailable, } from "./ffi.js";
10
+ import { ensureLoaded, ffiCreate, ffiDestroy, ffiGetBasePath, ffiGetHistoricalQuery, ffiGetScanProgress, ffiGlob, ffiHealthCheck, ffiIsScanning, ffiLiveGrep, ffiMultiGrep, ffiRefreshGitStatus, ffiRestartIndex, ffiScanFiles, ffiSearch, ffiSearchDirectories, ffiSearchMixed, ffiTrackQuery, ffiUnwatch, ffiWaitForScan, ffiWatch, ffiWatchCleanupAfterDestroy, isAvailable, } from "./ffi.js";
11
11
  import { err } from "./fff-api.js";
12
12
  /**
13
13
  * FileFinder - Fast file finder with fuzzy search
@@ -44,6 +44,8 @@ import { err } from "./fff-api.js";
44
44
  */
45
45
  export class FileFinder {
46
46
  handle;
47
+ /** Native ids of this instance's active watch subscriptions. */
48
+ watchers = new Set();
47
49
  constructor(handle) {
48
50
  this.handle = handle;
49
51
  }
@@ -82,8 +84,15 @@ export class FileFinder {
82
84
  */
83
85
  destroy() {
84
86
  if (this.handle !== null) {
85
- ffiDestroy(this.handle);
87
+ const handle = this.handle;
88
+ ffiDestroy(handle);
86
89
  this.handle = null;
90
+ // ffiDestroy unsubscribes every watch (a delivery racing it is a
91
+ // benign id-map miss); dropping the remaining handlers afterwards is
92
+ // safe, and the process-wide trampoline is released when this was the
93
+ // last watching instance.
94
+ ffiWatchCleanupAfterDestroy(handle, this.watchers);
95
+ this.watchers.clear();
87
96
  }
88
97
  }
89
98
  /**
@@ -449,6 +458,37 @@ export class FileFinder {
449
458
  return guard;
450
459
  return ffiGetHistoricalQuery(guard.value, offset);
451
460
  }
461
+ watch(patternOrCallback, callbackOrOptions, maybeOptions) {
462
+ // Overload shift: watch(cb, opts?) -> empty pattern = whole tree.
463
+ const noPattern = typeof patternOrCallback === "function";
464
+ const pattern = noPattern ? "" : patternOrCallback;
465
+ const callback = noPattern
466
+ ? patternOrCallback
467
+ : callbackOrOptions;
468
+ const options = noPattern
469
+ ? callbackOrOptions
470
+ : maybeOptions;
471
+ if (typeof callback !== "function") {
472
+ return err("watch callback must be a function");
473
+ }
474
+ const guard = this.ensureAlive();
475
+ if (!guard.ok)
476
+ return guard;
477
+ const created = ffiWatch(guard.value, pattern, options?.ignore ?? [], callback);
478
+ if (!created.ok)
479
+ return created;
480
+ const watchId = created.value;
481
+ this.watchers.add(watchId);
482
+ return {
483
+ ok: true,
484
+ value: () => {
485
+ if (!this.watchers.delete(watchId))
486
+ return;
487
+ if (this.handle !== null)
488
+ ffiUnwatch(this.handle, watchId);
489
+ },
490
+ };
491
+ }
452
492
  /**
453
493
  * Get health check information.
454
494
  *
@@ -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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"}
@@ -40,7 +40,7 @@
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";
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, WatchBatchCallback, WatchEvent, WatchEventKind, WatchOptions, WatchUnsubscribe, } from "./fff-api.js";
44
44
  export { err, ok } from "./fff-api.js";
45
45
  export { FileFinder } from "./finder.js";
46
46
  export { getLibExtension, getLibFilename, getNpmPackageName, getTriple, } from "./platform.js";
@@ -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,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"}
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,EACZ,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,GACjB,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"}
@@ -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;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"}
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;AA8BxC,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ff-labs/fff-node",
3
- "version": "0.9.7-nightly.a97adac",
3
+ "version": "0.9.7-nightly.a9df55d",
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/e2e.mjs",
20
+ "test": "node test/e2e.mjs && node test/watch.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.9.7-nightly.a97adac",
64
- "@ff-labs/fff-bin-darwin-x64": "0.9.7-nightly.a97adac",
65
- "@ff-labs/fff-bin-linux-x64-gnu": "0.9.7-nightly.a97adac",
66
- "@ff-labs/fff-bin-linux-arm64-gnu": "0.9.7-nightly.a97adac",
67
- "@ff-labs/fff-bin-linux-x64-musl": "0.9.7-nightly.a97adac",
68
- "@ff-labs/fff-bin-linux-arm64-musl": "0.9.7-nightly.a97adac",
69
- "@ff-labs/fff-bin-win32-x64": "0.9.7-nightly.a97adac",
70
- "@ff-labs/fff-bin-win32-arm64": "0.9.7-nightly.a97adac"
63
+ "@ff-labs/fff-bin-darwin-arm64": "0.9.7-nightly.a9df55d",
64
+ "@ff-labs/fff-bin-darwin-x64": "0.9.7-nightly.a9df55d",
65
+ "@ff-labs/fff-bin-linux-x64-gnu": "0.9.7-nightly.a9df55d",
66
+ "@ff-labs/fff-bin-linux-arm64-gnu": "0.9.7-nightly.a9df55d",
67
+ "@ff-labs/fff-bin-linux-x64-musl": "0.9.7-nightly.a9df55d",
68
+ "@ff-labs/fff-bin-linux-arm64-musl": "0.9.7-nightly.a9df55d",
69
+ "@ff-labs/fff-bin-win32-x64": "0.9.7-nightly.a9df55d",
70
+ "@ff-labs/fff-bin-win32-arm64": "0.9.7-nightly.a9df55d"
71
71
  },
72
72
  "devDependencies": {
73
73
  "typescript": "^5.0.0",