@astrasyncai/verification-gateway 5.17.0 → 5.17.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 (94) hide show
  1. package/README.md +94 -18
  2. package/dist/adapters/express.d.mts +1 -1
  3. package/dist/adapters/express.d.ts +1 -1
  4. package/dist/adapters/express.js +33 -5
  5. package/dist/adapters/express.js.map +1 -1
  6. package/dist/adapters/express.mjs +33 -5
  7. package/dist/adapters/express.mjs.map +1 -1
  8. package/dist/adapters/mcp.d.mts +1 -1
  9. package/dist/adapters/mcp.d.ts +1 -1
  10. package/dist/adapters/mcp.js +24 -5
  11. package/dist/adapters/mcp.js.map +1 -1
  12. package/dist/adapters/mcp.mjs +24 -5
  13. package/dist/adapters/mcp.mjs.map +1 -1
  14. package/dist/adapters/nextjs.d.mts +1 -1
  15. package/dist/adapters/nextjs.d.ts +1 -1
  16. package/dist/adapters/nextjs.js +24 -5
  17. package/dist/adapters/nextjs.js.map +1 -1
  18. package/dist/adapters/nextjs.mjs +24 -5
  19. package/dist/adapters/nextjs.mjs.map +1 -1
  20. package/dist/adapters/sdk.d.mts +1 -1
  21. package/dist/adapters/sdk.d.ts +1 -1
  22. package/dist/adapters/sdk.js +5 -1
  23. package/dist/adapters/sdk.js.map +1 -1
  24. package/dist/adapters/sdk.mjs +5 -1
  25. package/dist/adapters/sdk.mjs.map +1 -1
  26. package/dist/agent/index.js +1 -1
  27. package/dist/agent/index.js.map +1 -1
  28. package/dist/agent/index.mjs +1 -1
  29. package/dist/agent/index.mjs.map +1 -1
  30. package/dist/bin/astrasync-claude-hook.js +5 -1
  31. package/dist/bin/astrasync-codex-hook.js +5 -1
  32. package/dist/bin/astrasync-guard.js +32 -7
  33. package/dist/bin/astrasync.js +32 -7
  34. package/dist/browser/background.js +5 -1
  35. package/dist/browser/background.js.map +1 -1
  36. package/dist/browser/background.mjs +5 -1
  37. package/dist/browser/background.mjs.map +1 -1
  38. package/dist/cli/index.js +1 -1
  39. package/dist/cli/index.js.map +1 -1
  40. package/dist/cli/index.mjs +1 -1
  41. package/dist/cli/index.mjs.map +1 -1
  42. package/dist/codex/index.js +5 -1
  43. package/dist/codex/index.js.map +1 -1
  44. package/dist/codex/index.mjs +5 -1
  45. package/dist/codex/index.mjs.map +1 -1
  46. package/dist/cursor/extension.js +5 -1
  47. package/dist/cursor/extension.js.map +1 -1
  48. package/dist/cursor/extension.mjs +5 -1
  49. package/dist/cursor/extension.mjs.map +1 -1
  50. package/dist/edge-config.d.mts +1 -1
  51. package/dist/edge-config.d.ts +1 -1
  52. package/dist/edge-config.js +1 -1
  53. package/dist/edge-config.js.map +1 -1
  54. package/dist/edge-config.mjs +1 -1
  55. package/dist/edge-config.mjs.map +1 -1
  56. package/dist/edge-core/index.d.mts +1 -1
  57. package/dist/edge-core/index.d.ts +1 -1
  58. package/dist/edge-core/index.js +5 -1
  59. package/dist/edge-core/index.js.map +1 -1
  60. package/dist/edge-core/index.mjs +5 -1
  61. package/dist/edge-core/index.mjs.map +1 -1
  62. package/dist/gateway/gateway.js +5 -1
  63. package/dist/gateway/gateway.js.map +1 -1
  64. package/dist/gateway/gateway.mjs +5 -1
  65. package/dist/gateway/gateway.mjs.map +1 -1
  66. package/dist/git-trigger/git-hooks.d.mts +1 -1
  67. package/dist/git-trigger/git-hooks.d.ts +1 -1
  68. package/dist/index.d.mts +16 -2
  69. package/dist/index.d.ts +16 -2
  70. package/dist/index.js +33 -5
  71. package/dist/index.js.map +1 -1
  72. package/dist/index.mjs +33 -5
  73. package/dist/index.mjs.map +1 -1
  74. package/dist/registration/index.js +1 -1
  75. package/dist/registration/index.js.map +1 -1
  76. package/dist/registration/index.mjs +1 -1
  77. package/dist/registration/index.mjs.map +1 -1
  78. package/dist/transport/index.js +1 -1
  79. package/dist/transport/index.js.map +1 -1
  80. package/dist/transport/index.mjs +1 -1
  81. package/dist/transport/index.mjs.map +1 -1
  82. package/dist/{types-Bm1QvGqI.d.ts → types-DA8LzAOB.d.ts} +6 -0
  83. package/dist/{types-Blz520bR.d.mts → types-DRb_plOh.d.mts} +14 -0
  84. package/dist/{types-Blz520bR.d.ts → types-DRb_plOh.d.ts} +14 -0
  85. package/dist/{types-DBe4hgfT.d.mts → types-vNBvYD7Z.d.mts} +6 -0
  86. package/dist/ui/index.d.mts +1 -1
  87. package/dist/ui/index.d.ts +1 -1
  88. package/dist/verify.d.mts +1 -1
  89. package/dist/verify.d.ts +1 -1
  90. package/dist/verify.js +5 -1
  91. package/dist/verify.js.map +1 -1
  92. package/dist/verify.mjs +5 -1
  93. package/dist/verify.mjs.map +1 -1
  94. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var SDK_VERSION = "5.17.0";
2
+ var SDK_VERSION = "5.17.1";
3
3
 
4
4
  // src/http.ts
5
5
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -225,6 +225,7 @@ function getCacheKey(request, counterpartyId) {
225
225
  request.enableRuntimeChallenge ? "1" : "0",
226
226
  // 5.16.0: route policy changes the verdict (owners / challenge).
227
227
  request.routePolicy ? JSON.stringify(request.routePolicy) : "",
228
+ request.approvalHeldByRoute ? "1" : "0",
228
229
  // callerMetadata fields contribute to risk model; include the ones
229
230
  // backend reads. sourceIp/userAgent/forwardedFor change per-request
230
231
  // so their inclusion effectively forces a re-check for any varying
@@ -432,6 +433,7 @@ async function callVerifyAccessAPI(config, request) {
432
433
  if (requestData.enableRuntimeChallenge)
433
434
  body.enableRuntimeChallenge = requestData.enableRuntimeChallenge;
434
435
  if (requestData.routePolicy) body.routePolicy = requestData.routePolicy;
436
+ if (requestData.approvalHeldByRoute) body.approvalHeldByRoute = true;
435
437
  if (requestData.createSession) body.createSession = requestData.createSession;
436
438
  if (requestData.durationRequired) body.durationRequired = requestData.durationRequired;
437
439
  if (requestData.counterpartyType) body.counterpartyType = requestData.counterpartyType;
@@ -763,6 +765,8 @@ async function verify(config, request, options) {
763
765
  } else if (result.recommendation === "step_up_required" && result.identityVerified) {
764
766
  result.requiresStepUp = true;
765
767
  result.denialReasons = serverDenialReasons ?? result.recommendationReasons ?? ["Step-up verification required"];
768
+ const stepUpFailures = apiResponse.access?.failures;
769
+ if (stepUpFailures?.length) result.failures = stepUpFailures;
766
770
  }
767
771
  const escalates = result.requiresStepUp === true || result.requiresApproval === true || result.recommendation === "step_up_required";
768
772
  if (mergedConfig.cacheTtl !== 0 && result.recommendation !== "deny" && !escalates) {
@@ -1027,12 +1031,27 @@ function requiresHumanApproval(result) {
1027
1031
  return result.requiresStepUp === true || result.requiresApproval === true;
1028
1032
  }
1029
1033
  function annotateApprovalRequired(result) {
1030
- result.failures = [
1031
- ...result.failures ?? [],
1032
- { dimension: "commerce.intent.approval_required", message: APPROVAL_REASON }
1033
- ];
1034
+ if (isDimensionApproval(result)) {
1035
+ result.denialReasons = [DIMENSION_APPROVAL_REASON, ...result.denialReasons ?? []];
1036
+ return;
1037
+ }
1038
+ const named = (result.failures ?? []).some(
1039
+ (f) => f.dimension === "commerce.intent.approval_required"
1040
+ );
1041
+ if (!named) {
1042
+ result.failures = [
1043
+ ...result.failures ?? [],
1044
+ { dimension: "commerce.intent.approval_required", message: APPROVAL_REASON }
1045
+ ];
1046
+ }
1034
1047
  result.denialReasons = [APPROVAL_REASON, ...result.denialReasons ?? []];
1035
1048
  }
1049
+ var DIMENSION_APPROVAL_REASON = "The agent's owner asked to approve this kind of request. The owner can approve or deny it in the AstraSync dashboard.";
1050
+ var DIMENSION_APPROVAL = /^pdlss\.[a-z_]+\.approval_required$/;
1051
+ function isDimensionApproval(result) {
1052
+ const f = result.failures ?? [];
1053
+ return f.some((x) => DIMENSION_APPROVAL.test(x.dimension)) && !f.some((x) => x.dimension === "commerce.intent.approval_required");
1054
+ }
1036
1055
 
1037
1056
  // src/adapters/stepup-poll.ts
1038
1057
  var DEFAULT_POLL_INTERVAL_MS = 3e3;