@astrasyncai/verification-gateway 5.12.0 → 5.13.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 (73) hide show
  1. package/dist/adapters/express.js +36 -10
  2. package/dist/adapters/express.js.map +1 -1
  3. package/dist/adapters/express.mjs +36 -10
  4. package/dist/adapters/express.mjs.map +1 -1
  5. package/dist/adapters/mcp.js +26 -9
  6. package/dist/adapters/mcp.js.map +1 -1
  7. package/dist/adapters/mcp.mjs +26 -9
  8. package/dist/adapters/mcp.mjs.map +1 -1
  9. package/dist/adapters/nextjs.js +36 -10
  10. package/dist/adapters/nextjs.js.map +1 -1
  11. package/dist/adapters/nextjs.mjs +36 -10
  12. package/dist/adapters/nextjs.mjs.map +1 -1
  13. package/dist/adapters/sdk.js +26 -9
  14. package/dist/adapters/sdk.js.map +1 -1
  15. package/dist/adapters/sdk.mjs +26 -9
  16. package/dist/adapters/sdk.mjs.map +1 -1
  17. package/dist/agent/index.js +1 -1
  18. package/dist/agent/index.js.map +1 -1
  19. package/dist/agent/index.mjs +1 -1
  20. package/dist/agent/index.mjs.map +1 -1
  21. package/dist/bin/astrasync-claude-hook.js +26 -9
  22. package/dist/bin/astrasync-codex-hook.js +26 -9
  23. package/dist/bin/astrasync-guard.js +26 -9
  24. package/dist/bin/astrasync.js +26 -9
  25. package/dist/browser/background.js +26 -9
  26. package/dist/browser/background.js.map +1 -1
  27. package/dist/browser/background.mjs +26 -9
  28. package/dist/browser/background.mjs.map +1 -1
  29. package/dist/cli/index.js +1 -1
  30. package/dist/cli/index.js.map +1 -1
  31. package/dist/cli/index.mjs +1 -1
  32. package/dist/cli/index.mjs.map +1 -1
  33. package/dist/codex/index.js +26 -9
  34. package/dist/codex/index.js.map +1 -1
  35. package/dist/codex/index.mjs +26 -9
  36. package/dist/codex/index.mjs.map +1 -1
  37. package/dist/cursor/extension.js +26 -9
  38. package/dist/cursor/extension.js.map +1 -1
  39. package/dist/cursor/extension.mjs +26 -9
  40. package/dist/cursor/extension.mjs.map +1 -1
  41. package/dist/edge-config.js +1 -1
  42. package/dist/edge-config.js.map +1 -1
  43. package/dist/edge-config.mjs +1 -1
  44. package/dist/edge-config.mjs.map +1 -1
  45. package/dist/edge-core/index.js +26 -9
  46. package/dist/edge-core/index.js.map +1 -1
  47. package/dist/edge-core/index.mjs +26 -9
  48. package/dist/edge-core/index.mjs.map +1 -1
  49. package/dist/gateway/gateway.js +26 -9
  50. package/dist/gateway/gateway.js.map +1 -1
  51. package/dist/gateway/gateway.mjs +26 -9
  52. package/dist/gateway/gateway.mjs.map +1 -1
  53. package/dist/index.d.mts +2 -12
  54. package/dist/index.d.ts +2 -12
  55. package/dist/index.js +36 -10
  56. package/dist/index.js.map +1 -1
  57. package/dist/index.mjs +36 -10
  58. package/dist/index.mjs.map +1 -1
  59. package/dist/registration/index.js +1 -1
  60. package/dist/registration/index.js.map +1 -1
  61. package/dist/registration/index.mjs +1 -1
  62. package/dist/registration/index.mjs.map +1 -1
  63. package/dist/transport/index.js +1 -1
  64. package/dist/transport/index.js.map +1 -1
  65. package/dist/transport/index.mjs +1 -1
  66. package/dist/transport/index.mjs.map +1 -1
  67. package/dist/verify.d.mts +0 -10
  68. package/dist/verify.d.ts +0 -10
  69. package/dist/verify.js +36 -10
  70. package/dist/verify.js.map +1 -1
  71. package/dist/verify.mjs +36 -10
  72. package/dist/verify.mjs.map +1 -1
  73. package/package.json +3 -2
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var SDK_VERSION = "5.12.0";
2
+ var SDK_VERSION = "5.13.0";
3
3
 
4
4
  // src/http.ts
5
5
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -133,7 +133,7 @@ var DEFAULT_CONFIG = {
133
133
  };
134
134
  var initCheckPerformed = false;
135
135
  var deprecationWarningShown = false;
136
- async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
136
+ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey, counterparty) {
137
137
  initCheckPerformed = true;
138
138
  try {
139
139
  const probeUrl = `${apiBaseUrl}/agents/verify-access`;
@@ -151,7 +151,8 @@ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
151
151
  );
152
152
  }
153
153
  if (apiKey) {
154
- const selfCheck = await sdkFetch(`${apiBaseUrl}/agents/verify-access/self-check`, {
154
+ const q = counterparty?.id ? `?counterpartyId=${encodeURIComponent(counterparty.id)}` : counterparty?.url ? `?counterpartyUrl=${encodeURIComponent(counterparty.url)}` : "";
155
+ const selfCheck = await sdkFetch(`${apiBaseUrl}/agents/verify-access/self-check${q}`, {
155
156
  headers: { Authorization: `Bearer ${apiKey}` }
156
157
  });
157
158
  if (selfCheck.status === 401) {
@@ -163,6 +164,13 @@ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
163
164
  console.error(message);
164
165
  } else if (selfCheck.ok) {
165
166
  const body = await selfCheck.json().catch(() => ({}));
167
+ if (body.counterparty && body.counterparty.canVerify === false) {
168
+ const message = `[VerificationGateway] the configured AstraSync API key cannot verify for this endpoint (${body.counterparty.message ?? "endpoint not found or owned by another account"}). Every inbound agent will be turned away until the key or counterparty is corrected.`;
169
+ if (strictInit) {
170
+ throw new Error(`${message} (strictInit=true)`);
171
+ }
172
+ console.error(message);
173
+ }
166
174
  if (typeof body.daysToExpiry === "number" && body.daysToExpiry <= 7) {
167
175
  console.warn(
168
176
  `[VerificationGateway] the configured AstraSync API key expires in ${body.daysToExpiry} day(s) \u2014 rotate it at Settings \u2192 Developer Tools before integrations start failing.`
@@ -301,11 +309,11 @@ function createGuidanceResponse(_config, reason, options = {}) {
301
309
  const isMisconfig = source === "merchant_misconfig";
302
310
  const urls = options.urls;
303
311
  const guidance = isMisconfig ? {
304
- message: "This site's AstraSync integration is misconfigured (its API key was revoked, expired, or rotated). Your identity and the AstraSync platform are fine \u2014 contact the site operator. Retrying will not help.",
312
+ message: "This site's AstraSync integration is misconfigured (its API key was revoked, expired, rotated, or belongs to another account). Your identity and the AstraSync platform are fine \u2014 contact the site operator. Retrying will not help.",
305
313
  registrationUrl: urls?.registrationUrl ?? "",
306
314
  documentationUrl: options.remediation?.docsUrl ?? urls?.documentationUrl ?? "",
307
315
  steps: [
308
- "Report the failure to the site operator \u2014 their AstraSync API key needs rotating",
316
+ "Report the failure to the site operator \u2014 their AstraSync API key needs replacing",
309
317
  "Do not retry: the failure is deterministic until the operator updates their key"
310
318
  ]
311
319
  } : isApiError ? {
@@ -517,12 +525,13 @@ async function callVerifyAccessAPI(config, request) {
517
525
  };
518
526
  }
519
527
  if (!response.ok) {
520
- if (response.status === 401) {
528
+ const keyMismatch = response.status === 403 && data?.error === "COUNTERPARTY_KEY_MISMATCH";
529
+ if (response.status === 401 || keyMismatch) {
521
530
  return {
522
531
  success: false,
523
532
  error: data.message || data.error || "Integration API key rejected",
524
533
  misconfig: true,
525
- misconfigCode: typeof data?.code === "string" ? data.code : void 0,
534
+ misconfigCode: keyMismatch ? "counterparty_key_mismatch" : typeof data?.code === "string" ? data.code : void 0,
526
535
  remediation: data?.remediation && typeof data.remediation === "object" ? data.remediation : void 0,
527
536
  correlationId: typeof data?.correlationId === "string" ? data.correlationId : void 0,
528
537
  attemptId: typeof data?.attemptId === "string" ? data.attemptId : void 0
@@ -555,14 +564,22 @@ async function verify(config, request, options) {
555
564
  mergedConfig.apiBaseUrl,
556
565
  mergedConfig.debug,
557
566
  true,
558
- mergedConfig.apiKey
567
+ mergedConfig.apiKey,
568
+ {
569
+ id: mergedConfig.counterpartyId,
570
+ url: mergedConfig.counterpartyUrl ?? request.counterpartyUrl
571
+ }
559
572
  );
560
573
  } else {
561
574
  void performInitCheck(
562
575
  mergedConfig.apiBaseUrl,
563
576
  mergedConfig.debug,
564
577
  false,
565
- mergedConfig.apiKey
578
+ mergedConfig.apiKey,
579
+ {
580
+ id: mergedConfig.counterpartyId,
581
+ url: mergedConfig.counterpartyUrl ?? request.counterpartyUrl
582
+ }
566
583
  );
567
584
  }
568
585
  }