@astrasyncai/verification-gateway 5.8.0 → 5.10.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 +1 -1
- package/dist/adapters/express.d.mts +1 -1
- package/dist/adapters/express.d.ts +1 -1
- package/dist/adapters/express.js +56 -7
- package/dist/adapters/express.js.map +1 -1
- package/dist/adapters/express.mjs +56 -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 +20 -2
- package/dist/adapters/mcp.js.map +1 -1
- package/dist/adapters/mcp.mjs +20 -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 +56 -7
- package/dist/adapters/nextjs.js.map +1 -1
- package/dist/adapters/nextjs.mjs +56 -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 +20 -2
- package/dist/adapters/sdk.js.map +1 -1
- package/dist/adapters/sdk.mjs +20 -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 +32 -6
- package/dist/bin/astrasync-codex-hook.js +32 -6
- package/dist/bin/astrasync-guard.js +32 -6
- package/dist/bin/astrasync.js +33 -6
- package/dist/browser/background.js +32 -6
- package/dist/browser/background.js.map +1 -1
- package/dist/browser/background.mjs +32 -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 +32 -6
- package/dist/codex/index.js.map +1 -1
- package/dist/codex/index.mjs +32 -6
- package/dist/codex/index.mjs.map +1 -1
- package/dist/cursor/extension.js +32 -6
- package/dist/cursor/extension.js.map +1 -1
- package/dist/cursor/extension.mjs +32 -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 +129 -17
- package/dist/edge-core/index.js.map +1 -1
- package/dist/edge-core/index.mjs +129 -17
- package/dist/edge-core/index.mjs.map +1 -1
- package/dist/gateway/gateway.js +32 -6
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/gateway.mjs +32 -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 +73 -6
- package/dist/index.d.ts +73 -6
- package/dist/index.js +66 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +64 -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 +20 -2
- package/dist/verify.js.map +1 -1
- package/dist/verify.mjs +20 -2
- package/dist/verify.mjs.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RequestHandler, Request } from 'express';
|
|
2
|
-
import { d as VerificationResult, E as ExpressMiddlewareOptions, a as AstraSyncCredentials } from '../types-
|
|
2
|
+
import { d as VerificationResult, E as ExpressMiddlewareOptions, a as AstraSyncCredentials } from '../types-CTmUpNpS.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* AstraSync Universal Verification Gateway - Express Middleware
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RequestHandler, Request } from 'express';
|
|
2
|
-
import { d as VerificationResult, E as ExpressMiddlewareOptions, a as AstraSyncCredentials } from '../types-
|
|
2
|
+
import { d as VerificationResult, E as ExpressMiddlewareOptions, a as AstraSyncCredentials } from '../types-CTmUpNpS.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* AstraSync Universal Verification Gateway - Express Middleware
|
package/dist/adapters/express.js
CHANGED
|
@@ -26,7 +26,7 @@ __export(express_exports, {
|
|
|
26
26
|
module.exports = __toCommonJS(express_exports);
|
|
27
27
|
|
|
28
28
|
// src/version.ts
|
|
29
|
-
var SDK_VERSION = "5.
|
|
29
|
+
var SDK_VERSION = "5.10.0";
|
|
30
30
|
|
|
31
31
|
// src/http.ts
|
|
32
32
|
var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
|
|
@@ -497,6 +497,24 @@ async function callVerifyAccessAPI(config, request) {
|
|
|
497
497
|
}
|
|
498
498
|
};
|
|
499
499
|
}
|
|
500
|
+
if (response.status === 400 && data?.error === "INVALID_AGENT_ID") {
|
|
501
|
+
const message = typeof data?.message === "string" ? data.message : "Agent identifier must be a canonical ASTRA-* id.";
|
|
502
|
+
return {
|
|
503
|
+
success: true,
|
|
504
|
+
attemptId: typeof data?.attemptId === "string" ? data.attemptId : void 0,
|
|
505
|
+
access: {
|
|
506
|
+
allowed: false,
|
|
507
|
+
reason: "invalid_agent_id",
|
|
508
|
+
failures: [
|
|
509
|
+
{
|
|
510
|
+
dimension: "identity.invalid_agent_id",
|
|
511
|
+
message,
|
|
512
|
+
guidance: typeof data?.guidance === "string" ? data.guidance : "Present your canonical ASTRA-* id (discover it via GET /api/agents/request-registration/{requestId} after owner approval)."
|
|
513
|
+
}
|
|
514
|
+
]
|
|
515
|
+
}
|
|
516
|
+
};
|
|
517
|
+
}
|
|
500
518
|
if (!response.ok) {
|
|
501
519
|
if (response.status === 401) {
|
|
502
520
|
return {
|
|
@@ -636,7 +654,7 @@ async function verify(config, request, options) {
|
|
|
636
654
|
name: apiResponse.agent.name,
|
|
637
655
|
trustScore: apiResponse.agent.trustScore,
|
|
638
656
|
trustLevel: getTrustLevel(apiResponse.agent.trustScore),
|
|
639
|
-
|
|
657
|
+
blockchainAnchored: apiResponse.agent.blockchainStatus === "anchored",
|
|
640
658
|
status: apiResponse.agent.agentStatus
|
|
641
659
|
} : void 0;
|
|
642
660
|
const developer = apiResponse.developer ? {
|
|
@@ -1221,11 +1239,16 @@ var DEFAULT_EDGE_CONFIG = Object.freeze({
|
|
|
1221
1239
|
mode: "observe",
|
|
1222
1240
|
depth: "classify",
|
|
1223
1241
|
pathRules: [],
|
|
1224
|
-
sampling: Object.freeze({ anonymousBeaconRate:
|
|
1242
|
+
sampling: Object.freeze({ anonymousBeaconRate: 1 }),
|
|
1225
1243
|
failurePosture: "open"
|
|
1226
1244
|
});
|
|
1227
1245
|
var EDGE_MODES = ["observe", "enforce"];
|
|
1228
1246
|
var EDGE_DEPTHS = ["classify", "authenticate", "authorize"];
|
|
1247
|
+
function isSamplingShape(value) {
|
|
1248
|
+
if (typeof value !== "object" || value === null) return false;
|
|
1249
|
+
const rate = value.anonymousBeaconRate;
|
|
1250
|
+
return typeof rate === "number" && rate >= 0 && rate <= 1;
|
|
1251
|
+
}
|
|
1229
1252
|
function isEdgeConfig(value) {
|
|
1230
1253
|
if (typeof value !== "object" || value === null) return false;
|
|
1231
1254
|
const v = value;
|
|
@@ -1239,10 +1262,13 @@ function isEdgeConfig(value) {
|
|
|
1239
1262
|
if (typeof r.pattern !== "string" || r.pattern.length === 0) return false;
|
|
1240
1263
|
if (r.mode !== void 0 && !EDGE_MODES.includes(r.mode)) return false;
|
|
1241
1264
|
if (r.depth !== void 0 && !EDGE_DEPTHS.includes(r.depth)) return false;
|
|
1265
|
+
if (r.sampling !== void 0 && !isSamplingShape(r.sampling)) return false;
|
|
1242
1266
|
}
|
|
1243
|
-
|
|
1244
|
-
if (
|
|
1245
|
-
|
|
1267
|
+
if (!isSamplingShape(v.sampling)) return false;
|
|
1268
|
+
if (v.queryValueAllowlist !== void 0) {
|
|
1269
|
+
if (!Array.isArray(v.queryValueAllowlist) || v.queryValueAllowlist.length > 16 || !v.queryValueAllowlist.every((e) => typeof e === "string" && e.length > 0 && e.length <= 64)) {
|
|
1270
|
+
return false;
|
|
1271
|
+
}
|
|
1246
1272
|
}
|
|
1247
1273
|
return v.failurePosture === "open";
|
|
1248
1274
|
}
|
|
@@ -1344,7 +1370,20 @@ var PLATFORM_AGENT_SIGNATURES = [
|
|
|
1344
1370
|
{
|
|
1345
1371
|
vendor: "gemini",
|
|
1346
1372
|
displayName: "Google Gemini",
|
|
1347
|
-
uaPatterns: [
|
|
1373
|
+
uaPatterns: [
|
|
1374
|
+
/gemini/i,
|
|
1375
|
+
/google-gemini/i,
|
|
1376
|
+
/bard/i,
|
|
1377
|
+
// Google's AI/agent fetcher tokens (VI uplift 1.3). These are the
|
|
1378
|
+
// AI-training/agent crawlers, NOT the Search crawler — googlebot IP
|
|
1379
|
+
// ranges attribute Search and are deliberately absent from
|
|
1380
|
+
// vendor-ip-ranges. Anchored tokens: none appears in stock browser
|
|
1381
|
+
// UAs, and `-` counts as a \b boundary so GoogleOther-Image/-Video
|
|
1382
|
+
// match too.
|
|
1383
|
+
/\bGoogle-Extended\b/i,
|
|
1384
|
+
/\bGoogleOther\b/i,
|
|
1385
|
+
/\bGoogle-CloudVertexBot\b/i
|
|
1386
|
+
],
|
|
1348
1387
|
agentCardPatterns: [/gemini\.google\.com/i, /ai\.google\.dev/i],
|
|
1349
1388
|
apiKeyFormatPatterns: [/^aiza/i],
|
|
1350
1389
|
headerPatterns: [/^x-goog-user-project/i, /^x-goog-api-client/i]
|
|
@@ -1390,6 +1429,16 @@ var PLATFORM_AGENT_SIGNATURES = [
|
|
|
1390
1429
|
uaPatterns: [/\bcomet\/\d/i],
|
|
1391
1430
|
headerPatterns: [/^sec-ch-ua: .*comet/i]
|
|
1392
1431
|
},
|
|
1432
|
+
// The MCP bridge's own catalog fetches (VI uplift 1.5). Deliberately a
|
|
1433
|
+
// DISTINCT UA from `astrasync-sdk/`: bridge fetches are buyer-agent
|
|
1434
|
+
// traffic merchants should see (identified · unregistered), so this
|
|
1435
|
+
// vendor is kept OUT of the self-traffic filter and the edge's SELF
|
|
1436
|
+
// short-circuit.
|
|
1437
|
+
{
|
|
1438
|
+
vendor: "astrasync-bridge",
|
|
1439
|
+
displayName: "AstraSync MCP bridge (buyer-agent catalog fetch)",
|
|
1440
|
+
uaPatterns: [/^astrasync-bridge\//i]
|
|
1441
|
+
},
|
|
1393
1442
|
// Our own SDK self-identifies (sdkFetch stamps this UA) — first-party
|
|
1394
1443
|
// traffic must never pollute the unknown/anonymous pool it exists to audit.
|
|
1395
1444
|
{
|