@astrasyncai/verification-gateway 4.3.0 → 4.5.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 (87) hide show
  1. package/dist/adapters/express.js +104 -28
  2. package/dist/adapters/express.js.map +1 -1
  3. package/dist/adapters/express.mjs +104 -28
  4. package/dist/adapters/express.mjs.map +1 -1
  5. package/dist/adapters/mcp.js +63 -21
  6. package/dist/adapters/mcp.js.map +1 -1
  7. package/dist/adapters/mcp.mjs +63 -21
  8. package/dist/adapters/mcp.mjs.map +1 -1
  9. package/dist/adapters/nextjs.js +103 -27
  10. package/dist/adapters/nextjs.js.map +1 -1
  11. package/dist/adapters/nextjs.mjs +103 -27
  12. package/dist/adapters/nextjs.mjs.map +1 -1
  13. package/dist/adapters/sdk.js +33 -12
  14. package/dist/adapters/sdk.js.map +1 -1
  15. package/dist/adapters/sdk.mjs +33 -12
  16. package/dist/adapters/sdk.mjs.map +1 -1
  17. package/dist/agent/index.js +24 -3
  18. package/dist/agent/index.js.map +1 -1
  19. package/dist/agent/index.mjs +24 -3
  20. package/dist/agent/index.mjs.map +1 -1
  21. package/dist/bin/astrasync-claude-hook.js +31 -10
  22. package/dist/bin/astrasync-codex-hook.js +31 -10
  23. package/dist/bin/astrasync-guard.js +35 -14
  24. package/dist/bin/astrasync.js +75 -29
  25. package/dist/browser/background.js +31 -10
  26. package/dist/browser/background.js.map +1 -1
  27. package/dist/browser/background.mjs +31 -10
  28. package/dist/browser/background.mjs.map +1 -1
  29. package/dist/cli/index.js +23 -2
  30. package/dist/cli/index.js.map +1 -1
  31. package/dist/cli/index.mjs +23 -2
  32. package/dist/cli/index.mjs.map +1 -1
  33. package/dist/codex/index.js +31 -10
  34. package/dist/codex/index.js.map +1 -1
  35. package/dist/codex/index.mjs +31 -10
  36. package/dist/codex/index.mjs.map +1 -1
  37. package/dist/cursor/extension.js +31 -10
  38. package/dist/cursor/extension.js.map +1 -1
  39. package/dist/cursor/extension.mjs +31 -10
  40. package/dist/cursor/extension.mjs.map +1 -1
  41. package/dist/edge-config.d.mts +11 -4
  42. package/dist/edge-config.d.ts +11 -4
  43. package/dist/edge-config.js +24 -1
  44. package/dist/edge-config.js.map +1 -1
  45. package/dist/edge-config.mjs +22 -1
  46. package/dist/edge-config.mjs.map +1 -1
  47. package/dist/edge-core/index.d.mts +21 -7
  48. package/dist/edge-core/index.d.ts +21 -7
  49. package/dist/edge-core/index.js +170 -25
  50. package/dist/edge-core/index.js.map +1 -1
  51. package/dist/edge-core/index.mjs +170 -25
  52. package/dist/edge-core/index.mjs.map +1 -1
  53. package/dist/gateway/gateway.js +31 -10
  54. package/dist/gateway/gateway.js.map +1 -1
  55. package/dist/gateway/gateway.mjs +31 -10
  56. package/dist/gateway/gateway.mjs.map +1 -1
  57. package/dist/index.d.mts +51 -2
  58. package/dist/index.d.ts +51 -2
  59. package/dist/index.js +169 -40
  60. package/dist/index.js.map +1 -1
  61. package/dist/index.mjs +165 -40
  62. package/dist/index.mjs.map +1 -1
  63. package/dist/metadata-capture.d.mts +17 -0
  64. package/dist/metadata-capture.d.ts +17 -0
  65. package/dist/metadata-capture.js +25 -4
  66. package/dist/metadata-capture.js.map +1 -1
  67. package/dist/metadata-capture.mjs +25 -4
  68. package/dist/metadata-capture.mjs.map +1 -1
  69. package/dist/platform-signatures.d.mts +18 -1
  70. package/dist/platform-signatures.d.ts +18 -1
  71. package/dist/platform-signatures.js +35 -2
  72. package/dist/platform-signatures.js.map +1 -1
  73. package/dist/platform-signatures.mjs +35 -2
  74. package/dist/platform-signatures.mjs.map +1 -1
  75. package/dist/registration/index.js +25 -4
  76. package/dist/registration/index.js.map +1 -1
  77. package/dist/registration/index.mjs +25 -4
  78. package/dist/registration/index.mjs.map +1 -1
  79. package/dist/transport/index.js +22 -1
  80. package/dist/transport/index.js.map +1 -1
  81. package/dist/transport/index.mjs +22 -1
  82. package/dist/transport/index.mjs.map +1 -1
  83. package/dist/verify.js +38 -17
  84. package/dist/verify.js.map +1 -1
  85. package/dist/verify.mjs +38 -17
  86. package/dist/verify.mjs.map +1 -1
  87. package/package.json +2 -2
@@ -3936,7 +3936,25 @@ function getTrustLevel(score) {
3936
3936
  }
3937
3937
 
3938
3938
  // src/version.ts
3939
- var SDK_VERSION = "4.1.0";
3939
+ var SDK_VERSION = "4.5.0";
3940
+
3941
+ // src/http.ts
3942
+ var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
3943
+ function withUserAgent(initHeaders) {
3944
+ if (!initHeaders) return { "user-agent": SDK_USER_AGENT };
3945
+ if (initHeaders instanceof Headers) {
3946
+ const copy = new Headers(initHeaders);
3947
+ if (!copy.has("user-agent")) copy.set("user-agent", SDK_USER_AGENT);
3948
+ return copy;
3949
+ }
3950
+ if (Array.isArray(initHeaders)) {
3951
+ const has2 = initHeaders.some(([name]) => name.toLowerCase() === "user-agent");
3952
+ return has2 ? initHeaders : [...initHeaders, ["user-agent", SDK_USER_AGENT]];
3953
+ }
3954
+ const has = Object.keys(initHeaders).some((name) => name.toLowerCase() === "user-agent");
3955
+ return has ? initHeaders : { "user-agent": SDK_USER_AGENT, ...initHeaders };
3956
+ }
3957
+ var sdkFetch = (input, init) => fetch(input, { ...init, headers: withUserAgent(init?.headers) });
3940
3958
 
3941
3959
  // src/well-known.ts
3942
3960
  var CACHE_TTL_MS = 60 * 60 * 1e3;
@@ -3966,7 +3984,7 @@ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
3966
3984
  initCheckPerformed = true;
3967
3985
  try {
3968
3986
  const probeUrl = `${apiBaseUrl}/agents/verify-access`;
3969
- const response = await fetch(probeUrl, { method: "HEAD" });
3987
+ const response = await sdkFetch(probeUrl, { method: "HEAD" });
3970
3988
  const contentType = response.headers.get("content-type") ?? "";
3971
3989
  if (contentType.startsWith("text/html")) {
3972
3990
  const message = `[VerificationGateway] apiBaseUrl '${apiBaseUrl}' returned HTML (content-type: ${contentType}). This usually means apiBaseUrl is pointing at a marketing site instead of the API. Expected: 'https://astrasync.ai/api' (prod) or 'https://staging.astrasync.ai/api' (staging).`;
@@ -3980,7 +3998,7 @@ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
3980
3998
  );
3981
3999
  }
3982
4000
  if (apiKey) {
3983
- const selfCheck = await fetch(`${apiBaseUrl}/agents/verify-access/self-check`, {
4001
+ const selfCheck = await sdkFetch(`${apiBaseUrl}/agents/verify-access/self-check`, {
3984
4002
  headers: { Authorization: `Bearer ${apiKey}` }
3985
4003
  });
3986
4004
  if (selfCheck.status === 401) {
@@ -4193,7 +4211,7 @@ async function callVerifyAccessAPI(config, request) {
4193
4211
  headers["X-API-Key"] = config.apiKey;
4194
4212
  }
4195
4213
  try {
4196
- const response = await fetch(`${config.apiBaseUrl}/agents/verify-access`, {
4214
+ const response = await sdkFetch(`${config.apiBaseUrl}/agents/verify-access`, {
4197
4215
  method: "POST",
4198
4216
  headers,
4199
4217
  body: JSON.stringify(body),
@@ -4375,12 +4393,15 @@ async function verify(config, request, options) {
4375
4393
  const verificationContext = apiResponse.verificationContext;
4376
4394
  const accessLevel = apiResponse.access?.accessLevel ?? "standard";
4377
4395
  const result = {
4378
- // Round-18 G4: backend allowed access. Identity is verified (we resolved
4379
- // the caller to an agent) and policy passed all gates. Read idVerified
4380
- // from verificationContext for symmetry with the deny branch; default true
4381
- // on success path since `access.allowed === true` implies identity was
4382
- // resolvable (anonymous-allow paths flow through createGuidanceResponse).
4383
- identityVerified: apiResponse.verificationContext?.idVerified !== false,
4396
+ // 4.5.0 (probe F1): read idVerified from verificationContext with the
4397
+ // SAME absent⇒false default as the deny branch. The previous `!== false`
4398
+ // default manufactured `identityVerified: true` for anonymous
4399
+ // allow_full/allow_partial/audit responses (which allow access but omit
4400
+ // verificationContext entirely) — the "anonymous caller labelled
4401
+ // verified" defect. Every authenticated success response has carried
4402
+ // `verificationContext.idVerified: true` since v2.2.4, so a truth claim
4403
+ // this load-bearing must never be defaulted on.
4404
+ identityVerified: apiResponse.verificationContext?.idVerified === true,
4384
4405
  policyAllowed: true,
4385
4406
  accessLevel,
4386
4407
  agent,