indexer-cli 0.12.28 → 0.12.29

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
@@ -153,6 +153,13 @@ matching files from discovery output such as `idx architecture` and `idx structu
153
153
  If you run `idx index` from a subdirectory of an initialized project, the CLI automatically reuses the initialized
154
154
  project root. If no `.indexer-cli/` data exists yet, it stops and tells you to run `idx init` first.
155
155
 
156
+ Only one indexing process writes at a time. Discovery commands that auto-index, such as `idx search`, `idx structure`,
157
+ `idx architecture`, `idx explain`, and `idx deps`, wait up to 10 seconds when another process holds the index lock. If
158
+ the lock is still held and a completed snapshot already exists, they continue with that existing index and print an
159
+ `IDX stale reason=lock-held action=using-existing-index` diagnostic. If the lock file itself is older than the stale
160
+ threshold, the diagnostic uses `reason=stale-lock`; read commands still do not remove or recover the lock. Run
161
+ `idx index` to recover or rebuild when there is no completed snapshot to fall back to.
162
+
156
163
  | Option | Description |
157
164
  |-------------|------------------------------------------------------------|
158
165
  | `--full` | Force a full reindex instead of incremental |
@@ -8,6 +8,11 @@ export type AutoIndexResult = {
8
8
  removed?: number;
9
9
  errors?: number;
10
10
  ms: number;
11
+ } | {
12
+ status: "stale";
13
+ reason: string;
14
+ action?: string;
15
+ ms: number;
11
16
  } | {
12
17
  status: "failed";
13
18
  reason: string;
@@ -16,4 +21,6 @@ export type AutoIndexResult = {
16
21
  };
17
22
  export declare function ensureIndexed(metadata: SqliteMetadataStore, repoRoot: string, options?: {
18
23
  silent?: boolean;
24
+ lockWaitMs?: number;
25
+ lockRetryIntervalMs?: number;
19
26
  }): Promise<AutoIndexResult>;
@@ -34,6 +34,8 @@ const INDEXED_EXTENSIONS = new Set([
34
34
  ".gd",
35
35
  ".rb",
36
36
  ]);
37
+ const READ_COMMAND_LOCK_WAIT_MS = 10_000;
38
+ const READ_COMMAND_LOCK_RETRY_MS = 500;
37
39
  function getErrorMessage(error) {
38
40
  if (error instanceof Error) {
39
41
  return error.message || error.name;
@@ -102,6 +104,35 @@ function countChangedFiles(changedFiles) {
102
104
  function countRemovedFiles(changedFiles) {
103
105
  return changedFiles?.deleted.length;
104
106
  }
107
+ async function useExistingIndexOnLockHeld(metadata, repoRoot, options) {
108
+ const completedSnapshot = await metadata.getLatestCompletedSnapshot(types_js_1.DEFAULT_PROJECT_ID);
109
+ const getLockStatus = options.getLockStatus ?? lock_js_1.getIndexLockStatus;
110
+ const lockStatus = await getLockStatus(repoRoot);
111
+ const reason = lockStatus.status === "stale" ? "stale-lock" : "lock-held";
112
+ if (completedSnapshot) {
113
+ if (!options.silent) {
114
+ const detail = reason === "stale-lock"
115
+ ? "stale index lock detected"
116
+ : "another process is still indexing";
117
+ console.error(`Using existing completed index: ${detail}.`);
118
+ }
119
+ return {
120
+ status: "stale",
121
+ reason,
122
+ action: "using-existing-index",
123
+ ms: Date.now() - options.startedAt,
124
+ };
125
+ }
126
+ if (!options.silent) {
127
+ console.error("Cannot use existing index: another process is indexing and no completed snapshot exists.");
128
+ }
129
+ return {
130
+ status: "failed",
131
+ reason,
132
+ action: "run-idx-index",
133
+ ms: Date.now() - options.startedAt,
134
+ };
135
+ }
105
136
  function touchesRootGitignore(changedFiles) {
106
137
  return [
107
138
  ...changedFiles.added,
@@ -215,22 +246,17 @@ async function ensureIndexed(metadata, repoRoot, options) {
215
246
  let release = null;
216
247
  try {
217
248
  release = await (0, lock_js_1.acquireIndexLock)(repoRoot, {
218
- waitMs: 30_000,
219
- retryIntervalMs: 500,
249
+ waitMs: options?.lockWaitMs ?? READ_COMMAND_LOCK_WAIT_MS,
250
+ retryIntervalMs: options?.lockRetryIntervalMs ?? READ_COMMAND_LOCK_RETRY_MS,
220
251
  });
221
252
  }
222
253
  catch (error) {
223
254
  const message = error instanceof Error ? error.message : String(error);
224
255
  if (message.includes("already in progress")) {
225
- if (!silent) {
226
- console.error("Skipping auto-index: another process holds the lock.");
227
- }
228
- return {
229
- status: "failed",
230
- reason: "lock-held",
231
- action: "retry",
232
- ms: Date.now() - ensureStartedAt,
233
- };
256
+ return useExistingIndexOnLockHeld(metadata, repoRoot, {
257
+ silent,
258
+ startedAt: ensureStartedAt,
259
+ });
234
260
  }
235
261
  throw error;
236
262
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-indexed.js","sourceRoot":"","sources":["../../../src/cli/commands/ensure-indexed.ts"],"names":[],"mappings":";;;;;AAsSA,sCA+JC;AArcD,+CAA4C;AAC5C,0DAA6B;AAC7B,yCAAoC;AACpC,oDAA8C;AAC9C,gDAAsD;AAEtD,kDAAyD;AACzD,yDAAoE;AACpE,gDAA0D;AAC1D,gDAAoD;AACpD,wDAGiC;AACjC,wDAA2D;AAC3D,iDAAkD;AAClD,yDAAgE;AAKhE,0EAA0E;AAC1E,6EAA6E;AAC7E,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IAClC,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;CACL,CAAC,CAAC;AAkBH,SAAS,eAAe,CAAC,KAAc;IACtC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,OAAO,OAAO,CAAC;QAChB,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE7C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,OAAO,GAAY,KAAK,CAAC;IAE7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,OAAO,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,SAAS,GACd,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;QAErE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrD,MAAM;QACP,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACxC,MAAM;QACP,CAAC;QAED,OAAO,GAAG,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,oBAAoB,CAC5B,KAAc,EACd,IAA4B;IAE5B,OAAO,+BAA+B,IAAI,aAAa,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,iBAAiB,CAAC,YAAiC;IAC3D,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IACpC,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;AACjE,CAAC;AAED,SAAS,iBAAiB,CAAC,YAAiC;IAC3D,OAAO,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC;AACrC,CAAC;AAED,SAAS,oBAAoB,CAAC,YAAqB;IAClD,OAAO;QACN,GAAG,YAAY,CAAC,KAAK;QACrB,GAAG,YAAY,CAAC,QAAQ;QACxB,GAAG,YAAY,CAAC,OAAO;KACvB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,YAAY,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,kCAAkC,CAChD,QAA6B,EAC7B,QAAgB,EAChB,QAAkB;IAElB,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,QAAQ,CAAC,SAAS,CAAC,6BAAkB,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnD,IAAA,6BAAgB,EAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YAC1D,YAAY,EAAE,kBAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC;SAC7C,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,IAAI,GAAG,CAC5B,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAC1D,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,GAAG,CAC3B,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAC5D,CAAC;IAEF,IAAI,aAAa,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAE3D,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;IAC/C,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,uBAAuB,CACrC,QAA6B,EAC7B,QAAgB,EAChB,QAAkB,EAClB,gBAAyB;IAEzB,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5C,MAAM,sBAAsB,GAAG,MAAM,kCAAkC,CACtE,QAAQ,EACR,QAAQ,EACR,QAAQ,CACR,CAAC;QACF,IAAI,CAAC,sBAAsB;YAAE,OAAO,KAAK,CAAC;IAC3C,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;QACjD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC9D,SAAS,CAAC,gEAAgE;QAC3E,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CACpC,6BAAkB,EAClB,QAAQ,CAAC,EAAE,EACX,QAAQ,CACR,CAAC;QACF,IAAI,MAAM;YAAE,OAAO,KAAK,CAAC,CAAC,sCAAsC;IACjE,CAAC;IAED,MAAM,YAAY,GAAG;QACpB,GAAG,gBAAgB,CAAC,QAAQ;QAC5B,GAAG,gBAAgB,CAAC,KAAK;KACzB,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3C,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACrC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC9D,SAAS,CAAC,gEAAgE;QAC3E,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CACpC,6BAAkB,EAClB,QAAQ,CAAC,EAAE,EACX,QAAQ,CACR,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC,CAAC,4BAA4B;QAEvD,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACJ,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,mBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC,CAAC,aAAa;QAC5B,CAAC;QAED,IAAI,IAAA,qBAAW,EAAC,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;IAC1D,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,KAAK,UAAU,YAAY,CAC1B,GAAwB,EACxB,QAAgB,EAChB,QAA6B,EAC7B,QAA8B;IAE9B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;IACzD,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,gBAAgB,GACrB,UAAU,IAAI,UAAU,KAAK,QAAQ,CAAC,IAAI,CAAC,UAAU;QACpD,CAAC,CAAC,MAAM,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;QAC/D,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAA,sBAAa,EAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACvE,MAAM,UAAU,GACf,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAC7B,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAChC,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAEjC,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,sEAAsE;IACtE,sEAAsE;IACtE,MAAM,kBAAkB,GACvB,gBAAgB,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QACnC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QACtC,gBAAgB,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IAEvC,IAAI,kBAAkB,EAAE,CAAC;QACxB,MAAM,cAAc,GAAG,MAAM,uBAAuB,CACnD,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,gBAAgB,CAChB,CAAC;QACF,IAAI,cAAc;YAAE,OAAO,IAAI,CAAC;IACjC,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAC/C,CAAC;AAEM,KAAK,UAAU,aAAa,CAClC,QAA6B,EAC7B,QAAgB,EAChB,OAEC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,4BAAmB,EAAE,CAAC;IACtC,MAAM,QAAQ,GACb,CAAC,MAAM,QAAQ,CAAC,0BAA0B,CAAC,6BAAkB,CAAC,CAAC;QAC/D,SAAS,CAAC;IACX,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAExE,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;IAC7D,CAAC;IAED,IAAI,OAAO,GAAiC,IAAI,CAAC;IACjD,IAAI,CAAC;QACJ,OAAO,GAAG,MAAM,IAAA,0BAAgB,EAAC,QAAQ,EAAE;YAC1C,MAAM,EAAE,MAAM;YACd,eAAe,EAAE,GAAG;SACpB,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YACvE,CAAC;YACD,OAAO;gBACN,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,OAAO;gBACf,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe;aAChC,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC;IACb,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,eAAe,GACpB,CAAC,MAAM,QAAQ,CAAC,0BAA0B,CAAC,6BAAkB,CAAC,CAAC;YAC/D,SAAS,CAAC;QACX,MAAM,WAAW,GAAG,MAAM,YAAY,CACrC,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,eAAe,CACf,CAAC;QAEF,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;QAC7D,CAAC;QAED,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,iCAAoB,CAAC;YACxC,MAAM;YACN,UAAU,EAAE,kBAAM,CAAC,GAAG,CAAC,YAAY,CAAC;SACpC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,QAAQ,GAAG,IAAI,mCAAuB,CAC3C,kBAAM,CAAC,GAAG,CAAC,eAAe,CAAC,EAC3B,kBAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAC5B,kBAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAC5B,kBAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAC9B,kBAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAC1B,CAAC;QAEF,IAAI,MAAM,GAAyB,IAAI,CAAC;QAExC,IAAI,CAAC;YACJ,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;YAE5B,MAAM,GAAG,IAAI,0BAAa,CAAC;gBAC1B,SAAS,EAAE,6BAAkB;gBAC7B,QAAQ;gBACR,QAAQ;gBACR,OAAO;gBACP,QAAQ;gBACR,GAAG;gBACH,eAAe,EAAE,IAAA,yCAA4B,GAAE;aAC/C,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAErD,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;YAChE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBACxC,SAAS,EAAE,6BAAkB;gBAC7B,QAAQ;gBACR,MAAM,EAAE,UAAU,IAAI,SAAS;gBAC/B,aAAa,EAAE,WAAW,CAAC,aAAa;gBACxC,YAAY,EAAE,WAAW,CAAC,YAAY;gBACtC,WAAW,EACV,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa;oBACnC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;wBAC7B,OAAO,CAAC,KAAK,CAAC,MAAM,OAAO,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC,CAAC;oBACtD,CAAC;gBACJ,UAAU,EAAE,MAAM;oBACjB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;wBACrB,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,KAAK,WAAW,CAAC,CAAC;oBACnD,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACzC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;gBAC7C,SAAS,EAAE,6BAAkB;gBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;aAC7B,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAChC,OAAO,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBACzD,OAAO,CAAC,KAAK,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;gBACjD,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpE,CAAC;YAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnC,OAAO,CAAC,KAAK,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC;gBACpC,CAAC;YACF,CAAC;YAED,OAAO;gBACN,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,WAAW,CAAC,aAAa;oBAC/B,CAAC,CAAC,MAAM,CAAC,YAAY;oBACrB,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,YAAY,CAAC;gBAC9C,OAAO,EAAE,WAAW,CAAC,aAAa;oBACjC,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,YAAY,CAAC;gBAC9C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBACnE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe;aAChC,CAAC;QACH,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACd,oBAAoB,CACnB,UAAU,EACV,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAClD,EACD,EAAE,KAAK,EAAE,UAAU,EAAE,CACrB,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;YAAS,CAAC;QACV,MAAM,OAAO,EAAE,CAAC;IACjB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"ensure-indexed.js","sourceRoot":"","sources":["../../../src/cli/commands/ensure-indexed.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ Pick the single cheapest command that answers the question, run it, and stop whe
27
27
 
28
28
  - Start with exactly **ONE** idx command. Each idx result is large; parallel or overlapping discovery burns tokens on duplicate context.
29
29
  - Prefer the cheapest route that fits the question. Only run a second idx command if the first clearly failed or left a specific gap.
30
+ - Discovery commands may auto-index first. If another process is indexing, they wait briefly and then use the latest completed index when one exists.
30
31
  - Use \`--path-prefix\` whenever the subsystem is known, e.g. \`src/api/\`, \`src/auth/\`.
31
32
  - For \`idx structure\`, also narrow with \`--kind\` when possible.
32
33
  - \`idx architecture\` and \`idx structure\` hide paths matching configured \`visibilityExcludePaths\` (fixtures/vendor by default); this affects discovery output, not indexing.
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/cli/commands/skills.ts"],"names":[],"mappings":";;;AAMA,SAAS,8BAA8B;IACtC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqHP,CAAC;AACF,CAAC;AAEY,QAAA,gBAAgB,GAAqB;IACjD;QACC,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,8BAA8B,EAAE;KACzC;CACD,CAAC;AAEW,QAAA,4BAA4B,GAAG;IAC3C,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;CAClB,CAAC;AAEW,QAAA,2BAA2B,GAAG,wBAAgB,CAAC,GAAG,CAC9D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAC1B,CAAC"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/cli/commands/skills.ts"],"names":[],"mappings":";;;AAMA,SAAS,8BAA8B;IACtC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsHP,CAAC;AACF,CAAC;AAEY,QAAA,gBAAgB,GAAqB;IACjD;QACC,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,8BAA8B,EAAE;KACzC;CACD,CAAC;AAEW,QAAA,4BAA4B,GAAG;IAC3C,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;CAClB,CAAC;AAEW,QAAA,2BAA2B,GAAG,wBAAgB,CAAC,GAAG,CAC9D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAC1B,CAAC"}
@@ -18,6 +18,12 @@ function formatAutoIndexResult(result) {
18
18
  parts.push(`errors=${result.errors}`);
19
19
  }
20
20
  }
21
+ if (result.status === "stale") {
22
+ parts.push(`reason=${sanitizeValue(result.reason)}`);
23
+ if (result.action) {
24
+ parts.push(`action=${sanitizeValue(result.action)}`);
25
+ }
26
+ }
21
27
  if (result.status === "failed") {
22
28
  parts.push(`reason=${sanitizeValue(result.reason)}`);
23
29
  if (result.action) {
@@ -1 +1 @@
1
- {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../../src/cli/format/compact.ts"],"names":[],"mappings":";;AAOA,sDA2BC;AAhCD,SAAS,aAAa,CAAC,KAAa;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAAuB;IAC5D,MAAM,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,UAAU,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,UAAU,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;IACF,CAAC;IAED,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../../src/cli/format/compact.ts"],"names":[],"mappings":";;AAOA,sDAkCC;AAvCD,SAAS,aAAa,CAAC,KAAa;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAAuB;IAC5D,MAAM,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,UAAU,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,UAAU,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;IACF,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,UAAU,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,UAAU,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;IACF,CAAC;IAED,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC"}
@@ -4,6 +4,19 @@ export declare function acquireIndexLock(projectRoot: string, options?: {
4
4
  retryIntervalMs?: number;
5
5
  staleMs?: number;
6
6
  }): Promise<() => Promise<void>>;
7
+ export declare function getIndexLockStatus(projectRoot: string, options?: {
8
+ staleMs?: number;
9
+ }): Promise<{
10
+ status: "unlocked";
11
+ } | {
12
+ status: "locked";
13
+ lockPath: string;
14
+ ageMs: number;
15
+ } | {
16
+ status: "stale";
17
+ lockPath: string;
18
+ ageMs: number;
19
+ }>;
7
20
  export declare function getActiveIndexingInfo(metadata: SqliteMetadataStore, projectId: string): Promise<{
8
21
  snapshotId: string;
9
22
  startedAt: number;
package/dist/core/lock.js CHANGED
@@ -37,7 +37,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.acquireIndexLock = acquireIndexLock;
40
+ exports.getIndexLockStatus = getIndexLockStatus;
40
41
  exports.getActiveIndexingInfo = getActiveIndexingInfo;
42
+ const promises_1 = require("node:fs/promises");
41
43
  const node_path_1 = __importDefault(require("node:path"));
42
44
  const lockfile = __importStar(require("proper-lockfile"));
43
45
  const logger_js_1 = require("./logger.js");
@@ -45,8 +47,14 @@ const logger = new logger_js_1.SystemLogger("lock");
45
47
  const LOCK_DIR = ".indexer-cli";
46
48
  const LOCK_FILE = "indexer.lock";
47
49
  const DEFAULT_STALE_MS = 10 * 60 * 1000;
50
+ function getLockDir(projectRoot) {
51
+ return node_path_1.default.join(projectRoot, LOCK_DIR);
52
+ }
53
+ function getLockFilePath(projectRoot) {
54
+ return node_path_1.default.join(getLockDir(projectRoot), LOCK_FILE);
55
+ }
48
56
  async function acquireIndexLock(projectRoot, options) {
49
- const lockDir = node_path_1.default.join(projectRoot, LOCK_DIR);
57
+ const lockDir = getLockDir(projectRoot);
50
58
  const staleMs = options?.staleMs ?? DEFAULT_STALE_MS;
51
59
  const lockOptions = {
52
60
  stale: staleMs,
@@ -68,7 +76,7 @@ async function acquireIndexLock(projectRoot, options) {
68
76
  try {
69
77
  const release = await lockfile.lock(lockDir, {
70
78
  ...lockOptions,
71
- lockfilePath: node_path_1.default.join(lockDir, LOCK_FILE),
79
+ lockfilePath: getLockFilePath(projectRoot),
72
80
  });
73
81
  logger.info("[lock] Acquired index lock");
74
82
  return release;
@@ -80,6 +88,34 @@ async function acquireIndexLock(projectRoot, options) {
80
88
  `(${message})`);
81
89
  }
82
90
  }
91
+ async function getIndexLockStatus(projectRoot, options) {
92
+ const staleMs = options?.staleMs ?? DEFAULT_STALE_MS;
93
+ const lockDir = getLockDir(projectRoot);
94
+ const lockPath = getLockFilePath(projectRoot);
95
+ let ageMs;
96
+ try {
97
+ const lockStat = await (0, promises_1.stat)(lockPath);
98
+ ageMs = Math.max(0, Date.now() - lockStat.mtimeMs);
99
+ }
100
+ catch {
101
+ return { status: "unlocked" };
102
+ }
103
+ if (ageMs > staleMs) {
104
+ return { status: "stale", lockPath, ageMs };
105
+ }
106
+ try {
107
+ const locked = await lockfile.check(lockDir, {
108
+ stale: staleMs,
109
+ lockfilePath: lockPath,
110
+ });
111
+ return locked
112
+ ? { status: "locked", lockPath, ageMs }
113
+ : { status: "unlocked" };
114
+ }
115
+ catch {
116
+ return { status: "locked", lockPath, ageMs };
117
+ }
118
+ }
83
119
  async function getActiveIndexingInfo(metadata, projectId) {
84
120
  const snapshot = await metadata.getLatestSnapshot(projectId);
85
121
  if (snapshot?.status === "indexing") {
@@ -1 +1 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/core/lock.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,4CAiDC;AACD,sDAaC;AA3ED,0DAA6B;AAC7B,0DAA4C;AAE5C,2CAA2C;AAE3C,MAAM,MAAM,GAAG,IAAI,wBAAY,CAAC,MAAM,CAAC,CAAC;AAExC,MAAM,QAAQ,GAAG,cAAc,CAAC;AAChC,MAAM,SAAS,GAAG,cAAc,CAAC;AAEjC,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEjC,KAAK,UAAU,gBAAgB,CACrC,WAAmB,EACnB,OAIC;IAED,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,gBAAgB,CAAC;IAErD,MAAM,WAAW,GAAyB;QACzC,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,MAAM;QACd,aAAa,EAAE,CAAC,GAAU,EAAE,EAAE;YAC7B,MAAM,CAAC,KAAK,CACX,wEAAwE,EACxE;gBACC,OAAO,EAAE,GAAG,CAAC,OAAO;aACpB,CACD,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,MAAM;YACvB,CAAC,CAAC;gBACA,OAAO,EAAE,IAAI,CAAC,IAAI,CACjB,OAAO,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,CAClD;gBACD,UAAU,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;gBAC3C,UAAU,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;aAC3C;YACF,CAAC,CAAC,CAAC;KACJ,CAAC;IAEF,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;YAC5C,GAAG,WAAW;YACd,YAAY,EAAE,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;SAC3C,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CACd,sDAAsD;YACrD,2CAA2C,QAAQ,IAAI,SAAS,IAAI;YACpE,IAAI,OAAO,GAAG,CACf,CAAC;IACH,CAAC;AACF,CAAC;AACM,KAAK,UAAU,qBAAqB,CAC1C,QAA6B,EAC7B,SAAiB;IAEjB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7D,IAAI,QAAQ,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;QACrC,OAAO;YACN,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC7B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/core/lock.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const SKILLS_VERSION = 444942943;
1
+ export declare const SKILLS_VERSION = 2214159665;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SKILLS_VERSION = void 0;
4
- exports.SKILLS_VERSION = 444942943;
4
+ exports.SKILLS_VERSION = 2214159665;
5
5
  //# sourceMappingURL=skills-version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills-version.js","sourceRoot":"","sources":["../../src/core/skills-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"skills-version.js","sourceRoot":"","sources":["../../src/core/skills-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "indexer-cli",
3
- "version": "0.12.28",
3
+ "version": "0.12.29",
4
4
  "description": "Lightweight CLI project indexer with semantic search via Ollama",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",