@astrasyncai/verification-gateway 5.4.2 → 5.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 (94) hide show
  1. package/README.md +65 -21
  2. package/dist/adapters/express.d.mts +1 -1
  3. package/dist/adapters/express.d.ts +1 -1
  4. package/dist/adapters/express.js +7 -3
  5. package/dist/adapters/express.js.map +1 -1
  6. package/dist/adapters/express.mjs +7 -3
  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 +7 -3
  11. package/dist/adapters/mcp.js.map +1 -1
  12. package/dist/adapters/mcp.mjs +7 -3
  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 +7 -3
  17. package/dist/adapters/nextjs.js.map +1 -1
  18. package/dist/adapters/nextjs.mjs +7 -3
  19. package/dist/adapters/nextjs.mjs.map +1 -1
  20. package/dist/adapters/sdk.d.mts +30 -1
  21. package/dist/adapters/sdk.d.ts +30 -1
  22. package/dist/adapters/sdk.js +40 -3
  23. package/dist/adapters/sdk.js.map +1 -1
  24. package/dist/adapters/sdk.mjs +40 -3
  25. package/dist/adapters/sdk.mjs.map +1 -1
  26. package/dist/agent/index.js +1 -1
  27. package/dist/agent/index.js.map +1 -1
  28. package/dist/agent/index.mjs +1 -1
  29. package/dist/agent/index.mjs.map +1 -1
  30. package/dist/bin/astrasync-claude-hook.js +7 -3
  31. package/dist/bin/astrasync-codex-hook.js +7 -3
  32. package/dist/bin/astrasync-guard.js +7 -3
  33. package/dist/bin/astrasync.js +8 -3
  34. package/dist/browser/background.js +7 -3
  35. package/dist/browser/background.js.map +1 -1
  36. package/dist/browser/background.mjs +7 -3
  37. package/dist/browser/background.mjs.map +1 -1
  38. package/dist/cli/index.js +1 -1
  39. package/dist/cli/index.js.map +1 -1
  40. package/dist/cli/index.mjs +1 -1
  41. package/dist/cli/index.mjs.map +1 -1
  42. package/dist/codex/index.js +7 -3
  43. package/dist/codex/index.js.map +1 -1
  44. package/dist/codex/index.mjs +7 -3
  45. package/dist/codex/index.mjs.map +1 -1
  46. package/dist/cursor/extension.js +7 -3
  47. package/dist/cursor/extension.js.map +1 -1
  48. package/dist/cursor/extension.mjs +7 -3
  49. package/dist/cursor/extension.mjs.map +1 -1
  50. package/dist/edge-config.d.mts +1 -1
  51. package/dist/edge-config.d.ts +1 -1
  52. package/dist/edge-config.js +1 -1
  53. package/dist/edge-config.js.map +1 -1
  54. package/dist/edge-config.mjs +1 -1
  55. package/dist/edge-config.mjs.map +1 -1
  56. package/dist/edge-core/index.d.mts +1 -1
  57. package/dist/edge-core/index.d.ts +1 -1
  58. package/dist/edge-core/index.js +7 -3
  59. package/dist/edge-core/index.js.map +1 -1
  60. package/dist/edge-core/index.mjs +7 -3
  61. package/dist/edge-core/index.mjs.map +1 -1
  62. package/dist/gateway/gateway.js +7 -3
  63. package/dist/gateway/gateway.js.map +1 -1
  64. package/dist/gateway/gateway.mjs +7 -3
  65. package/dist/gateway/gateway.mjs.map +1 -1
  66. package/dist/git-trigger/git-hooks.d.mts +1 -1
  67. package/dist/git-trigger/git-hooks.d.ts +1 -1
  68. package/dist/index.d.mts +77 -4
  69. package/dist/index.d.ts +77 -4
  70. package/dist/index.js +40 -3
  71. package/dist/index.js.map +1 -1
  72. package/dist/index.mjs +40 -3
  73. package/dist/index.mjs.map +1 -1
  74. package/dist/registration/index.js +1 -1
  75. package/dist/registration/index.js.map +1 -1
  76. package/dist/registration/index.mjs +1 -1
  77. package/dist/registration/index.mjs.map +1 -1
  78. package/dist/transport/index.js +1 -1
  79. package/dist/transport/index.js.map +1 -1
  80. package/dist/transport/index.mjs +1 -1
  81. package/dist/transport/index.mjs.map +1 -1
  82. package/dist/{types-Bd2O3eX1.d.mts → types-C-hPsi9M.d.mts} +45 -1
  83. package/dist/{types-DMChboN_.d.ts → types-CKouL1Tv.d.ts} +45 -1
  84. package/dist/{types-BU04qAAR.d.mts → types-D8DDG-qK.d.mts} +45 -1
  85. package/dist/{types-BU04qAAR.d.ts → types-D8DDG-qK.d.ts} +45 -1
  86. package/dist/ui/index.d.mts +1 -1
  87. package/dist/ui/index.d.ts +1 -1
  88. package/dist/verify.d.mts +1 -1
  89. package/dist/verify.d.ts +1 -1
  90. package/dist/verify.js +7 -3
  91. package/dist/verify.js.map +1 -1
  92. package/dist/verify.mjs +7 -3
  93. package/dist/verify.mjs.map +1 -1
  94. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -19,7 +19,7 @@ function getTrustLevel(score) {
19
19
  }
20
20
 
21
21
  // src/version.ts
22
- var SDK_VERSION = "5.4.1";
22
+ var SDK_VERSION = "5.5.0";
23
23
 
24
24
  // src/http.ts
25
25
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -554,7 +554,10 @@ async function verify(config, request, options) {
554
554
  recommendationReasons: apiResponse.recommendationReasons,
555
555
  stepUpApproval: apiResponse.stepUpApproval,
556
556
  settlement: apiResponse.settlement,
557
- settlementOutcome: apiResponse.settlementOutcome
557
+ settlementOutcome: apiResponse.settlementOutcome,
558
+ // 5.5.0 self-settlement: merchant-only material — passes through to the
559
+ // MERCHANT caller only (bridge callers strip it before the agent plane).
560
+ settlementToken: apiResponse.settlementToken
558
561
  };
559
562
  return result2;
560
563
  }
@@ -612,7 +615,8 @@ async function verify(config, request, options) {
612
615
  warningHeader: apiResponse.warningHeader,
613
616
  stepUpApproval: apiResponse.stepUpApproval,
614
617
  settlement: apiResponse.settlement,
615
- settlementOutcome: apiResponse.settlementOutcome
618
+ settlementOutcome: apiResponse.settlementOutcome,
619
+ settlementToken: apiResponse.settlementToken
616
620
  };
617
621
  if (result.recommendation === "deny") {
618
622
  result.policyAllowed = false;
@@ -2644,6 +2648,13 @@ var VerificationGatewayClient = class {
2644
2648
  * settled/failed/requires_action/no_instrument outcome (+ `orderId`), and the
2645
2649
  * identity/policy/`failures` fields for a denial. On any non-`confirm`/first-
2646
2650
  * party path `settlementOutcome` is simply absent — no money moves.
2651
+ *
2652
+ * 5.5.0 self-settling merchants (settlement_mode='self_settle'): the result
2653
+ * carries `.settlementToken` instead of a completed charge. Charge on your
2654
+ * own integration with Stripe idempotency key `voucher:<token.jti>` and
2655
+ * `metadata: { jti: token.jti, sessionId: token.sessionId }`, then call
2656
+ * `reportSettlement()` with the outcome. Treat any `settlementOutcome.status`
2657
+ * you don't recognize (e.g. `pending_merchant`) as PENDING, never failed.
2647
2658
  */
2648
2659
  async confirmCheckout(options) {
2649
2660
  const credentials = {
@@ -2673,6 +2684,32 @@ var VerificationGatewayClient = class {
2673
2684
  )
2674
2685
  );
2675
2686
  }
2687
+ /**
2688
+ * 5.5.0 (astra-pay): report a self-settled charge outcome back to the
2689
+ * platform — the other half of the `settlementToken` contract. Call after
2690
+ * your PaymentIntent reaches a terminal state so the buyer's dashboard,
2691
+ * /orders and the agent's poll surface reconcile. Authenticated with this
2692
+ * client's api key (must be the merchant's own). Amounts must match the
2693
+ * order EXACTLY (integer minor units) or the report is rejected whole
2694
+ * (409 amount_mismatch). Replays of the same terminal state are safe.
2695
+ */
2696
+ async reportSettlement(options) {
2697
+ const base = this.config.apiBaseUrl.replace(/\/+$/, "");
2698
+ const res = await sdkFetch(`${base}/merchant/settlements/report`, {
2699
+ method: "POST",
2700
+ headers: {
2701
+ "Content-Type": "application/json",
2702
+ // Same auth pair as every backend call the SDK makes (verify.ts).
2703
+ ...this.config.apiKey ? { Authorization: `Bearer ${this.config.apiKey}`, "X-API-Key": this.config.apiKey } : {}
2704
+ },
2705
+ body: JSON.stringify(options)
2706
+ });
2707
+ const json = await res.json().catch(() => ({}));
2708
+ if (!res.ok || !json.success || !json.data) {
2709
+ throw new Error(`reportSettlement failed (${res.status}): ${json.error ?? "unknown error"}`);
2710
+ }
2711
+ return json.data;
2712
+ }
2676
2713
  /**
2677
2714
  * Quick verification — checks credentials and policy in one call.
2678
2715
  *