@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,4 +1,4 @@
1
1
  import 'next/server';
2
- import '../types-Cx9hTpKI.mjs';
3
- export { c as createMatcherConfig, a as createMiddleware } from '../nextjs-C0KASOy_.mjs';
2
+ import '../types-CJjZvPr9.mjs';
3
+ export { c as createMatcherConfig, a as createMiddleware } from '../nextjs-B1sBdEav.mjs';
4
4
  import '../metadata-capture.mjs';
@@ -1,4 +1,4 @@
1
1
  import 'next/server';
2
- import '../types-CGPU7HLi.js';
3
- export { c as createMatcherConfig, a as createMiddleware } from '../nextjs-lwNvWYWT.js';
2
+ import '../types-BK2POWNc.js';
3
+ export { c as createMatcherConfig, a as createMiddleware } from '../nextjs-DoRmhV_Z.js';
4
4
  import '../metadata-capture.js';
@@ -36,7 +36,7 @@ __export(nextjs_exports, {
36
36
  module.exports = __toCommonJS(nextjs_exports);
37
37
 
38
38
  // src/version.ts
39
- var SDK_VERSION = "4.6.0";
39
+ var SDK_VERSION = "5.0.0";
40
40
 
41
41
  // src/http.ts
42
42
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -114,7 +114,7 @@ async function awaitStepUpApproval(config, approval) {
114
114
  return "timeout";
115
115
  }
116
116
 
117
- // src/access-levels.ts
117
+ // src/trust-levels.ts
118
118
  function getTrustLevel(score) {
119
119
  if (score >= 80) return "PLATINUM";
120
120
  if (score >= 60) return "GOLD";
@@ -132,11 +132,6 @@ function getCachedWellKnownUrls(apiBaseUrl) {
132
132
  // src/verify.ts
133
133
  var DEFAULT_CONFIG = {
134
134
  apiBaseUrl: "https://astrasync.ai/api",
135
- // v2.3.9 (defect #30): default for unconfigured callers is `'none'` (no
136
- // access). Pre-rename this defaulted to `'guidance'`, which combined with
137
- // a route gated at `'guidance'` to silently let unverified traffic
138
- // through (`hasMinimumAccess('guidance', 'guidance') === true`).
139
- defaultAccessLevel: "none",
140
135
  // minTrustScore + minTrustScoreForFull deprecated in v2.3.0 — server decides.
141
136
  // cacheTtl deliberately unset. When undefined, cacheResult applies the 60s
142
137
  // default; the caller's explicit value is honoured for cacheable results.
@@ -331,13 +326,6 @@ function createGuidanceResponse(_config, reason, options = {}) {
331
326
  // policy is not evaluated (we never reached the gate).
332
327
  identityVerified: false,
333
328
  policyAllowed: false,
334
- // v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
335
- // Adapters additionally short-circuit on `!identityVerified ||
336
- // !policyAllowed` before the gate check, but the access level still has
337
- // to be honest at the data layer so downstream consumers (SDK adapters
338
- // in other languages, custom integrations) inherit the correct
339
- // semantics.
340
- accessLevel: "none",
341
329
  guidance,
342
330
  denialReasons: reason ? [reason] : ["No valid agent credentials provided"],
343
331
  // Round-10 (#47, O5): on API-error fallback, surface a typed failure so
@@ -431,7 +419,6 @@ async function callVerifyAccessAPI(config, request) {
431
419
  attemptId: typeof data?.attemptId === "string" ? data.attemptId : void 0,
432
420
  access: {
433
421
  allowed: false,
434
- accessLevel: "none",
435
422
  reason: "endpoint_deactivated",
436
423
  failures: [
437
424
  {
@@ -494,7 +481,7 @@ async function verify(config, request, options) {
494
481
  if (!deprecationWarningShown && (config.minTrustScore !== void 0 || config.minTrustScoreForFull !== void 0)) {
495
482
  deprecationWarningShown = true;
496
483
  console.warn(
497
- "[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."
484
+ "[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."
498
485
  );
499
486
  }
500
487
  if (mergedConfig.cacheTtl !== 0 && !options?.bypassCache) {
@@ -540,14 +527,6 @@ async function verify(config, request, options) {
540
527
  const result2 = {
541
528
  identityVerified: idVerifiedFromBackend,
542
529
  policyAllowed: false,
543
- // v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
544
- // Pre-rename this hardcoded `'guidance'`, which conflated with the
545
- // colocated `guidance: {...}` help-payload object below and let
546
- // denied requests pass any route gated at `'guidance'` because
547
- // `hasMinimumAccess('guidance', 'guidance') === true`. Adapters now
548
- // ALSO short-circuit on `!identityVerified || !policyAllowed` before
549
- // the gate check — belt-and-braces.
550
- accessLevel: "none",
551
530
  // 3.6.0: the server now emits top-level denialReasons on every deny
552
531
  // path — prefer it verbatim; the failure-message reconstruction remains
553
532
  // as the fallback for older backends.
@@ -596,7 +575,6 @@ async function verify(config, request, options) {
596
575
  trustScore: apiResponse.organization.trustScore
597
576
  } : void 0;
598
577
  const verificationContext = apiResponse.verificationContext;
599
- const accessLevel = apiResponse.access?.accessLevel ?? "standard";
600
578
  const result = {
601
579
  // 4.5.0 (probe F1): read idVerified from verificationContext with the
602
580
  // SAME absent⇒false default as the deny branch. The previous `!== false`
@@ -608,7 +586,6 @@ async function verify(config, request, options) {
608
586
  // this load-bearing must never be defaulted on.
609
587
  identityVerified: apiResponse.verificationContext?.idVerified === true,
610
588
  policyAllowed: true,
611
- accessLevel,
612
589
  agent,
613
590
  developer,
614
591
  organization,
@@ -635,7 +612,6 @@ async function verify(config, request, options) {
635
612
  };
636
613
  if (result.recommendation === "deny") {
637
614
  result.policyAllowed = false;
638
- result.accessLevel = "none";
639
615
  result.denialReasons = serverDenialReasons ?? result.recommendationReasons ?? ["Access denied by AstraSync recommendation"];
640
616
  result.guidance = result.runtimeChallenge ? {
641
617
  message: `Verification failed: ${result.runtimeChallenge.reason || "runtime challenge failed"}`,
@@ -1770,7 +1746,7 @@ function createMiddleware(options) {
1770
1746
  beaconPassThrough?.(request, pathname);
1771
1747
  return NextResponse.next();
1772
1748
  }
1773
- if (routeConfig.minAccessLevel === "none") {
1749
+ if (routeConfig.observe) {
1774
1750
  beaconPassThrough?.(request, pathname);
1775
1751
  return NextResponse.next();
1776
1752
  }
@@ -1800,7 +1776,6 @@ function createMiddleware(options) {
1800
1776
  const preCheckResult = {
1801
1777
  identityVerified: false,
1802
1778
  policyAllowed: false,
1803
- accessLevel: "none",
1804
1779
  denialReasons: preCheckFailures.map((f) => f.message),
1805
1780
  guidance: {
1806
1781
  message: "Request exceeds counterparty-defined PDLSS limits.",
@@ -1938,7 +1913,6 @@ function createMiddleware(options) {
1938
1913
  }
1939
1914
  response.headers.set("X-AstraSync-Identity-Verified", result.identityVerified.toString());
1940
1915
  response.headers.set("X-AstraSync-Policy-Allowed", result.policyAllowed.toString());
1941
- response.headers.set("X-AstraSync-Access-Level", result.accessLevel);
1942
1916
  if (result.agent) {
1943
1917
  response.headers.set("X-AstraSync-Agent-Id", result.agent.astraId);
1944
1918
  }