@gouravniit/zero-trust-api-monitor 1.0.1 → 1.0.2

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.d.ts CHANGED
@@ -5,7 +5,7 @@ export { securityCopilot, SecurityCopilot } from './llm/security-copilot';
5
5
  export { featureStore, FeatureStore } from './store/feature-store';
6
6
  export * from './types';
7
7
  export { default as config } from './config/config';
8
- import { Router } from 'express';
8
+ import express from 'express';
9
9
  import { telemetryCollector } from './collector/collector';
10
10
  import { throttleEngine } from './security/throttle-engine';
11
11
  import { featureStore } from './store/feature-store';
@@ -27,7 +27,7 @@ export interface MonitorConfig {
27
27
  };
28
28
  }
29
29
  export interface Monitor {
30
- middleware: () => Router;
30
+ middleware: () => express.RequestHandler;
31
31
  featureStore: typeof featureStore;
32
32
  throttleEngine: typeof throttleEngine;
33
33
  telemetryCollector: typeof telemetryCollector;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGnE,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,MAAM,WAAW,aAAa;IAC1B,KAAK,CAAC,EAAE;QACJ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,UAAU,CAAC,EAAE;YACT,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;KACL,CAAC;CACL;AAED,MAAM,WAAW,OAAO;IACpB,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAsC5E;AAGD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGnE,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,MAAM,WAAW,aAAa;IAC1B,KAAK,CAAC,EAAE;QACJ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,UAAU,CAAC,EAAE;YACT,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;KACL,CAAC;CACL;AAED,MAAM,WAAW,OAAO;IACpB,UAAU,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC;IACzC,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAyD5E;AAGD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -42,8 +42,6 @@ __exportStar(require("./types"), exports);
42
42
  // Export configuration
43
43
  var config_1 = require("./config/config");
44
44
  Object.defineProperty(exports, "config", { enumerable: true, get: function () { return __importDefault(config_1).default; } });
45
- // Convenience setup function
46
- const express_1 = __importDefault(require("express"));
47
45
  const collector_2 = require("./collector/collector");
48
46
  const throttle_engine_2 = require("./security/throttle-engine");
49
47
  const feature_store_2 = require("./store/feature-store");
@@ -73,14 +71,39 @@ async function createMonitor(config) {
73
71
  // Connect to Redis
74
72
  await feature_store_2.featureStore.connect();
75
73
  logger_1.logger.info('Monitor initialized successfully');
76
- // Create middleware router
74
+ // Create middleware function (not Router - Routers don't execute middleware properly)
77
75
  const middleware = () => {
78
- const router = express_1.default.Router();
79
- // Add throttle enforcement
80
- router.use(throttle_engine_2.throttleEngine.middleware());
81
- // Add telemetry collection
82
- router.use(collector_2.telemetryCollector.middleware());
83
- return router;
76
+ return async (req, res, next) => {
77
+ try {
78
+ // Apply throttle enforcement first
79
+ const throttleMiddleware = throttle_engine_2.throttleEngine.middleware();
80
+ await new Promise((resolve, reject) => {
81
+ throttleMiddleware(req, res, (err) => {
82
+ if (err)
83
+ reject(err);
84
+ else
85
+ resolve();
86
+ });
87
+ });
88
+ // Apply telemetry collection
89
+ const telemetryMiddleware = collector_2.telemetryCollector.middleware();
90
+ await new Promise((resolve, reject) => {
91
+ telemetryMiddleware(req, res, (err) => {
92
+ if (err)
93
+ reject(err);
94
+ else
95
+ resolve();
96
+ });
97
+ });
98
+ // Continue to next middleware
99
+ next();
100
+ }
101
+ catch (error) {
102
+ logger_1.logger.error('Monitoring middleware error', { error });
103
+ // Don't block the request on monitoring errors
104
+ next();
105
+ }
106
+ };
84
107
  };
85
108
  // Shutdown function
86
109
  const shutdown = async () => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,8CAA8C;;;;;;;;;;;;;;;;;;;;AAoE9C,sCAsCC;AAxGD,6BAA6B;AAC7B,mDAA+E;AAAtE,+GAAA,kBAAkB,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAC/C,8DAA4E;AAAnE,iHAAA,cAAc,OAAA;AAAE,iHAAA,cAAc,OAAA;AACvC,8DAA4E;AAAnE,iHAAA,cAAc,OAAA;AAAE,iHAAA,cAAc,OAAA;AACvC,2DAA0E;AAAjE,mHAAA,eAAe,OAAA;AAAE,mHAAA,eAAe,OAAA;AACzC,uDAAmE;AAA1D,6GAAA,YAAY,OAAA;AAAE,6GAAA,YAAY,OAAA;AAEnC,mBAAmB;AACnB,0CAAwB;AAExB,uBAAuB;AACvB,0CAAoD;AAA3C,iHAAA,OAAO,OAAU;AAE1B,6BAA6B;AAC7B,sDAA0C;AAC1C,qDAA2D;AAC3D,gEAA4D;AAC5D,yDAAqD;AACrD,2CAAwC;AA4BxC;;;;;;;;;;;;;;;;;;;GAmBG;AACI,KAAK,UAAU,aAAa,CAAC,MAAsB;IACtD,IAAI,CAAC;QACD,mBAAmB;QACnB,MAAM,4BAAY,CAAC,OAAO,EAAE,CAAC;QAC7B,eAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAEhD,2BAA2B;QAC3B,MAAM,UAAU,GAAG,GAAG,EAAE;YACpB,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;YAEhC,2BAA2B;YAC3B,MAAM,CAAC,GAAG,CAAC,gCAAc,CAAC,UAAU,EAAE,CAAC,CAAC;YAExC,2BAA2B;YAC3B,MAAM,CAAC,GAAG,CAAC,8BAAkB,CAAC,UAAU,EAAE,CAAC,CAAC;YAE5C,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QAEF,oBAAoB;QACpB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YACxB,eAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACxC,MAAM,8BAAkB,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,4BAAY,CAAC,UAAU,EAAE,CAAC;YAChC,eAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF,OAAO;YACH,UAAU;YACV,YAAY,EAAZ,4BAAY;YACZ,cAAc,EAAd,gCAAc;YACd,kBAAkB,EAAlB,8BAAkB;YAClB,QAAQ;SACX,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAED,mCAAmC;AACnC,yCAAwC;AAA/B,gGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,8CAA8C;;;;;;;;;;;;;;;;;;;;AAoE9C,sCAyDC;AA3HD,6BAA6B;AAC7B,mDAA+E;AAAtE,+GAAA,kBAAkB,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAC/C,8DAA4E;AAAnE,iHAAA,cAAc,OAAA;AAAE,iHAAA,cAAc,OAAA;AACvC,8DAA4E;AAAnE,iHAAA,cAAc,OAAA;AAAE,iHAAA,cAAc,OAAA;AACvC,2DAA0E;AAAjE,mHAAA,eAAe,OAAA;AAAE,mHAAA,eAAe,OAAA;AACzC,uDAAmE;AAA1D,6GAAA,YAAY,OAAA;AAAE,6GAAA,YAAY,OAAA;AAEnC,mBAAmB;AACnB,0CAAwB;AAExB,uBAAuB;AACvB,0CAAoD;AAA3C,iHAAA,OAAO,OAAU;AAI1B,qDAA2D;AAC3D,gEAA4D;AAC5D,yDAAqD;AACrD,2CAAwC;AA4BxC;;;;;;;;;;;;;;;;;;;GAmBG;AACI,KAAK,UAAU,aAAa,CAAC,MAAsB;IACtD,IAAI,CAAC;QACD,mBAAmB;QACnB,MAAM,4BAAY,CAAC,OAAO,EAAE,CAAC;QAC7B,eAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAEhD,sFAAsF;QACtF,MAAM,UAAU,GAAG,GAAG,EAAE;YACpB,OAAO,KAAK,EAAE,GAAoB,EAAE,GAAqB,EAAE,IAA0B,EAAE,EAAE;gBACrF,IAAI,CAAC;oBACD,mCAAmC;oBACnC,MAAM,kBAAkB,GAAG,gCAAc,CAAC,UAAU,EAAE,CAAC;oBACvD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBACxC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAS,EAAE,EAAE;4BACvC,IAAI,GAAG;gCAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;gCAChB,OAAO,EAAE,CAAC;wBACnB,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;oBAEH,6BAA6B;oBAC7B,MAAM,mBAAmB,GAAG,8BAAkB,CAAC,UAAU,EAAE,CAAC;oBAC5D,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBACxC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAS,EAAE,EAAE;4BACxC,IAAI,GAAG;gCAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;gCAChB,OAAO,EAAE,CAAC;wBACnB,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;oBAEH,8BAA8B;oBAC9B,IAAI,EAAE,CAAC;gBACX,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,eAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;oBACvD,+CAA+C;oBAC/C,IAAI,EAAE,CAAC;gBACX,CAAC;YACL,CAAC,CAAC;QACN,CAAC,CAAC;QAEF,oBAAoB;QACpB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YACxB,eAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACxC,MAAM,8BAAkB,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,4BAAY,CAAC,UAAU,EAAE,CAAC;YAChC,eAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF,OAAO;YACH,UAAU;YACV,YAAY,EAAZ,4BAAY;YACZ,cAAc,EAAd,gCAAc;YACd,kBAAkB,EAAlB,8BAAkB;YAClB,QAAQ;SACX,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAED,mCAAmC;AACnC,yCAAwC;AAA/B,gGAAA,MAAM,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gouravniit/zero-trust-api-monitor",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Zero-Trust API monitoring with behavioral analysis, anomaly detection, and automated threat response for fintech APIs",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",