@astrasyncai/verification-gateway 4.5.1 → 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/README.md +1 -1
- 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 +11 -33
- package/dist/adapters/express.js.map +1 -1
- package/dist/adapters/express.mjs +11 -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 +28 -65
- package/dist/adapters/mcp.js.map +1 -1
- package/dist/adapters/mcp.mjs +27 -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 +9 -30
- package/dist/adapters/nextjs.js.map +1 -1
- package/dist/adapters/nextjs.mjs +9 -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 +8 -124
- package/dist/adapters/sdk.js.map +1 -1
- package/dist/adapters/sdk.mjs +8 -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 +63 -41
- package/dist/bin/astrasync-codex-hook.js +63 -41
- package/dist/bin/astrasync-guard.js +63 -41
- package/dist/bin/astrasync.js +75 -48
- package/dist/browser/background.js +63 -41
- package/dist/browser/background.js.map +1 -1
- package/dist/browser/background.mjs +63 -41
- 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 +33 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/index.mjs +33 -6
- 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 +63 -41
- package/dist/codex/index.js.map +1 -1
- package/dist/codex/index.mjs +63 -41
- 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 +63 -41
- package/dist/cursor/extension.js.map +1 -1
- package/dist/cursor/extension.mjs +63 -41
- 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 +11 -33
- package/dist/edge-core/index.js.map +1 -1
- package/dist/edge-core/index.mjs +11 -33
- package/dist/edge-core/index.mjs.map +1 -1
- package/dist/{express-DaqL11tx.d.ts → express-B5lWuemA.d.ts} +1 -1
- package/dist/{express-CR6F3njD.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 +63 -41
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/gateway.mjs +63 -41
- 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-Cub7lK-T.d.mts → index-B5k_vUmK.d.mts} +1 -1
- package/dist/{index-BfIxCYIZ.d.ts → index-BOzM6xUq.d.mts} +1 -2
- package/dist/{index-CwAh7Tln.d.mts → index-dRfxUdFA.d.ts} +1 -2
- package/dist/{index-B5Ts1WtM.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 +30 -217
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +30 -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 +22 -7
- package/dist/local-evaluator/evaluator.js.map +1 -1
- package/dist/local-evaluator/evaluator.mjs +22 -7
- package/dist/local-evaluator/evaluator.mjs.map +1 -1
- package/dist/{mcp-BgBJu4Jl.d.mts → mcp-DgsyQiQq.d.mts} +53 -52
- package/dist/{mcp--DgKOwfu.d.ts → mcp-OosmAcKf.d.ts} +53 -52
- package/dist/{nextjs-DlX6xwbU.d.mts → nextjs-B1sBdEav.d.mts} +1 -1
- package/dist/{nextjs-DL6uE1ye.d.ts → nextjs-DoRmhV_Z.d.ts} +1 -1
- package/dist/registration/index.d.mts +5 -1
- package/dist/registration/index.d.ts +5 -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-DwSfO7Sb.d.ts → types-BK2POWNc.d.ts} +23 -50
- package/dist/{types-C0zfSXMB.d.mts → types-CJjZvPr9.d.mts} +23 -50
- package/dist/{types-C7Rb-w0d.d.mts → types-CXf3q4kZ.d.ts} +14 -3
- package/dist/{types-nIh3HtuA.d.ts → types-DQmop7ZW.d.mts} +14 -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 +8 -28
- package/dist/verify.js.map +1 -1
- package/dist/verify.mjs +8 -28
- package/dist/verify.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/sdk-Bbh9B_dw.d.mts +0 -215
- package/dist/sdk-C6SASmsh.d.ts +0 -215
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import 'next/server';
|
|
2
|
-
import '../types-
|
|
3
|
-
export { c as createMatcherConfig, a as createMiddleware } from '../nextjs-
|
|
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-
|
|
3
|
-
export { c as createMatcherConfig, a as createMiddleware } from '../nextjs-
|
|
2
|
+
import '../types-BK2POWNc.js';
|
|
3
|
+
export { c as createMatcherConfig, a as createMiddleware } from '../nextjs-DoRmhV_Z.js';
|
|
4
4
|
import '../metadata-capture.js';
|
package/dist/adapters/nextjs.js
CHANGED
|
@@ -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 = "
|
|
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/
|
|
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
|
|
@@ -360,6 +348,11 @@ function createGuidanceResponse(_config, reason, options = {}) {
|
|
|
360
348
|
// 4.0.0: typed marker so adapters render the misconfig envelope (503 +
|
|
361
349
|
// MERCHANT_VERIFICATION_MISCONFIGURED) without string-matching.
|
|
362
350
|
...isMisconfig && { misconfigured: true },
|
|
351
|
+
// 4.6.0: a transient api_error is retryable — mark it so consumers surface
|
|
352
|
+
// "temporarily unavailable, retry" (recommendation 'error') instead of
|
|
353
|
+
// coercing the absent recommendation to a policy 'deny'. Misconfig is
|
|
354
|
+
// deterministic and intentionally NOT marked retryable.
|
|
355
|
+
...isApiError && { retryable: true },
|
|
363
356
|
correlationId: options.correlationId,
|
|
364
357
|
attemptId: options.attemptId,
|
|
365
358
|
verifiedAt: /* @__PURE__ */ new Date()
|
|
@@ -426,7 +419,6 @@ async function callVerifyAccessAPI(config, request) {
|
|
|
426
419
|
attemptId: typeof data?.attemptId === "string" ? data.attemptId : void 0,
|
|
427
420
|
access: {
|
|
428
421
|
allowed: false,
|
|
429
|
-
accessLevel: "none",
|
|
430
422
|
reason: "endpoint_deactivated",
|
|
431
423
|
failures: [
|
|
432
424
|
{
|
|
@@ -489,7 +481,7 @@ async function verify(config, request, options) {
|
|
|
489
481
|
if (!deprecationWarningShown && (config.minTrustScore !== void 0 || config.minTrustScoreForFull !== void 0)) {
|
|
490
482
|
deprecationWarningShown = true;
|
|
491
483
|
console.warn(
|
|
492
|
-
"[VerificationGateway] minTrustScore / minTrustScoreForFull are deprecated in v2.3.0 and have no effect. Server is now the single source of truth for access
|
|
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."
|
|
493
485
|
);
|
|
494
486
|
}
|
|
495
487
|
if (mergedConfig.cacheTtl !== 0 && !options?.bypassCache) {
|
|
@@ -535,14 +527,6 @@ async function verify(config, request, options) {
|
|
|
535
527
|
const result2 = {
|
|
536
528
|
identityVerified: idVerifiedFromBackend,
|
|
537
529
|
policyAllowed: false,
|
|
538
|
-
// v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
|
|
539
|
-
// Pre-rename this hardcoded `'guidance'`, which conflated with the
|
|
540
|
-
// colocated `guidance: {...}` help-payload object below and let
|
|
541
|
-
// denied requests pass any route gated at `'guidance'` because
|
|
542
|
-
// `hasMinimumAccess('guidance', 'guidance') === true`. Adapters now
|
|
543
|
-
// ALSO short-circuit on `!identityVerified || !policyAllowed` before
|
|
544
|
-
// the gate check — belt-and-braces.
|
|
545
|
-
accessLevel: "none",
|
|
546
530
|
// 3.6.0: the server now emits top-level denialReasons on every deny
|
|
547
531
|
// path — prefer it verbatim; the failure-message reconstruction remains
|
|
548
532
|
// as the fallback for older backends.
|
|
@@ -591,7 +575,6 @@ async function verify(config, request, options) {
|
|
|
591
575
|
trustScore: apiResponse.organization.trustScore
|
|
592
576
|
} : void 0;
|
|
593
577
|
const verificationContext = apiResponse.verificationContext;
|
|
594
|
-
const accessLevel = apiResponse.access?.accessLevel ?? "standard";
|
|
595
578
|
const result = {
|
|
596
579
|
// 4.5.0 (probe F1): read idVerified from verificationContext with the
|
|
597
580
|
// SAME absent⇒false default as the deny branch. The previous `!== false`
|
|
@@ -603,7 +586,6 @@ async function verify(config, request, options) {
|
|
|
603
586
|
// this load-bearing must never be defaulted on.
|
|
604
587
|
identityVerified: apiResponse.verificationContext?.idVerified === true,
|
|
605
588
|
policyAllowed: true,
|
|
606
|
-
accessLevel,
|
|
607
589
|
agent,
|
|
608
590
|
developer,
|
|
609
591
|
organization,
|
|
@@ -630,7 +612,6 @@ async function verify(config, request, options) {
|
|
|
630
612
|
};
|
|
631
613
|
if (result.recommendation === "deny") {
|
|
632
614
|
result.policyAllowed = false;
|
|
633
|
-
result.accessLevel = "none";
|
|
634
615
|
result.denialReasons = serverDenialReasons ?? result.recommendationReasons ?? ["Access denied by AstraSync recommendation"];
|
|
635
616
|
result.guidance = result.runtimeChallenge ? {
|
|
636
617
|
message: `Verification failed: ${result.runtimeChallenge.reason || "runtime challenge failed"}`,
|
|
@@ -1765,7 +1746,7 @@ function createMiddleware(options) {
|
|
|
1765
1746
|
beaconPassThrough?.(request, pathname);
|
|
1766
1747
|
return NextResponse.next();
|
|
1767
1748
|
}
|
|
1768
|
-
if (routeConfig.
|
|
1749
|
+
if (routeConfig.observe) {
|
|
1769
1750
|
beaconPassThrough?.(request, pathname);
|
|
1770
1751
|
return NextResponse.next();
|
|
1771
1752
|
}
|
|
@@ -1795,7 +1776,6 @@ function createMiddleware(options) {
|
|
|
1795
1776
|
const preCheckResult = {
|
|
1796
1777
|
identityVerified: false,
|
|
1797
1778
|
policyAllowed: false,
|
|
1798
|
-
accessLevel: "none",
|
|
1799
1779
|
denialReasons: preCheckFailures.map((f) => f.message),
|
|
1800
1780
|
guidance: {
|
|
1801
1781
|
message: "Request exceeds counterparty-defined PDLSS limits.",
|
|
@@ -1933,7 +1913,6 @@ function createMiddleware(options) {
|
|
|
1933
1913
|
}
|
|
1934
1914
|
response.headers.set("X-AstraSync-Identity-Verified", result.identityVerified.toString());
|
|
1935
1915
|
response.headers.set("X-AstraSync-Policy-Allowed", result.policyAllowed.toString());
|
|
1936
|
-
response.headers.set("X-AstraSync-Access-Level", result.accessLevel);
|
|
1937
1916
|
if (result.agent) {
|
|
1938
1917
|
response.headers.set("X-AstraSync-Agent-Id", result.agent.astraId);
|
|
1939
1918
|
}
|