@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.
Files changed (106) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/express.d.mts +1 -1
  3. package/dist/adapters/express.d.ts +1 -1
  4. package/dist/adapters/express.js +56 -7
  5. package/dist/adapters/express.js.map +1 -1
  6. package/dist/adapters/express.mjs +56 -7
  7. package/dist/adapters/express.mjs.map +1 -1
  8. package/dist/adapters/mcp.d.mts +1 -1
  9. package/dist/adapters/mcp.d.ts +1 -1
  10. package/dist/adapters/mcp.js +20 -2
  11. package/dist/adapters/mcp.js.map +1 -1
  12. package/dist/adapters/mcp.mjs +20 -2
  13. package/dist/adapters/mcp.mjs.map +1 -1
  14. package/dist/adapters/nextjs.d.mts +1 -1
  15. package/dist/adapters/nextjs.d.ts +1 -1
  16. package/dist/adapters/nextjs.js +56 -7
  17. package/dist/adapters/nextjs.js.map +1 -1
  18. package/dist/adapters/nextjs.mjs +56 -7
  19. package/dist/adapters/nextjs.mjs.map +1 -1
  20. package/dist/adapters/sdk.d.mts +1 -1
  21. package/dist/adapters/sdk.d.ts +1 -1
  22. package/dist/adapters/sdk.js +20 -2
  23. package/dist/adapters/sdk.js.map +1 -1
  24. package/dist/adapters/sdk.mjs +20 -2
  25. package/dist/adapters/sdk.mjs.map +1 -1
  26. package/dist/agent/index.js +1 -1
  27. package/dist/agent/index.js.map +1 -1
  28. package/dist/agent/index.mjs +1 -1
  29. package/dist/agent/index.mjs.map +1 -1
  30. package/dist/bin/astrasync-claude-hook.js +32 -6
  31. package/dist/bin/astrasync-codex-hook.js +32 -6
  32. package/dist/bin/astrasync-guard.js +32 -6
  33. package/dist/bin/astrasync.js +33 -6
  34. package/dist/browser/background.js +32 -6
  35. package/dist/browser/background.js.map +1 -1
  36. package/dist/browser/background.mjs +32 -6
  37. package/dist/browser/background.mjs.map +1 -1
  38. package/dist/cli/index.js +12 -4
  39. package/dist/cli/index.js.map +1 -1
  40. package/dist/cli/index.mjs +12 -4
  41. package/dist/cli/index.mjs.map +1 -1
  42. package/dist/codex/index.js +32 -6
  43. package/dist/codex/index.js.map +1 -1
  44. package/dist/codex/index.mjs +32 -6
  45. package/dist/codex/index.mjs.map +1 -1
  46. package/dist/cursor/extension.js +32 -6
  47. package/dist/cursor/extension.js.map +1 -1
  48. package/dist/cursor/extension.mjs +32 -6
  49. package/dist/cursor/extension.mjs.map +1 -1
  50. package/dist/edge-config.d.mts +24 -1
  51. package/dist/edge-config.d.ts +24 -1
  52. package/dist/edge-config.js +13 -5
  53. package/dist/edge-config.js.map +1 -1
  54. package/dist/edge-config.mjs +13 -5
  55. package/dist/edge-config.mjs.map +1 -1
  56. package/dist/edge-core/index.d.mts +14 -6
  57. package/dist/edge-core/index.d.ts +14 -6
  58. package/dist/edge-core/index.js +129 -17
  59. package/dist/edge-core/index.js.map +1 -1
  60. package/dist/edge-core/index.mjs +129 -17
  61. package/dist/edge-core/index.mjs.map +1 -1
  62. package/dist/gateway/gateway.js +32 -6
  63. package/dist/gateway/gateway.js.map +1 -1
  64. package/dist/gateway/gateway.mjs +32 -6
  65. package/dist/gateway/gateway.mjs.map +1 -1
  66. package/dist/git-trigger/git-hooks.d.mts +1 -1
  67. package/dist/git-trigger/git-hooks.d.ts +1 -1
  68. package/dist/index.d.mts +73 -6
  69. package/dist/index.d.ts +73 -6
  70. package/dist/index.js +66 -7
  71. package/dist/index.js.map +1 -1
  72. package/dist/index.mjs +64 -7
  73. package/dist/index.mjs.map +1 -1
  74. package/dist/metadata-capture.d.mts +18 -1
  75. package/dist/metadata-capture.d.ts +18 -1
  76. package/dist/metadata-capture.js +10 -0
  77. package/dist/metadata-capture.js.map +1 -1
  78. package/dist/metadata-capture.mjs +8 -0
  79. package/dist/metadata-capture.mjs.map +1 -1
  80. package/dist/platform-signatures.d.mts +1 -1
  81. package/dist/platform-signatures.d.ts +1 -1
  82. package/dist/platform-signatures.js +24 -1
  83. package/dist/platform-signatures.js.map +1 -1
  84. package/dist/platform-signatures.mjs +24 -1
  85. package/dist/platform-signatures.mjs.map +1 -1
  86. package/dist/registration/index.js +1 -1
  87. package/dist/registration/index.js.map +1 -1
  88. package/dist/registration/index.mjs +1 -1
  89. package/dist/registration/index.mjs.map +1 -1
  90. package/dist/transport/index.js +1 -1
  91. package/dist/transport/index.js.map +1 -1
  92. package/dist/transport/index.mjs +1 -1
  93. package/dist/transport/index.mjs.map +1 -1
  94. package/dist/{types-BK_pRNSs.d.mts → types-CTmUpNpS.d.mts} +25 -2
  95. package/dist/{types-BK_pRNSs.d.ts → types-CTmUpNpS.d.ts} +25 -2
  96. package/dist/{types-CwY5IY-0.d.ts → types-CtFXmDzm.d.ts} +17 -2
  97. package/dist/{types-BCmHFdkJ.d.mts → types-DQrn_kei.d.mts} +17 -2
  98. package/dist/ui/index.d.mts +1 -1
  99. package/dist/ui/index.d.ts +1 -1
  100. package/dist/verify.d.mts +13 -1
  101. package/dist/verify.d.ts +13 -1
  102. package/dist/verify.js +20 -2
  103. package/dist/verify.js.map +1 -1
  104. package/dist/verify.mjs +20 -2
  105. package/dist/verify.mjs.map +1 -1
  106. 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-BK_pRNSs.mjs';
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-BK_pRNSs.js';
3
+ import { N as NextJsMiddlewareOptions } from '../types-CTmUpNpS.js';
4
4
 
5
5
  /**
6
6
  * Create Next.js middleware for agent verification.
@@ -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.8.0";
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
- blockchainVerified: apiResponse.agent.blockchainStatus === "verified",
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: 0.1 }),
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
- const sampling = v.sampling;
1072
- if (typeof sampling !== "object" || sampling === null || typeof sampling.anonymousBeaconRate !== "number" || sampling.anonymousBeaconRate < 0 || sampling.anonymousBeaconRate > 1) {
1073
- return false;
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: [/gemini/i, /google-gemini/i, /bard/i],
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
  {