@astrasyncai/verification-gateway 5.7.0 → 5.9.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/README.md +37 -1
- package/dist/adapters/express.d.mts +1 -1
- package/dist/adapters/express.d.ts +1 -1
- package/dist/adapters/express.js +41 -7
- package/dist/adapters/express.js.map +1 -1
- package/dist/adapters/express.mjs +41 -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 +2 -2
- package/dist/adapters/mcp.js.map +1 -1
- package/dist/adapters/mcp.mjs +2 -2
- 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 -7
- package/dist/adapters/nextjs.js.map +1 -1
- package/dist/adapters/nextjs.mjs +41 -7
- 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 +2 -2
- package/dist/adapters/sdk.js.map +1 -1
- package/dist/adapters/sdk.mjs +2 -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 +14 -6
- package/dist/bin/astrasync-codex-hook.js +14 -6
- package/dist/bin/astrasync-guard.js +14 -6
- package/dist/bin/astrasync.js +15 -6
- package/dist/browser/background.js +14 -6
- package/dist/browser/background.js.map +1 -1
- package/dist/browser/background.mjs +14 -6
- package/dist/browser/background.mjs.map +1 -1
- package/dist/cli/index.js +12 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/index.mjs +12 -4
- package/dist/cli/index.mjs.map +1 -1
- package/dist/codex/index.js +14 -6
- package/dist/codex/index.js.map +1 -1
- package/dist/codex/index.mjs +14 -6
- package/dist/codex/index.mjs.map +1 -1
- package/dist/cursor/extension.js +14 -6
- package/dist/cursor/extension.js.map +1 -1
- package/dist/cursor/extension.mjs +14 -6
- package/dist/cursor/extension.mjs.map +1 -1
- package/dist/edge-config.d.mts +24 -1
- package/dist/edge-config.d.ts +24 -1
- package/dist/edge-config.js +13 -5
- package/dist/edge-config.js.map +1 -1
- package/dist/edge-config.mjs +13 -5
- package/dist/edge-config.mjs.map +1 -1
- package/dist/edge-core/index.d.mts +14 -6
- package/dist/edge-core/index.d.ts +14 -6
- package/dist/edge-core/index.js +110 -16
- package/dist/edge-core/index.js.map +1 -1
- package/dist/edge-core/index.mjs +110 -16
- package/dist/edge-core/index.mjs.map +1 -1
- package/dist/gateway/gateway.js +14 -6
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/gateway.mjs +14 -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 +80 -6
- package/dist/index.d.ts +80 -6
- package/dist/index.js +54 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +52 -7
- package/dist/index.mjs.map +1 -1
- package/dist/metadata-capture.d.mts +18 -1
- package/dist/metadata-capture.d.ts +18 -1
- package/dist/metadata-capture.js +10 -0
- package/dist/metadata-capture.js.map +1 -1
- package/dist/metadata-capture.mjs +8 -0
- package/dist/metadata-capture.mjs.map +1 -1
- package/dist/platform-signatures.d.mts +1 -1
- package/dist/platform-signatures.d.ts +1 -1
- package/dist/platform-signatures.js +24 -1
- package/dist/platform-signatures.js.map +1 -1
- package/dist/platform-signatures.mjs +24 -1
- package/dist/platform-signatures.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-BK_pRNSs.d.mts → types-CTmUpNpS.d.mts} +25 -2
- package/dist/{types-BK_pRNSs.d.ts → types-CTmUpNpS.d.ts} +25 -2
- package/dist/{types-CwY5IY-0.d.ts → types-CtFXmDzm.d.ts} +17 -2
- package/dist/{types-BCmHFdkJ.d.mts → types-DQrn_kei.d.mts} +17 -2
- package/dist/ui/index.d.mts +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/dist/verify.d.mts +13 -1
- package/dist/verify.d.ts +13 -1
- package/dist/verify.js +2 -2
- package/dist/verify.js.map +1 -1
- package/dist/verify.mjs +2 -2
- package/dist/verify.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
|
@@ -19,7 +19,7 @@ function getTrustLevel(score) {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
// src/version.ts
|
|
22
|
-
var SDK_VERSION = "5.
|
|
22
|
+
var SDK_VERSION = "5.9.0";
|
|
23
23
|
|
|
24
24
|
// src/http.ts
|
|
25
25
|
var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
|
|
@@ -569,7 +569,7 @@ async function verify(config, request, options) {
|
|
|
569
569
|
name: apiResponse.agent.name,
|
|
570
570
|
trustScore: apiResponse.agent.trustScore,
|
|
571
571
|
trustLevel: getTrustLevel(apiResponse.agent.trustScore),
|
|
572
|
-
|
|
572
|
+
blockchainAnchored: apiResponse.agent.blockchainStatus === "anchored",
|
|
573
573
|
status: apiResponse.agent.agentStatus
|
|
574
574
|
} : void 0;
|
|
575
575
|
const developer = apiResponse.developer ? {
|
|
@@ -1153,6 +1153,12 @@ var KEY_FORMAT_PREFIXES = [
|
|
|
1153
1153
|
var MAX_HEADERS = 64;
|
|
1154
1154
|
var MAX_HEADER_VALUE_BYTES = 1024;
|
|
1155
1155
|
var MAX_TOTAL_BYTES = 16 * 1024;
|
|
1156
|
+
var DECLARED_SOURCE_MAX = 64;
|
|
1157
|
+
var DECLARED_SOURCE_PATTERN = /^[a-z0-9][a-z0-9 ._/-]{0,63}$/;
|
|
1158
|
+
function normalizeDeclaredSource(value) {
|
|
1159
|
+
const trimmed = value?.trim().slice(0, DECLARED_SOURCE_MAX).toLowerCase();
|
|
1160
|
+
return trimmed && DECLARED_SOURCE_PATTERN.test(trimmed) ? trimmed : void 0;
|
|
1161
|
+
}
|
|
1156
1162
|
function byteLength(s) {
|
|
1157
1163
|
let bytes = 0;
|
|
1158
1164
|
for (let i = 0; i < s.length; i++) {
|
|
@@ -1332,11 +1338,16 @@ var DEFAULT_EDGE_CONFIG = Object.freeze({
|
|
|
1332
1338
|
mode: "observe",
|
|
1333
1339
|
depth: "classify",
|
|
1334
1340
|
pathRules: [],
|
|
1335
|
-
sampling: Object.freeze({ anonymousBeaconRate:
|
|
1341
|
+
sampling: Object.freeze({ anonymousBeaconRate: 1 }),
|
|
1336
1342
|
failurePosture: "open"
|
|
1337
1343
|
});
|
|
1338
1344
|
var EDGE_MODES = ["observe", "enforce"];
|
|
1339
1345
|
var EDGE_DEPTHS = ["classify", "authenticate", "authorize"];
|
|
1346
|
+
function isSamplingShape(value) {
|
|
1347
|
+
if (typeof value !== "object" || value === null) return false;
|
|
1348
|
+
const rate = value.anonymousBeaconRate;
|
|
1349
|
+
return typeof rate === "number" && rate >= 0 && rate <= 1;
|
|
1350
|
+
}
|
|
1340
1351
|
function isEdgeConfig(value) {
|
|
1341
1352
|
if (typeof value !== "object" || value === null) return false;
|
|
1342
1353
|
const v = value;
|
|
@@ -1350,10 +1361,13 @@ function isEdgeConfig(value) {
|
|
|
1350
1361
|
if (typeof r.pattern !== "string" || r.pattern.length === 0) return false;
|
|
1351
1362
|
if (r.mode !== void 0 && !EDGE_MODES.includes(r.mode)) return false;
|
|
1352
1363
|
if (r.depth !== void 0 && !EDGE_DEPTHS.includes(r.depth)) return false;
|
|
1364
|
+
if (r.sampling !== void 0 && !isSamplingShape(r.sampling)) return false;
|
|
1353
1365
|
}
|
|
1354
|
-
|
|
1355
|
-
if (
|
|
1356
|
-
|
|
1366
|
+
if (!isSamplingShape(v.sampling)) return false;
|
|
1367
|
+
if (v.queryValueAllowlist !== void 0) {
|
|
1368
|
+
if (!Array.isArray(v.queryValueAllowlist) || v.queryValueAllowlist.length > 16 || !v.queryValueAllowlist.every((e) => typeof e === "string" && e.length > 0 && e.length <= 64)) {
|
|
1369
|
+
return false;
|
|
1370
|
+
}
|
|
1357
1371
|
}
|
|
1358
1372
|
return v.failurePosture === "open";
|
|
1359
1373
|
}
|
|
@@ -1469,7 +1483,20 @@ var PLATFORM_AGENT_SIGNATURES = [
|
|
|
1469
1483
|
{
|
|
1470
1484
|
vendor: "gemini",
|
|
1471
1485
|
displayName: "Google Gemini",
|
|
1472
|
-
uaPatterns: [
|
|
1486
|
+
uaPatterns: [
|
|
1487
|
+
/gemini/i,
|
|
1488
|
+
/google-gemini/i,
|
|
1489
|
+
/bard/i,
|
|
1490
|
+
// Google's AI/agent fetcher tokens (VI uplift 1.3). These are the
|
|
1491
|
+
// AI-training/agent crawlers, NOT the Search crawler — googlebot IP
|
|
1492
|
+
// ranges attribute Search and are deliberately absent from
|
|
1493
|
+
// vendor-ip-ranges. Anchored tokens: none appears in stock browser
|
|
1494
|
+
// UAs, and `-` counts as a \b boundary so GoogleOther-Image/-Video
|
|
1495
|
+
// match too.
|
|
1496
|
+
/\bGoogle-Extended\b/i,
|
|
1497
|
+
/\bGoogleOther\b/i,
|
|
1498
|
+
/\bGoogle-CloudVertexBot\b/i
|
|
1499
|
+
],
|
|
1473
1500
|
agentCardPatterns: [/gemini\.google\.com/i, /ai\.google\.dev/i],
|
|
1474
1501
|
apiKeyFormatPatterns: [/^aiza/i],
|
|
1475
1502
|
headerPatterns: [/^x-goog-user-project/i, /^x-goog-api-client/i]
|
|
@@ -1515,6 +1542,16 @@ var PLATFORM_AGENT_SIGNATURES = [
|
|
|
1515
1542
|
uaPatterns: [/\bcomet\/\d/i],
|
|
1516
1543
|
headerPatterns: [/^sec-ch-ua: .*comet/i]
|
|
1517
1544
|
},
|
|
1545
|
+
// The MCP bridge's own catalog fetches (VI uplift 1.5). Deliberately a
|
|
1546
|
+
// DISTINCT UA from `astrasync-sdk/`: bridge fetches are buyer-agent
|
|
1547
|
+
// traffic merchants should see (identified · unregistered), so this
|
|
1548
|
+
// vendor is kept OUT of the self-traffic filter and the edge's SELF
|
|
1549
|
+
// short-circuit.
|
|
1550
|
+
{
|
|
1551
|
+
vendor: "astrasync-bridge",
|
|
1552
|
+
displayName: "AstraSync MCP bridge (buyer-agent catalog fetch)",
|
|
1553
|
+
uaPatterns: [/^astrasync-bridge\//i]
|
|
1554
|
+
},
|
|
1518
1555
|
// Our own SDK self-identifies (sdkFetch stamps this UA) — first-party
|
|
1519
1556
|
// traffic must never pollute the unknown/anonymous pool it exists to audit.
|
|
1520
1557
|
{
|
|
@@ -1959,6 +1996,8 @@ function createMiddleware(options) {
|
|
|
1959
1996
|
}
|
|
1960
1997
|
}
|
|
1961
1998
|
}
|
|
1999
|
+
const attemptHeader = req.headers["x-astra-attempt-id"];
|
|
2000
|
+
const inboundAttemptId = typeof attemptHeader === "string" && /^att_[0-9a-f]{32}$/.test(attemptHeader) ? attemptHeader : void 0;
|
|
1962
2001
|
const verificationRequest = {
|
|
1963
2002
|
credentials,
|
|
1964
2003
|
purpose,
|
|
@@ -1971,6 +2010,7 @@ function createMiddleware(options) {
|
|
|
1971
2010
|
durationRequired: astraCreds?.pdlss?.duration?.maxSessionDuration,
|
|
1972
2011
|
...txValue !== void 0 && { transactionValue: txValue },
|
|
1973
2012
|
...txCurrency && { currency: txCurrency },
|
|
2013
|
+
...inboundAttemptId && { attemptId: inboundAttemptId },
|
|
1974
2014
|
callerMetadata: {
|
|
1975
2015
|
sourceIp: originalClientIp,
|
|
1976
2016
|
userAgent: req.headers["user-agent"],
|
|
@@ -2475,6 +2515,8 @@ function createMiddleware2(options) {
|
|
|
2475
2515
|
}
|
|
2476
2516
|
const forwardedFor = request.headers.get("x-forwarded-for") || void 0;
|
|
2477
2517
|
const originalClientIp = forwardedFor?.split(",")[0]?.trim();
|
|
2518
|
+
const attemptHeader = request.headers.get("x-astra-attempt-id");
|
|
2519
|
+
const inboundAttemptId = attemptHeader && /^att_[0-9a-f]{32}$/.test(attemptHeader) ? attemptHeader : void 0;
|
|
2478
2520
|
const verificationRequest = {
|
|
2479
2521
|
credentials,
|
|
2480
2522
|
purpose,
|
|
@@ -2484,6 +2526,7 @@ function createMiddleware2(options) {
|
|
|
2484
2526
|
counterpartyType: config.counterpartyType || "website",
|
|
2485
2527
|
enableRuntimeChallenge,
|
|
2486
2528
|
durationRequired: astraCreds?.pdlss?.duration?.maxSessionDuration,
|
|
2529
|
+
...inboundAttemptId && { attemptId: inboundAttemptId },
|
|
2487
2530
|
callerMetadata: {
|
|
2488
2531
|
sourceIp: originalClientIp,
|
|
2489
2532
|
userAgent: request.headers.get("user-agent") || void 0,
|
|
@@ -6528,6 +6571,7 @@ export {
|
|
|
6528
6571
|
AuthenticationError,
|
|
6529
6572
|
CAPTURE_SCHEMA_VERSION,
|
|
6530
6573
|
ChallengeHandler,
|
|
6574
|
+
DECLARED_SOURCE_MAX,
|
|
6531
6575
|
DEFAULT_EDGE_CONFIG,
|
|
6532
6576
|
KYDRequiredError,
|
|
6533
6577
|
MAX_HEADERS,
|
|
@@ -6572,6 +6616,7 @@ export {
|
|
|
6572
6616
|
matchEdgePathRule,
|
|
6573
6617
|
matchPlatformSignature,
|
|
6574
6618
|
nextjs_exports as nextjs,
|
|
6619
|
+
normalizeDeclaredSource,
|
|
6575
6620
|
parseVerifiedHop,
|
|
6576
6621
|
pollStepUpStatus,
|
|
6577
6622
|
prefetchWellKnown,
|