@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
@@ -3698,7 +3698,25 @@ function getTrustLevel(score) {
3698
3698
  }
3699
3699
 
3700
3700
  // src/version.ts
3701
- var SDK_VERSION = "4.1.0";
3701
+ var SDK_VERSION = "4.5.0";
3702
+
3703
+ // src/http.ts
3704
+ var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
3705
+ function withUserAgent(initHeaders) {
3706
+ if (!initHeaders) return { "user-agent": SDK_USER_AGENT };
3707
+ if (initHeaders instanceof Headers) {
3708
+ const copy = new Headers(initHeaders);
3709
+ if (!copy.has("user-agent")) copy.set("user-agent", SDK_USER_AGENT);
3710
+ return copy;
3711
+ }
3712
+ if (Array.isArray(initHeaders)) {
3713
+ const has2 = initHeaders.some(([name]) => name.toLowerCase() === "user-agent");
3714
+ return has2 ? initHeaders : [...initHeaders, ["user-agent", SDK_USER_AGENT]];
3715
+ }
3716
+ const has = Object.keys(initHeaders).some((name) => name.toLowerCase() === "user-agent");
3717
+ return has ? initHeaders : { "user-agent": SDK_USER_AGENT, ...initHeaders };
3718
+ }
3719
+ var sdkFetch = (input, init) => fetch(input, { ...init, headers: withUserAgent(init?.headers) });
3702
3720
 
3703
3721
  // src/well-known.ts
3704
3722
  var CACHE_TTL_MS = 60 * 60 * 1e3;
@@ -3728,7 +3746,7 @@ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
3728
3746
  initCheckPerformed = true;
3729
3747
  try {
3730
3748
  const probeUrl = `${apiBaseUrl}/agents/verify-access`;
3731
- const response = await fetch(probeUrl, { method: "HEAD" });
3749
+ const response = await sdkFetch(probeUrl, { method: "HEAD" });
3732
3750
  const contentType = response.headers.get("content-type") ?? "";
3733
3751
  if (contentType.startsWith("text/html")) {
3734
3752
  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).`;
@@ -3742,7 +3760,7 @@ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
3742
3760
  );
3743
3761
  }
3744
3762
  if (apiKey) {
3745
- const selfCheck = await fetch(`${apiBaseUrl}/agents/verify-access/self-check`, {
3763
+ const selfCheck = await sdkFetch(`${apiBaseUrl}/agents/verify-access/self-check`, {
3746
3764
  headers: { Authorization: `Bearer ${apiKey}` }
3747
3765
  });
3748
3766
  if (selfCheck.status === 401) {
@@ -3955,7 +3973,7 @@ async function callVerifyAccessAPI(config, request) {
3955
3973
  headers["X-API-Key"] = config.apiKey;
3956
3974
  }
3957
3975
  try {
3958
- const response = await fetch(`${config.apiBaseUrl}/agents/verify-access`, {
3976
+ const response = await sdkFetch(`${config.apiBaseUrl}/agents/verify-access`, {
3959
3977
  method: "POST",
3960
3978
  headers,
3961
3979
  body: JSON.stringify(body),
@@ -4137,12 +4155,15 @@ async function verify(config, request, options) {
4137
4155
  const verificationContext = apiResponse.verificationContext;
4138
4156
  const accessLevel = apiResponse.access?.accessLevel ?? "standard";
4139
4157
  const result = {
4140
- // Round-18 G4: backend allowed access. Identity is verified (we resolved
4141
- // the caller to an agent) and policy passed all gates. Read idVerified
4142
- // from verificationContext for symmetry with the deny branch; default true
4143
- // on success path since `access.allowed === true` implies identity was
4144
- // resolvable (anonymous-allow paths flow through createGuidanceResponse).
4145
- identityVerified: apiResponse.verificationContext?.idVerified !== false,
4158
+ // 4.5.0 (probe F1): read idVerified from verificationContext with the
4159
+ // SAME absent⇒false default as the deny branch. The previous `!== false`
4160
+ // default manufactured `identityVerified: true` for anonymous
4161
+ // allow_full/allow_partial/audit responses (which allow access but omit
4162
+ // verificationContext entirely) — the "anonymous caller labelled
4163
+ // verified" defect. Every authenticated success response has carried
4164
+ // `verificationContext.idVerified: true` since v2.2.4, so a truth claim
4165
+ // this load-bearing must never be defaulted on.
4166
+ identityVerified: apiResponse.verificationContext?.idVerified === true,
4146
4167
  policyAllowed: true,
4147
4168
  accessLevel,
4148
4169
  agent,