@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,6 +1,6 @@
1
1
  import * as next_server from 'next/server';
2
2
  import { NextRequest } from 'next/server';
3
- import { N as NextJsMiddlewareOptions } from '../types-Blz520bR.mjs';
3
+ import { N as NextJsMiddlewareOptions } from '../types-DRb_plOh.mjs';
4
4
 
5
5
  /**
6
6
  * Create Next.js middleware for agent verification.
@@ -1,6 +1,6 @@
1
1
  import * as next_server from 'next/server';
2
2
  import { NextRequest } from 'next/server';
3
- import { N as NextJsMiddlewareOptions } from '../types-Blz520bR.js';
3
+ import { N as NextJsMiddlewareOptions } from '../types-DRb_plOh.js';
4
4
 
5
5
  /**
6
6
  * Create Next.js middleware for agent verification.
@@ -461,7 +461,7 @@ function routePolicyOf(route) {
461
461
  }
462
462
 
463
463
  // src/version.ts
464
- var SDK_VERSION = "5.17.0";
464
+ var SDK_VERSION = "5.17.1";
465
465
 
466
466
  // src/http.ts
467
467
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -711,6 +711,7 @@ function getCacheKey(request, counterpartyId) {
711
711
  request.enableRuntimeChallenge ? "1" : "0",
712
712
  // 5.16.0: route policy changes the verdict (owners / challenge).
713
713
  request.routePolicy ? JSON.stringify(request.routePolicy) : "",
714
+ request.approvalHeldByRoute ? "1" : "0",
714
715
  // callerMetadata fields contribute to risk model; include the ones
715
716
  // backend reads. sourceIp/userAgent/forwardedFor change per-request
716
717
  // so their inclusion effectively forces a re-check for any varying
@@ -918,6 +919,7 @@ async function callVerifyAccessAPI(config, request) {
918
919
  if (requestData.enableRuntimeChallenge)
919
920
  body.enableRuntimeChallenge = requestData.enableRuntimeChallenge;
920
921
  if (requestData.routePolicy) body.routePolicy = requestData.routePolicy;
922
+ if (requestData.approvalHeldByRoute) body.approvalHeldByRoute = true;
921
923
  if (requestData.createSession) body.createSession = requestData.createSession;
922
924
  if (requestData.durationRequired) body.durationRequired = requestData.durationRequired;
923
925
  if (requestData.counterpartyType) body.counterpartyType = requestData.counterpartyType;
@@ -1249,6 +1251,8 @@ async function verify(config, request, options) {
1249
1251
  } else if (result.recommendation === "step_up_required" && result.identityVerified) {
1250
1252
  result.requiresStepUp = true;
1251
1253
  result.denialReasons = serverDenialReasons ?? result.recommendationReasons ?? ["Step-up verification required"];
1254
+ const stepUpFailures = apiResponse.access?.failures;
1255
+ if (stepUpFailures?.length) result.failures = stepUpFailures;
1252
1256
  }
1253
1257
  const escalates = result.requiresStepUp === true || result.requiresApproval === true || result.recommendation === "step_up_required";
1254
1258
  if (mergedConfig.cacheTtl !== 0 && result.recommendation !== "deny" && !escalates) {
@@ -2108,12 +2112,27 @@ function requiresHumanApproval(result) {
2108
2112
  return result.requiresStepUp === true || result.requiresApproval === true;
2109
2113
  }
2110
2114
  function annotateApprovalRequired(result) {
2111
- result.failures = [
2112
- ...result.failures ?? [],
2113
- { dimension: "commerce.intent.approval_required", message: APPROVAL_REASON }
2114
- ];
2115
+ if (isDimensionApproval(result)) {
2116
+ result.denialReasons = [DIMENSION_APPROVAL_REASON, ...result.denialReasons ?? []];
2117
+ return;
2118
+ }
2119
+ const named = (result.failures ?? []).some(
2120
+ (f) => f.dimension === "commerce.intent.approval_required"
2121
+ );
2122
+ if (!named) {
2123
+ result.failures = [
2124
+ ...result.failures ?? [],
2125
+ { dimension: "commerce.intent.approval_required", message: APPROVAL_REASON }
2126
+ ];
2127
+ }
2115
2128
  result.denialReasons = [APPROVAL_REASON, ...result.denialReasons ?? []];
2116
2129
  }
2130
+ 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.";
2131
+ var DIMENSION_APPROVAL = /^pdlss\.[a-z_]+\.approval_required$/;
2132
+ function isDimensionApproval(result) {
2133
+ const f = result.failures ?? [];
2134
+ return f.some((x) => DIMENSION_APPROVAL.test(x.dimension)) && !f.some((x) => x.dimension === "commerce.intent.approval_required");
2135
+ }
2117
2136
 
2118
2137
  // src/verified-hop.ts
2119
2138
  var MCP_VERIFIED_HOP_HEADER = "X-Astra-Verified-Hop";