@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
@@ -3942,7 +3942,25 @@ function getTrustLevel(score) {
3942
3942
  }
3943
3943
 
3944
3944
  // src/version.ts
3945
- var SDK_VERSION = "4.1.0";
3945
+ var SDK_VERSION = "4.5.0";
3946
+
3947
+ // src/http.ts
3948
+ var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
3949
+ function withUserAgent(initHeaders) {
3950
+ if (!initHeaders) return { "user-agent": SDK_USER_AGENT };
3951
+ if (initHeaders instanceof Headers) {
3952
+ const copy = new Headers(initHeaders);
3953
+ if (!copy.has("user-agent")) copy.set("user-agent", SDK_USER_AGENT);
3954
+ return copy;
3955
+ }
3956
+ if (Array.isArray(initHeaders)) {
3957
+ const has2 = initHeaders.some(([name]) => name.toLowerCase() === "user-agent");
3958
+ return has2 ? initHeaders : [...initHeaders, ["user-agent", SDK_USER_AGENT]];
3959
+ }
3960
+ const has = Object.keys(initHeaders).some((name) => name.toLowerCase() === "user-agent");
3961
+ return has ? initHeaders : { "user-agent": SDK_USER_AGENT, ...initHeaders };
3962
+ }
3963
+ var sdkFetch = (input, init) => fetch(input, { ...init, headers: withUserAgent(init?.headers) });
3946
3964
 
3947
3965
  // src/well-known.ts
3948
3966
  var CACHE_TTL_MS = 60 * 60 * 1e3;
@@ -3972,7 +3990,7 @@ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
3972
3990
  initCheckPerformed = true;
3973
3991
  try {
3974
3992
  const probeUrl = `${apiBaseUrl}/agents/verify-access`;
3975
- const response = await fetch(probeUrl, { method: "HEAD" });
3993
+ const response = await sdkFetch(probeUrl, { method: "HEAD" });
3976
3994
  const contentType = response.headers.get("content-type") ?? "";
3977
3995
  if (contentType.startsWith("text/html")) {
3978
3996
  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).`;
@@ -3986,7 +4004,7 @@ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
3986
4004
  );
3987
4005
  }
3988
4006
  if (apiKey) {
3989
- const selfCheck = await fetch(`${apiBaseUrl}/agents/verify-access/self-check`, {
4007
+ const selfCheck = await sdkFetch(`${apiBaseUrl}/agents/verify-access/self-check`, {
3990
4008
  headers: { Authorization: `Bearer ${apiKey}` }
3991
4009
  });
3992
4010
  if (selfCheck.status === 401) {
@@ -4199,7 +4217,7 @@ async function callVerifyAccessAPI(config, request) {
4199
4217
  headers["X-API-Key"] = config.apiKey;
4200
4218
  }
4201
4219
  try {
4202
- const response = await fetch(`${config.apiBaseUrl}/agents/verify-access`, {
4220
+ const response = await sdkFetch(`${config.apiBaseUrl}/agents/verify-access`, {
4203
4221
  method: "POST",
4204
4222
  headers,
4205
4223
  body: JSON.stringify(body),
@@ -4381,12 +4399,15 @@ async function verify(config, request, options) {
4381
4399
  const verificationContext = apiResponse.verificationContext;
4382
4400
  const accessLevel = apiResponse.access?.accessLevel ?? "standard";
4383
4401
  const result = {
4384
- // Round-18 G4: backend allowed access. Identity is verified (we resolved
4385
- // the caller to an agent) and policy passed all gates. Read idVerified
4386
- // from verificationContext for symmetry with the deny branch; default true
4387
- // on success path since `access.allowed === true` implies identity was
4388
- // resolvable (anonymous-allow paths flow through createGuidanceResponse).
4389
- identityVerified: apiResponse.verificationContext?.idVerified !== false,
4402
+ // 4.5.0 (probe F1): read idVerified from verificationContext with the
4403
+ // SAME absent⇒false default as the deny branch. The previous `!== false`
4404
+ // default manufactured `identityVerified: true` for anonymous
4405
+ // allow_full/allow_partial/audit responses (which allow access but omit
4406
+ // verificationContext entirely) — the "anonymous caller labelled
4407
+ // verified" defect. Every authenticated success response has carried
4408
+ // `verificationContext.idVerified: true` since v2.2.4, so a truth claim
4409
+ // this load-bearing must never be defaulted on.
4410
+ identityVerified: apiResponse.verificationContext?.idVerified === true,
4390
4411
  policyAllowed: true,
4391
4412
  accessLevel,
4392
4413
  agent,