@ff-labs/fff-node 0.10.7-nightly.f3647b7 → 0.11.1-nightly.1772109

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
@@ -29,6 +29,20 @@ The correct native binary for your platform is installed automatically via platf
29
29
 
30
30
  If the platform package isn't available, the postinstall script will attempt to download from GitHub releases as a fallback.
31
31
 
32
+ ### Platforms without a prebuilt package
33
+
34
+ On a platform that has no `@ff-labs/fff-bin-*` package (e.g. FreeBSD), build the C
35
+ library from source and point `@ff-labs/fff-node` at it with `FFF_C_LIB`:
36
+
37
+ ```bash
38
+ cargo build --release -p fff-c
39
+ FFF_C_LIB=target/release/libfff_c.so node ./app.mjs
40
+ ```
41
+
42
+ `FFF_C_LIB` is checked before the platform package and the local dev build. If the
43
+ path does not exist, resolution fails with an explicit error rather than silently
44
+ falling back. `ffi-rs` has no FreeBSD prebuilt either and must be built from source.
45
+
32
46
  ## Quick Start
33
47
 
34
48
  Each `FileFinder` instance owns an independent native index. Create one, wait
@@ -83,7 +97,7 @@ up to 128, so callbacks stay cheap even under heavy churn.
83
97
  ```typescript
84
98
  // Each path appears at most once per batch
85
99
  const sub = finder.watch("src/**/*.ts", (events) => {
86
- for (const e of events) console.log(e.kind, e.path); // created | modified | removed | rescan
100
+ for (const e of events) console.log(e.kind, e.path); // created | modified | removed | renamed | rescan
87
101
  });
88
102
 
89
103
  // No pattern: watch the entire indexed tree
@@ -117,6 +131,9 @@ Notes:
117
131
  - `ignore` entries exclude matches per subscription: wildcards are globs,
118
132
  everything else is a path prefix (a file or a whole subtree).
119
133
  - Gitignored paths never produce events.
134
+ - A `renamed` event carries both paths: `e.path` is the destination and
135
+ `e.from` the source. It replaces the removed/created pair, so a move is one
136
+ event. Moves in or out of the indexed tree stay a plain `created`/`removed`.
120
137
  - A `rescan` event means changes were lost (index overflow, ignore-file
121
138
  change) — re-stat anything you care about.
122
139
  - Unsubscribing takes effect synchronously on the JS thread: once it
package/dist/binary.d.ts CHANGED
@@ -2,8 +2,9 @@
2
2
  * Binary resolution utilities for fff-node
3
3
  *
4
4
  * Resolves the native library from:
5
- * 1. Platform-specific npm package (e.g. @ff-labs/fff-bin-darwin-arm64)
6
- * 2. Local dev build (target/release or target/debug)
5
+ * 1. The FFF_C_LIB environment variable (explicit path to libfff_c.so/.dylib/.dll)
6
+ * 2. Platform-specific npm package (e.g. @ff-labs/fff-bin-darwin-arm64)
7
+ * 3. Local dev build (target/release or target/debug)
7
8
  */
8
9
  /**
9
10
  * Check if the binary exists in any known location
@@ -13,6 +14,7 @@ export declare function binaryExists(): boolean;
13
14
  * Find the native library binary.
14
15
  *
15
16
  * Resolution order:
17
+ * - FFF_C_LIB (if set) always wins
16
18
  * - Dev workspace: local dev build first, then npm package
17
19
  * - Production: npm package first, then dev build
18
20
  *
@@ -1 +1 @@
1
- {"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiDH;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AA0DD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAuB1C"}
1
+ {"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiDH;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAgED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAiC1C"}
package/dist/fff-api.d.ts CHANGED
@@ -167,6 +167,8 @@ export interface Score {
167
167
  currentFilePenalty: number;
168
168
  /** Boost from query history combo matching */
169
169
  comboMatchBoost: number;
170
+ /** Bonus for query segments aligning with path segments */
171
+ pathAlignmentBonus: number;
170
172
  /** Whether this was an exact match */
171
173
  exactMatch: boolean;
172
174
  /** Type of match: 'fuzzy', 'exact', 'prefix', etc. */
@@ -292,13 +294,17 @@ export interface ScanProgress {
292
294
  *
293
295
  * rescan = internal OS buffers were overloaded, some events might be missing.
294
296
  * The `path` is going to be a folder needs to be rescanned
297
+ *
298
+ * renamed = the file was moved to the other path without changing the content
295
299
  */
296
- export type WatchEventKind = "created" | "modified" | "removed" | "rescan";
300
+ export type WatchEventKind = "created" | "modified" | "removed" | "rescan" | "renamed";
297
301
  /** A single filesystem change notification. */
298
302
  export interface WatchEvent {
299
- /** Absolute path of the affected file (base path to rescan if `kind ==rescan`) */
303
+ /** Absolute path of the affected file (base path to rescan if `kind == rescan`) */
300
304
  path: string;
301
305
  kind: WatchEventKind;
306
+ /** Absolute path the file moved from. Only set when `kind == "renamed"`. */
307
+ from?: string;
302
308
  }
303
309
  /** Options for watch subscriptions. */
304
310
  export interface WatchOptions {
@@ -373,6 +379,7 @@ export interface HealthCheck {
373
379
  * Grep search mode
374
380
  */
375
381
  export type GrepMode = "plain" | "regex" | "fuzzy";
382
+ export type DefinitionMode = "off" | "classify" | "definition_only" | "usage_only";
376
383
  /**
377
384
  * Opaque pagination cursor for grep results.
378
385
  * Pass this to `GrepOptions.cursor` to fetch the next page.
@@ -413,18 +420,20 @@ export interface GrepOptions {
413
420
  * partial results. 0 = unlimited. (default: 0)
414
421
  */
415
422
  timeBudgetMs?: number;
423
+ /**
424
+ * Apply `timeBudgetMs` even before anything matched. Off by default, so a
425
+ * zero-match query scans every candidate file. (default: false)
426
+ */
427
+ enforceTimeBudget?: boolean;
416
428
  /** Number of context lines to include before each match (default: 0) */
417
429
  beforeContext?: number;
418
430
  /** Number of context lines to include after each match (default: 0) */
419
431
  afterContext?: number;
420
432
  /** Maximum matches to return in this page across all files (default: 50) */
421
433
  pageSize?: number;
422
- /**
423
- * When true, classify each match line as a code definition (struct/fn/class/...)
424
- * and expose it via `GrepMatch.isDefinition`. Let callers re-rank defs first
425
- * without a TS-side regex port. (default: false)
426
- */
427
- classifyDefinitions?: boolean;
434
+ /** Select matching definitions/usages, or classify all matches. Defaults to "off".
435
+ * Legacy booleans map false to "off" and true to "classify". Keep the same mode with a cursor. */
436
+ classifyDefinitions?: DefinitionMode | boolean;
428
437
  }
429
438
  /**
430
439
  * A single grep match with file and line information
@@ -464,7 +473,7 @@ export interface GrepMatch {
464
473
  contextBefore?: string[];
465
474
  /** Lines after the match (context). Empty array when context is 0. */
466
475
  contextAfter?: string[];
467
- /** Whether this line is a code definition (only populated when `classifyDefinitions: true`). */
476
+ /** Whether the query matches a declared name. Available when classification is enabled. */
468
477
  isDefinition?: boolean;
469
478
  }
470
479
  /**
@@ -516,17 +525,20 @@ export interface MultiGrepOptions {
516
525
  * partial results. 0 = unlimited. (default: 0)
517
526
  */
518
527
  timeBudgetMs?: number;
528
+ /**
529
+ * Apply `timeBudgetMs` even before anything matched. Off by default, so a
530
+ * zero-match query scans every candidate file. (default: false)
531
+ */
532
+ enforceTimeBudget?: boolean;
519
533
  /** Number of context lines to include before each match (default: 0) */
520
534
  beforeContext?: number;
521
535
  /** Number of context lines to include after each match (default: 0) */
522
536
  afterContext?: number;
523
537
  /** Maximum matches to return in this page across all files (default: 50) */
524
538
  pageSize?: number;
525
- /**
526
- * When true, classify each match line as a code definition (struct/fn/class/...)
527
- * and expose it via `GrepMatch.isDefinition`. (default: false)
528
- */
529
- classifyDefinitions?: boolean;
539
+ /** Select matching definitions/usages, or classify all matches. Defaults to "off".
540
+ * Legacy booleans map false to "off" and true to "classify". Keep the same mode with a cursor. */
541
+ classifyDefinitions?: DefinitionMode | boolean;
530
542
  }
531
543
  /**
532
544
  * The shared instance surface implemented by `FileFinder` in both
@@ -596,7 +608,7 @@ export interface FileFinderApi {
596
608
  * Patterns may be base-relative globs (./ works), exact paths inside the indexed
597
609
  * tree, or existing directories. An empty pattern watches the whole tree.
598
610
  *
599
- * Events are debounced and submitted in batches per 100-ms window at most 128 events.
611
+ * Events are debounced over a 50-ms window and submitted in batches of at most 128 events.
600
612
  * Gitignored and other ignored files are never triggering watcher.
601
613
  */
602
614
  watch(callback: WatchBatchCallback, options?: WatchOptions): Result<WatchUnsubscribe>;
@@ -604,4 +616,6 @@ export interface FileFinderApi {
604
616
  /** Health/diagnostics information for this instance. */
605
617
  healthCheck(testPath?: string): Result<HealthCheck>;
606
618
  }
619
+ /** @internal Convert the public mode to the C integer argument. */
620
+ export declare function definitionModeToInt(mode: DefinitionMode | boolean | undefined): number | undefined;
607
621
  //# sourceMappingURL=fff-api.d.ts.map
@@ -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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"}
package/dist/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, WatchEvent } from "./fff-api.js";
37
+ import type { DefinitionMode, 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
  */
@@ -64,11 +64,11 @@ export declare function ffiSearchMixed(handle: NativeHandle, query: string, curr
64
64
  /**
65
65
  * Live grep - search file contents.
66
66
  */
67
- export declare function ffiLiveGrep(handle: NativeHandle, query: string, mode: string, maxFileSize: number, maxMatchesPerFile: number, smartCase: boolean, fileOffset: number, pageLimit: number, timeBudgetMs: number, beforeContext: number, afterContext: number, classifyDefinitions: boolean): Result<GrepResult>;
67
+ export declare function ffiLiveGrep(handle: NativeHandle, query: string, mode: string, maxFileSize: number, maxMatchesPerFile: number, smartCase: boolean, fileOffset: number, pageLimit: number, timeBudgetMs: number, enforceTimeBudget: boolean, beforeContext: number, afterContext: number, classifyDefinitions: DefinitionMode | boolean): Result<GrepResult>;
68
68
  /**
69
69
  * Multi-pattern grep - Aho-Corasick multi-needle search.
70
70
  */
71
- export declare function ffiMultiGrep(handle: NativeHandle, patternsJoined: string, constraints: string, maxFileSize: number, maxMatchesPerFile: number, smartCase: boolean, fileOffset: number, pageLimit: number, timeBudgetMs: number, beforeContext: number, afterContext: number, classifyDefinitions: boolean): Result<GrepResult>;
71
+ export declare function ffiMultiGrep(handle: NativeHandle, patternsJoined: string, constraints: string, maxFileSize: number, maxMatchesPerFile: number, smartCase: boolean, fileOffset: number, pageLimit: number, timeBudgetMs: number, enforceTimeBudget: boolean, beforeContext: number, afterContext: number, classifyDefinitions: DefinitionMode | boolean): Result<GrepResult>;
72
72
  /**
73
73
  * Trigger file scan.
74
74
  */
package/dist/ffi.d.ts.map CHANGED
@@ -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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"}
@@ -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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"}
package/dist/index.cjs CHANGED
@@ -53,6 +53,8 @@ function getTriple() {
53
53
  osName = detectLinuxLibc();
54
54
  } else if (platform === "win32") {
55
55
  osName = "pc-windows-msvc";
56
+ } else if (platform === "freebsd") {
57
+ osName = "unknown-freebsd";
56
58
  } else {
57
59
  throw new Error(`Unsupported platform: ${platform}`);
58
60
  }
@@ -157,7 +159,12 @@ function binaryExists() {
157
159
  return findBinary() !== null;
158
160
  }
159
161
  function resolveFromNpmPackage() {
160
- const packageName = getNpmPackageName();
162
+ let packageName;
163
+ try {
164
+ packageName = getNpmPackageName();
165
+ } catch {
166
+ return null;
167
+ }
161
168
  try {
162
169
  const require2 = (0, import_node_module.createRequire)((0, import_node_path.join)(getPackageDir(), "package.json"));
163
170
  const packageJsonPath = require2.resolve(`${packageName}/package.json`);
@@ -190,6 +197,13 @@ function isDevWorkspace() {
190
197
  return (0, import_node_fs.existsSync)((0, import_node_path.join)(workspaceRoot, "Cargo.toml"));
191
198
  }
192
199
  function findBinary() {
200
+ const override = process.env["FFF_C_LIB"];
201
+ if (override) {
202
+ if (!(0, import_node_fs.existsSync)(override)) {
203
+ throw new Error(`FFF_C_LIB points to a file that does not exist: ${override}`);
204
+ }
205
+ return override;
206
+ }
193
207
  if (isDevWorkspace()) {
194
208
  const binPath = (0, import_node_path.join)(getPackageDir(), "bin", getLibFilename());
195
209
  if ((0, import_node_fs.existsSync)(binPath)) return binPath;
@@ -217,6 +231,23 @@ function err(error) {
217
231
  function createGrepCursor(offset) {
218
232
  return { __brand: "GrepCursor", _offset: offset };
219
233
  }
234
+ function definitionModeToInt(mode) {
235
+ switch (mode) {
236
+ case void 0:
237
+ case false:
238
+ case "off":
239
+ return 0;
240
+ case true:
241
+ case "classify":
242
+ return 1;
243
+ case "definition_only":
244
+ return 2;
245
+ case "usage_only":
246
+ return 3;
247
+ default:
248
+ return void 0;
249
+ }
250
+ }
220
251
 
221
252
  // src/ffi.ts
222
253
  var LIBRARY_KEY = "fff_c";
@@ -468,6 +499,7 @@ var FFF_SCORE_STRUCT = {
468
499
  distance_penalty: import_ffi_rs.DataType.I32,
469
500
  current_file_penalty: import_ffi_rs.DataType.I32,
470
501
  combo_match_boost: import_ffi_rs.DataType.I32,
502
+ path_alignment_bonus: import_ffi_rs.DataType.I32,
471
503
  exact_match: import_ffi_rs.DataType.U8,
472
504
  match_type: import_ffi_rs.DataType.External
473
505
  };
@@ -541,8 +573,8 @@ var FFF_GREP_MATCH_STRUCT = {
541
573
  match_ranges_count: import_ffi_rs.DataType.U32,
542
574
  context_before_count: import_ffi_rs.DataType.U32,
543
575
  context_after_count: import_ffi_rs.DataType.U32,
544
- fuzzy_score: import_ffi_rs.DataType.U32,
545
- // actually u16 in C, but ffi-rs doesn't so we read it as u32 with padding
576
+ fuzzy_score: import_ffi_rs.DataType.I16,
577
+ // u16 in C; ffi-rs has no U16, so read I16 and mask (#888)
546
578
  has_fuzzy_score: import_ffi_rs.DataType.U8,
547
579
  is_binary: import_ffi_rs.DataType.U8,
548
580
  is_definition: import_ffi_rs.DataType.U8
@@ -583,6 +615,7 @@ function readScoreFromRaw(raw) {
583
615
  distancePenalty: raw.distance_penalty,
584
616
  currentFilePenalty: raw.current_file_penalty,
585
617
  comboMatchBoost: raw.combo_match_boost,
618
+ pathAlignmentBonus: raw.path_alignment_bonus,
586
619
  exactMatch: raw.exact_match !== 0,
587
620
  matchType: readCString(raw.match_type) ?? ""
588
621
  };
@@ -683,7 +716,7 @@ function readGrepMatchFromRaw(raw) {
683
716
  matchRanges
684
717
  };
685
718
  if (raw.has_fuzzy_score !== 0) {
686
- match.fuzzyScore = raw.fuzzy_score;
719
+ match.fuzzyScore = raw.fuzzy_score & 65535;
687
720
  }
688
721
  if (raw.context_before_count > 0) {
689
722
  match.contextBefore = readCStringArray(raw.context_before, raw.context_before_count);
@@ -1081,11 +1114,13 @@ function ffiSearchMixed(handle, query, currentFile, maxThreads, pageIndex, pageS
1081
1114
  });
1082
1115
  return parseMixedSearchResult(rawPtr);
1083
1116
  }
1084
- function ffiLiveGrep(handle, query, mode, maxFileSize, maxMatchesPerFile, smartCase, fileOffset, pageLimit, timeBudgetMs, beforeContext, afterContext, classifyDefinitions) {
1117
+ function ffiLiveGrep(handle, query, mode, maxFileSize, maxMatchesPerFile, smartCase, fileOffset, pageLimit, timeBudgetMs, enforceTimeBudget, beforeContext, afterContext, classifyDefinitions) {
1118
+ const definitionMode = definitionModeToInt(classifyDefinitions);
1119
+ if (definitionMode === void 0) return err("Invalid classifyDefinitions mode");
1085
1120
  loadLibrary();
1086
1121
  const rawPtr = (0, import_ffi_rs.load)({
1087
1122
  library: LIBRARY_KEY,
1088
- funcName: "fff_live_grep",
1123
+ funcName: "fff_live_grep_ex",
1089
1124
  retType: import_ffi_rs.DataType.External,
1090
1125
  paramsType: [
1091
1126
  import_ffi_rs.DataType.External,
@@ -1106,11 +1141,13 @@ function ffiLiveGrep(handle, query, mode, maxFileSize, maxMatchesPerFile, smartC
1106
1141
  // page_limit
1107
1142
  import_ffi_rs.DataType.U64,
1108
1143
  // time_budget_ms
1144
+ import_ffi_rs.DataType.Boolean,
1145
+ // enforce_time_budget
1109
1146
  import_ffi_rs.DataType.U32,
1110
1147
  // before_context
1111
1148
  import_ffi_rs.DataType.U32,
1112
1149
  // after_context
1113
- import_ffi_rs.DataType.Boolean
1150
+ import_ffi_rs.DataType.U8
1114
1151
  // classify_definitions
1115
1152
  ],
1116
1153
  paramsValue: [
@@ -1123,19 +1160,22 @@ function ffiLiveGrep(handle, query, mode, maxFileSize, maxMatchesPerFile, smartC
1123
1160
  fileOffset,
1124
1161
  pageLimit,
1125
1162
  timeBudgetMs,
1163
+ enforceTimeBudget,
1126
1164
  beforeContext,
1127
1165
  afterContext,
1128
- classifyDefinitions
1166
+ definitionMode
1129
1167
  ],
1130
1168
  freeResultMemory: false
1131
1169
  });
1132
1170
  return parseGrepResult(rawPtr);
1133
1171
  }
1134
- function ffiMultiGrep(handle, patternsJoined, constraints, maxFileSize, maxMatchesPerFile, smartCase, fileOffset, pageLimit, timeBudgetMs, beforeContext, afterContext, classifyDefinitions) {
1172
+ function ffiMultiGrep(handle, patternsJoined, constraints, maxFileSize, maxMatchesPerFile, smartCase, fileOffset, pageLimit, timeBudgetMs, enforceTimeBudget, beforeContext, afterContext, classifyDefinitions) {
1173
+ const definitionMode = definitionModeToInt(classifyDefinitions);
1174
+ if (definitionMode === void 0) return err("Invalid classifyDefinitions mode");
1135
1175
  loadLibrary();
1136
1176
  const rawPtr = (0, import_ffi_rs.load)({
1137
1177
  library: LIBRARY_KEY,
1138
- funcName: "fff_multi_grep",
1178
+ funcName: "fff_multi_grep_ex",
1139
1179
  retType: import_ffi_rs.DataType.External,
1140
1180
  paramsType: [
1141
1181
  import_ffi_rs.DataType.External,
@@ -1156,11 +1196,13 @@ function ffiMultiGrep(handle, patternsJoined, constraints, maxFileSize, maxMatch
1156
1196
  // page_limit
1157
1197
  import_ffi_rs.DataType.U64,
1158
1198
  // time_budget_ms
1199
+ import_ffi_rs.DataType.Boolean,
1200
+ // enforce_time_budget
1159
1201
  import_ffi_rs.DataType.U32,
1160
1202
  // before_context
1161
1203
  import_ffi_rs.DataType.U32,
1162
1204
  // after_context
1163
- import_ffi_rs.DataType.Boolean
1205
+ import_ffi_rs.DataType.U8
1164
1206
  // classify_definitions
1165
1207
  ],
1166
1208
  paramsValue: [
@@ -1173,9 +1215,10 @@ function ffiMultiGrep(handle, patternsJoined, constraints, maxFileSize, maxMatch
1173
1215
  fileOffset,
1174
1216
  pageLimit,
1175
1217
  timeBudgetMs,
1218
+ enforceTimeBudget,
1176
1219
  beforeContext,
1177
1220
  afterContext,
1178
- classifyDefinitions
1221
+ definitionMode
1179
1222
  ],
1180
1223
  freeResultMemory: false
1181
1224
  });
@@ -1268,6 +1311,8 @@ function watchKindFromU8(kind) {
1268
1311
  return "modified";
1269
1312
  case 2:
1270
1313
  return "removed";
1314
+ case 4:
1315
+ return "renamed";
1271
1316
  default:
1272
1317
  return "rescan";
1273
1318
  }
@@ -1313,10 +1358,22 @@ function consumeWatchBatch(address) {
1313
1358
  paramsType: [import_ffi_rs.DataType.External, import_ffi_rs.DataType.U32],
1314
1359
  paramsValue: [batchPtr, i]
1315
1360
  });
1316
- events.push({
1361
+ const event = {
1317
1362
  path: readCString(path) ?? "",
1318
1363
  kind: watchKindFromU8(kind)
1319
- });
1364
+ };
1365
+ if (event.kind === "renamed") {
1366
+ const from = (0, import_ffi_rs.load)({
1367
+ library: LIBRARY_KEY,
1368
+ funcName: "fff_watch_events_get_from_path",
1369
+ retType: import_ffi_rs.DataType.External,
1370
+ paramsType: [import_ffi_rs.DataType.External, import_ffi_rs.DataType.U32],
1371
+ paramsValue: [batchPtr, i]
1372
+ });
1373
+ const decoded = readCString(from);
1374
+ if (decoded) event.from = decoded;
1375
+ }
1376
+ events.push(event);
1320
1377
  }
1321
1378
  (0, import_ffi_rs.load)({
1322
1379
  library: LIBRARY_KEY,
@@ -1696,6 +1753,7 @@ var FileFinder = class _FileFinder {
1696
1753
  options?.cursor?._offset ?? 0,
1697
1754
  options?.pageSize ?? 0,
1698
1755
  options?.timeBudgetMs ?? 0,
1756
+ options?.enforceTimeBudget ?? false,
1699
1757
  options?.beforeContext ?? 0,
1700
1758
  options?.afterContext ?? 0,
1701
1759
  options?.classifyDefinitions ?? false
@@ -1742,6 +1800,7 @@ var FileFinder = class _FileFinder {
1742
1800
  options.cursor?._offset ?? 0,
1743
1801
  options.pageSize ?? 0,
1744
1802
  options.timeBudgetMs ?? 0,
1803
+ options.enforceTimeBudget ?? false,
1745
1804
  options.beforeContext ?? 0,
1746
1805
  options.afterContext ?? 0,
1747
1806
  options.classifyDefinitions ?? false