@astrasyncai/verification-gateway 5.18.0 → 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 (115) hide show
  1. package/CHANGELOG.md +178 -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 +375 -117
  46. package/dist/bin/astrasync.js +417 -117
  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 +542 -30
  82. package/dist/index.d.ts +542 -30
  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.d.mts +1 -1
  88. package/dist/registration/index.d.ts +1 -1
  89. package/dist/registration/index.js +1 -1
  90. package/dist/registration/index.js.map +1 -1
  91. package/dist/registration/index.mjs +1 -1
  92. package/dist/registration/index.mjs.map +1 -1
  93. package/dist/transport/index.js +3 -2
  94. package/dist/transport/index.js.map +1 -1
  95. package/dist/transport/index.mjs +3 -2
  96. package/dist/transport/index.mjs.map +1 -1
  97. package/dist/{types-3ObBpsnf.d.mts → types-BoGjyon0.d.mts} +81 -2
  98. package/dist/{types-Cns4l8gX.d.mts → types-DqWPkiYl.d.mts} +90 -12
  99. package/dist/{types-Cns4l8gX.d.ts → types-DqWPkiYl.d.ts} +90 -12
  100. package/dist/{types-BoxZEYPS.d.ts → types-eWyZuz-3.d.ts} +81 -2
  101. package/dist/ui/index.d.mts +1 -1
  102. package/dist/ui/index.d.ts +1 -1
  103. package/dist/verify.d.mts +23 -2
  104. package/dist/verify.d.ts +23 -2
  105. package/dist/verify.js +23 -4
  106. package/dist/verify.js.map +1 -1
  107. package/dist/verify.mjs +23 -4
  108. package/dist/verify.mjs.map +1 -1
  109. package/dist/webhooks.d.mts +16 -3
  110. package/dist/webhooks.d.ts +16 -3
  111. package/dist/webhooks.js +24 -13
  112. package/dist/webhooks.js.map +1 -1
  113. package/dist/webhooks.mjs +24 -13
  114. package/dist/webhooks.mjs.map +1 -1
  115. package/package.json +1 -1
package/dist/verify.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var SDK_VERSION = "5.18.0";
2
+ var SDK_VERSION = "5.19.0";
3
3
 
4
4
  // src/http.ts
5
5
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -180,7 +180,12 @@ function getCacheKey(request, counterpartyId) {
180
180
  // its start_checkout quote was served the cached quote-leg grant (no
181
181
  // settlementOutcome) and never reached the backend. Same F-A1-07 bug class.
182
182
  request.commercePhase || "",
183
- request.checkoutSessionId || ""
183
+ request.checkoutSessionId || "",
184
+ // 5.19.0: a route_config purpose claim is checked server-side against
185
+ // the stored rule for this method + path, so it changes the verdict.
186
+ request.purposeSource || "",
187
+ request.requestMethod || "",
188
+ request.requestPath || ""
184
189
  ].join("|");
185
190
  }
186
191
  function getCachedResult(request, counterpartyId) {
@@ -394,6 +399,11 @@ async function callVerifyAccessAPI(config, request) {
394
399
  if (requestData.buyerEmail) body.buyerEmail = requestData.buyerEmail;
395
400
  if (requestData.commerceArtifacts) body.commerceArtifacts = requestData.commerceArtifacts;
396
401
  if (requestData.attemptId) body.attemptId = requestData.attemptId;
402
+ if (requestData.purposeSource) body.purposeSource = requestData.purposeSource;
403
+ if (requestData.agentArtifacts) body.agentArtifacts = requestData.agentArtifacts;
404
+ if (requestData.metadata) body.metadata = requestData.metadata;
405
+ if (requestData.requestMethod) body.requestMethod = requestData.requestMethod;
406
+ if (requestData.requestPath) body.requestPath = requestData.requestPath;
397
407
  if (requestData.considerationSet) body.considerationSet = requestData.considerationSet;
398
408
  body.sdkVersion = SDK_VERSION;
399
409
  if (requestData.callerMetadata || requestData.clientIp || requestData.userAgent) {
@@ -583,9 +593,18 @@ async function verify(config, request, options) {
583
593
  if (!apiResponse.access?.allowed) {
584
594
  const aggregatedFailures = apiResponse.access?.failures;
585
595
  const idVerifiedFromBackend = apiResponse.verificationContext?.idVerified === true && !aggregatedFailures?.some((f) => REJECTED_IDENTITY_DIMENSIONS.has(f.dimension));
596
+ const denyAgent = idVerifiedFromBackend && apiResponse.agent ? {
597
+ astraId: apiResponse.agent.astraId,
598
+ name: apiResponse.agent.name,
599
+ trustScore: apiResponse.agent.trustScore,
600
+ trustLevel: getTrustLevel(apiResponse.agent.trustScore),
601
+ blockchainAnchored: apiResponse.agent.blockchainStatus === "anchored",
602
+ status: apiResponse.agent.agentStatus
603
+ } : void 0;
586
604
  const result2 = {
587
605
  identityVerified: idVerifiedFromBackend,
588
606
  policyAllowed: false,
607
+ ...denyAgent && { agent: denyAgent },
589
608
  // 3.6.0: the server now emits top-level denialReasons on every deny
590
609
  // path — prefer it verbatim; the failure-message reconstruction remains
591
610
  // as the fallback for older backends.
@@ -777,7 +796,7 @@ async function reportAttempt(config, report, options = {}) {
777
796
  }
778
797
  var ATTEMPT_REPORT_MAX_RETRY_DELAY_MS = 2e3;
779
798
  var refusedPolicyReads = /* @__PURE__ */ new Set();
780
- async function fetchRoutes(config, counterpartyId) {
799
+ async function fetchRoutes(config, counterpartyId, options = {}) {
781
800
  if (!counterpartyId) return null;
782
801
  const headers = { "Content-Type": "application/json" };
783
802
  if (config.apiKey) {
@@ -786,7 +805,7 @@ async function fetchRoutes(config, counterpartyId) {
786
805
  }
787
806
  try {
788
807
  const response = await sdkFetch(
789
- `${config.apiBaseUrl}/endpoints/${encodeURIComponent(counterpartyId)}/routes`,
808
+ `${config.apiBaseUrl}/endpoints/${encodeURIComponent(counterpartyId)}/routes` + (options.codeGates?.length ? `?codeGates=${options.codeGates.map(encodeURIComponent).join(",")}` : ""),
790
809
  { method: "GET", headers }
791
810
  );
792
811
  if (!response.ok) {