lmgrep 0.1.9 → 0.1.11

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
@@ -133,6 +133,68 @@ lmgrep includes an MCP server for use with AI coding assistants. When launched w
133
133
 
134
134
  You can also start it explicitly with `lmgrep mcp`.
135
135
 
136
+ ### Claude Code
137
+
138
+ ```sh
139
+ # If lmgrep is installed globally
140
+ claude mcp add lmgrep -s user -- lmgrep mcp
141
+
142
+ # Or without a global install
143
+ claude mcp add lmgrep -s user -- npx -y lmgrep mcp
144
+ ```
145
+
146
+ ### Codex CLI
147
+
148
+ ```sh
149
+ # If lmgrep is installed globally
150
+ codex mcp add lmgrep -- lmgrep mcp
151
+
152
+ # Or without a global install
153
+ codex mcp add lmgrep -- npx -y lmgrep mcp
154
+ ```
155
+
156
+ ### Gemini CLI
157
+
158
+ ```sh
159
+ # If lmgrep is installed globally
160
+ gemini mcp add lmgrep -- lmgrep mcp
161
+
162
+ # Or without a global install
163
+ gemini mcp add lmgrep -- npx -y lmgrep mcp
164
+ ```
165
+
166
+ ### Pi coding agent
167
+
168
+ Pi doesn't speak MCP — it uses TypeScript extensions instead. lmgrep ships one at [`pi-extension/`](./pi-extension) that registers two tools: `lmgrep_search` and `lmgrep_list_other_indexed_projects`. It imports lmgrep directly, runs an in-process file watcher to keep the index fresh, and gates tool visibility on embedder health — if lmgrep isn't configured, or the embedding provider is unreachable, the tools stay hidden so you get a clean tool surface instead of a broken one. Configure lmgrep first (`lmgrep init`) before relying on it inside Pi.
169
+
170
+ Install via Pi's package manager:
171
+
172
+ ```sh
173
+ pi install git:github.com/Aetherall/lmgrep
174
+ ```
175
+
176
+ Update with `pi update`, remove with `pi remove git:github.com/Aetherall/lmgrep`, and list installed extensions with `pi list`.
177
+
178
+ ### OpenCode
179
+
180
+ OpenCode has no one-shot install flag — add an entry to `~/.config/opencode/opencode.json` (or project-level `opencode.json`):
181
+
182
+ ```jsonc
183
+ {
184
+ "$schema": "https://opencode.ai/config.json",
185
+ "mcp": {
186
+ "lmgrep": {
187
+ "type": "local",
188
+ // If lmgrep is installed globally
189
+ "command": ["lmgrep", "mcp"],
190
+ // Or without a global install
191
+ // "command": ["npx", "-y", "lmgrep", "mcp"],
192
+ "enabled": true
193
+ }
194
+ }
195
+ }
196
+ ```
197
+
136
198
  The MCP server exposes a `search` tool and a `list_other_indexed_projects` tool. It automatically watches for file changes and keeps the index up to date.
137
199
 
138
200
  ## Configuration
package/dist/cli.js CHANGED
@@ -162,6 +162,16 @@ program
162
162
  else {
163
163
  console.log(` FAILED`);
164
164
  }
165
+ console.log(`\nSearch check:`);
166
+ if (info.searchOk) {
167
+ console.log(` OK (${info.searchResultCount} result, ${info.searchLatencyMs}ms)`);
168
+ }
169
+ else if (info.embeddingOk && info.fileCount > 0) {
170
+ console.log(` FAILED (query returned no results)`);
171
+ }
172
+ else {
173
+ console.log(` SKIPPED`);
174
+ }
165
175
  if (processes.length > 0) {
166
176
  console.log(`\nRunning processes:`);
167
177
  for (const proc of processes) {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACN,YAAY,EACZ,aAAa,EACb,UAAU,EACV,MAAM,EACN,SAAS,GACT,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACN,KAAK,EACL,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GACxB,MAAM,gBAAgB,CAAC;AAExB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACL,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,qDAAqD,CAAC;KAClE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEnB,OAAO;KACL,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,aAAa,EAAE,oCAAoC,CAAC;KAC3D,MAAM,CAAC,eAAe,EAAE,4BAA4B,CAAC;KACrD,MAAM,CACN,wBAAwB,EACxB,iEAAiE,CACjE;KACA,MAAM,CACN,aAAa,EACb,+DAA+D,CAC/D;KACA,MAAM,CAAC,WAAW,EAAE,sDAAsD,CAAC;KAC3E,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,CAAC,KAAK,CAAC;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,EAAE,IAAI,CAAC,GAAG;KACb,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,IAAI,CAAC;KAC9C,MAAM,CAAC,UAAU,EAAE,uBAAuB,CAAC;KAC3C,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC;KAC3C,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC;KAC1C,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;KACpD,MAAM,CACN,wBAAwB,EACxB,6CAA6C,CAC7C;KACA,MAAM,CAAC,eAAe,EAAE,uCAAuC,CAAC;KAChE,MAAM,CACN,gBAAgB,EAChB,yDAAyD,CACzD;KACA,MAAM,CACN,oBAAoB,EACpB,qFAAqF,CACrF;KACA,MAAM,CACN,kBAAkB,EAClB,oCAAoC,CACpC;KACA,MAAM,CACN,kBAAkB,EAClB,yDAAyD,CACzD;KACA,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;QACzC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACtC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACtB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClC,CAAC,CAAC,SAAS;QACZ,IAAI,EAAE,IAAI,CAAC,IAAI;YACd,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,CAAC,CAAC,SAAS;QACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACtB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvD,CAAC,CAAC,SAAS;QACZ,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YAClB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,CAAC,CAAC,SAAS;KACZ,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO;IACR,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;QACF,CAAC;IACF,CAAC;SAAM,CAAC;QACP,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YACjF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM;gBACxB,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;gBACnC,CAAC,CAAC,EAAE,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,EAAE,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;IACF,CAAC;IAED,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,eAAe,EAAE,yCAAyC,CAAC;KAClE,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;IAElC,MAAM,SAAS,GAAG,wBAAwB,EAAE,CAAC;IAE7C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,MAAM,GAA4B,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACnD,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,aAAa,EAAE,CAAC;YAC5D,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,cAAc,CAC7B,WAAW,EACX,YAAY,EACZ,gBAAgB,CAChB,CAAC;YACF,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ;QACvB,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;QACtB,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;QACxB,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAErD,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACrD,IAAI,IAAI,CAAC,UAAU;QAClB,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,eAAe;QACvB,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CACV,iBAAiB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,CACtD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,kBAAkB,KAAK,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC9B,MAAM,SAAS,GACd,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBACpC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACjC,KAAK,CAAC;YACP,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,SAAS,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,aAAa,EAAE,CAAC;QAC5D,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,cAAc,CAClD,WAAW,EACX,YAAY,EACZ,gBAAgB,CAChB,CAAC;QAEF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9D,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACP,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC3B,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;oBACpB,OAAO,CAAC,GAAG,CACV,eAAe,KAAK,CAAC,MAAM,GAAG,EAAE,OAAO,CACvC,CAAC;YACJ,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC9C,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC3B,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE;oBACvB,OAAO,CAAC,GAAG,CACV,eAAe,QAAQ,CAAC,MAAM,GAAG,EAAE,OAAO,CAC1C,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC5C,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC3B,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;oBACtB,OAAO,CAAC,GAAG,CACV,eAAe,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,CACzC,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CACV,+CAA+C,CAC/C,CAAC;QACH,CAAC;QACD,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACX,8DAA8D,CAC9D;KACA,MAAM,CACN,WAAW,EACX,oDAAoD,CACpD;KACA,MAAM,CAAC,QAAQ,EAAE,+BAA+B,CAAC;KACjD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,KAAK,IAAI,EAAE;IAClB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,KAAK,IAAI,EAAE;IAClB,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,KAAK,IAAI,EAAE;IAClB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC;QACxC,GAAG;QACH,UAAU,CAAC,IAAI,EAAE,KAAK;YACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC;QAC5D,CAAC;KACD,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,MAAM,IAAI,CAAC;IACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,SAAS,EAAE,2BAA2B,CAAC;KAC9C,MAAM,CACN,SAAS,EACT,gEAAgE,CAChE;KACA,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK;QAC5B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC;QAC1B,CAAC,CAAC,mBAAmB,EAAE,CAAC;IAEzB,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,CACZ,4BAA4B,UAAU,6BAA6B,CACnE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,qDAAqD;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;QAC9B,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC;QAC7B,CAAC,CAAC,SAAS,CAAC;IACb,MAAM,WAAW,GAAG,IAAI,EAAE,KAAK;QAC9B,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC,CAAC,CAAC,SAAS,CAAC;IAEb,gBAAgB;IAChB,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IAEpC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CACV,mDAAmD,CACnD,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CACV,8BAA8B,IAAK,CAAC,KAAK,MAAM,IAAK,CAAC,UAAU,SAAS,CACxE,CAAC;YACF,OAAO,CAAC,GAAG,CACV,iFAAiF,CACjF,CAAC;QACH,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,GAAG,CACV,8DAA8D,CAC9D,CAAC;QACH,CAAC;QACD,gCAAgC;QAChC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,aAAa,CAAC,UAAU,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CACV,WAAW,UAAU,+BAA+B,CACpD,CAAC;QACF,OAAO;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE7B,4DAA4D;IAC5D,IAAI,aAAiC,CAAC;IAEtC,IAAI,WAAW,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CACV,qBAAqB,IAAI,CAAC,KAAK,MAAM,WAAW,KAAK,IAAI,CAAC,UAAU,QAAQ,CAC5E,CAAC;QAEF,gDAAgD;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACjD,OAAO,MAAM,KAAK,WAAW,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,EAAE,CAAC;YAChB,aAAa,GAAG,UAAU,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,GAAG,CACV,mEAAmE,WAAW,WAAW,CACzF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,IAAI,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CACV,iDAAiD,CACjD,CAAC;QACH,CAAC;IACF,CAAC;IAED,wEAAwE;IACxE,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,mCAAmC;YACnC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACnB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACnB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACjB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACrB,CAAC;YACF,aAAa,GAAG,cAAc,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,gBAAgB,aAAa,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;IAED,MAAM,WAAW,GAAG,aAAa;QAChC,CAAC,CAAC,UAAU,aAAa,EAAE;QAC3B,CAAC,CAAC,SAAS,CAAC;IAEb,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,aAAa,CACZ,UAAU,EACV,mBAAmB,CAAC;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,WAAW;YACnB,CAAC,CAAC,2BAA2B;YAC7B,CAAC,CAAC,SAAS;KACZ,CAAC,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,GAAG,EAAE;IACZ,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CACZ,sBAAsB,UAAU,8BAA8B,CAC9D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,MAAM,GACX,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC;QACJ,QAAQ,CAAC,GAAG,MAAM,IAAI,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,CAAC,KAAK,CACZ,0BAA0B,MAAM,4BAA4B,CAC5D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,KAAK,IAAI,EAAE;IAClB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;KACtC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAE9B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO;IACR,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QAC/C,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YACnC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACpD,EAAE,CAAC,QAAQ,CACV,mBAAmB,MAAM,UAAU,EACnC,OAAO,CACP,CAAC;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1B,OAAO;QACR,CAAC;IACF,CAAC;IAED,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CACX,4EAA4E;IAC3E,2EAA2E,CAC5E;KACA,MAAM,CAAC,SAAS,EAAE,0CAA0C,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAI,EAAE,EAAE;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,+CAA+C;IAC/C,IAAI,MAAM,EAAE,CAAC;QACZ,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;gBAChC,GAAG;gBACH,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,CAAC,QAAQ,EAAE,KAAK;oBACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,gBAAgB,QAAQ,IAAI,KAAK,SAAS,CAC1C,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,IAAI;oBACV,OAAO,CAAC,GAAG,CACV,eAAe,IAAI,CAAC,UAAU,SAAS;wBACtC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC5C,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CACrD,CAAC;gBACH,CAAC;aACD,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CACV,YAAY,MAAM,CAAC,MAAM,eAAe,MAAM,CAAC,KAAK,yBAAyB,CAC7E,CAAC;YACF,OAAO;QACR,CAAC;IACF,CAAC;IAED,gCAAgC;IAChC,IAAI,UAAkB,CAAC;IACvB,MAAM,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,MAAM,EAAE,CAAC;QACZ,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACP,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,UAAU,GAAG,MAAM,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,KAAK,CACZ,gEAAgE,CAChE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAEpC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CACV,YAAY,MAAM,eAAe,KAAK,qBAAqB,UAAU,EAAE,CACvE,CAAC;IAEF,gDAAgD;IAChD,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,UAAU,EAAE,KAAK,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CACV,gCAAgC,UAAU,CAAC,KAAK,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,UAAU,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CACjI,CAAC;QACF,OAAO,CAAC,GAAG,CACV,uFAAuF,CACvF,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEJ,CAAC;IACA,MAAM,cAAc,GAAG,OAAO;SAC5B,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAE1C,4DAA4D;IAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAEvE,cAAc;SACZ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CACN,WAAW,EACX,kDAAkD,CAClD;SACA,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,MAAM,GAAG,YAAY,CAC1B,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,EAC/B,OAAO,CACP,CAAC;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAC;YAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CACZ,2DAA2D;oBAC1D,iEAAiE,CAClE,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YAC9C,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YACnD,OAAO;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oFAAoF;AACpF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5E,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;AAC1B,CAAC;KAAM,CAAC;IACP,OAAO,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC;AAED,sBAAsB;AAEtB,SAAS,oBAAoB;IAC5B,qDAAqD;IACrD,MAAM,UAAU,GAAG;QAClB,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC;QAC3D,qCAAqC;QACrC,+BAA+B;KAC/B,CAAC;IAEF,0DAA0D;IAC1D,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,QAAQ,CAAC,sBAAsB,EAAE;YAC9C,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;YACnC,OAAO,EAAE,IAAI;SACb,CAAC;aACA,QAAQ,EAAE;aACV,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACF,CAAC;IACF,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,oEAAoE;IACpE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC;YACJ,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,oBAAoB;gBACpB,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;gBACxC,OAAO,SAAS,CAAC;YAClB,CAAC;YACD,sDAAsD;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1C,OAAO,SAAS,CAAC;YAClB,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,yBAAyB;QAC1B,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,kBAAkB;AAElB,KAAK,UAAU,YAAY;IAI1B,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,iCAAiC,EAAE;YAC1D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAE7B,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACvC,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAC3B,SAAgD;IAEhD,MAAM,KAAK,GAAG,SAAS,EAAE,KAAK,CAAC;IAC/B,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC;IAEzB,MAAM,SAAS,GAAG,QAAQ;QACzB,CAAC,CAAC,UAAU,KAAK,EAAE;QACnB,CAAC,CAAC,2DAA2D,CAAC;IAC/D,MAAM,WAAW,GAAG,SAAS,EAAE,OAAO;QACrC,CAAC,CAAC,YAAY,SAAS,CAAC,OAAO,EAAE;QACjC,CAAC,CAAC,sCAAsC,CAAC;IAE1C,OAAO;;;;;;;;EAQN,SAAS;;;EAGT,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BZ,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CACtB,WAAmB,EACnB,YAAsB,EACtB,gBAAqC;IAErC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;iBACnC,MAAM,CAAC,OAAO,CAAC;iBACf,MAAM,CAAC,KAAK,CAAC;iBACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;iBAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACF,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACX,CAAC;IAED,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -108,13 +108,28 @@ export async function createIndex(options) {
108
108
  let totalChunks = 0;
109
109
  for (const [, h] of files)
110
110
  totalChunks += h.length;
111
+ // Embed once with a generic query, then reuse the vector for the
112
+ // smoke search — one network roundtrip covers both checks.
111
113
  let embeddingOk = false;
112
114
  let embeddingLatencyMs;
115
+ let searchOk = false;
116
+ let searchResultCount;
117
+ let searchLatencyMs;
113
118
  try {
114
- const start = Date.now();
115
- await embedder.embedQuery("test");
116
- embeddingLatencyMs = Date.now() - start;
119
+ const embedStart = Date.now();
120
+ const vector = await withTimeout(embedder.embedQuery("code"), 3000);
121
+ embeddingLatencyMs = Date.now() - embedStart;
117
122
  embeddingOk = true;
123
+ if (files.size > 0) {
124
+ try {
125
+ const searchStart = Date.now();
126
+ const results = await withTimeout(statusStore.search(vector, 1), 3000);
127
+ searchLatencyMs = Date.now() - searchStart;
128
+ searchResultCount = results.length;
129
+ searchOk = results.length > 0;
130
+ }
131
+ catch { }
132
+ }
118
133
  }
119
134
  catch { }
120
135
  // Read index metadata for model/dimensions info
@@ -128,6 +143,9 @@ export async function createIndex(options) {
128
143
  uniqueHashes: hashes.size,
129
144
  embeddingOk,
130
145
  embeddingLatencyMs,
146
+ searchOk,
147
+ searchResultCount,
148
+ searchLatencyMs,
131
149
  indexModel: meta?.model,
132
150
  indexDimensions: meta?.dimensions,
133
151
  };
@@ -137,6 +155,19 @@ export async function createIndex(options) {
137
155
  },
138
156
  };
139
157
  }
158
+ // --- Internal helpers ---
159
+ function withTimeout(promise, ms) {
160
+ return new Promise((resolve, reject) => {
161
+ const timer = setTimeout(() => reject(new Error(`timeout after ${ms}ms`)), ms);
162
+ promise.then((v) => {
163
+ clearTimeout(timer);
164
+ resolve(v);
165
+ }, (e) => {
166
+ clearTimeout(timer);
167
+ reject(e);
168
+ });
169
+ });
170
+ }
140
171
  function resolveSearchTargets(cwd, localStore, opts) {
141
172
  // --across: search multiple projects
142
173
  if (opts.across && opts.across.length > 0) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ const ConfigSchema = z.object({
9
9
  .regex(/^.+:.+$/, 'Model must be in "provider:model" format (e.g. "ollama:nomic-embed-text")'),
10
10
  provider: z.string().optional(),
11
11
  baseURL: z.string().url().optional(),
12
+ local: z.boolean().optional(),
12
13
  batchSize: z.number().int().positive().default(100),
13
14
  dimensions: z.number().int().positive().optional(),
14
15
  queryPrefix: z.string().optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,KAAK,EAAE,CAAC;SACN,MAAM,EAAE;SACR,KAAK,CAAC,SAAS,EAAE,2EAA2E,CAAC;IAC/F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,UAAU,EAAE,CAAC;SACX,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACvC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACvC,CAAC;SACD,QAAQ,EAAE;CACZ,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC,MAAM,QAAQ,GAAqD;IAClE,SAAS,EAAE,GAAG;CACd,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC3B,IAAI,QAAQ,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IAClC,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACnE,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACrC,qDAAqD;IACrD,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3C,IAAI,KAAK;YAAE,OAAO,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,iCAAiC;IACjC,MAAM,YAAY,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACxD,IAAI,YAAY;QAAE,OAAO,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;IAE1E,+CAA+C;IAC/C,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,KAAK;YAAE,OAAO,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,IAAI,KAAK,CACd,2EAA2E,CAC3E,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACtB,MAA+C;IAE/C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACd,4FAA4F;YAC3F,8CAA8C,CAC/C,CAAC;IACH,CAAC;IACD,OAAO,MAAsB,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,KAAK,EAAE,CAAC;SACN,MAAM,EAAE;SACR,KAAK,CAAC,SAAS,EAAE,2EAA2E,CAAC;IAC/F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACpC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,UAAU,EAAE,CAAC;SACX,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACvC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACvC,CAAC;SACD,QAAQ,EAAE;CACZ,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC,MAAM,QAAQ,GAAqD;IAClE,SAAS,EAAE,GAAG;CACd,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC3B,IAAI,QAAQ,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IAClC,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACnE,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACrC,qDAAqD;IACrD,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3C,IAAI,KAAK;YAAE,OAAO,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,iCAAiC;IACjC,MAAM,YAAY,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACxD,IAAI,YAAY;QAAE,OAAO,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;IAE1E,+CAA+C;IAC/C,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,KAAK;YAAE,OAAO,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,IAAI,KAAK,CACd,2EAA2E,CAC3E,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACtB,MAA+C;IAE/C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACd,4FAA4F;YAC3F,8CAA8C,CAC/C,CAAC;IACH,CAAC;IACD,OAAO,MAAsB,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,47 @@
1
+ export type HealthReason = "ok" | "not_indexed" | "embedding_failed" | "search_empty";
2
+ export interface HealthState {
3
+ healthy: boolean;
4
+ reason: HealthReason;
5
+ }
6
+ export interface SearchArgs {
7
+ query: string;
8
+ limit?: number;
9
+ filePrefix?: string;
10
+ type?: string[];
11
+ language?: string[];
12
+ project?: string;
13
+ }
14
+ export interface ToolResult {
15
+ text: string;
16
+ isError?: boolean;
17
+ }
18
+ export interface ParamSpec {
19
+ description: string;
20
+ }
21
+ export interface SearchParamSpecs {
22
+ query: ParamSpec;
23
+ limit: ParamSpec & {
24
+ default: number;
25
+ };
26
+ filePrefix: ParamSpec;
27
+ type: ParamSpec;
28
+ language: ParamSpec;
29
+ project: ParamSpec;
30
+ }
31
+ export declare const searchParamSpecs: SearchParamSpecs;
32
+ export declare const listProjectsDescription: string;
33
+ export interface LmgrepCore {
34
+ readonly cwd: string;
35
+ readonly searchParams: SearchParamSpecs;
36
+ readonly listProjectsDescription: string;
37
+ buildSearchDescription(): string;
38
+ currentHealth(): HealthState;
39
+ onHealthChange(cb: (state: HealthState) => void): () => void;
40
+ startHealthLoop(): void;
41
+ executeSearch(args: SearchArgs): Promise<ToolResult>;
42
+ executeListProjects(): Promise<ToolResult>;
43
+ dispose(): Promise<void>;
44
+ }
45
+ export declare function createLmgrepCore(opts: {
46
+ cwd: string;
47
+ }): Promise<LmgrepCore>;
@@ -0,0 +1,220 @@
1
+ import { existsSync } from "node:fs";
2
+ import { createIndex } from "../index.js";
3
+ import { TreeSitterChunker } from "./chunker/index.js";
4
+ import { loadConfig } from "./config.js";
5
+ import { AISDKEmbedder } from "./embedder.js";
6
+ import { startWatcher } from "./serve.js";
7
+ import { discoverIndexedProjects, findIndexedAncestor, getDbPath, Store, } from "./store.js";
8
+ import { silentLogger } from "./types.js";
9
+ export const searchParamSpecs = {
10
+ query: {
11
+ description: 'Natural-language description of what you\'re looking for — phrase it as a question or intent, not keywords. Good: "how are webhooks authenticated", "where is user deletion handled", "what happens when a record is created". Bad: "webhook auth", "deleteUser", "createRecord".',
12
+ },
13
+ limit: {
14
+ description: "Maximum number of results",
15
+ default: 10,
16
+ },
17
+ filePrefix: {
18
+ description: "Restrict to files under this path (e.g. 'src/lib')",
19
+ },
20
+ type: {
21
+ description: "AST node types to filter by (e.g. ['function_declaration', 'class_declaration'])",
22
+ },
23
+ language: {
24
+ description: "File extensions to filter by (e.g. ['.ts', '.py'])",
25
+ },
26
+ project: {
27
+ description: "Search a different indexed project by its root path instead of the current one",
28
+ },
29
+ };
30
+ export const listProjectsDescription = "List all indexed projects other than the current one. " +
31
+ "Use this to discover what projects are available for cross-project search " +
32
+ "via the `project` parameter on the search tool.";
33
+ export async function createLmgrepCore(opts) {
34
+ const cwd = opts.cwd;
35
+ const index = await createIndex({ cwd });
36
+ function isCurrentProjectIndexed() {
37
+ if (findIndexedAncestor(cwd))
38
+ return true;
39
+ return existsSync(getDbPath(cwd));
40
+ }
41
+ function getOtherProjects() {
42
+ const currentDb = getDbPath(cwd);
43
+ return discoverIndexedProjects()
44
+ .filter((p) => getDbPath(p.metadata.root) !== currentDb)
45
+ .map((p) => ({ root: p.metadata.root, remote: p.metadata.remote }));
46
+ }
47
+ async function checkHealth() {
48
+ if (!isCurrentProjectIndexed()) {
49
+ return { healthy: false, reason: "not_indexed" };
50
+ }
51
+ try {
52
+ const info = await index.status();
53
+ if (info.fileCount === 0) {
54
+ return { healthy: false, reason: "not_indexed" };
55
+ }
56
+ if (!info.embeddingOk) {
57
+ return { healthy: false, reason: "embedding_failed" };
58
+ }
59
+ if (!info.searchOk) {
60
+ return { healthy: false, reason: "search_empty" };
61
+ }
62
+ return { healthy: true, reason: "ok" };
63
+ }
64
+ catch {
65
+ return { healthy: false, reason: "embedding_failed" };
66
+ }
67
+ }
68
+ let state = isCurrentProjectIndexed()
69
+ ? { healthy: true, reason: "ok" }
70
+ : { healthy: false, reason: "not_indexed" };
71
+ const listeners = new Set();
72
+ let stopWatcher;
73
+ let pollTimer;
74
+ let disposed = false;
75
+ function tryStartWatcher() {
76
+ if (stopWatcher)
77
+ return;
78
+ if (!isCurrentProjectIndexed())
79
+ return;
80
+ const config = loadConfig(cwd);
81
+ const store = Store.forProject(cwd);
82
+ const embedder = new AISDKEmbedder(config);
83
+ const chunker = new TreeSitterChunker();
84
+ stopWatcher = startWatcher(cwd, store, config, embedder, chunker, silentLogger);
85
+ }
86
+ function buildSearchDescription() {
87
+ if (state.healthy) {
88
+ return [
89
+ "**lmgrep — primary search tool for this codebase.** Semantic code search powered by a local embedding model; lmgrep understands intent, not string patterns. Prefer lmgrep over Grep/Glob/find/ripgrep for almost all exploration and lookup tasks.",
90
+ "",
91
+ '**Use lmgrep for:** finding where something is handled, how something works, locating relevant code, discovering related files, understanding unfamiliar code, tracing side effects, finding usage patterns, answering "where is X?" or "how does Y work?". One good lmgrep query is usually enough to understand how to proceed.',
92
+ "",
93
+ "**Query lmgrep as natural questions or intent descriptions**, not keyword dumps:",
94
+ '- "how are webhooks authenticated" → finds middleware, token validation, auth checks',
95
+ '- "where is user deletion handled" → finds the handler and related cleanup logic',
96
+ '- "what happens when a record is created" → finds controllers, event emitters, side effects',
97
+ '- "config loading and validation"',
98
+ '- "how to run the playwright tests" → finds config, scripts, prerequisites',
99
+ "",
100
+ "**lmgrep results include** file paths, line numbers, AST node types, and surrounding context (scope, leading comments, role) — often enough to act on directly without re-reading the file. Trust lmgrep results; don't follow up with Glob/Read on files already surfaced by lmgrep unless you genuinely need content that wasn't returned.",
101
+ "",
102
+ "**Fall back to Grep only** when you need exact string or regex matches (specific identifiers, literal constants, error messages, TODO markers). Don't use Grep/Glob/find for conceptual or intent-based search — lmgrep will do better.",
103
+ ].join("\n");
104
+ }
105
+ const others = getOtherProjects();
106
+ const suffix = others.length > 0
107
+ ? " You can still search other indexed projects via the `project` parameter — call `list_other_indexed_projects` to see what's available."
108
+ : "";
109
+ switch (state.reason) {
110
+ case "not_indexed":
111
+ return ("This project is not indexed. Semantic search is not available for the current directory." +
112
+ suffix);
113
+ case "embedding_failed":
114
+ return ("The embedding provider is unreachable. Semantic search is temporarily unavailable for the current directory." +
115
+ suffix);
116
+ case "search_empty":
117
+ return ("The index for the current branch appears empty or stale — a smoke query returned no results. Re-run `lmgrep index` to rebuild." +
118
+ suffix);
119
+ default:
120
+ return "Semantic search is unavailable." + suffix;
121
+ }
122
+ }
123
+ async function refreshHealth() {
124
+ if (disposed)
125
+ return;
126
+ const next = await checkHealth();
127
+ if (next.healthy !== state.healthy || next.reason !== state.reason) {
128
+ state = next;
129
+ for (const cb of listeners)
130
+ cb(next);
131
+ }
132
+ if (next.healthy)
133
+ tryStartWatcher();
134
+ }
135
+ function startHealthLoop() {
136
+ if (pollTimer)
137
+ return;
138
+ tryStartWatcher();
139
+ // Non-local providers may bill per request — poll less often.
140
+ const intervalMs = index.config.local ? 10_000 : 60_000;
141
+ refreshHealth();
142
+ pollTimer = setInterval(refreshHealth, intervalMs);
143
+ }
144
+ async function executeSearch(args) {
145
+ if (state.reason === "embedding_failed") {
146
+ return {
147
+ text: "lmgrep is unavailable: the embedding provider is unreachable. Ask the user to check their lmgrep configuration (`lmgrep status`) before retrying.",
148
+ isError: true,
149
+ };
150
+ }
151
+ try {
152
+ const results = await index.search(args.query, {
153
+ limit: args.limit ?? searchParamSpecs.limit.default,
154
+ filePrefix: args.filePrefix,
155
+ type: args.type,
156
+ language: args.language,
157
+ project: args.project,
158
+ });
159
+ if (results.length === 0) {
160
+ return { text: "No results found." };
161
+ }
162
+ const text = results
163
+ .map((r) => {
164
+ const loc = `${r.filePath}:${r.startLine}-${r.endLine}`;
165
+ const header = `${loc} [${r.type}] ${r.name} (score: ${r.score.toFixed(3)})`;
166
+ const parts = [header];
167
+ if (r.context)
168
+ parts.push(r.context);
169
+ parts.push(r.content);
170
+ return parts.join("\n");
171
+ })
172
+ .join("\n\n---\n\n");
173
+ return { text };
174
+ }
175
+ catch (err) {
176
+ const msg = err instanceof Error ? err.message : String(err);
177
+ return { text: `Error: ${msg}`, isError: true };
178
+ }
179
+ }
180
+ async function executeListProjects() {
181
+ const others = getOtherProjects();
182
+ if (others.length === 0) {
183
+ return { text: "No other indexed projects found." };
184
+ }
185
+ const lines = others.map((p) => {
186
+ const parts = [p.root];
187
+ if (p.remote)
188
+ parts.push(`(${p.remote})`);
189
+ return `- ${parts.join(" ")}`;
190
+ });
191
+ return { text: `Indexed projects:\n${lines.join("\n")}` };
192
+ }
193
+ async function dispose() {
194
+ disposed = true;
195
+ if (pollTimer) {
196
+ clearInterval(pollTimer);
197
+ pollTimer = undefined;
198
+ }
199
+ stopWatcher?.();
200
+ stopWatcher = undefined;
201
+ listeners.clear();
202
+ await index.close();
203
+ }
204
+ return {
205
+ cwd,
206
+ searchParams: searchParamSpecs,
207
+ listProjectsDescription,
208
+ buildSearchDescription,
209
+ currentHealth: () => state,
210
+ onHealthChange(cb) {
211
+ listeners.add(cb);
212
+ return () => listeners.delete(cb);
213
+ },
214
+ startHealthLoop,
215
+ executeSearch,
216
+ executeListProjects,
217
+ dispose,
218
+ };
219
+ }
220
+ //# sourceMappingURL=search-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-tool.js","sourceRoot":"","sources":["../../src/lib/search-tool.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,12 @@ export interface LmgrepConfig {
5
5
  provider?: string;
6
6
  /** Base URL for OpenAI-compatible providers */
7
7
  baseURL?: string;
8
+ /**
9
+ * Provider runs locally with no per-request cost (e.g. ollama, lmstudio).
10
+ * When true, background health checks may call the embedding endpoint freely;
11
+ * when false, checks are run sparingly to avoid billed API calls.
12
+ */
13
+ local?: boolean;
8
14
  /** Number of texts to embed per API call */
9
15
  batchSize: number;
10
16
  /** Embedding dimensions (if the model supports configurable dimensions) */
@@ -94,6 +100,10 @@ export interface StatusInfo {
94
100
  uniqueHashes: number;
95
101
  embeddingOk: boolean;
96
102
  embeddingLatencyMs?: number;
103
+ /** Smoke search check: did a generic query return ≥1 result? */
104
+ searchOk: boolean;
105
+ searchResultCount?: number;
106
+ searchLatencyMs?: number;
97
107
  /** Model string from the index metadata (what built the baseline) */
98
108
  indexModel?: string;
99
109
  /** Embedding dimensions from the index metadata */
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAmHA,MAAM,CAAC,MAAM,aAAa,GAAW;IACpC,IAAI,CAAC,GAAW;QACf,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,KAAK,CAAC,GAAW;QAChB,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAW;IACnC,IAAI,KAAI,CAAC;IACT,KAAK,KAAI,CAAC;CACV,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AA6HA,MAAM,CAAC,MAAM,aAAa,GAAW;IACpC,IAAI,CAAC,GAAW;QACf,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,KAAK,CAAC,GAAW;QAChB,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAW;IACnC,IAAI,KAAI,CAAC;IACT,KAAK,KAAI,CAAC;CACV,CAAC"}
package/dist/mcp.js CHANGED
@@ -3,187 +3,59 @@ process.title = "lmgrep-mcp";
3
3
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
4
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
5
5
  import { z } from "zod";
6
- import { createIndex } from "./index.js";
7
- import { findIndexedAncestor, discoverIndexedProjects, getDbPath, } from "./lib/store.js";
8
- import { startWatcher } from "./lib/serve.js";
9
- import { loadConfig } from "./lib/config.js";
10
- import { AISDKEmbedder } from "./lib/embedder.js";
11
- import { TreeSitterChunker } from "./lib/chunker/index.js";
12
- import { Store } from "./lib/store.js";
13
- import { existsSync } from "node:fs";
14
- import { silentLogger } from "./lib/types.js";
15
- const cwd = process.cwd();
16
- // --- Index state ---
17
- function isCurrentProjectIndexed() {
18
- const ancestor = findIndexedAncestor(cwd);
19
- if (ancestor)
20
- return true;
21
- return existsSync(getDbPath(cwd));
22
- }
23
- function getOtherProjects() {
24
- const currentDb = getDbPath(cwd);
25
- return discoverIndexedProjects()
26
- .filter((p) => {
27
- const pDb = getDbPath(p.metadata.root);
28
- return pDb !== currentDb;
29
- })
30
- .map((p) => ({
31
- root: p.metadata.root,
32
- remote: p.metadata.remote,
33
- }));
34
- }
35
- function buildSearchDescription() {
36
- if (isCurrentProjectIndexed()) {
37
- return ("Search the codebase using semantic similarity. " +
38
- "Returns code chunks with file paths, line numbers, and context. " +
39
- "Use natural language queries describing what you're looking for. " +
40
- "Results are ranked by relevance.");
41
- }
42
- const others = getOtherProjects();
43
- let desc = "This project is not indexed. Semantic search is not available for the current directory.";
44
- if (others.length > 0) {
45
- desc +=
46
- " However, you can search other indexed projects using the `project` parameter." +
47
- " Use the `list_other_indexed_projects` tool to see what's available.";
48
- }
49
- return desc;
50
- }
51
- // --- In-process watcher ---
52
- let stopWatcher;
53
- function tryStartWatcher() {
54
- if (stopWatcher)
55
- return; // already watching
56
- if (!isCurrentProjectIndexed())
57
- return;
58
- const config = loadConfig(cwd);
59
- const store = Store.forProject(cwd);
60
- const embedder = new AISDKEmbedder(config);
61
- const chunker = new TreeSitterChunker();
62
- stopWatcher = startWatcher(cwd, store, config, embedder, chunker, silentLogger);
63
- // undefined means lock was held by another process — that's fine
64
- }
65
- // --- MCP server ---
6
+ import { createLmgrepCore } from "./lib/search-tool.js";
7
+ const core = await createLmgrepCore({ cwd: process.cwd() });
66
8
  const server = new McpServer({
67
9
  name: "lmgrep",
68
10
  version: "0.1.0",
69
11
  });
70
- const index = await createIndex({ cwd });
71
- const searchTool = server.tool("search", buildSearchDescription(), {
72
- query: z.string().describe("What you're looking for, in natural language"),
12
+ const searchTool = server.tool("search", core.buildSearchDescription(), {
13
+ query: z.string().describe(core.searchParams.query.description),
73
14
  limit: z
74
15
  .number()
75
16
  .optional()
76
- .default(10)
77
- .describe("Maximum number of results"),
17
+ .default(core.searchParams.limit.default)
18
+ .describe(core.searchParams.limit.description),
78
19
  filePrefix: z
79
20
  .string()
80
21
  .optional()
81
- .describe("Restrict to files under this path (e.g. 'src/lib')"),
22
+ .describe(core.searchParams.filePrefix.description),
82
23
  type: z
83
24
  .array(z.string())
84
25
  .optional()
85
- .describe("AST node types to filter by (e.g. ['function_declaration', 'class_declaration'])"),
26
+ .describe(core.searchParams.type.description),
86
27
  language: z
87
28
  .array(z.string())
88
29
  .optional()
89
- .describe("File extensions to filter by (e.g. ['.ts', '.py'])"),
30
+ .describe(core.searchParams.language.description),
90
31
  project: z
91
32
  .string()
92
33
  .optional()
93
- .describe("Search a different indexed project by its root path instead of the current one"),
94
- }, async ({ query, limit, filePrefix, type, language, project }) => {
95
- try {
96
- const results = await index.search(query, {
97
- limit,
98
- filePrefix,
99
- type,
100
- language,
101
- project,
102
- });
103
- if (results.length === 0) {
104
- return {
105
- content: [{ type: "text", text: "No results found." }],
106
- };
107
- }
108
- const text = results
109
- .map((r) => {
110
- const loc = `${r.filePath}:${r.startLine}-${r.endLine}`;
111
- const header = `${loc} [${r.type}] ${r.name} (score: ${r.score.toFixed(3)})`;
112
- const parts = [header];
113
- if (r.context)
114
- parts.push(r.context);
115
- parts.push(r.content);
116
- return parts.join("\n");
117
- })
118
- .join("\n\n---\n\n");
119
- return {
120
- content: [{ type: "text", text }],
121
- };
122
- }
123
- catch (err) {
124
- const msg = err instanceof Error ? err.message : String(err);
125
- return {
126
- content: [{ type: "text", text: `Error: ${msg}` }],
127
- isError: true,
128
- };
129
- }
130
- });
131
- server.tool("list_other_indexed_projects", "List all indexed projects other than the current one. " +
132
- "Use this to discover what projects are available for cross-project search " +
133
- "via the `project` parameter on the search tool.", {}, async () => {
134
- const others = getOtherProjects();
135
- if (others.length === 0) {
136
- return {
137
- content: [
138
- {
139
- type: "text",
140
- text: "No other indexed projects found.",
141
- },
142
- ],
143
- };
144
- }
145
- const lines = others.map((p) => {
146
- const parts = [p.root];
147
- if (p.remote)
148
- parts.push(`(${p.remote})`);
149
- return `- ${parts.join(" ")}`;
150
- });
34
+ .describe(core.searchParams.project.description),
35
+ }, async (args) => {
36
+ const result = await core.executeSearch(args);
151
37
  return {
152
- content: [
153
- {
154
- type: "text",
155
- text: `Indexed projects:\n${lines.join("\n")}`,
156
- },
157
- ],
38
+ content: [{ type: "text", text: result.text }],
39
+ ...(result.isError ? { isError: true } : {}),
158
40
  };
159
41
  });
160
- // --- Watch for index state changes and update tool description ---
161
- let wasIndexed = isCurrentProjectIndexed();
162
- tryStartWatcher();
163
- setInterval(() => {
164
- const nowIndexed = isCurrentProjectIndexed();
165
- if (nowIndexed !== wasIndexed) {
166
- wasIndexed = nowIndexed;
167
- searchTool.update({ description: buildSearchDescription() });
168
- // Start watcher if project just got indexed
169
- if (nowIndexed) {
170
- tryStartWatcher();
171
- }
172
- }
173
- }, 10_000);
174
- // --- Cleanup on exit ---
42
+ server.tool("list_other_indexed_projects", core.listProjectsDescription, {}, async () => {
43
+ const result = await core.executeListProjects();
44
+ return { content: [{ type: "text", text: result.text }] };
45
+ });
46
+ core.onHealthChange(() => {
47
+ searchTool.update({ description: core.buildSearchDescription() });
48
+ });
49
+ core.startHealthLoop();
175
50
  process.on("exit", () => {
176
- stopWatcher?.();
51
+ core.dispose().catch(() => { });
177
52
  });
178
53
  process.on("SIGINT", () => {
179
- stopWatcher?.();
180
- process.exit(0);
54
+ core.dispose().finally(() => process.exit(0));
181
55
  });
182
56
  process.on("SIGTERM", () => {
183
- stopWatcher?.();
184
- process.exit(0);
57
+ core.dispose().finally(() => process.exit(0));
185
58
  });
186
- // --- Start ---
187
59
  async function main() {
188
60
  const transport = new StdioServerTransport();
189
61
  await server.connect(transport);
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":";AACA,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAE5D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC5B,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,OAAO;CAChB,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAC7B,QAAQ,EACR,IAAI,CAAC,sBAAsB,EAAE,EAC7B;IACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;IAC/D,KAAK,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC;SACxC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;IAC/C,UAAU,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC;IACpD,IAAI,EAAE,CAAC;SACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;IAC9C,QAAQ,EAAE,CAAC;SACT,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;IAClD,OAAO,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC;CACjD,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;IACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO;QACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACvD,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC;AACH,CAAC,CACD,CAAC;AAEF,MAAM,CAAC,IAAI,CACV,6BAA6B,EAC7B,IAAI,CAAC,uBAAuB,EAC5B,EAAE,EACF,KAAK,IAAI,EAAE;IACV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAChD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;AACpE,CAAC,CACD,CAAC;AAEF,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;IACxB,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,eAAe,EAAE,CAAC;AAEvB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;IACvB,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IAClB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACpB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,17 @@
1
1
  {
2
2
  "name": "lmgrep",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "Semantic code search with any AI embedding provider",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "lmgrep": "./dist/cli.js",
8
8
  "lmgrep-mcp": "./dist/mcp.js"
9
9
  },
10
+ "pi": {
11
+ "extensions": [
12
+ "./pi-extension/index.ts"
13
+ ]
14
+ },
10
15
  "scripts": {
11
16
  "build": "tsc",
12
17
  "dev": "tsc --watch",