@astrasyncai/verification-gateway 5.21.2 → 5.22.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 (87) hide show
  1. package/CHANGELOG.md +9 -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 +20 -5
  58. package/dist/index.d.ts +20 -5
  59. package/dist/index.js +60 -11
  60. package/dist/index.js.map +1 -1
  61. package/dist/index.mjs +60 -11
  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
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var SDK_VERSION = "5.21.2";
2
+ var SDK_VERSION = "5.22.0";
3
3
 
4
4
  // src/http.ts
5
5
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -921,7 +921,11 @@ var PLATFORM_HEADER_NAMES = /* @__PURE__ */ new Set([
921
921
  "x-goog-api-client",
922
922
  "user-agent",
923
923
  "x-agent-card-url",
924
- "x-agent-provider"
924
+ "x-agent-provider",
925
+ // Round 31 — Web Bot Auth's Signature-Agent names the signing agent's
926
+ // directory host (a public URL, never a secret). It attributes a signed
927
+ // agent even when its UA is stock Chrome.
928
+ "signature-agent"
925
929
  ]);
926
930
  var PLATFORM_HEADER_PREFIXES = [
927
931
  "x-goog-",
@@ -1038,7 +1042,12 @@ function sanitizeHeaders(raw) {
1038
1042
  return result;
1039
1043
  }
1040
1044
  var CONNECTION_HEADER_SOURCES = [
1041
- ["ip", ["cf-connecting-ip", "fastly-client-ip", "true-client-ip", "x-real-ip"]],
1045
+ // Round 31: `incap-client-ip` = Imperva Cloud WAF; `true-client-ip` is
1046
+ // also Akamai's client-IP header when the property enables it.
1047
+ [
1048
+ "ip",
1049
+ ["cf-connecting-ip", "fastly-client-ip", "incap-client-ip", "true-client-ip", "x-real-ip"]
1050
+ ],
1042
1051
  [
1043
1052
  "country",
1044
1053
  ["cf-ipcountry", "x-vercel-ip-country", "cloudfront-viewer-country", "fastly-geo-country"]
@@ -1089,6 +1098,28 @@ function deriveConnectionFromHeaders(headers) {
1089
1098
  if (portMatch) connection.sourcePort = portMatch[1];
1090
1099
  if (!connection.ip && addr) connection.ip = addr.replace(/:\d+$/, "");
1091
1100
  }
1101
+ {
1102
+ const edgescape = (lower["x-akamai-edgescape"] ?? lower["akamai-edgescape"])?.trim();
1103
+ if (edgescape) {
1104
+ const fields = /* @__PURE__ */ new Map();
1105
+ for (const pair of edgescape.split(",")) {
1106
+ const i = pair.indexOf("=");
1107
+ if (i > 0) fields.set(pair.slice(0, i).trim().toLowerCase(), pair.slice(i + 1).trim());
1108
+ }
1109
+ const fill = (key, field) => {
1110
+ const v = fields.get(field);
1111
+ if (v && !connection[key]) connection[key] = v.slice(0, MAX_CONNECTION_VALUE_CHARS);
1112
+ };
1113
+ fill("country", "country_code");
1114
+ fill("region", "region_code");
1115
+ fill("city", "city");
1116
+ fill("latitude", "lat");
1117
+ fill("longitude", "long");
1118
+ fill("timeZone", "timezone");
1119
+ fill("asn", "asnum");
1120
+ fill("continent", "continent");
1121
+ }
1122
+ }
1092
1123
  if (!connection.ip) {
1093
1124
  const xff = lower["x-forwarded-for"];
1094
1125
  const client = xff?.split(",")[0]?.trim();