@astrasyncai/verification-gateway 5.18.1 → 5.19.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/CHANGELOG.md +149 -0
- package/README.md +168 -4
- package/dist/adapters/express.d.mts +9 -1
- package/dist/adapters/express.d.ts +9 -1
- package/dist/adapters/express.js +96 -37
- package/dist/adapters/express.js.map +1 -1
- package/dist/adapters/express.mjs +96 -37
- package/dist/adapters/express.mjs.map +1 -1
- package/dist/adapters/http-pdlss.d.mts +7 -1
- package/dist/adapters/http-pdlss.d.ts +7 -1
- package/dist/adapters/http-pdlss.js +18 -2
- package/dist/adapters/http-pdlss.js.map +1 -1
- package/dist/adapters/http-pdlss.mjs +16 -1
- package/dist/adapters/http-pdlss.mjs.map +1 -1
- package/dist/adapters/kit-express.d.mts +93 -1
- package/dist/adapters/kit-express.d.ts +93 -1
- package/dist/adapters/kit-express.js +181 -2
- package/dist/adapters/kit-express.js.map +1 -1
- package/dist/adapters/kit-express.mjs +180 -2
- package/dist/adapters/kit-express.mjs.map +1 -1
- package/dist/adapters/mcp.d.mts +80 -9
- package/dist/adapters/mcp.d.ts +80 -9
- package/dist/adapters/mcp.js +153 -5
- package/dist/adapters/mcp.js.map +1 -1
- package/dist/adapters/mcp.mjs +151 -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 +41 -4
- package/dist/adapters/nextjs.js.map +1 -1
- package/dist/adapters/nextjs.mjs +41 -4
- package/dist/adapters/nextjs.mjs.map +1 -1
- package/dist/adapters/sdk.d.mts +44 -1
- package/dist/adapters/sdk.d.ts +44 -1
- package/dist/adapters/sdk.js +76 -2
- package/dist/adapters/sdk.js.map +1 -1
- package/dist/adapters/sdk.mjs +76 -2
- 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 +46 -6
- package/dist/bin/astrasync-codex-hook.js +46 -6
- package/dist/bin/astrasync-guard.js +46 -6
- package/dist/bin/astrasync.js +77 -5
- package/dist/browser/background.js +46 -6
- package/dist/browser/background.js.map +1 -1
- package/dist/browser/background.mjs +46 -6
- 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 +46 -6
- package/dist/codex/index.js.map +1 -1
- package/dist/codex/index.mjs +46 -6
- package/dist/codex/index.mjs.map +1 -1
- package/dist/cursor/extension.js +46 -6
- package/dist/cursor/extension.js.map +1 -1
- package/dist/cursor/extension.mjs +46 -6
- 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 +21 -2
- package/dist/edge-core/index.js.map +1 -1
- package/dist/edge-core/index.mjs +21 -2
- package/dist/edge-core/index.mjs.map +1 -1
- package/dist/gateway/gateway.js +46 -6
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/gateway.mjs +46 -6
- 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 +541 -29
- package/dist/index.d.ts +541 -29
- package/dist/index.js +1171 -183
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1157 -173
- 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 +3 -2
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/index.mjs +3 -2
- package/dist/transport/index.mjs.map +1 -1
- package/dist/{types-3ObBpsnf.d.mts → types-BoGjyon0.d.mts} +81 -2
- package/dist/{types-Cns4l8gX.d.mts → types-DqWPkiYl.d.mts} +90 -12
- package/dist/{types-Cns4l8gX.d.ts → types-DqWPkiYl.d.ts} +90 -12
- package/dist/{types-BoxZEYPS.d.ts → types-eWyZuz-3.d.ts} +81 -2
- package/dist/ui/index.d.mts +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/dist/verify.d.mts +23 -2
- package/dist/verify.d.ts +23 -2
- package/dist/verify.js +23 -4
- package/dist/verify.js.map +1 -1
- package/dist/verify.mjs +23 -4
- package/dist/verify.mjs.map +1 -1
- package/dist/webhooks.d.mts +16 -3
- package/dist/webhooks.d.ts +16 -3
- package/dist/webhooks.js +24 -13
- package/dist/webhooks.js.map +1 -1
- package/dist/webhooks.mjs +24 -13
- package/dist/webhooks.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-DqWPkiYl.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-DqWPkiYl.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Create Next.js middleware for agent verification.
|
package/dist/adapters/nextjs.js
CHANGED
|
@@ -471,7 +471,7 @@ function routePolicyOf(route) {
|
|
|
471
471
|
}
|
|
472
472
|
|
|
473
473
|
// src/version.ts
|
|
474
|
-
var SDK_VERSION = "5.
|
|
474
|
+
var SDK_VERSION = "5.19.0";
|
|
475
475
|
|
|
476
476
|
// src/http.ts
|
|
477
477
|
var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
|
|
@@ -737,7 +737,12 @@ function getCacheKey(request, counterpartyId) {
|
|
|
737
737
|
// its start_checkout quote was served the cached quote-leg grant (no
|
|
738
738
|
// settlementOutcome) and never reached the backend. Same F-A1-07 bug class.
|
|
739
739
|
request.commercePhase || "",
|
|
740
|
-
request.checkoutSessionId || ""
|
|
740
|
+
request.checkoutSessionId || "",
|
|
741
|
+
// 5.19.0: a route_config purpose claim is checked server-side against
|
|
742
|
+
// the stored rule for this method + path, so it changes the verdict.
|
|
743
|
+
request.purposeSource || "",
|
|
744
|
+
request.requestMethod || "",
|
|
745
|
+
request.requestPath || ""
|
|
741
746
|
].join("|");
|
|
742
747
|
}
|
|
743
748
|
function getCachedResult(request, counterpartyId) {
|
|
@@ -945,6 +950,11 @@ async function callVerifyAccessAPI(config, request) {
|
|
|
945
950
|
if (requestData.buyerEmail) body.buyerEmail = requestData.buyerEmail;
|
|
946
951
|
if (requestData.commerceArtifacts) body.commerceArtifacts = requestData.commerceArtifacts;
|
|
947
952
|
if (requestData.attemptId) body.attemptId = requestData.attemptId;
|
|
953
|
+
if (requestData.purposeSource) body.purposeSource = requestData.purposeSource;
|
|
954
|
+
if (requestData.agentArtifacts) body.agentArtifacts = requestData.agentArtifacts;
|
|
955
|
+
if (requestData.metadata) body.metadata = requestData.metadata;
|
|
956
|
+
if (requestData.requestMethod) body.requestMethod = requestData.requestMethod;
|
|
957
|
+
if (requestData.requestPath) body.requestPath = requestData.requestPath;
|
|
948
958
|
if (requestData.considerationSet) body.considerationSet = requestData.considerationSet;
|
|
949
959
|
body.sdkVersion = SDK_VERSION;
|
|
950
960
|
if (requestData.callerMetadata || requestData.clientIp || requestData.userAgent) {
|
|
@@ -1134,9 +1144,18 @@ async function verify(config, request, options) {
|
|
|
1134
1144
|
if (!apiResponse.access?.allowed) {
|
|
1135
1145
|
const aggregatedFailures = apiResponse.access?.failures;
|
|
1136
1146
|
const idVerifiedFromBackend = apiResponse.verificationContext?.idVerified === true && !aggregatedFailures?.some((f) => REJECTED_IDENTITY_DIMENSIONS.has(f.dimension));
|
|
1147
|
+
const denyAgent = idVerifiedFromBackend && apiResponse.agent ? {
|
|
1148
|
+
astraId: apiResponse.agent.astraId,
|
|
1149
|
+
name: apiResponse.agent.name,
|
|
1150
|
+
trustScore: apiResponse.agent.trustScore,
|
|
1151
|
+
trustLevel: getTrustLevel(apiResponse.agent.trustScore),
|
|
1152
|
+
blockchainAnchored: apiResponse.agent.blockchainStatus === "anchored",
|
|
1153
|
+
status: apiResponse.agent.agentStatus
|
|
1154
|
+
} : void 0;
|
|
1137
1155
|
const result2 = {
|
|
1138
1156
|
identityVerified: idVerifiedFromBackend,
|
|
1139
1157
|
policyAllowed: false,
|
|
1158
|
+
...denyAgent && { agent: denyAgent },
|
|
1140
1159
|
// 3.6.0: the server now emits top-level denialReasons on every deny
|
|
1141
1160
|
// path — prefer it verbatim; the failure-message reconstruction remains
|
|
1142
1161
|
// as the fallback for older backends.
|
|
@@ -1273,7 +1292,7 @@ async function verify(config, request, options) {
|
|
|
1273
1292
|
return result;
|
|
1274
1293
|
}
|
|
1275
1294
|
var refusedPolicyReads = /* @__PURE__ */ new Set();
|
|
1276
|
-
async function fetchRoutes(config, counterpartyId) {
|
|
1295
|
+
async function fetchRoutes(config, counterpartyId, options = {}) {
|
|
1277
1296
|
if (!counterpartyId) return null;
|
|
1278
1297
|
const headers = { "Content-Type": "application/json" };
|
|
1279
1298
|
if (config.apiKey) {
|
|
@@ -1282,7 +1301,7 @@ async function fetchRoutes(config, counterpartyId) {
|
|
|
1282
1301
|
}
|
|
1283
1302
|
try {
|
|
1284
1303
|
const response = await sdkFetch(
|
|
1285
|
-
`${config.apiBaseUrl}/endpoints/${encodeURIComponent(counterpartyId)}/routes
|
|
1304
|
+
`${config.apiBaseUrl}/endpoints/${encodeURIComponent(counterpartyId)}/routes` + (options.codeGates?.length ? `?codeGates=${options.codeGates.map(encodeURIComponent).join(",")}` : ""),
|
|
1286
1305
|
{ method: "GET", headers }
|
|
1287
1306
|
);
|
|
1288
1307
|
if (!response.ok) {
|
|
@@ -2115,6 +2134,20 @@ function resolveHttpPdlss(input) {
|
|
|
2115
2134
|
}
|
|
2116
2135
|
return { purpose, action, purposeSource, actionSource };
|
|
2117
2136
|
}
|
|
2137
|
+
function wirePurposeSource(source) {
|
|
2138
|
+
switch (source) {
|
|
2139
|
+
case "route_config":
|
|
2140
|
+
return "route_config";
|
|
2141
|
+
case "header":
|
|
2142
|
+
case "legacy_header":
|
|
2143
|
+
case "query":
|
|
2144
|
+
return "header";
|
|
2145
|
+
case "custom_extractor":
|
|
2146
|
+
return "body";
|
|
2147
|
+
default:
|
|
2148
|
+
return "default";
|
|
2149
|
+
}
|
|
2150
|
+
}
|
|
2118
2151
|
|
|
2119
2152
|
// src/adapters/approval-gate.ts
|
|
2120
2153
|
var APPROVAL_REASON = "Transaction is above the autonomous limit and requires human approval. The agent owner can approve or deny this transaction in the AstraSync dashboard.";
|
|
@@ -2546,6 +2579,10 @@ function createMiddleware(options) {
|
|
|
2546
2579
|
...commerceArtifacts && { commerceArtifacts },
|
|
2547
2580
|
purpose,
|
|
2548
2581
|
action: pdlssPair.action,
|
|
2582
|
+
// 5.19.0: route purpose claim + request line (checked server-side).
|
|
2583
|
+
purposeSource: wirePurposeSource(pdlssPair.purposeSource),
|
|
2584
|
+
requestMethod: request.method,
|
|
2585
|
+
requestPath: pathname,
|
|
2549
2586
|
resource: pathname,
|
|
2550
2587
|
counterpartyUrl,
|
|
2551
2588
|
counterpartyType: config.counterpartyType || "website",
|