@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
@@ -3748,7 +3748,7 @@ function getTrustLevel(score) {
3748
3748
  }
3749
3749
 
3750
3750
  // src/version.ts
3751
- var SDK_VERSION = "5.12.0";
3751
+ var SDK_VERSION = "5.13.0";
3752
3752
 
3753
3753
  // src/http.ts
3754
3754
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -3795,7 +3795,7 @@ var DEFAULT_CONFIG = {
3795
3795
  };
3796
3796
  var initCheckPerformed = false;
3797
3797
  var deprecationWarningShown = false;
3798
- async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
3798
+ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey, counterparty) {
3799
3799
  initCheckPerformed = true;
3800
3800
  try {
3801
3801
  const probeUrl = `${apiBaseUrl}/agents/verify-access`;
@@ -3813,7 +3813,8 @@ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
3813
3813
  );
3814
3814
  }
3815
3815
  if (apiKey) {
3816
- const selfCheck = await sdkFetch(`${apiBaseUrl}/agents/verify-access/self-check`, {
3816
+ const q = counterparty?.id ? `?counterpartyId=${encodeURIComponent(counterparty.id)}` : counterparty?.url ? `?counterpartyUrl=${encodeURIComponent(counterparty.url)}` : "";
3817
+ const selfCheck = await sdkFetch(`${apiBaseUrl}/agents/verify-access/self-check${q}`, {
3817
3818
  headers: { Authorization: `Bearer ${apiKey}` }
3818
3819
  });
3819
3820
  if (selfCheck.status === 401) {
@@ -3825,6 +3826,13 @@ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
3825
3826
  console.error(message);
3826
3827
  } else if (selfCheck.ok) {
3827
3828
  const body = await selfCheck.json().catch(() => ({}));
3829
+ if (body.counterparty && body.counterparty.canVerify === false) {
3830
+ 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.`;
3831
+ if (strictInit) {
3832
+ throw new Error(`${message} (strictInit=true)`);
3833
+ }
3834
+ console.error(message);
3835
+ }
3828
3836
  if (typeof body.daysToExpiry === "number" && body.daysToExpiry <= 7) {
3829
3837
  console.warn(
3830
3838
  `[VerificationGateway] the configured AstraSync API key expires in ${body.daysToExpiry} day(s) \u2014 rotate it at Settings \u2192 Developer Tools before integrations start failing.`
@@ -3929,11 +3937,11 @@ function createGuidanceResponse(_config, reason, options = {}) {
3929
3937
  const isMisconfig = source === "merchant_misconfig";
3930
3938
  const urls = options.urls;
3931
3939
  const guidance = isMisconfig ? {
3932
- 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.",
3940
+ 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.",
3933
3941
  registrationUrl: urls?.registrationUrl ?? "",
3934
3942
  documentationUrl: options.remediation?.docsUrl ?? urls?.documentationUrl ?? "",
3935
3943
  steps: [
3936
- "Report the failure to the site operator \u2014 their AstraSync API key needs rotating",
3944
+ "Report the failure to the site operator \u2014 their AstraSync API key needs replacing",
3937
3945
  "Do not retry: the failure is deterministic until the operator updates their key"
3938
3946
  ]
3939
3947
  } : isApiError ? {
@@ -4145,12 +4153,13 @@ async function callVerifyAccessAPI(config, request) {
4145
4153
  };
4146
4154
  }
4147
4155
  if (!response.ok) {
4148
- if (response.status === 401) {
4156
+ const keyMismatch = response.status === 403 && data?.error === "COUNTERPARTY_KEY_MISMATCH";
4157
+ if (response.status === 401 || keyMismatch) {
4149
4158
  return {
4150
4159
  success: false,
4151
4160
  error: data.message || data.error || "Integration API key rejected",
4152
4161
  misconfig: true,
4153
- misconfigCode: typeof data?.code === "string" ? data.code : void 0,
4162
+ misconfigCode: keyMismatch ? "counterparty_key_mismatch" : typeof data?.code === "string" ? data.code : void 0,
4154
4163
  remediation: data?.remediation && typeof data.remediation === "object" ? data.remediation : void 0,
4155
4164
  correlationId: typeof data?.correlationId === "string" ? data.correlationId : void 0,
4156
4165
  attemptId: typeof data?.attemptId === "string" ? data.attemptId : void 0
@@ -4183,14 +4192,22 @@ async function verify(config, request, options) {
4183
4192
  mergedConfig.apiBaseUrl,
4184
4193
  mergedConfig.debug,
4185
4194
  true,
4186
- mergedConfig.apiKey
4195
+ mergedConfig.apiKey,
4196
+ {
4197
+ id: mergedConfig.counterpartyId,
4198
+ url: mergedConfig.counterpartyUrl ?? request.counterpartyUrl
4199
+ }
4187
4200
  );
4188
4201
  } else {
4189
4202
  void performInitCheck(
4190
4203
  mergedConfig.apiBaseUrl,
4191
4204
  mergedConfig.debug,
4192
4205
  false,
4193
- mergedConfig.apiKey
4206
+ mergedConfig.apiKey,
4207
+ {
4208
+ id: mergedConfig.counterpartyId,
4209
+ url: mergedConfig.counterpartyUrl ?? request.counterpartyUrl
4210
+ }
4194
4211
  );
4195
4212
  }
4196
4213
  }