@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}`;
@@ -418,6 +418,24 @@ async function callVerifyAccessAPI(config, request) {
418
418
  }
419
419
  };
420
420
  }
421
+ if (response.status === 400 && data?.error === "INVALID_AGENT_ID") {
422
+ const message = typeof data?.message === "string" ? data.message : "Agent identifier must be a canonical ASTRA-* id.";
423
+ return {
424
+ success: true,
425
+ attemptId: typeof data?.attemptId === "string" ? data.attemptId : void 0,
426
+ access: {
427
+ allowed: false,
428
+ reason: "invalid_agent_id",
429
+ failures: [
430
+ {
431
+ dimension: "identity.invalid_agent_id",
432
+ message,
433
+ guidance: typeof data?.guidance === "string" ? data.guidance : "Present your canonical ASTRA-* id (discover it via GET /api/agents/request-registration/{requestId} after owner approval)."
434
+ }
435
+ ]
436
+ }
437
+ };
438
+ }
421
439
  if (!response.ok) {
422
440
  if (response.status === 401) {
423
441
  return {
@@ -557,7 +575,7 @@ async function verify(config, request, options) {
557
575
  name: apiResponse.agent.name,
558
576
  trustScore: apiResponse.agent.trustScore,
559
577
  trustLevel: getTrustLevel(apiResponse.agent.trustScore),
560
- blockchainVerified: apiResponse.agent.blockchainStatus === "verified",
578
+ blockchainAnchored: apiResponse.agent.blockchainStatus === "anchored",
561
579
  status: apiResponse.agent.agentStatus
562
580
  } : void 0;
563
581
  const developer = apiResponse.developer ? {
@@ -1012,11 +1030,16 @@ var DEFAULT_EDGE_CONFIG = Object.freeze({
1012
1030
  mode: "observe",
1013
1031
  depth: "classify",
1014
1032
  pathRules: [],
1015
- sampling: Object.freeze({ anonymousBeaconRate: 0.1 }),
1033
+ sampling: Object.freeze({ anonymousBeaconRate: 1 }),
1016
1034
  failurePosture: "open"
1017
1035
  });
1018
1036
  var EDGE_MODES = ["observe", "enforce"];
1019
1037
  var EDGE_DEPTHS = ["classify", "authenticate", "authorize"];
1038
+ function isSamplingShape(value) {
1039
+ if (typeof value !== "object" || value === null) return false;
1040
+ const rate = value.anonymousBeaconRate;
1041
+ return typeof rate === "number" && rate >= 0 && rate <= 1;
1042
+ }
1020
1043
  function isEdgeConfig(value) {
1021
1044
  if (typeof value !== "object" || value === null) return false;
1022
1045
  const v = value;
@@ -1030,10 +1053,13 @@ function isEdgeConfig(value) {
1030
1053
  if (typeof r.pattern !== "string" || r.pattern.length === 0) return false;
1031
1054
  if (r.mode !== void 0 && !EDGE_MODES.includes(r.mode)) return false;
1032
1055
  if (r.depth !== void 0 && !EDGE_DEPTHS.includes(r.depth)) return false;
1056
+ if (r.sampling !== void 0 && !isSamplingShape(r.sampling)) return false;
1033
1057
  }
1034
- const sampling = v.sampling;
1035
- if (typeof sampling !== "object" || sampling === null || typeof sampling.anonymousBeaconRate !== "number" || sampling.anonymousBeaconRate < 0 || sampling.anonymousBeaconRate > 1) {
1036
- return false;
1058
+ if (!isSamplingShape(v.sampling)) return false;
1059
+ if (v.queryValueAllowlist !== void 0) {
1060
+ if (!Array.isArray(v.queryValueAllowlist) || v.queryValueAllowlist.length > 16 || !v.queryValueAllowlist.every((e) => typeof e === "string" && e.length > 0 && e.length <= 64)) {
1061
+ return false;
1062
+ }
1037
1063
  }
1038
1064
  return v.failurePosture === "open";
1039
1065
  }
@@ -1135,7 +1161,20 @@ var PLATFORM_AGENT_SIGNATURES = [
1135
1161
  {
1136
1162
  vendor: "gemini",
1137
1163
  displayName: "Google Gemini",
1138
- uaPatterns: [/gemini/i, /google-gemini/i, /bard/i],
1164
+ uaPatterns: [
1165
+ /gemini/i,
1166
+ /google-gemini/i,
1167
+ /bard/i,
1168
+ // Google's AI/agent fetcher tokens (VI uplift 1.3). These are the
1169
+ // AI-training/agent crawlers, NOT the Search crawler — googlebot IP
1170
+ // ranges attribute Search and are deliberately absent from
1171
+ // vendor-ip-ranges. Anchored tokens: none appears in stock browser
1172
+ // UAs, and `-` counts as a \b boundary so GoogleOther-Image/-Video
1173
+ // match too.
1174
+ /\bGoogle-Extended\b/i,
1175
+ /\bGoogleOther\b/i,
1176
+ /\bGoogle-CloudVertexBot\b/i
1177
+ ],
1139
1178
  agentCardPatterns: [/gemini\.google\.com/i, /ai\.google\.dev/i],
1140
1179
  apiKeyFormatPatterns: [/^aiza/i],
1141
1180
  headerPatterns: [/^x-goog-user-project/i, /^x-goog-api-client/i]
@@ -1181,6 +1220,16 @@ var PLATFORM_AGENT_SIGNATURES = [
1181
1220
  uaPatterns: [/\bcomet\/\d/i],
1182
1221
  headerPatterns: [/^sec-ch-ua: .*comet/i]
1183
1222
  },
1223
+ // The MCP bridge's own catalog fetches (VI uplift 1.5). Deliberately a
1224
+ // DISTINCT UA from `astrasync-sdk/`: bridge fetches are buyer-agent
1225
+ // traffic merchants should see (identified · unregistered), so this
1226
+ // vendor is kept OUT of the self-traffic filter and the edge's SELF
1227
+ // short-circuit.
1228
+ {
1229
+ vendor: "astrasync-bridge",
1230
+ displayName: "AstraSync MCP bridge (buyer-agent catalog fetch)",
1231
+ uaPatterns: [/^astrasync-bridge\//i]
1232
+ },
1184
1233
  // Our own SDK self-identifies (sdkFetch stamps this UA) — first-party
1185
1234
  // traffic must never pollute the unknown/anonymous pool it exists to audit.
1186
1235
  {