@astrasyncai/verification-gateway 2.4.14 → 2.5.1

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 (45) hide show
  1. package/dist/adapters/express.js +107 -15
  2. package/dist/adapters/express.js.map +1 -1
  3. package/dist/adapters/express.mjs +107 -15
  4. package/dist/adapters/express.mjs.map +1 -1
  5. package/dist/adapters/mcp.d.mts +75 -53
  6. package/dist/adapters/mcp.d.ts +75 -53
  7. package/dist/adapters/mcp.js +128 -23
  8. package/dist/adapters/mcp.js.map +1 -1
  9. package/dist/adapters/mcp.mjs +128 -23
  10. package/dist/adapters/mcp.mjs.map +1 -1
  11. package/dist/adapters/nextjs.js +24 -14
  12. package/dist/adapters/nextjs.js.map +1 -1
  13. package/dist/adapters/nextjs.mjs +24 -14
  14. package/dist/adapters/nextjs.mjs.map +1 -1
  15. package/dist/adapters/sdk.js +23 -13
  16. package/dist/adapters/sdk.js.map +1 -1
  17. package/dist/adapters/sdk.mjs +23 -13
  18. package/dist/adapters/sdk.mjs.map +1 -1
  19. package/dist/browser/background.js +23 -13
  20. package/dist/browser/background.js.map +1 -1
  21. package/dist/browser/background.mjs +23 -13
  22. package/dist/browser/background.mjs.map +1 -1
  23. package/dist/cursor/extension.js +23 -13
  24. package/dist/cursor/extension.js.map +1 -1
  25. package/dist/cursor/extension.mjs +23 -13
  26. package/dist/cursor/extension.mjs.map +1 -1
  27. package/dist/gateway/gateway.js +23 -13
  28. package/dist/gateway/gateway.js.map +1 -1
  29. package/dist/gateway/gateway.mjs +23 -13
  30. package/dist/gateway/gateway.mjs.map +1 -1
  31. package/dist/index.d.mts +32 -2
  32. package/dist/index.d.ts +32 -2
  33. package/dist/index.js +180 -39
  34. package/dist/index.js.map +1 -1
  35. package/dist/index.mjs +177 -39
  36. package/dist/index.mjs.map +1 -1
  37. package/dist/registration/index.js +7 -7
  38. package/dist/registration/index.js.map +1 -1
  39. package/dist/registration/index.mjs +7 -7
  40. package/dist/registration/index.mjs.map +1 -1
  41. package/dist/ui/index.js +2 -2
  42. package/dist/ui/index.js.map +1 -1
  43. package/dist/ui/index.mjs +2 -2
  44. package/dist/ui/index.mjs.map +1 -1
  45. package/package.json +1 -1
@@ -3284,6 +3284,13 @@ function getTrustLevel(score) {
3284
3284
  // src/version.ts
3285
3285
  var SDK_VERSION = "2.4.13";
3286
3286
 
3287
+ // src/well-known.ts
3288
+ var CACHE_TTL_MS = 60 * 60 * 1e3;
3289
+ var cache = /* @__PURE__ */ new Map();
3290
+ function getCachedWellKnownUrls(apiBaseUrl) {
3291
+ return cache.get(apiBaseUrl)?.data;
3292
+ }
3293
+
3287
3294
  // src/verify.ts
3288
3295
  var DEFAULT_CONFIG = {
3289
3296
  apiBaseUrl: "https://astrasync.ai/api",
@@ -3385,21 +3392,22 @@ function cacheResult(request, result, configuredTtl) {
3385
3392
  expiresAt: Date.now() + ttlSeconds * 1e3
3386
3393
  });
3387
3394
  }
3388
- function createGuidanceResponse(config, reason, options = {}) {
3395
+ function createGuidanceResponse(_config, reason, options = {}) {
3389
3396
  const source = options.source ?? "no_credentials";
3390
3397
  const isApiError = source === "api_error";
3398
+ const urls = options.urls;
3391
3399
  const guidance = isApiError ? {
3392
3400
  message: "Verification is temporarily unavailable. Retry with exponential backoff; if the issue persists, contact support with the correlationId.",
3393
- registrationUrl: `${config.apiBaseUrl.replace("/api", "")}/agents/register`,
3394
- documentationUrl: `${config.apiBaseUrl.replace("/api", "")}/docs/agent-access`,
3401
+ registrationUrl: urls?.registrationUrl ?? "",
3402
+ documentationUrl: urls?.documentationUrl ?? "",
3395
3403
  steps: [
3396
3404
  "Retry the request with exponential backoff",
3397
3405
  "If failures persist, share the correlationId with support"
3398
3406
  ]
3399
3407
  } : {
3400
3408
  message: "This service verifies AI agents before granting access. Please register your agent with AstraSync.",
3401
- registrationUrl: `${config.apiBaseUrl.replace("/api", "")}/agents/register`,
3402
- documentationUrl: `${config.apiBaseUrl.replace("/api", "")}/docs/agent-access`,
3409
+ registrationUrl: urls?.registrationUrl ?? "",
3410
+ documentationUrl: urls?.documentationUrl ?? "",
3403
3411
  steps: [
3404
3412
  "Register for an AstraSync account",
3405
3413
  "Create and register your agent",
@@ -3441,7 +3449,7 @@ async function callVerifyAccessAPI(config, request) {
3441
3449
  const { credentials, ...requestData } = request;
3442
3450
  const body = {
3443
3451
  ...credentials.astraId && { agentId: credentials.astraId },
3444
- purpose: requestData.purpose || "general"
3452
+ ...requestData.purpose && { purpose: requestData.purpose }
3445
3453
  };
3446
3454
  if (requestData.action) body.action = requestData.action;
3447
3455
  if (requestData.resourceType) body.resourceType = requestData.resourceType;
@@ -3521,6 +3529,7 @@ async function callVerifyAccessAPI(config, request) {
3521
3529
  }
3522
3530
  async function verify(config, request) {
3523
3531
  const mergedConfig = { ...DEFAULT_CONFIG, ...config };
3532
+ const urls = mergedConfig.apiBaseUrl ? getCachedWellKnownUrls(mergedConfig.apiBaseUrl) : void 0;
3524
3533
  if (!initCheckPerformed && !mergedConfig.disableInitChecks && mergedConfig.apiBaseUrl) {
3525
3534
  if (mergedConfig.strictInit) {
3526
3535
  await performInitCheck(mergedConfig.apiBaseUrl, mergedConfig.debug, true);
@@ -3557,7 +3566,8 @@ async function verify(config, request) {
3557
3566
  if (!apiResponse.success) {
3558
3567
  return createGuidanceResponse(mergedConfig, apiResponse.error, {
3559
3568
  source: "api_error",
3560
- correlationId: apiResponse.correlationId
3569
+ correlationId: apiResponse.correlationId,
3570
+ urls
3561
3571
  });
3562
3572
  }
3563
3573
  if (!apiResponse.access?.allowed) {
@@ -3580,8 +3590,8 @@ async function verify(config, request) {
3580
3590
  requiresApproval: apiResponse.access?.requiresApproval,
3581
3591
  guidance: {
3582
3592
  message: apiResponse.access?.reason || "Access denied by PDLSS policy",
3583
- registrationUrl: `${mergedConfig.apiBaseUrl?.replace("/api", "")}/agents/register`,
3584
- documentationUrl: `${mergedConfig.apiBaseUrl?.replace("/api", "")}/docs/pdlss`
3593
+ registrationUrl: urls?.registrationUrl ?? "",
3594
+ documentationUrl: urls?.documentationUrl ?? ""
3585
3595
  },
3586
3596
  verifiedAt: /* @__PURE__ */ new Date(),
3587
3597
  // Extract sessionId so decisions can be recorded for denials too
@@ -3652,12 +3662,12 @@ async function verify(config, request) {
3652
3662
  ];
3653
3663
  result.guidance = result.runtimeChallenge ? {
3654
3664
  message: `Verification failed: ${result.runtimeChallenge.reason || "runtime challenge failed"}`,
3655
- registrationUrl: `${mergedConfig.apiBaseUrl?.replace("/api", "")}/agents/register`,
3656
- documentationUrl: `${mergedConfig.apiBaseUrl?.replace("/api", "")}/docs/runtime-challenge`
3665
+ registrationUrl: urls?.registrationUrl ?? "",
3666
+ documentationUrl: urls?.documentationUrl ?? ""
3657
3667
  } : {
3658
3668
  message: result.recommendationReasons?.[0] || "Access denied by AstraSync recommendation",
3659
- registrationUrl: `${mergedConfig.apiBaseUrl?.replace("/api", "")}/agents/register`,
3660
- documentationUrl: `${mergedConfig.apiBaseUrl?.replace("/api", "")}/docs/pdlss`
3669
+ registrationUrl: urls?.registrationUrl ?? "",
3670
+ documentationUrl: urls?.documentationUrl ?? ""
3661
3671
  };
3662
3672
  } else if (result.recommendation === "step_up_required") {
3663
3673
  result.requiresStepUp = true;