mind-palace-graph 0.3.0
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/INSTALL.md +387 -0
- package/README.md +602 -0
- package/dist/api.d.ts +682 -0
- package/dist/api.js +660 -0
- package/dist/api.js.map +1 -0
- package/dist/cli.d.ts +95 -0
- package/dist/cli.js +856 -0
- package/dist/cli.js.map +1 -0
- package/dist/format.d.ts +16 -0
- package/dist/format.js +199 -0
- package/dist/format.js.map +1 -0
- package/dist/fuzzy.d.ts +45 -0
- package/dist/fuzzy.js +150 -0
- package/dist/fuzzy.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +528 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-server.d.ts +24 -0
- package/dist/mcp-server.js +187 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/mind-palace.d.ts +148 -0
- package/dist/mind-palace.js +780 -0
- package/dist/mind-palace.js.map +1 -0
- package/dist/nodes.d.ts +57 -0
- package/dist/nodes.js +220 -0
- package/dist/nodes.js.map +1 -0
- package/dist/pagination.d.ts +41 -0
- package/dist/pagination.js +63 -0
- package/dist/pagination.js.map +1 -0
- package/dist/palace-format.d.ts +30 -0
- package/dist/palace-format.js +146 -0
- package/dist/palace-format.js.map +1 -0
- package/dist/rg.d.ts +34 -0
- package/dist/rg.js +288 -0
- package/dist/rg.js.map +1 -0
- package/dist/sources.d.ts +87 -0
- package/dist/sources.js +457 -0
- package/dist/sources.js.map +1 -0
- package/dist/tokens.d.ts +35 -0
- package/dist/tokens.js +95 -0
- package/dist/tokens.js.map +1 -0
- package/dist/types.d.ts +236 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/package.json +67 -0
- package/skills/mpg-context/SKILL.md +556 -0
- package/skills/mpg-context/references/anti-patterns.md +133 -0
- package/skills/mpg-context/references/integration.md +123 -0
- package/skills/mpg-context/references/mind-palace.md +217 -0
- package/skills/mpg-context/references/multi-agent.md +147 -0
- package/skills/mpg-context/references/sources.md +120 -0
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAyFH,MAAM,CAAC,MAAM,cAAc,GAAwE;IACjG,IAAI,EAAI,EAAE,MAAM,EAAE,EAAE,EAAI,KAAK,EAAE,EAAE,EAAI,QAAQ,EAAE,MAAM,EAAE;IACvD,KAAK,EAAG,EAAE,MAAM,EAAE,GAAG,EAAG,KAAK,EAAE,GAAG,EAAG,QAAQ,EAAE,EAAE,EAAG;IACpD,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAG,KAAK,EAAE,GAAG,EAAG,QAAQ,EAAE,EAAE,EAAG;IACpD,IAAI,EAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;IACpD,IAAI,EAAI,EAAE,MAAM,EAAE,GAAG,EAAG,KAAK,EAAE,GAAG,EAAG,QAAQ,EAAE,EAAE,EAAG;CACrD,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsNnB,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,MAAM,IAAI,GAAY;QACpB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,KAAK;QACrB,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE;QACjB,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,KAAK;QACrB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,CAAC;QACf,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,KAAK;QACT,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,KAAK;KACf,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAElB,qDAAqD;QACrD,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,SAAS,EAAK,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAAE,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAE9D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,QAAQ,EAAK,CAAC;YAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACzE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAE5E,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;YAC/B,2DAA2D;YAC3D,qEAAqE;YACrE,+DAA+D;YAC/D,gEAAgE;YAChE,wDAAwD;YACxD,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;gBACD,CAAC,EAAE,CAAC;YACN,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QACvD,CAAC;QACD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QACvD,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QACxE,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QACvE,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAC1E,CAAC;QACD,IAAI,CAAC,KAAK,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAC3E,CAAC;QACD,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,EAAE,CAAC,CAAC;YAChG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QACnC,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,CAAW,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAC3C,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,CAAiB,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QACjD,CAAC;QACD,mEAAmE;QACnE,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;YAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACnF,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,QAAQ,EAAS,CAAC;YAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC7E,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,iBAAiB,EAAE,CAAC;YAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACvF,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,aAAa,EAAI,CAAC;YAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAClF,IAAI,CAAC,KAAK,UAAU,EAAG,CAAC;YAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACjE,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QACpE,CAAC;QACD,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QACpE,CAAC;QACD,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QACxD,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC;YACvB,mCAAmC;YACnC,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YACnE,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,iBAAiB,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAC/D,CAAC;QACD,IAAI,CAAC,KAAK,gBAAgB,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YAC/C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QACnE,CAAC;QACD,IAAI,CAAC,KAAK,cAAc,EAAE,CAAC;YAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACxE,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAClE,CAAC;QACD,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACjF,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC1F,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YAAC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACnF,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YAAC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACnF,IAAI,CAAC,KAAK,cAAc,EAAE,CAAC;YACzB,mDAAmD;YACnD,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;gBACD,CAAC,EAAE,CAAC;YACN,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAChD,6CAA6C;YAC7C,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC;gBACD,CAAC,EAAE,CAAC;YACN,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,gBAAgB,EAAE,CAAC;YAC3B,mDAAmD;YACnD,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC;gBACD,CAAC,EAAE,CAAC;YACN,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YAAC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACnF,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAEjF,WAAW;QACX,IAAI,CAAC,KAAK,uBAAuB,EAAE,CAAC;YAAC,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACzG,IAAI,CAAC,KAAK,iBAAiB,EAAE,CAAC;YAAC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC5G,IAAI,CAAC,KAAK,gBAAgB,EAAE,CAAC;YAAC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC5F,IAAI,CAAC,KAAK,gBAAgB,EAAE,CAAC;YAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACtE,IAAI,CAAC,KAAK,oBAAoB,EAAE,CAAC;YAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC9E,IAAI,CAAC,KAAK,oBAAoB,EAAE,CAAC;YAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC9E,IAAI,CAAC,KAAK,oBAAoB,EAAE,CAAC;YAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAE7E,iBAAiB;QACjB,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YACjE,iBAAiB;YACjB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC,EAAE,CAAC;YACN,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YACjE,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAC7D,CAAC;QACD,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAC/C,kBAAkB;YAClB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1C,CAAC,EAAE,CAAC;YACN,CAAC;YACD,SAAS;QACX,CAAC;QAED,cAAc;QACd,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC5F,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACrG,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACtD,IAAI,CAAC,KAAK,gBAAgB,EAAE,CAAC;YAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACtE,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,CAAa,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAC3C,CAAC;QACD,IAAI,CAAC,KAAK,gBAAgB,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,CAAgB,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QACrD,CAAC;QACD,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QACpC,CAAC;QACD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACtE,IAAI,CAAC,KAAK,sBAAsB,EAAE,CAAC;YAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAElF,4DAA4D;QAC5D,wDAAwD;QACxD,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACrD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACjB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACrD,oDAAoD;YACpD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;YACD,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,IAAc,EAAE,CAAS;IAC3D,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,IAAI,GAAG,CAAC,IAAI;QAAE,MAAM,IAAI,kBAAkB,EAAE,CAAC;IAC7C,IAAI,GAAG,CAAC,OAAO;QAAE,MAAM,IAAI,qBAAqB,EAAE,CAAC;IAEnD,iEAAiE;IACjE,+DAA+D;IAC/D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACvD,MAAM,YAAY,GAChB,CAAC,GAAG,CAAC,EAAE,IAAI,CACX,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACtB,GAAG,CAAC,GAAG,KAAK,SAAS;QACrB,GAAG,CAAC,GAAG,KAAK,SAAS;QACrB,GAAG,CAAC,KAAK;QACT,GAAG,CAAC,MAAM,KAAK,SAAS;QACxB,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS;QAC1B,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/C,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC;IACjC,IAAI,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;IACzG,CAAC;IAED,gDAAgD;IAChD,MAAM,MAAM,GAAW,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC;IAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;IAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;IACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;IACjD,MAAM,QAAQ,GAAa,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC;IAClD,MAAM,MAAM,GAAiB,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;IACjD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IAE3D,mEAAmE;IACnE,iEAAiE;IACjE,qCAAqC;IACrC,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,GAAG,CAAC,GAAG;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,IAAI,GAAG,CAAC,GAAG;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAChF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,qEAAqE;IACrE,kEAAkE;IAClE,sEAAsE;IACtE,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,KAAK,SAAS;QAC7C,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS;QAC1B,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3G,MAAM,IAAI,KAAK,CACb,gHAAgH,CACjH,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAc,EAAE,CAAC;IAChC,IAAI,GAAG,CAAC,UAAU;QAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACtD,IAAI,GAAG,CAAC,IAAI;QAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;IAC1C,IAAI,GAAG,CAAC,YAAY;QAAE,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;IACrD,IAAI,GAAG,CAAC,SAAS;QAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;IAC9C,IAAI,GAAG,CAAC,MAAM;QAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;IACxC,IAAI,GAAG,CAAC,QAAQ;QAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;IAC7C,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,SAAS,CAAC,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC;IAC5E,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,SAAS,CAAC,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC;IAC5E,IAAI,GAAG,CAAC,IAAI;QAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAExC,6DAA6D;IAC7D,IAAI,WAA0C,CAAC;IAC/C,IACE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM;QACxD,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACzD,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/D,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU;QACvE,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM;QAC/D,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,OAAO,EAClE,CAAC;QACD,WAAW,GAAG;YACZ,IAAI,EAAE,GAAG,CAAC,MAAM;YAChB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,aAAa,EAAE,GAAG,CAAC,cAAc;YACjC,aAAa,EAAE,GAAG,CAAC,aAAa;SACjC,CAAC;QACF,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,WAAW,CAAC,KAAK,GAAG;gBAClB,IAAI,EAAE,GAAG,CAAC,WAAW;gBACrB,IAAI,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;gBAC3B,IAAI,EAAE,GAAG,CAAC,WAAW;gBACrB,OAAO,EAAE,GAAG,CAAC,cAAc;aAC5B,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;QAC5D,IAAI,GAAG,CAAC,KAAK;YAAE,WAAW,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC;QACrF,IAAI,GAAG,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9C,IAAI,GAAG,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9C,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC;QACnF,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,WAAW,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;QAC1E,CAAC;QACD,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,WAAW,CAAC,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC;QAC1C,CAAC;QACD,IAAI,GAAG,CAAC,KAAK;YAAE,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;QAC3C,iBAAiB;QACjB,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACrD,WAAW,CAAC,IAAI,GAAG;gBACjB,IAAI,EAAE,GAAG,CAAC,UAAU;gBACpB,EAAE,EAAE,GAAG,CAAC,QAAQ;gBAChB,IAAI,EAAE,GAAG,CAAC,UAAU;gBACpB,IAAI,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE;aAC3B,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACvC,WAAW,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;QACtE,CAAC;QACD,IAAI,GAAG,CAAC,SAAS;YAAE,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC;QACvD,IAAI,GAAG,CAAC,OAAO;YAAE,WAAW,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;QACzF,WAAW;QACX,IAAI,GAAG,CAAC,gBAAgB;YAAE,WAAW,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;QAC9E,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS;YAAE,WAAW,CAAC,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC;QAC5E,IAAI,GAAG,CAAC,UAAU;YAAE,WAAW,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;QAC3D,IAAI,GAAG,CAAC,UAAU;YAAE,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;QACjD,IAAI,GAAG,CAAC,cAAc;YAAE,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC;QACzD,WAAW,CAAC,aAAa,GAAG,GAAG,CAAC,cAAc,CAAC;QAC/C,WAAW,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;IAChD,CAAC;IAED,OAAO;QACL,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,aAAa,EAAE,MAAM;QACrB,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,GAAG,CAAC,SAAS;QACzB,QAAQ;QACR,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM;QACN,UAAU,EAAE,SAAS;QACrB,WAAW;QACX,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,GAAG,CAAC,QAAQ;QACvB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,kBAAkB,EAAE,GAAG,CAAC,gBAAgB;QACxC,YAAY,EAAE,GAAG,CAAC,UAAU;QAC5B,kBAAkB,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;QAC1F,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,YAAY,EAAE,GAAG,CAAC,WAAW;QAC7B,UAAU,EAAE,GAAG,CAAC,SAAS;QACzB,KAAK,EAAE,GAAG,CAAC,KAAK;KACC,CAAC;AACtB,CAAC;AAED,8DAA8D;AAC9D,kEAAkE;AAClE,wBAAwB;AAExB,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,gBAAgB,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC,CAAC,CAAC;CAC7E;AACD,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,gBAAgB,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC,CAAC,CAAC;CACnF"}
|
package/dist/format.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Output formatters.
|
|
3
|
+
*
|
|
4
|
+
* The default `llm` format is designed to be both human-readable and
|
|
5
|
+
* directly consumable by an LLM harness: clear delimiters, source
|
|
6
|
+
* attribution, line numbers, and a summary footer. An LLM can paste
|
|
7
|
+
* the entire output into its context and immediately know which file
|
|
8
|
+
* each snippet came from.
|
|
9
|
+
*
|
|
10
|
+
* Other formats:
|
|
11
|
+
* - text: raw, like rg -C output with file:line prefixes
|
|
12
|
+
* - markdown: GitHub-flavored markdown with code blocks
|
|
13
|
+
* - json: structured for programmatic harness integration
|
|
14
|
+
*/
|
|
15
|
+
import type { Result, OutputFormat } from "./types.js";
|
|
16
|
+
export declare function format(result: Result, fmt: OutputFormat, color: boolean): string;
|
package/dist/format.js
ADDED
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Output formatters.
|
|
3
|
+
*
|
|
4
|
+
* The default `llm` format is designed to be both human-readable and
|
|
5
|
+
* directly consumable by an LLM harness: clear delimiters, source
|
|
6
|
+
* attribution, line numbers, and a summary footer. An LLM can paste
|
|
7
|
+
* the entire output into its context and immediately know which file
|
|
8
|
+
* each snippet came from.
|
|
9
|
+
*
|
|
10
|
+
* Other formats:
|
|
11
|
+
* - text: raw, like rg -C output with file:line prefixes
|
|
12
|
+
* - markdown: GitHub-flavored markdown with code blocks
|
|
13
|
+
* - json: structured for programmatic harness integration
|
|
14
|
+
*/
|
|
15
|
+
import { paginationAnnotation, paginationTextNote } from "./pagination.js";
|
|
16
|
+
const RESET = "\x1b[0m";
|
|
17
|
+
const BOLD = "\x1b[1m";
|
|
18
|
+
const DIM = "\x1b[2m";
|
|
19
|
+
const FG_RED = "\x1b[31m";
|
|
20
|
+
const FG_CYAN = "\x1b[36m";
|
|
21
|
+
const FG_YELLOW = "\x1b[33m";
|
|
22
|
+
export function format(result, fmt, color) {
|
|
23
|
+
switch (fmt) {
|
|
24
|
+
case "json": return formatJson(result);
|
|
25
|
+
case "markdown": return formatMarkdown(result, color);
|
|
26
|
+
case "text": return formatText(result, color);
|
|
27
|
+
case "llm": return formatLlm(result, color);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function formatJson(result) {
|
|
31
|
+
return JSON.stringify(result, null, 2);
|
|
32
|
+
}
|
|
33
|
+
function formatText(result, color) {
|
|
34
|
+
const out = [];
|
|
35
|
+
for (const node of result.nodes) {
|
|
36
|
+
out.push("");
|
|
37
|
+
out.push(colorize(color, BOLD + FG_CYAN, node.source.id) +
|
|
38
|
+
colorize(color, DIM, `:${node.match_line}`));
|
|
39
|
+
for (let i = 0; i < node.context_before.length; i++) {
|
|
40
|
+
const lineNum = node.start_line + i;
|
|
41
|
+
out.push(`${lineNum} ${node.context_before[i]}`);
|
|
42
|
+
}
|
|
43
|
+
out.push(colorize(color, BOLD + FG_RED, `${node.match_line} ${node.match_text}`));
|
|
44
|
+
for (let i = 0; i < node.context_after.length; i++) {
|
|
45
|
+
const lineNum = node.match_line + 1 + i;
|
|
46
|
+
out.push(`${lineNum} ${node.context_after[i]}`);
|
|
47
|
+
}
|
|
48
|
+
out.push(colorize(color, DIM, `~${node.tokens} tokens`));
|
|
49
|
+
}
|
|
50
|
+
if (result.truncated) {
|
|
51
|
+
out.push("");
|
|
52
|
+
out.push(colorize(color, FG_YELLOW, `[truncated: total token budget reached]`));
|
|
53
|
+
}
|
|
54
|
+
return out.join("\n");
|
|
55
|
+
}
|
|
56
|
+
function formatMarkdown(result, color) {
|
|
57
|
+
const out = [];
|
|
58
|
+
for (const node of result.nodes) {
|
|
59
|
+
out.push(`### \`${node.source.id}\` line ${node.match_line}`);
|
|
60
|
+
out.push("");
|
|
61
|
+
const lang = inferLang(node.source.id);
|
|
62
|
+
const lines = [];
|
|
63
|
+
for (let i = 0; i < node.context_before.length; i++) {
|
|
64
|
+
lines.push(`${node.start_line + i} ${node.context_before[i]}`);
|
|
65
|
+
}
|
|
66
|
+
lines.push(`**${node.match_line}** ${node.match_text}`);
|
|
67
|
+
for (let i = 0; i < node.context_after.length; i++) {
|
|
68
|
+
lines.push(`${node.match_line + 1 + i} ${node.context_after[i]}`);
|
|
69
|
+
}
|
|
70
|
+
out.push("```" + lang);
|
|
71
|
+
out.push(lines.join("\n"));
|
|
72
|
+
out.push("```");
|
|
73
|
+
out.push("");
|
|
74
|
+
if (color)
|
|
75
|
+
out.push(`*${node.tokens} tokens*`);
|
|
76
|
+
else
|
|
77
|
+
out.push(`_${node.tokens} tokens_`);
|
|
78
|
+
out.push("");
|
|
79
|
+
}
|
|
80
|
+
if (result.truncated) {
|
|
81
|
+
out.push(`> ⚠ Truncated to fit token budget.`);
|
|
82
|
+
}
|
|
83
|
+
return out.join("\n");
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* The LLM-friendly default. This is what the tool is built for.
|
|
87
|
+
*
|
|
88
|
+
* Layout:
|
|
89
|
+
*
|
|
90
|
+
* <mpg result pattern="X" nodes=3 tokens=1234 effort=normal strategy=fill>
|
|
91
|
+
* --- NODE 1 of 3 | src/file.ts:42 | ~380 tokens ---
|
|
92
|
+
* <code block with line numbers, match highlighted with >> prefix>
|
|
93
|
+
* --- NODE 2 of 3 | ...
|
|
94
|
+
* --- TOTAL ---
|
|
95
|
+
* 3 nodes | ~1234 tokens | 2 sources | 234ms
|
|
96
|
+
* </mpg result>
|
|
97
|
+
*/
|
|
98
|
+
function formatLlm(result, color) {
|
|
99
|
+
const out = [];
|
|
100
|
+
const header = [
|
|
101
|
+
`pattern="${result.pattern}"`,
|
|
102
|
+
`status=${result.status}`,
|
|
103
|
+
`nodes=${result.total_nodes}`,
|
|
104
|
+
`tokens=~${result.total_tokens}`,
|
|
105
|
+
result.page_tokens !== result.total_tokens
|
|
106
|
+
? `page_tokens=~${result.page_tokens}` : null,
|
|
107
|
+
`effort=${result.effort}`,
|
|
108
|
+
`strategy=${result.strategy}`,
|
|
109
|
+
paginationAnnotation(result.pagination),
|
|
110
|
+
].filter(Boolean).join(" ");
|
|
111
|
+
out.push(`<mpg result ${header.trim()}>`);
|
|
112
|
+
for (const node of result.nodes) {
|
|
113
|
+
out.push("");
|
|
114
|
+
const meta = `NODE ${node.id} of ${result.total_nodes} | ${node.source.id}:${node.match_line} | ~${node.tokens} tokens`;
|
|
115
|
+
out.push(`--- ${meta} ---`);
|
|
116
|
+
// Build a code block with line numbers and match highlight.
|
|
117
|
+
const startLine = node.start_line;
|
|
118
|
+
const allLines = [];
|
|
119
|
+
for (let i = 0; i < node.context_before.length; i++) {
|
|
120
|
+
allLines.push({ num: startLine + i, text: node.context_before[i], isMatch: false });
|
|
121
|
+
}
|
|
122
|
+
allLines.push({ num: node.match_line, text: node.match_text, isMatch: true });
|
|
123
|
+
for (let i = 0; i < node.context_after.length; i++) {
|
|
124
|
+
allLines.push({ num: node.match_line + 1 + i, text: node.context_after[i], isMatch: false });
|
|
125
|
+
}
|
|
126
|
+
// Render with the match line prefixed by ">>" and the others by " ".
|
|
127
|
+
// Highlight the actual matched substring within the match line.
|
|
128
|
+
const width = String(node.end_line).length;
|
|
129
|
+
for (const line of allLines) {
|
|
130
|
+
const numStr = String(line.num).padStart(width, " ");
|
|
131
|
+
const marker = line.isMatch ? ">>" : " ";
|
|
132
|
+
const prefix = `${numStr} ${marker} `;
|
|
133
|
+
if (line.isMatch && node.match_spans.length > 0 && color) {
|
|
134
|
+
const [s, e] = node.match_spans[0];
|
|
135
|
+
const before = line.text.slice(0, s);
|
|
136
|
+
const hit = line.text.slice(s, e);
|
|
137
|
+
const after = line.text.slice(e);
|
|
138
|
+
out.push(prefix + before + colorize(color, BOLD + FG_YELLOW, hit) + after);
|
|
139
|
+
}
|
|
140
|
+
else if (line.isMatch) {
|
|
141
|
+
const [s, e] = node.match_spans[0] ?? [0, 0];
|
|
142
|
+
const before = line.text.slice(0, s);
|
|
143
|
+
const hit = line.text.slice(s, e);
|
|
144
|
+
const after = line.text.slice(e);
|
|
145
|
+
out.push(prefix + before + `**${hit}**` + after);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
out.push(prefix + line.text);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
out.push("");
|
|
153
|
+
out.push(`--- TOTAL ---`);
|
|
154
|
+
const total = [
|
|
155
|
+
`${result.total_nodes} node${result.total_nodes === 1 ? "" : "s"}`,
|
|
156
|
+
`~${result.total_tokens} tokens`,
|
|
157
|
+
`${result.sources_count} source${result.sources_count === 1 ? "" : "s"}`,
|
|
158
|
+
`${result.duration_ms}ms`,
|
|
159
|
+
].join(" | ");
|
|
160
|
+
out.push(total);
|
|
161
|
+
if (result.truncated) {
|
|
162
|
+
out.push(colorize(color, FG_YELLOW, `(truncated: hit --max-tokens budget)`));
|
|
163
|
+
}
|
|
164
|
+
if (result.pagination) {
|
|
165
|
+
const nav = result.pagination.has_next ? " (more pages available — pass --page N)" : "";
|
|
166
|
+
out.push(colorize(color, DIM, paginationTextNote(result.pagination) + nav));
|
|
167
|
+
}
|
|
168
|
+
out.push("</mpg result>");
|
|
169
|
+
return out.join("\n");
|
|
170
|
+
}
|
|
171
|
+
function inferLang(path) {
|
|
172
|
+
if (path.endsWith(".ts") || path.endsWith(".tsx"))
|
|
173
|
+
return "typescript";
|
|
174
|
+
if (path.endsWith(".js") || path.endsWith(".jsx"))
|
|
175
|
+
return "javascript";
|
|
176
|
+
if (path.endsWith(".py"))
|
|
177
|
+
return "python";
|
|
178
|
+
if (path.endsWith(".rs"))
|
|
179
|
+
return "rust";
|
|
180
|
+
if (path.endsWith(".go"))
|
|
181
|
+
return "go";
|
|
182
|
+
if (path.endsWith(".md"))
|
|
183
|
+
return "markdown";
|
|
184
|
+
if (path.endsWith(".json"))
|
|
185
|
+
return "json";
|
|
186
|
+
if (path.endsWith(".yaml") || path.endsWith(".yml"))
|
|
187
|
+
return "yaml";
|
|
188
|
+
if (path.endsWith(".sh") || path.endsWith(".bash"))
|
|
189
|
+
return "bash";
|
|
190
|
+
if (path.endsWith(".sql"))
|
|
191
|
+
return "sql";
|
|
192
|
+
return "";
|
|
193
|
+
}
|
|
194
|
+
function colorize(useColor, code, text) {
|
|
195
|
+
if (!useColor)
|
|
196
|
+
return text;
|
|
197
|
+
return `${code}${text}${RESET}`;
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
|
package/dist/fuzzy.d.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fuzzy matching helpers.
|
|
3
|
+
*
|
|
4
|
+
* The old --fuzzy mode transformed `foo` into `f[^\n]{0,2}o[^\n]{0,2}o`,
|
|
5
|
+
* which only catches MISSING chars in the search term (search shorter
|
|
6
|
+
* than the actual text). It fails on swaps and inserts.
|
|
7
|
+
*
|
|
8
|
+
* This module replaces that with a two-step approach:
|
|
9
|
+
* 1. buildFuzzyRegex(search): emit a trigram-union regex used to drive rg.
|
|
10
|
+
* Any line in the corpus that contains ≥1 trigram of the search is
|
|
11
|
+
* a candidate.
|
|
12
|
+
* 2. verifyFuzzy(line, matchPos, search, maxDist): slide a candidate
|
|
13
|
+
* window across the line and Levenshtein-match against the search.
|
|
14
|
+
* Accept the candidate iff edit distance ≤ maxDist.
|
|
15
|
+
*
|
|
16
|
+
* Handles drop / insert / substitute / swap typos (edit distance ≤ 2).
|
|
17
|
+
* Cost: O(line_len × search_len × max_dist) per candidate line, bounded
|
|
18
|
+
* for normal corpora.
|
|
19
|
+
*/
|
|
20
|
+
/** Standard Levenshtein with early exit when row min > cutoff. */
|
|
21
|
+
export declare function levenshtein(a: string, b: string, cutoff?: number): number;
|
|
22
|
+
/**
|
|
23
|
+
* Build a trigram-union regex from the search pattern. Splits on
|
|
24
|
+
* whitespace so multi-word searches don't blow up trigram space.
|
|
25
|
+
*
|
|
26
|
+
* Hard constraints (these protect agent harnesses from runaway scans):
|
|
27
|
+
*
|
|
28
|
+
* - Patterns shorter than 2 non-whitespace chars throw. An empty
|
|
29
|
+
* pattern would otherwise become `""` and match every line.
|
|
30
|
+
* - Patterns containing regex meta-chars are passed through as-is
|
|
31
|
+
* (regex authors usually mean it literally) and a warning is
|
|
32
|
+
* written to stderr so a confused caller can spot the silent
|
|
33
|
+
* skip.
|
|
34
|
+
* - The trigram set is capped at MAX_TRIGRAMS, picking the rarest
|
|
35
|
+
* trigrams first. Past the cap, fall back to literal-search of
|
|
36
|
+
* the longest token.
|
|
37
|
+
*/
|
|
38
|
+
export declare function buildFuzzyRegex(search: string): string;
|
|
39
|
+
/**
|
|
40
|
+
* Verify that the match position in `line` actually corresponds to
|
|
41
|
+
* the original search within edit distance `maxDist`. Slides candidate
|
|
42
|
+
* windows of length len(search) ± maxDist around matchPos and
|
|
43
|
+
* Levenshteins each one. Returns true on first qualifying window.
|
|
44
|
+
*/
|
|
45
|
+
export declare function verifyFuzzy(line: string, matchPos: number, search: string, maxDist?: number): boolean;
|
package/dist/fuzzy.js
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fuzzy matching helpers.
|
|
3
|
+
*
|
|
4
|
+
* The old --fuzzy mode transformed `foo` into `f[^\n]{0,2}o[^\n]{0,2}o`,
|
|
5
|
+
* which only catches MISSING chars in the search term (search shorter
|
|
6
|
+
* than the actual text). It fails on swaps and inserts.
|
|
7
|
+
*
|
|
8
|
+
* This module replaces that with a two-step approach:
|
|
9
|
+
* 1. buildFuzzyRegex(search): emit a trigram-union regex used to drive rg.
|
|
10
|
+
* Any line in the corpus that contains ≥1 trigram of the search is
|
|
11
|
+
* a candidate.
|
|
12
|
+
* 2. verifyFuzzy(line, matchPos, search, maxDist): slide a candidate
|
|
13
|
+
* window across the line and Levenshtein-match against the search.
|
|
14
|
+
* Accept the candidate iff edit distance ≤ maxDist.
|
|
15
|
+
*
|
|
16
|
+
* Handles drop / insert / substitute / swap typos (edit distance ≤ 2).
|
|
17
|
+
* Cost: O(line_len × search_len × max_dist) per candidate line, bounded
|
|
18
|
+
* for normal corpora.
|
|
19
|
+
*/
|
|
20
|
+
const TRIGRAM_LEN = 3;
|
|
21
|
+
const DEFAULT_MAX_DIST = 2;
|
|
22
|
+
/** Standard Levenshtein with early exit when row min > cutoff. */
|
|
23
|
+
export function levenshtein(a, b, cutoff = Infinity) {
|
|
24
|
+
if (a === b)
|
|
25
|
+
return 0;
|
|
26
|
+
if (a.length === 0)
|
|
27
|
+
return b.length;
|
|
28
|
+
if (b.length === 0)
|
|
29
|
+
return a.length;
|
|
30
|
+
if (Math.abs(a.length - b.length) > cutoff)
|
|
31
|
+
return cutoff + 1;
|
|
32
|
+
let prev = new Array(b.length + 1);
|
|
33
|
+
let curr = new Array(b.length + 1);
|
|
34
|
+
for (let j = 0; j <= b.length; j++)
|
|
35
|
+
prev[j] = j;
|
|
36
|
+
for (let i = 1; i <= a.length; i++) {
|
|
37
|
+
curr[0] = i;
|
|
38
|
+
let rowMin = i;
|
|
39
|
+
for (let j = 1; j <= b.length; j++) {
|
|
40
|
+
const cost = a[i - 1] === b[j - 1] ? 0 : 1;
|
|
41
|
+
curr[j] = Math.min(prev[j] + 1, curr[j - 1] + 1, prev[j - 1] + cost);
|
|
42
|
+
if (curr[j] < rowMin)
|
|
43
|
+
rowMin = curr[j];
|
|
44
|
+
}
|
|
45
|
+
if (rowMin > cutoff)
|
|
46
|
+
return cutoff + 1;
|
|
47
|
+
[prev, curr] = [curr, prev];
|
|
48
|
+
}
|
|
49
|
+
return prev[b.length];
|
|
50
|
+
}
|
|
51
|
+
/** Extract distinct trigrams from a string. */
|
|
52
|
+
function trigrams(s) {
|
|
53
|
+
const out = new Set();
|
|
54
|
+
if (s.length < TRIGRAM_LEN) {
|
|
55
|
+
if (s.length > 0)
|
|
56
|
+
out.add(s);
|
|
57
|
+
return out;
|
|
58
|
+
}
|
|
59
|
+
for (let i = 0; i + TRIGRAM_LEN <= s.length; i++) {
|
|
60
|
+
out.add(s.slice(i, i + TRIGRAM_LEN));
|
|
61
|
+
}
|
|
62
|
+
return out;
|
|
63
|
+
}
|
|
64
|
+
/** Cap the trigram alternation size — past this rg's regex compiler
|
|
65
|
+
* starts to choke (default --regex-size-limit ~10MB DFA). */
|
|
66
|
+
const MAX_TRIGRAMS = 64;
|
|
67
|
+
/**
|
|
68
|
+
* Build a trigram-union regex from the search pattern. Splits on
|
|
69
|
+
* whitespace so multi-word searches don't blow up trigram space.
|
|
70
|
+
*
|
|
71
|
+
* Hard constraints (these protect agent harnesses from runaway scans):
|
|
72
|
+
*
|
|
73
|
+
* - Patterns shorter than 2 non-whitespace chars throw. An empty
|
|
74
|
+
* pattern would otherwise become `""` and match every line.
|
|
75
|
+
* - Patterns containing regex meta-chars are passed through as-is
|
|
76
|
+
* (regex authors usually mean it literally) and a warning is
|
|
77
|
+
* written to stderr so a confused caller can spot the silent
|
|
78
|
+
* skip.
|
|
79
|
+
* - The trigram set is capped at MAX_TRIGRAMS, picking the rarest
|
|
80
|
+
* trigrams first. Past the cap, fall back to literal-search of
|
|
81
|
+
* the longest token.
|
|
82
|
+
*/
|
|
83
|
+
export function buildFuzzyRegex(search) {
|
|
84
|
+
const trimmed = search.trim();
|
|
85
|
+
if (trimmed.length < 2) {
|
|
86
|
+
throw new Error(`--fuzzy requires a pattern of at least 2 non-whitespace characters. ` +
|
|
87
|
+
`Got: ${JSON.stringify(search)}.`);
|
|
88
|
+
}
|
|
89
|
+
if (/[\\^$.()\[\]{}|*+?]/.test(search)) {
|
|
90
|
+
if (process.env.MPG_DEBUG) {
|
|
91
|
+
process.stderr.write(`mpg[fuzzy]: pattern contains regex meta-chars, fuzzy matching skipped: ${JSON.stringify(search)}\n`);
|
|
92
|
+
}
|
|
93
|
+
return search;
|
|
94
|
+
}
|
|
95
|
+
const tokens = trimmed.split(/\s+/).filter((t) => t.length > 0);
|
|
96
|
+
const all = new Set();
|
|
97
|
+
for (const tok of tokens) {
|
|
98
|
+
for (const g of trigrams(tok))
|
|
99
|
+
all.add(g);
|
|
100
|
+
}
|
|
101
|
+
if (all.size === 0) {
|
|
102
|
+
// Degenerate (all tokens < TRIGRAM_LEN, which we already short-
|
|
103
|
+
// circuited via the trimmed.length check). Fall back to literal.
|
|
104
|
+
return trimmed;
|
|
105
|
+
}
|
|
106
|
+
let chosen;
|
|
107
|
+
if (all.size <= MAX_TRIGRAMS) {
|
|
108
|
+
chosen = [...all];
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
// Fallback: drop fuzziness and just literal-search the longest token.
|
|
112
|
+
// This keeps the regex bounded while still finding *something*; the
|
|
113
|
+
// Levenshtein post-filter in verifyFuzzy then re-validates around
|
|
114
|
+
// each hit.
|
|
115
|
+
const longest = [...tokens].sort((a, b) => b.length - a.length)[0];
|
|
116
|
+
if (process.env.MPG_DEBUG) {
|
|
117
|
+
process.stderr.write(`mpg[fuzzy]: ${all.size} trigrams exceeded cap ${MAX_TRIGRAMS}; ` +
|
|
118
|
+
`falling back to literal search of "${longest}"\n`);
|
|
119
|
+
}
|
|
120
|
+
return longest.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
121
|
+
}
|
|
122
|
+
// Escape regex meta-chars inside each trigram.
|
|
123
|
+
const escaped = chosen.map((t) => t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
|
|
124
|
+
return `(${escaped.join("|")})`;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Verify that the match position in `line` actually corresponds to
|
|
128
|
+
* the original search within edit distance `maxDist`. Slides candidate
|
|
129
|
+
* windows of length len(search) ± maxDist around matchPos and
|
|
130
|
+
* Levenshteins each one. Returns true on first qualifying window.
|
|
131
|
+
*/
|
|
132
|
+
export function verifyFuzzy(line, matchPos, search, maxDist = DEFAULT_MAX_DIST) {
|
|
133
|
+
const searchLen = search.length;
|
|
134
|
+
const windowRadius = searchLen + maxDist;
|
|
135
|
+
const winStart = Math.max(0, matchPos - windowRadius);
|
|
136
|
+
const winEnd = Math.min(line.length, matchPos + windowRadius);
|
|
137
|
+
const window = line.slice(winStart, winEnd);
|
|
138
|
+
// Try every substring length in [searchLen - maxDist, searchLen + maxDist].
|
|
139
|
+
const minLen = Math.max(1, searchLen - maxDist);
|
|
140
|
+
const maxLen = searchLen + maxDist;
|
|
141
|
+
for (let start = 0; start <= window.length - minLen; start++) {
|
|
142
|
+
for (let len = minLen; len <= Math.min(maxLen, window.length - start); len++) {
|
|
143
|
+
const candidate = window.slice(start, start + len);
|
|
144
|
+
if (levenshtein(candidate, search, maxDist) <= maxDist)
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=fuzzy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fuzzy.js","sourceRoot":"","sources":["../src/fuzzy.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED