@astrasyncai/verification-gateway 5.13.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 +504 -249
- package/dist/adapters/express.js.map +1 -1
- package/dist/adapters/express.mjs +504 -249
- 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 +487 -248
- package/dist/adapters/nextjs.js.map +1 -1
- package/dist/adapters/nextjs.mjs +487 -248
- 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 +82 -20
- package/dist/bin/astrasync-codex-hook.js +82 -20
- package/dist/bin/astrasync-guard.js +82 -20
- package/dist/bin/astrasync.js +316 -43
- package/dist/browser/background.js +77 -15
- package/dist/browser/background.js.map +1 -1
- package/dist/browser/background.mjs +87 -15
- 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 +82 -20
- package/dist/codex/index.js.map +1 -1
- package/dist/codex/index.mjs +92 -20
- package/dist/codex/index.mjs.map +1 -1
- package/dist/cursor/extension.js +82 -20
- package/dist/cursor/extension.js.map +1 -1
- package/dist/cursor/extension.mjs +92 -20
- 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 +43 -6
- package/dist/edge-core/index.d.ts +43 -6
- package/dist/edge-core/index.js +120 -19
- package/dist/edge-core/index.js.map +1 -1
- package/dist/edge-core/index.mjs +118 -19
- package/dist/edge-core/index.mjs.map +1 -1
- package/dist/gateway/gateway.js +77 -15
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/gateway.mjs +87 -15
- 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 +5143 -2621
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5090 -2623
- 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"() {
|
|
@@ -5817,7 +5850,7 @@ async function withBudget(promise, ms) {
|
|
|
5817
5850
|
if (timer) clearTimeout(timer);
|
|
5818
5851
|
}
|
|
5819
5852
|
}
|
|
5820
|
-
var destKeyOf, BeaconBuffer, beaconBuffer;
|
|
5853
|
+
var CONTAINER_ID, destKeyOf, BeaconBuffer, beaconBuffer;
|
|
5821
5854
|
var init_events = __esm({
|
|
5822
5855
|
"src/edge-core/events.ts"() {
|
|
5823
5856
|
"use strict";
|
|
@@ -5825,6 +5858,11 @@ var init_events = __esm({
|
|
|
5825
5858
|
init_metadata_capture();
|
|
5826
5859
|
init_version();
|
|
5827
5860
|
init_request();
|
|
5861
|
+
CONTAINER_ID = (() => {
|
|
5862
|
+
const c = globalThis.crypto;
|
|
5863
|
+
if (c?.randomUUID) return c.randomUUID();
|
|
5864
|
+
return `c-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 12)}`;
|
|
5865
|
+
})();
|
|
5828
5866
|
destKeyOf = (d) => `${d.apiBaseUrl}\0${d.apiKey ?? ""}\0${d.counterparty}\0${d.adapter ?? ""}`;
|
|
5829
5867
|
BeaconBuffer = class {
|
|
5830
5868
|
constructor(options = {}) {
|
|
@@ -5832,6 +5870,7 @@ var init_events = __esm({
|
|
|
5832
5870
|
this.droppedSinceLast = 0;
|
|
5833
5871
|
this.droppedTotal = 0;
|
|
5834
5872
|
this.deliveredTotal = 0;
|
|
5873
|
+
this.enqueuedTotal = 0;
|
|
5835
5874
|
this.backoffUntil = 0;
|
|
5836
5875
|
this.collapse = /* @__PURE__ */ new Map();
|
|
5837
5876
|
/** Keys the backend answered 401 for — later batches go unauthenticated. */
|
|
@@ -5844,13 +5883,16 @@ var init_events = __esm({
|
|
|
5844
5883
|
collapseMaxKeys: options.collapseMaxKeys ?? 1e3,
|
|
5845
5884
|
requestTimeoutMs: options.requestTimeoutMs ?? 1e4,
|
|
5846
5885
|
retryBackoffMs: options.retryBackoffMs ?? 1e3,
|
|
5886
|
+
holdRepeats: options.holdRepeats ?? false,
|
|
5887
|
+
containerId: options.containerId ?? CONTAINER_ID,
|
|
5847
5888
|
now: options.now ?? Date.now
|
|
5848
5889
|
};
|
|
5849
5890
|
}
|
|
5850
5891
|
/**
|
|
5851
5892
|
* Queue one beacon. With a `collapseKey`, a repeat inside the window is
|
|
5852
|
-
* merged into
|
|
5853
|
-
*
|
|
5893
|
+
* merged into this key's item while that item is still queued (not yet in
|
|
5894
|
+
* flight). Once it has left, the repeat becomes a new item, sendable on
|
|
5895
|
+
* this flush — nothing waits for a later invocation (round 27.6).
|
|
5854
5896
|
*/
|
|
5855
5897
|
enqueue(dest, item, collapseKey) {
|
|
5856
5898
|
const now = this.opts.now();
|
|
@@ -5863,12 +5905,15 @@ var init_events = __esm({
|
|
|
5863
5905
|
return;
|
|
5864
5906
|
}
|
|
5865
5907
|
}
|
|
5866
|
-
|
|
5867
|
-
|
|
5868
|
-
|
|
5869
|
-
|
|
5870
|
-
|
|
5871
|
-
|
|
5908
|
+
if (this.opts.holdRepeats) {
|
|
5909
|
+
entry.held = this.push(
|
|
5910
|
+
dest,
|
|
5911
|
+
{ ...item, repeatCount: 1 },
|
|
5912
|
+
entry.firstSeenAt + this.opts.collapseWindowMs
|
|
5913
|
+
);
|
|
5914
|
+
return;
|
|
5915
|
+
}
|
|
5916
|
+
entry.first = this.push(dest, { ...item, repeatCount: 1 }, now);
|
|
5872
5917
|
return;
|
|
5873
5918
|
}
|
|
5874
5919
|
this.collapse.delete(collapseKey);
|
|
@@ -5904,6 +5949,7 @@ var init_events = __esm({
|
|
|
5904
5949
|
droppedSinceLast: this.droppedSinceLast,
|
|
5905
5950
|
droppedTotal: this.droppedTotal,
|
|
5906
5951
|
deliveredTotal: this.deliveredTotal,
|
|
5952
|
+
enqueuedTotal: this.enqueuedTotal,
|
|
5907
5953
|
flushing: this.inFlight !== void 0
|
|
5908
5954
|
};
|
|
5909
5955
|
}
|
|
@@ -5918,6 +5964,7 @@ var init_events = __esm({
|
|
|
5918
5964
|
inFlight: false
|
|
5919
5965
|
};
|
|
5920
5966
|
this.queue.push(entry);
|
|
5967
|
+
this.enqueuedTotal += 1;
|
|
5921
5968
|
return entry;
|
|
5922
5969
|
}
|
|
5923
5970
|
dropOldest() {
|
|
@@ -5963,7 +6010,11 @@ var init_events = __esm({
|
|
|
5963
6010
|
droppedSinceLast: reportedDropped,
|
|
5964
6011
|
queueDepth: this.queue.length,
|
|
5965
6012
|
adapter: dest.adapter ?? "edge-core",
|
|
5966
|
-
version: SDK_VERSION
|
|
6013
|
+
version: SDK_VERSION,
|
|
6014
|
+
containerId: this.opts.containerId,
|
|
6015
|
+
enqueuedTotal: this.enqueuedTotal,
|
|
6016
|
+
deliveredTotal: this.deliveredTotal,
|
|
6017
|
+
droppedTotal: this.droppedTotal
|
|
5967
6018
|
};
|
|
5968
6019
|
const controller = typeof AbortController !== "undefined" ? new AbortController() : void 0;
|
|
5969
6020
|
const response = await withBudget(
|
|
@@ -6040,6 +6091,7 @@ var DEFAULT_ROUTES_REFRESH_MS;
|
|
|
6040
6091
|
var init_express = __esm({
|
|
6041
6092
|
"src/adapters/express.ts"() {
|
|
6042
6093
|
"use strict";
|
|
6094
|
+
init_commerce_detect();
|
|
6043
6095
|
init_stepup_poll();
|
|
6044
6096
|
init_verify();
|
|
6045
6097
|
init_http2();
|
|
@@ -6051,6 +6103,7 @@ var init_express = __esm({
|
|
|
6051
6103
|
init_metadata_capture();
|
|
6052
6104
|
init_anonymous_beacon();
|
|
6053
6105
|
init_failure_posture();
|
|
6106
|
+
init_route_pattern();
|
|
6054
6107
|
DEFAULT_ROUTES_REFRESH_MS = 5 * 60 * 1e3;
|
|
6055
6108
|
}
|
|
6056
6109
|
});
|
|
@@ -6060,6 +6113,7 @@ var DEFAULT_ROUTES_REFRESH_MS2;
|
|
|
6060
6113
|
var init_nextjs = __esm({
|
|
6061
6114
|
"src/adapters/nextjs.ts"() {
|
|
6062
6115
|
"use strict";
|
|
6116
|
+
init_commerce_detect();
|
|
6063
6117
|
init_stepup_poll();
|
|
6064
6118
|
init_verify();
|
|
6065
6119
|
init_http2();
|
|
@@ -6070,6 +6124,7 @@ var init_nextjs = __esm({
|
|
|
6070
6124
|
init_http_pdlss();
|
|
6071
6125
|
init_approval_gate();
|
|
6072
6126
|
init_verified_hop();
|
|
6127
|
+
init_route_pattern();
|
|
6073
6128
|
DEFAULT_ROUTES_REFRESH_MS2 = 5 * 60 * 1e3;
|
|
6074
6129
|
}
|
|
6075
6130
|
});
|
|
@@ -6081,6 +6136,7 @@ var init_sdk = __esm({
|
|
|
6081
6136
|
init_verify();
|
|
6082
6137
|
init_trust_levels();
|
|
6083
6138
|
init_http();
|
|
6139
|
+
init_errors();
|
|
6084
6140
|
}
|
|
6085
6141
|
});
|
|
6086
6142
|
|
|
@@ -6471,6 +6527,215 @@ var init_runtime_signatures = __esm({
|
|
|
6471
6527
|
}
|
|
6472
6528
|
});
|
|
6473
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
|
+
|
|
6474
6739
|
// src/index.ts
|
|
6475
6740
|
var init_src = __esm({
|
|
6476
6741
|
"src/index.ts"() {
|
|
@@ -6503,6 +6768,14 @@ var init_src = __esm({
|
|
|
6503
6768
|
init_pdlss_parser();
|
|
6504
6769
|
init_schema();
|
|
6505
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();
|
|
6506
6779
|
}
|
|
6507
6780
|
});
|
|
6508
6781
|
|
|
@@ -7643,8 +7916,8 @@ async function verifyFleetPolicy(jws, jwks, options) {
|
|
|
7643
7916
|
let payloadBytes;
|
|
7644
7917
|
let header;
|
|
7645
7918
|
try {
|
|
7646
|
-
const keySet = (0,
|
|
7647
|
-
const result = await (0,
|
|
7919
|
+
const keySet = (0, import_jose5.createLocalJWKSet)(jwks);
|
|
7920
|
+
const result = await (0, import_jose5.compactVerify)(jws, keySet, { algorithms: ["ES256"] });
|
|
7648
7921
|
payloadBytes = result.payload;
|
|
7649
7922
|
header = result.protectedHeader;
|
|
7650
7923
|
} catch (err) {
|
|
@@ -7690,9 +7963,9 @@ async function resolveFleetJwks(pinned, chain, ownerId) {
|
|
|
7690
7963
|
let lastSeq = 0;
|
|
7691
7964
|
for (const link of chain) {
|
|
7692
7965
|
try {
|
|
7693
|
-
const { payload, protectedHeader } = await (0,
|
|
7966
|
+
const { payload, protectedHeader } = await (0, import_jose5.compactVerify)(
|
|
7694
7967
|
link,
|
|
7695
|
-
(0,
|
|
7968
|
+
(0, import_jose5.createLocalJWKSet)(trusted),
|
|
7696
7969
|
{ algorithms: ["ES256"] }
|
|
7697
7970
|
);
|
|
7698
7971
|
if (protectedHeader.typ !== FLEET_KEYS_TYP) continue;
|
|
@@ -7722,12 +7995,12 @@ async function pickNewestValid(candidates, jwks, options) {
|
|
|
7722
7995
|
if (!best) throw lastError;
|
|
7723
7996
|
return best;
|
|
7724
7997
|
}
|
|
7725
|
-
var import_crypto,
|
|
7998
|
+
var import_crypto, import_jose5, FleetPolicyError;
|
|
7726
7999
|
var init_policy_verify = __esm({
|
|
7727
8000
|
"src/fleet/policy-verify.ts"() {
|
|
7728
8001
|
"use strict";
|
|
7729
8002
|
import_crypto = require("crypto");
|
|
7730
|
-
|
|
8003
|
+
import_jose5 = require("jose");
|
|
7731
8004
|
init_pdlss_parser();
|
|
7732
8005
|
init_types3();
|
|
7733
8006
|
FleetPolicyError = class extends Error {
|