@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.mjs CHANGED
@@ -1378,14 +1378,32 @@ function createEnhancedAgentShieldMiddleware(config = {}) {
1378
1378
  });
1379
1379
  return storageInitPromise;
1380
1380
  };
1381
- let wasmAvailable = false;
1382
- checkWasmAvailability().then((available) => {
1383
- wasmAvailable = available;
1384
- if (available) {
1385
- console.log("[AgentShield] \u2705 WASM support detected - enhanced detection enabled");
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
- const detector = wasmAvailable ? new EdgeAgentDetectorWrapperWithWasm({ enableWasm: true }) : new EdgeAgentDetectorWrapper({});
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 result = await detector.analyze(context);
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
- console.log(`[AgentShield] \u{1F916} AI Agent detected (${verificationMethod}):`, {
1494
- agent: result.detectedAgent?.name,
1495
- confidence: `${(finalConfidence * 100).toFixed(0)}%`,
1496
- path: pathWithQuery,
1497
- verification: verificationMethod
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
  }