@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.
- package/dist/adapter-interface/interface.d.mts +2 -2
- package/dist/adapter-interface/interface.d.ts +2 -2
- package/dist/adapters/express.d.mts +2 -2
- package/dist/adapters/express.d.ts +2 -2
- package/dist/adapters/express.js +6 -33
- package/dist/adapters/express.js.map +1 -1
- package/dist/adapters/express.mjs +6 -33
- package/dist/adapters/express.mjs.map +1 -1
- package/dist/adapters/mcp.d.mts +2 -2
- package/dist/adapters/mcp.d.ts +2 -2
- package/dist/adapters/mcp.js +23 -65
- package/dist/adapters/mcp.js.map +1 -1
- package/dist/adapters/mcp.mjs +22 -64
- package/dist/adapters/mcp.mjs.map +1 -1
- package/dist/adapters/nextjs.d.mts +2 -2
- package/dist/adapters/nextjs.d.ts +2 -2
- package/dist/adapters/nextjs.js +4 -30
- package/dist/adapters/nextjs.js.map +1 -1
- package/dist/adapters/nextjs.mjs +4 -30
- package/dist/adapters/nextjs.mjs.map +1 -1
- package/dist/adapters/sdk.d.mts +2 -2
- package/dist/adapters/sdk.d.ts +2 -2
- package/dist/adapters/sdk.js +3 -124
- package/dist/adapters/sdk.js.map +1 -1
- package/dist/adapters/sdk.mjs +3 -122
- package/dist/adapters/sdk.mjs.map +1 -1
- package/dist/agent/index.d.mts +2 -2
- package/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.js +1 -1
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/index.mjs +1 -1
- package/dist/agent/index.mjs.map +1 -1
- package/dist/bin/astrasync-claude-hook.js +4 -29
- package/dist/bin/astrasync-codex-hook.js +4 -29
- package/dist/bin/astrasync-guard.js +4 -29
- package/dist/bin/astrasync.js +9 -34
- package/dist/browser/background.js +4 -29
- package/dist/browser/background.js.map +1 -1
- package/dist/browser/background.mjs +4 -29
- package/dist/browser/background.mjs.map +1 -1
- package/dist/browser/browser-adapter.d.mts +2 -2
- package/dist/browser/browser-adapter.d.ts +2 -2
- package/dist/claude-code/claude-code-adapter.d.mts +2 -2
- package/dist/claude-code/claude-code-adapter.d.ts +2 -2
- package/dist/cli/index.d.mts +2 -2
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/index.mjs +1 -1
- package/dist/cli/index.mjs.map +1 -1
- package/dist/codex/index.d.mts +2 -2
- package/dist/codex/index.d.ts +2 -2
- package/dist/codex/index.js +4 -29
- package/dist/codex/index.js.map +1 -1
- package/dist/codex/index.mjs +4 -29
- package/dist/codex/index.mjs.map +1 -1
- package/dist/cursor/cursor-adapter.d.mts +2 -2
- package/dist/cursor/cursor-adapter.d.ts +2 -2
- package/dist/cursor/extension.d.mts +2 -2
- package/dist/cursor/extension.d.ts +2 -2
- package/dist/cursor/extension.js +4 -29
- package/dist/cursor/extension.js.map +1 -1
- package/dist/cursor/extension.mjs +4 -29
- package/dist/cursor/extension.mjs.map +1 -1
- package/dist/edge-config.d.mts +1 -1
- package/dist/edge-config.d.ts +1 -1
- package/dist/edge-config.js +1 -1
- package/dist/edge-config.js.map +1 -1
- package/dist/edge-config.mjs +1 -1
- package/dist/edge-config.mjs.map +1 -1
- package/dist/edge-core/index.d.mts +1 -3
- package/dist/edge-core/index.d.ts +1 -3
- package/dist/edge-core/index.js +6 -33
- package/dist/edge-core/index.js.map +1 -1
- package/dist/edge-core/index.mjs +6 -33
- package/dist/edge-core/index.mjs.map +1 -1
- package/dist/{express-D-8Ks2Uo.d.ts → express-B5lWuemA.d.ts} +1 -1
- package/dist/{express-DBtPKXOL.d.mts → express-Dm-snUuY.d.mts} +1 -1
- package/dist/gateway/gateway.d.mts +2 -2
- package/dist/gateway/gateway.d.ts +2 -2
- package/dist/gateway/gateway.js +4 -29
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/gateway.mjs +4 -29
- package/dist/gateway/gateway.mjs.map +1 -1
- package/dist/git-trigger/git-hooks.d.mts +2 -2
- package/dist/git-trigger/git-hooks.d.ts +2 -2
- package/dist/{index-kGCGWd5x.d.mts → index-B5k_vUmK.d.mts} +1 -1
- package/dist/{index-CUfmJ1Dq.d.mts → index-BOzM6xUq.d.mts} +1 -1
- package/dist/{index-BND3kQev.d.ts → index-dRfxUdFA.d.ts} +1 -1
- package/dist/{index-DlZORQsb.d.ts → index-y8xToocF.d.ts} +1 -1
- package/dist/index.d.mts +10 -10
- package/dist/index.d.ts +10 -10
- package/dist/index.js +25 -217
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +25 -210
- package/dist/index.mjs.map +1 -1
- package/dist/local-evaluator/evaluator.d.mts +2 -2
- package/dist/local-evaluator/evaluator.d.ts +2 -2
- package/dist/local-evaluator/evaluator.js.map +1 -1
- package/dist/local-evaluator/evaluator.mjs.map +1 -1
- package/dist/{mcp-ZRN4kY3b.d.mts → mcp-DgsyQiQq.d.mts} +53 -52
- package/dist/{mcp-DToTlwIn.d.ts → mcp-OosmAcKf.d.ts} +53 -52
- package/dist/{nextjs-C0KASOy_.d.mts → nextjs-B1sBdEav.d.mts} +1 -1
- package/dist/{nextjs-lwNvWYWT.d.ts → nextjs-DoRmhV_Z.d.ts} +1 -1
- package/dist/registration/index.js +1 -1
- package/dist/registration/index.js.map +1 -1
- package/dist/registration/index.mjs +1 -1
- package/dist/registration/index.mjs.map +1 -1
- package/dist/sdk-B83N3xKc.d.mts +142 -0
- package/dist/sdk-H_9BTNBS.d.ts +142 -0
- package/dist/transport/index.d.mts +2 -2
- package/dist/transport/index.d.ts +2 -2
- package/dist/transport/index.js +1 -1
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/index.mjs +1 -1
- package/dist/transport/index.mjs.map +1 -1
- package/dist/{types-CGPU7HLi.d.ts → types-BK2POWNc.d.ts} +15 -50
- package/dist/{types-Cx9hTpKI.d.mts → types-CJjZvPr9.d.mts} +15 -50
- package/dist/{types-DhhJxKIC.d.ts → types-CXf3q4kZ.d.ts} +1 -3
- package/dist/{types-CfSJLS4i.d.mts → types-DQmop7ZW.d.mts} +1 -3
- package/dist/ui/index.d.mts +2 -17
- package/dist/ui/index.d.ts +2 -17
- package/dist/ui/index.js +1 -43
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/index.mjs +1 -42
- package/dist/ui/index.mjs.map +1 -1
- package/dist/verify.d.mts +3 -4
- package/dist/verify.d.ts +3 -4
- package/dist/verify.js +3 -28
- package/dist/verify.js.map +1 -1
- package/dist/verify.mjs +3 -28
- package/dist/verify.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/sdk-B4aodEwj.d.ts +0 -215
- package/dist/sdk-B9dSwum7.d.mts +0 -215
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/version.ts
|
|
2
|
-
var SDK_VERSION = "
|
|
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/
|
|
80
|
+
// src/trust-levels.ts
|
|
81
81
|
function getTrustLevel(score) {
|
|
82
82
|
if (score >= 80) return "PLATINUM";
|
|
83
83
|
if (score >= 60) return "GOLD";
|
|
@@ -147,11 +147,6 @@ function getCachedWellKnownUrls(apiBaseUrl) {
|
|
|
147
147
|
// src/verify.ts
|
|
148
148
|
var DEFAULT_CONFIG = {
|
|
149
149
|
apiBaseUrl: "https://astrasync.ai/api",
|
|
150
|
-
// v2.3.9 (defect #30): default for unconfigured callers is `'none'` (no
|
|
151
|
-
// access). Pre-rename this defaulted to `'guidance'`, which combined with
|
|
152
|
-
// a route gated at `'guidance'` to silently let unverified traffic
|
|
153
|
-
// through (`hasMinimumAccess('guidance', 'guidance') === true`).
|
|
154
|
-
defaultAccessLevel: "none",
|
|
155
150
|
// minTrustScore + minTrustScoreForFull deprecated in v2.3.0 — server decides.
|
|
156
151
|
// cacheTtl deliberately unset. When undefined, cacheResult applies the 60s
|
|
157
152
|
// default; the caller's explicit value is honoured for cacheable results.
|
|
@@ -346,13 +341,6 @@ function createGuidanceResponse(_config, reason, options = {}) {
|
|
|
346
341
|
// policy is not evaluated (we never reached the gate).
|
|
347
342
|
identityVerified: false,
|
|
348
343
|
policyAllowed: false,
|
|
349
|
-
// v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
|
|
350
|
-
// Adapters additionally short-circuit on `!identityVerified ||
|
|
351
|
-
// !policyAllowed` before the gate check, but the access level still has
|
|
352
|
-
// to be honest at the data layer so downstream consumers (SDK adapters
|
|
353
|
-
// in other languages, custom integrations) inherit the correct
|
|
354
|
-
// semantics.
|
|
355
|
-
accessLevel: "none",
|
|
356
344
|
guidance,
|
|
357
345
|
denialReasons: reason ? [reason] : ["No valid agent credentials provided"],
|
|
358
346
|
// Round-10 (#47, O5): on API-error fallback, surface a typed failure so
|
|
@@ -446,7 +434,6 @@ async function callVerifyAccessAPI(config, request) {
|
|
|
446
434
|
attemptId: typeof data?.attemptId === "string" ? data.attemptId : void 0,
|
|
447
435
|
access: {
|
|
448
436
|
allowed: false,
|
|
449
|
-
accessLevel: "none",
|
|
450
437
|
reason: "endpoint_deactivated",
|
|
451
438
|
failures: [
|
|
452
439
|
{
|
|
@@ -509,7 +496,7 @@ async function verify(config, request, options) {
|
|
|
509
496
|
if (!deprecationWarningShown && (config.minTrustScore !== void 0 || config.minTrustScoreForFull !== void 0)) {
|
|
510
497
|
deprecationWarningShown = true;
|
|
511
498
|
console.warn(
|
|
512
|
-
"[VerificationGateway] minTrustScore / minTrustScoreForFull are deprecated in v2.3.0 and have no effect. Server is now the single source of truth for access
|
|
499
|
+
"[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."
|
|
513
500
|
);
|
|
514
501
|
}
|
|
515
502
|
if (mergedConfig.cacheTtl !== 0 && !options?.bypassCache) {
|
|
@@ -555,14 +542,6 @@ async function verify(config, request, options) {
|
|
|
555
542
|
const result2 = {
|
|
556
543
|
identityVerified: idVerifiedFromBackend,
|
|
557
544
|
policyAllowed: false,
|
|
558
|
-
// v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
|
|
559
|
-
// Pre-rename this hardcoded `'guidance'`, which conflated with the
|
|
560
|
-
// colocated `guidance: {...}` help-payload object below and let
|
|
561
|
-
// denied requests pass any route gated at `'guidance'` because
|
|
562
|
-
// `hasMinimumAccess('guidance', 'guidance') === true`. Adapters now
|
|
563
|
-
// ALSO short-circuit on `!identityVerified || !policyAllowed` before
|
|
564
|
-
// the gate check — belt-and-braces.
|
|
565
|
-
accessLevel: "none",
|
|
566
545
|
// 3.6.0: the server now emits top-level denialReasons on every deny
|
|
567
546
|
// path — prefer it verbatim; the failure-message reconstruction remains
|
|
568
547
|
// as the fallback for older backends.
|
|
@@ -611,7 +590,6 @@ async function verify(config, request, options) {
|
|
|
611
590
|
trustScore: apiResponse.organization.trustScore
|
|
612
591
|
} : void 0;
|
|
613
592
|
const verificationContext = apiResponse.verificationContext;
|
|
614
|
-
const accessLevel = apiResponse.access?.accessLevel ?? "standard";
|
|
615
593
|
const result = {
|
|
616
594
|
// 4.5.0 (probe F1): read idVerified from verificationContext with the
|
|
617
595
|
// SAME absent⇒false default as the deny branch. The previous `!== false`
|
|
@@ -623,7 +601,6 @@ async function verify(config, request, options) {
|
|
|
623
601
|
// this load-bearing must never be defaulted on.
|
|
624
602
|
identityVerified: apiResponse.verificationContext?.idVerified === true,
|
|
625
603
|
policyAllowed: true,
|
|
626
|
-
accessLevel,
|
|
627
604
|
agent,
|
|
628
605
|
developer,
|
|
629
606
|
organization,
|
|
@@ -650,7 +627,6 @@ async function verify(config, request, options) {
|
|
|
650
627
|
};
|
|
651
628
|
if (result.recommendation === "deny") {
|
|
652
629
|
result.policyAllowed = false;
|
|
653
|
-
result.accessLevel = "none";
|
|
654
630
|
result.denialReasons = serverDenialReasons ?? result.recommendationReasons ?? ["Access denied by AstraSync recommendation"];
|
|
655
631
|
result.guidance = result.runtimeChallenge ? {
|
|
656
632
|
message: `Verification failed: ${result.runtimeChallenge.reason || "runtime challenge failed"}`,
|
|
@@ -1590,7 +1566,6 @@ function defaultOnDenied(result, _req, res) {
|
|
|
1590
1566
|
error: {
|
|
1591
1567
|
code: !result.identityVerified ? "UNAUTHORIZED" : "INSUFFICIENT_ACCESS",
|
|
1592
1568
|
message: result.denialReasons?.[0] || "Access denied",
|
|
1593
|
-
accessLevel: result.accessLevel,
|
|
1594
1569
|
guidance: result.guidance,
|
|
1595
1570
|
// Round-10: aggregated per-dimension detail + correlation handle.
|
|
1596
1571
|
failures: result.failures,
|
|
@@ -1706,11 +1681,11 @@ function createMiddleware(options) {
|
|
|
1706
1681
|
}
|
|
1707
1682
|
const wellKnownUrls = config.apiBaseUrl ? await getWellKnownUrls(config.apiBaseUrl).catch(() => void 0) : void 0;
|
|
1708
1683
|
const credentials = customExtractCredentials ? customExtractCredentials(req) : defaultExtractCredentials(req);
|
|
1709
|
-
const shouldEnforce = routeConfig.
|
|
1710
|
-
if (routeConfig.
|
|
1684
|
+
const shouldEnforce = !routeConfig.observe;
|
|
1685
|
+
if (routeConfig.observe && (!config.evaluateAlwaysIfCredentialed || !credentials.astraId)) {
|
|
1711
1686
|
if (config.setPassThroughHeader) {
|
|
1712
1687
|
res.setHeader("X-Astra-Gateway-Mode", "unenforced");
|
|
1713
|
-
res.setHeader("X-Astra-Gateway-Reason", "route-
|
|
1688
|
+
res.setHeader("X-Astra-Gateway-Reason", "route-observe");
|
|
1714
1689
|
}
|
|
1715
1690
|
beaconPassThrough?.(req);
|
|
1716
1691
|
return next();
|
|
@@ -1747,7 +1722,6 @@ function createMiddleware(options) {
|
|
|
1747
1722
|
const result2 = {
|
|
1748
1723
|
identityVerified: false,
|
|
1749
1724
|
policyAllowed: false,
|
|
1750
|
-
accessLevel: "none",
|
|
1751
1725
|
denialReasons: preCheckFailures.map((f) => f.message),
|
|
1752
1726
|
guidance: {
|
|
1753
1727
|
message: "Request exceeds counterparty-defined PDLSS limits.",
|
|
@@ -1910,7 +1884,6 @@ function createMiddleware(options) {
|
|
|
1910
1884
|
const result = {
|
|
1911
1885
|
identityVerified: false,
|
|
1912
1886
|
policyAllowed: false,
|
|
1913
|
-
accessLevel: "none",
|
|
1914
1887
|
denialReasons: [`Verification middleware internal error: ${errorClass}`],
|
|
1915
1888
|
failures: [
|
|
1916
1889
|
{
|