paygate-mcp 2.8.0 → 3.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 +157 -0
- package/dist/audit.d.ts +1 -1
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js.map +1 -1
- package/dist/gate.d.ts +19 -11
- package/dist/gate.d.ts.map +1 -1
- package/dist/gate.js +58 -19
- package/dist/gate.js.map +1 -1
- package/dist/http-proxy.d.ts +2 -2
- package/dist/http-proxy.d.ts.map +1 -1
- package/dist/http-proxy.js +5 -5
- package/dist/http-proxy.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/meter.d.ts +2 -2
- package/dist/meter.d.ts.map +1 -1
- package/dist/meter.js +11 -6
- package/dist/meter.js.map +1 -1
- package/dist/proxy.d.ts +2 -2
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +22 -7
- package/dist/proxy.js.map +1 -1
- package/dist/redis-sync.d.ts.map +1 -1
- package/dist/redis-sync.js +2 -0
- package/dist/redis-sync.js.map +1 -1
- package/dist/router.d.ts +2 -2
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +9 -9
- package/dist/router.js.map +1 -1
- package/dist/server.d.ts +11 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +132 -14
- package/dist/server.js.map +1 -1
- package/dist/store.d.ts +20 -2
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +43 -2
- package/dist/store.js.map +1 -1
- package/dist/tokens.d.ts +71 -0
- package/dist/tokens.d.ts.map +1 -0
- package/dist/tokens.js +126 -0
- package/dist/tokens.js.map +1 -0
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAEH,mCAAsC;AAGtC,mCAAmC;AACnC,6CAA4C;AAI5C,MAAa,iBAAkB,SAAQ,qBAAY;IAChC,IAAI,CAAO;IACX,QAAQ,GAA8B,IAAI,GAAG,EAAE,CAAC;IAChD,OAAO,CAAwB;IACxC,OAAO,GAAG,KAAK,CAAC;IAExB,6CAA6C;IAC7C,MAAM,CAAU,SAAS,GAAG,GAAG,CAAC;IAEhC,YAAY,IAAU,EAAE,OAA8B;QACpD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,wDAAwD;QACxD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,MAAM,0CAA0C,iBAAiB,CAAC,SAAS,GAAG,CAAC,CAAC;YACjI,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,MAAM,2CAA2C,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,MAAM,gDAAgD,CAAC,CAAC;YACzF,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,yBAAyB;QACzB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,KAAmB,CAAC;YACxB,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClB,KAAK,GAAG,IAAI,yBAAY,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,IAAI,gBAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,aAAc,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7E,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAAuB,EAAE,MAAqB,EAAE,QAAiB;QACnF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;QACtE,CAAC;QAED,yDAAyD;QACzD,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,+BAA+B;QAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzD,CAAC;QAED,mEAAmE;QACnE,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACzD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/D,CAAC;QAED,4CAA4C;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACzD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,OAAuB,EAAE,MAAqB;QAC1E,MAAM,QAAQ,GAAyF,EAAE,CAAC;QAE1G,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9C,6DAA6D;YAC7D,iEAAiE;YACjE,uCAAuC;YACvC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAEvD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAA0G,CAAC;gBACnI,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;wBAChC,QAAQ,CAAC,IAAI,CAAC;4BACZ,GAAG,IAAI;4BACP,IAAI,EAAE,GAAG,MAAM,GAAG,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE;4BAC3D,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,GAAG;yBAClF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,IAAI,aAAa,GAAG,QAAQ,CAAC;QAC7B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC/D,IAAI,QAAQ,EAAE,CAAC;gBACb,aAAa,GAAG,QAAQ,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;SACjC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,OAAuB,EAAE,MAAqB,EAAE,QAAiB;QAC7F,MAAM,MAAM,GAAG,OAAO,CAAC,MAAmC,CAAC;QAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,GAAG,GAAG,iBAAiB,CAAC,SAAS,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAExC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAC1C,uBAAuB,MAAM,CAAC,IAAI,sCAAsC,GAAG,+BAA+B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7J,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAC1C,2BAA2B,MAAM,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,gFAAgF;QAChF,oDAAoD;QACpD,MAAM,YAAY,GAAmB;YACnC,GAAG,OAAO;YACV,MAAM,EAAE;gBACN,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;gBACzB,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B;SACF,CAAC;QAEF,kEAAkE;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE1G,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC,KAAK;oBACZ,OAAO,EAAE,qBAAqB,QAAQ,CAAC,MAAM,EAAE;oBAC/C,IAAI,EAAE;wBACJ,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;wBACpD,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;qBAC5C;iBACF;aACF,CAAC;QACJ,CAAC;QAED,0FAA0F;QAC1F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAE3E,oBAAoB;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,QAAQ,CAAC,cAAc,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;YACzF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC/D,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC5B,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc;YACtD,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAC3C,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CACtB,KAAsB,EACtB,OAAoC,EACpC,MAAqB,EACrB,QAAiB;QAEjB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,kCAAkC,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,GAAG,GAAG,iBAAiB,CAAC,SAAS,CAAC;QAExC,gEAAgE;QAChE,MAAM,QAAQ,GAAuE,EAAE,CAAC;QACxF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EACvC,8BAA8B,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC;YAC/E,CAAC;YACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EACvC,kCAAkC,CAAC,OAAO,MAAM,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpH,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,mCAAmC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAErE,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO;gBACX,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC,KAAK;oBACZ,OAAO,EAAE,qBAAqB,WAAW,CAAC,MAAM,EAAE;oBAClD,IAAI,EAAE;wBACJ,WAAW,EAAE,WAAW,CAAC,WAAW;wBACpC,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;wBACpG,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;qBAC/C;iBACF;aACF,CAAC;QACJ,CAAC;QAED,uEAAuE;QACvE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtD,MAAM,GAAG,GAAmB;gBAC1B,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,SAAS,OAAO,IAAI,CAAC,EAAE;gBAC3B,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;aAC5D,CAAC;YACF,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,CAAC;QAEJ,oBAAoB;QACpB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;oBAC9E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;oBACjF,aAAa,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAO,CAAC,EAAE,OAAO,IAAI,WAAW,CAAC,gBAAgB,CAAC;QAEhG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC5B,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,mBAAmB,EAAE,WAAW,CAAC,YAAY,GAAG,aAAa;YAC7D,gBAAgB,EAAE,cAAc;YAChC,QAAQ,EAAE,aAAa;SACxB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,OAAO;YACX,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;oBACnB,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc;iBAC3F,CAAC,CAAC;gBACH,mBAAmB,EAAE,WAAW,CAAC,YAAY,GAAG,aAAa;gBAC7D,gBAAgB,EAAE,cAAc;aACjC;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,uBAAuB,CAAC,OAAqB,EAAE,OAAuB;QAClF,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,kCAAkC;IAClC,IAAI,QAAQ;QACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,wBAAwB;IACxB,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAEO,aAAa,CAAC,EAA+B,EAAE,IAAY,EAAE,OAAe;QAClF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IAC1D,CAAC;;AA3VH,8CA4VC"}
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
* Endpoints:
|
|
5
5
|
* POST /mcp — JSON-RPC endpoint (MCP Streamable HTTP transport)
|
|
6
6
|
* GET /status — Dashboard / usage summary
|
|
7
|
-
* POST /keys — Create API key
|
|
8
|
-
* GET /keys — List API keys
|
|
7
|
+
* POST /keys — Create API key (supports namespace param)
|
|
8
|
+
* GET /keys — List API keys (supports ?namespace= filter)
|
|
9
9
|
* POST /topup — Add credits to a key
|
|
10
|
+
* GET /namespaces — List all namespaces with stats
|
|
10
11
|
*
|
|
11
12
|
* API key is sent via X-API-Key header on /mcp endpoint.
|
|
12
13
|
* Admin endpoints (/keys, /topup, /status) require X-Admin-Key header.
|
|
@@ -25,6 +26,7 @@ import { AnalyticsEngine } from './analytics';
|
|
|
25
26
|
import { AlertEngine } from './alerts';
|
|
26
27
|
import { TeamManager } from './teams';
|
|
27
28
|
import { RedisSync } from './redis-sync';
|
|
29
|
+
import { ScopedTokenManager } from './tokens';
|
|
28
30
|
/** Union type for both proxy backends */
|
|
29
31
|
type ProxyBackend = McpProxy | HttpMcpProxy;
|
|
30
32
|
export declare class PayGateServer {
|
|
@@ -55,6 +57,8 @@ export declare class PayGateServer {
|
|
|
55
57
|
readonly teams: TeamManager;
|
|
56
58
|
/** Redis sync adapter for distributed state (null if not using Redis) */
|
|
57
59
|
readonly redisSync: RedisSync | null;
|
|
60
|
+
/** Scoped token manager for short-lived delegated tokens */
|
|
61
|
+
readonly tokens: ScopedTokenManager;
|
|
58
62
|
/** Server start time (ms since epoch) */
|
|
59
63
|
private readonly startedAt;
|
|
60
64
|
/** Whether the server is draining (shutting down gracefully) */
|
|
@@ -82,7 +86,9 @@ export declare class PayGateServer {
|
|
|
82
86
|
*/
|
|
83
87
|
private handleMcpDeleteSession;
|
|
84
88
|
/**
|
|
85
|
-
* Resolve API key from X-API-Key header or OAuth Bearer token.
|
|
89
|
+
* Resolve API key from X-API-Key header, scoped token, or OAuth Bearer token.
|
|
90
|
+
* Priority: X-API-Key → pgt_ scoped token → OAuth Bearer token.
|
|
91
|
+
* Also stores resolved token metadata for ACL narrowing.
|
|
86
92
|
*/
|
|
87
93
|
private resolveApiKey;
|
|
88
94
|
/**
|
|
@@ -141,6 +147,8 @@ export declare class PayGateServer {
|
|
|
141
147
|
private handleTeamAssignKey;
|
|
142
148
|
private handleTeamRemoveKey;
|
|
143
149
|
private handleTeamUsage;
|
|
150
|
+
private handleListNamespaces;
|
|
151
|
+
private handleCreateToken;
|
|
144
152
|
/**
|
|
145
153
|
* Sync a key mutation to Redis. Call after any local KeyStore mutation
|
|
146
154
|
* (setAcl, setExpiry, setQuota, setTags, setIpAllowlist, setSpendingLimit).
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
* Endpoints:
|
|
6
6
|
* POST /mcp — JSON-RPC endpoint (MCP Streamable HTTP transport)
|
|
7
7
|
* GET /status — Dashboard / usage summary
|
|
8
|
-
* POST /keys — Create API key
|
|
9
|
-
* GET /keys — List API keys
|
|
8
|
+
* POST /keys — Create API key (supports namespace param)
|
|
9
|
+
* GET /keys — List API keys (supports ?namespace= filter)
|
|
10
10
|
* POST /topup — Add credits to a key
|
|
11
|
+
* GET /namespaces — List all namespaces with stats
|
|
11
12
|
*
|
|
12
13
|
* API key is sent via X-API-Key header on /mcp endpoint.
|
|
13
14
|
* Admin endpoints (/keys, /topup, /status) require X-Admin-Key header.
|
|
@@ -44,6 +45,7 @@ const alerts_1 = require("./alerts");
|
|
|
44
45
|
const teams_1 = require("./teams");
|
|
45
46
|
const redis_client_1 = require("./redis-client");
|
|
46
47
|
const redis_sync_1 = require("./redis-sync");
|
|
48
|
+
const tokens_1 = require("./tokens");
|
|
47
49
|
/** Max request body size: 1MB */
|
|
48
50
|
const MAX_BODY_SIZE = 1_048_576;
|
|
49
51
|
class PayGateServer {
|
|
@@ -74,6 +76,8 @@ class PayGateServer {
|
|
|
74
76
|
teams;
|
|
75
77
|
/** Redis sync adapter for distributed state (null if not using Redis) */
|
|
76
78
|
redisSync = null;
|
|
79
|
+
/** Scoped token manager for short-lived delegated tokens */
|
|
80
|
+
tokens;
|
|
77
81
|
/** Server start time (ms since epoch) */
|
|
78
82
|
startedAt = Date.now();
|
|
79
83
|
/** Whether the server is draining (shutting down gracefully) */
|
|
@@ -157,6 +161,11 @@ class PayGateServer {
|
|
|
157
161
|
this.gate.teamRecorder = (apiKey, credits) => {
|
|
158
162
|
this.teams.recordUsage(apiKey, credits);
|
|
159
163
|
};
|
|
164
|
+
// Scoped token manager (uses admin key as signing secret, padded to min length)
|
|
165
|
+
const tokenSecret = this.adminKey.length >= 8
|
|
166
|
+
? this.adminKey
|
|
167
|
+
: this.adminKey + require('crypto').randomBytes(8).toString('hex');
|
|
168
|
+
this.tokens = new tokens_1.ScopedTokenManager(tokenSecret);
|
|
160
169
|
// Redis distributed state (if configured)
|
|
161
170
|
if (redisUrl) {
|
|
162
171
|
const redisOpts = (0, redis_client_1.parseRedisUrl)(redisUrl);
|
|
@@ -305,6 +314,14 @@ class PayGateServer {
|
|
|
305
314
|
return this.handleTeamRemoveKey(req, res);
|
|
306
315
|
case '/teams/usage':
|
|
307
316
|
return this.handleTeamUsage(req, res);
|
|
317
|
+
// ─── Multi-tenant namespace endpoints ──────────────────────────────
|
|
318
|
+
case '/namespaces':
|
|
319
|
+
return this.handleListNamespaces(req, res);
|
|
320
|
+
// ─── Scoped token endpoints ────────────────────────────────────────
|
|
321
|
+
case '/tokens':
|
|
322
|
+
if (req.method === 'POST')
|
|
323
|
+
return this.handleCreateToken(req, res);
|
|
324
|
+
break;
|
|
308
325
|
// ─── OAuth 2.1 endpoints ─────────────────────────────────────────
|
|
309
326
|
case '/.well-known/oauth-authorization-server':
|
|
310
327
|
return this.handleOAuthMetadata(req, res);
|
|
@@ -368,6 +385,8 @@ class PayGateServer {
|
|
|
368
385
|
// Extract client IP for IP allowlist checking
|
|
369
386
|
const clientIp = req.headers['x-forwarded-for']?.split(',')[0]?.trim()
|
|
370
387
|
|| req.socket.remoteAddress || '';
|
|
388
|
+
// Extract scoped token tool restrictions (set by resolveApiKey)
|
|
389
|
+
const scopedTokenTools = req._scopedTokenTools;
|
|
371
390
|
// ─── Batch tool calls ────────────────────────────────────────────────
|
|
372
391
|
if (request.method === 'tools/call_batch') {
|
|
373
392
|
const params = request.params;
|
|
@@ -383,7 +402,7 @@ class PayGateServer {
|
|
|
383
402
|
res.end(JSON.stringify(errResp));
|
|
384
403
|
return;
|
|
385
404
|
}
|
|
386
|
-
const batchResponse = await this.handler.handleBatchRequest(calls, request.id, apiKey, clientIp);
|
|
405
|
+
const batchResponse = await this.handler.handleBatchRequest(calls, request.id, apiKey, clientIp, scopedTokenTools);
|
|
387
406
|
// Audit + metrics for batch
|
|
388
407
|
if (batchResponse.error) {
|
|
389
408
|
this.audit.log('gate.deny', (0, audit_1.maskKeyForAudit)(apiKey || 'anonymous'), `Batch denied (${calls.length} calls)`, {
|
|
@@ -425,7 +444,7 @@ class PayGateServer {
|
|
|
425
444
|
}
|
|
426
445
|
return;
|
|
427
446
|
}
|
|
428
|
-
const response = await this.handler.handleRequest(request, apiKey, clientIp);
|
|
447
|
+
const response = await this.handler.handleRequest(request, apiKey, clientIp, scopedTokenTools);
|
|
429
448
|
// Inject pricing metadata into tools/list responses
|
|
430
449
|
if (request.method === 'tools/list' && response.result) {
|
|
431
450
|
const result = response.result;
|
|
@@ -573,17 +592,42 @@ class PayGateServer {
|
|
|
573
592
|
res.end(JSON.stringify({ message: 'Session terminated' }));
|
|
574
593
|
}
|
|
575
594
|
/**
|
|
576
|
-
* Resolve API key from X-API-Key header or OAuth Bearer token.
|
|
595
|
+
* Resolve API key from X-API-Key header, scoped token, or OAuth Bearer token.
|
|
596
|
+
* Priority: X-API-Key → pgt_ scoped token → OAuth Bearer token.
|
|
597
|
+
* Also stores resolved token metadata for ACL narrowing.
|
|
577
598
|
*/
|
|
578
599
|
resolveApiKey(req) {
|
|
579
600
|
let apiKey = req.headers['x-api-key'] || null;
|
|
580
|
-
if
|
|
601
|
+
// Check if X-API-Key is actually a scoped token
|
|
602
|
+
if (apiKey && tokens_1.ScopedTokenManager.isToken(apiKey)) {
|
|
603
|
+
const validation = this.tokens.validate(apiKey);
|
|
604
|
+
if (validation.valid && validation.payload) {
|
|
605
|
+
// Store token metadata on request for ACL narrowing
|
|
606
|
+
req._scopedTokenTools = validation.payload.allowedTools;
|
|
607
|
+
return validation.payload.apiKey;
|
|
608
|
+
}
|
|
609
|
+
return null; // Invalid/expired token
|
|
610
|
+
}
|
|
611
|
+
// Check Bearer token (OAuth or scoped token)
|
|
612
|
+
if (!apiKey) {
|
|
581
613
|
const authHeader = req.headers['authorization'];
|
|
582
614
|
if (authHeader?.startsWith('Bearer ')) {
|
|
583
615
|
const bearerToken = authHeader.slice(7);
|
|
584
|
-
|
|
585
|
-
if (
|
|
586
|
-
|
|
616
|
+
// Try scoped token first
|
|
617
|
+
if (tokens_1.ScopedTokenManager.isToken(bearerToken)) {
|
|
618
|
+
const validation = this.tokens.validate(bearerToken);
|
|
619
|
+
if (validation.valid && validation.payload) {
|
|
620
|
+
req._scopedTokenTools = validation.payload.allowedTools;
|
|
621
|
+
return validation.payload.apiKey;
|
|
622
|
+
}
|
|
623
|
+
return null;
|
|
624
|
+
}
|
|
625
|
+
// Fall back to OAuth
|
|
626
|
+
if (this.oauth) {
|
|
627
|
+
const tokenInfo = this.oauth.validateToken(bearerToken);
|
|
628
|
+
if (tokenInfo) {
|
|
629
|
+
apiKey = tokenInfo.apiKey;
|
|
630
|
+
}
|
|
587
631
|
}
|
|
588
632
|
}
|
|
589
633
|
}
|
|
@@ -683,8 +727,12 @@ class PayGateServer {
|
|
|
683
727
|
handleStatus(req, res) {
|
|
684
728
|
if (!this.checkAdmin(req, res))
|
|
685
729
|
return;
|
|
730
|
+
const urlParts = req.url?.split('?') || [];
|
|
731
|
+
const params = new URLSearchParams(urlParts[1] || '');
|
|
732
|
+
const namespace = params.get('namespace') || undefined;
|
|
733
|
+
const status = this.gate.getStatus(namespace);
|
|
686
734
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
687
|
-
res.end(JSON.stringify(
|
|
735
|
+
res.end(JSON.stringify(status, null, 2));
|
|
688
736
|
}
|
|
689
737
|
// ─── /health — Public health check ─────────────────────────────────────────
|
|
690
738
|
handleHealth(req, res) {
|
|
@@ -766,6 +814,7 @@ class PayGateServer {
|
|
|
766
814
|
quota,
|
|
767
815
|
tags: params.tags,
|
|
768
816
|
ipAllowlist: params.ipAllowlist,
|
|
817
|
+
namespace: params.namespace,
|
|
769
818
|
});
|
|
770
819
|
// Sync new key to Redis (if configured)
|
|
771
820
|
if (this.redisSync) {
|
|
@@ -793,6 +842,7 @@ class PayGateServer {
|
|
|
793
842
|
expiresAt: record.expiresAt,
|
|
794
843
|
tags: record.tags,
|
|
795
844
|
ipAllowlist: record.ipAllowlist,
|
|
845
|
+
namespace: record.namespace,
|
|
796
846
|
message: 'Save this key — it cannot be retrieved later.',
|
|
797
847
|
}));
|
|
798
848
|
}
|
|
@@ -800,8 +850,11 @@ class PayGateServer {
|
|
|
800
850
|
handleListKeys(req, res) {
|
|
801
851
|
if (!this.checkAdmin(req, res))
|
|
802
852
|
return;
|
|
853
|
+
const urlParts = req.url?.split('?') || [];
|
|
854
|
+
const params = new URLSearchParams(urlParts[1] || '');
|
|
855
|
+
const namespace = params.get('namespace') || undefined;
|
|
803
856
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
804
|
-
res.end(JSON.stringify(this.gate.store.listKeys(), null, 2));
|
|
857
|
+
res.end(JSON.stringify(this.gate.store.listKeys(namespace), null, 2));
|
|
805
858
|
}
|
|
806
859
|
// ─── /topup — Add credits ───────────────────────────────────────────────────
|
|
807
860
|
async handleTopUp(req, res) {
|
|
@@ -1224,7 +1277,7 @@ class PayGateServer {
|
|
|
1224
1277
|
res.end(JSON.stringify({ error: 'Missing or invalid tags object' }));
|
|
1225
1278
|
return;
|
|
1226
1279
|
}
|
|
1227
|
-
const results = this.gate.store.listKeysByTag(params.tags);
|
|
1280
|
+
const results = this.gate.store.listKeysByTag(params.tags, params.namespace);
|
|
1228
1281
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
1229
1282
|
res.end(JSON.stringify({ keys: results, count: results.length }));
|
|
1230
1283
|
}
|
|
@@ -1335,7 +1388,8 @@ class PayGateServer {
|
|
|
1335
1388
|
const params = new URLSearchParams(queryStr);
|
|
1336
1389
|
const since = params.get('since') || undefined;
|
|
1337
1390
|
const format = params.get('format') || 'json';
|
|
1338
|
-
const
|
|
1391
|
+
const namespace = params.get('namespace') || undefined;
|
|
1392
|
+
const events = this.gate.meter.getEvents(since, namespace);
|
|
1339
1393
|
if (format === 'csv') {
|
|
1340
1394
|
// CSV export
|
|
1341
1395
|
const header = 'timestamp,apiKey,keyName,tool,creditsCharged,allowed,denyReason';
|
|
@@ -1708,7 +1762,8 @@ class PayGateServer {
|
|
|
1708
1762
|
const to = params.get('to') || undefined;
|
|
1709
1763
|
const granularity = (params.get('granularity') || 'hourly');
|
|
1710
1764
|
const topN = params.get('top') ? parseInt(params.get('top'), 10) : 10;
|
|
1711
|
-
const
|
|
1765
|
+
const namespace = params.get('namespace') || undefined;
|
|
1766
|
+
const events = this.gate.meter.getEvents(undefined, namespace);
|
|
1712
1767
|
const report = this.analytics.report(events, { from, to, granularity, topN });
|
|
1713
1768
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
1714
1769
|
res.end(JSON.stringify(report, null, 2));
|
|
@@ -2149,6 +2204,69 @@ class PayGateServer {
|
|
|
2149
2204
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
2150
2205
|
res.end(JSON.stringify(summary));
|
|
2151
2206
|
}
|
|
2207
|
+
// ─── /namespaces — List all namespaces ──────────────────────────────────────
|
|
2208
|
+
handleListNamespaces(req, res) {
|
|
2209
|
+
if (req.method !== 'GET') {
|
|
2210
|
+
res.writeHead(405, { 'Content-Type': 'application/json' });
|
|
2211
|
+
res.end(JSON.stringify({ error: 'Method not allowed. Use GET.' }));
|
|
2212
|
+
return;
|
|
2213
|
+
}
|
|
2214
|
+
if (!this.checkAdmin(req, res))
|
|
2215
|
+
return;
|
|
2216
|
+
const namespaces = this.gate.store.listNamespaces();
|
|
2217
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
2218
|
+
res.end(JSON.stringify({ namespaces, count: namespaces.length }, null, 2));
|
|
2219
|
+
}
|
|
2220
|
+
// ─── /tokens — Create scoped token ──────────────────────────────────────────
|
|
2221
|
+
async handleCreateToken(req, res) {
|
|
2222
|
+
if (!this.checkAdmin(req, res))
|
|
2223
|
+
return;
|
|
2224
|
+
const body = await this.readBody(req);
|
|
2225
|
+
let params;
|
|
2226
|
+
try {
|
|
2227
|
+
params = JSON.parse(body);
|
|
2228
|
+
}
|
|
2229
|
+
catch {
|
|
2230
|
+
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
2231
|
+
res.end(JSON.stringify({ error: 'Invalid JSON' }));
|
|
2232
|
+
return;
|
|
2233
|
+
}
|
|
2234
|
+
if (!params.key) {
|
|
2235
|
+
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
2236
|
+
res.end(JSON.stringify({ error: 'Missing required param: key (API key to delegate from)' }));
|
|
2237
|
+
return;
|
|
2238
|
+
}
|
|
2239
|
+
// Verify the parent key exists and is active
|
|
2240
|
+
const keyRecord = this.gate.store.getKey(params.key);
|
|
2241
|
+
if (!keyRecord || !keyRecord.active) {
|
|
2242
|
+
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
2243
|
+
res.end(JSON.stringify({ error: 'API key not found or inactive' }));
|
|
2244
|
+
return;
|
|
2245
|
+
}
|
|
2246
|
+
const ttl = Math.max(1, Math.min(86400, Math.floor(Number(params.ttl) || 3600)));
|
|
2247
|
+
const token = this.tokens.create({
|
|
2248
|
+
apiKey: params.key,
|
|
2249
|
+
ttlSeconds: ttl,
|
|
2250
|
+
allowedTools: params.allowedTools,
|
|
2251
|
+
label: params.label,
|
|
2252
|
+
});
|
|
2253
|
+
this.audit.log('token.created', 'admin', `Scoped token created for key: ${keyRecord.name}`, {
|
|
2254
|
+
keyMasked: (0, audit_1.maskKeyForAudit)(params.key),
|
|
2255
|
+
ttl,
|
|
2256
|
+
allowedTools: params.allowedTools,
|
|
2257
|
+
label: params.label,
|
|
2258
|
+
});
|
|
2259
|
+
res.writeHead(201, { 'Content-Type': 'application/json' });
|
|
2260
|
+
res.end(JSON.stringify({
|
|
2261
|
+
token,
|
|
2262
|
+
expiresAt: new Date(Date.now() + ttl * 1000).toISOString(),
|
|
2263
|
+
ttl,
|
|
2264
|
+
parentKey: keyRecord.name,
|
|
2265
|
+
allowedTools: params.allowedTools || [],
|
|
2266
|
+
label: params.label || null,
|
|
2267
|
+
message: 'Use this token as X-API-Key or Bearer token. It will expire automatically.',
|
|
2268
|
+
}));
|
|
2269
|
+
}
|
|
2152
2270
|
/**
|
|
2153
2271
|
* Sync a key mutation to Redis. Call after any local KeyStore mutation
|
|
2154
2272
|
* (setAcl, setExpiry, setQuota, setTags, setIpAllowlist, setSpendingLimit).
|