@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,3 +1,3 @@
1
- import '../types-Cx9hTpKI.mjs';
2
- export { V as VerificationGatewayClient, c as createClient, e as getCapabilities, f as getTrustLevel, h as hasMinimumAccess, v as verifyOnce } from '../sdk-B9dSwum7.mjs';
1
+ import '../types-CJjZvPr9.mjs';
2
+ export { V as VerificationGatewayClient, c as createClient, g as getTrustLevel, v as verifyOnce } from '../sdk-B83N3xKc.mjs';
3
3
  import '../metadata-capture.mjs';
@@ -1,3 +1,3 @@
1
- import '../types-CGPU7HLi.js';
2
- export { V as VerificationGatewayClient, c as createClient, e as getCapabilities, f as getTrustLevel, h as hasMinimumAccess, v as verifyOnce } from '../sdk-B4aodEwj.js';
1
+ import '../types-BK2POWNc.js';
2
+ export { V as VerificationGatewayClient, c as createClient, g as getTrustLevel, v as verifyOnce } from '../sdk-H_9BTNBS.js';
3
3
  import '../metadata-capture.js';
@@ -22,15 +22,13 @@ var sdk_exports = {};
22
22
  __export(sdk_exports, {
23
23
  VerificationGatewayClient: () => VerificationGatewayClient,
24
24
  createClient: () => createClient,
25
- getCapabilities: () => getCapabilities,
26
25
  getTrustLevel: () => getTrustLevel,
27
- hasMinimumAccess: () => hasMinimumAccess,
28
26
  verifyOnce: () => verifyOnce
29
27
  });
30
28
  module.exports = __toCommonJS(sdk_exports);
31
29
 
32
30
  // src/version.ts
33
- var SDK_VERSION = "4.6.0";
31
+ var SDK_VERSION = "5.0.0";
34
32
 
35
33
  // src/http.ts
36
34
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -50,84 +48,13 @@ function withUserAgent(initHeaders) {
50
48
  }
51
49
  var sdkFetch = (input, init) => fetch(input, { ...init, headers: withUserAgent(init?.headers) });
52
50
 
53
- // src/access-levels.ts
54
- var ACCESS_LEVEL_HIERARCHY = {
55
- none: 0,
56
- restricted: 1,
57
- "read-only": 2,
58
- standard: 3,
59
- full: 4,
60
- internal: 5
61
- };
51
+ // src/trust-levels.ts
62
52
  function getTrustLevel(score) {
63
53
  if (score >= 80) return "PLATINUM";
64
54
  if (score >= 60) return "GOLD";
65
55
  if (score >= 40) return "SILVER";
66
56
  return "BRONZE";
67
57
  }
68
- function hasMinimumAccess(actual, required) {
69
- return ACCESS_LEVEL_HIERARCHY[actual] >= ACCESS_LEVEL_HIERARCHY[required];
70
- }
71
- function getCapabilities(accessLevel) {
72
- switch (accessLevel) {
73
- case "none":
74
- return {
75
- canRead: false,
76
- canWrite: false,
77
- canDelete: false,
78
- canAdmin: false,
79
- canAccessInternal: false
80
- };
81
- case "restricted":
82
- return {
83
- canRead: false,
84
- canWrite: false,
85
- canDelete: false,
86
- canAdmin: false,
87
- canAccessInternal: false
88
- };
89
- case "read-only":
90
- return {
91
- canRead: true,
92
- canWrite: false,
93
- canDelete: false,
94
- canAdmin: false,
95
- canAccessInternal: false
96
- };
97
- case "standard":
98
- return {
99
- canRead: true,
100
- canWrite: true,
101
- canDelete: false,
102
- canAdmin: false,
103
- canAccessInternal: false
104
- };
105
- case "full":
106
- return {
107
- canRead: true,
108
- canWrite: true,
109
- canDelete: true,
110
- canAdmin: false,
111
- canAccessInternal: false
112
- };
113
- case "internal":
114
- return {
115
- canRead: true,
116
- canWrite: true,
117
- canDelete: true,
118
- canAdmin: true,
119
- canAccessInternal: true
120
- };
121
- default:
122
- return {
123
- canRead: false,
124
- canWrite: false,
125
- canDelete: false,
126
- canAdmin: false,
127
- canAccessInternal: false
128
- };
129
- }
130
- }
131
58
 
132
59
  // src/well-known.ts
133
60
  var CACHE_TTL_MS = 60 * 60 * 1e3;
@@ -139,11 +66,6 @@ function getCachedWellKnownUrls(apiBaseUrl) {
139
66
  // src/verify.ts
140
67
  var DEFAULT_CONFIG = {
141
68
  apiBaseUrl: "https://astrasync.ai/api",
142
- // v2.3.9 (defect #30): default for unconfigured callers is `'none'` (no
143
- // access). Pre-rename this defaulted to `'guidance'`, which combined with
144
- // a route gated at `'guidance'` to silently let unverified traffic
145
- // through (`hasMinimumAccess('guidance', 'guidance') === true`).
146
- defaultAccessLevel: "none",
147
69
  // minTrustScore + minTrustScoreForFull deprecated in v2.3.0 — server decides.
148
70
  // cacheTtl deliberately unset. When undefined, cacheResult applies the 60s
149
71
  // default; the caller's explicit value is honoured for cacheable results.
@@ -307,13 +229,6 @@ function createGuidanceResponse(_config, reason, options = {}) {
307
229
  // policy is not evaluated (we never reached the gate).
308
230
  identityVerified: false,
309
231
  policyAllowed: false,
310
- // v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
311
- // Adapters additionally short-circuit on `!identityVerified ||
312
- // !policyAllowed` before the gate check, but the access level still has
313
- // to be honest at the data layer so downstream consumers (SDK adapters
314
- // in other languages, custom integrations) inherit the correct
315
- // semantics.
316
- accessLevel: "none",
317
232
  guidance,
318
233
  denialReasons: reason ? [reason] : ["No valid agent credentials provided"],
319
234
  // Round-10 (#47, O5): on API-error fallback, surface a typed failure so
@@ -407,7 +322,6 @@ async function callVerifyAccessAPI(config, request) {
407
322
  attemptId: typeof data?.attemptId === "string" ? data.attemptId : void 0,
408
323
  access: {
409
324
  allowed: false,
410
- accessLevel: "none",
411
325
  reason: "endpoint_deactivated",
412
326
  failures: [
413
327
  {
@@ -470,7 +384,7 @@ async function verify(config, request, options) {
470
384
  if (!deprecationWarningShown && (config.minTrustScore !== void 0 || config.minTrustScoreForFull !== void 0)) {
471
385
  deprecationWarningShown = true;
472
386
  console.warn(
473
- "[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."
387
+ "[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."
474
388
  );
475
389
  }
476
390
  if (mergedConfig.cacheTtl !== 0 && !options?.bypassCache) {
@@ -516,14 +430,6 @@ async function verify(config, request, options) {
516
430
  const result2 = {
517
431
  identityVerified: idVerifiedFromBackend,
518
432
  policyAllowed: false,
519
- // v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
520
- // Pre-rename this hardcoded `'guidance'`, which conflated with the
521
- // colocated `guidance: {...}` help-payload object below and let
522
- // denied requests pass any route gated at `'guidance'` because
523
- // `hasMinimumAccess('guidance', 'guidance') === true`. Adapters now
524
- // ALSO short-circuit on `!identityVerified || !policyAllowed` before
525
- // the gate check — belt-and-braces.
526
- accessLevel: "none",
527
433
  // 3.6.0: the server now emits top-level denialReasons on every deny
528
434
  // path — prefer it verbatim; the failure-message reconstruction remains
529
435
  // as the fallback for older backends.
@@ -572,7 +478,6 @@ async function verify(config, request, options) {
572
478
  trustScore: apiResponse.organization.trustScore
573
479
  } : void 0;
574
480
  const verificationContext = apiResponse.verificationContext;
575
- const accessLevel = apiResponse.access?.accessLevel ?? "standard";
576
481
  const result = {
577
482
  // 4.5.0 (probe F1): read idVerified from verificationContext with the
578
483
  // SAME absent⇒false default as the deny branch. The previous `!== false`
@@ -584,7 +489,6 @@ async function verify(config, request, options) {
584
489
  // this load-bearing must never be defaulted on.
585
490
  identityVerified: apiResponse.verificationContext?.idVerified === true,
586
491
  policyAllowed: true,
587
- accessLevel,
588
492
  agent,
589
493
  developer,
590
494
  organization,
@@ -611,7 +515,6 @@ async function verify(config, request, options) {
611
515
  };
612
516
  if (result.recommendation === "deny") {
613
517
  result.policyAllowed = false;
614
- result.accessLevel = "none";
615
518
  result.denialReasons = serverDenialReasons ?? result.recommendationReasons ?? ["Access denied by AstraSync recommendation"];
616
519
  result.guidance = result.runtimeChallenge ? {
617
520
  message: `Verification failed: ${result.runtimeChallenge.reason || "runtime challenge failed"}`,
@@ -640,7 +543,6 @@ async function quickVerify(config, credentials) {
640
543
  return {
641
544
  identityVerified: result.identityVerified,
642
545
  policyAllowed: result.policyAllowed,
643
- accessLevel: result.accessLevel,
644
546
  reason: result.denialReasons?.[0]
645
547
  };
646
548
  }
@@ -651,7 +553,6 @@ var VerificationGatewayClient = class {
651
553
  this.config = {
652
554
  apiBaseUrl: options.apiBaseUrl,
653
555
  apiKey: options.apiKey,
654
- defaultAccessLevel: options.defaultAccessLevel,
655
556
  minTrustScore: options.minTrustScore,
656
557
  minTrustScoreForFull: options.minTrustScoreForFull,
657
558
  cacheTtl: options.cacheTtl,
@@ -700,26 +601,6 @@ var VerificationGatewayClient = class {
700
601
  async quickVerify(credentials) {
701
602
  return this.executeWithRetry(() => quickVerify(this.config, credentials));
702
603
  }
703
- /**
704
- * Check if an agent has a specific access level.
705
- *
706
- * @deprecated 3.2.0 — the access-level band is informational only; it no
707
- * longer gates in the middleware adapters (post-3.1.0 feedback #1). This
708
- * explicit opt-in query still works, but prefer gating on the server-side
709
- * policy decision (identity + policy + trust) or per-route `minTrustScore`.
710
- * Explicit per-route condition→constraint rules are the Phase-2 successor.
711
- */
712
- async hasAccess(credentials, requiredLevel) {
713
- const result = await this.quickVerify(credentials);
714
- return hasMinimumAccess(result.accessLevel, requiredLevel);
715
- }
716
- /**
717
- * Get capabilities for a verified agent
718
- */
719
- async getCapabilities(credentials) {
720
- const result = await this.quickVerify(credentials);
721
- return getCapabilities(result.accessLevel);
722
- }
723
604
  /**
724
605
  * Verify a specific ASTRA-ID
725
606
  */
@@ -782,9 +663,7 @@ async function verifyOnce(options) {
782
663
  0 && (module.exports = {
783
664
  VerificationGatewayClient,
784
665
  createClient,
785
- getCapabilities,
786
666
  getTrustLevel,
787
- hasMinimumAccess,
788
667
  verifyOnce
789
668
  });
790
669
  //# sourceMappingURL=sdk.js.map