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