@astrasyncai/verification-gateway 2.3.7 → 2.3.9
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 +93 -10
- 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 +81 -7
- package/dist/adapters/express.js.map +1 -1
- package/dist/adapters/express.mjs +81 -7
- package/dist/adapters/express.mjs.map +1 -1
- package/dist/adapters/mcp.d.mts +1 -1
- package/dist/adapters/mcp.d.ts +1 -1
- package/dist/adapters/mcp.js +84 -12
- package/dist/adapters/mcp.js.map +1 -1
- package/dist/adapters/mcp.mjs +84 -12
- 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 +40 -6
- package/dist/adapters/nextjs.js.map +1 -1
- package/dist/adapters/nextjs.mjs +40 -6
- 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 +40 -6
- package/dist/adapters/sdk.js.map +1 -1
- package/dist/adapters/sdk.mjs +40 -6
- 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/browser/background.js +39 -5
- package/dist/browser/background.js.map +1 -1
- package/dist/browser/background.mjs +39 -5
- 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/cli/index.d.mts +2 -2
- package/dist/cli/index.d.ts +2 -2
- 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 +39 -5
- package/dist/cursor/extension.js.map +1 -1
- package/dist/cursor/extension.mjs +39 -5
- package/dist/cursor/extension.mjs.map +1 -1
- package/dist/{express-D9oRsseg.d.mts → express-BiB51d5t.d.mts} +1 -1
- package/dist/{express-DMSIl20m.d.ts → express-D6tEDU08.d.ts} +1 -1
- package/dist/gateway/gateway.d.mts +2 -2
- package/dist/gateway/gateway.d.ts +2 -2
- package/dist/gateway/gateway.js +39 -5
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/gateway.mjs +39 -5
- 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-EwUWXC5T.d.ts → index-8DFMpITk.d.ts} +1 -1
- package/dist/{index-YNPs800Z.d.mts → index-B--6fiDp.d.mts} +1 -1
- package/dist/{index-Bn_7eGjb.d.mts → index-CAykfMWK.d.mts} +1 -1
- package/dist/{index-BtU9yFda.d.ts → index-Yt02MRyu.d.ts} +1 -1
- package/dist/index.d.mts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +87 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +87 -13
- 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/{nextjs-B5ZBpHra.d.ts → nextjs-CK5F_tVZ.d.ts} +1 -1
- package/dist/{nextjs-BLtjRbc-.d.mts → nextjs-CpxqfQqD.d.mts} +1 -1
- package/dist/{sdk-BhkxvqnK.d.mts → sdk-BMvauMgP.d.ts} +9 -2
- package/dist/{sdk-YmE3RG8n.d.ts → sdk-yJjO7yzn.d.mts} +9 -2
- package/dist/transport/index.d.mts +2 -2
- package/dist/transport/index.d.ts +2 -2
- package/dist/{types-DxY5zt4z.d.mts → types-CKafuHDn.d.mts} +1 -1
- package/dist/{types-Bxqj1sKY.d.mts → types-UYT4GdPW.d.mts} +42 -4
- package/dist/{types-Bxqj1sKY.d.ts → types-UYT4GdPW.d.ts} +42 -4
- package/dist/{types-BecRpozv.d.ts → types-ppkhdldJ.d.ts} +1 -1
- package/dist/ui/index.d.mts +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/dist/ui/index.js +3 -3
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/index.mjs +3 -3
- package/dist/ui/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/agent/index.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { A as AgentClient, a as AstraSyncSdkError, C as ChallengeHandler, O as OwnershipMismatchError, P as PDLSSConfig, T as TransportPDLSS, f as formatPDLSSForTransport, p as parsePDLSSFromTransport, r as recordDecision } from '../index-
|
|
2
|
-
import '../types-
|
|
1
|
+
export { A as AgentClient, a as AstraSyncSdkError, C as ChallengeHandler, O as OwnershipMismatchError, P as PDLSSConfig, T as TransportPDLSS, f as formatPDLSSForTransport, p as parsePDLSSFromTransport, r as recordDecision } from '../index-CAykfMWK.mjs';
|
|
2
|
+
import '../types-UYT4GdPW.mjs';
|
package/dist/agent/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { A as AgentClient, a as AstraSyncSdkError, C as ChallengeHandler, O as OwnershipMismatchError, P as PDLSSConfig, T as TransportPDLSS, f as formatPDLSSForTransport, p as parsePDLSSFromTransport, r as recordDecision } from '../index-
|
|
2
|
-
import '../types-
|
|
1
|
+
export { A as AgentClient, a as AstraSyncSdkError, C as ChallengeHandler, O as OwnershipMismatchError, P as PDLSSConfig, T as TransportPDLSS, f as formatPDLSSForTransport, p as parsePDLSSFromTransport, r as recordDecision } from '../index-8DFMpITk.js';
|
|
2
|
+
import '../types-UYT4GdPW.js';
|
|
@@ -3281,7 +3281,7 @@ function verifyLocal(evaluator, context) {
|
|
|
3281
3281
|
// src/access-levels.ts
|
|
3282
3282
|
var ACCESS_LEVEL_HIERARCHY = {
|
|
3283
3283
|
none: 0,
|
|
3284
|
-
|
|
3284
|
+
restricted: 1,
|
|
3285
3285
|
"read-only": 2,
|
|
3286
3286
|
standard: 3,
|
|
3287
3287
|
full: 4,
|
|
@@ -3297,7 +3297,11 @@ function getTrustLevel(score) {
|
|
|
3297
3297
|
// src/verify.ts
|
|
3298
3298
|
var DEFAULT_CONFIG = {
|
|
3299
3299
|
apiBaseUrl: "https://astrasync.ai/api",
|
|
3300
|
-
|
|
3300
|
+
// v2.3.9 (defect #30): default for unconfigured callers is `'none'` (no
|
|
3301
|
+
// access). Pre-rename this defaulted to `'guidance'`, which combined with
|
|
3302
|
+
// a route gated at `'guidance'` to silently let unverified traffic
|
|
3303
|
+
// through (`hasMinimumAccess('guidance', 'guidance') === true`).
|
|
3304
|
+
defaultAccessLevel: "none",
|
|
3301
3305
|
// minTrustScore + minTrustScoreForFull deprecated in v2.3.0 — server decides.
|
|
3302
3306
|
cacheTtl: 300,
|
|
3303
3307
|
// 5 minutes
|
|
@@ -3362,7 +3366,12 @@ function createGuidanceResponse(config, reason) {
|
|
|
3362
3366
|
};
|
|
3363
3367
|
return {
|
|
3364
3368
|
verified: false,
|
|
3365
|
-
|
|
3369
|
+
// v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
|
|
3370
|
+
// Adapters additionally short-circuit on `verified === false` before
|
|
3371
|
+
// the gate check, but the access level still has to be honest at the
|
|
3372
|
+
// data layer so downstream consumers (SDK adapters in other languages,
|
|
3373
|
+
// custom integrations) inherit the correct semantics.
|
|
3374
|
+
accessLevel: "none",
|
|
3366
3375
|
guidance,
|
|
3367
3376
|
denialReasons: reason ? [reason] : ["No valid agent credentials provided"],
|
|
3368
3377
|
verifiedAt: /* @__PURE__ */ new Date()
|
|
@@ -3419,6 +3428,23 @@ async function callVerifyAccessAPI(config, request) {
|
|
|
3419
3428
|
body: JSON.stringify(body)
|
|
3420
3429
|
});
|
|
3421
3430
|
const data = await response.json();
|
|
3431
|
+
if (response.status === 410) {
|
|
3432
|
+
return {
|
|
3433
|
+
success: true,
|
|
3434
|
+
access: {
|
|
3435
|
+
allowed: false,
|
|
3436
|
+
accessLevel: "none",
|
|
3437
|
+
reason: "endpoint_deactivated",
|
|
3438
|
+
failures: [
|
|
3439
|
+
{
|
|
3440
|
+
dimension: "endpoint.deactivated",
|
|
3441
|
+
message: typeof data?.message === "string" ? data.message : "Endpoint has been deactivated",
|
|
3442
|
+
guidance: typeof data?.guidance === "string" ? data.guidance : "Reactivate via POST /api/endpoints/{id}/reactivate, or update the URL on the calling agent."
|
|
3443
|
+
}
|
|
3444
|
+
]
|
|
3445
|
+
}
|
|
3446
|
+
};
|
|
3447
|
+
}
|
|
3422
3448
|
if (!response.ok) {
|
|
3423
3449
|
return {
|
|
3424
3450
|
success: false,
|
|
@@ -3472,7 +3498,14 @@ async function verify(config, request) {
|
|
|
3472
3498
|
const aggregatedFailures = apiResponse.access?.failures;
|
|
3473
3499
|
const result2 = {
|
|
3474
3500
|
verified: false,
|
|
3475
|
-
|
|
3501
|
+
// v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
|
|
3502
|
+
// Pre-rename this hardcoded `'guidance'`, which conflated with the
|
|
3503
|
+
// colocated `guidance: {...}` help-payload object below and let
|
|
3504
|
+
// denied requests pass any route gated at `'guidance'` because
|
|
3505
|
+
// `hasMinimumAccess('guidance', 'guidance') === true`. Adapters now
|
|
3506
|
+
// ALSO short-circuit on `verified === false` before the gate check —
|
|
3507
|
+
// belt-and-braces.
|
|
3508
|
+
accessLevel: "none",
|
|
3476
3509
|
denialReasons: aggregatedFailures && aggregatedFailures.length > 0 ? aggregatedFailures.map((f) => f.message) : apiResponse.access?.reason ? [apiResponse.access.reason] : ["Access denied"],
|
|
3477
3510
|
failures: aggregatedFailures,
|
|
3478
3511
|
requiresStepUp: apiResponse.access?.requiresStepUp,
|
|
@@ -3528,7 +3561,8 @@ async function verify(config, request) {
|
|
|
3528
3561
|
runtimeChallenge: apiResponse.runtimeChallenge,
|
|
3529
3562
|
tokenGuidance: apiResponse.tokenGuidance,
|
|
3530
3563
|
recommendation: apiResponse.recommendation,
|
|
3531
|
-
recommendationReasons: apiResponse.recommendationReasons
|
|
3564
|
+
recommendationReasons: apiResponse.recommendationReasons,
|
|
3565
|
+
warningHeader: apiResponse.warningHeader
|
|
3532
3566
|
};
|
|
3533
3567
|
if (result.recommendation === "deny") {
|
|
3534
3568
|
result.verified = false;
|