@astrasyncai/verification-gateway 5.7.0 → 5.9.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 +37 -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 +41 -7
  5. package/dist/adapters/express.js.map +1 -1
  6. package/dist/adapters/express.mjs +41 -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 +2 -2
  11. package/dist/adapters/mcp.js.map +1 -1
  12. package/dist/adapters/mcp.mjs +2 -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 +41 -7
  17. package/dist/adapters/nextjs.js.map +1 -1
  18. package/dist/adapters/nextjs.mjs +41 -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 +2 -2
  23. package/dist/adapters/sdk.js.map +1 -1
  24. package/dist/adapters/sdk.mjs +2 -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 +14 -6
  31. package/dist/bin/astrasync-codex-hook.js +14 -6
  32. package/dist/bin/astrasync-guard.js +14 -6
  33. package/dist/bin/astrasync.js +15 -6
  34. package/dist/browser/background.js +14 -6
  35. package/dist/browser/background.js.map +1 -1
  36. package/dist/browser/background.mjs +14 -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 +14 -6
  43. package/dist/codex/index.js.map +1 -1
  44. package/dist/codex/index.mjs +14 -6
  45. package/dist/codex/index.mjs.map +1 -1
  46. package/dist/cursor/extension.js +14 -6
  47. package/dist/cursor/extension.js.map +1 -1
  48. package/dist/cursor/extension.mjs +14 -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 +110 -16
  59. package/dist/edge-core/index.js.map +1 -1
  60. package/dist/edge-core/index.mjs +110 -16
  61. package/dist/edge-core/index.mjs.map +1 -1
  62. package/dist/gateway/gateway.js +14 -6
  63. package/dist/gateway/gateway.js.map +1 -1
  64. package/dist/gateway/gateway.mjs +14 -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 +80 -6
  69. package/dist/index.d.ts +80 -6
  70. package/dist/index.js +54 -7
  71. package/dist/index.js.map +1 -1
  72. package/dist/index.mjs +52 -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 +2 -2
  103. package/dist/verify.js.map +1 -1
  104. package/dist/verify.mjs +2 -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.7.0";
2
+ var SDK_VERSION = "5.9.0";
3
3
 
4
4
  // src/http.ts
5
5
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -609,7 +609,7 @@ async function verify(config, request, options) {
609
609
  name: apiResponse.agent.name,
610
610
  trustScore: apiResponse.agent.trustScore,
611
611
  trustLevel: getTrustLevel(apiResponse.agent.trustScore),
612
- blockchainVerified: apiResponse.agent.blockchainStatus === "verified",
612
+ blockchainAnchored: apiResponse.agent.blockchainStatus === "anchored",
613
613
  status: apiResponse.agent.agentStatus
614
614
  } : void 0;
615
615
  const developer = apiResponse.developer ? {
@@ -1194,11 +1194,16 @@ var DEFAULT_EDGE_CONFIG = Object.freeze({
1194
1194
  mode: "observe",
1195
1195
  depth: "classify",
1196
1196
  pathRules: [],
1197
- sampling: Object.freeze({ anonymousBeaconRate: 0.1 }),
1197
+ sampling: Object.freeze({ anonymousBeaconRate: 1 }),
1198
1198
  failurePosture: "open"
1199
1199
  });
1200
1200
  var EDGE_MODES = ["observe", "enforce"];
1201
1201
  var EDGE_DEPTHS = ["classify", "authenticate", "authorize"];
1202
+ function isSamplingShape(value) {
1203
+ if (typeof value !== "object" || value === null) return false;
1204
+ const rate = value.anonymousBeaconRate;
1205
+ return typeof rate === "number" && rate >= 0 && rate <= 1;
1206
+ }
1202
1207
  function isEdgeConfig(value) {
1203
1208
  if (typeof value !== "object" || value === null) return false;
1204
1209
  const v = value;
@@ -1212,10 +1217,13 @@ function isEdgeConfig(value) {
1212
1217
  if (typeof r.pattern !== "string" || r.pattern.length === 0) return false;
1213
1218
  if (r.mode !== void 0 && !EDGE_MODES.includes(r.mode)) return false;
1214
1219
  if (r.depth !== void 0 && !EDGE_DEPTHS.includes(r.depth)) return false;
1220
+ if (r.sampling !== void 0 && !isSamplingShape(r.sampling)) return false;
1215
1221
  }
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;
1222
+ if (!isSamplingShape(v.sampling)) return false;
1223
+ if (v.queryValueAllowlist !== void 0) {
1224
+ if (!Array.isArray(v.queryValueAllowlist) || v.queryValueAllowlist.length > 16 || !v.queryValueAllowlist.every((e) => typeof e === "string" && e.length > 0 && e.length <= 64)) {
1225
+ return false;
1226
+ }
1219
1227
  }
1220
1228
  return v.failurePosture === "open";
1221
1229
  }
@@ -1317,7 +1325,20 @@ var PLATFORM_AGENT_SIGNATURES = [
1317
1325
  {
1318
1326
  vendor: "gemini",
1319
1327
  displayName: "Google Gemini",
1320
- uaPatterns: [/gemini/i, /google-gemini/i, /bard/i],
1328
+ uaPatterns: [
1329
+ /gemini/i,
1330
+ /google-gemini/i,
1331
+ /bard/i,
1332
+ // Google's AI/agent fetcher tokens (VI uplift 1.3). These are the
1333
+ // AI-training/agent crawlers, NOT the Search crawler — googlebot IP
1334
+ // ranges attribute Search and are deliberately absent from
1335
+ // vendor-ip-ranges. Anchored tokens: none appears in stock browser
1336
+ // UAs, and `-` counts as a \b boundary so GoogleOther-Image/-Video
1337
+ // match too.
1338
+ /\bGoogle-Extended\b/i,
1339
+ /\bGoogleOther\b/i,
1340
+ /\bGoogle-CloudVertexBot\b/i
1341
+ ],
1321
1342
  agentCardPatterns: [/gemini\.google\.com/i, /ai\.google\.dev/i],
1322
1343
  apiKeyFormatPatterns: [/^aiza/i],
1323
1344
  headerPatterns: [/^x-goog-user-project/i, /^x-goog-api-client/i]
@@ -1363,6 +1384,16 @@ var PLATFORM_AGENT_SIGNATURES = [
1363
1384
  uaPatterns: [/\bcomet\/\d/i],
1364
1385
  headerPatterns: [/^sec-ch-ua: .*comet/i]
1365
1386
  },
1387
+ // The MCP bridge's own catalog fetches (VI uplift 1.5). Deliberately a
1388
+ // DISTINCT UA from `astrasync-sdk/`: bridge fetches are buyer-agent
1389
+ // traffic merchants should see (identified · unregistered), so this
1390
+ // vendor is kept OUT of the self-traffic filter and the edge's SELF
1391
+ // short-circuit.
1392
+ {
1393
+ vendor: "astrasync-bridge",
1394
+ displayName: "AstraSync MCP bridge (buyer-agent catalog fetch)",
1395
+ uaPatterns: [/^astrasync-bridge\//i]
1396
+ },
1366
1397
  // Our own SDK self-identifies (sdkFetch stamps this UA) — first-party
1367
1398
  // traffic must never pollute the unknown/anonymous pool it exists to audit.
1368
1399
  {
@@ -1807,6 +1838,8 @@ function createMiddleware(options) {
1807
1838
  }
1808
1839
  }
1809
1840
  }
1841
+ const attemptHeader = req.headers["x-astra-attempt-id"];
1842
+ const inboundAttemptId = typeof attemptHeader === "string" && /^att_[0-9a-f]{32}$/.test(attemptHeader) ? attemptHeader : void 0;
1810
1843
  const verificationRequest = {
1811
1844
  credentials,
1812
1845
  purpose,
@@ -1819,6 +1852,7 @@ function createMiddleware(options) {
1819
1852
  durationRequired: astraCreds?.pdlss?.duration?.maxSessionDuration,
1820
1853
  ...txValue !== void 0 && { transactionValue: txValue },
1821
1854
  ...txCurrency && { currency: txCurrency },
1855
+ ...inboundAttemptId && { attemptId: inboundAttemptId },
1822
1856
  callerMetadata: {
1823
1857
  sourceIp: originalClientIp,
1824
1858
  userAgent: req.headers["user-agent"],