@astrasyncai/verification-gateway 2.3.7 → 2.3.8
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 +42 -1
- package/dist/adapters/express.js.map +1 -1
- package/dist/adapters/express.mjs +42 -1
- 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 +31 -1
- package/dist/adapters/mcp.js.map +1 -1
- package/dist/adapters/mcp.mjs +31 -1
- 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 +19 -1
- package/dist/adapters/nextjs.js.map +1 -1
- package/dist/adapters/nextjs.mjs +19 -1
- 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 +19 -1
- package/dist/adapters/sdk.js.map +1 -1
- package/dist/adapters/sdk.mjs +19 -1
- 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 +19 -1
- package/dist/browser/background.js.map +1 -1
- package/dist/browser/background.mjs +19 -1
- 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 +19 -1
- package/dist/cursor/extension.js.map +1 -1
- package/dist/cursor/extension.mjs +19 -1
- package/dist/cursor/extension.mjs.map +1 -1
- package/dist/{express-D9oRsseg.d.mts → express-BNWqDVIz.d.mts} +1 -1
- package/dist/{express-DMSIl20m.d.ts → express-BYup_4Jg.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 +19 -1
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/gateway.mjs +19 -1
- 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-YNPs800Z.d.mts → index-BHXa2WTO.d.mts} +1 -1
- package/dist/{index-Bn_7eGjb.d.mts → index-CK4lNLVn.d.mts} +1 -1
- package/dist/{index-BtU9yFda.d.ts → index-CSMpOcxV.d.ts} +1 -1
- package/dist/{index-EwUWXC5T.d.ts → index-DN3ztP2d.d.ts} +1 -1
- package/dist/index.d.mts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +42 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +42 -1
- 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-BLtjRbc-.d.mts → nextjs-Bzdfu8Eg.d.mts} +1 -1
- package/dist/{nextjs-B5ZBpHra.d.ts → nextjs-C4h_MpgK.d.ts} +1 -1
- package/dist/{sdk-BhkxvqnK.d.mts → sdk-CDdD7EcJ.d.mts} +1 -1
- package/dist/{sdk-YmE3RG8n.d.ts → sdk-Tzsn6s-O.d.ts} +1 -1
- package/dist/transport/index.d.mts +2 -2
- package/dist/transport/index.d.ts +2 -2
- package/dist/{types-BecRpozv.d.ts → types-Bzp1SMaD.d.ts} +1 -1
- package/dist/{types-Bxqj1sKY.d.mts → types-D_tmbDA_.d.mts} +27 -1
- package/dist/{types-Bxqj1sKY.d.ts → types-D_tmbDA_.d.ts} +27 -1
- package/dist/{types-DxY5zt4z.d.mts → types-z-QVnG4b.d.mts} +1 -1
- package/dist/ui/index.d.mts +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -284,6 +284,23 @@ async function callVerifyAccessAPI(config, request) {
|
|
|
284
284
|
body: JSON.stringify(body)
|
|
285
285
|
});
|
|
286
286
|
const data = await response.json();
|
|
287
|
+
if (response.status === 410) {
|
|
288
|
+
return {
|
|
289
|
+
success: true,
|
|
290
|
+
access: {
|
|
291
|
+
allowed: false,
|
|
292
|
+
accessLevel: "none",
|
|
293
|
+
reason: "endpoint_deactivated",
|
|
294
|
+
failures: [
|
|
295
|
+
{
|
|
296
|
+
dimension: "endpoint.deactivated",
|
|
297
|
+
message: typeof data?.message === "string" ? data.message : "Endpoint has been deactivated",
|
|
298
|
+
guidance: typeof data?.guidance === "string" ? data.guidance : "Reactivate via POST /api/endpoints/{id}/reactivate, or update the URL on the calling agent."
|
|
299
|
+
}
|
|
300
|
+
]
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
}
|
|
287
304
|
if (!response.ok) {
|
|
288
305
|
return {
|
|
289
306
|
success: false,
|
|
@@ -393,7 +410,8 @@ async function verify(config, request) {
|
|
|
393
410
|
runtimeChallenge: apiResponse.runtimeChallenge,
|
|
394
411
|
tokenGuidance: apiResponse.tokenGuidance,
|
|
395
412
|
recommendation: apiResponse.recommendation,
|
|
396
|
-
recommendationReasons: apiResponse.recommendationReasons
|
|
413
|
+
recommendationReasons: apiResponse.recommendationReasons,
|
|
414
|
+
warningHeader: apiResponse.warningHeader
|
|
397
415
|
};
|
|
398
416
|
if (result.recommendation === "deny") {
|
|
399
417
|
result.verified = false;
|
|
@@ -666,6 +684,7 @@ function createMiddleware(options) {
|
|
|
666
684
|
let lastFetchAt = 0;
|
|
667
685
|
let refreshing = null;
|
|
668
686
|
let warnedNoCounterparty = false;
|
|
687
|
+
let warnedEmptyRoutes = false;
|
|
669
688
|
async function refreshRoutes() {
|
|
670
689
|
if (!config.counterpartyId) {
|
|
671
690
|
if (!warnedNoCounterparty) {
|
|
@@ -680,6 +699,13 @@ function createMiddleware(options) {
|
|
|
680
699
|
if (fetched) {
|
|
681
700
|
cachedRoutes = fetched;
|
|
682
701
|
lastFetchAt = Date.now();
|
|
702
|
+
if (cachedRoutes.length === 0 && !warnedEmptyRoutes) {
|
|
703
|
+
const dashboard = config.dashboardUrl ?? "https://app.astrasync.ai";
|
|
704
|
+
console.warn(
|
|
705
|
+
`[VerificationGateway] No route policy configured for ${config.counterpartyId}. Gateway is in pass-through mode for ALL traffic until you add at least one route. Configure at ${dashboard}/dashboard/endpoints/${config.counterpartyId}/routes`
|
|
706
|
+
);
|
|
707
|
+
warnedEmptyRoutes = true;
|
|
708
|
+
}
|
|
683
709
|
}
|
|
684
710
|
}
|
|
685
711
|
refreshing = refreshRoutes().finally(() => {
|
|
@@ -702,9 +728,20 @@ function createMiddleware(options) {
|
|
|
702
728
|
}
|
|
703
729
|
const routeConfig = findRouteConfig(cachedRoutes, req.path, req.method);
|
|
704
730
|
if (!routeConfig) {
|
|
731
|
+
if (config.setPassThroughHeader) {
|
|
732
|
+
res.setHeader("X-Astra-Gateway-Mode", "pass-through");
|
|
733
|
+
res.setHeader(
|
|
734
|
+
"X-Astra-Gateway-Reason",
|
|
735
|
+
cachedRoutes.length === 0 ? "no-policy" : "no-match"
|
|
736
|
+
);
|
|
737
|
+
}
|
|
705
738
|
return next();
|
|
706
739
|
}
|
|
707
740
|
if (routeConfig.minAccessLevel === "none") {
|
|
741
|
+
if (config.setPassThroughHeader) {
|
|
742
|
+
res.setHeader("X-Astra-Gateway-Mode", "pass-through");
|
|
743
|
+
res.setHeader("X-Astra-Gateway-Reason", "route-none");
|
|
744
|
+
}
|
|
708
745
|
return next();
|
|
709
746
|
}
|
|
710
747
|
const credentials = customExtractCredentials ? customExtractCredentials(req) : defaultExtractCredentials(req);
|
|
@@ -788,6 +825,10 @@ function createMiddleware(options) {
|
|
|
788
825
|
recordDecision(config, sessionId, "granted").catch(() => {
|
|
789
826
|
});
|
|
790
827
|
}
|
|
828
|
+
const enhancedResult = result;
|
|
829
|
+
if (enhancedResult.warningHeader) {
|
|
830
|
+
res.setHeader(enhancedResult.warningHeader.name, enhancedResult.warningHeader.value);
|
|
831
|
+
}
|
|
791
832
|
next();
|
|
792
833
|
} catch (error) {
|
|
793
834
|
console.error("[VerificationGateway] Middleware error:", error);
|