@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
  import { Request, Response, RequestHandler } from 'express';
2
- import { d as VerificationResult, G as GatewayConfig } from '../types-Blz520bR.mjs';
2
+ import { d as VerificationResult, G as GatewayConfig } from '../types-DRb_plOh.mjs';
3
3
 
4
4
  /**
5
5
  * X-Astra-Verified-Hop — cross-hop verify-access dedupe marker.
@@ -1,5 +1,5 @@
1
1
  import { Request, Response, RequestHandler } from 'express';
2
- import { d as VerificationResult, G as GatewayConfig } from '../types-Blz520bR.js';
2
+ import { d as VerificationResult, G as GatewayConfig } from '../types-DRb_plOh.js';
3
3
 
4
4
  /**
5
5
  * X-Astra-Verified-Hop — cross-hop verify-access dedupe marker.
@@ -32,7 +32,7 @@ __export(mcp_exports, {
32
32
  module.exports = __toCommonJS(mcp_exports);
33
33
 
34
34
  // src/version.ts
35
- var SDK_VERSION = "5.17.0";
35
+ var SDK_VERSION = "5.17.1";
36
36
 
37
37
  // src/http.ts
38
38
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -258,6 +258,7 @@ function getCacheKey(request, counterpartyId) {
258
258
  request.enableRuntimeChallenge ? "1" : "0",
259
259
  // 5.16.0: route policy changes the verdict (owners / challenge).
260
260
  request.routePolicy ? JSON.stringify(request.routePolicy) : "",
261
+ request.approvalHeldByRoute ? "1" : "0",
261
262
  // callerMetadata fields contribute to risk model; include the ones
262
263
  // backend reads. sourceIp/userAgent/forwardedFor change per-request
263
264
  // so their inclusion effectively forces a re-check for any varying
@@ -465,6 +466,7 @@ async function callVerifyAccessAPI(config, request) {
465
466
  if (requestData.enableRuntimeChallenge)
466
467
  body.enableRuntimeChallenge = requestData.enableRuntimeChallenge;
467
468
  if (requestData.routePolicy) body.routePolicy = requestData.routePolicy;
469
+ if (requestData.approvalHeldByRoute) body.approvalHeldByRoute = true;
468
470
  if (requestData.createSession) body.createSession = requestData.createSession;
469
471
  if (requestData.durationRequired) body.durationRequired = requestData.durationRequired;
470
472
  if (requestData.counterpartyType) body.counterpartyType = requestData.counterpartyType;
@@ -796,6 +798,8 @@ async function verify(config, request, options) {
796
798
  } else if (result.recommendation === "step_up_required" && result.identityVerified) {
797
799
  result.requiresStepUp = true;
798
800
  result.denialReasons = serverDenialReasons ?? result.recommendationReasons ?? ["Step-up verification required"];
801
+ const stepUpFailures = apiResponse.access?.failures;
802
+ if (stepUpFailures?.length) result.failures = stepUpFailures;
799
803
  }
800
804
  const escalates = result.requiresStepUp === true || result.requiresApproval === true || result.recommendation === "step_up_required";
801
805
  if (mergedConfig.cacheTtl !== 0 && result.recommendation !== "deny" && !escalates) {
@@ -1060,12 +1064,27 @@ function requiresHumanApproval(result) {
1060
1064
  return result.requiresStepUp === true || result.requiresApproval === true;
1061
1065
  }
1062
1066
  function annotateApprovalRequired(result) {
1063
- result.failures = [
1064
- ...result.failures ?? [],
1065
- { dimension: "commerce.intent.approval_required", message: APPROVAL_REASON }
1066
- ];
1067
+ if (isDimensionApproval(result)) {
1068
+ result.denialReasons = [DIMENSION_APPROVAL_REASON, ...result.denialReasons ?? []];
1069
+ return;
1070
+ }
1071
+ const named = (result.failures ?? []).some(
1072
+ (f) => f.dimension === "commerce.intent.approval_required"
1073
+ );
1074
+ if (!named) {
1075
+ result.failures = [
1076
+ ...result.failures ?? [],
1077
+ { dimension: "commerce.intent.approval_required", message: APPROVAL_REASON }
1078
+ ];
1079
+ }
1067
1080
  result.denialReasons = [APPROVAL_REASON, ...result.denialReasons ?? []];
1068
1081
  }
1082
+ 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.";
1083
+ var DIMENSION_APPROVAL = /^pdlss\.[a-z_]+\.approval_required$/;
1084
+ function isDimensionApproval(result) {
1085
+ const f = result.failures ?? [];
1086
+ return f.some((x) => DIMENSION_APPROVAL.test(x.dimension)) && !f.some((x) => x.dimension === "commerce.intent.approval_required");
1087
+ }
1069
1088
 
1070
1089
  // src/adapters/stepup-poll.ts
1071
1090
  var DEFAULT_POLL_INTERVAL_MS = 3e3;