@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/gateway/gateway.mjs
CHANGED
|
@@ -3015,7 +3015,7 @@ function verifyLocal(evaluator, context) {
|
|
|
3015
3015
|
// src/access-levels.ts
|
|
3016
3016
|
var ACCESS_LEVEL_HIERARCHY = {
|
|
3017
3017
|
none: 0,
|
|
3018
|
-
|
|
3018
|
+
restricted: 1,
|
|
3019
3019
|
"read-only": 2,
|
|
3020
3020
|
standard: 3,
|
|
3021
3021
|
full: 4,
|
|
@@ -3031,7 +3031,11 @@ function getTrustLevel(score) {
|
|
|
3031
3031
|
// src/verify.ts
|
|
3032
3032
|
var DEFAULT_CONFIG = {
|
|
3033
3033
|
apiBaseUrl: "https://astrasync.ai/api",
|
|
3034
|
-
|
|
3034
|
+
// v2.3.9 (defect #30): default for unconfigured callers is `'none'` (no
|
|
3035
|
+
// access). Pre-rename this defaulted to `'guidance'`, which combined with
|
|
3036
|
+
// a route gated at `'guidance'` to silently let unverified traffic
|
|
3037
|
+
// through (`hasMinimumAccess('guidance', 'guidance') === true`).
|
|
3038
|
+
defaultAccessLevel: "none",
|
|
3035
3039
|
// minTrustScore + minTrustScoreForFull deprecated in v2.3.0 — server decides.
|
|
3036
3040
|
cacheTtl: 300,
|
|
3037
3041
|
// 5 minutes
|
|
@@ -3096,7 +3100,12 @@ function createGuidanceResponse(config, reason) {
|
|
|
3096
3100
|
};
|
|
3097
3101
|
return {
|
|
3098
3102
|
verified: false,
|
|
3099
|
-
|
|
3103
|
+
// v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
|
|
3104
|
+
// Adapters additionally short-circuit on `verified === false` before
|
|
3105
|
+
// the gate check, but the access level still has to be honest at the
|
|
3106
|
+
// data layer so downstream consumers (SDK adapters in other languages,
|
|
3107
|
+
// custom integrations) inherit the correct semantics.
|
|
3108
|
+
accessLevel: "none",
|
|
3100
3109
|
guidance,
|
|
3101
3110
|
denialReasons: reason ? [reason] : ["No valid agent credentials provided"],
|
|
3102
3111
|
verifiedAt: /* @__PURE__ */ new Date()
|
|
@@ -3153,6 +3162,23 @@ async function callVerifyAccessAPI(config, request) {
|
|
|
3153
3162
|
body: JSON.stringify(body)
|
|
3154
3163
|
});
|
|
3155
3164
|
const data = await response.json();
|
|
3165
|
+
if (response.status === 410) {
|
|
3166
|
+
return {
|
|
3167
|
+
success: true,
|
|
3168
|
+
access: {
|
|
3169
|
+
allowed: false,
|
|
3170
|
+
accessLevel: "none",
|
|
3171
|
+
reason: "endpoint_deactivated",
|
|
3172
|
+
failures: [
|
|
3173
|
+
{
|
|
3174
|
+
dimension: "endpoint.deactivated",
|
|
3175
|
+
message: typeof data?.message === "string" ? data.message : "Endpoint has been deactivated",
|
|
3176
|
+
guidance: typeof data?.guidance === "string" ? data.guidance : "Reactivate via POST /api/endpoints/{id}/reactivate, or update the URL on the calling agent."
|
|
3177
|
+
}
|
|
3178
|
+
]
|
|
3179
|
+
}
|
|
3180
|
+
};
|
|
3181
|
+
}
|
|
3156
3182
|
if (!response.ok) {
|
|
3157
3183
|
return {
|
|
3158
3184
|
success: false,
|
|
@@ -3206,7 +3232,14 @@ async function verify(config, request) {
|
|
|
3206
3232
|
const aggregatedFailures = apiResponse.access?.failures;
|
|
3207
3233
|
const result2 = {
|
|
3208
3234
|
verified: false,
|
|
3209
|
-
|
|
3235
|
+
// v2.3.9 (defect #30): denials grant `'none'`, NEVER a positive band.
|
|
3236
|
+
// Pre-rename this hardcoded `'guidance'`, which conflated with the
|
|
3237
|
+
// colocated `guidance: {...}` help-payload object below and let
|
|
3238
|
+
// denied requests pass any route gated at `'guidance'` because
|
|
3239
|
+
// `hasMinimumAccess('guidance', 'guidance') === true`. Adapters now
|
|
3240
|
+
// ALSO short-circuit on `verified === false` before the gate check —
|
|
3241
|
+
// belt-and-braces.
|
|
3242
|
+
accessLevel: "none",
|
|
3210
3243
|
denialReasons: aggregatedFailures && aggregatedFailures.length > 0 ? aggregatedFailures.map((f) => f.message) : apiResponse.access?.reason ? [apiResponse.access.reason] : ["Access denied"],
|
|
3211
3244
|
failures: aggregatedFailures,
|
|
3212
3245
|
requiresStepUp: apiResponse.access?.requiresStepUp,
|
|
@@ -3262,7 +3295,8 @@ async function verify(config, request) {
|
|
|
3262
3295
|
runtimeChallenge: apiResponse.runtimeChallenge,
|
|
3263
3296
|
tokenGuidance: apiResponse.tokenGuidance,
|
|
3264
3297
|
recommendation: apiResponse.recommendation,
|
|
3265
|
-
recommendationReasons: apiResponse.recommendationReasons
|
|
3298
|
+
recommendationReasons: apiResponse.recommendationReasons,
|
|
3299
|
+
warningHeader: apiResponse.warningHeader
|
|
3266
3300
|
};
|
|
3267
3301
|
if (result.recommendation === "deny") {
|
|
3268
3302
|
result.verified = false;
|