@astrasyncai/verification-gateway 5.14.0 → 5.15.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.
- package/README.md +27 -17
- package/dist/adapters/express.d.mts +1 -1
- package/dist/adapters/express.d.ts +1 -1
- package/dist/adapters/express.js +477 -240
- package/dist/adapters/express.js.map +1 -1
- package/dist/adapters/express.mjs +477 -240
- package/dist/adapters/express.mjs.map +1 -1
- package/dist/adapters/mcp.d.mts +1 -1
- package/dist/adapters/mcp.d.ts +1 -1
- package/dist/adapters/mcp.js +20 -6
- package/dist/adapters/mcp.js.map +1 -1
- package/dist/adapters/mcp.mjs +20 -6
- package/dist/adapters/mcp.mjs.map +1 -1
- package/dist/adapters/nextjs.d.mts +1 -1
- package/dist/adapters/nextjs.d.ts +1 -1
- package/dist/adapters/nextjs.js +460 -239
- package/dist/adapters/nextjs.js.map +1 -1
- package/dist/adapters/nextjs.mjs +460 -239
- package/dist/adapters/nextjs.mjs.map +1 -1
- package/dist/adapters/sdk.d.mts +18 -10
- package/dist/adapters/sdk.d.ts +18 -10
- package/dist/adapters/sdk.js +80 -23
- package/dist/adapters/sdk.js.map +1 -1
- package/dist/adapters/sdk.mjs +80 -23
- package/dist/adapters/sdk.mjs.map +1 -1
- package/dist/agent/index.js +1 -1
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/index.mjs +1 -1
- package/dist/agent/index.mjs.map +1 -1
- package/dist/bin/astrasync-claude-hook.js +55 -11
- package/dist/bin/astrasync-codex-hook.js +55 -11
- package/dist/bin/astrasync-guard.js +55 -11
- package/dist/bin/astrasync.js +288 -33
- package/dist/browser/background.js +50 -6
- package/dist/browser/background.js.map +1 -1
- package/dist/browser/background.mjs +60 -6
- package/dist/browser/background.mjs.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/index.mjs +1 -1
- package/dist/cli/index.mjs.map +1 -1
- package/dist/codex/index.js +55 -11
- package/dist/codex/index.js.map +1 -1
- package/dist/codex/index.mjs +65 -11
- package/dist/codex/index.mjs.map +1 -1
- package/dist/cursor/extension.js +55 -11
- package/dist/cursor/extension.js.map +1 -1
- package/dist/cursor/extension.mjs +65 -11
- package/dist/cursor/extension.mjs.map +1 -1
- package/dist/edge-config.d.mts +31 -2
- package/dist/edge-config.d.ts +31 -2
- package/dist/edge-config.js +35 -5
- package/dist/edge-config.js.map +1 -1
- package/dist/edge-config.mjs +32 -4
- package/dist/edge-config.mjs.map +1 -1
- package/dist/edge-core/index.d.mts +11 -2
- package/dist/edge-core/index.d.ts +11 -2
- package/dist/edge-core/index.js +93 -10
- package/dist/edge-core/index.js.map +1 -1
- package/dist/edge-core/index.mjs +91 -10
- package/dist/edge-core/index.mjs.map +1 -1
- package/dist/gateway/gateway.js +50 -6
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/gateway.mjs +60 -6
- package/dist/gateway/gateway.mjs.map +1 -1
- package/dist/git-trigger/git-hooks.d.mts +1 -1
- package/dist/git-trigger/git-hooks.d.ts +1 -1
- package/dist/index.d.mts +1314 -34
- package/dist/index.d.ts +1314 -34
- package/dist/index.js +5116 -2612
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5063 -2614
- package/dist/index.mjs.map +1 -1
- package/dist/registration/index.d.mts +28 -2
- package/dist/registration/index.d.ts +28 -2
- package/dist/registration/index.js +18 -3
- package/dist/registration/index.js.map +1 -1
- package/dist/registration/index.mjs +15 -2
- package/dist/registration/index.mjs.map +1 -1
- package/dist/transport/index.d.mts +7 -5
- package/dist/transport/index.d.ts +7 -5
- package/dist/transport/index.js +61 -5
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/index.mjs +67 -11
- package/dist/transport/index.mjs.map +1 -1
- package/dist/{types-C_b4QTyO.d.ts → types-DtJjlW4O.d.ts} +104 -10
- package/dist/{types-BCkwBA84.d.mts → types-Dxf9DBpr.d.mts} +106 -12
- package/dist/{types-BCkwBA84.d.ts → types-Dxf9DBpr.d.ts} +106 -12
- package/dist/{types-DlshIIR-.d.mts → types-Eg6VoBNH.d.mts} +104 -10
- package/dist/ui/index.d.mts +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/dist/verify.d.mts +1 -1
- package/dist/verify.d.ts +1 -1
- package/dist/verify.js +20 -6
- package/dist/verify.js.map +1 -1
- package/dist/verify.mjs +20 -6
- package/dist/verify.mjs.map +1 -1
- package/package.json +1 -1
package/dist/codex/index.mjs
CHANGED
|
@@ -4006,7 +4006,7 @@ function getTrustLevel(score) {
|
|
|
4006
4006
|
}
|
|
4007
4007
|
|
|
4008
4008
|
// src/version.ts
|
|
4009
|
-
var SDK_VERSION = "5.
|
|
4009
|
+
var SDK_VERSION = "5.15.0";
|
|
4010
4010
|
|
|
4011
4011
|
// src/http.ts
|
|
4012
4012
|
var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
|
|
@@ -4325,6 +4325,7 @@ async function callVerifyAccessAPI(config, request) {
|
|
|
4325
4325
|
if (requestData.invocationProtocol) body.invocationProtocol = requestData.invocationProtocol;
|
|
4326
4326
|
if (requestData.commercePhase) body.commercePhase = requestData.commercePhase;
|
|
4327
4327
|
if (requestData.checkoutSessionId) body.checkoutSessionId = requestData.checkoutSessionId;
|
|
4328
|
+
if (requestData.checkoutJwt) body.checkoutJwt = requestData.checkoutJwt;
|
|
4328
4329
|
if (requestData.checkoutItems) body.checkoutItems = requestData.checkoutItems;
|
|
4329
4330
|
if (requestData.buyerEmail) body.buyerEmail = requestData.buyerEmail;
|
|
4330
4331
|
if (requestData.commerceArtifacts) body.commerceArtifacts = requestData.commerceArtifacts;
|
|
@@ -4475,7 +4476,8 @@ async function verify(config, request, options) {
|
|
|
4475
4476
|
"[VerificationGateway] minTrustScore / minTrustScoreForFull are deprecated in v2.3.0 and have no effect. Server is now the single source of truth for access decisions (verified ID + runtime challenge + PDLSS + trust score). To gate access to an endpoint, configure the endpoint's trust_score_requirement server-side."
|
|
4476
4477
|
);
|
|
4477
4478
|
}
|
|
4478
|
-
|
|
4479
|
+
const uncacheable = Boolean(request.commerceArtifacts);
|
|
4480
|
+
if (mergedConfig.cacheTtl !== 0 && !options?.bypassCache && !uncacheable) {
|
|
4479
4481
|
const cached = getCachedResult(request, mergedConfig.counterpartyId);
|
|
4480
4482
|
if (cached) {
|
|
4481
4483
|
if (mergedConfig.debug) {
|
|
@@ -4556,7 +4558,10 @@ async function verify(config, request, options) {
|
|
|
4556
4558
|
// MERCHANT caller only (bridge callers strip it before the agent plane).
|
|
4557
4559
|
settlementToken: apiResponse.settlementToken,
|
|
4558
4560
|
// 5.6.0: fulfilment contact — merchant-only lane, same strip rule.
|
|
4559
|
-
fulfilment: apiResponse.fulfilment
|
|
4561
|
+
fulfilment: apiResponse.fulfilment,
|
|
4562
|
+
mandates: apiResponse.mandates,
|
|
4563
|
+
kyaToken: apiResponse.kyaToken,
|
|
4564
|
+
aep: apiResponse.aep
|
|
4560
4565
|
};
|
|
4561
4566
|
return result2;
|
|
4562
4567
|
}
|
|
@@ -4566,7 +4571,10 @@ async function verify(config, request, options) {
|
|
|
4566
4571
|
trustScore: apiResponse.agent.trustScore,
|
|
4567
4572
|
trustLevel: getTrustLevel(apiResponse.agent.trustScore),
|
|
4568
4573
|
blockchainAnchored: apiResponse.agent.blockchainStatus === "anchored",
|
|
4569
|
-
status: apiResponse.agent.agentStatus
|
|
4574
|
+
status: apiResponse.agent.agentStatus,
|
|
4575
|
+
...apiResponse.agent.protocolIdentities && {
|
|
4576
|
+
protocolIdentities: apiResponse.agent.protocolIdentities
|
|
4577
|
+
}
|
|
4570
4578
|
} : void 0;
|
|
4571
4579
|
const developer = apiResponse.developer ? {
|
|
4572
4580
|
astradId: apiResponse.developer.kyaOwnerId,
|
|
@@ -4617,7 +4625,11 @@ async function verify(config, request, options) {
|
|
|
4617
4625
|
settlementOutcome: apiResponse.settlementOutcome,
|
|
4618
4626
|
settlementToken: apiResponse.settlementToken,
|
|
4619
4627
|
// 5.6.0: fulfilment contact — merchant-only lane, same strip rule.
|
|
4620
|
-
fulfilment: apiResponse.fulfilment
|
|
4628
|
+
fulfilment: apiResponse.fulfilment,
|
|
4629
|
+
// 5.15.0: merchant-lane AP2 mandates + KYAPay identity token.
|
|
4630
|
+
mandates: apiResponse.mandates,
|
|
4631
|
+
kyaToken: apiResponse.kyaToken,
|
|
4632
|
+
aep: apiResponse.aep
|
|
4621
4633
|
};
|
|
4622
4634
|
if (result.recommendation === "deny") {
|
|
4623
4635
|
result.policyAllowed = false;
|
|
@@ -4637,7 +4649,9 @@ async function verify(config, request, options) {
|
|
|
4637
4649
|
}
|
|
4638
4650
|
const escalates = result.requiresStepUp === true || result.requiresApproval === true || result.recommendation === "step_up_required";
|
|
4639
4651
|
if (mergedConfig.cacheTtl !== 0 && result.recommendation !== "deny" && !escalates) {
|
|
4640
|
-
|
|
4652
|
+
if (!uncacheable) {
|
|
4653
|
+
cacheResult(request, result, mergedConfig.cacheTtl, mergedConfig.counterpartyId);
|
|
4654
|
+
}
|
|
4641
4655
|
}
|
|
4642
4656
|
return result;
|
|
4643
4657
|
}
|
|
@@ -4648,6 +4662,9 @@ var FALLBACK_MAX_WAIT_MS = 5 * 60 * 1e3;
|
|
|
4648
4662
|
// src/metadata-capture.ts
|
|
4649
4663
|
var MAX_TOTAL_BYTES = 16 * 1024;
|
|
4650
4664
|
|
|
4665
|
+
// src/adapters/commerce-detect.ts
|
|
4666
|
+
var MAX_BODY_BYTES = 64 * 1024;
|
|
4667
|
+
|
|
4651
4668
|
// src/edge-config.ts
|
|
4652
4669
|
var DEFAULT_EDGE_CONFIG = Object.freeze({
|
|
4653
4670
|
version: 1,
|
|
@@ -4960,6 +4977,43 @@ import { createHash as createHash3, webcrypto } from "crypto";
|
|
|
4960
4977
|
// src/transport/registry/visa.ts
|
|
4961
4978
|
import { createRemoteJWKSet } from "jose";
|
|
4962
4979
|
|
|
4980
|
+
// src/ucp/profile.ts
|
|
4981
|
+
var UCP_VERSION = "2026-08-25";
|
|
4982
|
+
var SPEC = `https://ucp.dev/${UCP_VERSION}/specification`;
|
|
4983
|
+
var SCHEMAS = `https://ucp.dev/${UCP_VERSION}/schemas`;
|
|
4984
|
+
|
|
4985
|
+
// src/ucp/signatures.ts
|
|
4986
|
+
import { httpbis as httpbis3, createSigner as createSigner2 } from "http-message-signatures";
|
|
4987
|
+
|
|
4988
|
+
// src/http-signatures/sign.ts
|
|
4989
|
+
import { httpbis as httpbis2, createSigner } from "http-message-signatures";
|
|
4990
|
+
|
|
4991
|
+
// src/ucp/checkout-kit.ts
|
|
4992
|
+
import { CompactSign as CompactSign2 } from "jose";
|
|
4993
|
+
|
|
4994
|
+
// src/mandates/sd-jwt.ts
|
|
4995
|
+
import {
|
|
4996
|
+
CompactSign,
|
|
4997
|
+
compactVerify,
|
|
4998
|
+
importJWK,
|
|
4999
|
+
decodeProtectedHeader
|
|
5000
|
+
} from "jose";
|
|
5001
|
+
|
|
5002
|
+
// src/idempotency/index.ts
|
|
5003
|
+
var DEFAULT_IDEMPOTENCY_TTL_MS = 24 * 60 * 60 * 1e3;
|
|
5004
|
+
|
|
5005
|
+
// src/payments/kyapay.ts
|
|
5006
|
+
import {
|
|
5007
|
+
createLocalJWKSet,
|
|
5008
|
+
createRemoteJWKSet as createRemoteJWKSet2,
|
|
5009
|
+
decodeProtectedHeader as decodeProtectedHeader2,
|
|
5010
|
+
jwtVerify
|
|
5011
|
+
} from "jose";
|
|
5012
|
+
|
|
5013
|
+
// src/aep/core.ts
|
|
5014
|
+
var ED25519_PKCS8_PREFIX = Buffer.from("302e020100300506032b657004220420", "hex");
|
|
5015
|
+
var ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
|
|
5016
|
+
|
|
4963
5017
|
// src/gateway/modes/online.ts
|
|
4964
5018
|
function toGatewayConfig(config) {
|
|
4965
5019
|
return {
|
|
@@ -5697,7 +5751,7 @@ async function sendHeartbeat(enrolment, request, timeoutMs = 1500) {
|
|
|
5697
5751
|
|
|
5698
5752
|
// src/fleet/policy-verify.ts
|
|
5699
5753
|
import { createHash as createHash4 } from "crypto";
|
|
5700
|
-
import { compactVerify, createLocalJWKSet } from "jose";
|
|
5754
|
+
import { compactVerify as compactVerify2, createLocalJWKSet as createLocalJWKSet2 } from "jose";
|
|
5701
5755
|
|
|
5702
5756
|
// src/fleet/types.ts
|
|
5703
5757
|
var FLEET_POLICY_TYP = "fleet-policy+jwt";
|
|
@@ -5746,8 +5800,8 @@ async function verifyFleetPolicy(jws, jwks, options) {
|
|
|
5746
5800
|
let payloadBytes;
|
|
5747
5801
|
let header;
|
|
5748
5802
|
try {
|
|
5749
|
-
const keySet =
|
|
5750
|
-
const result = await
|
|
5803
|
+
const keySet = createLocalJWKSet2(jwks);
|
|
5804
|
+
const result = await compactVerify2(jws, keySet, { algorithms: ["ES256"] });
|
|
5751
5805
|
payloadBytes = result.payload;
|
|
5752
5806
|
header = result.protectedHeader;
|
|
5753
5807
|
} catch (err) {
|
|
@@ -5793,9 +5847,9 @@ async function resolveFleetJwks(pinned, chain, ownerId) {
|
|
|
5793
5847
|
let lastSeq = 0;
|
|
5794
5848
|
for (const link of chain) {
|
|
5795
5849
|
try {
|
|
5796
|
-
const { payload, protectedHeader } = await
|
|
5850
|
+
const { payload, protectedHeader } = await compactVerify2(
|
|
5797
5851
|
link,
|
|
5798
|
-
|
|
5852
|
+
createLocalJWKSet2(trusted),
|
|
5799
5853
|
{ algorithms: ["ES256"] }
|
|
5800
5854
|
);
|
|
5801
5855
|
if (protectedHeader.typ !== FLEET_KEYS_TYP) continue;
|