@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
@@ -3915,7 +3915,25 @@ function getTrustLevel(score) {
3915
3915
  }
3916
3916
 
3917
3917
  // src/version.ts
3918
- var SDK_VERSION = "4.1.0";
3918
+ var SDK_VERSION = "4.5.0";
3919
+
3920
+ // src/http.ts
3921
+ var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
3922
+ function withUserAgent(initHeaders) {
3923
+ if (!initHeaders) return { "user-agent": SDK_USER_AGENT };
3924
+ if (initHeaders instanceof Headers) {
3925
+ const copy = new Headers(initHeaders);
3926
+ if (!copy.has("user-agent")) copy.set("user-agent", SDK_USER_AGENT);
3927
+ return copy;
3928
+ }
3929
+ if (Array.isArray(initHeaders)) {
3930
+ const has2 = initHeaders.some(([name]) => name.toLowerCase() === "user-agent");
3931
+ return has2 ? initHeaders : [...initHeaders, ["user-agent", SDK_USER_AGENT]];
3932
+ }
3933
+ const has = Object.keys(initHeaders).some((name) => name.toLowerCase() === "user-agent");
3934
+ return has ? initHeaders : { "user-agent": SDK_USER_AGENT, ...initHeaders };
3935
+ }
3936
+ var sdkFetch = (input, init) => fetch(input, { ...init, headers: withUserAgent(init?.headers) });
3919
3937
 
3920
3938
  // src/well-known.ts
3921
3939
  var CACHE_TTL_MS = 60 * 60 * 1e3;
@@ -3945,7 +3963,7 @@ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
3945
3963
  initCheckPerformed = true;
3946
3964
  try {
3947
3965
  const probeUrl = `${apiBaseUrl}/agents/verify-access`;
3948
- const response = await fetch(probeUrl, { method: "HEAD" });
3966
+ const response = await sdkFetch(probeUrl, { method: "HEAD" });
3949
3967
  const contentType = response.headers.get("content-type") ?? "";
3950
3968
  if (contentType.startsWith("text/html")) {
3951
3969
  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).`;
@@ -3959,7 +3977,7 @@ async function performInitCheck(apiBaseUrl, debug, strictInit, apiKey) {
3959
3977
  );
3960
3978
  }
3961
3979
  if (apiKey) {
3962
- const selfCheck = await fetch(`${apiBaseUrl}/agents/verify-access/self-check`, {
3980
+ const selfCheck = await sdkFetch(`${apiBaseUrl}/agents/verify-access/self-check`, {
3963
3981
  headers: { Authorization: `Bearer ${apiKey}` }
3964
3982
  });
3965
3983
  if (selfCheck.status === 401) {
@@ -4172,7 +4190,7 @@ async function callVerifyAccessAPI(config, request) {
4172
4190
  headers["X-API-Key"] = config.apiKey;
4173
4191
  }
4174
4192
  try {
4175
- const response = await fetch(`${config.apiBaseUrl}/agents/verify-access`, {
4193
+ const response = await sdkFetch(`${config.apiBaseUrl}/agents/verify-access`, {
4176
4194
  method: "POST",
4177
4195
  headers,
4178
4196
  body: JSON.stringify(body),
@@ -4354,12 +4372,15 @@ async function verify(config, request, options) {
4354
4372
  const verificationContext = apiResponse.verificationContext;
4355
4373
  const accessLevel = apiResponse.access?.accessLevel ?? "standard";
4356
4374
  const result = {
4357
- // Round-18 G4: backend allowed access. Identity is verified (we resolved
4358
- // the caller to an agent) and policy passed all gates. Read idVerified
4359
- // from verificationContext for symmetry with the deny branch; default true
4360
- // on success path since `access.allowed === true` implies identity was
4361
- // resolvable (anonymous-allow paths flow through createGuidanceResponse).
4362
- identityVerified: apiResponse.verificationContext?.idVerified !== false,
4375
+ // 4.5.0 (probe F1): read idVerified from verificationContext with the
4376
+ // SAME absent⇒false default as the deny branch. The previous `!== false`
4377
+ // default manufactured `identityVerified: true` for anonymous
4378
+ // allow_full/allow_partial/audit responses (which allow access but omit
4379
+ // verificationContext entirely) — the "anonymous caller labelled
4380
+ // verified" defect. Every authenticated success response has carried
4381
+ // `verificationContext.idVerified: true` since v2.2.4, so a truth claim
4382
+ // this load-bearing must never be defaulted on.
4383
+ identityVerified: apiResponse.verificationContext?.idVerified === true,
4363
4384
  policyAllowed: true,
4364
4385
  accessLevel,
4365
4386
  agent,