@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
|
@@ -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-CTmUpNpS.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-CTmUpNpS.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Create Next.js middleware for agent verification.
|
package/dist/adapters/nextjs.js
CHANGED
|
@@ -36,7 +36,7 @@ __export(nextjs_exports, {
|
|
|
36
36
|
module.exports = __toCommonJS(nextjs_exports);
|
|
37
37
|
|
|
38
38
|
// src/version.ts
|
|
39
|
-
var SDK_VERSION = "5.
|
|
39
|
+
var SDK_VERSION = "5.10.0";
|
|
40
40
|
|
|
41
41
|
// src/http.ts
|
|
42
42
|
var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
|
|
@@ -455,6 +455,24 @@ async function callVerifyAccessAPI(config, request) {
|
|
|
455
455
|
}
|
|
456
456
|
};
|
|
457
457
|
}
|
|
458
|
+
if (response.status === 400 && data?.error === "INVALID_AGENT_ID") {
|
|
459
|
+
const message = typeof data?.message === "string" ? data.message : "Agent identifier must be a canonical ASTRA-* id.";
|
|
460
|
+
return {
|
|
461
|
+
success: true,
|
|
462
|
+
attemptId: typeof data?.attemptId === "string" ? data.attemptId : void 0,
|
|
463
|
+
access: {
|
|
464
|
+
allowed: false,
|
|
465
|
+
reason: "invalid_agent_id",
|
|
466
|
+
failures: [
|
|
467
|
+
{
|
|
468
|
+
dimension: "identity.invalid_agent_id",
|
|
469
|
+
message,
|
|
470
|
+
guidance: typeof data?.guidance === "string" ? data.guidance : "Present your canonical ASTRA-* id (discover it via GET /api/agents/request-registration/{requestId} after owner approval)."
|
|
471
|
+
}
|
|
472
|
+
]
|
|
473
|
+
}
|
|
474
|
+
};
|
|
475
|
+
}
|
|
458
476
|
if (!response.ok) {
|
|
459
477
|
if (response.status === 401) {
|
|
460
478
|
return {
|
|
@@ -594,7 +612,7 @@ async function verify(config, request, options) {
|
|
|
594
612
|
name: apiResponse.agent.name,
|
|
595
613
|
trustScore: apiResponse.agent.trustScore,
|
|
596
614
|
trustLevel: getTrustLevel(apiResponse.agent.trustScore),
|
|
597
|
-
|
|
615
|
+
blockchainAnchored: apiResponse.agent.blockchainStatus === "anchored",
|
|
598
616
|
status: apiResponse.agent.agentStatus
|
|
599
617
|
} : void 0;
|
|
600
618
|
const developer = apiResponse.developer ? {
|
|
@@ -1049,11 +1067,16 @@ var DEFAULT_EDGE_CONFIG = Object.freeze({
|
|
|
1049
1067
|
mode: "observe",
|
|
1050
1068
|
depth: "classify",
|
|
1051
1069
|
pathRules: [],
|
|
1052
|
-
sampling: Object.freeze({ anonymousBeaconRate:
|
|
1070
|
+
sampling: Object.freeze({ anonymousBeaconRate: 1 }),
|
|
1053
1071
|
failurePosture: "open"
|
|
1054
1072
|
});
|
|
1055
1073
|
var EDGE_MODES = ["observe", "enforce"];
|
|
1056
1074
|
var EDGE_DEPTHS = ["classify", "authenticate", "authorize"];
|
|
1075
|
+
function isSamplingShape(value) {
|
|
1076
|
+
if (typeof value !== "object" || value === null) return false;
|
|
1077
|
+
const rate = value.anonymousBeaconRate;
|
|
1078
|
+
return typeof rate === "number" && rate >= 0 && rate <= 1;
|
|
1079
|
+
}
|
|
1057
1080
|
function isEdgeConfig(value) {
|
|
1058
1081
|
if (typeof value !== "object" || value === null) return false;
|
|
1059
1082
|
const v = value;
|
|
@@ -1067,10 +1090,13 @@ function isEdgeConfig(value) {
|
|
|
1067
1090
|
if (typeof r.pattern !== "string" || r.pattern.length === 0) return false;
|
|
1068
1091
|
if (r.mode !== void 0 && !EDGE_MODES.includes(r.mode)) return false;
|
|
1069
1092
|
if (r.depth !== void 0 && !EDGE_DEPTHS.includes(r.depth)) return false;
|
|
1093
|
+
if (r.sampling !== void 0 && !isSamplingShape(r.sampling)) return false;
|
|
1070
1094
|
}
|
|
1071
|
-
|
|
1072
|
-
if (
|
|
1073
|
-
|
|
1095
|
+
if (!isSamplingShape(v.sampling)) return false;
|
|
1096
|
+
if (v.queryValueAllowlist !== void 0) {
|
|
1097
|
+
if (!Array.isArray(v.queryValueAllowlist) || v.queryValueAllowlist.length > 16 || !v.queryValueAllowlist.every((e) => typeof e === "string" && e.length > 0 && e.length <= 64)) {
|
|
1098
|
+
return false;
|
|
1099
|
+
}
|
|
1074
1100
|
}
|
|
1075
1101
|
return v.failurePosture === "open";
|
|
1076
1102
|
}
|
|
@@ -1172,7 +1198,20 @@ var PLATFORM_AGENT_SIGNATURES = [
|
|
|
1172
1198
|
{
|
|
1173
1199
|
vendor: "gemini",
|
|
1174
1200
|
displayName: "Google Gemini",
|
|
1175
|
-
uaPatterns: [
|
|
1201
|
+
uaPatterns: [
|
|
1202
|
+
/gemini/i,
|
|
1203
|
+
/google-gemini/i,
|
|
1204
|
+
/bard/i,
|
|
1205
|
+
// Google's AI/agent fetcher tokens (VI uplift 1.3). These are the
|
|
1206
|
+
// AI-training/agent crawlers, NOT the Search crawler — googlebot IP
|
|
1207
|
+
// ranges attribute Search and are deliberately absent from
|
|
1208
|
+
// vendor-ip-ranges. Anchored tokens: none appears in stock browser
|
|
1209
|
+
// UAs, and `-` counts as a \b boundary so GoogleOther-Image/-Video
|
|
1210
|
+
// match too.
|
|
1211
|
+
/\bGoogle-Extended\b/i,
|
|
1212
|
+
/\bGoogleOther\b/i,
|
|
1213
|
+
/\bGoogle-CloudVertexBot\b/i
|
|
1214
|
+
],
|
|
1176
1215
|
agentCardPatterns: [/gemini\.google\.com/i, /ai\.google\.dev/i],
|
|
1177
1216
|
apiKeyFormatPatterns: [/^aiza/i],
|
|
1178
1217
|
headerPatterns: [/^x-goog-user-project/i, /^x-goog-api-client/i]
|
|
@@ -1218,6 +1257,16 @@ var PLATFORM_AGENT_SIGNATURES = [
|
|
|
1218
1257
|
uaPatterns: [/\bcomet\/\d/i],
|
|
1219
1258
|
headerPatterns: [/^sec-ch-ua: .*comet/i]
|
|
1220
1259
|
},
|
|
1260
|
+
// The MCP bridge's own catalog fetches (VI uplift 1.5). Deliberately a
|
|
1261
|
+
// DISTINCT UA from `astrasync-sdk/`: bridge fetches are buyer-agent
|
|
1262
|
+
// traffic merchants should see (identified · unregistered), so this
|
|
1263
|
+
// vendor is kept OUT of the self-traffic filter and the edge's SELF
|
|
1264
|
+
// short-circuit.
|
|
1265
|
+
{
|
|
1266
|
+
vendor: "astrasync-bridge",
|
|
1267
|
+
displayName: "AstraSync MCP bridge (buyer-agent catalog fetch)",
|
|
1268
|
+
uaPatterns: [/^astrasync-bridge\//i]
|
|
1269
|
+
},
|
|
1221
1270
|
// Our own SDK self-identifies (sdkFetch stamps this UA) — first-party
|
|
1222
1271
|
// traffic must never pollute the unknown/anonymous pool it exists to audit.
|
|
1223
1272
|
{
|