@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
@@ -3705,7 +3705,7 @@ function verifyLocal(evaluator, context) {
3705
3705
  return evaluator.evaluate(context);
3706
3706
  }
3707
3707
 
3708
- // src/access-levels.ts
3708
+ // src/trust-levels.ts
3709
3709
  function getTrustLevel(score) {
3710
3710
  if (score >= 80) return "PLATINUM";
3711
3711
  if (score >= 60) return "GOLD";
@@ -3714,7 +3714,7 @@ function getTrustLevel(score) {
3714
3714
  }
3715
3715
 
3716
3716
  // src/version.ts
3717
- var SDK_VERSION = "4.6.0";
3717
+ var SDK_VERSION = "5.0.0";
3718
3718
 
3719
3719
  // src/http.ts
3720
3720
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -3744,11 +3744,6 @@ function getCachedWellKnownUrls(apiBaseUrl) {
3744
3744
  // src/verify.ts
3745
3745
  var DEFAULT_CONFIG = {
3746
3746
  apiBaseUrl: "https://astrasync.ai/api",
3747
- // v2.3.9 (defect #30): default for unconfigured callers is `'none'` (no
3748
- // access). Pre-rename this defaulted to `'guidance'`, which combined with
3749
- // a route gated at `'guidance'` to silently let unverified traffic
3750
- // through (`hasMinimumAccess('guidance', 'guidance') === true`).
3751
- defaultAccessLevel: "none",
3752
3747
  // minTrustScore + minTrustScoreForFull deprecated in v2.3.0 — server decides.
3753
3748
  // cacheTtl deliberately unset. When undefined, cacheResult applies the 60s
3754
3749
  // default; the caller's explicit value is honoured for cacheable results.
@@ -3909,13 +3904,6 @@ function createGuidanceResponse(_config, reason, options = {}) {
3909
3904
  // policy is not evaluated (we never reached the gate).
3910
3905
  identityVerified: false,
3911
3906
  policyAllowed: false,
3912
- // v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
3913
- // Adapters additionally short-circuit on `!identityVerified ||
3914
- // !policyAllowed` before the gate check, but the access level still has
3915
- // to be honest at the data layer so downstream consumers (SDK adapters
3916
- // in other languages, custom integrations) inherit the correct
3917
- // semantics.
3918
- accessLevel: "none",
3919
3907
  guidance,
3920
3908
  denialReasons: reason ? [reason] : ["No valid agent credentials provided"],
3921
3909
  // Round-10 (#47, O5): on API-error fallback, surface a typed failure so
@@ -4009,7 +3997,6 @@ async function callVerifyAccessAPI(config, request) {
4009
3997
  attemptId: typeof data?.attemptId === "string" ? data.attemptId : void 0,
4010
3998
  access: {
4011
3999
  allowed: false,
4012
- accessLevel: "none",
4013
4000
  reason: "endpoint_deactivated",
4014
4001
  failures: [
4015
4002
  {
@@ -4072,7 +4059,7 @@ async function verify(config, request, options) {
4072
4059
  if (!deprecationWarningShown && (config.minTrustScore !== void 0 || config.minTrustScoreForFull !== void 0)) {
4073
4060
  deprecationWarningShown = true;
4074
4061
  console.warn(
4075
- "[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."
4062
+ "[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."
4076
4063
  );
4077
4064
  }
4078
4065
  if (mergedConfig.cacheTtl !== 0 && !options?.bypassCache) {
@@ -4118,14 +4105,6 @@ async function verify(config, request, options) {
4118
4105
  const result2 = {
4119
4106
  identityVerified: idVerifiedFromBackend,
4120
4107
  policyAllowed: false,
4121
- // v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
4122
- // Pre-rename this hardcoded `'guidance'`, which conflated with the
4123
- // colocated `guidance: {...}` help-payload object below and let
4124
- // denied requests pass any route gated at `'guidance'` because
4125
- // `hasMinimumAccess('guidance', 'guidance') === true`. Adapters now
4126
- // ALSO short-circuit on `!identityVerified || !policyAllowed` before
4127
- // the gate check — belt-and-braces.
4128
- accessLevel: "none",
4129
4108
  // 3.6.0: the server now emits top-level denialReasons on every deny
4130
4109
  // path — prefer it verbatim; the failure-message reconstruction remains
4131
4110
  // as the fallback for older backends.
@@ -4174,7 +4153,6 @@ async function verify(config, request, options) {
4174
4153
  trustScore: apiResponse.organization.trustScore
4175
4154
  } : void 0;
4176
4155
  const verificationContext = apiResponse.verificationContext;
4177
- const accessLevel = apiResponse.access?.accessLevel ?? "standard";
4178
4156
  const result = {
4179
4157
  // 4.5.0 (probe F1): read idVerified from verificationContext with the
4180
4158
  // SAME absent⇒false default as the deny branch. The previous `!== false`
@@ -4186,7 +4164,6 @@ async function verify(config, request, options) {
4186
4164
  // this load-bearing must never be defaulted on.
4187
4165
  identityVerified: apiResponse.verificationContext?.idVerified === true,
4188
4166
  policyAllowed: true,
4189
- accessLevel,
4190
4167
  agent,
4191
4168
  developer,
4192
4169
  organization,
@@ -4213,7 +4190,6 @@ async function verify(config, request, options) {
4213
4190
  };
4214
4191
  if (result.recommendation === "deny") {
4215
4192
  result.policyAllowed = false;
4216
- result.accessLevel = "none";
4217
4193
  result.denialReasons = serverDenialReasons ?? result.recommendationReasons ?? ["Access denied by AstraSync recommendation"];
4218
4194
  result.guidance = result.runtimeChallenge ? {
4219
4195
  message: `Verification failed: ${result.runtimeChallenge.reason || "runtime challenge failed"}`,
@@ -4329,7 +4305,6 @@ function toGatewayConfig(config) {
4329
4305
  return {
4330
4306
  apiBaseUrl: config.apiBaseUrl || "https://api.astrasync.ai",
4331
4307
  apiKey: config.apiKey,
4332
- defaultAccessLevel: config.defaultAccessLevel,
4333
4308
  minTrustScore: config.minTrustScore,
4334
4309
  minTrustScoreForFull: config.minTrustScoreForFull,
4335
4310
  cacheTtl: config.cacheTtl,
@@ -4357,7 +4332,7 @@ function toDecision(result) {
4357
4332
  if (result.identityVerified && result.policyAllowed) {
4358
4333
  return {
4359
4334
  recommendation: "ALLOW",
4360
- reason: `Verified with access level: ${result.accessLevel}`,
4335
+ reason: result.agent?.trustScore ? `Verified (trust score ${result.agent.trustScore})` : "Verified",
4361
4336
  trustScore: result.agent?.trustScore,
4362
4337
  sessionId: "sessionId" in result ? result.sessionId : void 0
4363
4338
  };