@bulkpublishing/mcp-server 1.0.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/README.md +170 -0
- package/dist/ai/engine.d.ts +12 -0
- package/dist/ai/engine.d.ts.map +1 -0
- package/dist/ai/engine.js +397 -0
- package/dist/ai/engine.js.map +1 -0
- package/dist/ai/prompts.d.ts +30 -0
- package/dist/ai/prompts.d.ts.map +1 -0
- package/dist/ai/prompts.js +207 -0
- package/dist/ai/prompts.js.map +1 -0
- package/dist/auth/context.d.ts +81 -0
- package/dist/auth/context.d.ts.map +1 -0
- package/dist/auth/context.js +68 -0
- package/dist/auth/context.js.map +1 -0
- package/dist/auth/validate.d.ts +13 -0
- package/dist/auth/validate.d.ts.map +1 -0
- package/dist/auth/validate.js +87 -0
- package/dist/auth/validate.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +78 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/csv.d.ts +18 -0
- package/dist/tools/csv.d.ts.map +1 -0
- package/dist/tools/csv.js +673 -0
- package/dist/tools/csv.js.map +1 -0
- package/dist/tools/generation.d.ts +14 -0
- package/dist/tools/generation.d.ts.map +1 -0
- package/dist/tools/generation.js +291 -0
- package/dist/tools/generation.js.map +1 -0
- package/dist/tools/indexing.d.ts +11 -0
- package/dist/tools/indexing.d.ts.map +1 -0
- package/dist/tools/indexing.js +219 -0
- package/dist/tools/indexing.js.map +1 -0
- package/dist/tools/projects.d.ts +11 -0
- package/dist/tools/projects.d.ts.map +1 -0
- package/dist/tools/projects.js +181 -0
- package/dist/tools/projects.js.map +1 -0
- package/dist/tools/research.d.ts +12 -0
- package/dist/tools/research.d.ts.map +1 -0
- package/dist/tools/research.js +88 -0
- package/dist/tools/research.js.map +1 -0
- package/dist/tools/seo.d.ts +12 -0
- package/dist/tools/seo.d.ts.map +1 -0
- package/dist/tools/seo.js +164 -0
- package/dist/tools/seo.js.map +1 -0
- package/dist/tools/wordpress.d.ts +15 -0
- package/dist/tools/wordpress.d.ts.map +1 -0
- package/dist/tools/wordpress.js +447 -0
- package/dist/tools/wordpress.js.map +1 -0
- package/dist/types.d.ts +206 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/tools/csv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAE/C,iFAAiF;AACjF,MAAM,cAAc,GAA6B;IAC7C,OAAO,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,CAAC;IACxJ,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,CAAC;IAC1F,gBAAgB,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;IAChH,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC;IAC9E,QAAQ,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC;IACxE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,cAAc,CAAC;IACjE,UAAU,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC;IAC3F,YAAY,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,CAAC;IACrH,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,CAAC;IAC1D,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC;IAChH,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC;IAC7C,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC;IAC3C,IAAI,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,CAAC;CAC5E,CAAC;AAEF,SAAS,aAAa,CAAC,OAAiB;IACpC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IAEpF,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,+CAA+C;AAC/C,sBAAsB;AACtB,+CAA+C;AAE/C,SAAS,YAAY,CAAC,IAAY,EAAE,SAAiB;IACjD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC7C,OAAO,IAAI,GAAG,CAAC;oBACf,CAAC,EAAE,CAAC;gBACR,CAAC;qBAAM,CAAC;oBACJ,QAAQ,GAAG,KAAK,CAAC;gBACrB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,IAAI,IAAI,CAAC;YACpB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrB,OAAO,GAAG,EAAE,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACJ,OAAO,IAAI,IAAI,CAAC;YACpB,CAAC;QACL,CAAC;IACL,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,SAAiB,EAAE,QAAgB;IAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAE7D,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,IAAI,GAA6B,EAAE,CAAC;IAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACrD,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,+CAA+C;AAC/C,sBAAsB;AACtB,+CAA+C;AAE/C,SAAS,cAAc,CAAC,KAAa;IACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7F,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,+CAA+C;AAC/C,2CAA2C;AAC3C,+CAA+C;AAE/C,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACzD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACpE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAClE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IACtD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACjF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IACzD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IACrD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACtE,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACxF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;CACpE,CAAC,CAAC;AAIH,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C,SAAS,cAAc,CAAC,QAAwB,EAAE,OAMjD;IACG,IAAI,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAE3B,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;QAC3D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC;QACtD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC3B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,gBAAiB,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,+CAA+C;AAC/C,oBAAoB;AACpB,+CAA+C;AAE/C,SAAS,kBAAkB,CAAC,QAAwB,EAAE,OAAkB,EAAE,WAAqB;IAC3F,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACrI,MAAM,UAAU,GAAG,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;IAEzE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QACpC,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACxB,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,QAAQ,GAAG,EAAE,CAAC;gBACV,KAAK,OAAO;oBAAE,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;oBAAC,MAAM;gBAC/C,KAAK,MAAM;oBAAE,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;oBAAC,MAAM;gBAC7C,KAAK,SAAS;oBAAE,GAAG,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;oBAAC,MAAM;gBACnD,KAAK,kBAAkB;oBAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;oBAAC,MAAM;gBACrE,KAAK,SAAS;oBAAE,GAAG,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;oBAAC,MAAM;gBACnD,KAAK,cAAc;oBAAE,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAAC,MAAM;gBAC7E,KAAK,YAAY;oBAAE,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;oBAAC,MAAM;gBACjE,KAAK,OAAO;oBAAE,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;oBAAC,MAAM;gBAC/C,KAAK,QAAQ;oBAAE,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;oBAAC,MAAM;gBACtD,KAAK,UAAU;oBAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;oBAAC,MAAM;gBACrD,KAAK,MAAM;oBAAE,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;oBAAC,MAAM;gBAC7C,KAAK,QAAQ;oBAAE,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;oBAAC,MAAM;gBACjD,KAAK,YAAY;oBAAE,GAAG,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;oBAAC,MAAM;gBACzD,KAAK,WAAW;oBAAE,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAAC,MAAM;gBAC9E,KAAK,YAAY;oBAAE,GAAG,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;oBAAC,MAAM;gBACzD;oBAAS,GAAG,GAAI,OAAe,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBAAC,MAAM;YACtD,CAAC;YACD,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAqB,EAAE,WAAoB;IACrE,MAAM,WAAW,GAAwB;QACrC,KAAK,EAAE,OAAO,CAAC,KAAK;KACvB,CAAC;IACF,IAAI,OAAO,CAAC,IAAI;QAAE,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAClD,IAAI,OAAO,CAAC,OAAO;QAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC3D,IAAI,OAAO,CAAC,gBAAgB;QAAE,WAAW,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACtF,IAAI,OAAO,CAAC,UAAU;QAAE,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,MAAM;QAAE,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACxD,IAAI,WAAW;QAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC;IACnD,IAAI,OAAO,CAAC,UAAU;QAAE,WAAW,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACpE,IAAI,OAAO,CAAC,KAAK;QAAE,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM;QAAE,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACxD,IAAI,OAAO,CAAC,QAAQ;QAAE,WAAW,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC9D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;QACzD,OAAO,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAwB,EAAE,WAAoB,EAAE,MAAgB;IACzF,MAAM,MAAM,GAAG;QACX,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,OAAO,EAAE,WAAW,IAAI,SAAS;QACjC,cAAc,EAAE,QAAQ,CAAC,MAAM;QAC/B,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAChC,EAAE,EAAE,OAAO,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YAC7C,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;YACxB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,EAAE;YAC1C,gBAAgB,EAAE,CAAC,CAAC,OAAO;YAC3B,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC;YAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,OAAO;YAC3B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE;YAC1B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YACxD,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;YAC9B,kBAAkB,EAAE,CAAC,CAAC,kBAAkB,IAAI,EAAE;SACjD,CAAC,CAAC;KACN,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IACzB,OAAO,IAAI;SACN,WAAW,EAAE;SACb,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtB,CAAC;AAED,+CAA+C;AAC/C,oBAAoB;AACpB,+CAA+C;AAE/C,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAE9C,wBAAwB;IACxB,aAAa;IACb,wBAAwB;IACxB,MAAM,CAAC,IAAI,CACP,YAAY,EACZ,iOAAiO,EACjO;QACI,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC/D,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;QACjI,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACnF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC/D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8DAA8D,CAAC;QACzG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC5E,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;KAChG,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,6CAA6C,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7I,CAAC;QAED,IAAI,CAAC;YACD,YAAY;YACZ,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAA0B,EAAE,CAAC,CAAC;YAC7F,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAExE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uEAAuE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACvK,CAAC;YAED,iBAAiB;YACjB,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU;gBACjC,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;gBACzC,CAAC,CAAC,YAAY,CAAC;YAEnB,+BAA+B;YAC/B,MAAM,WAAW,GAA2B,EAAE,CAAC;YAC/C,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjE,WAAW,CAAC,SAAmB,CAAC,GAAG,SAAS,CAAC;YACjD,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC9B,MAAM,MAAM,GAA2B,EAAE,CAAC;gBAC1C,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChD,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;oBACtC,IAAI,SAAS,EAAE,CAAC;wBACZ,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACJ,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;oBAC3B,CAAC;gBACL,CAAC;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,eAAe;YACf,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YACpF,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAE9E,2BAA2B;YAC3B,MAAM,gBAAgB,GAA2B,EAAE,CAAC;YACpD,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC;gBAC7D,gBAAgB,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC;YAC9F,CAAC;YAED,4BAA4B;YAC5B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAwB;gBAChC,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM;gBACzD,gBAAgB,EAAE,gBAAgB;gBAClC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBAC5D,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChC,oBAAoB,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO;aAChD,CAAC;YAEF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,GAAG,iEAAiE,CAAC;YACpF,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;YAC9B,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAE3F,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,mBAAmB,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACnI,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uBAAuB,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACpI,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,wBAAwB;IACxB,aAAa;IACb,wBAAwB;IACxB,MAAM,CAAC,IAAI,CACP,YAAY,EACZ,6JAA6J,EAC7J;QACI,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QAC7E,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACxE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;QAC/G,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QAC3F,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAChF,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KAC1F,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,6CAA6C,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7I,CAAC;QAED,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAEtF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACtI,CAAC;YAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjF,0BAA0B;YAC1B,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAE1D,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACxC,MAAM,EAAE,SAAS;4BACjB,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,iBAAiB,EAAE,QAAQ,CAAC,MAAM;4BAClC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;yBACvE,EAAE,IAAI,EAAE,CAAC,CAAC;qBACd,CAAC;aACL,CAAC;QACN,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,sBAAsB,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACnI,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,wBAAwB;IACxB,kBAAkB;IAClB,wBAAwB;IACxB,MAAM,CAAC,IAAI,CACP,iBAAiB,EACjB,yJAAyJ,EACzJ;QACI,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACvE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACxE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;QACxG,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,uEAAuE,CAAC;QACvI,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAChH,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;QAChH,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;KAC9F,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,6CAA6C,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7I,CAAC;QAED,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAEtF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACtI,CAAC;YAED,6BAA6B;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY;gBAC5D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACxD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAEtB,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE7C,MAAM,OAAO,GAAa,EAAE,CAAC;YAE7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,oBAAoB;gBACpB,IAAI,QAAgB,CAAC;gBACrB,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;oBACzB,KAAK,OAAO;wBAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAAC,MAAM;oBACvD,KAAK,SAAS;wBAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;wBAAC,MAAM;oBAC5E;wBAAS,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAAC,MAAM;gBACtE,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;gBACtD,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnE,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YAED,iBAAiB;YACjB,MAAM,QAAQ,GAAG;gBACb,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,OAAO,EAAE,IAAI,CAAC,YAAY,IAAI,SAAS;gBACvC,WAAW,EAAE,OAAO,CAAC,MAAM;gBAC3B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC5C,CAAC;YACF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAE5G,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACxC,MAAM,EAAE,SAAS;4BACjB,gBAAgB,EAAE,OAAO;4BACzB,aAAa,EAAE,OAAO,CAAC,MAAM;4BAC7B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC;4BACrD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;yBAC5C,EAAE,IAAI,EAAE,CAAC,CAAC;qBACd,CAAC;aACL,CAAC;QACN,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,2BAA2B,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACxI,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,wBAAwB;IACxB,cAAc;IACd,wBAAwB;IACxB,MAAM,CAAC,IAAI,CACP,aAAa,EACb,sHAAsH,EACtH;QACI,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAC7D,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACxE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACpF,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC1E,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;KAC9F,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,6CAA6C,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7I,CAAC;QAED,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAEtF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACtI,CAAC;YAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAElF,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAE3D,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACxC,MAAM,EAAE,SAAS;4BACjB,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,iBAAiB,EAAE,QAAQ,CAAC,MAAM;4BAClC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;yBACxE,EAAE,IAAI,EAAE,CAAC,CAAC;qBACd,CAAC;aACL,CAAC;QACN,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uBAAuB,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACpI,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,wBAAwB;IACxB,cAAc;IACd,wBAAwB;IACxB,MAAM,CAAC,IAAI,CACP,aAAa,EACb,sLAAsL,EACtL;QACI,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QAC3G,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;QAC5F,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACxE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QAC9F,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QACvG,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACjF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACpF,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QACnF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC/E,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC9E,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAC7F,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KACpF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,6CAA6C,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7I,CAAC;QAED,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC3C,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aAC1C,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO;oBACH,OAAO,EAAE,CAAC;4BACN,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACxC,KAAK,EAAE,sCAAsC;gCAC7C,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gCACzC,eAAe,EAAE;oCACb,MAAM,EAAE,IAAI,CAAC,aAAa,IAAI,KAAK;oCACnC,KAAK,EAAE,IAAI,CAAC,YAAY,IAAI,KAAK;oCACjC,SAAS,EAAE,IAAI,CAAC,gBAAgB,IAAI,MAAM;oCAC1C,OAAO,EAAE,IAAI,CAAC,cAAc,IAAI,MAAM;oCACtC,SAAS,EAAE,IAAI,CAAC,gBAAgB,IAAI,MAAM;iCAC7C;6BACJ,EAAE,IAAI,EAAE,CAAC,CAAC;yBACd,CAAC;iBACL,CAAC;YACN,CAAC;YAED,IAAI,UAAU,GAAwB,EAAE,CAAC;YAEzC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClB,KAAK,KAAK,CAAC,CAAC,CAAC;oBACT,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC9D,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;oBAC1D,UAAU,GAAG;wBACT,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;qBACvE,CAAC;oBACF,MAAM;gBACV,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACV,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;oBAC3E,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;oBAC3D,UAAU,GAAG;wBACT,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;qBACxE,CAAC;oBACF,MAAM;gBACV,CAAC;gBAED,KAAK,UAAU,CAAC,CAAC,CAAC;oBACd,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY;wBAC5D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACzD,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;oBAEvB,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7C,MAAM,OAAO,GAAa,EAAE,CAAC;oBAE7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;wBAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;wBACtD,MAAM,EAAE,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;wBAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;wBAC1C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC1C,CAAC;oBAED,MAAM,QAAQ,GAAG;wBACb,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACrC,OAAO,EAAE,IAAI,CAAC,YAAY,IAAI,SAAS;wBACvC,WAAW,EAAE,OAAO,CAAC,MAAM;wBAC3B,KAAK,EAAE,OAAO;qBACjB,CAAC;oBACF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBAE7G,UAAU,GAAG;wBACT,gBAAgB,EAAE,OAAO;wBACzB,KAAK,EAAE,OAAO;wBACd,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC;qBACzD,CAAC;oBACF,MAAM;gBACV,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACV,gDAAgD;oBAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB;4BAC9B,CAAC,CAAC,mCAAmC,CAAC,CAAC,OAAO,IAAI,EAAE,mBAAmB,CAAC,CAAC,UAAU,IAAI,CAAC,yBAAyB,CAAC,CAAC,KAAK,IAAI,EAAE,iBAAiB;4BAC/I,CAAC,CAAC,EAAE,CAAC;wBACT,OAAO,kBAAkB,CAAC,CAAC,KAAK,UAAU,IAAI,0BAA0B,CAAC,CAAC,OAAO,sBAAsB,CAAC;oBAC5G,CAAC,CAAC,CAAC;oBACH,MAAM,WAAW,GAAG;;;;;SAKnC,IAAI,CAAC,YAAY,IAAI,mBAAmB;;;;;;;;;EAS/C,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;;QAEhB,CAAC;oBAEe,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;oBAC3D,UAAU,GAAG;wBACT,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;qBACxE,CAAC;oBACF,MAAM;gBACV,CAAC;YACL,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACxC,MAAM,EAAE,SAAS;4BACjB,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,iBAAiB,EAAE,QAAQ,CAAC,MAAM;4BAClC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;4BACzC,GAAG,UAAU;yBAChB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACd,CAAC;aACL,CAAC;QACN,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uBAAuB,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACpI,CAAC;IACL,CAAC,CACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BPAI MCP Server — Content Generation Tools
|
|
3
|
+
*
|
|
4
|
+
* MCP tool handlers for:
|
|
5
|
+
* - generate_article: Single article generation
|
|
6
|
+
* - generate_batch: Bulk generation from keyword list
|
|
7
|
+
* - list_models: List all available AI models
|
|
8
|
+
*
|
|
9
|
+
* API keys are loaded from the authenticated user's BPAI account.
|
|
10
|
+
* No inline key parameters needed.
|
|
11
|
+
*/
|
|
12
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
13
|
+
export declare function registerGenerationTools(server: McpServer): void;
|
|
14
|
+
//# sourceMappingURL=generation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../../src/tools/generation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,QA+SxD"}
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BPAI MCP Server — Content Generation Tools
|
|
3
|
+
*
|
|
4
|
+
* MCP tool handlers for:
|
|
5
|
+
* - generate_article: Single article generation
|
|
6
|
+
* - generate_batch: Bulk generation from keyword list
|
|
7
|
+
* - list_models: List all available AI models
|
|
8
|
+
*
|
|
9
|
+
* API keys are loaded from the authenticated user's BPAI account.
|
|
10
|
+
* No inline key parameters needed.
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
import { generateContent, listModels } from '../ai/engine.js';
|
|
14
|
+
import { buildGenerationPrompt, HUMANIZE_PROMPT } from '../ai/prompts.js';
|
|
15
|
+
import { getUserContext, getApiKey, getKnowledgeBaseContext, getProjectSettings } from '../auth/context.js';
|
|
16
|
+
export function registerGenerationTools(server) {
|
|
17
|
+
// ============================================
|
|
18
|
+
// generate_article
|
|
19
|
+
// ============================================
|
|
20
|
+
server.tool('generate_article', 'Generate a single SEO-optimized article from a keyword. Supports all 7 AI providers and 50+ models. Includes humanization and internal linking options.', {
|
|
21
|
+
keyword: z.string().describe('Target keyword or topic for the article'),
|
|
22
|
+
provider: z.enum(['openai', 'claude', 'deepseek', 'grok', 'gemini', 'perplexity', 'kimi']).default('openai').describe('AI provider to use'),
|
|
23
|
+
model: z.string().optional().describe('Specific model ID (e.g., gpt-5.2, claude-opus-4.5). Defaults to account default or provider flagship'),
|
|
24
|
+
word_count: z.number().optional().default(2500).describe('Target word count (500-10000)'),
|
|
25
|
+
temperature: z.number().optional().default(0.7).describe('Generation temperature (0.0-1.0)'),
|
|
26
|
+
tone: z.string().optional().describe('Writing tone (e.g., "professional", "casual", "technical")'),
|
|
27
|
+
humanize: z.boolean().optional().default(false).describe('Run anti-AI detection pass after generation'),
|
|
28
|
+
research_context: z.string().optional().describe('Pre-fetched research data to inject into the prompt'),
|
|
29
|
+
include_knowledge_base: z.boolean().optional().default(true).describe('Include project knowledge base context'),
|
|
30
|
+
internal_linking: z.boolean().optional().default(true).describe('Apply internal linking from project settings'),
|
|
31
|
+
max_internal_links: z.number().optional().default(5).describe('Max internal links to include (1-10)'),
|
|
32
|
+
project_id: z.string().optional().describe('Project ID (defaults to active project)'),
|
|
33
|
+
}, async (args) => {
|
|
34
|
+
const ctx = getUserContext();
|
|
35
|
+
if (!ctx.authenticated) {
|
|
36
|
+
return { content: [{ type: 'text', text: JSON.stringify({ error: 'Not authenticated. Check your BPAI_API_KEY.' }, null, 2) }] };
|
|
37
|
+
}
|
|
38
|
+
const provider = args.provider;
|
|
39
|
+
// Build API keys from authenticated account + env fallback
|
|
40
|
+
const keys = {
|
|
41
|
+
openai: getApiKey('openai'),
|
|
42
|
+
claude: getApiKey('claude'),
|
|
43
|
+
deepseek: getApiKey('deepseek'),
|
|
44
|
+
grok: getApiKey('grok'),
|
|
45
|
+
gemini: getApiKey('gemini'),
|
|
46
|
+
perplexity: getApiKey('perplexity'),
|
|
47
|
+
kimi: getApiKey('kimi'),
|
|
48
|
+
};
|
|
49
|
+
// Verify the selected provider has a key
|
|
50
|
+
if (!keys[provider]) {
|
|
51
|
+
return {
|
|
52
|
+
content: [{
|
|
53
|
+
type: 'text', text: JSON.stringify({
|
|
54
|
+
error: `Missing API key for provider "${provider}". Add your ${provider} API key in the BPAI web dashboard under Settings → API Keys.`,
|
|
55
|
+
}, null, 2)
|
|
56
|
+
}],
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
// Load project-level context
|
|
60
|
+
const project = getProjectSettings(args.project_id);
|
|
61
|
+
const kbContext = args.include_knowledge_base ? getKnowledgeBaseContext(args.project_id) : undefined;
|
|
62
|
+
// Resolve internal linking URLs from project settings
|
|
63
|
+
let internalLinkUrls;
|
|
64
|
+
if (args.internal_linking && project?.settings?.internal_linking?.enabled) {
|
|
65
|
+
internalLinkUrls = project.settings.internal_linking.sitemapUrls;
|
|
66
|
+
}
|
|
67
|
+
// Build prompts
|
|
68
|
+
const { systemPrompt, userPrompt } = buildGenerationPrompt({
|
|
69
|
+
keyword: args.keyword,
|
|
70
|
+
wordCount: args.word_count,
|
|
71
|
+
tone: args.tone,
|
|
72
|
+
researchContext: args.research_context,
|
|
73
|
+
knowledgeBaseContext: kbContext,
|
|
74
|
+
internalLinkUrls,
|
|
75
|
+
maxInternalLinks: args.max_internal_links,
|
|
76
|
+
});
|
|
77
|
+
const settings = {
|
|
78
|
+
model: args.model || getDefaultModel(provider),
|
|
79
|
+
temperature: args.temperature ?? 0.7,
|
|
80
|
+
maxTokens: Math.min(args.word_count ? args.word_count * 3 : 16384, 65536),
|
|
81
|
+
};
|
|
82
|
+
// Generate
|
|
83
|
+
const result = await generateContent({
|
|
84
|
+
provider,
|
|
85
|
+
systemPrompt,
|
|
86
|
+
userPrompt,
|
|
87
|
+
settings,
|
|
88
|
+
}, keys);
|
|
89
|
+
if (result.error) {
|
|
90
|
+
return {
|
|
91
|
+
content: [{
|
|
92
|
+
type: 'text', text: JSON.stringify({
|
|
93
|
+
error: result.error,
|
|
94
|
+
provider,
|
|
95
|
+
model: settings.model,
|
|
96
|
+
}, null, 2)
|
|
97
|
+
}],
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
let finalText = result.text;
|
|
101
|
+
// Humanization pass
|
|
102
|
+
if (args.humanize && finalText) {
|
|
103
|
+
const humanizePrompt = HUMANIZE_PROMPT.replace('{{content}}', finalText);
|
|
104
|
+
const humanized = await generateContent({
|
|
105
|
+
provider,
|
|
106
|
+
systemPrompt: 'You are a senior human editor.',
|
|
107
|
+
userPrompt: humanizePrompt,
|
|
108
|
+
settings: { ...settings, maxTokens: 65536 },
|
|
109
|
+
}, keys);
|
|
110
|
+
if (humanized.text && humanized.text.length > finalText.length * 0.5) {
|
|
111
|
+
finalText = humanized.text;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// Extract meta description if present
|
|
115
|
+
let metaDescription = '';
|
|
116
|
+
const metaMatch = finalText.match(/META_DESCRIPTION:\s*(.+)/i);
|
|
117
|
+
if (metaMatch) {
|
|
118
|
+
metaDescription = metaMatch[1].trim();
|
|
119
|
+
finalText = finalText.replace(/META_DESCRIPTION:\s*.+/i, '').trim();
|
|
120
|
+
}
|
|
121
|
+
// Extract title from first H1
|
|
122
|
+
let title = args.keyword;
|
|
123
|
+
const titleMatch = finalText.match(/^#\s+(.+)/m);
|
|
124
|
+
if (titleMatch) {
|
|
125
|
+
title = titleMatch[1].trim();
|
|
126
|
+
}
|
|
127
|
+
const wordCount = finalText.split(/\s+/).length;
|
|
128
|
+
return {
|
|
129
|
+
content: [{
|
|
130
|
+
type: 'text', text: JSON.stringify({
|
|
131
|
+
status: 'success',
|
|
132
|
+
article: {
|
|
133
|
+
title,
|
|
134
|
+
keyword: args.keyword,
|
|
135
|
+
content: finalText,
|
|
136
|
+
meta_description: metaDescription,
|
|
137
|
+
word_count: wordCount,
|
|
138
|
+
model: settings.model,
|
|
139
|
+
provider,
|
|
140
|
+
humanized: args.humanize || false,
|
|
141
|
+
citations: result.citations || [],
|
|
142
|
+
},
|
|
143
|
+
}, null, 2)
|
|
144
|
+
}],
|
|
145
|
+
};
|
|
146
|
+
});
|
|
147
|
+
// ============================================
|
|
148
|
+
// generate_batch
|
|
149
|
+
// ============================================
|
|
150
|
+
server.tool('generate_batch', 'Generate multiple articles from a list of keywords. Processes sequentially with progress reporting. API keys are loaded from your BPAI account.', {
|
|
151
|
+
keywords: z.array(z.string()).describe('Array of keywords to generate articles for'),
|
|
152
|
+
provider: z.enum(['openai', 'claude', 'deepseek', 'grok', 'gemini', 'perplexity', 'kimi']).default('openai'),
|
|
153
|
+
model: z.string().optional().describe('Model ID to use for all articles'),
|
|
154
|
+
word_count: z.number().optional().default(2500),
|
|
155
|
+
temperature: z.number().optional().default(0.7),
|
|
156
|
+
tone: z.string().optional(),
|
|
157
|
+
humanize: z.boolean().optional().default(false),
|
|
158
|
+
include_knowledge_base: z.boolean().optional().default(true),
|
|
159
|
+
internal_linking: z.boolean().optional().default(true),
|
|
160
|
+
max_internal_links: z.number().optional().default(5),
|
|
161
|
+
project_id: z.string().optional().describe('Project ID (defaults to active project)'),
|
|
162
|
+
}, async (args) => {
|
|
163
|
+
const ctx = getUserContext();
|
|
164
|
+
if (!ctx.authenticated) {
|
|
165
|
+
return { content: [{ type: 'text', text: JSON.stringify({ error: 'Not authenticated.' }, null, 2) }] };
|
|
166
|
+
}
|
|
167
|
+
const provider = args.provider;
|
|
168
|
+
const keys = {
|
|
169
|
+
openai: getApiKey('openai'),
|
|
170
|
+
claude: getApiKey('claude'),
|
|
171
|
+
deepseek: getApiKey('deepseek'),
|
|
172
|
+
grok: getApiKey('grok'),
|
|
173
|
+
gemini: getApiKey('gemini'),
|
|
174
|
+
perplexity: getApiKey('perplexity'),
|
|
175
|
+
kimi: getApiKey('kimi'),
|
|
176
|
+
};
|
|
177
|
+
if (!keys[provider]) {
|
|
178
|
+
return {
|
|
179
|
+
content: [{
|
|
180
|
+
type: 'text', text: JSON.stringify({
|
|
181
|
+
error: `Missing API key for provider "${provider}". Add it in BPAI Settings → API Keys.`,
|
|
182
|
+
}, null, 2)
|
|
183
|
+
}],
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
const results = [];
|
|
187
|
+
let completed = 0;
|
|
188
|
+
let failed = 0;
|
|
189
|
+
for (let i = 0; i < args.keywords.length; i++) {
|
|
190
|
+
const keyword = args.keywords[i];
|
|
191
|
+
try {
|
|
192
|
+
const project = getProjectSettings(args.project_id);
|
|
193
|
+
const kbContext = args.include_knowledge_base ? getKnowledgeBaseContext(args.project_id) : undefined;
|
|
194
|
+
let internalLinkUrls;
|
|
195
|
+
if (args.internal_linking && project?.settings?.internal_linking?.enabled) {
|
|
196
|
+
internalLinkUrls = project.settings.internal_linking.sitemapUrls;
|
|
197
|
+
}
|
|
198
|
+
const { systemPrompt, userPrompt } = buildGenerationPrompt({
|
|
199
|
+
keyword,
|
|
200
|
+
wordCount: args.word_count,
|
|
201
|
+
tone: args.tone,
|
|
202
|
+
knowledgeBaseContext: kbContext,
|
|
203
|
+
internalLinkUrls,
|
|
204
|
+
maxInternalLinks: args.max_internal_links,
|
|
205
|
+
openerSeedIndex: i,
|
|
206
|
+
});
|
|
207
|
+
const settings = {
|
|
208
|
+
model: args.model || getDefaultModel(provider),
|
|
209
|
+
temperature: args.temperature ?? 0.7,
|
|
210
|
+
maxTokens: Math.min((args.word_count || 2500) * 3, 65536),
|
|
211
|
+
};
|
|
212
|
+
const result = await generateContent({
|
|
213
|
+
provider,
|
|
214
|
+
systemPrompt,
|
|
215
|
+
userPrompt,
|
|
216
|
+
settings,
|
|
217
|
+
}, keys);
|
|
218
|
+
if (result.error) {
|
|
219
|
+
failed++;
|
|
220
|
+
results.push({ keyword, status: 'failed', error: result.error });
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
completed++;
|
|
224
|
+
let text = result.text;
|
|
225
|
+
// Extract title
|
|
226
|
+
let title = keyword;
|
|
227
|
+
const titleMatch = text.match(/^#\s+(.+)/m);
|
|
228
|
+
if (titleMatch)
|
|
229
|
+
title = titleMatch[1].trim();
|
|
230
|
+
results.push({
|
|
231
|
+
keyword,
|
|
232
|
+
status: 'success',
|
|
233
|
+
title,
|
|
234
|
+
word_count: text.split(/\s+/).length,
|
|
235
|
+
content_preview: text.substring(0, 200) + '...',
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
catch (err) {
|
|
240
|
+
failed++;
|
|
241
|
+
results.push({ keyword, status: 'failed', error: err.message });
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return {
|
|
245
|
+
content: [{
|
|
246
|
+
type: 'text', text: JSON.stringify({
|
|
247
|
+
status: 'completed',
|
|
248
|
+
total: args.keywords.length,
|
|
249
|
+
completed,
|
|
250
|
+
failed,
|
|
251
|
+
provider,
|
|
252
|
+
model: args.model || getDefaultModel(provider),
|
|
253
|
+
results,
|
|
254
|
+
}, null, 2)
|
|
255
|
+
}],
|
|
256
|
+
};
|
|
257
|
+
});
|
|
258
|
+
// ============================================
|
|
259
|
+
// list_models
|
|
260
|
+
// ============================================
|
|
261
|
+
server.tool('list_models', 'List all available AI models across all providers, or filter by a specific provider. Returns model IDs, display names, and token limits.', {
|
|
262
|
+
provider: z.enum(['openai', 'claude', 'deepseek', 'grok', 'gemini', 'perplexity', 'kimi']).optional().describe('Filter by provider'),
|
|
263
|
+
}, async (args) => {
|
|
264
|
+
const models = listModels(args.provider);
|
|
265
|
+
return {
|
|
266
|
+
content: [{
|
|
267
|
+
type: 'text', text: JSON.stringify({
|
|
268
|
+
total: models.length,
|
|
269
|
+
provider: args.provider || 'all',
|
|
270
|
+
models,
|
|
271
|
+
}, null, 2)
|
|
272
|
+
}],
|
|
273
|
+
};
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
// ============================================
|
|
277
|
+
// HELPERS
|
|
278
|
+
// ============================================
|
|
279
|
+
function getDefaultModel(provider) {
|
|
280
|
+
const defaults = {
|
|
281
|
+
openai: 'gpt-5.2',
|
|
282
|
+
claude: 'claude-opus-4.5',
|
|
283
|
+
deepseek: 'deepseek-chat',
|
|
284
|
+
grok: 'grok-4.1-fast',
|
|
285
|
+
gemini: 'gemini-3-pro',
|
|
286
|
+
perplexity: 'sonar-pro',
|
|
287
|
+
kimi: 'kimi-k2.5',
|
|
288
|
+
};
|
|
289
|
+
return defaults[provider] || 'gpt-5.2';
|
|
290
|
+
}
|
|
291
|
+
//# sourceMappingURL=generation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generation.js","sourceRoot":"","sources":["../../src/tools/generation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BPAI MCP Server — Indexing & SEO Tools
|
|
3
|
+
*
|
|
4
|
+
* MCP tool handlers for:
|
|
5
|
+
* - broadcast_urls: Submit URLs to IndexNow and ping services
|
|
6
|
+
* - indexnow_submit: Direct IndexNow submission
|
|
7
|
+
* - fetch_sitemap: Parse and return URLs from a sitemap
|
|
8
|
+
*/
|
|
9
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
10
|
+
export declare function registerIndexingTools(server: McpServer): void;
|
|
11
|
+
//# sourceMappingURL=indexing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexing.d.ts","sourceRoot":"","sources":["../../src/tools/indexing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,QAuMtD"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BPAI MCP Server — Indexing & SEO Tools
|
|
3
|
+
*
|
|
4
|
+
* MCP tool handlers for:
|
|
5
|
+
* - broadcast_urls: Submit URLs to IndexNow and ping services
|
|
6
|
+
* - indexnow_submit: Direct IndexNow submission
|
|
7
|
+
* - fetch_sitemap: Parse and return URLs from a sitemap
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
export function registerIndexingTools(server) {
|
|
11
|
+
// ============================================
|
|
12
|
+
// broadcast_urls
|
|
13
|
+
// ============================================
|
|
14
|
+
server.tool('broadcast_urls', 'Submit URLs to index engines via IndexNow and traditional ping services (Google, Bing, WebSub). Supports batch submission.', {
|
|
15
|
+
urls: z.array(z.string()).describe('Array of URLs to broadcast'),
|
|
16
|
+
indexnow_key: z.string().optional().describe('IndexNow API key (defaults to env INDEXNOW_KEY)'),
|
|
17
|
+
indexnow_host: z.string().optional().describe('Search engine to submit to (default: api.indexnow.org)'),
|
|
18
|
+
enable_ping: z.boolean().optional().default(true).describe('Send pings to Google, Bing, WebSub'),
|
|
19
|
+
}, async (args) => {
|
|
20
|
+
const indexNowKey = args.indexnow_key || process.env.INDEXNOW_KEY;
|
|
21
|
+
const results = [];
|
|
22
|
+
// IndexNow submission
|
|
23
|
+
if (indexNowKey) {
|
|
24
|
+
const host = args.indexnow_host || 'api.indexnow.org';
|
|
25
|
+
const batchSize = 100; // IndexNow limit
|
|
26
|
+
for (let i = 0; i < args.urls.length; i += batchSize) {
|
|
27
|
+
const batch = args.urls.slice(i, i + batchSize);
|
|
28
|
+
try {
|
|
29
|
+
const urlObj = new URL(batch[0]);
|
|
30
|
+
const siteHost = urlObj.host;
|
|
31
|
+
const response = await fetch(`https://${host}/indexnow`, {
|
|
32
|
+
method: 'POST',
|
|
33
|
+
headers: { 'Content-Type': 'application/json' },
|
|
34
|
+
body: JSON.stringify({
|
|
35
|
+
host: siteHost,
|
|
36
|
+
key: indexNowKey,
|
|
37
|
+
urlList: batch,
|
|
38
|
+
}),
|
|
39
|
+
});
|
|
40
|
+
results.push({
|
|
41
|
+
service: 'IndexNow',
|
|
42
|
+
batch: `${i + 1}-${i + batch.length}`,
|
|
43
|
+
status: response.ok ? 'accepted' : 'failed',
|
|
44
|
+
code: response.status,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
results.push({
|
|
49
|
+
service: 'IndexNow',
|
|
50
|
+
batch: `${i + 1}-${i + batch.length}`,
|
|
51
|
+
status: 'error',
|
|
52
|
+
error: error.message,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
results.push({
|
|
59
|
+
service: 'IndexNow',
|
|
60
|
+
status: 'skipped',
|
|
61
|
+
reason: 'No IndexNow key provided',
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
// Traditional ping services
|
|
65
|
+
if (args.enable_ping) {
|
|
66
|
+
const pingServices = [
|
|
67
|
+
{ name: 'Google Ping', urlTemplate: 'https://www.google.com/ping?sitemap=' },
|
|
68
|
+
{ name: 'Bing Ping', urlTemplate: 'https://www.bing.com/ping?sitemap=' },
|
|
69
|
+
];
|
|
70
|
+
// We ping the sitemap URL if available, otherwise use the first URL
|
|
71
|
+
const targetUrl = args.urls[0];
|
|
72
|
+
for (const service of pingServices) {
|
|
73
|
+
try {
|
|
74
|
+
const response = await fetch(`${service.urlTemplate}${encodeURIComponent(targetUrl)}`, {
|
|
75
|
+
method: 'GET',
|
|
76
|
+
});
|
|
77
|
+
results.push({
|
|
78
|
+
service: service.name,
|
|
79
|
+
status: response.ok ? 'success' : 'failed',
|
|
80
|
+
code: response.status,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
results.push({
|
|
85
|
+
service: service.name,
|
|
86
|
+
status: 'error',
|
|
87
|
+
error: error.message,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
content: [{
|
|
94
|
+
type: 'text', text: JSON.stringify({
|
|
95
|
+
status: 'completed',
|
|
96
|
+
urls_submitted: args.urls.length,
|
|
97
|
+
results,
|
|
98
|
+
}, null, 2)
|
|
99
|
+
}],
|
|
100
|
+
};
|
|
101
|
+
});
|
|
102
|
+
// ============================================
|
|
103
|
+
// indexnow_submit
|
|
104
|
+
// ============================================
|
|
105
|
+
server.tool('indexnow_submit', 'Submit a single URL or list of URLs directly to IndexNow for immediate indexing notification.', {
|
|
106
|
+
urls: z.array(z.string()).describe('URLs to submit to IndexNow'),
|
|
107
|
+
key: z.string().optional().describe('IndexNow API key'),
|
|
108
|
+
search_engine: z.enum(['api.indexnow.org', 'www.bing.com', 'search.seznam.cz', 'yandex.com']).default('api.indexnow.org'),
|
|
109
|
+
}, async (args) => {
|
|
110
|
+
const key = args.key || process.env.INDEXNOW_KEY;
|
|
111
|
+
if (!key) {
|
|
112
|
+
return {
|
|
113
|
+
content: [{
|
|
114
|
+
type: 'text', text: JSON.stringify({
|
|
115
|
+
error: 'IndexNow API key is required. Pass it as "key" or set INDEXNOW_KEY env var.',
|
|
116
|
+
}, null, 2)
|
|
117
|
+
}],
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
const urlObj = new URL(args.urls[0]);
|
|
121
|
+
const siteHost = urlObj.host;
|
|
122
|
+
try {
|
|
123
|
+
const response = await fetch(`https://${args.search_engine}/indexnow`, {
|
|
124
|
+
method: 'POST',
|
|
125
|
+
headers: { 'Content-Type': 'application/json' },
|
|
126
|
+
body: JSON.stringify({
|
|
127
|
+
host: siteHost,
|
|
128
|
+
key,
|
|
129
|
+
urlList: args.urls,
|
|
130
|
+
}),
|
|
131
|
+
});
|
|
132
|
+
return {
|
|
133
|
+
content: [{
|
|
134
|
+
type: 'text', text: JSON.stringify({
|
|
135
|
+
status: response.ok ? 'accepted' : 'rejected',
|
|
136
|
+
code: response.status,
|
|
137
|
+
urls_count: args.urls.length,
|
|
138
|
+
search_engine: args.search_engine,
|
|
139
|
+
}, null, 2)
|
|
140
|
+
}],
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
return {
|
|
145
|
+
content: [{
|
|
146
|
+
type: 'text', text: JSON.stringify({
|
|
147
|
+
error: `IndexNow submission failed: ${error.message}`,
|
|
148
|
+
}, null, 2)
|
|
149
|
+
}],
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
// ============================================
|
|
154
|
+
// fetch_sitemap
|
|
155
|
+
// ============================================
|
|
156
|
+
server.tool('fetch_sitemap', 'Fetch and parse a sitemap.xml file, returning all URLs found. Supports sitemap index files (recursively fetches child sitemaps).', {
|
|
157
|
+
sitemap_url: z.string().describe('URL of the sitemap.xml to parse'),
|
|
158
|
+
max_urls: z.number().optional().default(1000).describe('Maximum number of URLs to return'),
|
|
159
|
+
}, async (args) => {
|
|
160
|
+
try {
|
|
161
|
+
const urls = await parseSitemap(args.sitemap_url, args.max_urls || 1000);
|
|
162
|
+
return {
|
|
163
|
+
content: [{
|
|
164
|
+
type: 'text', text: JSON.stringify({
|
|
165
|
+
status: 'success',
|
|
166
|
+
sitemap_url: args.sitemap_url,
|
|
167
|
+
url_count: urls.length,
|
|
168
|
+
urls,
|
|
169
|
+
}, null, 2)
|
|
170
|
+
}],
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
return {
|
|
175
|
+
content: [{
|
|
176
|
+
type: 'text', text: JSON.stringify({
|
|
177
|
+
error: `Failed to fetch sitemap: ${error.message}`,
|
|
178
|
+
}, null, 2)
|
|
179
|
+
}],
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
// ============================================
|
|
185
|
+
// HELPERS
|
|
186
|
+
// ============================================
|
|
187
|
+
async function parseSitemap(url, maxUrls) {
|
|
188
|
+
const response = await fetch(url);
|
|
189
|
+
if (!response.ok)
|
|
190
|
+
throw new Error(`HTTP ${response.status}`);
|
|
191
|
+
const text = await response.text();
|
|
192
|
+
const urls = [];
|
|
193
|
+
// Check for sitemap index
|
|
194
|
+
if (text.includes('<sitemapindex')) {
|
|
195
|
+
const sitemapUrlMatches = text.matchAll(/<loc>([^<]+)<\/loc>/g);
|
|
196
|
+
const childUrls = [];
|
|
197
|
+
for (const match of sitemapUrlMatches) {
|
|
198
|
+
childUrls.push(match[1].trim());
|
|
199
|
+
}
|
|
200
|
+
// Recursively fetch child sitemaps
|
|
201
|
+
for (const childUrl of childUrls) {
|
|
202
|
+
if (urls.length >= maxUrls)
|
|
203
|
+
break;
|
|
204
|
+
const childUrls2 = await parseSitemap(childUrl, maxUrls - urls.length);
|
|
205
|
+
urls.push(...childUrls2);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
// Standard sitemap
|
|
210
|
+
const locMatches = text.matchAll(/<loc>([^<]+)<\/loc>/g);
|
|
211
|
+
for (const match of locMatches) {
|
|
212
|
+
if (urls.length >= maxUrls)
|
|
213
|
+
break;
|
|
214
|
+
urls.push(match[1].trim());
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return urls;
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=indexing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexing.js","sourceRoot":"","sources":["../../src/tools/indexing.ts"],"names":[],"mappings":"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"}
|