@astrasyncai/verification-gateway 5.15.0 → 5.16.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 (96) hide show
  1. package/README.md +9 -1
  2. package/dist/adapters/express.d.mts +1 -1
  3. package/dist/adapters/express.d.ts +1 -1
  4. package/dist/adapters/express.js +17 -2
  5. package/dist/adapters/express.js.map +1 -1
  6. package/dist/adapters/express.mjs +17 -2
  7. package/dist/adapters/express.mjs.map +1 -1
  8. package/dist/adapters/mcp.d.mts +1 -1
  9. package/dist/adapters/mcp.d.ts +1 -1
  10. package/dist/adapters/mcp.js +4 -1
  11. package/dist/adapters/mcp.js.map +1 -1
  12. package/dist/adapters/mcp.mjs +4 -1
  13. package/dist/adapters/mcp.mjs.map +1 -1
  14. package/dist/adapters/nextjs.d.mts +1 -1
  15. package/dist/adapters/nextjs.d.ts +1 -1
  16. package/dist/adapters/nextjs.js +17 -2
  17. package/dist/adapters/nextjs.js.map +1 -1
  18. package/dist/adapters/nextjs.mjs +17 -2
  19. package/dist/adapters/nextjs.mjs.map +1 -1
  20. package/dist/adapters/sdk.d.mts +1 -1
  21. package/dist/adapters/sdk.d.ts +1 -1
  22. package/dist/adapters/sdk.js +4 -1
  23. package/dist/adapters/sdk.js.map +1 -1
  24. package/dist/adapters/sdk.mjs +4 -1
  25. package/dist/adapters/sdk.mjs.map +1 -1
  26. package/dist/agent/index.d.mts +69 -54
  27. package/dist/agent/index.d.ts +69 -54
  28. package/dist/agent/index.js +24 -14
  29. package/dist/agent/index.js.map +1 -1
  30. package/dist/agent/index.mjs +24 -14
  31. package/dist/agent/index.mjs.map +1 -1
  32. package/dist/bin/astrasync-claude-hook.js +4 -1
  33. package/dist/bin/astrasync-codex-hook.js +4 -1
  34. package/dist/bin/astrasync-guard.js +123 -1
  35. package/dist/bin/astrasync.js +146 -6
  36. package/dist/browser/background.js +4 -1
  37. package/dist/browser/background.js.map +1 -1
  38. package/dist/browser/background.mjs +4 -1
  39. package/dist/browser/background.mjs.map +1 -1
  40. package/dist/cli/index.js +1 -1
  41. package/dist/cli/index.js.map +1 -1
  42. package/dist/cli/index.mjs +1 -1
  43. package/dist/cli/index.mjs.map +1 -1
  44. package/dist/codex/index.js +4 -1
  45. package/dist/codex/index.js.map +1 -1
  46. package/dist/codex/index.mjs +4 -1
  47. package/dist/codex/index.mjs.map +1 -1
  48. package/dist/cursor/extension.js +4 -1
  49. package/dist/cursor/extension.js.map +1 -1
  50. package/dist/cursor/extension.mjs +4 -1
  51. package/dist/cursor/extension.mjs.map +1 -1
  52. package/dist/edge-config.d.mts +1 -1
  53. package/dist/edge-config.d.ts +1 -1
  54. package/dist/edge-config.js +1 -1
  55. package/dist/edge-config.js.map +1 -1
  56. package/dist/edge-config.mjs +1 -1
  57. package/dist/edge-config.mjs.map +1 -1
  58. package/dist/edge-core/index.d.mts +1 -1
  59. package/dist/edge-core/index.d.ts +1 -1
  60. package/dist/edge-core/index.js +5 -2
  61. package/dist/edge-core/index.js.map +1 -1
  62. package/dist/edge-core/index.mjs +5 -2
  63. package/dist/edge-core/index.mjs.map +1 -1
  64. package/dist/gateway/gateway.js +4 -1
  65. package/dist/gateway/gateway.js.map +1 -1
  66. package/dist/gateway/gateway.mjs +4 -1
  67. package/dist/gateway/gateway.mjs.map +1 -1
  68. package/dist/git-trigger/git-hooks.d.mts +1 -1
  69. package/dist/git-trigger/git-hooks.d.ts +1 -1
  70. package/dist/index.d.mts +96 -57
  71. package/dist/index.d.ts +96 -57
  72. package/dist/index.js +43 -15
  73. package/dist/index.js.map +1 -1
  74. package/dist/index.mjs +42 -15
  75. package/dist/index.mjs.map +1 -1
  76. package/dist/registration/index.js +1 -1
  77. package/dist/registration/index.js.map +1 -1
  78. package/dist/registration/index.mjs +1 -1
  79. package/dist/registration/index.mjs.map +1 -1
  80. package/dist/transport/index.js +1 -1
  81. package/dist/transport/index.js.map +1 -1
  82. package/dist/transport/index.mjs +1 -1
  83. package/dist/transport/index.mjs.map +1 -1
  84. package/dist/{types-Dxf9DBpr.d.mts → types-Blz520bR.d.mts} +10 -0
  85. package/dist/{types-Dxf9DBpr.d.ts → types-Blz520bR.d.ts} +10 -0
  86. package/dist/{types-DtJjlW4O.d.ts → types-Bm1QvGqI.d.ts} +10 -0
  87. package/dist/{types-Eg6VoBNH.d.mts → types-DBe4hgfT.d.mts} +10 -0
  88. package/dist/ui/index.d.mts +1 -1
  89. package/dist/ui/index.d.ts +1 -1
  90. package/dist/verify.d.mts +1 -1
  91. package/dist/verify.d.ts +1 -1
  92. package/dist/verify.js +4 -1
  93. package/dist/verify.js.map +1 -1
  94. package/dist/verify.mjs +4 -1
  95. package/dist/verify.mjs.map +1 -1
  96. package/package.json +1 -1
package/README.md CHANGED
@@ -836,7 +836,15 @@ The installer registers the `astrasync-claude-hook` binary in Claude Code's `set
836
836
  - **BREAKING type change:** `SettlementArtifact.binding` is now a union — `StablecoinSettlementBinding` (v2: `amountMinor` integer minor units + `assetDecimals`, pinned `chainId`/`tokenContract`/CAIP-19 `asset`) or `FiatSettlementBinding` (processor artifacts keep major-unit `amount`). The float `amount` field is gone from stablecoin bindings. Matches the server's `ver: 2` wire format, which redeems/verifies reject other versions of.
837
837
  - Settlement Artifacts docs rewritten: voucher lifecycle endpoints (verify / redeem / JWKS), expected-value gates on redeem, revocation semantics, and an explicit **guarantee boundary** — what a successful redeem proves and what it doesn't (redeem proves the authorization is live and single-use; it does not check or move funds).
838
838
 
839
- ### v3.7.1 — ChallengeHandler auto-include
839
+ ### v5.16.0 — ChallengeHandler auto-include removed
840
+
841
+ - `ChallengeHandler` answers only for counterparties registered as pending —
842
+ the 3.7.1 auto-include let anyone presenting an agent's ASTRA-id pass its
843
+ runtime challenge. Pass `challengeHandler` to `AgentClient` and `fetch()`
844
+ registers each call while it is in flight; otherwise call
845
+ `registerPending()` / `removePending()` around each interaction.
846
+
847
+ ### v3.7.1 — ChallengeHandler auto-include (removed in 5.16.0)
840
848
 
841
849
  - `ChallengeHandler` auto-includes the incoming `counterpartyId`/`counterpartyUrl` in the challenge response when no counterparties were pre-registered via `registerPending()` — the correct default for agents that never call it. Pre-registered whitelists behave exactly as before.
842
850
  - Runtime-challenge docs: auto-include default + double-appended-path warning.
@@ -1,5 +1,5 @@
1
1
  import { RequestHandler, Request } from 'express';
2
- import { d as VerificationResult, E as ExpressMiddlewareOptions, a as AstraSyncCredentials } from '../types-Dxf9DBpr.mjs';
2
+ import { d as VerificationResult, E as ExpressMiddlewareOptions, a as AstraSyncCredentials } from '../types-Blz520bR.mjs';
3
3
 
4
4
  /**
5
5
  * AstraSync Universal Verification Gateway - Express Middleware
@@ -1,5 +1,5 @@
1
1
  import { RequestHandler, Request } from 'express';
2
- import { d as VerificationResult, E as ExpressMiddlewareOptions, a as AstraSyncCredentials } from '../types-Dxf9DBpr.js';
2
+ import { d as VerificationResult, E as ExpressMiddlewareOptions, a as AstraSyncCredentials } from '../types-Blz520bR.js';
3
3
 
4
4
  /**
5
5
  * AstraSync Universal Verification Gateway - Express Middleware
@@ -350,7 +350,7 @@ function detectCommerce(req, host) {
350
350
  evidence: { hasTimestamp: Boolean(acpTimestamp), ...truncated }
351
351
  };
352
352
  }
353
- if (/\/checkout[-_]sessions(\/|$)/.test(req.uri)) {
353
+ if (/\/checkout[-_]sessions(\/|$)/.test(req.uri) && headerValue(req, "ucp-agent")) {
354
354
  return {
355
355
  protocol: "ucp",
356
356
  artifacts: { ucpRequest: { method, url, ...jsonBody && { body: jsonBody } } },
@@ -457,8 +457,19 @@ function detectExpressCommerce(req) {
457
457
  );
458
458
  }
459
459
 
460
+ // src/types.ts
461
+ function routePolicyOf(route) {
462
+ if (!route) return void 0;
463
+ const owners = route.allowedOwners?.filter(Boolean) ?? [];
464
+ const policy = {
465
+ ...owners.length > 0 && { allowedOwners: owners },
466
+ ...route.requiresRuntimeChallenge === true && { requiresRuntimeChallenge: true }
467
+ };
468
+ return Object.keys(policy).length > 0 ? policy : void 0;
469
+ }
470
+
460
471
  // src/version.ts
461
- var SDK_VERSION = "5.15.0";
472
+ var SDK_VERSION = "5.16.0";
462
473
 
463
474
  // src/http.ts
464
475
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -758,6 +769,8 @@ function getCacheKey(request, counterpartyId) {
758
769
  request.durationRequired ?? "",
759
770
  request.invocationProtocol || "",
760
771
  request.enableRuntimeChallenge ? "1" : "0",
772
+ // 5.16.0: route policy changes the verdict (owners / challenge).
773
+ request.routePolicy ? JSON.stringify(request.routePolicy) : "",
761
774
  // callerMetadata fields contribute to risk model; include the ones
762
775
  // backend reads. sourceIp/userAgent/forwardedFor change per-request
763
776
  // so their inclusion effectively forces a re-check for any varying
@@ -964,6 +977,7 @@ async function callVerifyAccessAPI(config, request) {
964
977
  if (requestData.subAgentDepth !== void 0) body.subAgentDepth = requestData.subAgentDepth;
965
978
  if (requestData.enableRuntimeChallenge)
966
979
  body.enableRuntimeChallenge = requestData.enableRuntimeChallenge;
980
+ if (requestData.routePolicy) body.routePolicy = requestData.routePolicy;
967
981
  if (requestData.createSession) body.createSession = requestData.createSession;
968
982
  if (requestData.durationRequired) body.durationRequired = requestData.durationRequired;
969
983
  if (requestData.counterpartyType) body.counterpartyType = requestData.counterpartyType;
@@ -2508,6 +2522,7 @@ function createMiddleware(options) {
2508
2522
  counterpartyUrl,
2509
2523
  counterpartyType: config.counterpartyType || "api",
2510
2524
  enableRuntimeChallenge,
2525
+ ...routePolicyOf(routeConfig) && { routePolicy: routePolicyOf(routeConfig) },
2511
2526
  durationRequired: astraCreds?.pdlss?.duration?.maxSessionDuration,
2512
2527
  ...txValue !== void 0 && { transactionValue: txValue },
2513
2528
  ...txCurrency && { currency: txCurrency },