@ttpears/gitlab-mcp-server 1.18.1 → 2.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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,iGAAiG;AACjG,8DAA8D;AAC9D,MAAM,YAAY,GAAG,CAAC,MAAW,EAA2B,EAAE,CAC5D,eAAe,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAA4B,CAAC;AAChF,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,SAAS,EACT,QAAQ,EACR,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,oCAAoC,EAAE,MAAM,iDAAiD,CAAC;AACtH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gEAAgE,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpE,iFAAiF;AACjF,gFAAgF;AAChF,wDAAwD;AACxD,MAAM,cAAc,GAAW,CAAC,GAAG,EAAE;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1F,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,eAAe;IACX,MAAM,GAAkB,IAAI,CAAC,CAAC,2BAA2B;IACzD,YAAY,CAAuB;IACnC,YAAY,GAKf,IAAI,GAAG,EAAE,CAAC;IACP,sBAAsB,CAAkB;IACxC,aAAa,CAAuB;IAE5C;QACE,2DAA2D;QAC3D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEpD,+CAA+C;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK;gBAC7B,CAAC,CAAC,4BAA4B;gBAC9B,CAAC,CAAC,MAAM,CAAC,SAAS;oBAChB,CAAC,CAAC,+BAA+B;oBACjC,CAAC,CAAC,+DAA+D,CAAC;YACtE,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,cAAc;SACxB,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;aACZ;SACF,CACF,CAAC;QAEF,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEjC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YACzB,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,iBAAiB,CAAC,MAAc;QACtC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YAC1D,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACxB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;oBACxC,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;oBAC3C,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3E,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC1D,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;iBACtC,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YACvE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,IAAI,YAAY,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAE1D,uEAAuE;gBACvE,2BAA2B;gBAC3B,IAAI,UAAU,GAAG,cAAc,CAAC,eAAe,CAAC;gBAEhD,wEAAwE;gBACxE,0EAA0E;gBAC1E,2EAA2E;gBAC3E,2EAA2E;gBAC3E,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,WAAW,GAAI,KAAK,EAAE,QAAQ,EAAE,KAA8C,EAAE,WAAW,CAAC;oBAClG,IAAI,WAAW,EAAE,CAAC;wBAChB,UAAU,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;oBAC5C,CAAC;gBACH,CAAC;gBAED,0DAA0D;gBAC1D,kEAAkE;gBAClE,kEAAkE;gBAClE,kDAAkD;gBAClD,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE,SAAS,EAAE,CAAC;oBACpC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAmB,CAAC,CAAC;oBACrE,IAAI,WAAW,EAAE,UAAU,EAAE,CAAC;wBAC5B,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;oBACtC,CAAC;gBACH,CAAC;gBAED,OAAO,cAAc,CAAC,eAAe,CAAC,CAAC,gDAAgD;gBAEvF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBAEjF,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;oBAC3B,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CAAC,MAAc;QACxC,qDAAqD;QACrD,MAAM,OAAO,GAAG;YACd;gBACE,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,wDAAwD;gBACrE,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,uDAAuD;wBACpE,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,gDAAgD;gBAC7D,SAAS,EAAE,EAAE;aACd;YACD;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,mDAAmD;gBAChE,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,uDAAuD;wBACpE,QAAQ,EAAE,IAAI;qBACf;oBACD;wBACE,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,0BAA0B;wBACvC,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;SACF,CAAC;QAEF,MAAM,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YAC5D,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACjE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,IAAI,EAAE,WAAqB,CAAC;gBAChD,OAAO;oBACL,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE;gCACP,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,sCAAsC,WAAW;;;;;;gDAMvB;6BACjC;yBACF;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC5B,OAAO;oBACL,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE;gCACP,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE;;;;;mEAK6C;6BACpD;yBACF;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBACpC,MAAM,WAAW,GAAG,IAAI,EAAE,WAAqB,CAAC;gBAChD,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;gBACpC,OAAO;oBACL,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE;gCACP,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,gCAAgC,KAAK,gBAAgB,WAAW;;;;;;;0EAOZ;6BAC3D;yBACF;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB;QAC1B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAChC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC;YAC9B,0BAA0B;YAC1B,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5D,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC5B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,gCAAgC;gBAClC,CAAC;YACH,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,gCAAgC;YAChC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC5B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,mBAAmB;QACzB,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,+BAA+B;QACvE,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,yCAAyC;QAEjF,IAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,eAAe,GAAa,EAAE,CAAC;YAErC,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5D,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,eAAe,EAAE,CAAC;oBAC9C,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC9C,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,CAAC,KAAK,CAAC,iBAAiB,SAAS,4BAA4B,CAAC,CAAC;oBACtE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACpC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACvC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,oBAAoB,eAAe,CAAC,MAAM,yCAAyC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7H,CAAC;QACH,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,GAAoB;QACjD,6EAA6E;QAC7E,8EAA8E;QAC9E,+EAA+E;QAC/E,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,UAAU,GAAI,GAAG,CAAC,OAAO,CAAC,eAAe,CAAY,IAAI,EAAE,CAAC;QAClE,MAAM,eAAe,GAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAY,IAAI,SAAS,CAAC;QAE7E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC;YAC5C,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;YAC3C,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAEtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;IAC5D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAAC,GAAoB,EAAE,GAAqB;QAC5E,IAAI,CAAC;YACH,sCAAsC;YACtC,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAC/D,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAE/D,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE;wBACL,IAAI,EAAE,CAAC,KAAK;wBACZ,OAAO,EAAE,+EAA+E;qBACzF;oBACD,EAAE,EAAE,IAAI;iBACT,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,oEAAoE;YACpE,MAAM,eAAe,GAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAY;gBACzC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAY,IAAI,EAAE,CAAC;YAEvE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC3C,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,MAAM,YAAY,eAAe,IAAI,MAAM,EAAE,CAAC,CAAC;YACrF,CAAC;YAED,IAAI,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC9D,2DAA2D;gBAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAE,CAAC;gBAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBAEpD,kDAAkD;gBAClD,IAAI,UAAU,EAAE,CAAC;oBACf,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;gBACtC,CAAC;gBAED,iCAAiC;gBACjC,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEtC,gDAAgD;gBAChD,MAAM,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC,GAAU,EAAE,GAAU,EAAG,GAAW,CAAC,IAAI,CAAC,CAAC;gBACrF,OAAO;YACT,CAAC;YAED,6BAA6B;YAC7B,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1B,8DAA8D;gBAC9D,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;oBAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,MAAM,WAAW,GAAa,EAAE,CAAC;oBAEjC,qCAAqC;oBACrC,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;wBAC5D,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;4BAC5C,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC9B,CAAC;oBACH,CAAC;oBAED,gCAAgC;oBAChC,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;wBACpC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBAC9C,IAAI,IAAI,EAAE,CAAC;4BACT,OAAO,CAAC,KAAK,CAAC,mCAAmC,SAAS,EAAE,CAAC,CAAC;4BAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;4BACpC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;4BACvC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBACtC,CAAC;oBACH,CAAC;oBAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,OAAO,CAAC,KAAK,CAAC,oCAAoC,WAAW,CAAC,MAAM,6BAA6B,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;oBAC9H,CAAC;gBACH,CAAC;gBAED,gDAAgD;gBAChD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBAEnC,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;oBAClD,kBAAkB,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;oBACtC,oBAAoB,EAAE,CAAC,SAAiB,EAAE,EAAE;wBAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;wBACpD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE;4BAC/B,MAAM;4BACN,SAAS;4BACT,UAAU;4BACV,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;yBACzB,CAAC,CAAC;wBACH,OAAO,CAAC,KAAK,CAAC,iBAAiB,SAAS,qBAAqB,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,iCAAiC,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;oBAC1J,CAAC;iBACF,CAAC,CAAC;gBAEH,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;oBACvB,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;wBACxB,OAAO,CAAC,KAAK,CAAC,iBAAiB,SAAS,CAAC,SAAS,gCAAgC,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;wBACjH,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;wBAC/D,IAAI,WAAW,EAAE,CAAC;4BAChB,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;wBAC7C,CAAC;wBACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC,CAAC;gBAEF,iCAAiC;gBACjC,SAAS,CAAC,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;oBACnC,OAAO,CAAC,KAAK,CAAC,qCAAqC,SAAS,CAAC,SAAS,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC5F,CAAC,CAAC;gBAEF,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAChC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAU,EAAE,GAAU,EAAG,GAAW,CAAC,IAAI,CAAC,CAAC;gBACzE,OAAO;YACT,CAAC;YAED,0CAA0C;YAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC,KAAK;oBACZ,OAAO,EAAE,0EAA0E;iBACpF;gBACD,EAAE,EAAE,IAAI;aACT,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YACjE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE;oBACzD,EAAE,EAAE,IAAI;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAE5B,kEAAkE;YAClE,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;oBAC3C,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;gBACxF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,2DAA2D,EAAE,KAAK,CAAC,CAAC;oBAClF,OAAO,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,+FAA+F,CAAC,CAAC;YACjH,CAAC;YAED,2CAA2C;YAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACxF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,MAAM,CAAC;YAErD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACpB,iEAAiE;gBACjE,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;gBAEtB,8BAA8B;gBAC9B,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAE5B,qFAAqF;gBACrF,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBACzB,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBAC5B,6CAA6C;wBAC7C,IAAI,EAAE,CAAC;oBACT,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,mBAAmB;gBACnB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBACzB,GAAG,CAAC,MAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;oBAC/C,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,4BAA4B,CAAC,CAAC;oBACzE,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,iGAAiG,CAAC,CAAC;oBAC9I,GAAG,CAAC,MAAM,CAAC,+BAA+B,EAAE,sCAAsC,CAAC,CAAC;oBACpF,GAAG,CAAC,MAAM,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;oBAE5D,oCAAoC;oBACpC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;wBACtD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;wBAC3C,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;wBAC1C,GAAG,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;oBAC3C,CAAC;oBAED,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC7B,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACpB,OAAO;oBACT,CAAC;oBACD,IAAI,EAAE,CAAC;gBACT,CAAC,CAAC,CAAC;gBAEH,2EAA2E;gBAC3E,qEAAqE;gBACrE,uEAAuE;gBACvE,6EAA6E;gBAC7E,MAAM,SAAS,GAA6B,EAAE,CAAC;gBAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC5F,MAAM,YAAY,GAAG,iBAAiB,CAAC;wBACrC,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;wBACrC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB;wBAC5C,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B;wBACpD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;wBACvC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B;wBACpD,SAAS,EAAE,MAAM,CAAC,cAAc;qBACjC,CAAC,CAAC;oBACH,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,CAAC,YAAY,CAAC,CAAC;oBAC3D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;oBAElD,yEAAyE;oBACzE,mEAAmE;oBACnE,GAAG,CAAC,GAAG,CACL,aAAa,CAAC;wBACZ,QAAQ,EAAE,IAAI,CAAC,aAAa;wBAC5B,SAAS;wBACT,eAAe,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;wBACpE,YAAY,EAAE,mBAAmB;qBAClC,CAAC,CACH,CAAC;oBAEF,sEAAsE;oBACtE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAc,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;oBAErG,2EAA2E;oBAC3E,SAAS,CAAC,IAAI,CACZ,iBAAiB,CAAC;wBAChB,QAAQ,EAAE,IAAI,CAAC,aAAa;wBAC5B,mBAAmB,EAAE,oCAAoC,CAAC,SAAS,CAAC;qBACrE,CAAC,CACH,CAAC;oBACF,OAAO,CAAC,KAAK,CAAC,gCAAgC,YAAY,CAAC,SAAS,qBAAqB,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;gBACxH,CAAC;gBAED,uDAAuD;gBACvD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBAE9E,wDAAwD;gBACxD,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBAEjF,wEAAwE;gBACxE,mEAAmE;gBACnE,uEAAuE;gBAEvE,wBAAwB;gBACxB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;oBAC9B,GAAG,CAAC,IAAI,CAAC;wBACP,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;wBAChC,OAAO,EAAE,cAAc;wBACvB,QAAQ,EAAE,uBAAuB;qBAClC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;oBACpB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC9B,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;oBAC/C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC9B,OAAO,CAAC,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;oBAClD,OAAO,CAAC,KAAK,CAAC,qCAAqC,IAAI,iBAAiB,CAAC,CAAC;oBAC1E,OAAO,CAAC,KAAK,CAAC,iCAAiC,IAAI,MAAM,CAAC,CAAC;oBAC3D,OAAO,CAAC,KAAK,CAAC,kCAAkC,IAAI,SAAS,CAAC,CAAC;oBAC/D,OAAO,CAAC,KAAK,CAAC,iBAAiB,uBAAuB,EAAE,CAAC,CAAC;oBAC1D,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAClB,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;oBAChC,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;oBAChC,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK;wBACrC,CAAC,CAAC,4BAA4B;wBAC9B,CAAC,CAAC,UAAU,CAAC,SAAS;4BACpB,CAAC,CAAC,+BAA+B;4BACjC,CAAC,CAAC,+DAA+D,CAAC;oBACtE,OAAO,CAAC,KAAK,CAAC,iBAAiB,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;oBACvD,OAAO,CAAC,KAAK,CAAC,qBAAqB,cAAc,EAAE,CAAC,CAAC;oBACrD,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;oBACtE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAClB,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;oBAC/E,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;oBAE9B,wBAAwB;oBACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,6BAA6B;gBAC7B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;gBAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBAChD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;gBAC7E,OAAO,CAAC,KAAK,CAAC,iBAAiB,uBAAuB,EAAE,CAAC,CAAC;gBAC1D,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAChC,OAAO,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;gBACnD,OAAO,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,gDAAgD,EAAE,CAAC,CAAC;gBACjL,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBAC5E,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAE9B,+BAA+B;gBAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;gBAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YAED,gCAAgC;YAChC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;CACF;AAED,gEAAgE;AAChE,2EAA2E;AAC3E,wEAAwE;AACxE,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;IACnB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,IAAI,MAAM,EAAE,CAAC;IACX,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;IAClC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,72 @@
1
+ import type { Request, Response } from 'express';
2
+ import type { OAuthServerProvider, AuthorizationParams } from '@modelcontextprotocol/sdk/server/auth/provider.js';
3
+ import type { OAuthRegisteredClientsStore } from '@modelcontextprotocol/sdk/server/auth/clients.js';
4
+ import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
5
+ import type { OAuthClientInformationFull, OAuthTokens, OAuthTokenRevocationRequest } from '@modelcontextprotocol/sdk/shared/auth.js';
6
+ export interface GitLabOAuthOptions {
7
+ /** GitLab base URL without the /api suffix, e.g. https://gitlab.com */
8
+ gitlabBaseUrl: string;
9
+ /** Public HTTPS URL of this MCP server (the OAuth issuer / resource identifier) */
10
+ serverUrl: string;
11
+ /** GitLab application id (client_id of the one registered GitLab app) */
12
+ clientId: string;
13
+ /** GitLab application secret — required for confidential apps, omit for public */
14
+ clientSecret?: string;
15
+ /** GitLab scopes to request, space-separated (e.g. "api read_user") */
16
+ scopes: string;
17
+ /** Path of the fixed GitLab callback, e.g. /gitlab/callback */
18
+ callbackPath: string;
19
+ /** Request timeout for GitLab token calls, ms */
20
+ timeoutMs: number;
21
+ }
22
+ export declare class GitLabOAuthProvider implements OAuthServerProvider {
23
+ private readonly opts;
24
+ private readonly clients;
25
+ private readonly pending;
26
+ private readonly codes;
27
+ private readonly accessTokens;
28
+ private readonly refreshTokens;
29
+ private cleanupTimer?;
30
+ constructor(opts: GitLabOAuthOptions);
31
+ get clientsStore(): OAuthRegisteredClientsStore;
32
+ /** Full callback URL registered with GitLab. */
33
+ private get callbackUrl();
34
+ /**
35
+ * Step 1: client hits our /authorize. We stash the client's PKCE/redirect, then
36
+ * redirect the browser to GitLab with our OWN server-side PKCE and fixed callback.
37
+ */
38
+ authorize(client: OAuthClientInformationFull, params: AuthorizationParams, res: Response): Promise<void>;
39
+ /**
40
+ * Step 2: GitLab redirects the browser back to our fixed callback. We exchange
41
+ * the GitLab code for GitLab tokens, mint a one-time MCP authorization code, and
42
+ * redirect the browser to the original MCP client's redirect URI.
43
+ *
44
+ * Mount as: app.get(callbackPath, (req, res) => provider.handleGitLabCallback(req, res))
45
+ */
46
+ handleGitLabCallback(req: Request, res: Response): Promise<void>;
47
+ /** SDK calls this to validate the MCP client's PKCE verifier at token exchange. */
48
+ challengeForAuthorizationCode(_client: OAuthClientInformationFull, authorizationCode: string): Promise<string>;
49
+ /** Step 3: client exchanges the one-time MCP code for an MCP bearer token. */
50
+ exchangeAuthorizationCode(client: OAuthClientInformationFull, authorizationCode: string): Promise<OAuthTokens>;
51
+ exchangeRefreshToken(client: OAuthClientInformationFull, refreshToken: string): Promise<OAuthTokens>;
52
+ verifyAccessToken(token: string): Promise<AuthInfo>;
53
+ revokeToken(_client: OAuthClientInformationFull, request: OAuthTokenRevocationRequest): Promise<void>;
54
+ dispose(): void;
55
+ private mintTokens;
56
+ private gitlabTokenRequest;
57
+ private purgeExpired;
58
+ }
59
+ /**
60
+ * Validate and assemble GitLab OAuth options from config/env. Throws a clear
61
+ * startup error if a required value is missing so misconfiguration fails fast.
62
+ */
63
+ export declare function buildOAuthOptions(input: {
64
+ gitlabUrl: string;
65
+ serverUrl?: string;
66
+ clientId?: string;
67
+ clientSecret?: string;
68
+ scopes?: string;
69
+ callbackPath?: string;
70
+ timeoutMs: number;
71
+ }): GitLabOAuthOptions;
72
+ //# sourceMappingURL=oauth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,KAAK,EACV,0BAA0B,EAC1B,WAAW,EACX,2BAA2B,EAC5B,MAAM,0CAA0C,CAAC;AA8BlD,MAAM,WAAW,kBAAkB;IACjC,uEAAuE;IACvE,aAAa,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;CACnB;AAqED,qBAAa,mBAAoB,YAAW,mBAAmB;IAC7D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwC;IACrE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyC;IACvE,OAAO,CAAC,YAAY,CAAC,CAAiB;gBAE1B,IAAI,EAAE,kBAAkB;IAOpC,IAAI,YAAY,IAAI,2BAA2B,CAE9C;IAED,gDAAgD;IAChD,OAAO,KAAK,WAAW,GAEtB;IAED;;;OAGG;IACG,SAAS,CACb,MAAM,EAAE,0BAA0B,EAClC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IAgChB;;;;;;OAMG;IACG,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwDtE,mFAAmF;IAC7E,6BAA6B,CACjC,OAAO,EAAE,0BAA0B,EACnC,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC;IAQlB,8EAA8E;IACxE,yBAAyB,CAC7B,MAAM,EAAE,0BAA0B,EAClC,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,WAAW,CAAC;IAajB,oBAAoB,CACxB,MAAM,EAAE,0BAA0B,EAClC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,CAAC;IAoCjB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqBnD,WAAW,CACf,OAAO,EAAE,0BAA0B,EACnC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,IAAI,CAAC;IAKhB,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,UAAU;YAkCJ,kBAAkB;IAuChC,OAAO,CAAC,YAAY;CAOrB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,kBAAkB,CA4BrB"}
package/dist/oauth.js ADDED
@@ -0,0 +1,352 @@
1
+ import { randomBytes, createHash } from 'node:crypto';
2
+ import { InvalidGrantError, InvalidTokenError, ServerError, } from '@modelcontextprotocol/sdk/server/auth/errors.js';
3
+ /**
4
+ * GitLab OAuth broker.
5
+ *
6
+ * The MCP server acts as its own OAuth 2.1 Authorization Server (mounted via the
7
+ * SDK's `mcpAuthRouter`) that brokers GitLab's OAuth behind a single registered
8
+ * GitLab application + one fixed callback. MCP clients (Claude.ai, Claude Code,
9
+ * etc.) register dynamically (RFC 7591), run the standard authorization-code +
10
+ * PKCE flow against THIS server, and we in turn run a second authorization-code +
11
+ * PKCE flow against GitLab. Each user logs in with their own GitLab identity; we
12
+ * mint our own opaque bearer tokens and keep the user's GitLab token server-side,
13
+ * never passing the client's MCP token through to GitLab (per the MCP security
14
+ * best-practices: no token passthrough).
15
+ *
16
+ * Storage is in-memory and therefore single-instance. A horizontally-scaled
17
+ * deployment would need a shared store (Redis, signed stateless tokens, etc.).
18
+ */
19
+ const AUTH_FLOW_TTL_MS = 10 * 60 * 1000; // pending-auth and one-time codes live 10 min
20
+ const DEFAULT_TOKEN_TTL_MS = 2 * 60 * 60 * 1000; // fallback when GitLab omits expires_in
21
+ const REFRESH_TOKEN_TTL_MS = 30 * 24 * 60 * 60 * 1000; // cap idle refresh tokens at 30 days
22
+ const CLEANUP_INTERVAL_MS = 5 * 60 * 1000;
23
+ function base64url(buf) {
24
+ return buf.toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
25
+ }
26
+ function randomToken() {
27
+ return base64url(randomBytes(32));
28
+ }
29
+ function pkceChallenge(verifier) {
30
+ return base64url(createHash('sha256').update(verifier).digest());
31
+ }
32
+ /** In-memory Dynamic Client Registration store. */
33
+ class InMemoryClientsStore {
34
+ clients = new Map();
35
+ getClient(clientId) {
36
+ return this.clients.get(clientId);
37
+ }
38
+ registerClient(client) {
39
+ this.clients.set(client.client_id, client);
40
+ return client;
41
+ }
42
+ }
43
+ export class GitLabOAuthProvider {
44
+ opts;
45
+ clients = new InMemoryClientsStore();
46
+ pending = new Map();
47
+ codes = new Map();
48
+ accessTokens = new Map();
49
+ refreshTokens = new Map();
50
+ cleanupTimer;
51
+ constructor(opts) {
52
+ this.opts = opts;
53
+ this.cleanupTimer = setInterval(() => this.purgeExpired(), CLEANUP_INTERVAL_MS);
54
+ // Don't keep the process alive solely for cleanup.
55
+ this.cleanupTimer.unref?.();
56
+ }
57
+ get clientsStore() {
58
+ return this.clients;
59
+ }
60
+ /** Full callback URL registered with GitLab. */
61
+ get callbackUrl() {
62
+ return `${this.opts.serverUrl.replace(/\/$/, '')}${this.opts.callbackPath}`;
63
+ }
64
+ /**
65
+ * Step 1: client hits our /authorize. We stash the client's PKCE/redirect, then
66
+ * redirect the browser to GitLab with our OWN server-side PKCE and fixed callback.
67
+ */
68
+ async authorize(client, params, res) {
69
+ const brokerState = randomToken();
70
+ const gitlabCodeVerifier = base64url(randomBytes(64));
71
+ // The minted token can only ever do what the configured GitLab app scopes
72
+ // allow, so record those — not the client's requested scopes — to keep
73
+ // AuthInfo.scopes honest about the token's real capability.
74
+ const grantedScopes = this.opts.scopes.split(/[\s,]+/).filter(Boolean);
75
+ this.pending.set(brokerState, {
76
+ clientId: client.client_id,
77
+ clientRedirectUri: params.redirectUri,
78
+ clientState: params.state,
79
+ clientCodeChallenge: params.codeChallenge,
80
+ scopes: grantedScopes,
81
+ resource: params.resource?.toString(),
82
+ gitlabCodeVerifier,
83
+ expiresAt: Date.now() + AUTH_FLOW_TTL_MS,
84
+ });
85
+ const authUrl = new URL(`${this.opts.gitlabBaseUrl.replace(/\/$/, '')}/oauth/authorize`);
86
+ authUrl.searchParams.set('client_id', this.opts.clientId);
87
+ authUrl.searchParams.set('redirect_uri', this.callbackUrl);
88
+ authUrl.searchParams.set('response_type', 'code');
89
+ authUrl.searchParams.set('state', brokerState);
90
+ authUrl.searchParams.set('scope', this.opts.scopes.split(/[\s,]+/).filter(Boolean).join(' '));
91
+ authUrl.searchParams.set('code_challenge', pkceChallenge(gitlabCodeVerifier));
92
+ authUrl.searchParams.set('code_challenge_method', 'S256');
93
+ res.redirect(authUrl.toString());
94
+ }
95
+ /**
96
+ * Step 2: GitLab redirects the browser back to our fixed callback. We exchange
97
+ * the GitLab code for GitLab tokens, mint a one-time MCP authorization code, and
98
+ * redirect the browser to the original MCP client's redirect URI.
99
+ *
100
+ * Mount as: app.get(callbackPath, (req, res) => provider.handleGitLabCallback(req, res))
101
+ */
102
+ async handleGitLabCallback(req, res) {
103
+ const code = typeof req.query.code === 'string' ? req.query.code : undefined;
104
+ const brokerState = typeof req.query.state === 'string' ? req.query.state : undefined;
105
+ const gitlabError = typeof req.query.error === 'string' ? req.query.error : undefined;
106
+ // Always respond as text/plain: req.query values are attacker-controllable and
107
+ // res.send(string) would otherwise default to text/html (reflected-XSS vector).
108
+ if (gitlabError) {
109
+ res.status(400).type('text/plain').send(`GitLab authorization failed: ${gitlabError}`);
110
+ return;
111
+ }
112
+ if (!code || !brokerState) {
113
+ res.status(400).type('text/plain').send('Missing code or state from GitLab callback');
114
+ return;
115
+ }
116
+ const pending = this.pending.get(brokerState);
117
+ if (!pending || pending.expiresAt < Date.now()) {
118
+ this.pending.delete(brokerState);
119
+ res.status(400).type('text/plain').send('Authorization request expired or unknown. Please restart sign-in.');
120
+ return;
121
+ }
122
+ this.pending.delete(brokerState);
123
+ let tokens;
124
+ try {
125
+ tokens = await this.gitlabTokenRequest({
126
+ grant_type: 'authorization_code',
127
+ code,
128
+ redirect_uri: this.callbackUrl,
129
+ code_verifier: pending.gitlabCodeVerifier,
130
+ });
131
+ }
132
+ catch (err) {
133
+ res.status(502).type('text/plain').send(`Failed to exchange code with GitLab: ${err.message}`);
134
+ return;
135
+ }
136
+ const mcpCode = randomToken();
137
+ this.codes.set(mcpCode, {
138
+ clientId: pending.clientId,
139
+ clientCodeChallenge: pending.clientCodeChallenge,
140
+ redirectUri: pending.clientRedirectUri,
141
+ scopes: pending.scopes,
142
+ resource: pending.resource,
143
+ gitlabAccessToken: tokens.access_token,
144
+ gitlabRefreshToken: tokens.refresh_token,
145
+ gitlabExpiresAt: Date.now() + (tokens.expires_in ? tokens.expires_in * 1000 : DEFAULT_TOKEN_TTL_MS),
146
+ expiresAt: Date.now() + AUTH_FLOW_TTL_MS,
147
+ });
148
+ const redirect = new URL(pending.clientRedirectUri);
149
+ redirect.searchParams.set('code', mcpCode);
150
+ if (pending.clientState)
151
+ redirect.searchParams.set('state', pending.clientState);
152
+ res.redirect(redirect.toString());
153
+ }
154
+ /** SDK calls this to validate the MCP client's PKCE verifier at token exchange. */
155
+ async challengeForAuthorizationCode(_client, authorizationCode) {
156
+ const record = this.codes.get(authorizationCode);
157
+ if (!record || record.expiresAt < Date.now()) {
158
+ throw new InvalidGrantError('Authorization code is invalid or expired');
159
+ }
160
+ return record.clientCodeChallenge;
161
+ }
162
+ /** Step 3: client exchanges the one-time MCP code for an MCP bearer token. */
163
+ async exchangeAuthorizationCode(client, authorizationCode) {
164
+ const record = this.codes.get(authorizationCode);
165
+ if (!record || record.expiresAt < Date.now()) {
166
+ throw new InvalidGrantError('Authorization code is invalid or expired');
167
+ }
168
+ // One-time use.
169
+ this.codes.delete(authorizationCode);
170
+ if (record.clientId !== client.client_id) {
171
+ throw new InvalidGrantError('Authorization code was issued to a different client');
172
+ }
173
+ return this.mintTokens(record);
174
+ }
175
+ async exchangeRefreshToken(client, refreshToken) {
176
+ const record = this.refreshTokens.get(refreshToken);
177
+ if (!record) {
178
+ throw new InvalidGrantError('Refresh token is invalid');
179
+ }
180
+ if (record.clientId !== client.client_id) {
181
+ throw new InvalidGrantError('Refresh token was issued to a different client');
182
+ }
183
+ let tokens;
184
+ try {
185
+ tokens = await this.gitlabTokenRequest({
186
+ grant_type: 'refresh_token',
187
+ refresh_token: record.gitlabRefreshToken,
188
+ });
189
+ }
190
+ catch (err) {
191
+ throw new ServerError(`Failed to refresh GitLab token: ${err.message}`);
192
+ }
193
+ // Rotate: drop the old refresh token and revoke its paired access token so a
194
+ // stolen access token can't outlive a refresh.
195
+ this.refreshTokens.delete(refreshToken);
196
+ this.accessTokens.delete(record.accessToken);
197
+ return this.mintTokens({
198
+ clientId: record.clientId,
199
+ clientCodeChallenge: '',
200
+ redirectUri: '',
201
+ scopes: record.scopes,
202
+ resource: record.resource,
203
+ gitlabAccessToken: tokens.access_token,
204
+ gitlabRefreshToken: tokens.refresh_token ?? record.gitlabRefreshToken,
205
+ gitlabExpiresAt: Date.now() + (tokens.expires_in ? tokens.expires_in * 1000 : DEFAULT_TOKEN_TTL_MS),
206
+ expiresAt: 0,
207
+ });
208
+ }
209
+ async verifyAccessToken(token) {
210
+ const record = this.accessTokens.get(token);
211
+ if (!record) {
212
+ throw new InvalidTokenError('Unknown or revoked access token');
213
+ }
214
+ if (record.expiresAt * 1000 < Date.now()) {
215
+ this.accessTokens.delete(token);
216
+ throw new InvalidTokenError('Access token has expired');
217
+ }
218
+ return {
219
+ token,
220
+ clientId: record.clientId,
221
+ scopes: record.scopes,
222
+ expiresAt: record.expiresAt,
223
+ resource: record.resource ? new URL(record.resource) : new URL(this.opts.serverUrl),
224
+ // The per-user GitLab token rides in `extra` so the tool layer can act as the
225
+ // authenticated user without the GitLab token ever leaving the server.
226
+ extra: { gitlabToken: record.gitlabAccessToken },
227
+ };
228
+ }
229
+ async revokeToken(_client, request) {
230
+ this.accessTokens.delete(request.token);
231
+ this.refreshTokens.delete(request.token);
232
+ }
233
+ dispose() {
234
+ if (this.cleanupTimer)
235
+ clearInterval(this.cleanupTimer);
236
+ }
237
+ // --- internals -----------------------------------------------------------
238
+ mintTokens(record) {
239
+ const accessToken = randomToken();
240
+ const refreshToken = randomToken();
241
+ const ttlMs = Math.max(0, record.gitlabExpiresAt - Date.now()) || DEFAULT_TOKEN_TTL_MS;
242
+ const expiresAtSec = Math.floor((Date.now() + ttlMs) / 1000);
243
+ this.accessTokens.set(accessToken, {
244
+ clientId: record.clientId,
245
+ scopes: record.scopes,
246
+ resource: record.resource,
247
+ gitlabAccessToken: record.gitlabAccessToken,
248
+ expiresAt: expiresAtSec,
249
+ });
250
+ if (record.gitlabRefreshToken) {
251
+ this.refreshTokens.set(refreshToken, {
252
+ clientId: record.clientId,
253
+ scopes: record.scopes,
254
+ resource: record.resource,
255
+ gitlabRefreshToken: record.gitlabRefreshToken,
256
+ accessToken,
257
+ expiresAt: Date.now() + REFRESH_TOKEN_TTL_MS,
258
+ });
259
+ }
260
+ return {
261
+ access_token: accessToken,
262
+ token_type: 'Bearer',
263
+ expires_in: Math.floor(ttlMs / 1000),
264
+ scope: record.scopes.join(' '),
265
+ ...(record.gitlabRefreshToken ? { refresh_token: refreshToken } : {}),
266
+ };
267
+ }
268
+ async gitlabTokenRequest(params) {
269
+ const body = new URLSearchParams({
270
+ ...params,
271
+ client_id: this.opts.clientId,
272
+ ...(this.opts.clientSecret ? { client_secret: this.opts.clientSecret } : {}),
273
+ });
274
+ const controller = new AbortController();
275
+ const timeoutId = setTimeout(() => controller.abort(), this.opts.timeoutMs);
276
+ try {
277
+ const resp = await fetch(`${this.opts.gitlabBaseUrl.replace(/\/$/, '')}/oauth/token`, {
278
+ method: 'POST',
279
+ headers: {
280
+ 'Content-Type': 'application/x-www-form-urlencoded',
281
+ Accept: 'application/json',
282
+ },
283
+ body: body.toString(),
284
+ signal: controller.signal,
285
+ });
286
+ if (!resp.ok) {
287
+ let detail = resp.statusText;
288
+ try {
289
+ const j = await resp.json();
290
+ detail = j.error_description || j.error || detail;
291
+ }
292
+ catch {
293
+ /* non-JSON */
294
+ }
295
+ throw new Error(`GitLab token endpoint returned ${resp.status}: ${detail}`);
296
+ }
297
+ return (await resp.json());
298
+ }
299
+ finally {
300
+ clearTimeout(timeoutId);
301
+ }
302
+ }
303
+ purgeExpired() {
304
+ const now = Date.now();
305
+ for (const [k, v] of this.pending)
306
+ if (v.expiresAt < now)
307
+ this.pending.delete(k);
308
+ for (const [k, v] of this.codes)
309
+ if (v.expiresAt < now)
310
+ this.codes.delete(k);
311
+ for (const [k, v] of this.accessTokens)
312
+ if (v.expiresAt * 1000 < now)
313
+ this.accessTokens.delete(k);
314
+ for (const [k, v] of this.refreshTokens)
315
+ if (v.expiresAt < now)
316
+ this.refreshTokens.delete(k);
317
+ }
318
+ }
319
+ /**
320
+ * Validate and assemble GitLab OAuth options from config/env. Throws a clear
321
+ * startup error if a required value is missing so misconfiguration fails fast.
322
+ */
323
+ export function buildOAuthOptions(input) {
324
+ const missing = [];
325
+ if (!input.serverUrl)
326
+ missing.push('MCP_SERVER_URL');
327
+ if (!input.clientId)
328
+ missing.push('GITLAB_OAUTH_CLIENT_ID');
329
+ if (missing.length) {
330
+ throw new Error(`GITLAB_MCP_OAUTH is enabled but required settings are missing: ${missing.join(', ')}.`);
331
+ }
332
+ let serverUrl;
333
+ try {
334
+ serverUrl = new URL(input.serverUrl);
335
+ }
336
+ catch {
337
+ throw new Error(`MCP_SERVER_URL is not a valid URL: ${input.serverUrl}`);
338
+ }
339
+ if (serverUrl.protocol !== 'https:' && serverUrl.hostname !== 'localhost' && serverUrl.hostname !== '127.0.0.1') {
340
+ throw new Error('MCP_SERVER_URL must use https (except for localhost during development).');
341
+ }
342
+ return {
343
+ gitlabBaseUrl: input.gitlabUrl,
344
+ serverUrl: input.serverUrl,
345
+ clientId: input.clientId,
346
+ clientSecret: input.clientSecret || undefined,
347
+ scopes: input.scopes && input.scopes.trim() ? input.scopes.trim() : 'api',
348
+ callbackPath: input.callbackPath && input.callbackPath.startsWith('/') ? input.callbackPath : '/gitlab/callback',
349
+ timeoutMs: input.timeoutMs,
350
+ };
351
+ }
352
+ //# sourceMappingURL=oauth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAWlE,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE;QACZ,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC7F;AAm0ED,eAAO,MAAM,aAAa,EAAE,IAAI,EA4B/B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,IAAI,EAG/B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,IAAI,EAa5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,IAAI,EAe7B,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,IAAI,EAWvB,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAWlE,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE;QACZ,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC7F;AA03ED,eAAO,MAAM,aAAa,EAAE,IAAI,EA6B/B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,IAAI,EAG/B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,IAAI,EAc5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,IAAI,EAe7B,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,IAAI,EAWvB,CAAC"}
package/dist/tools.js CHANGED
@@ -82,7 +82,7 @@ const getProjectsTool = {
82
82
  inputSchema: withUserAuth(z.object({
83
83
  first: z.number().min(1).max(100).default(20).describe('Number of projects to retrieve'),
84
84
  after: z.string().optional().describe('Cursor for pagination'),
85
- sort: z.string().optional().describe('Sort order (e.g., UPDATED_DESC, CREATED_DESC, CREATED_ASC). Defaults to UPDATED_DESC for recency.'),
85
+ sort: z.string().optional().describe('GitLab project sort string (e.g., latest_activity_desc, created_desc, name_asc, stars_desc). Defaults to latest_activity_desc for recency.'),
86
86
  fetchAll: z.boolean().default(false).describe('Fetch all pages up to 100 results'),
87
87
  })),
88
88
  handler: async (input, client, userConfig) => {
@@ -224,11 +224,62 @@ const executeCustomQueryTool = {
224
224
  inputSchema: withUserAuth(z.object({
225
225
  query: z.string().describe('GraphQL query string. Example: query { issues(assigneeUsernames: ["cdhanlon"], state: opened, first: 50) { nodes { iid title webUrl } } }'),
226
226
  variables: z.record(z.any()).optional().describe('Variables for the GraphQL query'),
227
- requiresWrite: z.boolean().default(false).describe('Set to true if this is a mutation that requires write permissions'),
227
+ requiresWrite: z.boolean().default(false).describe('Hint that this needs write access. Mutations are auto-detected and always write-gated regardless of this flag.'),
228
+ })),
229
+ handler: async (input, client, userConfig) => {
230
+ const credentials = input.userCredentials ? validateUserConfig(input.userCredentials) : userConfig;
231
+ return await client.executeCustomQuery(input.query, input.variables, credentials, input.requiresWrite);
232
+ },
233
+ };
234
+ const executeRestReadTool = {
235
+ name: 'execute_rest_read',
236
+ title: 'Custom REST Read',
237
+ description: 'Execute an arbitrary GET request against the GitLab REST API at /api/v4. Open-ended escape hatch for read endpoints not covered by a dedicated tool — e.g. /projects/:id/repository/files, /projects/:id/pipelines/:pipeline_id/test_report, /admin/*. Provide the path beginning with "/" (no host, no /api/v4 prefix) and an optional query object. For writes, use execute_rest_write.',
238
+ requiresAuth: false,
239
+ requiresWrite: false,
240
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
241
+ inputSchema: withUserAuth(z.object({
242
+ path: z
243
+ .string()
244
+ .min(1)
245
+ .describe('Path under /api/v4, beginning with "/" (e.g. "/projects/42/issues" or "/projects/foo%2Fbar/repository/commits/HEAD"). Must not include host, "/api/v4" prefix, or "?" query string.'),
246
+ query: z
247
+ .record(z.union([z.string(), z.number(), z.boolean()]))
248
+ .optional()
249
+ .describe('Query string parameters (e.g. { state: "opened", per_page: 20 }). Values are coerced to strings.'),
250
+ })),
251
+ handler: async (input, client, userConfig) => {
252
+ const credentials = input.userCredentials ? validateUserConfig(input.userCredentials) : userConfig;
253
+ return client.executeRestRead(input.path, input.query, credentials);
254
+ },
255
+ };
256
+ const executeRestWriteTool = {
257
+ name: 'execute_rest_write',
258
+ title: 'Custom REST Write',
259
+ description: 'Execute an arbitrary POST/PUT/PATCH/DELETE request against the GitLab REST API at /api/v4. Open-ended escape hatch for write endpoints not covered by a dedicated tool. Destructive — DELETE is permitted, so check the path before invoking. For reads, use execute_rest_read.',
260
+ requiresAuth: false,
261
+ requiresWrite: true,
262
+ annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false },
263
+ inputSchema: withUserAuth(z.object({
264
+ method: z
265
+ .enum(['POST', 'PUT', 'PATCH', 'DELETE'])
266
+ .describe('HTTP method. DELETE is destructive and not reversible.'),
267
+ path: z
268
+ .string()
269
+ .min(1)
270
+ .describe('Path under /api/v4, beginning with "/" (e.g. "/projects/42/issues" or "/projects/foo%2Fbar/merge_requests/3/merge"). Must not include host, "/api/v4" prefix, or "?" query string.'),
271
+ body: z
272
+ .any()
273
+ .optional()
274
+ .describe('Request body — JSON-serialized as application/json. Omit for endpoints that don\'t take a body (most DELETE / some PUT).'),
275
+ query: z
276
+ .record(z.union([z.string(), z.number(), z.boolean()]))
277
+ .optional()
278
+ .describe('Query string parameters. Most write endpoints take their args in the body, but a few mix.'),
228
279
  })),
229
280
  handler: async (input, client, userConfig) => {
230
281
  const credentials = input.userCredentials ? validateUserConfig(input.userCredentials) : userConfig;
231
- return await client.query(input.query, input.variables, credentials, input.requiresWrite);
282
+ return client.executeRestWrite(input.method, input.path, { body: input.body, query: input.query }, credentials);
232
283
  },
233
284
  };
234
285
  const getAvailableQueriesTools = {
@@ -2112,6 +2163,7 @@ export const readOnlyTools = [
2112
2163
  getIssuesTool,
2113
2164
  getMergeRequestsTool,
2114
2165
  executeCustomQueryTool,
2166
+ executeRestReadTool,
2115
2167
  getAvailableQueriesTools,
2116
2168
  getMergeRequestPipelinesTool,
2117
2169
  getPipelineJobsTool,
@@ -2141,6 +2193,7 @@ export const userAuthTools = [
2141
2193
  getProjectsTool,
2142
2194
  ];
2143
2195
  export const writeTools = [
2196
+ executeRestWriteTool,
2144
2197
  createIssueTool,
2145
2198
  createMergeRequestTool,
2146
2199
  createNoteTool,