@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/bin/astrasync.js
CHANGED
|
@@ -36,7 +36,7 @@ var SDK_VERSION;
|
|
|
36
36
|
var init_version = __esm({
|
|
37
37
|
"src/version.ts"() {
|
|
38
38
|
"use strict";
|
|
39
|
-
SDK_VERSION = "5.
|
|
39
|
+
SDK_VERSION = "5.15.0";
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
|
|
@@ -5341,6 +5341,7 @@ async function callVerifyAccessAPI(config, request2) {
|
|
|
5341
5341
|
if (requestData.invocationProtocol) body.invocationProtocol = requestData.invocationProtocol;
|
|
5342
5342
|
if (requestData.commercePhase) body.commercePhase = requestData.commercePhase;
|
|
5343
5343
|
if (requestData.checkoutSessionId) body.checkoutSessionId = requestData.checkoutSessionId;
|
|
5344
|
+
if (requestData.checkoutJwt) body.checkoutJwt = requestData.checkoutJwt;
|
|
5344
5345
|
if (requestData.checkoutItems) body.checkoutItems = requestData.checkoutItems;
|
|
5345
5346
|
if (requestData.buyerEmail) body.buyerEmail = requestData.buyerEmail;
|
|
5346
5347
|
if (requestData.commerceArtifacts) body.commerceArtifacts = requestData.commerceArtifacts;
|
|
@@ -5491,7 +5492,8 @@ async function verify(config, request2, options) {
|
|
|
5491
5492
|
"[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."
|
|
5492
5493
|
);
|
|
5493
5494
|
}
|
|
5494
|
-
|
|
5495
|
+
const uncacheable = Boolean(request2.commerceArtifacts);
|
|
5496
|
+
if (mergedConfig.cacheTtl !== 0 && !options?.bypassCache && !uncacheable) {
|
|
5495
5497
|
const cached = getCachedResult(request2, mergedConfig.counterpartyId);
|
|
5496
5498
|
if (cached) {
|
|
5497
5499
|
if (mergedConfig.debug) {
|
|
@@ -5572,7 +5574,10 @@ async function verify(config, request2, options) {
|
|
|
5572
5574
|
// MERCHANT caller only (bridge callers strip it before the agent plane).
|
|
5573
5575
|
settlementToken: apiResponse.settlementToken,
|
|
5574
5576
|
// 5.6.0: fulfilment contact — merchant-only lane, same strip rule.
|
|
5575
|
-
fulfilment: apiResponse.fulfilment
|
|
5577
|
+
fulfilment: apiResponse.fulfilment,
|
|
5578
|
+
mandates: apiResponse.mandates,
|
|
5579
|
+
kyaToken: apiResponse.kyaToken,
|
|
5580
|
+
aep: apiResponse.aep
|
|
5576
5581
|
};
|
|
5577
5582
|
return result2;
|
|
5578
5583
|
}
|
|
@@ -5582,7 +5587,10 @@ async function verify(config, request2, options) {
|
|
|
5582
5587
|
trustScore: apiResponse.agent.trustScore,
|
|
5583
5588
|
trustLevel: getTrustLevel(apiResponse.agent.trustScore),
|
|
5584
5589
|
blockchainAnchored: apiResponse.agent.blockchainStatus === "anchored",
|
|
5585
|
-
status: apiResponse.agent.agentStatus
|
|
5590
|
+
status: apiResponse.agent.agentStatus,
|
|
5591
|
+
...apiResponse.agent.protocolIdentities && {
|
|
5592
|
+
protocolIdentities: apiResponse.agent.protocolIdentities
|
|
5593
|
+
}
|
|
5586
5594
|
} : void 0;
|
|
5587
5595
|
const developer = apiResponse.developer ? {
|
|
5588
5596
|
astradId: apiResponse.developer.kyaOwnerId,
|
|
@@ -5633,7 +5641,11 @@ async function verify(config, request2, options) {
|
|
|
5633
5641
|
settlementOutcome: apiResponse.settlementOutcome,
|
|
5634
5642
|
settlementToken: apiResponse.settlementToken,
|
|
5635
5643
|
// 5.6.0: fulfilment contact — merchant-only lane, same strip rule.
|
|
5636
|
-
fulfilment: apiResponse.fulfilment
|
|
5644
|
+
fulfilment: apiResponse.fulfilment,
|
|
5645
|
+
// 5.15.0: merchant-lane AP2 mandates + KYAPay identity token.
|
|
5646
|
+
mandates: apiResponse.mandates,
|
|
5647
|
+
kyaToken: apiResponse.kyaToken,
|
|
5648
|
+
aep: apiResponse.aep
|
|
5637
5649
|
};
|
|
5638
5650
|
if (result.recommendation === "deny") {
|
|
5639
5651
|
result.policyAllowed = false;
|
|
@@ -5653,7 +5665,9 @@ async function verify(config, request2, options) {
|
|
|
5653
5665
|
}
|
|
5654
5666
|
const escalates = result.requiresStepUp === true || result.requiresApproval === true || result.recommendation === "step_up_required";
|
|
5655
5667
|
if (mergedConfig.cacheTtl !== 0 && result.recommendation !== "deny" && !escalates) {
|
|
5656
|
-
|
|
5668
|
+
if (!uncacheable) {
|
|
5669
|
+
cacheResult(request2, result, mergedConfig.cacheTtl, mergedConfig.counterpartyId);
|
|
5670
|
+
}
|
|
5657
5671
|
}
|
|
5658
5672
|
return result;
|
|
5659
5673
|
}
|
|
@@ -5709,6 +5723,41 @@ var init_settlement = __esm({
|
|
|
5709
5723
|
}
|
|
5710
5724
|
});
|
|
5711
5725
|
|
|
5726
|
+
// src/metadata-capture.ts
|
|
5727
|
+
var MAX_TOTAL_BYTES;
|
|
5728
|
+
var init_metadata_capture = __esm({
|
|
5729
|
+
"src/metadata-capture.ts"() {
|
|
5730
|
+
"use strict";
|
|
5731
|
+
MAX_TOTAL_BYTES = 16 * 1024;
|
|
5732
|
+
}
|
|
5733
|
+
});
|
|
5734
|
+
|
|
5735
|
+
// src/edge-core/request.ts
|
|
5736
|
+
var init_request = __esm({
|
|
5737
|
+
"src/edge-core/request.ts"() {
|
|
5738
|
+
"use strict";
|
|
5739
|
+
init_metadata_capture();
|
|
5740
|
+
}
|
|
5741
|
+
});
|
|
5742
|
+
|
|
5743
|
+
// src/edge-core/detect.ts
|
|
5744
|
+
var init_detect = __esm({
|
|
5745
|
+
"src/edge-core/detect.ts"() {
|
|
5746
|
+
"use strict";
|
|
5747
|
+
init_request();
|
|
5748
|
+
}
|
|
5749
|
+
});
|
|
5750
|
+
|
|
5751
|
+
// src/adapters/commerce-detect.ts
|
|
5752
|
+
var MAX_BODY_BYTES;
|
|
5753
|
+
var init_commerce_detect = __esm({
|
|
5754
|
+
"src/adapters/commerce-detect.ts"() {
|
|
5755
|
+
"use strict";
|
|
5756
|
+
init_detect();
|
|
5757
|
+
MAX_BODY_BYTES = 64 * 1024;
|
|
5758
|
+
}
|
|
5759
|
+
});
|
|
5760
|
+
|
|
5712
5761
|
// src/transport/http.ts
|
|
5713
5762
|
var init_http2 = __esm({
|
|
5714
5763
|
"src/transport/http.ts"() {
|
|
@@ -5737,12 +5786,10 @@ var init_pdlss_pre_check = __esm({
|
|
|
5737
5786
|
}
|
|
5738
5787
|
});
|
|
5739
5788
|
|
|
5740
|
-
// src/
|
|
5741
|
-
var
|
|
5742
|
-
|
|
5743
|
-
"src/metadata-capture.ts"() {
|
|
5789
|
+
// src/route-pattern.ts
|
|
5790
|
+
var init_route_pattern = __esm({
|
|
5791
|
+
"src/route-pattern.ts"() {
|
|
5744
5792
|
"use strict";
|
|
5745
|
-
MAX_TOTAL_BYTES = 16 * 1024;
|
|
5746
5793
|
}
|
|
5747
5794
|
});
|
|
5748
5795
|
|
|
@@ -5752,6 +5799,8 @@ var init_edge_config = __esm({
|
|
|
5752
5799
|
"src/edge-config.ts"() {
|
|
5753
5800
|
"use strict";
|
|
5754
5801
|
init_http();
|
|
5802
|
+
init_route_pattern();
|
|
5803
|
+
init_route_pattern();
|
|
5755
5804
|
DEFAULT_EDGE_CONFIG = Object.freeze({
|
|
5756
5805
|
version: 1,
|
|
5757
5806
|
mode: "observe",
|
|
@@ -5772,22 +5821,6 @@ var init_platform_signatures = __esm({
|
|
|
5772
5821
|
}
|
|
5773
5822
|
});
|
|
5774
5823
|
|
|
5775
|
-
// src/edge-core/request.ts
|
|
5776
|
-
var init_request = __esm({
|
|
5777
|
-
"src/edge-core/request.ts"() {
|
|
5778
|
-
"use strict";
|
|
5779
|
-
init_metadata_capture();
|
|
5780
|
-
}
|
|
5781
|
-
});
|
|
5782
|
-
|
|
5783
|
-
// src/edge-core/detect.ts
|
|
5784
|
-
var init_detect = __esm({
|
|
5785
|
-
"src/edge-core/detect.ts"() {
|
|
5786
|
-
"use strict";
|
|
5787
|
-
init_request();
|
|
5788
|
-
}
|
|
5789
|
-
});
|
|
5790
|
-
|
|
5791
5824
|
// src/edge-core/classify.ts
|
|
5792
5825
|
var init_classify = __esm({
|
|
5793
5826
|
"src/edge-core/classify.ts"() {
|
|
@@ -6058,6 +6091,7 @@ var DEFAULT_ROUTES_REFRESH_MS;
|
|
|
6058
6091
|
var init_express = __esm({
|
|
6059
6092
|
"src/adapters/express.ts"() {
|
|
6060
6093
|
"use strict";
|
|
6094
|
+
init_commerce_detect();
|
|
6061
6095
|
init_stepup_poll();
|
|
6062
6096
|
init_verify();
|
|
6063
6097
|
init_http2();
|
|
@@ -6069,6 +6103,7 @@ var init_express = __esm({
|
|
|
6069
6103
|
init_metadata_capture();
|
|
6070
6104
|
init_anonymous_beacon();
|
|
6071
6105
|
init_failure_posture();
|
|
6106
|
+
init_route_pattern();
|
|
6072
6107
|
DEFAULT_ROUTES_REFRESH_MS = 5 * 60 * 1e3;
|
|
6073
6108
|
}
|
|
6074
6109
|
});
|
|
@@ -6078,6 +6113,7 @@ var DEFAULT_ROUTES_REFRESH_MS2;
|
|
|
6078
6113
|
var init_nextjs = __esm({
|
|
6079
6114
|
"src/adapters/nextjs.ts"() {
|
|
6080
6115
|
"use strict";
|
|
6116
|
+
init_commerce_detect();
|
|
6081
6117
|
init_stepup_poll();
|
|
6082
6118
|
init_verify();
|
|
6083
6119
|
init_http2();
|
|
@@ -6088,6 +6124,7 @@ var init_nextjs = __esm({
|
|
|
6088
6124
|
init_http_pdlss();
|
|
6089
6125
|
init_approval_gate();
|
|
6090
6126
|
init_verified_hop();
|
|
6127
|
+
init_route_pattern();
|
|
6091
6128
|
DEFAULT_ROUTES_REFRESH_MS2 = 5 * 60 * 1e3;
|
|
6092
6129
|
}
|
|
6093
6130
|
});
|
|
@@ -6099,6 +6136,7 @@ var init_sdk = __esm({
|
|
|
6099
6136
|
init_verify();
|
|
6100
6137
|
init_trust_levels();
|
|
6101
6138
|
init_http();
|
|
6139
|
+
init_errors();
|
|
6102
6140
|
}
|
|
6103
6141
|
});
|
|
6104
6142
|
|
|
@@ -6489,6 +6527,215 @@ var init_runtime_signatures = __esm({
|
|
|
6489
6527
|
}
|
|
6490
6528
|
});
|
|
6491
6529
|
|
|
6530
|
+
// src/ucp/agent-header.ts
|
|
6531
|
+
var init_agent_header = __esm({
|
|
6532
|
+
"src/ucp/agent-header.ts"() {
|
|
6533
|
+
"use strict";
|
|
6534
|
+
}
|
|
6535
|
+
});
|
|
6536
|
+
|
|
6537
|
+
// src/ucp/profile.ts
|
|
6538
|
+
var UCP_VERSION, SPEC, SCHEMAS;
|
|
6539
|
+
var init_profile = __esm({
|
|
6540
|
+
"src/ucp/profile.ts"() {
|
|
6541
|
+
"use strict";
|
|
6542
|
+
UCP_VERSION = "2026-08-25";
|
|
6543
|
+
SPEC = `https://ucp.dev/${UCP_VERSION}/specification`;
|
|
6544
|
+
SCHEMAS = `https://ucp.dev/${UCP_VERSION}/schemas`;
|
|
6545
|
+
}
|
|
6546
|
+
});
|
|
6547
|
+
|
|
6548
|
+
// src/ucp/negotiate.ts
|
|
6549
|
+
var init_negotiate = __esm({
|
|
6550
|
+
"src/ucp/negotiate.ts"() {
|
|
6551
|
+
"use strict";
|
|
6552
|
+
}
|
|
6553
|
+
});
|
|
6554
|
+
|
|
6555
|
+
// src/ucp/messages.ts
|
|
6556
|
+
var init_messages = __esm({
|
|
6557
|
+
"src/ucp/messages.ts"() {
|
|
6558
|
+
"use strict";
|
|
6559
|
+
}
|
|
6560
|
+
});
|
|
6561
|
+
|
|
6562
|
+
// src/http-signatures/sign.ts
|
|
6563
|
+
var import_http_message_signatures2;
|
|
6564
|
+
var init_sign = __esm({
|
|
6565
|
+
"src/http-signatures/sign.ts"() {
|
|
6566
|
+
"use strict";
|
|
6567
|
+
import_http_message_signatures2 = require("http-message-signatures");
|
|
6568
|
+
}
|
|
6569
|
+
});
|
|
6570
|
+
|
|
6571
|
+
// src/ucp/signatures.ts
|
|
6572
|
+
var import_http_message_signatures3;
|
|
6573
|
+
var init_signatures = __esm({
|
|
6574
|
+
"src/ucp/signatures.ts"() {
|
|
6575
|
+
"use strict";
|
|
6576
|
+
import_http_message_signatures3 = require("http-message-signatures");
|
|
6577
|
+
init_sign();
|
|
6578
|
+
init_rfc9421_verify();
|
|
6579
|
+
}
|
|
6580
|
+
});
|
|
6581
|
+
|
|
6582
|
+
// src/mandates/sd-jwt.ts
|
|
6583
|
+
var import_jose2;
|
|
6584
|
+
var init_sd_jwt = __esm({
|
|
6585
|
+
"src/mandates/sd-jwt.ts"() {
|
|
6586
|
+
"use strict";
|
|
6587
|
+
import_jose2 = require("jose");
|
|
6588
|
+
}
|
|
6589
|
+
});
|
|
6590
|
+
|
|
6591
|
+
// src/mandates/ap2.ts
|
|
6592
|
+
var init_ap22 = __esm({
|
|
6593
|
+
"src/mandates/ap2.ts"() {
|
|
6594
|
+
"use strict";
|
|
6595
|
+
init_sd_jwt();
|
|
6596
|
+
}
|
|
6597
|
+
});
|
|
6598
|
+
|
|
6599
|
+
// src/mandates/index.ts
|
|
6600
|
+
var init_mandates = __esm({
|
|
6601
|
+
"src/mandates/index.ts"() {
|
|
6602
|
+
"use strict";
|
|
6603
|
+
init_sd_jwt();
|
|
6604
|
+
init_ap22();
|
|
6605
|
+
}
|
|
6606
|
+
});
|
|
6607
|
+
|
|
6608
|
+
// src/idempotency/index.ts
|
|
6609
|
+
var DEFAULT_IDEMPOTENCY_TTL_MS;
|
|
6610
|
+
var init_idempotency = __esm({
|
|
6611
|
+
"src/idempotency/index.ts"() {
|
|
6612
|
+
"use strict";
|
|
6613
|
+
DEFAULT_IDEMPOTENCY_TTL_MS = 24 * 60 * 60 * 1e3;
|
|
6614
|
+
}
|
|
6615
|
+
});
|
|
6616
|
+
|
|
6617
|
+
// src/ucp/jcs.ts
|
|
6618
|
+
var init_jcs = __esm({
|
|
6619
|
+
"src/ucp/jcs.ts"() {
|
|
6620
|
+
"use strict";
|
|
6621
|
+
}
|
|
6622
|
+
});
|
|
6623
|
+
|
|
6624
|
+
// src/ucp/report-amount.ts
|
|
6625
|
+
var init_report_amount = __esm({
|
|
6626
|
+
"src/ucp/report-amount.ts"() {
|
|
6627
|
+
"use strict";
|
|
6628
|
+
}
|
|
6629
|
+
});
|
|
6630
|
+
|
|
6631
|
+
// src/ucp/checkout-kit.ts
|
|
6632
|
+
var import_jose3;
|
|
6633
|
+
var init_checkout_kit = __esm({
|
|
6634
|
+
"src/ucp/checkout-kit.ts"() {
|
|
6635
|
+
"use strict";
|
|
6636
|
+
import_jose3 = require("jose");
|
|
6637
|
+
init_mandates();
|
|
6638
|
+
init_idempotency();
|
|
6639
|
+
init_jcs();
|
|
6640
|
+
init_agent_header();
|
|
6641
|
+
init_negotiate();
|
|
6642
|
+
init_messages();
|
|
6643
|
+
init_profile();
|
|
6644
|
+
init_signatures();
|
|
6645
|
+
init_report_amount();
|
|
6646
|
+
}
|
|
6647
|
+
});
|
|
6648
|
+
|
|
6649
|
+
// src/ucp/index.ts
|
|
6650
|
+
var init_ucp2 = __esm({
|
|
6651
|
+
"src/ucp/index.ts"() {
|
|
6652
|
+
"use strict";
|
|
6653
|
+
init_agent_header();
|
|
6654
|
+
init_profile();
|
|
6655
|
+
init_negotiate();
|
|
6656
|
+
init_messages();
|
|
6657
|
+
init_signatures();
|
|
6658
|
+
init_checkout_kit();
|
|
6659
|
+
init_jcs();
|
|
6660
|
+
}
|
|
6661
|
+
});
|
|
6662
|
+
|
|
6663
|
+
// src/payments/x402.ts
|
|
6664
|
+
var init_x4022 = __esm({
|
|
6665
|
+
"src/payments/x402.ts"() {
|
|
6666
|
+
"use strict";
|
|
6667
|
+
}
|
|
6668
|
+
});
|
|
6669
|
+
|
|
6670
|
+
// src/payments/mpp.ts
|
|
6671
|
+
var init_mpp2 = __esm({
|
|
6672
|
+
"src/payments/mpp.ts"() {
|
|
6673
|
+
"use strict";
|
|
6674
|
+
}
|
|
6675
|
+
});
|
|
6676
|
+
|
|
6677
|
+
// src/payments/kyapay.ts
|
|
6678
|
+
var import_jose4;
|
|
6679
|
+
var init_kyapay = __esm({
|
|
6680
|
+
"src/payments/kyapay.ts"() {
|
|
6681
|
+
"use strict";
|
|
6682
|
+
import_jose4 = require("jose");
|
|
6683
|
+
}
|
|
6684
|
+
});
|
|
6685
|
+
|
|
6686
|
+
// src/payments/index.ts
|
|
6687
|
+
var init_payments = __esm({
|
|
6688
|
+
"src/payments/index.ts"() {
|
|
6689
|
+
"use strict";
|
|
6690
|
+
init_x4022();
|
|
6691
|
+
init_mpp2();
|
|
6692
|
+
init_kyapay();
|
|
6693
|
+
}
|
|
6694
|
+
});
|
|
6695
|
+
|
|
6696
|
+
// src/aep/core.ts
|
|
6697
|
+
var ED25519_PKCS8_PREFIX, ED25519_SPKI_PREFIX;
|
|
6698
|
+
var init_core = __esm({
|
|
6699
|
+
"src/aep/core.ts"() {
|
|
6700
|
+
"use strict";
|
|
6701
|
+
ED25519_PKCS8_PREFIX = Buffer.from("302e020100300506032b657004220420", "hex");
|
|
6702
|
+
ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
|
|
6703
|
+
}
|
|
6704
|
+
});
|
|
6705
|
+
|
|
6706
|
+
// src/aep/index.ts
|
|
6707
|
+
var init_aep = __esm({
|
|
6708
|
+
"src/aep/index.ts"() {
|
|
6709
|
+
"use strict";
|
|
6710
|
+
init_core();
|
|
6711
|
+
}
|
|
6712
|
+
});
|
|
6713
|
+
|
|
6714
|
+
// src/acp/checkout-kit.ts
|
|
6715
|
+
var init_checkout_kit2 = __esm({
|
|
6716
|
+
"src/acp/checkout-kit.ts"() {
|
|
6717
|
+
"use strict";
|
|
6718
|
+
init_idempotency();
|
|
6719
|
+
init_report_amount();
|
|
6720
|
+
}
|
|
6721
|
+
});
|
|
6722
|
+
|
|
6723
|
+
// src/acp/index.ts
|
|
6724
|
+
var init_acp2 = __esm({
|
|
6725
|
+
"src/acp/index.ts"() {
|
|
6726
|
+
"use strict";
|
|
6727
|
+
init_checkout_kit2();
|
|
6728
|
+
}
|
|
6729
|
+
});
|
|
6730
|
+
|
|
6731
|
+
// src/http-signatures/index.ts
|
|
6732
|
+
var init_http_signatures = __esm({
|
|
6733
|
+
"src/http-signatures/index.ts"() {
|
|
6734
|
+
"use strict";
|
|
6735
|
+
init_sign();
|
|
6736
|
+
}
|
|
6737
|
+
});
|
|
6738
|
+
|
|
6492
6739
|
// src/index.ts
|
|
6493
6740
|
var init_src = __esm({
|
|
6494
6741
|
"src/index.ts"() {
|
|
@@ -6521,6 +6768,14 @@ var init_src = __esm({
|
|
|
6521
6768
|
init_pdlss_parser();
|
|
6522
6769
|
init_schema();
|
|
6523
6770
|
init_version();
|
|
6771
|
+
init_route_pattern();
|
|
6772
|
+
init_ucp2();
|
|
6773
|
+
init_payments();
|
|
6774
|
+
init_aep();
|
|
6775
|
+
init_acp2();
|
|
6776
|
+
init_mandates();
|
|
6777
|
+
init_http_signatures();
|
|
6778
|
+
init_idempotency();
|
|
6524
6779
|
}
|
|
6525
6780
|
});
|
|
6526
6781
|
|
|
@@ -7661,8 +7916,8 @@ async function verifyFleetPolicy(jws, jwks, options) {
|
|
|
7661
7916
|
let payloadBytes;
|
|
7662
7917
|
let header;
|
|
7663
7918
|
try {
|
|
7664
|
-
const keySet = (0,
|
|
7665
|
-
const result = await (0,
|
|
7919
|
+
const keySet = (0, import_jose5.createLocalJWKSet)(jwks);
|
|
7920
|
+
const result = await (0, import_jose5.compactVerify)(jws, keySet, { algorithms: ["ES256"] });
|
|
7666
7921
|
payloadBytes = result.payload;
|
|
7667
7922
|
header = result.protectedHeader;
|
|
7668
7923
|
} catch (err) {
|
|
@@ -7708,9 +7963,9 @@ async function resolveFleetJwks(pinned, chain, ownerId) {
|
|
|
7708
7963
|
let lastSeq = 0;
|
|
7709
7964
|
for (const link of chain) {
|
|
7710
7965
|
try {
|
|
7711
|
-
const { payload, protectedHeader } = await (0,
|
|
7966
|
+
const { payload, protectedHeader } = await (0, import_jose5.compactVerify)(
|
|
7712
7967
|
link,
|
|
7713
|
-
(0,
|
|
7968
|
+
(0, import_jose5.createLocalJWKSet)(trusted),
|
|
7714
7969
|
{ algorithms: ["ES256"] }
|
|
7715
7970
|
);
|
|
7716
7971
|
if (protectedHeader.typ !== FLEET_KEYS_TYP) continue;
|
|
@@ -7740,12 +7995,12 @@ async function pickNewestValid(candidates, jwks, options) {
|
|
|
7740
7995
|
if (!best) throw lastError;
|
|
7741
7996
|
return best;
|
|
7742
7997
|
}
|
|
7743
|
-
var import_crypto,
|
|
7998
|
+
var import_crypto, import_jose5, FleetPolicyError;
|
|
7744
7999
|
var init_policy_verify = __esm({
|
|
7745
8000
|
"src/fleet/policy-verify.ts"() {
|
|
7746
8001
|
"use strict";
|
|
7747
8002
|
import_crypto = require("crypto");
|
|
7748
|
-
|
|
8003
|
+
import_jose5 = require("jose");
|
|
7749
8004
|
init_pdlss_parser();
|
|
7750
8005
|
init_types3();
|
|
7751
8006
|
FleetPolicyError = class extends Error {
|
|
@@ -3988,7 +3988,7 @@ function getTrustLevel(score) {
|
|
|
3988
3988
|
}
|
|
3989
3989
|
|
|
3990
3990
|
// src/version.ts
|
|
3991
|
-
var SDK_VERSION = "5.
|
|
3991
|
+
var SDK_VERSION = "5.15.0";
|
|
3992
3992
|
|
|
3993
3993
|
// src/http.ts
|
|
3994
3994
|
var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
|
|
@@ -4307,6 +4307,7 @@ async function callVerifyAccessAPI(config, request) {
|
|
|
4307
4307
|
if (requestData.invocationProtocol) body.invocationProtocol = requestData.invocationProtocol;
|
|
4308
4308
|
if (requestData.commercePhase) body.commercePhase = requestData.commercePhase;
|
|
4309
4309
|
if (requestData.checkoutSessionId) body.checkoutSessionId = requestData.checkoutSessionId;
|
|
4310
|
+
if (requestData.checkoutJwt) body.checkoutJwt = requestData.checkoutJwt;
|
|
4310
4311
|
if (requestData.checkoutItems) body.checkoutItems = requestData.checkoutItems;
|
|
4311
4312
|
if (requestData.buyerEmail) body.buyerEmail = requestData.buyerEmail;
|
|
4312
4313
|
if (requestData.commerceArtifacts) body.commerceArtifacts = requestData.commerceArtifacts;
|
|
@@ -4457,7 +4458,8 @@ async function verify(config, request, options) {
|
|
|
4457
4458
|
"[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."
|
|
4458
4459
|
);
|
|
4459
4460
|
}
|
|
4460
|
-
|
|
4461
|
+
const uncacheable = Boolean(request.commerceArtifacts);
|
|
4462
|
+
if (mergedConfig.cacheTtl !== 0 && !options?.bypassCache && !uncacheable) {
|
|
4461
4463
|
const cached = getCachedResult(request, mergedConfig.counterpartyId);
|
|
4462
4464
|
if (cached) {
|
|
4463
4465
|
if (mergedConfig.debug) {
|
|
@@ -4538,7 +4540,10 @@ async function verify(config, request, options) {
|
|
|
4538
4540
|
// MERCHANT caller only (bridge callers strip it before the agent plane).
|
|
4539
4541
|
settlementToken: apiResponse.settlementToken,
|
|
4540
4542
|
// 5.6.0: fulfilment contact — merchant-only lane, same strip rule.
|
|
4541
|
-
fulfilment: apiResponse.fulfilment
|
|
4543
|
+
fulfilment: apiResponse.fulfilment,
|
|
4544
|
+
mandates: apiResponse.mandates,
|
|
4545
|
+
kyaToken: apiResponse.kyaToken,
|
|
4546
|
+
aep: apiResponse.aep
|
|
4542
4547
|
};
|
|
4543
4548
|
return result2;
|
|
4544
4549
|
}
|
|
@@ -4548,7 +4553,10 @@ async function verify(config, request, options) {
|
|
|
4548
4553
|
trustScore: apiResponse.agent.trustScore,
|
|
4549
4554
|
trustLevel: getTrustLevel(apiResponse.agent.trustScore),
|
|
4550
4555
|
blockchainAnchored: apiResponse.agent.blockchainStatus === "anchored",
|
|
4551
|
-
status: apiResponse.agent.agentStatus
|
|
4556
|
+
status: apiResponse.agent.agentStatus,
|
|
4557
|
+
...apiResponse.agent.protocolIdentities && {
|
|
4558
|
+
protocolIdentities: apiResponse.agent.protocolIdentities
|
|
4559
|
+
}
|
|
4552
4560
|
} : void 0;
|
|
4553
4561
|
const developer = apiResponse.developer ? {
|
|
4554
4562
|
astradId: apiResponse.developer.kyaOwnerId,
|
|
@@ -4599,7 +4607,11 @@ async function verify(config, request, options) {
|
|
|
4599
4607
|
settlementOutcome: apiResponse.settlementOutcome,
|
|
4600
4608
|
settlementToken: apiResponse.settlementToken,
|
|
4601
4609
|
// 5.6.0: fulfilment contact — merchant-only lane, same strip rule.
|
|
4602
|
-
fulfilment: apiResponse.fulfilment
|
|
4610
|
+
fulfilment: apiResponse.fulfilment,
|
|
4611
|
+
// 5.15.0: merchant-lane AP2 mandates + KYAPay identity token.
|
|
4612
|
+
mandates: apiResponse.mandates,
|
|
4613
|
+
kyaToken: apiResponse.kyaToken,
|
|
4614
|
+
aep: apiResponse.aep
|
|
4603
4615
|
};
|
|
4604
4616
|
if (result.recommendation === "deny") {
|
|
4605
4617
|
result.policyAllowed = false;
|
|
@@ -4619,7 +4631,9 @@ async function verify(config, request, options) {
|
|
|
4619
4631
|
}
|
|
4620
4632
|
const escalates = result.requiresStepUp === true || result.requiresApproval === true || result.recommendation === "step_up_required";
|
|
4621
4633
|
if (mergedConfig.cacheTtl !== 0 && result.recommendation !== "deny" && !escalates) {
|
|
4622
|
-
|
|
4634
|
+
if (!uncacheable) {
|
|
4635
|
+
cacheResult(request, result, mergedConfig.cacheTtl, mergedConfig.counterpartyId);
|
|
4636
|
+
}
|
|
4623
4637
|
}
|
|
4624
4638
|
return result;
|
|
4625
4639
|
}
|
|
@@ -4630,6 +4644,9 @@ var FALLBACK_MAX_WAIT_MS = 5 * 60 * 1e3;
|
|
|
4630
4644
|
// src/metadata-capture.ts
|
|
4631
4645
|
var MAX_TOTAL_BYTES = 16 * 1024;
|
|
4632
4646
|
|
|
4647
|
+
// src/adapters/commerce-detect.ts
|
|
4648
|
+
var MAX_BODY_BYTES = 64 * 1024;
|
|
4649
|
+
|
|
4633
4650
|
// src/edge-config.ts
|
|
4634
4651
|
var DEFAULT_EDGE_CONFIG = Object.freeze({
|
|
4635
4652
|
version: 1,
|
|
@@ -4939,6 +4956,33 @@ var import_node_crypto4 = require("crypto");
|
|
|
4939
4956
|
// src/transport/registry/visa.ts
|
|
4940
4957
|
var import_jose = require("jose");
|
|
4941
4958
|
|
|
4959
|
+
// src/ucp/profile.ts
|
|
4960
|
+
var UCP_VERSION = "2026-08-25";
|
|
4961
|
+
var SPEC = `https://ucp.dev/${UCP_VERSION}/specification`;
|
|
4962
|
+
var SCHEMAS = `https://ucp.dev/${UCP_VERSION}/schemas`;
|
|
4963
|
+
|
|
4964
|
+
// src/ucp/signatures.ts
|
|
4965
|
+
var import_http_message_signatures3 = require("http-message-signatures");
|
|
4966
|
+
|
|
4967
|
+
// src/http-signatures/sign.ts
|
|
4968
|
+
var import_http_message_signatures2 = require("http-message-signatures");
|
|
4969
|
+
|
|
4970
|
+
// src/ucp/checkout-kit.ts
|
|
4971
|
+
var import_jose3 = require("jose");
|
|
4972
|
+
|
|
4973
|
+
// src/mandates/sd-jwt.ts
|
|
4974
|
+
var import_jose2 = require("jose");
|
|
4975
|
+
|
|
4976
|
+
// src/idempotency/index.ts
|
|
4977
|
+
var DEFAULT_IDEMPOTENCY_TTL_MS = 24 * 60 * 60 * 1e3;
|
|
4978
|
+
|
|
4979
|
+
// src/payments/kyapay.ts
|
|
4980
|
+
var import_jose4 = require("jose");
|
|
4981
|
+
|
|
4982
|
+
// src/aep/core.ts
|
|
4983
|
+
var ED25519_PKCS8_PREFIX = Buffer.from("302e020100300506032b657004220420", "hex");
|
|
4984
|
+
var ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
|
|
4985
|
+
|
|
4942
4986
|
// src/gateway/modes/online.ts
|
|
4943
4987
|
function toGatewayConfig(config) {
|
|
4944
4988
|
return {
|