@astrasyncai/verification-gateway 5.8.0 → 5.10.0

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.
Files changed (106) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/express.d.mts +1 -1
  3. package/dist/adapters/express.d.ts +1 -1
  4. package/dist/adapters/express.js +56 -7
  5. package/dist/adapters/express.js.map +1 -1
  6. package/dist/adapters/express.mjs +56 -7
  7. package/dist/adapters/express.mjs.map +1 -1
  8. package/dist/adapters/mcp.d.mts +1 -1
  9. package/dist/adapters/mcp.d.ts +1 -1
  10. package/dist/adapters/mcp.js +20 -2
  11. package/dist/adapters/mcp.js.map +1 -1
  12. package/dist/adapters/mcp.mjs +20 -2
  13. package/dist/adapters/mcp.mjs.map +1 -1
  14. package/dist/adapters/nextjs.d.mts +1 -1
  15. package/dist/adapters/nextjs.d.ts +1 -1
  16. package/dist/adapters/nextjs.js +56 -7
  17. package/dist/adapters/nextjs.js.map +1 -1
  18. package/dist/adapters/nextjs.mjs +56 -7
  19. package/dist/adapters/nextjs.mjs.map +1 -1
  20. package/dist/adapters/sdk.d.mts +1 -1
  21. package/dist/adapters/sdk.d.ts +1 -1
  22. package/dist/adapters/sdk.js +20 -2
  23. package/dist/adapters/sdk.js.map +1 -1
  24. package/dist/adapters/sdk.mjs +20 -2
  25. package/dist/adapters/sdk.mjs.map +1 -1
  26. package/dist/agent/index.js +1 -1
  27. package/dist/agent/index.js.map +1 -1
  28. package/dist/agent/index.mjs +1 -1
  29. package/dist/agent/index.mjs.map +1 -1
  30. package/dist/bin/astrasync-claude-hook.js +32 -6
  31. package/dist/bin/astrasync-codex-hook.js +32 -6
  32. package/dist/bin/astrasync-guard.js +32 -6
  33. package/dist/bin/astrasync.js +33 -6
  34. package/dist/browser/background.js +32 -6
  35. package/dist/browser/background.js.map +1 -1
  36. package/dist/browser/background.mjs +32 -6
  37. package/dist/browser/background.mjs.map +1 -1
  38. package/dist/cli/index.js +12 -4
  39. package/dist/cli/index.js.map +1 -1
  40. package/dist/cli/index.mjs +12 -4
  41. package/dist/cli/index.mjs.map +1 -1
  42. package/dist/codex/index.js +32 -6
  43. package/dist/codex/index.js.map +1 -1
  44. package/dist/codex/index.mjs +32 -6
  45. package/dist/codex/index.mjs.map +1 -1
  46. package/dist/cursor/extension.js +32 -6
  47. package/dist/cursor/extension.js.map +1 -1
  48. package/dist/cursor/extension.mjs +32 -6
  49. package/dist/cursor/extension.mjs.map +1 -1
  50. package/dist/edge-config.d.mts +24 -1
  51. package/dist/edge-config.d.ts +24 -1
  52. package/dist/edge-config.js +13 -5
  53. package/dist/edge-config.js.map +1 -1
  54. package/dist/edge-config.mjs +13 -5
  55. package/dist/edge-config.mjs.map +1 -1
  56. package/dist/edge-core/index.d.mts +14 -6
  57. package/dist/edge-core/index.d.ts +14 -6
  58. package/dist/edge-core/index.js +129 -17
  59. package/dist/edge-core/index.js.map +1 -1
  60. package/dist/edge-core/index.mjs +129 -17
  61. package/dist/edge-core/index.mjs.map +1 -1
  62. package/dist/gateway/gateway.js +32 -6
  63. package/dist/gateway/gateway.js.map +1 -1
  64. package/dist/gateway/gateway.mjs +32 -6
  65. package/dist/gateway/gateway.mjs.map +1 -1
  66. package/dist/git-trigger/git-hooks.d.mts +1 -1
  67. package/dist/git-trigger/git-hooks.d.ts +1 -1
  68. package/dist/index.d.mts +73 -6
  69. package/dist/index.d.ts +73 -6
  70. package/dist/index.js +66 -7
  71. package/dist/index.js.map +1 -1
  72. package/dist/index.mjs +64 -7
  73. package/dist/index.mjs.map +1 -1
  74. package/dist/metadata-capture.d.mts +18 -1
  75. package/dist/metadata-capture.d.ts +18 -1
  76. package/dist/metadata-capture.js +10 -0
  77. package/dist/metadata-capture.js.map +1 -1
  78. package/dist/metadata-capture.mjs +8 -0
  79. package/dist/metadata-capture.mjs.map +1 -1
  80. package/dist/platform-signatures.d.mts +1 -1
  81. package/dist/platform-signatures.d.ts +1 -1
  82. package/dist/platform-signatures.js +24 -1
  83. package/dist/platform-signatures.js.map +1 -1
  84. package/dist/platform-signatures.mjs +24 -1
  85. package/dist/platform-signatures.mjs.map +1 -1
  86. package/dist/registration/index.js +1 -1
  87. package/dist/registration/index.js.map +1 -1
  88. package/dist/registration/index.mjs +1 -1
  89. package/dist/registration/index.mjs.map +1 -1
  90. package/dist/transport/index.js +1 -1
  91. package/dist/transport/index.js.map +1 -1
  92. package/dist/transport/index.mjs +1 -1
  93. package/dist/transport/index.mjs.map +1 -1
  94. package/dist/{types-BK_pRNSs.d.mts → types-CTmUpNpS.d.mts} +25 -2
  95. package/dist/{types-BK_pRNSs.d.ts → types-CTmUpNpS.d.ts} +25 -2
  96. package/dist/{types-CwY5IY-0.d.ts → types-CtFXmDzm.d.ts} +17 -2
  97. package/dist/{types-BCmHFdkJ.d.mts → types-DQrn_kei.d.mts} +17 -2
  98. package/dist/ui/index.d.mts +1 -1
  99. package/dist/ui/index.d.ts +1 -1
  100. package/dist/verify.d.mts +13 -1
  101. package/dist/verify.d.ts +13 -1
  102. package/dist/verify.js +20 -2
  103. package/dist/verify.js.map +1 -1
  104. package/dist/verify.mjs +20 -2
  105. package/dist/verify.mjs.map +1 -1
  106. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var SDK_VERSION = "5.8.0";
2
+ var SDK_VERSION = "5.10.0";
3
3
 
4
4
  // src/http.ts
5
5
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -470,6 +470,24 @@ async function callVerifyAccessAPI(config, request) {
470
470
  }
471
471
  };
472
472
  }
473
+ if (response.status === 400 && data?.error === "INVALID_AGENT_ID") {
474
+ const message = typeof data?.message === "string" ? data.message : "Agent identifier must be a canonical ASTRA-* id.";
475
+ return {
476
+ success: true,
477
+ attemptId: typeof data?.attemptId === "string" ? data.attemptId : void 0,
478
+ access: {
479
+ allowed: false,
480
+ reason: "invalid_agent_id",
481
+ failures: [
482
+ {
483
+ dimension: "identity.invalid_agent_id",
484
+ message,
485
+ guidance: typeof data?.guidance === "string" ? data.guidance : "Present your canonical ASTRA-* id (discover it via GET /api/agents/request-registration/{requestId} after owner approval)."
486
+ }
487
+ ]
488
+ }
489
+ };
490
+ }
473
491
  if (!response.ok) {
474
492
  if (response.status === 401) {
475
493
  return {
@@ -609,7 +627,7 @@ async function verify(config, request, options) {
609
627
  name: apiResponse.agent.name,
610
628
  trustScore: apiResponse.agent.trustScore,
611
629
  trustLevel: getTrustLevel(apiResponse.agent.trustScore),
612
- blockchainVerified: apiResponse.agent.blockchainStatus === "verified",
630
+ blockchainAnchored: apiResponse.agent.blockchainStatus === "anchored",
613
631
  status: apiResponse.agent.agentStatus
614
632
  } : void 0;
615
633
  const developer = apiResponse.developer ? {
@@ -1194,11 +1212,16 @@ var DEFAULT_EDGE_CONFIG = Object.freeze({
1194
1212
  mode: "observe",
1195
1213
  depth: "classify",
1196
1214
  pathRules: [],
1197
- sampling: Object.freeze({ anonymousBeaconRate: 0.1 }),
1215
+ sampling: Object.freeze({ anonymousBeaconRate: 1 }),
1198
1216
  failurePosture: "open"
1199
1217
  });
1200
1218
  var EDGE_MODES = ["observe", "enforce"];
1201
1219
  var EDGE_DEPTHS = ["classify", "authenticate", "authorize"];
1220
+ function isSamplingShape(value) {
1221
+ if (typeof value !== "object" || value === null) return false;
1222
+ const rate = value.anonymousBeaconRate;
1223
+ return typeof rate === "number" && rate >= 0 && rate <= 1;
1224
+ }
1202
1225
  function isEdgeConfig(value) {
1203
1226
  if (typeof value !== "object" || value === null) return false;
1204
1227
  const v = value;
@@ -1212,10 +1235,13 @@ function isEdgeConfig(value) {
1212
1235
  if (typeof r.pattern !== "string" || r.pattern.length === 0) return false;
1213
1236
  if (r.mode !== void 0 && !EDGE_MODES.includes(r.mode)) return false;
1214
1237
  if (r.depth !== void 0 && !EDGE_DEPTHS.includes(r.depth)) return false;
1238
+ if (r.sampling !== void 0 && !isSamplingShape(r.sampling)) return false;
1215
1239
  }
1216
- const sampling = v.sampling;
1217
- if (typeof sampling !== "object" || sampling === null || typeof sampling.anonymousBeaconRate !== "number" || sampling.anonymousBeaconRate < 0 || sampling.anonymousBeaconRate > 1) {
1218
- return false;
1240
+ if (!isSamplingShape(v.sampling)) return false;
1241
+ if (v.queryValueAllowlist !== void 0) {
1242
+ if (!Array.isArray(v.queryValueAllowlist) || v.queryValueAllowlist.length > 16 || !v.queryValueAllowlist.every((e) => typeof e === "string" && e.length > 0 && e.length <= 64)) {
1243
+ return false;
1244
+ }
1219
1245
  }
1220
1246
  return v.failurePosture === "open";
1221
1247
  }
@@ -1317,7 +1343,20 @@ var PLATFORM_AGENT_SIGNATURES = [
1317
1343
  {
1318
1344
  vendor: "gemini",
1319
1345
  displayName: "Google Gemini",
1320
- uaPatterns: [/gemini/i, /google-gemini/i, /bard/i],
1346
+ uaPatterns: [
1347
+ /gemini/i,
1348
+ /google-gemini/i,
1349
+ /bard/i,
1350
+ // Google's AI/agent fetcher tokens (VI uplift 1.3). These are the
1351
+ // AI-training/agent crawlers, NOT the Search crawler — googlebot IP
1352
+ // ranges attribute Search and are deliberately absent from
1353
+ // vendor-ip-ranges. Anchored tokens: none appears in stock browser
1354
+ // UAs, and `-` counts as a \b boundary so GoogleOther-Image/-Video
1355
+ // match too.
1356
+ /\bGoogle-Extended\b/i,
1357
+ /\bGoogleOther\b/i,
1358
+ /\bGoogle-CloudVertexBot\b/i
1359
+ ],
1321
1360
  agentCardPatterns: [/gemini\.google\.com/i, /ai\.google\.dev/i],
1322
1361
  apiKeyFormatPatterns: [/^aiza/i],
1323
1362
  headerPatterns: [/^x-goog-user-project/i, /^x-goog-api-client/i]
@@ -1363,6 +1402,16 @@ var PLATFORM_AGENT_SIGNATURES = [
1363
1402
  uaPatterns: [/\bcomet\/\d/i],
1364
1403
  headerPatterns: [/^sec-ch-ua: .*comet/i]
1365
1404
  },
1405
+ // The MCP bridge's own catalog fetches (VI uplift 1.5). Deliberately a
1406
+ // DISTINCT UA from `astrasync-sdk/`: bridge fetches are buyer-agent
1407
+ // traffic merchants should see (identified · unregistered), so this
1408
+ // vendor is kept OUT of the self-traffic filter and the edge's SELF
1409
+ // short-circuit.
1410
+ {
1411
+ vendor: "astrasync-bridge",
1412
+ displayName: "AstraSync MCP bridge (buyer-agent catalog fetch)",
1413
+ uaPatterns: [/^astrasync-bridge\//i]
1414
+ },
1366
1415
  // Our own SDK self-identifies (sdkFetch stamps this UA) — first-party
1367
1416
  // traffic must never pollute the unknown/anonymous pool it exists to audit.
1368
1417
  {