@kya-os/agentshield-nextjs 0.1.34 → 0.1.35
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 +36 -14
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +36 -14
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1378,14 +1378,32 @@ function createEnhancedAgentShieldMiddleware(config = {}) {
|
|
|
1378
1378
|
});
|
|
1379
1379
|
return storageInitPromise;
|
|
1380
1380
|
};
|
|
1381
|
-
let
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
if (
|
|
1385
|
-
|
|
1381
|
+
let detector = null;
|
|
1382
|
+
let detectorInitPromise = null;
|
|
1383
|
+
const getDetector = async () => {
|
|
1384
|
+
if (detector) return detector;
|
|
1385
|
+
if (detectorInitPromise) {
|
|
1386
|
+
await detectorInitPromise;
|
|
1387
|
+
return detector;
|
|
1386
1388
|
}
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
+
detectorInitPromise = (async () => {
|
|
1390
|
+
try {
|
|
1391
|
+
const wasmAvailable = await checkWasmAvailability();
|
|
1392
|
+
if (wasmAvailable) {
|
|
1393
|
+
console.log("[AgentShield] \u2705 WASM support detected - enhanced detection enabled");
|
|
1394
|
+
detector = new EdgeAgentDetectorWrapperWithWasm({ enableWasm: true });
|
|
1395
|
+
} else {
|
|
1396
|
+
console.log("[AgentShield] \u2139\uFE0F Using pattern-based detection (WASM not available)");
|
|
1397
|
+
detector = new EdgeAgentDetectorWrapper({});
|
|
1398
|
+
}
|
|
1399
|
+
} catch (error) {
|
|
1400
|
+
console.warn("[AgentShield] Failed to initialize WASM, using fallback:", error);
|
|
1401
|
+
detector = new EdgeAgentDetectorWrapper({});
|
|
1402
|
+
}
|
|
1403
|
+
})();
|
|
1404
|
+
await detectorInitPromise;
|
|
1405
|
+
return detector;
|
|
1406
|
+
};
|
|
1389
1407
|
const sessionManager = new SessionManager();
|
|
1390
1408
|
const sessionTrackingEnabled = config.sessionTracking?.enabled !== false;
|
|
1391
1409
|
return async (request) => {
|
|
@@ -1405,7 +1423,8 @@ function createEnhancedAgentShieldMiddleware(config = {}) {
|
|
|
1405
1423
|
method: request.method,
|
|
1406
1424
|
timestamp: /* @__PURE__ */ new Date()
|
|
1407
1425
|
};
|
|
1408
|
-
const
|
|
1426
|
+
const activeDetector = await getDetector();
|
|
1427
|
+
const result = await activeDetector.analyze(context);
|
|
1409
1428
|
let finalConfidence = result.confidence;
|
|
1410
1429
|
let verificationMethod = result.verificationMethod || "pattern";
|
|
1411
1430
|
if (result.isAgent) {
|
|
@@ -1490,12 +1509,15 @@ function createEnhancedAgentShieldMiddleware(config = {}) {
|
|
|
1490
1509
|
return response2;
|
|
1491
1510
|
}
|
|
1492
1511
|
case "log":
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1512
|
+
const isInteresting = finalConfidence >= 0.9 || result.detectedAgent?.name?.toLowerCase().includes("chatgpt") || result.detectedAgent?.name?.toLowerCase().includes("perplexity") || verificationMethod === "signature";
|
|
1513
|
+
if (isInteresting) {
|
|
1514
|
+
console.log(`[AgentShield] \u{1F916} AI Agent detected (${verificationMethod}):`, {
|
|
1515
|
+
agent: result.detectedAgent?.name,
|
|
1516
|
+
confidence: `${(finalConfidence * 100).toFixed(0)}%`,
|
|
1517
|
+
path: pathWithQuery,
|
|
1518
|
+
verification: verificationMethod
|
|
1519
|
+
});
|
|
1520
|
+
}
|
|
1499
1521
|
break;
|
|
1500
1522
|
}
|
|
1501
1523
|
}
|