@astrasyncai/verification-gateway 4.4.0 → 4.5.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 (75) hide show
  1. package/dist/adapters/express.js +14 -10
  2. package/dist/adapters/express.js.map +1 -1
  3. package/dist/adapters/express.mjs +14 -10
  4. package/dist/adapters/express.mjs.map +1 -1
  5. package/dist/adapters/mcp.js +12 -9
  6. package/dist/adapters/mcp.js.map +1 -1
  7. package/dist/adapters/mcp.mjs +12 -9
  8. package/dist/adapters/mcp.mjs.map +1 -1
  9. package/dist/adapters/nextjs.js +15 -11
  10. package/dist/adapters/nextjs.js.map +1 -1
  11. package/dist/adapters/nextjs.mjs +15 -11
  12. package/dist/adapters/nextjs.mjs.map +1 -1
  13. package/dist/adapters/sdk.js +10 -7
  14. package/dist/adapters/sdk.js.map +1 -1
  15. package/dist/adapters/sdk.mjs +10 -7
  16. package/dist/adapters/sdk.mjs.map +1 -1
  17. package/dist/agent/index.js +1 -1
  18. package/dist/agent/index.js.map +1 -1
  19. package/dist/agent/index.mjs +1 -1
  20. package/dist/agent/index.mjs.map +1 -1
  21. package/dist/bin/astrasync-claude-hook.js +10 -7
  22. package/dist/bin/astrasync-codex-hook.js +10 -7
  23. package/dist/bin/astrasync-guard.js +10 -7
  24. package/dist/bin/astrasync.js +10 -7
  25. package/dist/browser/background.js +10 -7
  26. package/dist/browser/background.js.map +1 -1
  27. package/dist/browser/background.mjs +10 -7
  28. package/dist/browser/background.mjs.map +1 -1
  29. package/dist/cli/index.js +1 -1
  30. package/dist/cli/index.js.map +1 -1
  31. package/dist/cli/index.mjs +1 -1
  32. package/dist/cli/index.mjs.map +1 -1
  33. package/dist/codex/index.js +10 -7
  34. package/dist/codex/index.js.map +1 -1
  35. package/dist/codex/index.mjs +10 -7
  36. package/dist/codex/index.mjs.map +1 -1
  37. package/dist/cursor/extension.js +10 -7
  38. package/dist/cursor/extension.js.map +1 -1
  39. package/dist/cursor/extension.mjs +10 -7
  40. package/dist/cursor/extension.mjs.map +1 -1
  41. package/dist/edge-config.d.mts +11 -4
  42. package/dist/edge-config.d.ts +11 -4
  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 +21 -7
  48. package/dist/edge-core/index.d.ts +21 -7
  49. package/dist/edge-core/index.js +75 -15
  50. package/dist/edge-core/index.js.map +1 -1
  51. package/dist/edge-core/index.mjs +75 -15
  52. package/dist/edge-core/index.mjs.map +1 -1
  53. package/dist/gateway/gateway.js +10 -7
  54. package/dist/gateway/gateway.js.map +1 -1
  55. package/dist/gateway/gateway.mjs +10 -7
  56. package/dist/gateway/gateway.mjs.map +1 -1
  57. package/dist/index.d.mts +2 -2
  58. package/dist/index.d.ts +2 -2
  59. package/dist/index.js +19 -15
  60. package/dist/index.js.map +1 -1
  61. package/dist/index.mjs +19 -15
  62. package/dist/index.mjs.map +1 -1
  63. package/dist/registration/index.js +1 -1
  64. package/dist/registration/index.js.map +1 -1
  65. package/dist/registration/index.mjs +1 -1
  66. package/dist/registration/index.mjs.map +1 -1
  67. package/dist/transport/index.js +1 -1
  68. package/dist/transport/index.js.map +1 -1
  69. package/dist/transport/index.mjs +1 -1
  70. package/dist/transport/index.mjs.map +1 -1
  71. package/dist/verify.js +10 -7
  72. package/dist/verify.js.map +1 -1
  73. package/dist/verify.mjs +10 -7
  74. package/dist/verify.mjs.map +1 -1
  75. package/package.json +2 -2
@@ -26,7 +26,7 @@ __export(express_exports, {
26
26
  module.exports = __toCommonJS(express_exports);
27
27
 
28
28
  // src/version.ts
29
- var SDK_VERSION = "4.4.0";
29
+ var SDK_VERSION = "4.5.0";
30
30
 
31
31
  // src/http.ts
32
32
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -635,12 +635,15 @@ async function verify(config, request, options) {
635
635
  const verificationContext = apiResponse.verificationContext;
636
636
  const accessLevel = apiResponse.access?.accessLevel ?? "standard";
637
637
  const result = {
638
- // Round-18 G4: backend allowed access. Identity is verified (we resolved
639
- // the caller to an agent) and policy passed all gates. Read idVerified
640
- // from verificationContext for symmetry with the deny branch; default true
641
- // on success path since `access.allowed === true` implies identity was
642
- // resolvable (anonymous-allow paths flow through createGuidanceResponse).
643
- identityVerified: apiResponse.verificationContext?.idVerified !== false,
638
+ // 4.5.0 (probe F1): read idVerified from verificationContext with the
639
+ // SAME absent⇒false default as the deny branch. The previous `!== false`
640
+ // default manufactured `identityVerified: true` for anonymous
641
+ // allow_full/allow_partial/audit responses (which allow access but omit
642
+ // verificationContext entirely) — the "anonymous caller labelled
643
+ // verified" defect. Every authenticated success response has carried
644
+ // `verificationContext.idVerified: true` since v2.2.4, so a truth claim
645
+ // this load-bearing must never be defaulted on.
646
+ identityVerified: apiResponse.verificationContext?.idVerified === true,
644
647
  policyAllowed: true,
645
648
  accessLevel,
646
649
  agent,
@@ -1420,9 +1423,10 @@ function detectPlatformFingerprint(input) {
1420
1423
 
1421
1424
  // src/edge-core/classify.ts
1422
1425
  var STATIC_EXTENSIONS = /\.(css|js|mjs|map|png|jpe?g|gif|webp|avif|svg|ico|woff2?|ttf|otf|eot|mp4|webm|pdf|txt|xml)$/i;
1426
+ var SELF_UA_PATTERN = /^astrasync-sdk\//i;
1423
1427
  var BOT_UA_PATTERN = /curl|wget|python-requests|python-urllib|node-fetch|axios|got|okhttp|go-http-client|libwww|httpie|java\/|ruby|php|scrapy|headless|phantomjs|selenium|playwright|puppeteer|bot|crawler|spider|slurp/i;
1424
1428
  var BROWSER_UA_PATTERN = /mozilla\/\d/i;
1425
- var _patterns = { STATIC_EXTENSIONS, BOT_UA_PATTERN, BROWSER_UA_PATTERN };
1429
+ var _patterns = { STATIC_EXTENSIONS, BOT_UA_PATTERN, BROWSER_UA_PATTERN, SELF_UA_PATTERN };
1426
1430
 
1427
1431
  // src/edge-core/events.ts
1428
1432
  function sampled(rate, random = Math.random) {
@@ -1842,7 +1846,7 @@ function createMiddleware(options) {
1842
1846
  let result = await verify(config, verificationRequest);
1843
1847
  req.agentVerification = result;
1844
1848
  let sessionId = result.sessionId;
1845
- if (config.stepUpMaxWaitMs !== void 0 && result.identityVerified && requiresHumanApproval(result) && result.stepUpApproval?.pollUrl) {
1849
+ if (config.stepUpMaxWaitMs !== void 0 && result.policyAllowed && requiresHumanApproval(result) && result.stepUpApproval?.pollUrl) {
1846
1850
  const outcome = await awaitStepUpApproval(config, result.stepUpApproval);
1847
1851
  res.setHeader("X-Astra-Step-Up", outcome);
1848
1852
  if (outcome === "approved") {
@@ -1853,7 +1857,7 @@ function createMiddleware(options) {
1853
1857
  result.stepUpOutcome = outcome;
1854
1858
  }
1855
1859
  }
1856
- if (!result.identityVerified || !result.policyAllowed) {
1860
+ if (!result.policyAllowed) {
1857
1861
  if (shouldRecordDecisions && sessionId) {
1858
1862
  recordDecision(config, sessionId, "denied", result.denialReasons?.[0]).catch(() => {
1859
1863
  });