@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 +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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
|
|
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: () =>
|
|
30
|
+
middleware: () => express.RequestHandler;
|
|
31
31
|
featureStore: typeof featureStore;
|
|
32
32
|
throttleEngine: typeof throttleEngine;
|
|
33
33
|
telemetryCollector: typeof telemetryCollector;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
|
74
|
+
// Create middleware function (not Router - Routers don't execute middleware properly)
|
|
77
75
|
const middleware = () => {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gouravniit/zero-trust-api-monitor",
|
|
3
|
-
"version": "1.0.
|
|
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",
|