lmgrep 0.1.16 → 0.1.18
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/dist/cli.d.ts +1 -1
- package/dist/cli.js +203 -3
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +14 -2
- package/dist/index.js +356 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/build.d.ts +14 -0
- package/dist/lib/build.js +126 -36
- package/dist/lib/build.js.map +1 -1
- package/dist/lib/chunker/context.d.ts +4 -4
- package/dist/lib/chunker/context.js.map +1 -1
- package/dist/lib/chunker/index.js +64 -5
- package/dist/lib/chunker/index.js.map +1 -1
- package/dist/lib/chunker/languages.d.ts +1 -1
- package/dist/lib/chunker/languages.js +36 -17
- package/dist/lib/chunker/languages.js.map +1 -1
- package/dist/lib/embedder.d.ts +11 -1
- package/dist/lib/embedder.js +16 -1
- package/dist/lib/embedder.js.map +1 -1
- package/dist/lib/facet-session.d.ts +44 -0
- package/dist/lib/facet-session.js +125 -0
- package/dist/lib/facet-session.js.map +1 -0
- package/dist/lib/native-tuning.d.ts +1 -0
- package/dist/lib/native-tuning.js +9 -0
- package/dist/lib/native-tuning.js.map +1 -0
- package/dist/lib/repair.d.ts +9 -2
- package/dist/lib/repair.js +30 -77
- package/dist/lib/repair.js.map +1 -1
- package/dist/lib/search-tool.d.ts +9 -1
- package/dist/lib/search-tool.js +92 -12
- package/dist/lib/search-tool.js.map +1 -1
- package/dist/lib/serve.js +17 -0
- package/dist/lib/serve.js.map +1 -1
- package/dist/lib/store.d.ts +78 -3
- package/dist/lib/store.js +407 -16
- package/dist/lib/store.js.map +1 -1
- package/dist/lib/types.d.ts +65 -1
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/vocab.d.ts +20 -0
- package/dist/lib/vocab.js +275 -0
- package/dist/lib/vocab.js.map +1 -0
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.js +13 -1
- package/dist/mcp.js.map +1 -1
- package/package.json +29 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-tool.js","sourceRoot":"","sources":["../../src/lib/search-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,WAAW,EAAoB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EACN,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACT,KAAK,GACL,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAwC1C,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IACjD,KAAK,EAAE;QACN,WAAW,EACV,mRAAmR;KACpR;IACD,KAAK,EAAE;QACN,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"search-tool.js","sourceRoot":"","sources":["../../src/lib/search-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,WAAW,EAAoB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EACN,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACT,KAAK,GACL,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAwC1C,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IACjD,KAAK,EAAE;QACN,WAAW,EACV,mRAAmR;KACpR;IACD,KAAK,EAAE;QACN,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,CAAC;KACV;IACD,UAAU,EAAE;QACX,WAAW,EAAE,oDAAoD;KACjE;IACD,IAAI,EAAE;QACL,WAAW,EACV,kFAAkF;KACnF;IACD,QAAQ,EAAE;QACT,WAAW,EAAE,oDAAoD;KACjE;IACD,OAAO,EAAE;QACR,WAAW,EACV,gFAAgF;KACjF;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GACnC,wDAAwD;IACxD,4EAA4E;IAC5E,iDAAiD,CAAC;AAMnD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,oRAAoR;IACpR,EAAE;IACF,qBAAqB;IACrB,iFAAiF;IACjF,uLAAuL;IACvL,6EAA6E;IAC7E,EAAE;IACF,oIAAoI;IACpI,EAAE;IACF,wZAAwZ;CACxZ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,cAAc,GAAc;IACxC,WAAW,EACV,sKAAsK;CACvK,CAAC;AAkBF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAEtC;IACA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,MAAM,KAAK,GAAgB,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAEtD,SAAS,uBAAuB;QAC/B,IAAI,mBAAmB,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,gBAAgB;QACxB,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,uBAAuB,EAAE;aAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;aACvD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,UAAU,WAAW;QACzB,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YAChC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QAClD,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;YAClD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;YACnD,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QACvD,CAAC;IACF,CAAC;IAED,IAAI,KAAK,GAAgB,uBAAuB,EAAE;QACjD,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACjC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAE7C,MAAM,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAC;IACtD,IAAI,WAAqC,CAAC;IAC1C,IAAI,SAAqC,CAAC;IAC1C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,SAAS,eAAe;QACvB,IAAI,WAAW;YAAE,OAAO;QACxB,IAAI,CAAC,uBAAuB,EAAE;YAAE,OAAO;QACvC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACxC,WAAW,GAAG,YAAY,CACzB,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,EACR,OAAO,EACP,YAAY,CACZ,CAAC;IACH,CAAC;IAED,SAAS,sBAAsB;QAC9B,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;gBACN,qPAAqP;gBACrP,EAAE;gBACF,mUAAmU;gBACnU,EAAE;gBACF,kFAAkF;gBAClF,sFAAsF;gBACtF,kFAAkF;gBAClF,6FAA6F;gBAC7F,mCAAmC;gBACnC,4EAA4E;gBAC5E,EAAE;gBACF,8UAA8U;gBAC9U,EAAE;gBACF,yOAAyO;aACzO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,MAAM,MAAM,GACX,MAAM,CAAC,MAAM,GAAG,CAAC;YAChB,CAAC,CAAC,wIAAwI;YAC1I,CAAC,CAAC,EAAE,CAAC;QAEP,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;YACtB,KAAK,aAAa;gBACjB,OAAO,CACN,0FAA0F;oBAC1F,MAAM,CACN,CAAC;YACH,KAAK,kBAAkB;gBACtB,OAAO,CACN,8GAA8G;oBAC9G,MAAM,CACN,CAAC;YACH,KAAK,cAAc;gBAClB,OAAO,CACN,gIAAgI;oBAChI,MAAM,CACN,CAAC;YACH;gBACC,OAAO,iCAAiC,GAAG,MAAM,CAAC;QACpD,CAAC;IACF,CAAC;IAED,KAAK,UAAU,aAAa;QAC3B,IAAI,QAAQ;YAAE,OAAO;QACrB,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YACpE,KAAK,GAAG,IAAI,CAAC;YACb,KAAK,MAAM,EAAE,IAAI,SAAS;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,iEAAiE;YACjE,8DAA8D;YAC9D,uBAAuB;YACvB,eAAe,EAAE,CAAC;YAClB,cAAc,EAAE,CAAC;QAClB,CAAC;IACF,CAAC;IAED,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,wEAAwE;IACxE,yCAAyC;IACzC,SAAS,KAAK;QACb,eAAe,EAAE,CAAC;IACnB,CAAC;IAED,yEAAyE;IACzE,uEAAuE;IACvE,0EAA0E;IAC1E,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1D,0EAA0E;IAC1E,gEAAgE;IAChE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAE3D,KAAK,UAAU,aAAa;QAC3B,IAAI,CAAC,OAAO,IAAI,QAAQ;YAAE,OAAO;QACjC,MAAM,aAAa,EAAE,CAAC;QACtB,oEAAoE;QACpE,IAAI,CAAC,OAAO,IAAI,QAAQ;YAAE,OAAO;QACjC,SAAS,GAAG,UAAU,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACnD,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,SAAS,eAAe;QACvB,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,WAAW,GAAG,YAAY,CAAC;QAC3B,eAAe,EAAE,CAAC;QAClB,KAAK,aAAa,EAAE,CAAC;IACtB,CAAC;IAED,SAAS,cAAc;QACtB,OAAO,GAAG,KAAK,CAAC;QAChB,IAAI,SAAS,EAAE,CAAC;YACf,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS,GAAG,SAAS,CAAC;QACvB,CAAC;IACF,CAAC;IAED,SAAS,WAAW;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC7C,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACxC,KAAK,MAAM,EAAE,IAAI,SAAS;gBAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QACD,eAAe,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,IAAgB;QAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;YACzC,OAAO;gBACN,IAAI,EAAE,mJAAmJ;gBACzJ,OAAO,EAAE,IAAI;aACb,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;gBAC9C,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,OAAO;gBACnD,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;aACrB,CAAC,CAAC;YAEH,+DAA+D;YAC/D,kEAAkE;YAClE,4DAA4D;YAC5D,WAAW,EAAE,CAAC;YACd,cAAc,EAAE,CAAC;YAEjB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;YACtC,CAAC;YAED,MAAM,IAAI,GAAG,OAAO;iBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACV,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBACxD,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC7E,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvB,IAAI,CAAC,CAAC,OAAO;oBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC;iBACD,IAAI,CAAC,aAAa,CAAC,CAAC;YAEtB,OAAO,EAAE,IAAI,EAAE,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,iEAAiE;YACjE,uDAAuD;YACvD,eAAe,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACjD,CAAC;IACF,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,IAAe;QAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;YACzC,OAAO;gBACN,IAAI,EAAE,mJAAmJ;gBACzJ,OAAO,EAAE,IAAI;aACb,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACvD,WAAW,EAAE,CAAC;YACd,cAAc,EAAE,CAAC;YAEjB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;YACtC,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YACnC,MAAM,MAAM,GAAG,eAAe,IAAI,CAAC,KAAK,MAAM,KAAK,aAAa,CAAC;YACjE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,OAAO,KAAK,KAAK,GAAG,QAAQ,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,GACX,qIAAqI,CAAC;YACvI,OAAO,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACjD,CAAC;IACF,CAAC;IAED,KAAK,UAAU,mBAAmB;QACjC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAC;QACrD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1C,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,sBAAsB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IAC3D,CAAC;IAED,KAAK,UAAU,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,cAAc,EAAE,CAAC;QACjB,WAAW,EAAE,EAAE,CAAC;QAChB,WAAW,GAAG,SAAS,CAAC;QACxB,SAAS,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,OAAO;QACN,GAAG;QACH,YAAY,EAAE,gBAAgB;QAC9B,UAAU,EAAE,cAAc;QAC1B,gBAAgB;QAChB,uBAAuB;QACvB,sBAAsB;QACtB,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;QAC1B,cAAc,CAAC,EAAE;YAChB,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,KAAK;QACL,aAAa;QACb,YAAY;QACZ,mBAAmB;QACnB,OAAO;KACP,CAAC;AACH,CAAC"}
|
package/dist/lib/serve.js
CHANGED
|
@@ -4,6 +4,12 @@ import { watchFiles } from "./scanner.js";
|
|
|
4
4
|
import { getDbPath, findIndexedAncestor, acquireDbLock, releaseDbLock, isDbLocked, } from "./store.js";
|
|
5
5
|
import { consoleLogger } from "./types.js";
|
|
6
6
|
export { isDbLocked as isServeLocked };
|
|
7
|
+
// fs.watch (recursive) silently misses events on Linux — new subdirectories,
|
|
8
|
+
// editor atomic-saves, bursts. A periodic incremental reconcile is a cheap
|
|
9
|
+
// backstop: when nothing changed, build() returns before embedding (so it does
|
|
10
|
+
// not ping the embedder), and it also retries files that failed while the
|
|
11
|
+
// embedder was down. This removes the need to run `lmgrep index` in a loop.
|
|
12
|
+
const RECONCILE_MS = 30_000;
|
|
7
13
|
// --- Serve ---
|
|
8
14
|
export async function serve(cwd, store, config, embedder, chunker, logger = consoleLogger) {
|
|
9
15
|
const log = logger.info.bind(logger);
|
|
@@ -68,6 +74,10 @@ export async function serve(cwd, store, config, embedder, chunker, logger = cons
|
|
|
68
74
|
watchFiles(cwd, config.ignore, (changedFiles) => {
|
|
69
75
|
runIndex(changedFiles);
|
|
70
76
|
}, 2000, config.extensions);
|
|
77
|
+
// Periodic full reconcile backstop for events fs.watch missed.
|
|
78
|
+
setInterval(() => {
|
|
79
|
+
void runIndex();
|
|
80
|
+
}, RECONCILE_MS);
|
|
71
81
|
log("Watching for changes...");
|
|
72
82
|
}
|
|
73
83
|
/**
|
|
@@ -118,8 +128,15 @@ export function startWatcher(cwd, store, config, embedder, chunker, logger = con
|
|
|
118
128
|
const watcher = watchFiles(cwd, config.ignore, (changedFiles) => {
|
|
119
129
|
runIndex(changedFiles);
|
|
120
130
|
}, 2000, config.extensions);
|
|
131
|
+
// Periodic full reconcile backstop for events fs.watch missed. unref() so
|
|
132
|
+
// it never keeps the host process alive on its own.
|
|
133
|
+
const reconcileTimer = setInterval(() => {
|
|
134
|
+
void runIndex();
|
|
135
|
+
}, RECONCILE_MS);
|
|
136
|
+
reconcileTimer.unref?.();
|
|
121
137
|
log("Watching for changes...");
|
|
122
138
|
return () => {
|
|
139
|
+
clearInterval(reconcileTimer);
|
|
123
140
|
watcher.close();
|
|
124
141
|
releaseDbLock(cwd);
|
|
125
142
|
};
|
package/dist/lib/serve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/lib/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAEN,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,UAAU,GACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,CAAC;AAEvC,gBAAgB;AAEhB,MAAM,CAAC,KAAK,UAAU,KAAK,CAC1B,GAAW,EACX,KAAY,EACZ,MAAoB,EACpB,QAAkB,EAClB,OAAgB,EAChB,SAAiB,aAAa;IAE9B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAErC,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACzB,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QAC1B,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAChC,MAAM,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAE/D,6DAA6D;IAC7D,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,YAAkC,CAAC;IAEvC,KAAK,UAAU,QAAQ,CAAC,YAAuB;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACd,yBAAyB;YACzB,IAAI,YAAY,EAAE,CAAC;gBAClB,YAAY,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACP,YAAY,GAAG,SAAS,CAAC,CAAC,sBAAsB;YACjD,CAAC;YACD,OAAO;QACR,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC;YACJ,MAAM,SAAS,GAAG,YAAY,EAAE,MAAM,CAAC;YACvC,GAAG,CACF,SAAS;gBACR,CAAC,CAAC,uBAAuB,SAAS,0BAA0B;gBAC5D,CAAC,CAAC,kCAAkC,CACrC,CAAC;YACF,MAAM,KAAK,CACV,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,EACR,OAAO,EACP,EAAE,KAAK,EAAE,YAAY,EAAE,EACvB,MAAM,CACN,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CACX,gBAAgB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAC1D,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,QAAQ,GAAG,KAAK,CAAC;YACjB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;gBAChE,YAAY,GAAG,SAAS,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;QACF,CAAC;IACF,CAAC;IAED,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,EAAE;QAC/C,QAAQ,CAAC,YAAY,CAAC,CAAC;IACxB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAE5B,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC3B,GAAW,EACX,KAAY,EACZ,MAAoB,EACpB,QAAkB,EAClB,OAAgB,EAChB,SAAiB,aAAa;IAE9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,YAAkC,CAAC;IAEvC,KAAK,UAAU,QAAQ,CAAC,YAAuB;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,YAAY,EAAE,CAAC;gBAClB,YAAY,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACP,YAAY,GAAG,SAAS,CAAC;YAC1B,CAAC;YACD,OAAO;QACR,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC;YACJ,MAAM,SAAS,GAAG,YAAY,EAAE,MAAM,CAAC;YACvC,GAAG,CACF,SAAS;gBACR,CAAC,CAAC,uBAAuB,SAAS,0BAA0B;gBAC5D,CAAC,CAAC,kCAAkC,CACrC,CAAC;YACF,MAAM,KAAK,CACV,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,EACR,OAAO,EACP,EAAE,KAAK,EAAE,YAAY,EAAE,EACvB,MAAM,CACN,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CACX,gBAAgB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAC1D,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,QAAQ,GAAG,KAAK,CAAC;YACjB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;gBAChE,YAAY,GAAG,SAAS,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;QACF,CAAC;IACF,CAAC;IAED,uEAAuE;IACvE,gFAAgF;IAChF,QAAQ,EAAE,CAAC;IAEX,MAAM,OAAO,GAAG,UAAU,CACzB,GAAG,EACH,MAAM,CAAC,MAAM,EACb,CAAC,YAAY,EAAE,EAAE;QAChB,QAAQ,CAAC,YAAY,CAAC,CAAC;IACxB,CAAC,EACD,IAAI,EACJ,MAAM,CAAC,UAAU,CACjB,CAAC;IAEF,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAE/B,OAAO,GAAG,EAAE;QACX,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,aAAa,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/lib/serve.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/store.d.ts
CHANGED
|
@@ -74,6 +74,17 @@ export declare function acquireDbLock(cwd: string): boolean;
|
|
|
74
74
|
* Release the write lock for a project's DB.
|
|
75
75
|
*/
|
|
76
76
|
export declare function releaseDbLock(cwd: string): void;
|
|
77
|
+
/**
|
|
78
|
+
* Run `fn` while holding the project's write mutex, so concurrent indexers
|
|
79
|
+
* (a watcher plus an ad-hoc `lmgrep index`) can't write at the same time and
|
|
80
|
+
* produce duplicate chunk rows. Waits up to `waitMs` for a busy lock, taking
|
|
81
|
+
* over a lock held by a dead process. Throws if the lock can't be acquired in
|
|
82
|
+
* time.
|
|
83
|
+
*/
|
|
84
|
+
export declare function withWriteLock<T>(cwd: string, fn: () => Promise<T>, opts?: {
|
|
85
|
+
waitMs?: number;
|
|
86
|
+
pollMs?: number;
|
|
87
|
+
}): Promise<T>;
|
|
77
88
|
/**
|
|
78
89
|
* Check if a write lock is held by a live process.
|
|
79
90
|
*/
|
|
@@ -102,11 +113,33 @@ export declare class Store {
|
|
|
102
113
|
private db;
|
|
103
114
|
private chunksTable;
|
|
104
115
|
private filesTable;
|
|
116
|
+
private vocabTable;
|
|
105
117
|
constructor(dbPath: string, branch?: string);
|
|
106
118
|
static forProject(cwd: string): Store;
|
|
107
119
|
private connection;
|
|
108
120
|
private openChunks;
|
|
109
121
|
private openFiles;
|
|
122
|
+
private openVocab;
|
|
123
|
+
hasVocab(): Promise<boolean>;
|
|
124
|
+
/**
|
|
125
|
+
* Return the set of vocab terms already embedded in the vocab table.
|
|
126
|
+
* Used at index time to skip re-embedding.
|
|
127
|
+
*/
|
|
128
|
+
getVocabTerms(): Promise<Set<string>>;
|
|
129
|
+
addVocab(entries: Array<{
|
|
130
|
+
term: string;
|
|
131
|
+
vector: number[];
|
|
132
|
+
}>): Promise<void>;
|
|
133
|
+
/**
|
|
134
|
+
* ANN search against the vocab table. Returns top-N terms closest to the
|
|
135
|
+
* given vector by cosine distance.
|
|
136
|
+
*/
|
|
137
|
+
searchVocab(vector: number[], limit: number, excludeTerms?: Set<string>): Promise<Array<{
|
|
138
|
+
term: string;
|
|
139
|
+
score: number;
|
|
140
|
+
}>>;
|
|
141
|
+
vocabCount(): Promise<number>;
|
|
142
|
+
dropVocab(): Promise<void>;
|
|
110
143
|
addChunks(chunks: IndexedChunk[]): Promise<void>;
|
|
111
144
|
/**
|
|
112
145
|
* Delete chunks for files that are no longer referenced by ANY branch.
|
|
@@ -114,16 +147,34 @@ export declare class Store {
|
|
|
114
147
|
* the chunks are kept (they're shared via content-addressing).
|
|
115
148
|
*/
|
|
116
149
|
deleteChunksByFiles(filePaths: string[]): Promise<void>;
|
|
117
|
-
private
|
|
150
|
+
private branchVersionsCache;
|
|
118
151
|
/**
|
|
119
|
-
*
|
|
152
|
+
* Map of filePath -> file-version hash for the current branch (cached).
|
|
153
|
+
* Used to scope search to the exact file versions this branch references,
|
|
154
|
+
* so stale chunks from another version of the same path are excluded.
|
|
120
155
|
*/
|
|
121
|
-
|
|
156
|
+
getBranchFileVersions(): Promise<Map<string, string> | undefined>;
|
|
122
157
|
/** Invalidate the branch files cache (call after index/import). */
|
|
123
158
|
invalidateBranchFilesCache(): void;
|
|
124
159
|
search(queryVector: number[], limit?: number, filePrefix?: string, typeFilter?: string[],
|
|
125
160
|
/** Pass false to skip branch scoping (e.g. for cross-project search). */
|
|
126
161
|
scopeToBranch?: boolean): Promise<SearchResult[]>;
|
|
162
|
+
/**
|
|
163
|
+
* Same as search() but also returns each chunk's vector — needed for
|
|
164
|
+
* client-side clustering (facet command).
|
|
165
|
+
*/
|
|
166
|
+
searchWithVectors(queryVector: number[], limit?: number, filePrefix?: string, scopeToBranch?: boolean): Promise<Array<SearchResult & {
|
|
167
|
+
id: string;
|
|
168
|
+
vector: number[];
|
|
169
|
+
}>>;
|
|
170
|
+
/**
|
|
171
|
+
* Fetch chunks (with vectors) by id. Used to rehydrate faceting sessions.
|
|
172
|
+
* Missing ids are silently dropped.
|
|
173
|
+
*/
|
|
174
|
+
getChunksByIds(ids: string[]): Promise<Array<SearchResult & {
|
|
175
|
+
id: string;
|
|
176
|
+
vector: number[];
|
|
177
|
+
}>>;
|
|
127
178
|
getIndexedFiles(): Promise<Map<string, string[]>>;
|
|
128
179
|
getIndexedHashes(): Promise<Set<string>>;
|
|
129
180
|
/**
|
|
@@ -132,6 +183,14 @@ export declare class Store {
|
|
|
132
183
|
*/
|
|
133
184
|
filterExistingChunkHashes(hashes: string[]): Promise<Set<string>>;
|
|
134
185
|
chunkCount(): Promise<number>;
|
|
186
|
+
/**
|
|
187
|
+
* Stream chunk texts (name + content only) in batches. Used by vocab
|
|
188
|
+
* backfill to avoid loading all chunks into memory at once.
|
|
189
|
+
*/
|
|
190
|
+
streamChunkTexts(batchSize?: number): AsyncIterable<Array<{
|
|
191
|
+
name: string;
|
|
192
|
+
content: string;
|
|
193
|
+
}>>;
|
|
135
194
|
getFileHashes(): Promise<Map<string, string>>;
|
|
136
195
|
/**
|
|
137
196
|
* Given a set of file hashes, return those that already exist in the
|
|
@@ -145,6 +204,22 @@ export declare class Store {
|
|
|
145
204
|
}>): Promise<void>;
|
|
146
205
|
deleteFileHashes(filePaths: string[]): Promise<void>;
|
|
147
206
|
streamAllChunks(batchSize: number): AsyncGenerator<Record<string, unknown>[]>;
|
|
207
|
+
/**
|
|
208
|
+
* Remove redundant rows from the chunks table:
|
|
209
|
+
* - exact duplicate ids (identical rows from concurrent unlocked indexing)
|
|
210
|
+
* - orphaned versions: chunks whose fileHash is no longer referenced by any
|
|
211
|
+
* branch's manifest (left behind when a file was edited on one branch
|
|
212
|
+
* while another branch still pointed at the old path). Legacy chunks with
|
|
213
|
+
* an empty fileHash are kept.
|
|
214
|
+
* Rewrites the table from the surviving rows. Loads chunks into memory in
|
|
215
|
+
* batches, so this is a maintenance operation, not a hot path.
|
|
216
|
+
*/
|
|
217
|
+
dedupeChunks(): Promise<{
|
|
218
|
+
before: number;
|
|
219
|
+
after: number;
|
|
220
|
+
duplicateIds: number;
|
|
221
|
+
staleVersions: number;
|
|
222
|
+
}>;
|
|
148
223
|
getAllFileEntries(): Promise<Array<{
|
|
149
224
|
filePath: string;
|
|
150
225
|
fileHash: string;
|