@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
@@ -3955,7 +3955,25 @@ function getTrustLevel(score) {
3955
3955
  }
3956
3956
 
3957
3957
  // src/version.ts
3958
- var SDK_VERSION = "4.1.0";
3958
+ var SDK_VERSION = "4.5.0";
3959
+
3960
+ // src/http.ts
3961
+ var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
3962
+ function withUserAgent(initHeaders) {
3963
+ if (!initHeaders) return { "user-agent": SDK_USER_AGENT };
3964
+ if (initHeaders instanceof Headers) {
3965
+ const copy = new Headers(initHeaders);
3966
+ if (!copy.has("user-agent")) copy.set("user-agent", SDK_USER_AGENT);
3967
+ return copy;
3968
+ }
3969
+ if (Array.isArray(initHeaders)) {
3970
+ const has2 = initHeaders.some(([name]) => name.toLowerCase() === "user-agent");
3971
+ return has2 ? initHeaders : [...initHeaders, ["user-agent", SDK_USER_AGENT]];
3972
+ }
3973
+ const has = Object.keys(initHeaders).some((name) => name.toLowerCase() === "user-agent");
3974
+ return has ? initHeaders : { "user-agent": SDK_USER_AGENT, ...initHeaders };
3975
+ }
3976
+ var sdkFetch = (input, init) => fetch(input, { ...init, headers: withUserAgent(init?.headers) });
3959
3977
 
3960
3978
  // src/well-known.ts
3961
3979
  var CACHE_TTL_MS = 60 * 60 * 1e3;
@@ -3985,7 +4003,7 @@ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
3985
4003
  initCheckPerformed = true;
3986
4004
  try {
3987
4005
  const probeUrl = `${apiBaseUrl}/agents/verify-access`;
3988
- const response = await fetch(probeUrl, { method: "HEAD" });
4006
+ const response = await sdkFetch(probeUrl, { method: "HEAD" });
3989
4007
  const contentType = response.headers.get("content-type") ?? "";
3990
4008
  if (contentType.startsWith("text/html")) {
3991
4009
  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).`;
@@ -3999,7 +4017,7 @@ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
3999
4017
  );
4000
4018
  }
4001
4019
  if (apiKey) {
4002
- const selfCheck = await fetch(`${apiBaseUrl}/agents/verify-access/self-check`, {
4020
+ const selfCheck = await sdkFetch(`${apiBaseUrl}/agents/verify-access/self-check`, {
4003
4021
  headers: { Authorization: `Bearer ${apiKey}` }
4004
4022
  });
4005
4023
  if (selfCheck.status === 401) {
@@ -4212,7 +4230,7 @@ async function callVerifyAccessAPI(config, request) {
4212
4230
  headers["X-API-Key"] = config.apiKey;
4213
4231
  }
4214
4232
  try {
4215
- const response = await fetch(`${config.apiBaseUrl}/agents/verify-access`, {
4233
+ const response = await sdkFetch(`${config.apiBaseUrl}/agents/verify-access`, {
4216
4234
  method: "POST",
4217
4235
  headers,
4218
4236
  body: JSON.stringify(body),
@@ -4394,12 +4412,15 @@ async function verify(config, request, options) {
4394
4412
  const verificationContext = apiResponse.verificationContext;
4395
4413
  const accessLevel = apiResponse.access?.accessLevel ?? "standard";
4396
4414
  const result = {
4397
- // Round-18 G4: backend allowed access. Identity is verified (we resolved
4398
- // the caller to an agent) and policy passed all gates. Read idVerified
4399
- // from verificationContext for symmetry with the deny branch; default true
4400
- // on success path since `access.allowed === true` implies identity was
4401
- // resolvable (anonymous-allow paths flow through createGuidanceResponse).
4402
- identityVerified: apiResponse.verificationContext?.idVerified !== false,
4415
+ // 4.5.0 (probe F1): read idVerified from verificationContext with the
4416
+ // SAME absent⇒false default as the deny branch. The previous `!== false`
4417
+ // default manufactured `identityVerified: true` for anonymous
4418
+ // allow_full/allow_partial/audit responses (which allow access but omit
4419
+ // verificationContext entirely) — the "anonymous caller labelled
4420
+ // verified" defect. Every authenticated success response has carried
4421
+ // `verificationContext.idVerified: true` since v2.2.4, so a truth claim
4422
+ // this load-bearing must never be defaulted on.
4423
+ identityVerified: apiResponse.verificationContext?.idVerified === true,
4403
4424
  policyAllowed: true,
4404
4425
  accessLevel,
4405
4426
  agent,