@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}`;
@@ -310,7 +310,7 @@ function detectPlatformFingerprint(input) {
310
310
  return matchPlatformSignature(PLATFORM_AGENT_SIGNATURES, input);
311
311
  }
312
312
 
313
- // src/access-levels.ts
313
+ // src/trust-levels.ts
314
314
  function getTrustLevel(score) {
315
315
  if (score >= 80) return "PLATINUM";
316
316
  if (score >= 60) return "GOLD";
@@ -328,11 +328,6 @@ function getCachedWellKnownUrls(apiBaseUrl) {
328
328
  // src/verify.ts
329
329
  var DEFAULT_CONFIG = {
330
330
  apiBaseUrl: "https://astrasync.ai/api",
331
- // v2.3.9 (defect #30): default for unconfigured callers is `'none'` (no
332
- // access). Pre-rename this defaulted to `'guidance'`, which combined with
333
- // a route gated at `'guidance'` to silently let unverified traffic
334
- // through (`hasMinimumAccess('guidance', 'guidance') === true`).
335
- defaultAccessLevel: "none",
336
331
  // minTrustScore + minTrustScoreForFull deprecated in v2.3.0 — server decides.
337
332
  // cacheTtl deliberately unset. When undefined, cacheResult applies the 60s
338
333
  // default; the caller's explicit value is honoured for cacheable results.
@@ -527,13 +522,6 @@ function createGuidanceResponse(_config, reason, options = {}) {
527
522
  // policy is not evaluated (we never reached the gate).
528
523
  identityVerified: false,
529
524
  policyAllowed: false,
530
- // v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
531
- // Adapters additionally short-circuit on `!identityVerified ||
532
- // !policyAllowed` before the gate check, but the access level still has
533
- // to be honest at the data layer so downstream consumers (SDK adapters
534
- // in other languages, custom integrations) inherit the correct
535
- // semantics.
536
- accessLevel: "none",
537
525
  guidance,
538
526
  denialReasons: reason ? [reason] : ["No valid agent credentials provided"],
539
527
  // Round-10 (#47, O5): on API-error fallback, surface a typed failure so
@@ -627,7 +615,6 @@ async function callVerifyAccessAPI(config, request) {
627
615
  attemptId: typeof data?.attemptId === "string" ? data.attemptId : void 0,
628
616
  access: {
629
617
  allowed: false,
630
- accessLevel: "none",
631
618
  reason: "endpoint_deactivated",
632
619
  failures: [
633
620
  {
@@ -690,7 +677,7 @@ async function verify(config, request, options) {
690
677
  if (!deprecationWarningShown && (config.minTrustScore !== void 0 || config.minTrustScoreForFull !== void 0)) {
691
678
  deprecationWarningShown = true;
692
679
  console.warn(
693
- "[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."
680
+ "[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."
694
681
  );
695
682
  }
696
683
  if (mergedConfig.cacheTtl !== 0 && !options?.bypassCache) {
@@ -736,14 +723,6 @@ async function verify(config, request, options) {
736
723
  const result2 = {
737
724
  identityVerified: idVerifiedFromBackend,
738
725
  policyAllowed: false,
739
- // v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
740
- // Pre-rename this hardcoded `'guidance'`, which conflated with the
741
- // colocated `guidance: {...}` help-payload object below and let
742
- // denied requests pass any route gated at `'guidance'` because
743
- // `hasMinimumAccess('guidance', 'guidance') === true`. Adapters now
744
- // ALSO short-circuit on `!identityVerified || !policyAllowed` before
745
- // the gate check — belt-and-braces.
746
- accessLevel: "none",
747
726
  // 3.6.0: the server now emits top-level denialReasons on every deny
748
727
  // path — prefer it verbatim; the failure-message reconstruction remains
749
728
  // as the fallback for older backends.
@@ -792,7 +771,6 @@ async function verify(config, request, options) {
792
771
  trustScore: apiResponse.organization.trustScore
793
772
  } : void 0;
794
773
  const verificationContext = apiResponse.verificationContext;
795
- const accessLevel = apiResponse.access?.accessLevel ?? "standard";
796
774
  const result = {
797
775
  // 4.5.0 (probe F1): read idVerified from verificationContext with the
798
776
  // SAME absent⇒false default as the deny branch. The previous `!== false`
@@ -804,7 +782,6 @@ async function verify(config, request, options) {
804
782
  // this load-bearing must never be defaulted on.
805
783
  identityVerified: apiResponse.verificationContext?.idVerified === true,
806
784
  policyAllowed: true,
807
- accessLevel,
808
785
  agent,
809
786
  developer,
810
787
  organization,
@@ -831,7 +808,6 @@ async function verify(config, request, options) {
831
808
  };
832
809
  if (result.recommendation === "deny") {
833
810
  result.policyAllowed = false;
834
- result.accessLevel = "none";
835
811
  result.denialReasons = serverDenialReasons ?? result.recommendationReasons ?? ["Access denied by AstraSync recommendation"];
836
812
  result.guidance = result.runtimeChallenge ? {
837
813
  message: `Verification failed: ${result.runtimeChallenge.reason || "runtime challenge failed"}`,
@@ -1178,7 +1154,6 @@ var ASAT_HEADERS = {
1178
1154
  trustScore: "X-AstraSync-Trust-Score",
1179
1155
  agentId: "X-AstraSync-Agent-Id",
1180
1156
  developerId: "X-AstraSync-Developer-Id",
1181
- permissions: "X-AstraSync-Permissions",
1182
1157
  observedDecision: "X-AstraSync-Observed-Decision"
1183
1158
  };
1184
1159
  var STRIP_HEADER_PREFIXES = ["x-astrasync-", "x-astra-verified-hop"];
@@ -1227,12 +1202,11 @@ function applyOutcome(options, outcome, policy) {
1227
1202
  }
1228
1203
  function asatHeaders(outcome) {
1229
1204
  if (!outcome.asat) return {};
1230
- const { trustScore, agentId, developerId, accessLevel } = outcome.asat;
1205
+ const { trustScore, agentId, developerId } = outcome.asat;
1231
1206
  return {
1232
1207
  ...trustScore !== void 0 && { [ASAT_HEADERS.trustScore]: String(trustScore) },
1233
1208
  ...agentId && { [ASAT_HEADERS.agentId]: agentId },
1234
- ...developerId && { [ASAT_HEADERS.developerId]: developerId },
1235
- ...accessLevel && { [ASAT_HEADERS.permissions]: accessLevel }
1209
+ ...developerId && { [ASAT_HEADERS.developerId]: developerId }
1236
1210
  };
1237
1211
  }
1238
1212
  function verifiedHopHeader(outcome) {
@@ -1440,8 +1414,7 @@ function outcomeFromVerifyResult(classification, result) {
1440
1414
  outcome.asat = {
1441
1415
  trustScore: result.agent?.trustScore,
1442
1416
  agentId: result.agent?.astraId,
1443
- developerId: result.developer?.astradId,
1444
- accessLevel: result.accessLevel
1417
+ developerId: result.developer?.astradId
1445
1418
  };
1446
1419
  return outcome;
1447
1420
  }