@astrasyncai/verification-gateway 5.18.1 → 5.19.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 (113) hide show
  1. package/CHANGELOG.md +149 -0
  2. package/README.md +168 -4
  3. package/dist/adapters/express.d.mts +9 -1
  4. package/dist/adapters/express.d.ts +9 -1
  5. package/dist/adapters/express.js +96 -37
  6. package/dist/adapters/express.js.map +1 -1
  7. package/dist/adapters/express.mjs +96 -37
  8. package/dist/adapters/express.mjs.map +1 -1
  9. package/dist/adapters/http-pdlss.d.mts +7 -1
  10. package/dist/adapters/http-pdlss.d.ts +7 -1
  11. package/dist/adapters/http-pdlss.js +18 -2
  12. package/dist/adapters/http-pdlss.js.map +1 -1
  13. package/dist/adapters/http-pdlss.mjs +16 -1
  14. package/dist/adapters/http-pdlss.mjs.map +1 -1
  15. package/dist/adapters/kit-express.d.mts +93 -1
  16. package/dist/adapters/kit-express.d.ts +93 -1
  17. package/dist/adapters/kit-express.js +181 -2
  18. package/dist/adapters/kit-express.js.map +1 -1
  19. package/dist/adapters/kit-express.mjs +180 -2
  20. package/dist/adapters/kit-express.mjs.map +1 -1
  21. package/dist/adapters/mcp.d.mts +80 -9
  22. package/dist/adapters/mcp.d.ts +80 -9
  23. package/dist/adapters/mcp.js +153 -5
  24. package/dist/adapters/mcp.js.map +1 -1
  25. package/dist/adapters/mcp.mjs +151 -5
  26. package/dist/adapters/mcp.mjs.map +1 -1
  27. package/dist/adapters/nextjs.d.mts +1 -1
  28. package/dist/adapters/nextjs.d.ts +1 -1
  29. package/dist/adapters/nextjs.js +41 -4
  30. package/dist/adapters/nextjs.js.map +1 -1
  31. package/dist/adapters/nextjs.mjs +41 -4
  32. package/dist/adapters/nextjs.mjs.map +1 -1
  33. package/dist/adapters/sdk.d.mts +44 -1
  34. package/dist/adapters/sdk.d.ts +44 -1
  35. package/dist/adapters/sdk.js +76 -2
  36. package/dist/adapters/sdk.js.map +1 -1
  37. package/dist/adapters/sdk.mjs +76 -2
  38. package/dist/adapters/sdk.mjs.map +1 -1
  39. package/dist/agent/index.js +1 -1
  40. package/dist/agent/index.js.map +1 -1
  41. package/dist/agent/index.mjs +1 -1
  42. package/dist/agent/index.mjs.map +1 -1
  43. package/dist/bin/astrasync-claude-hook.js +46 -6
  44. package/dist/bin/astrasync-codex-hook.js +46 -6
  45. package/dist/bin/astrasync-guard.js +46 -6
  46. package/dist/bin/astrasync.js +77 -5
  47. package/dist/browser/background.js +46 -6
  48. package/dist/browser/background.js.map +1 -1
  49. package/dist/browser/background.mjs +46 -6
  50. package/dist/browser/background.mjs.map +1 -1
  51. package/dist/cli/index.js +1 -1
  52. package/dist/cli/index.js.map +1 -1
  53. package/dist/cli/index.mjs +1 -1
  54. package/dist/cli/index.mjs.map +1 -1
  55. package/dist/codex/index.js +46 -6
  56. package/dist/codex/index.js.map +1 -1
  57. package/dist/codex/index.mjs +46 -6
  58. package/dist/codex/index.mjs.map +1 -1
  59. package/dist/cursor/extension.js +46 -6
  60. package/dist/cursor/extension.js.map +1 -1
  61. package/dist/cursor/extension.mjs +46 -6
  62. package/dist/cursor/extension.mjs.map +1 -1
  63. package/dist/edge-config.d.mts +1 -1
  64. package/dist/edge-config.d.ts +1 -1
  65. package/dist/edge-config.js +1 -1
  66. package/dist/edge-config.js.map +1 -1
  67. package/dist/edge-config.mjs +1 -1
  68. package/dist/edge-config.mjs.map +1 -1
  69. package/dist/edge-core/index.d.mts +1 -1
  70. package/dist/edge-core/index.d.ts +1 -1
  71. package/dist/edge-core/index.js +21 -2
  72. package/dist/edge-core/index.js.map +1 -1
  73. package/dist/edge-core/index.mjs +21 -2
  74. package/dist/edge-core/index.mjs.map +1 -1
  75. package/dist/gateway/gateway.js +46 -6
  76. package/dist/gateway/gateway.js.map +1 -1
  77. package/dist/gateway/gateway.mjs +46 -6
  78. package/dist/gateway/gateway.mjs.map +1 -1
  79. package/dist/git-trigger/git-hooks.d.mts +1 -1
  80. package/dist/git-trigger/git-hooks.d.ts +1 -1
  81. package/dist/index.d.mts +541 -29
  82. package/dist/index.d.ts +541 -29
  83. package/dist/index.js +1171 -183
  84. package/dist/index.js.map +1 -1
  85. package/dist/index.mjs +1157 -173
  86. package/dist/index.mjs.map +1 -1
  87. package/dist/registration/index.js +1 -1
  88. package/dist/registration/index.js.map +1 -1
  89. package/dist/registration/index.mjs +1 -1
  90. package/dist/registration/index.mjs.map +1 -1
  91. package/dist/transport/index.js +3 -2
  92. package/dist/transport/index.js.map +1 -1
  93. package/dist/transport/index.mjs +3 -2
  94. package/dist/transport/index.mjs.map +1 -1
  95. package/dist/{types-3ObBpsnf.d.mts → types-BoGjyon0.d.mts} +81 -2
  96. package/dist/{types-Cns4l8gX.d.mts → types-DqWPkiYl.d.mts} +90 -12
  97. package/dist/{types-Cns4l8gX.d.ts → types-DqWPkiYl.d.ts} +90 -12
  98. package/dist/{types-BoxZEYPS.d.ts → types-eWyZuz-3.d.ts} +81 -2
  99. package/dist/ui/index.d.mts +1 -1
  100. package/dist/ui/index.d.ts +1 -1
  101. package/dist/verify.d.mts +23 -2
  102. package/dist/verify.d.ts +23 -2
  103. package/dist/verify.js +23 -4
  104. package/dist/verify.js.map +1 -1
  105. package/dist/verify.mjs +23 -4
  106. package/dist/verify.mjs.map +1 -1
  107. package/dist/webhooks.d.mts +16 -3
  108. package/dist/webhooks.d.ts +16 -3
  109. package/dist/webhooks.js +24 -13
  110. package/dist/webhooks.js.map +1 -1
  111. package/dist/webhooks.mjs +24 -13
  112. package/dist/webhooks.mjs.map +1 -1
  113. package/package.json +1 -1
package/dist/verify.js CHANGED
@@ -37,7 +37,7 @@ __export(verify_exports, {
37
37
  module.exports = __toCommonJS(verify_exports);
38
38
 
39
39
  // src/version.ts
40
- var SDK_VERSION = "5.18.1";
40
+ var SDK_VERSION = "5.19.0";
41
41
 
42
42
  // src/http.ts
43
43
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -218,7 +218,12 @@ function getCacheKey(request, counterpartyId) {
218
218
  // its start_checkout quote was served the cached quote-leg grant (no
219
219
  // settlementOutcome) and never reached the backend. Same F-A1-07 bug class.
220
220
  request.commercePhase || "",
221
- request.checkoutSessionId || ""
221
+ request.checkoutSessionId || "",
222
+ // 5.19.0: a route_config purpose claim is checked server-side against
223
+ // the stored rule for this method + path, so it changes the verdict.
224
+ request.purposeSource || "",
225
+ request.requestMethod || "",
226
+ request.requestPath || ""
222
227
  ].join("|");
223
228
  }
224
229
  function getCachedResult(request, counterpartyId) {
@@ -432,6 +437,11 @@ async function callVerifyAccessAPI(config, request) {
432
437
  if (requestData.buyerEmail) body.buyerEmail = requestData.buyerEmail;
433
438
  if (requestData.commerceArtifacts) body.commerceArtifacts = requestData.commerceArtifacts;
434
439
  if (requestData.attemptId) body.attemptId = requestData.attemptId;
440
+ if (requestData.purposeSource) body.purposeSource = requestData.purposeSource;
441
+ if (requestData.agentArtifacts) body.agentArtifacts = requestData.agentArtifacts;
442
+ if (requestData.metadata) body.metadata = requestData.metadata;
443
+ if (requestData.requestMethod) body.requestMethod = requestData.requestMethod;
444
+ if (requestData.requestPath) body.requestPath = requestData.requestPath;
435
445
  if (requestData.considerationSet) body.considerationSet = requestData.considerationSet;
436
446
  body.sdkVersion = SDK_VERSION;
437
447
  if (requestData.callerMetadata || requestData.clientIp || requestData.userAgent) {
@@ -621,9 +631,18 @@ async function verify(config, request, options) {
621
631
  if (!apiResponse.access?.allowed) {
622
632
  const aggregatedFailures = apiResponse.access?.failures;
623
633
  const idVerifiedFromBackend = apiResponse.verificationContext?.idVerified === true && !aggregatedFailures?.some((f) => REJECTED_IDENTITY_DIMENSIONS.has(f.dimension));
634
+ const denyAgent = idVerifiedFromBackend && apiResponse.agent ? {
635
+ astraId: apiResponse.agent.astraId,
636
+ name: apiResponse.agent.name,
637
+ trustScore: apiResponse.agent.trustScore,
638
+ trustLevel: getTrustLevel(apiResponse.agent.trustScore),
639
+ blockchainAnchored: apiResponse.agent.blockchainStatus === "anchored",
640
+ status: apiResponse.agent.agentStatus
641
+ } : void 0;
624
642
  const result2 = {
625
643
  identityVerified: idVerifiedFromBackend,
626
644
  policyAllowed: false,
645
+ ...denyAgent && { agent: denyAgent },
627
646
  // 3.6.0: the server now emits top-level denialReasons on every deny
628
647
  // path — prefer it verbatim; the failure-message reconstruction remains
629
648
  // as the fallback for older backends.
@@ -815,7 +834,7 @@ async function reportAttempt(config, report, options = {}) {
815
834
  }
816
835
  var ATTEMPT_REPORT_MAX_RETRY_DELAY_MS = 2e3;
817
836
  var refusedPolicyReads = /* @__PURE__ */ new Set();
818
- async function fetchRoutes(config, counterpartyId) {
837
+ async function fetchRoutes(config, counterpartyId, options = {}) {
819
838
  if (!counterpartyId) return null;
820
839
  const headers = { "Content-Type": "application/json" };
821
840
  if (config.apiKey) {
@@ -824,7 +843,7 @@ async function fetchRoutes(config, counterpartyId) {
824
843
  }
825
844
  try {
826
845
  const response = await sdkFetch(
827
- `${config.apiBaseUrl}/endpoints/${encodeURIComponent(counterpartyId)}/routes`,
846
+ `${config.apiBaseUrl}/endpoints/${encodeURIComponent(counterpartyId)}/routes` + (options.codeGates?.length ? `?codeGates=${options.codeGates.map(encodeURIComponent).join(",")}` : ""),
828
847
  { method: "GET", headers }
829
848
  );
830
849
  if (!response.ok) {