@astrasyncai/verification-gateway 4.6.0 → 5.0.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 (135) hide show
  1. package/dist/adapter-interface/interface.d.mts +2 -2
  2. package/dist/adapter-interface/interface.d.ts +2 -2
  3. package/dist/adapters/express.d.mts +2 -2
  4. package/dist/adapters/express.d.ts +2 -2
  5. package/dist/adapters/express.js +6 -33
  6. package/dist/adapters/express.js.map +1 -1
  7. package/dist/adapters/express.mjs +6 -33
  8. package/dist/adapters/express.mjs.map +1 -1
  9. package/dist/adapters/mcp.d.mts +2 -2
  10. package/dist/adapters/mcp.d.ts +2 -2
  11. package/dist/adapters/mcp.js +23 -65
  12. package/dist/adapters/mcp.js.map +1 -1
  13. package/dist/adapters/mcp.mjs +22 -64
  14. package/dist/adapters/mcp.mjs.map +1 -1
  15. package/dist/adapters/nextjs.d.mts +2 -2
  16. package/dist/adapters/nextjs.d.ts +2 -2
  17. package/dist/adapters/nextjs.js +4 -30
  18. package/dist/adapters/nextjs.js.map +1 -1
  19. package/dist/adapters/nextjs.mjs +4 -30
  20. package/dist/adapters/nextjs.mjs.map +1 -1
  21. package/dist/adapters/sdk.d.mts +2 -2
  22. package/dist/adapters/sdk.d.ts +2 -2
  23. package/dist/adapters/sdk.js +3 -124
  24. package/dist/adapters/sdk.js.map +1 -1
  25. package/dist/adapters/sdk.mjs +3 -122
  26. package/dist/adapters/sdk.mjs.map +1 -1
  27. package/dist/agent/index.d.mts +2 -2
  28. package/dist/agent/index.d.ts +2 -2
  29. package/dist/agent/index.js +1 -1
  30. package/dist/agent/index.js.map +1 -1
  31. package/dist/agent/index.mjs +1 -1
  32. package/dist/agent/index.mjs.map +1 -1
  33. package/dist/bin/astrasync-claude-hook.js +4 -29
  34. package/dist/bin/astrasync-codex-hook.js +4 -29
  35. package/dist/bin/astrasync-guard.js +4 -29
  36. package/dist/bin/astrasync.js +9 -34
  37. package/dist/browser/background.js +4 -29
  38. package/dist/browser/background.js.map +1 -1
  39. package/dist/browser/background.mjs +4 -29
  40. package/dist/browser/background.mjs.map +1 -1
  41. package/dist/browser/browser-adapter.d.mts +2 -2
  42. package/dist/browser/browser-adapter.d.ts +2 -2
  43. package/dist/claude-code/claude-code-adapter.d.mts +2 -2
  44. package/dist/claude-code/claude-code-adapter.d.ts +2 -2
  45. package/dist/cli/index.d.mts +2 -2
  46. package/dist/cli/index.d.ts +2 -2
  47. package/dist/cli/index.js +1 -1
  48. package/dist/cli/index.js.map +1 -1
  49. package/dist/cli/index.mjs +1 -1
  50. package/dist/cli/index.mjs.map +1 -1
  51. package/dist/codex/index.d.mts +2 -2
  52. package/dist/codex/index.d.ts +2 -2
  53. package/dist/codex/index.js +4 -29
  54. package/dist/codex/index.js.map +1 -1
  55. package/dist/codex/index.mjs +4 -29
  56. package/dist/codex/index.mjs.map +1 -1
  57. package/dist/cursor/cursor-adapter.d.mts +2 -2
  58. package/dist/cursor/cursor-adapter.d.ts +2 -2
  59. package/dist/cursor/extension.d.mts +2 -2
  60. package/dist/cursor/extension.d.ts +2 -2
  61. package/dist/cursor/extension.js +4 -29
  62. package/dist/cursor/extension.js.map +1 -1
  63. package/dist/cursor/extension.mjs +4 -29
  64. package/dist/cursor/extension.mjs.map +1 -1
  65. package/dist/edge-config.d.mts +1 -1
  66. package/dist/edge-config.d.ts +1 -1
  67. package/dist/edge-config.js +1 -1
  68. package/dist/edge-config.js.map +1 -1
  69. package/dist/edge-config.mjs +1 -1
  70. package/dist/edge-config.mjs.map +1 -1
  71. package/dist/edge-core/index.d.mts +1 -3
  72. package/dist/edge-core/index.d.ts +1 -3
  73. package/dist/edge-core/index.js +6 -33
  74. package/dist/edge-core/index.js.map +1 -1
  75. package/dist/edge-core/index.mjs +6 -33
  76. package/dist/edge-core/index.mjs.map +1 -1
  77. package/dist/{express-D-8Ks2Uo.d.ts → express-B5lWuemA.d.ts} +1 -1
  78. package/dist/{express-DBtPKXOL.d.mts → express-Dm-snUuY.d.mts} +1 -1
  79. package/dist/gateway/gateway.d.mts +2 -2
  80. package/dist/gateway/gateway.d.ts +2 -2
  81. package/dist/gateway/gateway.js +4 -29
  82. package/dist/gateway/gateway.js.map +1 -1
  83. package/dist/gateway/gateway.mjs +4 -29
  84. package/dist/gateway/gateway.mjs.map +1 -1
  85. package/dist/git-trigger/git-hooks.d.mts +2 -2
  86. package/dist/git-trigger/git-hooks.d.ts +2 -2
  87. package/dist/{index-kGCGWd5x.d.mts → index-B5k_vUmK.d.mts} +1 -1
  88. package/dist/{index-CUfmJ1Dq.d.mts → index-BOzM6xUq.d.mts} +1 -1
  89. package/dist/{index-BND3kQev.d.ts → index-dRfxUdFA.d.ts} +1 -1
  90. package/dist/{index-DlZORQsb.d.ts → index-y8xToocF.d.ts} +1 -1
  91. package/dist/index.d.mts +10 -10
  92. package/dist/index.d.ts +10 -10
  93. package/dist/index.js +25 -217
  94. package/dist/index.js.map +1 -1
  95. package/dist/index.mjs +25 -210
  96. package/dist/index.mjs.map +1 -1
  97. package/dist/local-evaluator/evaluator.d.mts +2 -2
  98. package/dist/local-evaluator/evaluator.d.ts +2 -2
  99. package/dist/local-evaluator/evaluator.js.map +1 -1
  100. package/dist/local-evaluator/evaluator.mjs.map +1 -1
  101. package/dist/{mcp-ZRN4kY3b.d.mts → mcp-DgsyQiQq.d.mts} +53 -52
  102. package/dist/{mcp-DToTlwIn.d.ts → mcp-OosmAcKf.d.ts} +53 -52
  103. package/dist/{nextjs-C0KASOy_.d.mts → nextjs-B1sBdEav.d.mts} +1 -1
  104. package/dist/{nextjs-lwNvWYWT.d.ts → nextjs-DoRmhV_Z.d.ts} +1 -1
  105. package/dist/registration/index.js +1 -1
  106. package/dist/registration/index.js.map +1 -1
  107. package/dist/registration/index.mjs +1 -1
  108. package/dist/registration/index.mjs.map +1 -1
  109. package/dist/sdk-B83N3xKc.d.mts +142 -0
  110. package/dist/sdk-H_9BTNBS.d.ts +142 -0
  111. package/dist/transport/index.d.mts +2 -2
  112. package/dist/transport/index.d.ts +2 -2
  113. package/dist/transport/index.js +1 -1
  114. package/dist/transport/index.js.map +1 -1
  115. package/dist/transport/index.mjs +1 -1
  116. package/dist/transport/index.mjs.map +1 -1
  117. package/dist/{types-CGPU7HLi.d.ts → types-BK2POWNc.d.ts} +15 -50
  118. package/dist/{types-Cx9hTpKI.d.mts → types-CJjZvPr9.d.mts} +15 -50
  119. package/dist/{types-DhhJxKIC.d.ts → types-CXf3q4kZ.d.ts} +1 -3
  120. package/dist/{types-CfSJLS4i.d.mts → types-DQmop7ZW.d.mts} +1 -3
  121. package/dist/ui/index.d.mts +2 -17
  122. package/dist/ui/index.d.ts +2 -17
  123. package/dist/ui/index.js +1 -43
  124. package/dist/ui/index.js.map +1 -1
  125. package/dist/ui/index.mjs +1 -42
  126. package/dist/ui/index.mjs.map +1 -1
  127. package/dist/verify.d.mts +3 -4
  128. package/dist/verify.d.ts +3 -4
  129. package/dist/verify.js +3 -28
  130. package/dist/verify.js.map +1 -1
  131. package/dist/verify.mjs +3 -28
  132. package/dist/verify.mjs.map +1 -1
  133. package/package.json +1 -1
  134. package/dist/sdk-B4aodEwj.d.ts +0 -215
  135. package/dist/sdk-B9dSwum7.d.mts +0 -215
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var SDK_VERSION = "4.6.0";
2
+ var SDK_VERSION = "5.0.0";
3
3
 
4
4
  // src/http.ts
5
5
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -77,7 +77,7 @@ async function awaitStepUpApproval(config, approval) {
77
77
  return "timeout";
78
78
  }
79
79
 
80
- // src/access-levels.ts
80
+ // src/trust-levels.ts
81
81
  function getTrustLevel(score) {
82
82
  if (score >= 80) return "PLATINUM";
83
83
  if (score >= 60) return "GOLD";
@@ -95,11 +95,6 @@ function getCachedWellKnownUrls(apiBaseUrl) {
95
95
  // src/verify.ts
96
96
  var DEFAULT_CONFIG = {
97
97
  apiBaseUrl: "https://astrasync.ai/api",
98
- // v2.3.9 (defect #30): default for unconfigured callers is `'none'` (no
99
- // access). Pre-rename this defaulted to `'guidance'`, which combined with
100
- // a route gated at `'guidance'` to silently let unverified traffic
101
- // through (`hasMinimumAccess('guidance', 'guidance') === true`).
102
- defaultAccessLevel: "none",
103
98
  // minTrustScore + minTrustScoreForFull deprecated in v2.3.0 — server decides.
104
99
  // cacheTtl deliberately unset. When undefined, cacheResult applies the 60s
105
100
  // default; the caller's explicit value is honoured for cacheable results.
@@ -294,13 +289,6 @@ function createGuidanceResponse(_config, reason, options = {}) {
294
289
  // policy is not evaluated (we never reached the gate).
295
290
  identityVerified: false,
296
291
  policyAllowed: false,
297
- // v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
298
- // Adapters additionally short-circuit on `!identityVerified ||
299
- // !policyAllowed` before the gate check, but the access level still has
300
- // to be honest at the data layer so downstream consumers (SDK adapters
301
- // in other languages, custom integrations) inherit the correct
302
- // semantics.
303
- accessLevel: "none",
304
292
  guidance,
305
293
  denialReasons: reason ? [reason] : ["No valid agent credentials provided"],
306
294
  // Round-10 (#47, O5): on API-error fallback, surface a typed failure so
@@ -394,7 +382,6 @@ async function callVerifyAccessAPI(config, request) {
394
382
  attemptId: typeof data?.attemptId === "string" ? data.attemptId : void 0,
395
383
  access: {
396
384
  allowed: false,
397
- accessLevel: "none",
398
385
  reason: "endpoint_deactivated",
399
386
  failures: [
400
387
  {
@@ -457,7 +444,7 @@ async function verify(config, request, options) {
457
444
  if (!deprecationWarningShown && (config.minTrustScore !== void 0 || config.minTrustScoreForFull !== void 0)) {
458
445
  deprecationWarningShown = true;
459
446
  console.warn(
460
- "[VerificationGateway] minTrustScore / minTrustScoreForFull are deprecated in v2.3.0 and have no effect. Server is now the single source of truth for access-level decisions (the SDK reads access.accessLevel from the verify-access response). To gate access to an endpoint, configure the endpoint's trust_score_requirement server-side."
447
+ "[VerificationGateway] minTrustScore / minTrustScoreForFull are deprecated in v2.3.0 and have no effect. Server is now the single source of truth for access decisions (verified ID + runtime challenge + PDLSS + trust score). To gate access to an endpoint, configure the endpoint's trust_score_requirement server-side."
461
448
  );
462
449
  }
463
450
  if (mergedConfig.cacheTtl !== 0 && !options?.bypassCache) {
@@ -503,14 +490,6 @@ async function verify(config, request, options) {
503
490
  const result2 = {
504
491
  identityVerified: idVerifiedFromBackend,
505
492
  policyAllowed: false,
506
- // v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
507
- // Pre-rename this hardcoded `'guidance'`, which conflated with the
508
- // colocated `guidance: {...}` help-payload object below and let
509
- // denied requests pass any route gated at `'guidance'` because
510
- // `hasMinimumAccess('guidance', 'guidance') === true`. Adapters now
511
- // ALSO short-circuit on `!identityVerified || !policyAllowed` before
512
- // the gate check — belt-and-braces.
513
- accessLevel: "none",
514
493
  // 3.6.0: the server now emits top-level denialReasons on every deny
515
494
  // path — prefer it verbatim; the failure-message reconstruction remains
516
495
  // as the fallback for older backends.
@@ -559,7 +538,6 @@ async function verify(config, request, options) {
559
538
  trustScore: apiResponse.organization.trustScore
560
539
  } : void 0;
561
540
  const verificationContext = apiResponse.verificationContext;
562
- const accessLevel = apiResponse.access?.accessLevel ?? "standard";
563
541
  const result = {
564
542
  // 4.5.0 (probe F1): read idVerified from verificationContext with the
565
543
  // SAME absent⇒false default as the deny branch. The previous `!== false`
@@ -571,7 +549,6 @@ async function verify(config, request, options) {
571
549
  // this load-bearing must never be defaulted on.
572
550
  identityVerified: apiResponse.verificationContext?.idVerified === true,
573
551
  policyAllowed: true,
574
- accessLevel,
575
552
  agent,
576
553
  developer,
577
554
  organization,
@@ -598,7 +575,6 @@ async function verify(config, request, options) {
598
575
  };
599
576
  if (result.recommendation === "deny") {
600
577
  result.policyAllowed = false;
601
- result.accessLevel = "none";
602
578
  result.denialReasons = serverDenialReasons ?? result.recommendationReasons ?? ["Access denied by AstraSync recommendation"];
603
579
  result.guidance = result.runtimeChallenge ? {
604
580
  message: `Verification failed: ${result.runtimeChallenge.reason || "runtime challenge failed"}`,
@@ -1733,7 +1709,7 @@ function createMiddleware(options) {
1733
1709
  beaconPassThrough?.(request, pathname);
1734
1710
  return NextResponse.next();
1735
1711
  }
1736
- if (routeConfig.minAccessLevel === "none") {
1712
+ if (routeConfig.observe) {
1737
1713
  beaconPassThrough?.(request, pathname);
1738
1714
  return NextResponse.next();
1739
1715
  }
@@ -1763,7 +1739,6 @@ function createMiddleware(options) {
1763
1739
  const preCheckResult = {
1764
1740
  identityVerified: false,
1765
1741
  policyAllowed: false,
1766
- accessLevel: "none",
1767
1742
  denialReasons: preCheckFailures.map((f) => f.message),
1768
1743
  guidance: {
1769
1744
  message: "Request exceeds counterparty-defined PDLSS limits.",
@@ -1901,7 +1876,6 @@ function createMiddleware(options) {
1901
1876
  }
1902
1877
  response.headers.set("X-AstraSync-Identity-Verified", result.identityVerified.toString());
1903
1878
  response.headers.set("X-AstraSync-Policy-Allowed", result.policyAllowed.toString());
1904
- response.headers.set("X-AstraSync-Access-Level", result.accessLevel);
1905
1879
  if (result.agent) {
1906
1880
  response.headers.set("X-AstraSync-Agent-Id", result.agent.astraId);
1907
1881
  }