@astrasyncai/verification-gateway 4.2.0 → 4.3.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 (112) hide show
  1. package/README.md +45 -21
  2. package/dist/adapter-interface/interface.d.mts +2 -2
  3. package/dist/adapter-interface/interface.d.ts +2 -2
  4. package/dist/adapters/express.d.mts +2 -2
  5. package/dist/adapters/express.d.ts +2 -2
  6. package/dist/adapters/express.js +56 -4
  7. package/dist/adapters/express.js.map +1 -1
  8. package/dist/adapters/express.mjs +56 -4
  9. package/dist/adapters/express.mjs.map +1 -1
  10. package/dist/adapters/mcp.d.mts +38 -30
  11. package/dist/adapters/mcp.d.ts +38 -30
  12. package/dist/adapters/mcp.js +22 -5
  13. package/dist/adapters/mcp.js.map +1 -1
  14. package/dist/adapters/mcp.mjs +22 -5
  15. package/dist/adapters/mcp.mjs.map +1 -1
  16. package/dist/adapters/nextjs.d.mts +2 -2
  17. package/dist/adapters/nextjs.d.ts +2 -2
  18. package/dist/adapters/nextjs.js +54 -4
  19. package/dist/adapters/nextjs.js.map +1 -1
  20. package/dist/adapters/nextjs.mjs +54 -4
  21. package/dist/adapters/nextjs.mjs.map +1 -1
  22. package/dist/adapters/sdk.d.mts +2 -2
  23. package/dist/adapters/sdk.d.ts +2 -2
  24. package/dist/agent/index.d.mts +2 -2
  25. package/dist/agent/index.d.ts +2 -2
  26. package/dist/agent/index.js +2 -2
  27. package/dist/agent/index.js.map +1 -1
  28. package/dist/agent/index.mjs +2 -2
  29. package/dist/agent/index.mjs.map +1 -1
  30. package/dist/bin/astrasync-claude-hook.js +2 -2
  31. package/dist/bin/astrasync-codex-hook.js +2 -2
  32. package/dist/bin/astrasync-guard.js +2 -2
  33. package/dist/bin/astrasync.js +14 -4
  34. package/dist/browser/background.js +2 -2
  35. package/dist/browser/background.js.map +1 -1
  36. package/dist/browser/background.mjs +2 -2
  37. package/dist/browser/background.mjs.map +1 -1
  38. package/dist/browser/browser-adapter.d.mts +2 -2
  39. package/dist/browser/browser-adapter.d.ts +2 -2
  40. package/dist/claude-code/claude-code-adapter.d.mts +2 -2
  41. package/dist/claude-code/claude-code-adapter.d.ts +2 -2
  42. package/dist/cli/index.d.mts +2 -2
  43. package/dist/cli/index.d.ts +2 -2
  44. package/dist/codex/index.d.mts +2 -2
  45. package/dist/codex/index.d.ts +2 -2
  46. package/dist/codex/index.js +2 -2
  47. package/dist/codex/index.js.map +1 -1
  48. package/dist/codex/index.mjs +2 -2
  49. package/dist/codex/index.mjs.map +1 -1
  50. package/dist/cursor/cursor-adapter.d.mts +2 -2
  51. package/dist/cursor/cursor-adapter.d.ts +2 -2
  52. package/dist/cursor/extension.d.mts +2 -2
  53. package/dist/cursor/extension.d.ts +2 -2
  54. package/dist/cursor/extension.js +2 -2
  55. package/dist/cursor/extension.js.map +1 -1
  56. package/dist/cursor/extension.mjs +2 -2
  57. package/dist/cursor/extension.mjs.map +1 -1
  58. package/dist/edge-config.d.mts +1 -1
  59. package/dist/edge-config.d.ts +1 -1
  60. package/dist/edge-core/index.d.mts +1 -1
  61. package/dist/edge-core/index.d.ts +1 -1
  62. package/dist/edge-core/index.js +25 -5
  63. package/dist/edge-core/index.js.map +1 -1
  64. package/dist/edge-core/index.mjs +25 -5
  65. package/dist/edge-core/index.mjs.map +1 -1
  66. package/dist/{express-D_4hTn5Z.d.mts → express-CR6F3njD.d.mts} +1 -1
  67. package/dist/{express-BVd1_3FE.d.ts → express-DaqL11tx.d.ts} +1 -1
  68. package/dist/gateway/gateway.d.mts +2 -2
  69. package/dist/gateway/gateway.d.ts +2 -2
  70. package/dist/gateway/gateway.js +2 -2
  71. package/dist/gateway/gateway.js.map +1 -1
  72. package/dist/gateway/gateway.mjs +2 -2
  73. package/dist/gateway/gateway.mjs.map +1 -1
  74. package/dist/git-trigger/git-hooks.d.mts +2 -2
  75. package/dist/git-trigger/git-hooks.d.ts +2 -2
  76. package/dist/{index-B0YHu_SP.d.ts → index-B5Ts1WtM.d.ts} +3 -3
  77. package/dist/{index-T1aBoUcc.d.ts → index-BfIxCYIZ.d.ts} +1 -1
  78. package/dist/{index-BPEBlOsE.d.mts → index-Cub7lK-T.d.mts} +3 -3
  79. package/dist/{index-DQb5-_1X.d.mts → index-CwAh7Tln.d.mts} +1 -1
  80. package/dist/index.d.mts +7 -7
  81. package/dist/index.d.ts +7 -7
  82. package/dist/index.js +74 -35
  83. package/dist/index.js.map +1 -1
  84. package/dist/index.mjs +71 -32
  85. package/dist/index.mjs.map +1 -1
  86. package/dist/local-evaluator/evaluator.d.mts +2 -2
  87. package/dist/local-evaluator/evaluator.d.ts +2 -2
  88. package/dist/metadata-capture.d.mts +18 -5
  89. package/dist/metadata-capture.d.ts +18 -5
  90. package/dist/metadata-capture.js +21 -4
  91. package/dist/metadata-capture.js.map +1 -1
  92. package/dist/metadata-capture.mjs +20 -4
  93. package/dist/metadata-capture.mjs.map +1 -1
  94. package/dist/{nextjs-w7RTbP1P.d.ts → nextjs-DL6uE1ye.d.ts} +1 -1
  95. package/dist/{nextjs-WyeVr2Kp.d.mts → nextjs-DlX6xwbU.d.mts} +1 -1
  96. package/dist/{sdk-CbTNIkAa.d.mts → sdk-Bbh9B_dw.d.mts} +1 -1
  97. package/dist/{sdk-QeX0Z8Ho.d.ts → sdk-C6SASmsh.d.ts} +1 -1
  98. package/dist/transport/index.d.mts +2 -2
  99. package/dist/transport/index.d.ts +2 -2
  100. package/dist/transport/index.js +5 -5
  101. package/dist/transport/index.js.map +1 -1
  102. package/dist/transport/index.mjs +2 -2
  103. package/dist/transport/index.mjs.map +1 -1
  104. package/dist/{types-r850cOt0.d.mts → types-C0zfSXMB.d.mts} +22 -0
  105. package/dist/{types-DqfPU5Bl.d.mts → types-C7Rb-w0d.d.mts} +1 -1
  106. package/dist/{types-sMxBT-nM.d.ts → types-DwSfO7Sb.d.ts} +22 -0
  107. package/dist/{types-BLUx92FJ.d.ts → types-nIh3HtuA.d.ts} +1 -1
  108. package/dist/ui/index.d.mts +1 -1
  109. package/dist/ui/index.d.ts +1 -1
  110. package/dist/verify.d.mts +1 -1
  111. package/dist/verify.d.ts +1 -1
  112. package/package.json +2 -4
@@ -1,4 +1,4 @@
1
- import { G as GatewayConfig } from './types-r850cOt0.mjs';
1
+ import { G as GatewayConfig } from './types-C0zfSXMB.mjs';
2
2
  import './metadata-capture.mjs';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { G as GatewayConfig } from './types-sMxBT-nM.js';
1
+ import { G as GatewayConfig } from './types-DwSfO7Sb.js';
2
2
  import './metadata-capture.js';
3
3
 
4
4
  /**
@@ -1,6 +1,6 @@
1
1
  import { EdgeMode, EdgeVerificationDepth, EdgeConfig } from '../edge-config.mjs';
2
2
  import { PlatformFingerprint } from '../platform-signatures.mjs';
3
- import { f as CommerceArtifactsPayload, w as VerificationRequest } from '../types-r850cOt0.mjs';
3
+ import { f as CommerceArtifactsPayload, w as VerificationRequest } from '../types-C0zfSXMB.mjs';
4
4
  import { verify } from '../verify.mjs';
5
5
  import { ObservedMetadata } from '../metadata-capture.mjs';
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { EdgeMode, EdgeVerificationDepth, EdgeConfig } from '../edge-config.js';
2
2
  import { PlatformFingerprint } from '../platform-signatures.js';
3
- import { f as CommerceArtifactsPayload, w as VerificationRequest } from '../types-sMxBT-nM.js';
3
+ import { f as CommerceArtifactsPayload, w as VerificationRequest } from '../types-DwSfO7Sb.js';
4
4
  import { verify } from '../verify.js';
5
5
  import { ObservedMetadata } from '../metadata-capture.js';
6
6
 
@@ -74,7 +74,9 @@ var SECRET_HEADER_NAMES = /* @__PURE__ */ new Set([
74
74
  "x-astrasync-signature",
75
75
  "x-astrasync-secret",
76
76
  "x-hub-signature",
77
- "x-hub-signature-256"
77
+ "x-hub-signature-256",
78
+ // Short-lived verify dedupe token — must never persist in stored metadata.
79
+ "x-astra-verified-hop"
78
80
  ]);
79
81
  var SECRET_HEADER_PREFIXES = ["x-astrasync-", "kya-", "kya_"];
80
82
  var CREDENTIAL_HEADER_NAMES = /* @__PURE__ */ new Set([
@@ -1098,6 +1100,12 @@ function buildManualReviewBody(outcome) {
1098
1100
  };
1099
1101
  }
1100
1102
 
1103
+ // src/verified-hop.ts
1104
+ var MCP_VERIFIED_HOP_HEADER = "X-Astra-Verified-Hop";
1105
+ function serializeVerifiedHop(marker) {
1106
+ return `${marker.astraId};${marker.sessionId ?? ""};${marker.checkedAt}`;
1107
+ }
1108
+
1101
1109
  // src/edge-core/enforce.ts
1102
1110
  var ASAT_HEADERS = {
1103
1111
  trustScore: "X-AstraSync-Trust-Score",
@@ -1106,6 +1114,7 @@ var ASAT_HEADERS = {
1106
1114
  permissions: "X-AstraSync-Permissions",
1107
1115
  observedDecision: "X-AstraSync-Observed-Decision"
1108
1116
  };
1117
+ var STRIP_HEADER_PREFIXES = ["x-astrasync-", "x-astra-verified-hop"];
1109
1118
  function passUntouched() {
1110
1119
  return { action: "pass", injectHeaders: {}, stripHeaderPrefixes: [] };
1111
1120
  }
@@ -1118,8 +1127,8 @@ function applyOutcome(options, outcome, policy) {
1118
1127
  if (outcome.decision !== "allow") {
1119
1128
  injectHeaders[ASAT_HEADERS.observedDecision] = outcome.decision;
1120
1129
  }
1121
- Object.assign(injectHeaders, asatHeaders(outcome));
1122
- return { action: "pass", injectHeaders, stripHeaderPrefixes: ["x-astrasync-"] };
1130
+ Object.assign(injectHeaders, asatHeaders(outcome), verifiedHopHeader(outcome));
1131
+ return { action: "pass", injectHeaders, stripHeaderPrefixes: STRIP_HEADER_PREFIXES };
1123
1132
  }
1124
1133
  switch (outcome.decision) {
1125
1134
  case "deny":
@@ -1137,8 +1146,8 @@ function applyOutcome(options, outcome, policy) {
1137
1146
  bodyJson: buildManualReviewBody(outcome)
1138
1147
  };
1139
1148
  default:
1140
- Object.assign(injectHeaders, asatHeaders(outcome));
1141
- return { action: "pass", injectHeaders, stripHeaderPrefixes: ["x-astrasync-"] };
1149
+ Object.assign(injectHeaders, asatHeaders(outcome), verifiedHopHeader(outcome));
1150
+ return { action: "pass", injectHeaders, stripHeaderPrefixes: STRIP_HEADER_PREFIXES };
1142
1151
  }
1143
1152
  }
1144
1153
  function asatHeaders(outcome) {
@@ -1151,6 +1160,17 @@ function asatHeaders(outcome) {
1151
1160
  ...accessLevel && { [ASAT_HEADERS.permissions]: accessLevel }
1152
1161
  };
1153
1162
  }
1163
+ function verifiedHopHeader(outcome) {
1164
+ const agentId = outcome.asat?.agentId;
1165
+ if (!agentId) return {};
1166
+ return {
1167
+ [MCP_VERIFIED_HOP_HEADER]: serializeVerifiedHop({
1168
+ astraId: agentId,
1169
+ ...outcome.sessionId && { sessionId: outcome.sessionId },
1170
+ checkedAt: Date.now()
1171
+ })
1172
+ };
1173
+ }
1154
1174
 
1155
1175
  // src/adapters/http-pdlss.ts
1156
1176
  var HTTP_METHOD_ACTION_TABLE = {