@zvec/zvec-grep 0.1.6 → 0.1.8

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.
Files changed (161) hide show
  1. package/README.md +88 -52
  2. package/README_CN.md +85 -49
  3. package/dist/cli/args.js +40 -7
  4. package/dist/cli/args.js.map +1 -1
  5. package/dist/cli/auth.js +1 -4
  6. package/dist/cli/auth.js.map +1 -1
  7. package/dist/cli/commands.js +53 -24
  8. package/dist/cli/commands.js.map +1 -1
  9. package/dist/cli/format/context.d.ts +3 -0
  10. package/dist/cli/format/context.js +93 -22
  11. package/dist/cli/format/context.js.map +1 -1
  12. package/dist/cli/format/debug.js +10 -4
  13. package/dist/cli/format/debug.js.map +1 -1
  14. package/dist/cli/format/status.d.ts +3 -1
  15. package/dist/cli/format/status.js +34 -0
  16. package/dist/cli/format/status.js.map +1 -1
  17. package/dist/cli/help.js +149 -16
  18. package/dist/cli/help.js.map +1 -1
  19. package/dist/cli/index.d.ts +1 -1
  20. package/dist/cli/index.js +1 -1
  21. package/dist/cli/install.js +174 -56
  22. package/dist/cli/install.js.map +1 -1
  23. package/dist/cli/server-search.d.ts +3 -0
  24. package/dist/cli/server-search.js +12 -0
  25. package/dist/cli/server-search.js.map +1 -0
  26. package/dist/cli/types.d.ts +3 -0
  27. package/dist/cli/types.js.map +1 -1
  28. package/dist/client/daemon-client.d.ts +12 -0
  29. package/dist/client/daemon-client.js +23 -0
  30. package/dist/client/daemon-client.js.map +1 -1
  31. package/dist/daemon/backend.d.ts +2 -0
  32. package/dist/daemon/backend.js +121 -90
  33. package/dist/daemon/backend.js.map +1 -1
  34. package/dist/daemon/change-set.d.ts +5 -0
  35. package/dist/daemon/change-set.js +75 -13
  36. package/dist/daemon/change-set.js.map +1 -1
  37. package/dist/daemon/http-server.js +1 -0
  38. package/dist/daemon/http-server.js.map +1 -1
  39. package/dist/daemon/index-coordinator.d.ts +3 -4
  40. package/dist/daemon/index-coordinator.js +8 -21
  41. package/dist/daemon/index-coordinator.js.map +1 -1
  42. package/dist/daemon/root-runtime.js +2 -2
  43. package/dist/daemon/root-runtime.js.map +1 -1
  44. package/dist/daemon/runtime-manager.d.ts +1 -0
  45. package/dist/daemon/runtime-manager.js +4 -1
  46. package/dist/daemon/runtime-manager.js.map +1 -1
  47. package/dist/daemon/server-controller.js +138 -14
  48. package/dist/daemon/server-controller.js.map +1 -1
  49. package/dist/daemon/watch-manager.d.ts +5 -0
  50. package/dist/daemon/watch-manager.js +68 -21
  51. package/dist/daemon/watch-manager.js.map +1 -1
  52. package/dist/engine/code-formats.d.ts +3 -0
  53. package/dist/engine/code-formats.js +14 -0
  54. package/dist/engine/code-formats.js.map +1 -0
  55. package/dist/engine/extraction/code/adapter.js +1 -1
  56. package/dist/engine/extraction/code/adapter.js.map +1 -1
  57. package/dist/engine/extraction/code/extractor.d.ts +5 -0
  58. package/dist/engine/extraction/code/extractor.js +53 -26
  59. package/dist/engine/extraction/code/extractor.js.map +1 -1
  60. package/dist/engine/extraction/index.d.ts +2 -1
  61. package/dist/engine/extraction/index.js +2 -1
  62. package/dist/engine/extraction/index.js.map +1 -1
  63. package/dist/engine/extraction/markdown/extractor.js +5 -3
  64. package/dist/engine/extraction/markdown/extractor.js.map +1 -1
  65. package/dist/engine/extraction/runtime.d.ts +6 -1
  66. package/dist/engine/extraction/runtime.js +11 -0
  67. package/dist/engine/extraction/runtime.js.map +1 -1
  68. package/dist/engine/extraction/vector-content.d.ts +5 -0
  69. package/dist/engine/extraction/vector-content.js +83 -0
  70. package/dist/engine/extraction/vector-content.js.map +1 -0
  71. package/dist/engine/file-size-policy.d.ts +6 -0
  72. package/dist/engine/file-size-policy.js +20 -0
  73. package/dist/engine/file-size-policy.js.map +1 -0
  74. package/dist/engine/file-type.d.ts +10 -0
  75. package/dist/engine/file-type.js +71 -38
  76. package/dist/engine/file-type.js.map +1 -1
  77. package/dist/engine/manifest.d.ts +1 -0
  78. package/dist/engine/manifest.js +4 -0
  79. package/dist/engine/manifest.js.map +1 -1
  80. package/dist/engine/models/backends/model2vec-runtime.d.ts +63 -0
  81. package/dist/engine/models/backends/model2vec-runtime.js +112 -0
  82. package/dist/engine/models/backends/model2vec-runtime.js.map +1 -0
  83. package/dist/engine/models/backends/model2vec-tokenizer.d.ts +2 -0
  84. package/dist/engine/models/backends/model2vec-tokenizer.js +42 -0
  85. package/dist/engine/models/backends/model2vec-tokenizer.js.map +1 -0
  86. package/dist/engine/models/backends/model2vec-worker-pool.d.ts +25 -0
  87. package/dist/engine/models/backends/model2vec-worker-pool.js +264 -0
  88. package/dist/engine/models/backends/model2vec-worker-pool.js.map +1 -0
  89. package/dist/engine/models/backends/model2vec-worker.d.ts +1 -0
  90. package/dist/engine/models/backends/model2vec-worker.js +41 -0
  91. package/dist/engine/models/backends/model2vec-worker.js.map +1 -0
  92. package/dist/engine/models/backends/model2vec.d.ts +3 -20
  93. package/dist/engine/models/backends/model2vec.js +107 -128
  94. package/dist/engine/models/backends/model2vec.js.map +1 -1
  95. package/dist/engine/models/catalog.d.ts +26 -7
  96. package/dist/engine/models/catalog.js +26 -7
  97. package/dist/engine/models/catalog.js.map +1 -1
  98. package/dist/engine/models/embeddings.d.ts +1 -0
  99. package/dist/engine/models/embeddings.js.map +1 -1
  100. package/dist/engine/models/resolution.js +1 -1
  101. package/dist/engine/models/resolution.js.map +1 -1
  102. package/dist/engine/pipeline/indexing/index.js +102 -78
  103. package/dist/engine/pipeline/indexing/index.js.map +1 -1
  104. package/dist/engine/pipeline/indexing/input-budget.d.ts +2 -0
  105. package/dist/engine/pipeline/indexing/input-budget.js +51 -0
  106. package/dist/engine/pipeline/indexing/input-budget.js.map +1 -0
  107. package/dist/engine/pipeline/indexing/scanner/index.d.ts +5 -1
  108. package/dist/engine/pipeline/indexing/scanner/index.js +129 -20
  109. package/dist/engine/pipeline/indexing/scanner/index.js.map +1 -1
  110. package/dist/engine/pipeline/search/index.js.map +1 -1
  111. package/dist/engine/service/index.d.ts +1 -1
  112. package/dist/engine/service/root.d.ts +1 -4
  113. package/dist/engine/service/root.js +15 -22
  114. package/dist/engine/service/root.js.map +1 -1
  115. package/dist/engine/service/structure-enrichment.d.ts +1 -1
  116. package/dist/engine/service/structure-enrichment.js +10 -10
  117. package/dist/engine/service/structure-enrichment.js.map +1 -1
  118. package/dist/engine/service/types.d.ts +8 -1
  119. package/dist/engine/service/workspace-index.d.ts +6 -4
  120. package/dist/engine/service/workspace-index.js +18 -12
  121. package/dist/engine/service/workspace-index.js.map +1 -1
  122. package/dist/engine/service/zvec-grep.js +47 -29
  123. package/dist/engine/service/zvec-grep.js.map +1 -1
  124. package/dist/engine/storage/index.d.ts +28 -21
  125. package/dist/engine/storage/index.js +2 -1
  126. package/dist/engine/storage/index.js.map +1 -1
  127. package/dist/engine/storage/layout.d.ts +10 -0
  128. package/dist/engine/storage/layout.js +29 -0
  129. package/dist/engine/storage/layout.js.map +1 -0
  130. package/dist/engine/storage/zvec.d.ts +2 -42
  131. package/dist/engine/storage/zvec.js +62 -71
  132. package/dist/engine/storage/zvec.js.map +1 -1
  133. package/dist/engine/types.d.ts +14 -0
  134. package/dist/engine/types.js.map +1 -1
  135. package/dist/index.d.ts +2 -2
  136. package/dist/index.js.map +1 -1
  137. package/dist/mcp/input-normalization.d.ts +2 -2
  138. package/dist/mcp/input-normalization.js +14 -5
  139. package/dist/mcp/input-normalization.js.map +1 -1
  140. package/dist/mcp/schemas.d.ts +242 -0
  141. package/dist/mcp/schemas.js +73 -14
  142. package/dist/mcp/schemas.js.map +1 -1
  143. package/dist/mcp/stdio-bridge.d.ts +11 -0
  144. package/dist/mcp/stdio-bridge.js +134 -0
  145. package/dist/mcp/stdio-bridge.js.map +1 -0
  146. package/dist/mcp/tools.d.ts +4 -1
  147. package/dist/mcp/tools.js +78 -44
  148. package/dist/mcp/tools.js.map +1 -1
  149. package/dist/prompts/zvec-grep-guidance.d.ts +2 -0
  150. package/dist/prompts/zvec-grep-guidance.js +9 -0
  151. package/dist/prompts/zvec-grep-guidance.js.map +1 -0
  152. package/docs/01-agents.md +26 -5
  153. package/docs/02-cli.md +11 -1
  154. package/docs/03-mcp.md +29 -11
  155. package/docs/04-pipeline.md +10 -2
  156. package/docs/06-server.md +9 -0
  157. package/docs/07-embedding.md +6 -3
  158. package/package.json +5 -4
  159. package/skills/zvec-grep/SKILL.md +0 -61
  160. package/skills/zvec-grep/agents/openai.yaml +0 -4
  161. package/skills/zvec-grep/references/cli-fallback.md +0 -85
@@ -1,11 +1,15 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { spawn } from "node:child_process";
3
3
  import { open, readFile, unlink } from "node:fs/promises";
4
+ import { createServer } from "node:net";
4
5
  import { hostname } from "node:os";
5
6
  import { join } from "node:path";
6
- import { daemonHome, resolveClientToken } from "./config.js";
7
+ import { configuredListenAddress, daemonHome, resolveClientToken, } from "./config.js";
7
8
  import { processIsAlive } from "../engine/utils/daemon-lease.js";
8
9
  import { DEFAULT_MCP_TOOLSET, MCP_TOOLSET_ENV, resolveMcpToolset, } from "../mcp/toolset.js";
10
+ const LIFTOFF_ONLY_FLAG = "--liftoff-only";
11
+ const SHUTDOWN_REQUEST_TIMEOUT_MS = 2_000;
12
+ const TERMINATION_GRACE_MS = 2_000;
9
13
  export class DaemonInstanceLock {
10
14
  path;
11
15
  record;
@@ -132,9 +136,20 @@ export async function startServer(options) {
132
136
  }
133
137
  if (current.ready)
134
138
  return current;
135
- throw new Error(`zvec-grep server process ${current.pid} is running but not ready`);
139
+ return waitForStatus(options.home, true, options.timeoutMs ?? 10_000);
136
140
  }
137
- const args = [options.cliPath, "server", "run"];
141
+ const listen = configuredListenAddress(options.listen);
142
+ try {
143
+ await assertListenAddressAvailable(listen.host, listen.port);
144
+ }
145
+ catch (error) {
146
+ const starting = await waitForRunningRecord(options.home, 500);
147
+ if (starting) {
148
+ return waitForStatus(options.home, true, options.timeoutMs ?? 10_000);
149
+ }
150
+ throw error;
151
+ }
152
+ const args = [LIFTOFF_ONLY_FLAG, options.cliPath, "server", "run"];
138
153
  args.push("--mcp-toolset", requestedToolset);
139
154
  if (options.listen)
140
155
  args.push("--listen", options.listen);
@@ -151,18 +166,118 @@ export async function startServer(options) {
151
166
  return waitForStatus(options.home, true, options.timeoutMs ?? 10_000);
152
167
  }
153
168
  export async function stopServer(home, timeoutMs = 30_000, tokenFile) {
154
- const status = await serverStatus(home);
155
- if (!status.running)
156
- return status;
169
+ const record = await readInstanceRecord(home);
170
+ if (!record ||
171
+ record.hostname !== hostname() ||
172
+ !processIsAlive(record.pid)) {
173
+ return { running: false, ready: false };
174
+ }
175
+ if (record.pid === process.pid) {
176
+ throw new Error("Refusing to stop the current process as a daemon.");
177
+ }
157
178
  const token = await resolveClientToken({ home, tokenFile });
158
- const response = await fetch(new URL("/control/shutdown", status.serverUrl), {
159
- method: "POST",
160
- headers: token ? { Authorization: `Bearer ${token}` } : {},
161
- signal: AbortSignal.timeout(2_000),
162
- });
163
- if (!response.ok)
164
- throw new Error(`Server shutdown request failed with HTTP ${response.status}`);
165
- return waitForStatus(home, false, timeoutMs);
179
+ let shutdownAccepted = false;
180
+ try {
181
+ const response = await fetch(new URL("/control/shutdown", record.serverUrl), {
182
+ method: "POST",
183
+ headers: token ? { Authorization: `Bearer ${token}` } : {},
184
+ signal: AbortSignal.timeout(Math.min(SHUTDOWN_REQUEST_TIMEOUT_MS, Math.max(timeoutMs, 100))),
185
+ });
186
+ if (!response.ok) {
187
+ throw new ShutdownResponseError(response.status);
188
+ }
189
+ shutdownAccepted = true;
190
+ }
191
+ catch (error) {
192
+ if (error instanceof ShutdownResponseError)
193
+ throw error;
194
+ }
195
+ if (shutdownAccepted &&
196
+ (await waitForProcessExit(record.pid, Math.max(timeoutMs, 0)))) {
197
+ await removeStoppedInstanceRecord(home, record);
198
+ return { running: false, ready: false };
199
+ }
200
+ return forceStopRecordedProcess(home, record, shutdownAccepted, timeoutMs);
201
+ }
202
+ class ShutdownResponseError extends Error {
203
+ constructor(status) {
204
+ super(`Server shutdown request failed with HTTP ${status}`);
205
+ }
206
+ }
207
+ async function forceStopRecordedProcess(home, record, allowMissingRecord, timeoutMs) {
208
+ if (!processIsAlive(record.pid)) {
209
+ await removeStoppedInstanceRecord(home, record);
210
+ return { running: false, ready: false };
211
+ }
212
+ await assertSameInstanceBeforeSignal(home, record, allowMissingRecord);
213
+ signalProcess(record.pid, "SIGTERM");
214
+ const graceMs = Math.min(TERMINATION_GRACE_MS, Math.max(timeoutMs, 100));
215
+ if (await waitForProcessExit(record.pid, graceMs)) {
216
+ await removeStoppedInstanceRecord(home, record);
217
+ return { running: false, ready: false };
218
+ }
219
+ await assertSameInstanceBeforeSignal(home, record, true);
220
+ signalProcess(record.pid, "SIGKILL");
221
+ if (!(await waitForProcessExit(record.pid, graceMs))) {
222
+ throw new Error(`Timed out waiting for zvec-grep server process ${record.pid} to stop after SIGKILL.`);
223
+ }
224
+ await removeStoppedInstanceRecord(home, record);
225
+ return { running: false, ready: false };
226
+ }
227
+ async function assertSameInstanceBeforeSignal(home, expected, allowMissing) {
228
+ const current = await readInstanceRecord(home);
229
+ if (!current && allowMissing)
230
+ return;
231
+ if (!current ||
232
+ current.hostname !== expected.hostname ||
233
+ current.pid !== expected.pid ||
234
+ current.instanceToken !== expected.instanceToken) {
235
+ throw new Error("zvec-grep server instance changed while stopping; refusing to signal the recorded process.");
236
+ }
237
+ }
238
+ function signalProcess(pid, signal) {
239
+ try {
240
+ process.kill(pid, signal);
241
+ }
242
+ catch (error) {
243
+ if (error.code !== "ESRCH")
244
+ throw error;
245
+ }
246
+ }
247
+ async function removeStoppedInstanceRecord(home, stopped) {
248
+ const path = join(daemonHome(home), "instance.lock");
249
+ const current = await readRecordPath(path);
250
+ if (current?.pid === stopped.pid &&
251
+ current.instanceToken === stopped.instanceToken) {
252
+ await unlink(path).catch(() => undefined);
253
+ }
254
+ }
255
+ async function assertListenAddressAvailable(host, port) {
256
+ const probe = createServer();
257
+ try {
258
+ await new Promise((resolve, reject) => {
259
+ probe.once("error", reject);
260
+ probe.listen({ host, port, exclusive: true }, () => {
261
+ probe.removeListener("error", reject);
262
+ probe.close((error) => (error ? reject(error) : resolve()));
263
+ });
264
+ });
265
+ }
266
+ catch (error) {
267
+ if (error.code === "EADDRINUSE") {
268
+ throw new Error(`Server address ${host}:${port} is already in use. Another or legacy zvec-grep server may still be running.`, { cause: error });
269
+ }
270
+ throw error;
271
+ }
272
+ }
273
+ async function waitForProcessExit(pid, timeoutMs) {
274
+ const deadline = Date.now() + timeoutMs;
275
+ while (Date.now() < deadline) {
276
+ if (!processIsAlive(pid))
277
+ return true;
278
+ await new Promise((resolve) => setTimeout(resolve, 50));
279
+ }
280
+ return !processIsAlive(pid);
166
281
  }
167
282
  async function waitForStatus(home, running, timeoutMs) {
168
283
  const deadline = Date.now() + timeoutMs;
@@ -175,6 +290,15 @@ async function waitForStatus(home, running, timeoutMs) {
175
290
  }
176
291
  throw new Error(`Timed out waiting for zvec-grep server to ${running ? "start" : "stop"}.`);
177
292
  }
293
+ async function waitForRunningRecord(home, timeoutMs) {
294
+ const deadline = Date.now() + timeoutMs;
295
+ while (Date.now() < deadline) {
296
+ if ((await serverStatus(home)).running)
297
+ return true;
298
+ await new Promise((resolve) => setTimeout(resolve, 25));
299
+ }
300
+ return false;
301
+ }
178
302
  async function readRecordPath(path) {
179
303
  try {
180
304
  const value = JSON.parse(await readFile(path, "utf8"));
@@ -1 +1 @@
1
- {"version":3,"file":"server-controller.js","sourceRoot":"","sources":["../../src/daemon/server-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-controller.js","sourceRoot":"","sources":["../../src/daemon/server-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAElB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAC1C,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAqBnC,MAAM,OAAO,kBAAkB;IAIlB;IACA;IAJH,SAAS,CAAkC;IAEnD,YACW,IAAY,EACZ,MAA4B;QAD5B,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAsB;IACpC,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,IAAwB,EACxB,SAAiB,EACjB,aAAyB,mBAAmB;QAE5C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;QACrD,MAAM,MAAM,GAAyB;YACnC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,QAAQ,EAAE;YACpB,aAAa,EAAE,UAAU,EAAE;YAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,SAAS;YACT,KAAK,EAAE,KAAK;YACZ,UAAU;SACX,CAAC;QACF,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7C,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxD,CAAC;wBAAS,CAAC;oBACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;gBACD,OAAO,IAAI,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACvD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;oBACnD,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;oBAChE,SAAS;gBACX,CAAC;gBACD,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,KAAK,CAAC;gBACpE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAChD,IACE,QAAQ;oBACR,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;oBAChC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC5B,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,gDAAgD,QAAQ,CAAC,GAAG,EAAE,EAC9D;wBACE,KAAK,EAAE,KAAK;qBACb,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACzB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,SAAS;YAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IACE,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa;YACpD,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,EAC3B,CAAC;YACD,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK;QACjB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IACE,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa;YACpD,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG;YAE3B,OAAO;QACT,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACvD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAC7D,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAa;IAEb,OAAO,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAa;IAEb,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC9C,IACE,CAAC,MAAM;QACP,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;QAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAC3B,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE;YAClE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;SACnC,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,QAAQ,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK;YAClC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAOjC;IACC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,iBAAiB,CACxC,OAAO,CAAC,UAAU,EAClB,kBAAkB,CACnB,CAAC;IACF,MAAM,kBAAkB,GACtB,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,kBAAkB,KAAK,SAAS,CAAC;IACvE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IACE,kBAAkB;YAClB,OAAO,CAAC,UAAU,KAAK,SAAS;YAChC,OAAO,CAAC,UAAU,KAAK,gBAAgB,EACvC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,yDAAyD,OAAO,CAAC,UAAU,+EAA+E,gBAAgB,KAAK,CAChL,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,KAAK;YAAE,OAAO,OAAO,CAAC;QAClC,OAAO,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,4BAA4B,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/D,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACpE,IAAI,OAAO,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE;QAC1C,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,OAAO,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAa,EACb,SAAS,GAAG,MAAM,EAClB,SAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC9C,IACE,CAAC,MAAM;QACP,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;QAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAC3B,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5D,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,IAAI,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,SAAS,CAAC,EAC9C;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;YAC1D,MAAM,EAAE,WAAW,CAAC,OAAO,CACzB,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAChE;SACF,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;QACD,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB;YAAE,MAAM,KAAK,CAAC;IAC1D,CAAC;IAED,IACE,gBAAgB;QAChB,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAC9D,CAAC;QACD,MAAM,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,qBAAsB,SAAQ,KAAK;IACvC,YAAY,MAAc;QACxB,KAAK,CAAC,4CAA4C,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF;AAED,KAAK,UAAU,wBAAwB,CACrC,IAAwB,EACxB,MAA4B,EAC5B,kBAA2B,EAC3B,SAAiB;IAEjB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACvE,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IACzE,IAAI,MAAM,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;QAClD,MAAM,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CACb,kDAAkD,MAAM,CAAC,GAAG,yBAAyB,CACtF,CAAC;IACJ,CAAC;IACD,MAAM,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,IAAwB,EACxB,QAA8B,EAC9B,YAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,IAAI,YAAY;QAAE,OAAO;IACrC,IACE,CAAC,OAAO;QACR,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;QACtC,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG;QAC5B,OAAO,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa,EAChD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,MAAsB;IACxD,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,KAAK,CAAC;IACrE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,IAAwB,EACxB,OAA6B;IAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;IAC3C,IACE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG;QAC5B,OAAO,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa,EAC/C,CAAC;QACD,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,IAAY,EACZ,IAAY;IAEZ,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5B,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;gBACjD,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACtC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,IAAI,IAAI,8EAA8E,EAC5G,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,GAAW,EACX,SAAiB;IAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,IAAwB,EACxB,OAAgB,EAChB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,IAAI,IAAI,GAAwB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACjE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACtE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,IAAI,KAAK,CACb,6CAA6C,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAC3E,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,IAAwB,EACxB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACpD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,IAAY;IAEZ,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CACI,CAAC;QACnC,IACE,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;YAC7B,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAClC,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;YACvC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;YACnC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;YACnC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;YACnC,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS;YAChC,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;gBAC7B,KAAK,CAAC,UAAU,KAAK,OAAO;gBAC5B,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC;YAE9B,OAAO,SAAS,CAAC;QACnB,OAAO;YACL,GAAI,KAAkD;YACtD,sEAAsE;YACtE,0EAA0E;YAC1E,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM;SACvC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { watch } from "node:fs";
2
+ import type { RootPath } from "../engine/types.js";
2
3
  import { type ChangeSetSnapshot } from "./change-set.js";
3
4
  export type WatchManagerOptions = {
4
5
  root: string;
@@ -13,6 +14,7 @@ export type WatchManagerOptions = {
13
14
  resumeThresholdMs?: number;
14
15
  platform?: NodeJS.Platform;
15
16
  nodeVersion?: string;
17
+ getRootPaths?: () => readonly RootPath[] | undefined;
16
18
  };
17
19
  export declare class WatchManager {
18
20
  private readonly options;
@@ -34,6 +36,7 @@ export declare class WatchManager {
34
36
  start(): void;
35
37
  close(): Promise<void>;
36
38
  flushPending(): Promise<void>;
39
+ refreshPaths(): Promise<void>;
37
40
  checkForResume(now?: number): void;
38
41
  private recordPath;
39
42
  private queueRecord;
@@ -46,5 +49,7 @@ export declare class WatchManager {
46
49
  private recoveryState;
47
50
  private startPrimaryWatcher;
48
51
  private watchDirectoryTree;
52
+ private shouldTrackPath;
53
+ private refreshDirectoryTree;
49
54
  private removeDirectoryWatchers;
50
55
  }
@@ -1,6 +1,7 @@
1
1
  import { watch } from "node:fs";
2
2
  import { readdir, stat } from "node:fs/promises";
3
- import { basename, isAbsolute, join, relative, sep } from "node:path";
3
+ import { basename, dirname, isAbsolute, join, relative, sep } from "node:path";
4
+ import { pathCanAffectIndex } from "../engine/pipeline/indexing/scanner/index.js";
4
5
  import { ChangeSet } from "./change-set.js";
5
6
  const PRIMARY_WATCHER = Symbol("primary-watcher");
6
7
  export class WatchManager {
@@ -75,6 +76,12 @@ export class WatchManager {
75
76
  await Promise.allSettled([...this.inflightFlushes]);
76
77
  await this.startFlush();
77
78
  }
79
+ async refreshPaths() {
80
+ if (this.closed || this.directoryWatchers.size === 0) {
81
+ return;
82
+ }
83
+ await this.refreshDirectoryTree(this.options.root, this.options.watchFactory ?? watch);
84
+ }
78
85
  checkForResume(now = Date.now()) {
79
86
  const thresholdMs = this.options.resumeThresholdMs ?? 90_000;
80
87
  if (now - this.lastResumeCheckAt > thresholdMs) {
@@ -93,14 +100,23 @@ export class WatchManager {
93
100
  if (this.closed) {
94
101
  return;
95
102
  }
103
+ if (!info && eventType === "rename") {
104
+ this.removeDirectoryWatchers(path);
105
+ }
106
+ if (!(await this.shouldTrackPath(path, info?.isDirectory() === true))) {
107
+ return;
108
+ }
109
+ if (this.closed) {
110
+ return;
111
+ }
96
112
  if (info?.isDirectory() && eventType === "rename") {
97
113
  void this.watchDirectoryTree(path, factory);
98
114
  }
99
- else if (!info && eventType === "rename") {
100
- this.removeDirectoryWatchers(path);
101
- }
102
115
  this.changes.add(path, info ? (eventType === "rename" ? "created" : "changed") : "deleted", info?.isDirectory());
103
116
  this.scheduleFlush();
117
+ if (basename(path) === ".gitignore") {
118
+ await this.refreshDirectoryTree(dirname(path), factory);
119
+ }
104
120
  }
105
121
  queueRecord(path, eventType, factory) {
106
122
  const pending = this.recordPath(path, eventType, factory).finally(() => {
@@ -153,7 +169,10 @@ export class WatchManager {
153
169
  }
154
170
  }
155
171
  newChangeSet() {
156
- return new ChangeSet({ maxChangedPaths: this.options.maxChangedPaths });
172
+ return new ChangeSet({
173
+ root: this.options.root,
174
+ maxChangedPaths: this.options.maxChangedPaths,
175
+ });
157
176
  }
158
177
  startFlush() {
159
178
  const flush = this.flush().finally(() => this.inflightFlushes.delete(flush));
@@ -243,36 +262,64 @@ export class WatchManager {
243
262
  }
244
263
  async watchDirectoryTree(directory, factory) {
245
264
  if (this.closed ||
246
- this.watchedDirectories.has(directory) ||
247
265
  basename(directory) === ".git" ||
248
266
  basename(directory) === ".zvec-grep") {
249
267
  return;
250
268
  }
251
- this.watchedDirectories.add(directory);
252
- try {
253
- this.addWatcher(factory(directory, { recursive: false }, (eventType, filename) => {
254
- if (!filename || this.closed) {
255
- this.queueFullReconcile();
256
- return;
257
- }
258
- this.queueRecord(join(directory, filename.toString()), eventType, factory);
259
- }), factory, directory);
260
- }
261
- catch {
262
- this.watchedDirectories.delete(directory);
263
- this.queueFullReconcile();
269
+ if (!(await this.shouldTrackPath(directory, true))) {
264
270
  return;
265
271
  }
272
+ if (!this.watchedDirectories.has(directory)) {
273
+ this.watchedDirectories.add(directory);
274
+ try {
275
+ this.addWatcher(factory(directory, { recursive: false }, (eventType, filename) => {
276
+ if (!filename || this.closed) {
277
+ this.queueFullReconcile();
278
+ return;
279
+ }
280
+ this.queueRecord(join(directory, filename.toString()), eventType, factory);
281
+ }), factory, directory);
282
+ }
283
+ catch {
284
+ this.watchedDirectories.delete(directory);
285
+ this.queueFullReconcile();
286
+ return;
287
+ }
288
+ }
266
289
  const entries = await readdir(directory, { withFileTypes: true }).catch(() => []);
267
290
  await Promise.all(entries
268
291
  .filter((entry) => entry.isDirectory())
269
292
  .map((entry) => this.watchDirectoryTree(join(directory, entry.name), factory)));
270
293
  }
271
- removeDirectoryWatchers(path) {
294
+ async shouldTrackPath(path, isDirectory) {
295
+ if (basename(path) === ".gitignore") {
296
+ return true;
297
+ }
298
+ try {
299
+ const rootPaths = this.options.getRootPaths?.();
300
+ return rootPaths
301
+ ? await pathCanAffectIndex(rootPaths, path, isDirectory)
302
+ : true;
303
+ }
304
+ catch {
305
+ // Filtering must fail open so an unreadable rule file cannot hide a
306
+ // change that the indexer still needs to reconcile.
307
+ return true;
308
+ }
309
+ }
310
+ async refreshDirectoryTree(directory, factory) {
311
+ if (this.directoryWatchers.size === 0) {
312
+ return;
313
+ }
314
+ this.removeDirectoryWatchers(directory, false);
315
+ await this.watchDirectoryTree(directory, factory);
316
+ }
317
+ removeDirectoryWatchers(path, includePath = true) {
272
318
  for (const [directory, watcher] of this.directoryWatchers) {
273
319
  const pathFromDeleted = relative(path, directory);
274
- if (pathFromDeleted === "" ||
320
+ if ((includePath && pathFromDeleted === "") ||
275
321
  (!isAbsolute(pathFromDeleted) &&
322
+ pathFromDeleted !== "" &&
276
323
  !pathFromDeleted.startsWith(`..${sep}`) &&
277
324
  pathFromDeleted !== "..")) {
278
325
  watcher.close();
@@ -1 +1 @@
1
- {"version":3,"file":"watch-manager.js","sourceRoot":"","sources":["../../src/daemon/watch-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch-manager.js","sourceRoot":"","sources":["../../src/daemon/watch-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const STRUCTURED_CODE_FORMATS: readonly ["c", "cpp", "go", "java", "javascript", "jsx", "python", "rust", "tsx", "typescript"];
2
+ export type StructuredCodeFormat = (typeof STRUCTURED_CODE_FORMATS)[number];
3
+ export declare const COMPONENT_CODE_FORMATS: readonly ["vue", "svelte"];
@@ -0,0 +1,14 @@
1
+ export const STRUCTURED_CODE_FORMATS = [
2
+ "c",
3
+ "cpp",
4
+ "go",
5
+ "java",
6
+ "javascript",
7
+ "jsx",
8
+ "python",
9
+ "rust",
10
+ "tsx",
11
+ "typescript",
12
+ ];
13
+ export const COMPONENT_CODE_FORMATS = ["vue", "svelte"];
14
+ //# sourceMappingURL=code-formats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-formats.js","sourceRoot":"","sources":["../../src/engine/code-formats.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,GAAG;IACH,KAAK;IACL,IAAI;IACJ,MAAM;IACN,YAAY;IACZ,KAAK;IACL,QAAQ;IACR,MAAM;IACN,KAAK;IACL,YAAY;CACJ,CAAC;AAIX,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAU,CAAC"}
@@ -19,6 +19,6 @@ const ADAPTERS = {
19
19
  typescript: TYPESCRIPT_ADAPTER,
20
20
  };
21
21
  export function resolveAdapter(format) {
22
- return ADAPTERS[format] ?? null;
22
+ return format in ADAPTERS ? ADAPTERS[format] : null;
23
23
  }
24
24
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/engine/extraction/code/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAyB/D,MAAM,QAAQ,GAAoC;IAChD,CAAC,EAAE,SAAS;IACZ,GAAG,EAAE,WAAW;IAChB,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,YAAY;IAClB,UAAU,EAAE,kBAAkB;IAC9B,GAAG,EAAE,kBAAkB;IACvB,MAAM,EAAE,cAAc;IACtB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,kBAAkB;IACvB,UAAU,EAAE,kBAAkB;CAC/B,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/engine/extraction/code/adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAyB/D,MAAM,QAAQ,GAAG;IACf,CAAC,EAAE,SAAS;IACZ,GAAG,EAAE,WAAW;IAChB,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,YAAY;IAClB,UAAU,EAAE,kBAAkB;IAC9B,GAAG,EAAE,kBAAkB;IACvB,MAAM,EAAE,cAAc;IACtB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,kBAAkB;IACvB,UAAU,EAAE,kBAAkB;CACyB,CAAC;AAE1D,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAA8B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC"}
@@ -3,6 +3,11 @@ import { type Source } from "../source.js";
3
3
  import type { ChunkOptions } from "../types.js";
4
4
  export declare class CodeExtractor {
5
5
  extract(source: Source, options?: ChunkOptions): Promise<EntityFragment[]>;
6
+ extractForIndexing(source: Source, options?: ChunkOptions): Promise<PreparedCodeFragment[]>;
6
7
  private fallback;
7
8
  private extractScriptBlocks;
8
9
  }
10
+ export type PreparedCodeFragment = {
11
+ fragment: EntityFragment;
12
+ embeddingText?: string;
13
+ };