@astrasyncai/verification-gateway 5.16.0 → 5.17.1
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 +94 -18
- package/dist/adapters/express.d.mts +1 -1
- package/dist/adapters/express.d.ts +1 -1
- package/dist/adapters/express.js +33 -5
- package/dist/adapters/express.js.map +1 -1
- package/dist/adapters/express.mjs +33 -5
- 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 +24 -5
- package/dist/adapters/mcp.js.map +1 -1
- package/dist/adapters/mcp.mjs +24 -5
- package/dist/adapters/mcp.mjs.map +1 -1
- package/dist/adapters/nextjs.d.mts +1 -1
- package/dist/adapters/nextjs.d.ts +1 -1
- package/dist/adapters/nextjs.js +24 -5
- package/dist/adapters/nextjs.js.map +1 -1
- package/dist/adapters/nextjs.mjs +24 -5
- package/dist/adapters/nextjs.mjs.map +1 -1
- package/dist/adapters/sdk.d.mts +1 -1
- package/dist/adapters/sdk.d.ts +1 -1
- package/dist/adapters/sdk.js +5 -1
- package/dist/adapters/sdk.js.map +1 -1
- package/dist/adapters/sdk.mjs +5 -1
- package/dist/adapters/sdk.mjs.map +1 -1
- 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 +5 -1
- package/dist/bin/astrasync-codex-hook.js +5 -1
- package/dist/bin/astrasync-guard.js +447 -25
- package/dist/bin/astrasync.js +470 -28
- package/dist/browser/background.js +5 -1
- package/dist/browser/background.js.map +1 -1
- package/dist/browser/background.mjs +5 -1
- package/dist/browser/background.mjs.map +1 -1
- 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.js +5 -1
- package/dist/codex/index.js.map +1 -1
- package/dist/codex/index.mjs +5 -1
- package/dist/codex/index.mjs.map +1 -1
- package/dist/cursor/extension.js +5 -1
- package/dist/cursor/extension.js.map +1 -1
- package/dist/cursor/extension.mjs +5 -1
- 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 -1
- package/dist/edge-core/index.d.ts +1 -1
- package/dist/edge-core/index.js +5 -1
- package/dist/edge-core/index.js.map +1 -1
- package/dist/edge-core/index.mjs +5 -1
- package/dist/edge-core/index.mjs.map +1 -1
- package/dist/gateway/gateway.js +5 -1
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/gateway.mjs +5 -1
- package/dist/gateway/gateway.mjs.map +1 -1
- package/dist/git-trigger/git-hooks.d.mts +1 -1
- package/dist/git-trigger/git-hooks.d.ts +1 -1
- package/dist/index.d.mts +16 -2
- package/dist/index.d.ts +16 -2
- package/dist/index.js +33 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +33 -5
- package/dist/index.mjs.map +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/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-Bm1QvGqI.d.ts → types-DA8LzAOB.d.ts} +6 -0
- package/dist/{types-Blz520bR.d.mts → types-DRb_plOh.d.mts} +14 -0
- package/dist/{types-Blz520bR.d.ts → types-DRb_plOh.d.ts} +14 -0
- package/dist/{types-DBe4hgfT.d.mts → types-vNBvYD7Z.d.mts} +6 -0
- package/dist/ui/index.d.mts +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/dist/verify.d.mts +1 -1
- package/dist/verify.d.ts +1 -1
- package/dist/verify.js +5 -1
- package/dist/verify.js.map +1 -1
- package/dist/verify.mjs +5 -1
- package/dist/verify.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as next_server from 'next/server';
|
|
2
2
|
import { NextRequest } from 'next/server';
|
|
3
|
-
import { N as NextJsMiddlewareOptions } from '../types-
|
|
3
|
+
import { N as NextJsMiddlewareOptions } from '../types-DRb_plOh.mjs';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Create Next.js middleware for agent verification.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as next_server from 'next/server';
|
|
2
2
|
import { NextRequest } from 'next/server';
|
|
3
|
-
import { N as NextJsMiddlewareOptions } from '../types-
|
|
3
|
+
import { N as NextJsMiddlewareOptions } from '../types-DRb_plOh.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Create Next.js middleware for agent verification.
|
package/dist/adapters/nextjs.js
CHANGED
|
@@ -461,7 +461,7 @@ function routePolicyOf(route) {
|
|
|
461
461
|
}
|
|
462
462
|
|
|
463
463
|
// src/version.ts
|
|
464
|
-
var SDK_VERSION = "5.
|
|
464
|
+
var SDK_VERSION = "5.17.1";
|
|
465
465
|
|
|
466
466
|
// src/http.ts
|
|
467
467
|
var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
|
|
@@ -711,6 +711,7 @@ function getCacheKey(request, counterpartyId) {
|
|
|
711
711
|
request.enableRuntimeChallenge ? "1" : "0",
|
|
712
712
|
// 5.16.0: route policy changes the verdict (owners / challenge).
|
|
713
713
|
request.routePolicy ? JSON.stringify(request.routePolicy) : "",
|
|
714
|
+
request.approvalHeldByRoute ? "1" : "0",
|
|
714
715
|
// callerMetadata fields contribute to risk model; include the ones
|
|
715
716
|
// backend reads. sourceIp/userAgent/forwardedFor change per-request
|
|
716
717
|
// so their inclusion effectively forces a re-check for any varying
|
|
@@ -918,6 +919,7 @@ async function callVerifyAccessAPI(config, request) {
|
|
|
918
919
|
if (requestData.enableRuntimeChallenge)
|
|
919
920
|
body.enableRuntimeChallenge = requestData.enableRuntimeChallenge;
|
|
920
921
|
if (requestData.routePolicy) body.routePolicy = requestData.routePolicy;
|
|
922
|
+
if (requestData.approvalHeldByRoute) body.approvalHeldByRoute = true;
|
|
921
923
|
if (requestData.createSession) body.createSession = requestData.createSession;
|
|
922
924
|
if (requestData.durationRequired) body.durationRequired = requestData.durationRequired;
|
|
923
925
|
if (requestData.counterpartyType) body.counterpartyType = requestData.counterpartyType;
|
|
@@ -1249,6 +1251,8 @@ async function verify(config, request, options) {
|
|
|
1249
1251
|
} else if (result.recommendation === "step_up_required" && result.identityVerified) {
|
|
1250
1252
|
result.requiresStepUp = true;
|
|
1251
1253
|
result.denialReasons = serverDenialReasons ?? result.recommendationReasons ?? ["Step-up verification required"];
|
|
1254
|
+
const stepUpFailures = apiResponse.access?.failures;
|
|
1255
|
+
if (stepUpFailures?.length) result.failures = stepUpFailures;
|
|
1252
1256
|
}
|
|
1253
1257
|
const escalates = result.requiresStepUp === true || result.requiresApproval === true || result.recommendation === "step_up_required";
|
|
1254
1258
|
if (mergedConfig.cacheTtl !== 0 && result.recommendation !== "deny" && !escalates) {
|
|
@@ -2108,12 +2112,27 @@ function requiresHumanApproval(result) {
|
|
|
2108
2112
|
return result.requiresStepUp === true || result.requiresApproval === true;
|
|
2109
2113
|
}
|
|
2110
2114
|
function annotateApprovalRequired(result) {
|
|
2111
|
-
result
|
|
2112
|
-
...result.
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
+
if (isDimensionApproval(result)) {
|
|
2116
|
+
result.denialReasons = [DIMENSION_APPROVAL_REASON, ...result.denialReasons ?? []];
|
|
2117
|
+
return;
|
|
2118
|
+
}
|
|
2119
|
+
const named = (result.failures ?? []).some(
|
|
2120
|
+
(f) => f.dimension === "commerce.intent.approval_required"
|
|
2121
|
+
);
|
|
2122
|
+
if (!named) {
|
|
2123
|
+
result.failures = [
|
|
2124
|
+
...result.failures ?? [],
|
|
2125
|
+
{ dimension: "commerce.intent.approval_required", message: APPROVAL_REASON }
|
|
2126
|
+
];
|
|
2127
|
+
}
|
|
2115
2128
|
result.denialReasons = [APPROVAL_REASON, ...result.denialReasons ?? []];
|
|
2116
2129
|
}
|
|
2130
|
+
var DIMENSION_APPROVAL_REASON = "The agent's owner asked to approve this kind of request. The owner can approve or deny it in the AstraSync dashboard.";
|
|
2131
|
+
var DIMENSION_APPROVAL = /^pdlss\.[a-z_]+\.approval_required$/;
|
|
2132
|
+
function isDimensionApproval(result) {
|
|
2133
|
+
const f = result.failures ?? [];
|
|
2134
|
+
return f.some((x) => DIMENSION_APPROVAL.test(x.dimension)) && !f.some((x) => x.dimension === "commerce.intent.approval_required");
|
|
2135
|
+
}
|
|
2117
2136
|
|
|
2118
2137
|
// src/verified-hop.ts
|
|
2119
2138
|
var MCP_VERIFIED_HOP_HEADER = "X-Astra-Verified-Hop";
|