@astrasyncai/verification-gateway 5.21.2 → 5.22.1

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 (87) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +19 -7
  3. package/dist/adapters/express.js +60 -11
  4. package/dist/adapters/express.js.map +1 -1
  5. package/dist/adapters/express.mjs +60 -11
  6. package/dist/adapters/express.mjs.map +1 -1
  7. package/dist/adapters/mcp.js +34 -3
  8. package/dist/adapters/mcp.js.map +1 -1
  9. package/dist/adapters/mcp.mjs +34 -3
  10. package/dist/adapters/mcp.mjs.map +1 -1
  11. package/dist/adapters/nextjs.js +60 -11
  12. package/dist/adapters/nextjs.js.map +1 -1
  13. package/dist/adapters/nextjs.mjs +60 -11
  14. package/dist/adapters/nextjs.mjs.map +1 -1
  15. package/dist/adapters/sdk.js +1 -1
  16. package/dist/adapters/sdk.js.map +1 -1
  17. package/dist/adapters/sdk.mjs +1 -1
  18. package/dist/adapters/sdk.mjs.map +1 -1
  19. package/dist/agent/index.js +1 -1
  20. package/dist/agent/index.js.map +1 -1
  21. package/dist/agent/index.mjs +1 -1
  22. package/dist/agent/index.mjs.map +1 -1
  23. package/dist/bin/astrasync-claude-hook.js +1 -1
  24. package/dist/bin/astrasync-codex-hook.js +1 -1
  25. package/dist/bin/astrasync-guard.js +1 -1
  26. package/dist/bin/astrasync.js +1 -1
  27. package/dist/browser/background.js +1 -1
  28. package/dist/browser/background.js.map +1 -1
  29. package/dist/browser/background.mjs +1 -1
  30. package/dist/browser/background.mjs.map +1 -1
  31. package/dist/cli/index.js +1 -1
  32. package/dist/cli/index.js.map +1 -1
  33. package/dist/cli/index.mjs +1 -1
  34. package/dist/cli/index.mjs.map +1 -1
  35. package/dist/codex/index.js +1 -1
  36. package/dist/codex/index.js.map +1 -1
  37. package/dist/codex/index.mjs +1 -1
  38. package/dist/codex/index.mjs.map +1 -1
  39. package/dist/cursor/extension.js +1 -1
  40. package/dist/cursor/extension.js.map +1 -1
  41. package/dist/cursor/extension.mjs +1 -1
  42. package/dist/cursor/extension.mjs.map +1 -1
  43. package/dist/edge-config.js +1 -1
  44. package/dist/edge-config.js.map +1 -1
  45. package/dist/edge-config.mjs +1 -1
  46. package/dist/edge-config.mjs.map +1 -1
  47. package/dist/edge-core/index.d.mts +4 -1
  48. package/dist/edge-core/index.d.ts +4 -1
  49. package/dist/edge-core/index.js +45 -15
  50. package/dist/edge-core/index.js.map +1 -1
  51. package/dist/edge-core/index.mjs +45 -15
  52. package/dist/edge-core/index.mjs.map +1 -1
  53. package/dist/gateway/gateway.js +1 -1
  54. package/dist/gateway/gateway.js.map +1 -1
  55. package/dist/gateway/gateway.mjs +1 -1
  56. package/dist/gateway/gateway.mjs.map +1 -1
  57. package/dist/index.d.mts +44 -6
  58. package/dist/index.d.ts +44 -6
  59. package/dist/index.js +71 -14
  60. package/dist/index.js.map +1 -1
  61. package/dist/index.mjs +71 -14
  62. package/dist/index.mjs.map +1 -1
  63. package/dist/metadata-capture.d.mts +5 -3
  64. package/dist/metadata-capture.d.ts +5 -3
  65. package/dist/metadata-capture.js +33 -2
  66. package/dist/metadata-capture.js.map +1 -1
  67. package/dist/metadata-capture.mjs +33 -2
  68. package/dist/metadata-capture.mjs.map +1 -1
  69. package/dist/platform-signatures.d.mts +13 -0
  70. package/dist/platform-signatures.d.ts +13 -0
  71. package/dist/platform-signatures.js +26 -8
  72. package/dist/platform-signatures.js.map +1 -1
  73. package/dist/platform-signatures.mjs +26 -8
  74. package/dist/platform-signatures.mjs.map +1 -1
  75. package/dist/registration/index.js +1 -1
  76. package/dist/registration/index.js.map +1 -1
  77. package/dist/registration/index.mjs +1 -1
  78. package/dist/registration/index.mjs.map +1 -1
  79. package/dist/transport/index.js +1 -1
  80. package/dist/transport/index.js.map +1 -1
  81. package/dist/transport/index.mjs +1 -1
  82. package/dist/transport/index.mjs.map +1 -1
  83. package/dist/verify.js +1 -1
  84. package/dist/verify.js.map +1 -1
  85. package/dist/verify.mjs +1 -1
  86. package/dist/verify.mjs.map +1 -1
  87. package/package.json +3 -3
@@ -34,7 +34,7 @@ __export(mcp_exports, {
34
34
  module.exports = __toCommonJS(mcp_exports);
35
35
 
36
36
  // src/version.ts
37
- var SDK_VERSION = "5.21.2";
37
+ var SDK_VERSION = "5.22.1";
38
38
 
39
39
  // src/http.ts
40
40
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -956,7 +956,11 @@ var PLATFORM_HEADER_NAMES = /* @__PURE__ */ new Set([
956
956
  "x-goog-api-client",
957
957
  "user-agent",
958
958
  "x-agent-card-url",
959
- "x-agent-provider"
959
+ "x-agent-provider",
960
+ // Round 31 — Web Bot Auth's Signature-Agent names the signing agent's
961
+ // directory host (a public URL, never a secret). It attributes a signed
962
+ // agent even when its UA is stock Chrome.
963
+ "signature-agent"
960
964
  ]);
961
965
  var PLATFORM_HEADER_PREFIXES = [
962
966
  "x-goog-",
@@ -1073,7 +1077,12 @@ function sanitizeHeaders(raw) {
1073
1077
  return result;
1074
1078
  }
1075
1079
  var CONNECTION_HEADER_SOURCES = [
1076
- ["ip", ["cf-connecting-ip", "fastly-client-ip", "true-client-ip", "x-real-ip"]],
1080
+ // Round 31: `incap-client-ip` = Imperva Cloud WAF; `true-client-ip` is
1081
+ // also Akamai's client-IP header when the property enables it.
1082
+ [
1083
+ "ip",
1084
+ ["cf-connecting-ip", "fastly-client-ip", "incap-client-ip", "true-client-ip", "x-real-ip"]
1085
+ ],
1077
1086
  [
1078
1087
  "country",
1079
1088
  ["cf-ipcountry", "x-vercel-ip-country", "cloudfront-viewer-country", "fastly-geo-country"]
@@ -1124,6 +1133,28 @@ function deriveConnectionFromHeaders(headers) {
1124
1133
  if (portMatch) connection.sourcePort = portMatch[1];
1125
1134
  if (!connection.ip && addr) connection.ip = addr.replace(/:\d+$/, "");
1126
1135
  }
1136
+ {
1137
+ const edgescape = (lower["x-akamai-edgescape"] ?? lower["akamai-edgescape"])?.trim();
1138
+ if (edgescape) {
1139
+ const fields = /* @__PURE__ */ new Map();
1140
+ for (const pair of edgescape.split(",")) {
1141
+ const i = pair.indexOf("=");
1142
+ if (i > 0) fields.set(pair.slice(0, i).trim().toLowerCase(), pair.slice(i + 1).trim());
1143
+ }
1144
+ const fill = (key, field) => {
1145
+ const v = fields.get(field);
1146
+ if (v && !connection[key]) connection[key] = v.slice(0, MAX_CONNECTION_VALUE_CHARS);
1147
+ };
1148
+ fill("country", "country_code");
1149
+ fill("region", "region_code");
1150
+ fill("city", "city");
1151
+ fill("latitude", "lat");
1152
+ fill("longitude", "long");
1153
+ fill("timeZone", "timezone");
1154
+ fill("asn", "asnum");
1155
+ fill("continent", "continent");
1156
+ }
1157
+ }
1127
1158
  if (!connection.ip) {
1128
1159
  const xff = lower["x-forwarded-for"];
1129
1160
  const client = xff?.split(",")[0]?.trim();