clast-ai 0.2.4 → 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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +23 -0
- package/README.md +51 -28
- package/bench/ab/onair-common-names.json +22 -0
- package/dist/query/search.js +47 -0
- package/dist/query/search.js.map +1 -1
- package/dist/server/index.js +318 -251
- package/dist/server/index.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/skills/audit/SKILL.md +2 -2
- package/skills/deadcode/SKILL.md +2 -2
- package/skills/explore/SKILL.md +1 -0
- package/skills/impact/SKILL.md +2 -2
- package/skills/status/SKILL.md +2 -2
- package/skills/use/SKILL.md +13 -0
- package/src/query/search.ts +47 -0
- package/src/server/index.ts +84 -12
- package/src/version.ts +1 -1
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,YAAY,GAAG;;;;;;;;;;;;;iMAa4K,CAAC;AAElM,MAAM,oBAAoB,GACxB,+KAA+K,CAAC;AAElL,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAEhF,MAAM,SAAS,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAW,CAAC;AAE9F,+FAA+F;AAC/F,gGAAgG;AAChG,kGAAkG;AAClG,uCAAuC;AACvC,MAAM,WAAW,GAAG,EAAE,sBAAsB,EAAE,IAAI,EAAW,CAAC;AAE9D,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,WAAW,GAAG,OAAO,CACzB,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,EAAE,CACjF,CAAC;IACF,MAAM,GAAG,GAAG,CAAC,GAAW,EAAQ,EAAE;QAChC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,GAAG,CAAC,IAAI,OAAO,kBAAkB,WAAW,EAAE,CAAC,CAAC;IAEhD,mGAAmG;IACnG,gGAAgG;IAChG,oGAAoG;IACpG,qGAAqG;IACrG,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,GAAY,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACpH,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EACnC,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,oBAAoB,EAAE,CACpE,CAAC;IACF,IAAI,MAAM,GAAkD,IAAI,CAAC;IACjE,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,KAAK,GAAwB,IAAI,CAAC;IAEtC,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC5B,IAAI,MAAM;YAAE,OAAO;QACnB,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAE5B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,CAAI,EAAgC,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAO,EAAE,EAAE;YACrF,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;oBAClC,IAAI,QAAQ;wBAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtC,CAAC;gBACD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,eAAe,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC5E,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAClG,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;YACE,KAAK,EAAE,gBAAgB;YACvB,WAAW,EACT,mXAAmX;YACrX,WAAW,EAAE;gBACX,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,qFAAqF,CAAC;gBAC5G,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,YAAqC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;gBACnG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iFAAiF,CAAC;gBACvH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;gBAC3F,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;gBAC3E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;aACtF;YACD,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,WAAW;SACnB,EACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CACjC,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;YACE,KAAK,EAAE,2BAA2B;YAClC,WAAW,EACT,oUAAoU;YACtU,WAAW,EAAE;gBACX,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,qEAAqE,CAAC;gBAC3F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;gBAC9E,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC;gBACtG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,0EAA0E,CAAC;gBAC7I,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;aAChF;YACD,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,WAAW;SACnB,EACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CACrC,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;YACE,KAAK,EAAE,YAAY;YACnB,WAAW,EACT,iUAAiU;YACnU,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;gBACtE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;gBAC9E,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6DAA6D,CAAC;gBACxH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;gBACxF,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sGAAsG,CAAC;gBACrJ,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;gBAClG,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,0DAA0D,CAAC;aAC3G;YACD,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,WAAW;SACnB,EACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CACpC,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;YACE,KAAK,EAAE,gBAAgB;YACvB,WAAW,EACT,qUAAqU;YACvU,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;gBAC/E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;gBAC9E,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACrE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBAC7E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;gBACxF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;aAC5F;YACD,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,WAAW;SACnB,EACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CACpC,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;YACE,KAAK,EAAE,iBAAiB;YACxB,WAAW,EACT,oTAAoT;YACtT,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sEAAsE,CAAC;gBACjG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;gBAC3F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBACnF,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;aACxC;YACD,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,WAAW;SACnB,EACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CACrC,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;YACE,KAAK,EAAE,2BAA2B;YAClC,WAAW,EACT,8RAA8R;YAChS,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;gBACzF,OAAO,EAAE,CAAC;qBACP,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;qBACjC,OAAO,CAAC,MAAM,CAAC;qBACf,QAAQ,CAAC,kGAAkG,CAAC;gBAC/G,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;aAChG;YACD,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,WAAW;SACnB,EACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CACtC,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;YACE,KAAK,EAAE,gBAAgB;YACvB,WAAW,EACT,2KAA2K;YAC7K,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;aACzF;YACD,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,WAAW;SACnB,EACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CACnC,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;YACE,KAAK,EAAE,iCAAiC;YACxC,WAAW,EACT,4OAA4O;YAC9O,WAAW,EAAE;gBACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;gBACxE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,sDAAsD,CAAC;gBAClG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;gBAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;gBAC7D,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;gBACjH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBAClF,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;aACxC;YACD,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,WAAW;SACnB,EACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAC/B,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;YACE,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EACT,gjBAAgjB;YACljB,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;qBAC/G,QAAQ,CAAC,kEAAkE,CAAC;gBAC/E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2GAA2G,CAAC;gBACjJ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sFAAsF,CAAC;gBAC5H,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;gBACrG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;gBAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;gBAC7D,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;qBACtH,QAAQ,CAAC,0CAA0C,CAAC;gBACvD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;gBACzG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;gBAC1F,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;aACpH;YACD,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,WAAW;SACnB,EACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAChC,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;YACE,KAAK,EAAE,6BAA6B;YACpC,WAAW,EACT,mUAAmU;YACrU,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;gBACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;gBAC9E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;gBAChG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;aAClG;YACD,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,WAAW;SACnB,EACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CACjC,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;YACE,KAAK,EAAE,aAAa;YACpB,WAAW,EACT,kXAAkX;YACpX,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;gBACrF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;gBAC7D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yGAAyG,CAAC;gBAC/I,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;gBACvF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;aAChG;YACD,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,WAAW;SACnB,EACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CACjC,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;YACE,KAAK,EAAE,4BAA4B;YACnC,WAAW,EACT,oVAAoV;YACtV,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qFAAqF,CAAC;aAC5H;YACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;SAC1D,EACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAClC,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;YACE,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,yGAAyG;YACtH,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,SAAS;SACvB,EACD,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CACzC,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;YACE,KAAK,EAAE,UAAU;YACjB,WAAW,EACT,oPAAoP;YACtP,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;gBAC3F,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;aACpF;YACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;SACjF,EACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CACzC,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;YACE,KAAK,EAAE,+BAA+B;YACtC,WAAW,EACT,4LAA4L;YAC9L,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;gBACtE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,uDAAuD,CAAC;aACvG;YACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;SAC1D,EACD,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAuC,EAAE,EAAE;YACtE,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,IAAI,8BAA8B,CAAC;YACxE,MAAM,GAAG,GAAa,EAAE,CAAC;YACzB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACtC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,GAAG,CAAC,GAAG;oBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBAC1B,IAAI,MAAM;oBAAE,GAAG,CAAC,IAAI,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;qBAC9C,IAAI,QAAQ,EAAE,CAAC;oBAClB,IAAI,CAAC,UAAU,CAAC,WAAW;wBAAE,GAAG,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;;wBAC1G,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,qCAAqC,CAAC,CAAC;gBAC3F,CAAC;;oBAAM,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,CAAC;YACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,CACH,CAAC;QAEF,2FAA2F;QAC3F,KAAK,GAAG,GAAS,EAAE;YACnB,KAAK,CAAC,OAAO;iBACV,QAAQ,EAAE;iBACV,IAAI,CAAC,CAAC,CAAC,EAAE;gBACR,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;gBAC3B,GAAG,CACD,wBAAwB,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,UAAU,KAAK;oBACjG,IAAI,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,OAAO,WAAW,CAC7C,CAAC;YACJ,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,oBAAoB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;iBAC/E,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,OAAO,CAAC,KAAK,EAAE,CAAC;wBAChB,GAAG,CAAC,qBAAqB,CAAC,CAAC;oBAC7B,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,4BAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC9E,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEL,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAsC,EAAE,EAAE;gBAC9E,GAAG,CAAC,eAAe,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACH,CAAC,CAAC;QACF,IAAI,SAAS;YAAE,KAAK,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC,WAAW;IAEd,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,EAAE,CAAC;IACb,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,+CAA+C,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CACpC,cAAc,EACd;YACE,KAAK,EAAE,gCAAgC;YACvC,WAAW,EACT,0LAA0L;YAC5L,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;SACjF,EACD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,QAAQ,EAAE,CAAC;gBACX,UAAU,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO,IAAI,CACT,mBAAmB,WAAW,6DAA6D;oBACzF,uEAAuE;oBACvE,sDAAsD,YAAY,EAAE,CACvE,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAClG,CAAC;QACH,CAAC,CACF,CAAC;QACF,0FAA0F;QAC1F,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,MAAM;gBAAE,OAAO,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,OAAO;YAChC,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC;gBACH,QAAQ,EAAE,CAAC;gBACX,UAAU,CAAC,MAAM,EAAE,CAAC;gBACpB,GAAG,CAAC,6BAA6B,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,uDAAuD;IACvD,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,SAAS,GAAG,IAAI,CAAC;IACjB,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAClC,KAA6B,EAAE,EAAE,CAAC;IAEnC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,IAAI,GAAG,MAAM,CAAC;QACpB,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO;aACT,IAAI,EAAE;aACN,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;aACtB,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC;gBAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,uEAAuE;IACvE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED,6EAA6E;AAC7E,6DAA6D;AAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3E,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IAChC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** Package version (keep in sync with package.json; checked by a test). */
|
|
2
|
-
export declare const VERSION = "0.
|
|
2
|
+
export declare const VERSION = "0.3.0";
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clast-ai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Code index MCP server for coding agents (Claude Code, Codex, Gemini CLI, any MCP client): symbol search, type-aware call graph, hierarchy, change impact, dead code and exact counts",
|
|
5
5
|
"main": "dist/engine.js",
|
|
6
6
|
"bin": {
|
package/skills/audit/SKILL.md
CHANGED
|
@@ -3,10 +3,10 @@ name: audit
|
|
|
3
3
|
description: Factual inventory of a code base for due diligence or onboarding - size, structure, endpoints, database access, dependencies, dead code.
|
|
4
4
|
argument-hint: "[path]"
|
|
5
5
|
disable-model-invocation: true
|
|
6
|
-
allowed-tools: mcp__plugin_clast_clast__clast_stats, mcp__plugin_clast_clast__clast_overview, mcp__plugin_clast_clast__clast_unused, mcp__plugin_clast_clast__clast_file_summary, mcp__plugin_clast_clast__clast_grep, Grep, Read, Glob
|
|
6
|
+
allowed-tools: mcp__plugin_clast_clast__clast_enable, mcp__plugin_clast_clast__clast_stats, mcp__plugin_clast_clast__clast_overview, mcp__plugin_clast_clast__clast_unused, mcp__plugin_clast_clast__clast_file_summary, mcp__plugin_clast_clast__clast_grep, Grep, Read, Glob
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
Scope: `$ARGUMENTS` (empty = whole project). Pass it as `path` to every call.
|
|
9
|
+
Scope: `$ARGUMENTS` (empty = whole project). Pass it as `path` to every call. If the clast tools are not available, call `clast_enable` first.
|
|
10
10
|
|
|
11
11
|
Issue these calls together:
|
|
12
12
|
|
package/skills/deadcode/SKILL.md
CHANGED
|
@@ -3,10 +3,10 @@ name: deadcode
|
|
|
3
3
|
description: Find dead code in the project or under a path, verify it, remove what the user confirms.
|
|
4
4
|
argument-hint: "[path]"
|
|
5
5
|
disable-model-invocation: true
|
|
6
|
-
allowed-tools: mcp__plugin_clast_clast__clast_unused, mcp__plugin_clast_clast__clast_call_graph, mcp__plugin_clast_clast__clast_references, mcp__plugin_clast_clast__clast_grep, Grep, Read
|
|
6
|
+
allowed-tools: mcp__plugin_clast_clast__clast_enable, mcp__plugin_clast_clast__clast_unused, mcp__plugin_clast_clast__clast_call_graph, mcp__plugin_clast_clast__clast_references, mcp__plugin_clast_clast__clast_grep, Grep, Read
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
Scope: `$ARGUMENTS` (empty = whole project).
|
|
9
|
+
Scope: `$ARGUMENTS` (empty = whole project). If the clast tools are not available, call `clast_enable` first.
|
|
10
10
|
|
|
11
11
|
1. Call `clast_unused` with `path` = scope.
|
|
12
12
|
2. Treat each group:
|
package/skills/explore/SKILL.md
CHANGED
|
@@ -12,6 +12,7 @@ Skip clast for one exact name (Grep) and for mechanical edits.
|
|
|
12
12
|
|----------|------|
|
|
13
13
|
| What is in this repo / directory / file? | `clast_overview`, `clast_file_summary` |
|
|
14
14
|
| Where is the code that does X (no name known)? | `clast_search` with a short description |
|
|
15
|
+
| Which of many same-named definitions? | `clast_search` with the name plus context words (`write socket`) |
|
|
15
16
|
| Show X before editing | `clast_get_context` |
|
|
16
17
|
| Who calls X, N levels up? | `clast_call_graph` (`depth`, `within`) |
|
|
17
18
|
| What implements / extends / overrides X? | `clast_hierarchy` |
|
package/skills/impact/SKILL.md
CHANGED
|
@@ -3,12 +3,12 @@ name: impact
|
|
|
3
3
|
description: Show what a change to one symbol affects - what changes with it, every caller, the tests to run.
|
|
4
4
|
argument-hint: "<symbol>"
|
|
5
5
|
disable-model-invocation: true
|
|
6
|
-
allowed-tools: mcp__plugin_clast_clast__clast_impact, mcp__plugin_clast_clast__clast_search, mcp__plugin_clast_clast__clast_get_context, mcp__plugin_clast_clast__clast_call_graph, mcp__plugin_clast_clast__clast_hierarchy, Grep, Read
|
|
6
|
+
allowed-tools: mcp__plugin_clast_clast__clast_enable, mcp__plugin_clast_clast__clast_impact, mcp__plugin_clast_clast__clast_search, mcp__plugin_clast_clast__clast_get_context, mcp__plugin_clast_clast__clast_call_graph, mcp__plugin_clast_clast__clast_hierarchy, Grep, Read
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
Symbol: `$ARGUMENTS`. If empty, ask. If ambiguous, pick the candidate the user means and address it as `Container.name` or `path/file.ext:name`.
|
|
10
10
|
|
|
11
|
-
1. Call `clast_impact`.
|
|
11
|
+
1. If the clast tools are not available, call `clast_enable`. Call `clast_impact`.
|
|
12
12
|
2. Report in this order:
|
|
13
13
|
- Changes together: declarations, overrides, implementations, overloads.
|
|
14
14
|
- Direct callers by file and line. Read each `?` caller and state if it is real.
|
package/skills/status/SKILL.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: status
|
|
3
3
|
description: Show the state of the clast index for this project.
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
-
allowed-tools: mcp__plugin_clast_clast__clast_status, mcp__plugin_clast_clast__clast_reindex
|
|
5
|
+
allowed-tools: mcp__plugin_clast_clast__clast_enable, mcp__plugin_clast_clast__clast_status, mcp__plugin_clast_clast__clast_reindex
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
If `clast_status` is not available, clast is off for this project: report that and name `/clast:use`. Otherwise call `clast_status`. Report files, symbols, languages, up to date or building (with progress), database location. If it shows a problem, state it and offer `clast_reindex`. Do not reindex unasked.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: use
|
|
3
|
+
description: Turn clast on for this project (creates the .clast folder and builds the index).
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
allowed-tools: mcp__plugin_clast_clast__clast_enable
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
1. If `.clast` exists in the project root, clast is already on: report that and stop.
|
|
9
|
+
2. Call the `clast_enable` tool. If it is deferred, load it with tool search first.
|
|
10
|
+
3. If the tool is not available, create the folder `.clast` in the project root. The server finds it within seconds.
|
|
11
|
+
4. Report: clast is on, the index builds in the background. If the clast tools do not appear, run `/mcp` and reconnect `clast`, or restart the session.
|
|
12
|
+
|
|
13
|
+
To turn clast off for the project, delete the `.clast` folder.
|
package/src/query/search.ts
CHANGED
|
@@ -138,6 +138,26 @@ function bodyMatches(db: ClastDb, terms: string[]): Array<{ sym: SymbolRow; scor
|
|
|
138
138
|
return out.slice(0, 80);
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
+
/** Words of what each symbol's body calls and the receivers it calls them on (`socketChannel.write` -> socket, channel, write). */
|
|
142
|
+
function bodyWords(db: ClastDb, syms: SymbolRow[]): Map<number, string[]> {
|
|
143
|
+
const out = new Map<number, string[]>();
|
|
144
|
+
for (let i = 0; i < syms.length; i += 400) {
|
|
145
|
+
const ids = syms.slice(i, i + 400).map(s => s.id);
|
|
146
|
+
const rows = db.all<{ id: number; name: string; receiver: string | null; rtype: string | null }>(
|
|
147
|
+
`SELECT c.caller_id AS id, n.name AS name, c.receiver AS receiver, c.rtype AS rtype
|
|
148
|
+
FROM calls c JOIN names n ON n.id = c.name_id WHERE c.caller_id IN (${ids.map(() => '?').join(',')})`,
|
|
149
|
+
...ids
|
|
150
|
+
);
|
|
151
|
+
for (const r of rows) {
|
|
152
|
+
let words = out.get(r.id);
|
|
153
|
+
if (!words) out.set(r.id, (words = []));
|
|
154
|
+
if (words.length > 400) continue;
|
|
155
|
+
words.push(...splitIdentifier(`${r.name} ${r.receiver ?? ''} ${r.rtype ?? ''}`));
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return out;
|
|
159
|
+
}
|
|
160
|
+
|
|
141
161
|
/**
|
|
142
162
|
* Ranked symbol search. Accepts an identifier (`parseAndStore`), a partial or
|
|
143
163
|
* abbreviated name (`parseSt`, `pas`), a qualified name (`Indexer.indexAll`),
|
|
@@ -304,6 +324,33 @@ export function searchSymbols(db: ClastDb, query: string, opts: SearchOptions =
|
|
|
304
324
|
}
|
|
305
325
|
}
|
|
306
326
|
|
|
327
|
+
// 3a. A common name plus context: "write socket" means the `write` that has to do with sockets.
|
|
328
|
+
// Every definition with exactly that name is a candidate, and the other words choose among them by
|
|
329
|
+
// what surrounds each one: its container, what its body calls and on which receivers, its signature
|
|
330
|
+
// and doc comment, its path. Grep cannot do this: it returns every line that says "write".
|
|
331
|
+
if (isMultiWord && terms.length >= 2) {
|
|
332
|
+
for (const t of terms) {
|
|
333
|
+
const context = terms.filter(o => o !== t);
|
|
334
|
+
const named = db.all<SymbolRow>(`${select} WHERE s.name_lc = ? LIMIT 3000`, t).filter(accept);
|
|
335
|
+
if (named.length === 0) continue;
|
|
336
|
+
const bodies = bodyWords(db, named);
|
|
337
|
+
const hit = (words: string[], term: string): boolean => words.some(w => wordMatches(w, term));
|
|
338
|
+
add(named, 0, 'context', s => {
|
|
339
|
+
const container = splitIdentifier(s.qname.slice(0, Math.max(0, s.qname.length - s.name.length)));
|
|
340
|
+
const text = splitIdentifier(s.signature + ' ' + s.doc).filter(w => w !== t);
|
|
341
|
+
const path = splitIdentifier(s.path);
|
|
342
|
+
const body = bodies.get(s.id) ?? [];
|
|
343
|
+
let sum = 0;
|
|
344
|
+
for (const c of context) {
|
|
345
|
+
sum += hit(container, c) ? 1 : hit(text, c) ? 0.8 : hit(body, c) || hit(path, c) ? 0.5 : 0;
|
|
346
|
+
}
|
|
347
|
+
// No context word anywhere near it: not this one (scored below every other kind of match).
|
|
348
|
+
return sum === 0 ? -1000 : 52 + (sum / context.length) * 30;
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
for (const [id, h] of found) if (h.score < 0) found.delete(id);
|
|
352
|
+
}
|
|
353
|
+
|
|
307
354
|
// 3b. Bodies: a description often names what a function *uses* rather than what it is called
|
|
308
355
|
// ("where is the csrf token verified" -> a method whose body compares tokens). Find the
|
|
309
356
|
// functions whose code mentions most of the query's words.
|
package/src/server/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
3
|
-
import {
|
|
3
|
+
import { existsSync, mkdirSync } from 'node:fs';
|
|
4
|
+
import { join, resolve } from 'node:path';
|
|
4
5
|
import { pathToFileURL } from 'node:url';
|
|
5
6
|
import { z } from 'zod';
|
|
6
7
|
|
|
@@ -19,7 +20,7 @@ import { VERSION } from '../version.js';
|
|
|
19
20
|
|
|
20
21
|
const INSTRUCTIONS = `Clast is a pre-built, always-fresh code index for this repository. One call answers what otherwise takes several grep + read round trips, with exact file:line locations. Use it first for code navigation:
|
|
21
22
|
- Unfamiliar repo or directory -> clast_overview, then clast_file_summary.
|
|
22
|
-
- Where is X / what is it called -> clast_search (names, partial names, Class.method,
|
|
23
|
+
- Where is X / what is it called -> clast_search (names, partial names, Class.method, words describing behaviour, or a common name plus context: "write socket").
|
|
23
24
|
- Show me X, or before editing X -> clast_get_context (source of that symbol plus callers and callees).
|
|
24
25
|
- Who calls X -> clast_call_graph (depth N), clast_references (every use, including types and imports).
|
|
25
26
|
- Before changing or deleting X: what else must change, and which tests to run -> clast_impact.
|
|
@@ -32,6 +33,9 @@ When adding something new (a subclass, a handler, a provider): find the siblings
|
|
|
32
33
|
When renaming a symbol or changing a signature: if the name is distinctive, do NOT use clast - one Grep for the name lists every site, then edit. Use clast_impact first only when the name is common (get, run, close) so that Grep would drown in unrelated hits, when overrides or interface implementations must change with it, or to choose the tests to run.
|
|
33
34
|
Most tools take several names at once (arrays). Symbols: name, Container.name, or path/to/file.ext:name. "?" marks a name-based guess. The index follows file changes, including your own edits.`;
|
|
34
35
|
|
|
36
|
+
const DORMANT_INSTRUCTIONS =
|
|
37
|
+
'Clast (code index) is installed but off for this project: there is no .clast folder in the project root. Do not mention it. If the user asks to use clast, call clast_enable.';
|
|
38
|
+
|
|
35
39
|
const text = (t: string) => ({ content: [{ type: 'text' as const, text: t }] });
|
|
36
40
|
|
|
37
41
|
const READ_ONLY = { readOnlyHint: true, idempotentHint: true, openWorldHint: false } as const;
|
|
@@ -51,12 +55,29 @@ export async function startServer(): Promise<void> {
|
|
|
51
55
|
};
|
|
52
56
|
log(`v${VERSION} project root: ${projectRoot}`);
|
|
53
57
|
|
|
58
|
+
// Opt-in per project. The client starts this process in every project, code or not. It indexes and
|
|
59
|
+
// offers its tools only where a `.clast` folder exists in the project root (`/clast:use` or the
|
|
60
|
+
// `clast_enable` tool creates it; the index lives there). Anywhere else it stays dormant: one small
|
|
61
|
+
// tool, no index, no watcher. CLAST_ALWAYS=1 or an explicit CLAST_DB_PATH switches it on regardless.
|
|
62
|
+
const marker = join(projectRoot, '.clast');
|
|
63
|
+
const wanted = (): boolean => process.env.CLAST_ALWAYS === '1' || !!process.env.CLAST_DB_PATH || existsSync(marker);
|
|
64
|
+
const startActive = wanted();
|
|
65
|
+
const server = new McpServer(
|
|
66
|
+
{ name: 'clast', version: VERSION },
|
|
67
|
+
{ instructions: startActive ? INSTRUCTIONS : DORMANT_INSTRUCTIONS }
|
|
68
|
+
);
|
|
69
|
+
let active: { clast: Clast; watcher: FileWatcher } | null = null;
|
|
70
|
+
let connected = false;
|
|
71
|
+
let begin: (() => void) | null = null;
|
|
72
|
+
|
|
73
|
+
const activate = (): void => {
|
|
74
|
+
if (active) return;
|
|
75
|
+
mkdirSync(marker, { recursive: true });
|
|
54
76
|
const clast = new Clast(projectRoot);
|
|
55
77
|
const ctx = new ToolContext(clast);
|
|
56
78
|
const watcher = new FileWatcher(clast.indexer, clast.config.watch.debounceMs);
|
|
57
79
|
const commentGen = new CommentGenerator(clast.db, clast.config, ctx.lines);
|
|
58
|
-
|
|
59
|
-
const server = new McpServer({ name: 'clast', version: VERSION }, { instructions: INSTRUCTIONS });
|
|
80
|
+
active = { clast, watcher };
|
|
60
81
|
|
|
61
82
|
const names = z.union([z.string(), z.array(z.string()).max(20)]);
|
|
62
83
|
const guard = <A>(fn: (args: A) => Promise<string>, gated = true) => async (args: A) => {
|
|
@@ -361,12 +382,8 @@ export async function startServer(): Promise<void> {
|
|
|
361
382
|
})
|
|
362
383
|
);
|
|
363
384
|
|
|
364
|
-
//
|
|
365
|
-
|
|
366
|
-
const transport = new StdioServerTransport();
|
|
367
|
-
await server.connect(transport);
|
|
368
|
-
log('MCP server running on stdio');
|
|
369
|
-
|
|
385
|
+
// The index builds (or revalidates) in the background and tools report progress meanwhile.
|
|
386
|
+
begin = (): void => {
|
|
370
387
|
clast.indexer
|
|
371
388
|
.indexAll()
|
|
372
389
|
.then(r => {
|
|
@@ -391,16 +408,71 @@ export async function startServer(): Promise<void> {
|
|
|
391
408
|
watcher.on('error', ({ filePath, error }: { filePath: string; error: Error }) => {
|
|
392
409
|
log(`watch error ${filePath}: ${error.message}`);
|
|
393
410
|
});
|
|
411
|
+
};
|
|
412
|
+
if (connected) begin();
|
|
413
|
+
}; // activate
|
|
414
|
+
|
|
415
|
+
if (startActive) {
|
|
416
|
+
activate();
|
|
417
|
+
} else {
|
|
418
|
+
log('dormant: no .clast folder in the project root');
|
|
419
|
+
const enableTool = server.registerTool(
|
|
420
|
+
'clast_enable',
|
|
421
|
+
{
|
|
422
|
+
title: 'Turn clast on for this project',
|
|
423
|
+
description:
|
|
424
|
+
'Clast (code index) is off for this project. Call this only when the user asks to use clast: it creates the .clast folder in the project root, builds the index and adds the clast tools.',
|
|
425
|
+
inputSchema: {},
|
|
426
|
+
annotations: { readOnlyHint: false, idempotentHint: true, openWorldHint: false },
|
|
427
|
+
},
|
|
428
|
+
async () => {
|
|
429
|
+
try {
|
|
430
|
+
activate();
|
|
431
|
+
enableTool.remove();
|
|
432
|
+
return text(
|
|
433
|
+
`clast is on for ${projectRoot}. The index is building; the clast tools are available now ` +
|
|
434
|
+
`(reconnect the server or restart the session if they do not appear). ` +
|
|
435
|
+
`To turn it off again, delete the .clast folder.\n\n${INSTRUCTIONS}`
|
|
436
|
+
);
|
|
437
|
+
} catch (err) {
|
|
438
|
+
return { ...text(`error: ${err instanceof Error ? err.message : String(err)}`), isError: true };
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
);
|
|
442
|
+
// The folder can also appear without the tool (a skill, the CLI, the user): pick that up.
|
|
443
|
+
const poll = setInterval(() => {
|
|
444
|
+
if (active) return void clearInterval(poll);
|
|
445
|
+
if (!existsSync(marker)) return;
|
|
446
|
+
clearInterval(poll);
|
|
447
|
+
try {
|
|
448
|
+
activate();
|
|
449
|
+
enableTool.remove();
|
|
450
|
+
log('.clast folder found: active');
|
|
451
|
+
} catch (err) {
|
|
452
|
+
log(`could not activate: ${err instanceof Error ? err.message : err}`);
|
|
453
|
+
}
|
|
454
|
+
}, 2000);
|
|
455
|
+
poll.unref();
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
// Connect first so the client never waits on indexing.
|
|
459
|
+
const transport = new StdioServerTransport();
|
|
460
|
+
await server.connect(transport);
|
|
461
|
+
connected = true;
|
|
462
|
+
log('MCP server running on stdio');
|
|
463
|
+
(begin as (() => void) | null)?.();
|
|
394
464
|
|
|
395
465
|
let closing = false;
|
|
396
466
|
const shutdown = (): void => {
|
|
397
467
|
if (closing) return;
|
|
398
468
|
closing = true;
|
|
399
|
-
|
|
469
|
+
const live = active;
|
|
470
|
+
if (!live) return void process.exit(0);
|
|
471
|
+
live.watcher
|
|
400
472
|
.stop()
|
|
401
473
|
.catch(() => undefined)
|
|
402
474
|
.finally(() => {
|
|
403
|
-
try { clast.close(); } catch { /* already closed */ }
|
|
475
|
+
try { live.clast.close(); } catch { /* already closed */ }
|
|
404
476
|
process.exit(0);
|
|
405
477
|
});
|
|
406
478
|
};
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** Package version (keep in sync with package.json; checked by a test). */
|
|
2
|
-
export const VERSION = '0.
|
|
2
|
+
export const VERSION = '0.3.0';
|