@haven_ai/sdk 0.8.0-alpha.0 → 0.8.1-alpha.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/dist/{base64-znjJJQqu.d.cts → base64-BjxHPgtC.d.cts} +1 -1
- package/dist/{base64-znjJJQqu.d.ts → base64-BjxHPgtC.d.ts} +1 -1
- package/dist/{chunk-WJFDXCYP.cjs → chunk-HFOAYTD4.cjs} +3 -3
- package/dist/{chunk-WJFDXCYP.cjs.map → chunk-HFOAYTD4.cjs.map} +1 -1
- package/dist/{chunk-UXULZ3ZY.js → chunk-WDA3IGJP.js} +3 -3
- package/dist/{chunk-UXULZ3ZY.js.map → chunk-WDA3IGJP.js.map} +1 -1
- package/dist/edge.cjs +49 -49
- package/dist/edge.d.cts +2 -2
- package/dist/edge.d.ts +2 -2
- package/dist/edge.js +2 -2
- package/dist/index.cjs +137 -135
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -7
- package/dist/index.d.ts +11 -7
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkHFOAYTD4_cjs = require('./chunk-HFOAYTD4.cjs');
|
|
4
4
|
var chunkHX34HOW4_cjs = require('./chunk-HX34HOW4.cjs');
|
|
5
5
|
var viem = require('viem');
|
|
6
6
|
var ethers = require('ethers');
|
|
@@ -61,7 +61,7 @@ function verifySignature(hash, signature, expectedAddress) {
|
|
|
61
61
|
var DEFAULT_BASE_URL = "http://localhost:3001";
|
|
62
62
|
var DEFAULT_REQUEST_TIMEOUT = 3e4;
|
|
63
63
|
function withoutClientHeader(headers) {
|
|
64
|
-
const target =
|
|
64
|
+
const target = chunkHFOAYTD4_cjs.HAVEN_CLIENT_HEADER.toLowerCase();
|
|
65
65
|
return Object.fromEntries(Object.entries(headers).filter(([name]) => name.toLowerCase() !== target));
|
|
66
66
|
}
|
|
67
67
|
var HavenApiTransport = class {
|
|
@@ -77,7 +77,7 @@ var HavenApiTransport = class {
|
|
|
77
77
|
this.baseUrl = (config.baseUrl ?? DEFAULT_BASE_URL).replace(/\/+$/, "");
|
|
78
78
|
this.requestTimeout = config.requestTimeout ?? DEFAULT_REQUEST_TIMEOUT;
|
|
79
79
|
this.defaultHeaders = { ...config.defaultHeaders ?? {} };
|
|
80
|
-
this.clientIdentity = config.clientIdentity ??
|
|
80
|
+
this.clientIdentity = config.clientIdentity ?? chunkHFOAYTD4_cjs.SDK_CLIENT_IDENTITY;
|
|
81
81
|
}
|
|
82
82
|
/**
|
|
83
83
|
* The newest `client_update` the backend sent (#3303): inside a
|
|
@@ -90,7 +90,7 @@ var HavenApiTransport = class {
|
|
|
90
90
|
}
|
|
91
91
|
recordClientUpdate(data) {
|
|
92
92
|
if (data === null || typeof data !== "object" || Array.isArray(data)) return;
|
|
93
|
-
const hint =
|
|
93
|
+
const hint = chunkHFOAYTD4_cjs.readClientUpdate(data.client_update);
|
|
94
94
|
if (!hint) return;
|
|
95
95
|
this.lastClientUpdate = hint;
|
|
96
96
|
const store = this.requestContext.getStore();
|
|
@@ -123,7 +123,7 @@ var HavenApiTransport = class {
|
|
|
123
123
|
// JOIN `x-haven-client` and `X-Haven-Client` into one unparseable
|
|
124
124
|
// value), so neither `defaultHeaders` nor a dispatch context can
|
|
125
125
|
// misname the client; `clientIdentity` is the one way to set it.
|
|
126
|
-
[
|
|
126
|
+
[chunkHFOAYTD4_cjs.HAVEN_CLIENT_HEADER]: this.clientIdentity
|
|
127
127
|
},
|
|
128
128
|
body: body ? JSON.stringify(body) : void 0,
|
|
129
129
|
signal: controller.signal
|
|
@@ -173,7 +173,7 @@ async function fetchUnsignedTaxDeclaration(client) {
|
|
|
173
173
|
);
|
|
174
174
|
}
|
|
175
175
|
async function resolveTaxDeclarationHeader(client, input) {
|
|
176
|
-
if (
|
|
176
|
+
if (chunkHFOAYTD4_cjs.isErc7710Option(input.accepted)) {
|
|
177
177
|
return { header: void 0 };
|
|
178
178
|
}
|
|
179
179
|
let content;
|
|
@@ -185,7 +185,7 @@ async function resolveTaxDeclarationHeader(client, input) {
|
|
|
185
185
|
if (!content.available) {
|
|
186
186
|
return { header: void 0 };
|
|
187
187
|
}
|
|
188
|
-
const signed =
|
|
188
|
+
const signed = chunkHFOAYTD4_cjs.buildSignedTaxDeclaration({
|
|
189
189
|
content: content.declaration,
|
|
190
190
|
network: input.accepted.network,
|
|
191
191
|
delegateKey: input.delegateKey
|
|
@@ -194,19 +194,19 @@ async function resolveTaxDeclarationHeader(client, input) {
|
|
|
194
194
|
`[haven-sdk] signing x402 tax declaration taxId=${JSON.stringify(content.declaration.taxId)} jurisdiction=${JSON.stringify(content.declaration.jurisdiction)} principalId=${signed.declaration.principalId}
|
|
195
195
|
`
|
|
196
196
|
);
|
|
197
|
-
return { header:
|
|
197
|
+
return { header: chunkHFOAYTD4_cjs.encodeTaxDeclarationHeader(signed) };
|
|
198
198
|
}
|
|
199
199
|
function withTaxDeclarationHeader(init, header) {
|
|
200
200
|
if (!header) {
|
|
201
|
-
if (init?.headers && new Headers(init.headers).has(
|
|
201
|
+
if (init?.headers && new Headers(init.headers).has(chunkHFOAYTD4_cjs.X_TAX_DECLARATION_HEADER)) {
|
|
202
202
|
const headers2 = new Headers(init.headers);
|
|
203
|
-
headers2.delete(
|
|
203
|
+
headers2.delete(chunkHFOAYTD4_cjs.X_TAX_DECLARATION_HEADER);
|
|
204
204
|
return { ...init, headers: headers2 };
|
|
205
205
|
}
|
|
206
206
|
return init ?? {};
|
|
207
207
|
}
|
|
208
208
|
const headers = new Headers(init?.headers);
|
|
209
|
-
headers.set(
|
|
209
|
+
headers.set(chunkHFOAYTD4_cjs.X_TAX_DECLARATION_HEADER, header);
|
|
210
210
|
return { ...init, headers };
|
|
211
211
|
}
|
|
212
212
|
|
|
@@ -697,8 +697,8 @@ var McpMerchantTransport = class {
|
|
|
697
697
|
async deliverPayment(url, init, paymentHeader) {
|
|
698
698
|
assertSecureX402RetryTarget(url);
|
|
699
699
|
const headers = new Headers(init?.headers);
|
|
700
|
-
const send =
|
|
701
|
-
for (const name of
|
|
700
|
+
const send = chunkHFOAYTD4_cjs.x402PaymentHeaderNamesFor(paymentHeader);
|
|
701
|
+
for (const name of chunkHFOAYTD4_cjs.X402_PAYMENT_HEADER_NAMES) {
|
|
702
702
|
if (send.includes(name)) headers.set(name, paymentHeader);
|
|
703
703
|
else headers.delete(name);
|
|
704
704
|
}
|
|
@@ -785,7 +785,7 @@ function mcpToolResultOf(value) {
|
|
|
785
785
|
function extractMcpPaymentRequired(toolResult) {
|
|
786
786
|
if (toolResult.isError !== true) return void 0;
|
|
787
787
|
if (isRecord(toolResult.structuredContent)) {
|
|
788
|
-
const parsed =
|
|
788
|
+
const parsed = chunkHFOAYTD4_cjs.normalizePaymentRequired(toolResult.structuredContent);
|
|
789
789
|
if (parsed) return parsed;
|
|
790
790
|
}
|
|
791
791
|
if (Array.isArray(toolResult.content)) {
|
|
@@ -797,7 +797,7 @@ function extractMcpPaymentRequired(toolResult) {
|
|
|
797
797
|
} catch {
|
|
798
798
|
continue;
|
|
799
799
|
}
|
|
800
|
-
const parsed =
|
|
800
|
+
const parsed = chunkHFOAYTD4_cjs.normalizePaymentRequired(candidate);
|
|
801
801
|
if (parsed) return parsed;
|
|
802
802
|
}
|
|
803
803
|
}
|
|
@@ -821,7 +821,7 @@ function withMcpPaymentMeta(init, paymentHeader) {
|
|
|
821
821
|
if (!request) return init;
|
|
822
822
|
let envelope;
|
|
823
823
|
try {
|
|
824
|
-
envelope =
|
|
824
|
+
envelope = chunkHFOAYTD4_cjs.decodeBase64Json(paymentHeader);
|
|
825
825
|
} catch {
|
|
826
826
|
return init;
|
|
827
827
|
}
|
|
@@ -837,7 +837,7 @@ function withMcpPaymentMeta(init, paymentHeader) {
|
|
|
837
837
|
};
|
|
838
838
|
}
|
|
839
839
|
function encodeMcpSettlementReceipt(settlement) {
|
|
840
|
-
return
|
|
840
|
+
return chunkHFOAYTD4_cjs.encodeBase64Json(settlement);
|
|
841
841
|
}
|
|
842
842
|
function parseJsonRpcToolsCall(body) {
|
|
843
843
|
if (typeof body !== "string") return void 0;
|
|
@@ -1032,7 +1032,7 @@ function deriveReadiness(status, allowances) {
|
|
|
1032
1032
|
return allowances.some((allowance) => safeBigInt(allowance.remainingAtomic) > 0n) ? "ready" : "needs_approval";
|
|
1033
1033
|
}
|
|
1034
1034
|
function formatRemainingDisplay(tokenAddress, tokenSymbol, remainingAtomic) {
|
|
1035
|
-
const token =
|
|
1035
|
+
const token = chunkHFOAYTD4_cjs.resolveTokenFromAddress(tokenAddress);
|
|
1036
1036
|
return token ? `${formatAtomicAmount(safeBigInt(remainingAtomic), token.decimals)} ${tokenSymbol}` : `${remainingAtomic} ${tokenSymbol} (atomic; unknown decimals)`;
|
|
1037
1037
|
}
|
|
1038
1038
|
function formatTokenAmount(atomic, decimals) {
|
|
@@ -1108,7 +1108,7 @@ function summarizePendingSubBudget(row) {
|
|
|
1108
1108
|
};
|
|
1109
1109
|
}
|
|
1110
1110
|
function summarizeTaskBudget(taskBudget) {
|
|
1111
|
-
const token =
|
|
1111
|
+
const token = chunkHFOAYTD4_cjs.resolveTokenFromAddress(taskBudget.tokenAddress);
|
|
1112
1112
|
const maxDisplay = token ? `${formatAtomicAmount(safeBigInt(taskBudget.maxAtomic), token.decimals)} ${token.symbol}` : `${taskBudget.maxAtomic} (atomic; unknown decimals)`;
|
|
1113
1113
|
const spendDisplay = (atomic) => {
|
|
1114
1114
|
if (atomic === null) return null;
|
|
@@ -1479,8 +1479,8 @@ var DelegateSweepApi = class {
|
|
|
1479
1479
|
const provider = createJsonRpcProvider(rpcUrl);
|
|
1480
1480
|
const wallet = createWallet(this.options.delegateKey, provider);
|
|
1481
1481
|
const transfers = [];
|
|
1482
|
-
if (
|
|
1483
|
-
const contract = createErc20Contract(
|
|
1482
|
+
if (chunkHFOAYTD4_cjs.isSweepableChain(agent.chainId)) {
|
|
1483
|
+
const contract = createErc20Contract(chunkHFOAYTD4_cjs.sweepUsdcAddress(agent.chainId), ["function balanceOf(address) view returns (uint256)", "function transfer(address to, uint256 amount) returns (bool)"], wallet);
|
|
1484
1484
|
const balance2 = await contract.balanceOf(agent.delegateAddress);
|
|
1485
1485
|
if (balance2 > 0n) {
|
|
1486
1486
|
const tx = await contract.transfer(agent.accountAddress, balance2);
|
|
@@ -1589,9 +1589,9 @@ function requestInitFromSnapshot(request) {
|
|
|
1589
1589
|
};
|
|
1590
1590
|
}
|
|
1591
1591
|
function noCompatiblePaymentOptionError(accepts) {
|
|
1592
|
-
const erc7710Only =
|
|
1592
|
+
const erc7710Only = chunkHFOAYTD4_cjs.selectErc7710PaymentOption(accepts) !== null;
|
|
1593
1593
|
const unsupportedOnly = !erc7710Only && accepts.some(
|
|
1594
|
-
(opt) => opt !== null && typeof opt === "object" && !
|
|
1594
|
+
(opt) => opt !== null && typeof opt === "object" && !chunkHFOAYTD4_cjs.isErc7710Option(opt) && (chunkHFOAYTD4_cjs.x402AssetTransferMethod(opt) !== null || opt.extra?.paymentFlow !== void 0)
|
|
1595
1595
|
);
|
|
1596
1596
|
return new chunkHX34HOW4_cjs.HavenApiError(
|
|
1597
1597
|
"No compatible payment option found in x402 requirements. Haven supports standard x402 exact payments on Base USDC." + (erc7710Only ? " The only Haven-compatible option this merchant advertises is tagged extra.assetTransferMethod: 'erc7710' (direct settlement), which this EIP-3009 payment path cannot settle \u2014 the limitation is the settlement scheme, not the asset. Paying this merchant requires a delegation-rail erc7710 flow (settleX402Erc7710, or the hosted MCP purchase tools)." : unsupportedOnly ? " Every option this merchant advertises asks for a transfer method or payment flow Haven cannot construct (for example extra.assetTransferMethod: 'permit2', or an unrecognized extra.paymentFlow). No payment intent was created and no funds moved." : ""),
|
|
@@ -1599,15 +1599,15 @@ function noCompatiblePaymentOptionError(accepts) {
|
|
|
1599
1599
|
);
|
|
1600
1600
|
}
|
|
1601
1601
|
function buildX402Quote(paymentRequired, request, idempotencyKey, mcpTransport) {
|
|
1602
|
-
const standard =
|
|
1603
|
-
const option = standard ??
|
|
1602
|
+
const standard = chunkHFOAYTD4_cjs.selectStandardPaymentOption(paymentRequired.accepts);
|
|
1603
|
+
const option = standard ?? chunkHFOAYTD4_cjs.selectErc7710PaymentOption(paymentRequired.accepts);
|
|
1604
1604
|
if (!option) {
|
|
1605
1605
|
throw noCompatiblePaymentOptionError(paymentRequired.accepts);
|
|
1606
1606
|
}
|
|
1607
|
-
const token =
|
|
1607
|
+
const token = chunkHFOAYTD4_cjs.resolveTokenFromAddress(option.asset, option.network);
|
|
1608
1608
|
return {
|
|
1609
1609
|
rail: "x402",
|
|
1610
|
-
idempotencyKey: idempotencyKey ??
|
|
1610
|
+
idempotencyKey: idempotencyKey ?? chunkHFOAYTD4_cjs.buildX402IdempotencyKey(paymentRequired, option),
|
|
1611
1611
|
paymentRequired,
|
|
1612
1612
|
accepted: option,
|
|
1613
1613
|
acceptedScheme: standard ? "standard" : "erc7710",
|
|
@@ -1621,8 +1621,8 @@ function buildX402Quote(paymentRequired, request, idempotencyKey, mcpTransport)
|
|
|
1621
1621
|
resourceUrlDiffersFromRequest: paymentRequired.resource.url !== request.url,
|
|
1622
1622
|
description: paymentRequired.resource.description ?? option.description ?? null,
|
|
1623
1623
|
mimeType: paymentRequired.resource.mimeType ?? option.mimeType ?? null,
|
|
1624
|
-
amountAtomic:
|
|
1625
|
-
amount: decimalFromUsdcAtomic(
|
|
1624
|
+
amountAtomic: chunkHFOAYTD4_cjs.x402AuthorizationAmount(option),
|
|
1625
|
+
amount: decimalFromUsdcAtomic(chunkHFOAYTD4_cjs.x402AuthorizationAmount(option)),
|
|
1626
1626
|
token: token?.symbol ?? "USDC",
|
|
1627
1627
|
// #1351: null when the asset is unrecognised on this network — the
|
|
1628
1628
|
// `token` fallback above is a LABEL, not evidence of 6 decimals, and a
|
|
@@ -1661,7 +1661,7 @@ function buildX402Receipt(input) {
|
|
|
1661
1661
|
payTo: input.merchantTo ?? input.accepted.payTo
|
|
1662
1662
|
},
|
|
1663
1663
|
x402: {
|
|
1664
|
-
amount:
|
|
1664
|
+
amount: chunkHFOAYTD4_cjs.x402AuthorizationAmount(input.accepted),
|
|
1665
1665
|
token: input.token,
|
|
1666
1666
|
network: input.accepted.network,
|
|
1667
1667
|
asset: input.accepted.asset,
|
|
@@ -1670,7 +1670,7 @@ function buildX402Receipt(input) {
|
|
|
1670
1670
|
};
|
|
1671
1671
|
}
|
|
1672
1672
|
function buildX402ResumeState(input) {
|
|
1673
|
-
const token =
|
|
1673
|
+
const token = chunkHFOAYTD4_cjs.resolveTokenFromAddress(input.accepted.asset, input.accepted.network);
|
|
1674
1674
|
return {
|
|
1675
1675
|
rail: "x402",
|
|
1676
1676
|
paymentId: input.paymentId,
|
|
@@ -1681,8 +1681,8 @@ function buildX402ResumeState(input) {
|
|
|
1681
1681
|
request: input.request,
|
|
1682
1682
|
resourceUrl: input.paymentRequired.resource.url,
|
|
1683
1683
|
description: input.paymentRequired.resource.description ?? input.accepted.description ?? null,
|
|
1684
|
-
amountAtomic:
|
|
1685
|
-
amount: decimalFromUsdcAtomic(
|
|
1684
|
+
amountAtomic: chunkHFOAYTD4_cjs.x402AuthorizationAmount(input.accepted),
|
|
1685
|
+
amount: decimalFromUsdcAtomic(chunkHFOAYTD4_cjs.x402AuthorizationAmount(input.accepted)),
|
|
1686
1686
|
token: token?.symbol ?? "USDC",
|
|
1687
1687
|
asset: input.accepted.asset,
|
|
1688
1688
|
network: input.accepted.network,
|
|
@@ -1763,7 +1763,7 @@ function assertCanResumeX402(status, paymentRequired, option) {
|
|
|
1763
1763
|
);
|
|
1764
1764
|
}
|
|
1765
1765
|
const approvedAmount = status.amount ? normalizeDecimal(status.amount) : "";
|
|
1766
|
-
const requestedAmount = normalizeDecimal(decimalFromUsdcAtomic(
|
|
1766
|
+
const requestedAmount = normalizeDecimal(decimalFromUsdcAtomic(chunkHFOAYTD4_cjs.x402AuthorizationAmount(option)));
|
|
1767
1767
|
if (approvedAmount && approvedAmount !== requestedAmount) {
|
|
1768
1768
|
throw new chunkHX34HOW4_cjs.HavenApiError(
|
|
1769
1769
|
"x402 resume request does not match the approved amount.",
|
|
@@ -1842,7 +1842,7 @@ var X402FundingLeg = class {
|
|
|
1842
1842
|
url: paymentRequired.resource.url,
|
|
1843
1843
|
payTo: this.delegateAddress,
|
|
1844
1844
|
merchantPayTo: option.payTo,
|
|
1845
|
-
amount:
|
|
1845
|
+
amount: chunkHFOAYTD4_cjs.x402AuthorizationAmount(option),
|
|
1846
1846
|
asset: option.asset,
|
|
1847
1847
|
network: option.network,
|
|
1848
1848
|
description: paymentRequired.resource.description,
|
|
@@ -1866,7 +1866,7 @@ var X402FundingLeg = class {
|
|
|
1866
1866
|
const canFund = await this.delegateCanFund(
|
|
1867
1867
|
raw.chain_id ?? state?.chainId ?? chainIdFromNetwork(option.network),
|
|
1868
1868
|
option.asset,
|
|
1869
|
-
|
|
1869
|
+
chunkHFOAYTD4_cjs.x402AuthorizationAmount(option)
|
|
1870
1870
|
);
|
|
1871
1871
|
const refuse = executedReplay === "idempotency-collision" ? canFund !== true : canFund === false;
|
|
1872
1872
|
if (refuse) {
|
|
@@ -1895,7 +1895,7 @@ var X402FundingLeg = class {
|
|
|
1895
1895
|
}
|
|
1896
1896
|
const sig = await this.signForData(raw.sign_data, {
|
|
1897
1897
|
asset: option.asset,
|
|
1898
|
-
amount:
|
|
1898
|
+
amount: chunkHFOAYTD4_cjs.x402AuthorizationAmount(option)
|
|
1899
1899
|
});
|
|
1900
1900
|
const execResult = await this.post(
|
|
1901
1901
|
`/payments/${raw.payment_id}/sign`,
|
|
@@ -1918,22 +1918,22 @@ var X402FundingLeg = class {
|
|
|
1918
1918
|
throw new chunkHX34HOW4_cjs.HavenSigningError("delegateKey is required to sign x402 payment headers.");
|
|
1919
1919
|
}
|
|
1920
1920
|
const account = accounts.privateKeyToAccount(this.delegateKey);
|
|
1921
|
-
const requirements =
|
|
1921
|
+
const requirements = chunkHFOAYTD4_cjs.toStandardPaymentRequirements(paymentRequired, option);
|
|
1922
1922
|
const header = await schemes.exact.evm.createPaymentHeader(
|
|
1923
1923
|
account,
|
|
1924
1924
|
paymentRequired.x402Version,
|
|
1925
1925
|
requirements
|
|
1926
1926
|
);
|
|
1927
1927
|
if (paymentRequired.x402Version < 2) return header;
|
|
1928
|
-
const payment =
|
|
1929
|
-
return
|
|
1928
|
+
const payment = chunkHFOAYTD4_cjs.decodeBase64Json(header);
|
|
1929
|
+
return chunkHFOAYTD4_cjs.encodeBase64Json(chunkHFOAYTD4_cjs.x402V2PaymentEnvelope(paymentRequired, option, payment.payload));
|
|
1930
1930
|
}
|
|
1931
1931
|
// ── Receipt mapping ──────────────────────────────────────────────
|
|
1932
1932
|
receiptFromAuthorization(paymentRequired, option, paymentHeader, raw, execResult) {
|
|
1933
1933
|
const txHash = execResult?.tx_hash ?? raw.tx_hash ?? "";
|
|
1934
1934
|
const chainId = execResult?.chain_id ?? raw.chain_id ?? chainIdFromNetwork(option.network);
|
|
1935
1935
|
const token = execResult?.token ?? raw.token ?? "USDC";
|
|
1936
|
-
const amount = execResult?.amount ?? raw.amount ?? decimalFromUsdcAtomic(
|
|
1936
|
+
const amount = execResult?.amount ?? raw.amount ?? decimalFromUsdcAtomic(chunkHFOAYTD4_cjs.x402AuthorizationAmount(option));
|
|
1937
1937
|
const to = execResult?.to ?? raw.to ?? this.delegateAddress ?? "";
|
|
1938
1938
|
const explorerUrl = execResult?.explorer_url ?? raw.explorer_url ?? explorerUrlOrEmpty(chainId, txHash);
|
|
1939
1939
|
const merchantTo = execResult?.merchant_to ?? raw.merchant_to ?? option.payTo;
|
|
@@ -1966,7 +1966,7 @@ var X402FundingLeg = class {
|
|
|
1966
1966
|
paymentId: status.paymentId,
|
|
1967
1967
|
txHash: status.txHash,
|
|
1968
1968
|
token: status.token || "USDC",
|
|
1969
|
-
amount: status.amount || decimalFromUsdcAtomic(
|
|
1969
|
+
amount: status.amount || decimalFromUsdcAtomic(chunkHFOAYTD4_cjs.x402AuthorizationAmount(option)),
|
|
1970
1970
|
to: this.delegateAddress ?? "",
|
|
1971
1971
|
resourceUrl: paymentRequired.resource.url,
|
|
1972
1972
|
explorerUrl: explorerUrlOrEmpty(status.chainId, status.txHash),
|
|
@@ -2043,7 +2043,7 @@ var X402FundingLeg = class {
|
|
|
2043
2043
|
};
|
|
2044
2044
|
function getPaymentHeaderValidBefore(paymentHeader) {
|
|
2045
2045
|
try {
|
|
2046
|
-
const payment =
|
|
2046
|
+
const payment = chunkHFOAYTD4_cjs.decodeBase64Json(
|
|
2047
2047
|
paymentHeader
|
|
2048
2048
|
);
|
|
2049
2049
|
const payload = payment.payload;
|
|
@@ -2128,7 +2128,7 @@ var X402Erc7710 = class {
|
|
|
2128
2128
|
400
|
|
2129
2129
|
);
|
|
2130
2130
|
}
|
|
2131
|
-
const selection =
|
|
2131
|
+
const selection = chunkHFOAYTD4_cjs.selectX402SettlementScheme(paymentRequired.accepts, { delegationRail });
|
|
2132
2132
|
if (!selection || selection.scheme !== "erc7710") {
|
|
2133
2133
|
throw new chunkHX34HOW4_cjs.HavenApiError(
|
|
2134
2134
|
"This merchant does not advertise an erc7710 settlement option (no accepts[] entry carries extra.assetTransferMethod: 'erc7710'). Use authorizeX402() for the standard EIP-3009 path.",
|
|
@@ -2137,7 +2137,7 @@ var X402Erc7710 = class {
|
|
|
2137
2137
|
}
|
|
2138
2138
|
const option = selection.option;
|
|
2139
2139
|
const merchantPayTo = option.payTo;
|
|
2140
|
-
const amountAtomic =
|
|
2140
|
+
const amountAtomic = chunkHFOAYTD4_cjs.x402AuthorizationAmount(option);
|
|
2141
2141
|
const raw = await this.post("/x402", {
|
|
2142
2142
|
url: options.resourceUrl ?? paymentRequired.resource?.url,
|
|
2143
2143
|
// #2373: the full 402 challenge, persisted verbatim by the backend
|
|
@@ -2396,7 +2396,7 @@ var MerchantCompletion = class {
|
|
|
2396
2396
|
}
|
|
2397
2397
|
let retryInit = initialInit;
|
|
2398
2398
|
if (this.getTaxDeclarationHeader && this.delegateKey) {
|
|
2399
|
-
const scheme =
|
|
2399
|
+
const scheme = chunkHFOAYTD4_cjs.x402PaymentHeaderNamesFor(receipt.paymentHeader);
|
|
2400
2400
|
const isEip3009 = scheme.length > 1;
|
|
2401
2401
|
if (isEip3009) {
|
|
2402
2402
|
const resolved = await this.getTaxDeclarationHeader({
|
|
@@ -2461,7 +2461,7 @@ var MerchantCompletion = class {
|
|
|
2461
2461
|
merchantStatus: retryResponse.status,
|
|
2462
2462
|
challengePayload: paymentRequired,
|
|
2463
2463
|
selectedPayment: receipt.accepted,
|
|
2464
|
-
paymentProofHeaderName:
|
|
2464
|
+
paymentProofHeaderName: chunkHFOAYTD4_cjs.x402PaymentHeaderNamesSent(receipt.paymentHeader),
|
|
2465
2465
|
paymentProofHeader: receipt.paymentHeader,
|
|
2466
2466
|
protocolReceiptHeaderName,
|
|
2467
2467
|
protocolReceiptHeader
|
|
@@ -2772,7 +2772,7 @@ function parseMerchantSettlement(header) {
|
|
|
2772
2772
|
}
|
|
2773
2773
|
function parseProtocolReceiptHeader(value) {
|
|
2774
2774
|
try {
|
|
2775
|
-
return
|
|
2775
|
+
return chunkHFOAYTD4_cjs.decodeBase64Json(value);
|
|
2776
2776
|
} catch {
|
|
2777
2777
|
try {
|
|
2778
2778
|
return JSON.parse(value);
|
|
@@ -3017,7 +3017,7 @@ var HavenClient = class {
|
|
|
3017
3017
|
* on-chain allowance — there is nothing to sign until the user approves.
|
|
3018
3018
|
*/
|
|
3019
3019
|
async createX402Intent(paymentRequired, options = {}) {
|
|
3020
|
-
const option =
|
|
3020
|
+
const option = chunkHFOAYTD4_cjs.selectStandardPaymentOption(paymentRequired.accepts);
|
|
3021
3021
|
if (!option) {
|
|
3022
3022
|
throw noCompatiblePaymentOptionError(paymentRequired.accepts);
|
|
3023
3023
|
}
|
|
@@ -3025,7 +3025,7 @@ var HavenClient = class {
|
|
|
3025
3025
|
if (!fundingTo) {
|
|
3026
3026
|
throw new chunkHX34HOW4_cjs.HavenApiError("Authenticated agent has no delegate address registered.", 502);
|
|
3027
3027
|
}
|
|
3028
|
-
const idempotencyKey = options.idempotencyKey ??
|
|
3028
|
+
const idempotencyKey = options.idempotencyKey ?? chunkHFOAYTD4_cjs.buildX402IdempotencyKey(paymentRequired, option);
|
|
3029
3029
|
const raw = await this.post("/x402", {
|
|
3030
3030
|
url: paymentRequired.resource.url,
|
|
3031
3031
|
payTo: fundingTo,
|
|
@@ -3036,7 +3036,7 @@ var HavenClient = class {
|
|
|
3036
3036
|
// of a silent reroute to the erc7710 settlement branch (the #1358
|
|
3037
3037
|
// review's open-budget misroute). Legacy-rail backends ignore the field.
|
|
3038
3038
|
settlementScheme: "eip3009",
|
|
3039
|
-
amount:
|
|
3039
|
+
amount: chunkHFOAYTD4_cjs.x402AuthorizationAmount(option),
|
|
3040
3040
|
asset: option.asset,
|
|
3041
3041
|
network: option.network,
|
|
3042
3042
|
description: paymentRequired.resource.description,
|
|
@@ -3080,7 +3080,7 @@ var HavenClient = class {
|
|
|
3080
3080
|
accepted: option,
|
|
3081
3081
|
resourceUrl: paymentRequired.resource.url,
|
|
3082
3082
|
merchantTo: raw.merchant_to ?? option.payTo,
|
|
3083
|
-
amountAtomic:
|
|
3083
|
+
amountAtomic: chunkHFOAYTD4_cjs.x402AuthorizationAmount(option),
|
|
3084
3084
|
asset: option.asset,
|
|
3085
3085
|
network: option.network,
|
|
3086
3086
|
expectedAuth: raw.x402_expected_auth,
|
|
@@ -3146,12 +3146,12 @@ var HavenClient = class {
|
|
|
3146
3146
|
);
|
|
3147
3147
|
}
|
|
3148
3148
|
chunkHX34HOW4_cjs.assertUserOpTypedDataBinding(signData.typed_data, signData.hash);
|
|
3149
|
-
|
|
3149
|
+
chunkHFOAYTD4_cjs.assertBoundDirectPaymentUserOp(
|
|
3150
3150
|
signData.typed_data,
|
|
3151
3151
|
this.delegateAddress
|
|
3152
3152
|
);
|
|
3153
3153
|
if (fundingExpectation) {
|
|
3154
|
-
|
|
3154
|
+
chunkHFOAYTD4_cjs.assertFundingLegPaysDelegate(signData.typed_data, {
|
|
3155
3155
|
delegateAddress: this.delegateAddress,
|
|
3156
3156
|
asset: fundingExpectation.asset,
|
|
3157
3157
|
amount: fundingExpectation.amount
|
|
@@ -3166,11 +3166,11 @@ var HavenClient = class {
|
|
|
3166
3166
|
);
|
|
3167
3167
|
}
|
|
3168
3168
|
if (!settlementExpectation) {
|
|
3169
|
-
throw new
|
|
3169
|
+
throw new chunkHFOAYTD4_cjs.HavenTypedDataRefusedError(
|
|
3170
3170
|
"Refusing to sign an x402 settlement child without an independent expectation of what it must pay (the merchant's 402). Pay erc7710 merchants through settleX402Erc7710(), which supplies it."
|
|
3171
3171
|
);
|
|
3172
3172
|
}
|
|
3173
|
-
|
|
3173
|
+
chunkHFOAYTD4_cjs.assertOwnSettlementChild(signData.typed_data, settlementExpectation, this.delegateAddress);
|
|
3174
3174
|
return signSettlementDelegationTypedData(this.delegateKey, signData.typed_data);
|
|
3175
3175
|
}
|
|
3176
3176
|
if (scheme === void 0) {
|
|
@@ -3636,11 +3636,11 @@ var HavenClient = class {
|
|
|
3636
3636
|
if (!this.delegateAddress) {
|
|
3637
3637
|
throw new chunkHX34HOW4_cjs.HavenSigningError("delegateAddress could not be derived from delegateKey.");
|
|
3638
3638
|
}
|
|
3639
|
-
const option =
|
|
3639
|
+
const option = chunkHFOAYTD4_cjs.selectStandardPaymentOption(paymentRequired.accepts);
|
|
3640
3640
|
if (!option) {
|
|
3641
3641
|
throw noCompatiblePaymentOptionError(paymentRequired.accepts);
|
|
3642
3642
|
}
|
|
3643
|
-
const idempotencyKey = options.idempotencyKey ??
|
|
3643
|
+
const idempotencyKey = options.idempotencyKey ?? chunkHFOAYTD4_cjs.buildX402IdempotencyKey(paymentRequired, option);
|
|
3644
3644
|
const cached = this.fundingLeg.cachedReceipt(idempotencyKey, options.taskBudgetId, options.subBudgetId);
|
|
3645
3645
|
if (cached) return cached;
|
|
3646
3646
|
const inFlight = this.inFlightX402.get(idempotencyKey);
|
|
@@ -3709,7 +3709,7 @@ var HavenClient = class {
|
|
|
3709
3709
|
if (response.headers.get("MACHINE-PAYMENT-CHALLENGE")) {
|
|
3710
3710
|
throw new chunkHX34HOW4_cjs.HavenApiError("quoteX402 only supports standard x402 Payment Required responses.", 400);
|
|
3711
3711
|
}
|
|
3712
|
-
const paymentRequired = await
|
|
3712
|
+
const paymentRequired = await chunkHFOAYTD4_cjs.parsePaymentRequiredResponse(response);
|
|
3713
3713
|
const mcpTransport = await this.merchantTransport.detect(url, paymentRequired, response);
|
|
3714
3714
|
return buildX402Quote(paymentRequired, request, options.idempotencyKey, mcpTransport);
|
|
3715
3715
|
}
|
|
@@ -3808,11 +3808,11 @@ var HavenClient = class {
|
|
|
3808
3808
|
if (!this.delegateAddress) {
|
|
3809
3809
|
throw new chunkHX34HOW4_cjs.HavenSigningError("delegateAddress could not be derived from delegateKey.");
|
|
3810
3810
|
}
|
|
3811
|
-
const option =
|
|
3811
|
+
const option = chunkHFOAYTD4_cjs.selectStandardPaymentOption(input.paymentRequired.accepts);
|
|
3812
3812
|
if (!option) {
|
|
3813
3813
|
throw noCompatiblePaymentOptionError(input.paymentRequired.accepts);
|
|
3814
3814
|
}
|
|
3815
|
-
const idempotencyKey = input.idempotencyKey ??
|
|
3815
|
+
const idempotencyKey = input.idempotencyKey ?? chunkHFOAYTD4_cjs.buildX402IdempotencyKey(input.paymentRequired, option);
|
|
3816
3816
|
const cached = this.fundingLeg.cachedReceipt(idempotencyKey, input.taskBudgetId);
|
|
3817
3817
|
if (cached) return cached;
|
|
3818
3818
|
const status = await this.getPaymentStatus(input.paymentId);
|
|
@@ -3820,7 +3820,7 @@ var HavenClient = class {
|
|
|
3820
3820
|
const canFund = await this.fundingLeg.delegateCanFund(
|
|
3821
3821
|
status.chainId ?? chainIdFromNetwork(option.network),
|
|
3822
3822
|
option.asset,
|
|
3823
|
-
|
|
3823
|
+
chunkHFOAYTD4_cjs.x402AuthorizationAmount(option)
|
|
3824
3824
|
);
|
|
3825
3825
|
if (canFund === false) {
|
|
3826
3826
|
throw new chunkHX34HOW4_cjs.X402AlreadySettledError(
|
|
@@ -3850,7 +3850,7 @@ var HavenClient = class {
|
|
|
3850
3850
|
if (response.status !== 402) {
|
|
3851
3851
|
throw new chunkHX34HOW4_cjs.HavenApiError("Expected the original x402 request to return HTTP 402 before resuming.", 400);
|
|
3852
3852
|
}
|
|
3853
|
-
paymentRequired = await
|
|
3853
|
+
paymentRequired = await chunkHFOAYTD4_cjs.parsePaymentRequiredResponse(response);
|
|
3854
3854
|
}
|
|
3855
3855
|
const receipt = await this.resumeAuthorizedX402({
|
|
3856
3856
|
paymentId: input.paymentId,
|
|
@@ -3903,7 +3903,7 @@ var HavenClient = class {
|
|
|
3903
3903
|
nativeChallenge = true;
|
|
3904
3904
|
} else {
|
|
3905
3905
|
try {
|
|
3906
|
-
paymentRequired = await
|
|
3906
|
+
paymentRequired = await chunkHFOAYTD4_cjs.parsePaymentRequiredResponse(response);
|
|
3907
3907
|
} catch {
|
|
3908
3908
|
return response;
|
|
3909
3909
|
}
|
|
@@ -3913,8 +3913,8 @@ var HavenClient = class {
|
|
|
3913
3913
|
if (mcpSessionId) requestInit = this.merchantTransport.withSessionHeaders(requestInit, mcpSessionId);
|
|
3914
3914
|
}
|
|
3915
3915
|
const request = snapshotX402Request(url, requestInit);
|
|
3916
|
-
const option =
|
|
3917
|
-
const idempotencyKey = options.idempotencyKey ?? (option ?
|
|
3916
|
+
const option = chunkHFOAYTD4_cjs.selectStandardPaymentOption(paymentRequired.accepts);
|
|
3917
|
+
const idempotencyKey = options.idempotencyKey ?? (option ? chunkHFOAYTD4_cjs.buildX402IdempotencyKey(paymentRequired, option) : void 0);
|
|
3918
3918
|
let receipt;
|
|
3919
3919
|
try {
|
|
3920
3920
|
receipt = await this.authorizeX402(paymentRequired, options);
|
|
@@ -4041,7 +4041,7 @@ var HavenClient = class {
|
|
|
4041
4041
|
txHash: evidenceTxHash,
|
|
4042
4042
|
resourceUrl: evidenceContext.resourceUrl,
|
|
4043
4043
|
merchantStatus: surfaced.status,
|
|
4044
|
-
paymentProofHeaderName:
|
|
4044
|
+
paymentProofHeaderName: chunkHFOAYTD4_cjs.x402PaymentHeaderNamesSent(input.paymentHeader),
|
|
4045
4045
|
paymentProofHeader: input.paymentHeader,
|
|
4046
4046
|
protocolReceiptHeaderName,
|
|
4047
4047
|
protocolReceiptHeader
|
|
@@ -4560,12 +4560,12 @@ var havenTools = {
|
|
|
4560
4560
|
var AGENT_SECRET_HYGIENE_SENTENCE = "Do not print private keys, API keys, credential file contents, or config secrets in chat or logs.";
|
|
4561
4561
|
var AGENT_CLIENT_UPDATE_SENTENCE = "If a Haven result carries `client_update`, that client is out of date: run its `upgrade_command` as given, then any repair line it prints, then retry. `required: true` means payments are refused until you do.";
|
|
4562
4562
|
var AGENT_LOCAL_KEY_SENTENCE = "The Haven connector generates the signing key locally and sends Haven only the public signing address plus proof.";
|
|
4563
|
-
var AGENT_NETWORK_ACCESS_SENTENCE = "Network access is expected: this command downloads the npm package and contacts the Haven API, so if your environment is sandboxed, run it with network access enabled or request network access escalation; that changes the execution environment, not the command, and is not a
|
|
4563
|
+
var AGENT_NETWORK_ACCESS_SENTENCE = "Network access is expected: this command downloads the npm package and contacts the Haven API, so if your environment is sandboxed, run it with network access enabled or request network access escalation; that changes the execution environment, not the command, and is not a command modification.";
|
|
4564
4564
|
var AGENT_JSON_MODE_SENTENCE = "If you are an AI agent running this command yourself rather than a human pasting it, you should append --json: the connector then emits one machine-readable, secret-free result object on stdout with progress on stderr, and returns promptly instead of blocking while it waits for the budget approval.";
|
|
4565
4565
|
var AGENT_APPROVAL_RELAY_JSON_SENTENCE = "When a --json outcome reports approval.required: true, your first action must be to relay the approval instruction to me in your own reply \u2014 if the outcome carries approval.url, give me that link; otherwise tell me to return to Haven and approve this agent's budget \u2014 before verifying the connection, restarting anything, or any other step. Never build that link yourself: relay the one the outcome gave you or none at all. Any restart the outcome asks for is a separate instruction to give me afterwards, once the approval is done.";
|
|
4566
4566
|
var AGENT_APPROVAL_RELAY_PROSE_SENTENCE = "If you ran the command without --json, the connector waits for the approval itself and prints its next steps when it finishes: relay the budget-approval instruction to me \u2014 the approval link if those steps printed one, otherwise that you need to return to Haven and approve this agent's budget \u2014 only if those printed next steps still ask for it. If they report the budget as already approved, there is nothing for me to approve.";
|
|
4567
4567
|
var AGENT_WIRING_COLLISION_RELAY_SENTENCE = "If the connector refuses with wiring_collision, this machine is already wired to a different agent: relay that refusal to me with the superseded_agent_ids and suggested_name it carries, and let me choose whether to replace the existing wiring or add this agent alongside it. Never pick for me by adding --replace or --name yourself.";
|
|
4568
|
-
var AGENT_COMMAND_MODIFICATION_SENTENCE = "Only
|
|
4568
|
+
var AGENT_COMMAND_MODIFICATION_SENTENCE = "Only three changes to the command above are permitted, and no others: appending --json; re-running it once with --runtime <name> added, only if the connector refuses because it could not determine the agent runtime, naming the harness you are running in and using one of the values that refusal lists; and re-running it once with the one flag I chose added, only after I have answered a wiring_collision relay \u2014 --name <the suggested_name or a name I gave> to add alongside, or --replace to replace \u2014 keeping any change already made. If that re-run is refused too, relay the refusal to me and stop. Never invent a runtime name and never change anything else.";
|
|
4569
4569
|
var AGENT_README_SECTION_MD = `## Are you an AI agent whose user has no Haven account yet?
|
|
4570
4570
|
|
|
4571
4571
|
Read **\`/for-agents.md\`** on the Haven host your user gave you \u2014 or
|
|
@@ -4660,7 +4660,7 @@ Call \`haven_get_agent\`, one of the Haven MCP tools the connector wires into yo
|
|
|
4660
4660
|
- \`needs_approval\` \u2014 the connector finished, nobody approved yet. Ask your user again, in their Haven tab; there is no queue to wait in.
|
|
4661
4661
|
- \`revoked\` \u2014 the credential is not active; ask your user to create a new agent.
|
|
4662
4662
|
|
|
4663
|
-
\`ready\` covers hosted identity and the budget only, not your local signer. Check that with \`npx -y @haven_ai/connect@<channel> --doctor\`, the same tag your prompt named \u2014 a separate command, so the
|
|
4663
|
+
\`ready\` covers hosted identity and the budget only, not your local signer. Check that with \`npx -y @haven_ai/connect@<channel> --doctor\`, the same tag your prompt named \u2014 a separate command, so the command-modification rule does not bind it.
|
|
4664
4664
|
|
|
4665
4665
|
## If you cannot open a browser
|
|
4666
4666
|
|
|
@@ -4670,6 +4670,8 @@ Nothing here needs you to. Steps 1-3 \u2014 account, funding, budget \u2014 are
|
|
|
4670
4670
|
|
|
4671
4671
|
${AGENT_CLIENT_UPDATE_SENTENCE} What changed: [/releases](/releases).
|
|
4672
4672
|
|
|
4673
|
+
Something else wrong? \`haven feedback submit "<text>"\` sends it to Haven \u2014 it needs \`haven login\` first. Never put a credential in that text: no API key, no delegate key, no session token, no recovery phrase.
|
|
4674
|
+
|
|
4673
4675
|
## Vocabulary
|
|
4674
4676
|
|
|
4675
4677
|
| Term | What it is |
|
|
@@ -5080,263 +5082,263 @@ function sameUrl(a, b) {
|
|
|
5080
5082
|
|
|
5081
5083
|
Object.defineProperty(exports, "DEFAULT_NEXT_TOOL_BY_ACTION", {
|
|
5082
5084
|
enumerable: true,
|
|
5083
|
-
get: function () { return
|
|
5085
|
+
get: function () { return chunkHFOAYTD4_cjs.DEFAULT_NEXT_TOOL_BY_ACTION; }
|
|
5084
5086
|
});
|
|
5085
5087
|
Object.defineProperty(exports, "ERC7710_ASSET_TRANSFER_METHOD", {
|
|
5086
5088
|
enumerable: true,
|
|
5087
|
-
get: function () { return
|
|
5089
|
+
get: function () { return chunkHFOAYTD4_cjs.ERC7710_ASSET_TRANSFER_METHOD; }
|
|
5088
5090
|
});
|
|
5089
5091
|
Object.defineProperty(exports, "HAVEN_CLIENT_HEADER", {
|
|
5090
5092
|
enumerable: true,
|
|
5091
|
-
get: function () { return
|
|
5093
|
+
get: function () { return chunkHFOAYTD4_cjs.HAVEN_CLIENT_HEADER; }
|
|
5092
5094
|
});
|
|
5093
5095
|
Object.defineProperty(exports, "HAVEN_MINIMUM_NODE_VERSION", {
|
|
5094
5096
|
enumerable: true,
|
|
5095
|
-
get: function () { return
|
|
5097
|
+
get: function () { return chunkHFOAYTD4_cjs.HAVEN_MINIMUM_NODE_VERSION; }
|
|
5096
5098
|
});
|
|
5097
5099
|
Object.defineProperty(exports, "HavenTypedDataRefusedError", {
|
|
5098
5100
|
enumerable: true,
|
|
5099
|
-
get: function () { return
|
|
5101
|
+
get: function () { return chunkHFOAYTD4_cjs.HavenTypedDataRefusedError; }
|
|
5100
5102
|
});
|
|
5101
5103
|
Object.defineProperty(exports, "MAX_TASK_BUDGET_TTL_SECONDS", {
|
|
5102
5104
|
enumerable: true,
|
|
5103
|
-
get: function () { return
|
|
5105
|
+
get: function () { return chunkHFOAYTD4_cjs.MAX_TASK_BUDGET_TTL_SECONDS; }
|
|
5104
5106
|
});
|
|
5105
5107
|
Object.defineProperty(exports, "NEXT_TOOL_SERVER_NAMES", {
|
|
5106
5108
|
enumerable: true,
|
|
5107
|
-
get: function () { return
|
|
5109
|
+
get: function () { return chunkHFOAYTD4_cjs.NEXT_TOOL_SERVER_NAMES; }
|
|
5108
5110
|
});
|
|
5109
5111
|
Object.defineProperty(exports, "NEXT_TOOL_SERVER_ROLES", {
|
|
5110
5112
|
enumerable: true,
|
|
5111
|
-
get: function () { return
|
|
5113
|
+
get: function () { return chunkHFOAYTD4_cjs.NEXT_TOOL_SERVER_ROLES; }
|
|
5112
5114
|
});
|
|
5113
5115
|
Object.defineProperty(exports, "SDK_CLIENT_IDENTITY", {
|
|
5114
5116
|
enumerable: true,
|
|
5115
|
-
get: function () { return
|
|
5117
|
+
get: function () { return chunkHFOAYTD4_cjs.SDK_CLIENT_IDENTITY; }
|
|
5116
5118
|
});
|
|
5117
5119
|
Object.defineProperty(exports, "SDK_VERSION", {
|
|
5118
5120
|
enumerable: true,
|
|
5119
|
-
get: function () { return
|
|
5121
|
+
get: function () { return chunkHFOAYTD4_cjs.SDK_VERSION; }
|
|
5120
5122
|
});
|
|
5121
5123
|
Object.defineProperty(exports, "SWEEP_BASE_CHAIN_ID", {
|
|
5122
5124
|
enumerable: true,
|
|
5123
|
-
get: function () { return
|
|
5125
|
+
get: function () { return chunkHFOAYTD4_cjs.SWEEP_BASE_CHAIN_ID; }
|
|
5124
5126
|
});
|
|
5125
5127
|
Object.defineProperty(exports, "SWEEP_BASE_SEPOLIA_CHAIN_ID", {
|
|
5126
5128
|
enumerable: true,
|
|
5127
|
-
get: function () { return
|
|
5129
|
+
get: function () { return chunkHFOAYTD4_cjs.SWEEP_BASE_SEPOLIA_CHAIN_ID; }
|
|
5128
5130
|
});
|
|
5129
5131
|
Object.defineProperty(exports, "SWEEP_BASE_SEPOLIA_USDC_ADDRESS", {
|
|
5130
5132
|
enumerable: true,
|
|
5131
|
-
get: function () { return
|
|
5133
|
+
get: function () { return chunkHFOAYTD4_cjs.SWEEP_BASE_SEPOLIA_USDC_ADDRESS; }
|
|
5132
5134
|
});
|
|
5133
5135
|
Object.defineProperty(exports, "SWEEP_BASE_USDC_ADDRESS", {
|
|
5134
5136
|
enumerable: true,
|
|
5135
|
-
get: function () { return
|
|
5137
|
+
get: function () { return chunkHFOAYTD4_cjs.SWEEP_BASE_USDC_ADDRESS; }
|
|
5136
5138
|
});
|
|
5137
5139
|
Object.defineProperty(exports, "TRANSFER_WITH_AUTHORIZATION_TYPES", {
|
|
5138
5140
|
enumerable: true,
|
|
5139
|
-
get: function () { return
|
|
5141
|
+
get: function () { return chunkHFOAYTD4_cjs.TRANSFER_WITH_AUTHORIZATION_TYPES; }
|
|
5140
5142
|
});
|
|
5141
5143
|
Object.defineProperty(exports, "TYPED_DATA_NOT_ALLOWED", {
|
|
5142
5144
|
enumerable: true,
|
|
5143
|
-
get: function () { return
|
|
5145
|
+
get: function () { return chunkHFOAYTD4_cjs.TYPED_DATA_NOT_ALLOWED; }
|
|
5144
5146
|
});
|
|
5145
5147
|
Object.defineProperty(exports, "X402PaymentHeaderValidationError", {
|
|
5146
5148
|
enumerable: true,
|
|
5147
|
-
get: function () { return
|
|
5149
|
+
get: function () { return chunkHFOAYTD4_cjs.X402PaymentHeaderValidationError; }
|
|
5148
5150
|
});
|
|
5149
5151
|
Object.defineProperty(exports, "X402_LEGACY_PAYMENT_HEADER_NAME", {
|
|
5150
5152
|
enumerable: true,
|
|
5151
|
-
get: function () { return
|
|
5153
|
+
get: function () { return chunkHFOAYTD4_cjs.X402_LEGACY_PAYMENT_HEADER_NAME; }
|
|
5152
5154
|
});
|
|
5153
5155
|
Object.defineProperty(exports, "X402_MAX_AUTHORIZATION_WINDOW_SECONDS", {
|
|
5154
5156
|
enumerable: true,
|
|
5155
|
-
get: function () { return
|
|
5157
|
+
get: function () { return chunkHFOAYTD4_cjs.X402_MAX_AUTHORIZATION_WINDOW_SECONDS; }
|
|
5156
5158
|
});
|
|
5157
5159
|
Object.defineProperty(exports, "X402_PAYMENT_HEADER_NAME", {
|
|
5158
5160
|
enumerable: true,
|
|
5159
|
-
get: function () { return
|
|
5161
|
+
get: function () { return chunkHFOAYTD4_cjs.X402_PAYMENT_HEADER_NAME; }
|
|
5160
5162
|
});
|
|
5161
5163
|
Object.defineProperty(exports, "X402_PAYMENT_HEADER_NAMES_SENT", {
|
|
5162
5164
|
enumerable: true,
|
|
5163
|
-
get: function () { return
|
|
5165
|
+
get: function () { return chunkHFOAYTD4_cjs.X402_PAYMENT_HEADER_NAMES_SENT; }
|
|
5164
5166
|
});
|
|
5165
5167
|
Object.defineProperty(exports, "X402_PAYMENT_REQUIRED_HEADER_NAME", {
|
|
5166
5168
|
enumerable: true,
|
|
5167
|
-
get: function () { return
|
|
5169
|
+
get: function () { return chunkHFOAYTD4_cjs.X402_PAYMENT_REQUIRED_HEADER_NAME; }
|
|
5168
5170
|
});
|
|
5169
5171
|
Object.defineProperty(exports, "X402_PAYMENT_RESPONSE_HEADER_NAME", {
|
|
5170
5172
|
enumerable: true,
|
|
5171
|
-
get: function () { return
|
|
5173
|
+
get: function () { return chunkHFOAYTD4_cjs.X402_PAYMENT_RESPONSE_HEADER_NAME; }
|
|
5172
5174
|
});
|
|
5173
5175
|
Object.defineProperty(exports, "X402_SETTLEMENT_FORWARD_MARGIN_SECONDS", {
|
|
5174
5176
|
enumerable: true,
|
|
5175
|
-
get: function () { return
|
|
5177
|
+
get: function () { return chunkHFOAYTD4_cjs.X402_SETTLEMENT_FORWARD_MARGIN_SECONDS; }
|
|
5176
5178
|
});
|
|
5177
5179
|
Object.defineProperty(exports, "assertBoundDirectPaymentUserOp", {
|
|
5178
5180
|
enumerable: true,
|
|
5179
|
-
get: function () { return
|
|
5181
|
+
get: function () { return chunkHFOAYTD4_cjs.assertBoundDirectPaymentUserOp; }
|
|
5180
5182
|
});
|
|
5181
5183
|
Object.defineProperty(exports, "assertOwnTaskBudgetCloseUserOp", {
|
|
5182
5184
|
enumerable: true,
|
|
5183
|
-
get: function () { return
|
|
5185
|
+
get: function () { return chunkHFOAYTD4_cjs.assertOwnTaskBudgetCloseUserOp; }
|
|
5184
5186
|
});
|
|
5185
5187
|
Object.defineProperty(exports, "assertOwnTaskChild", {
|
|
5186
5188
|
enumerable: true,
|
|
5187
|
-
get: function () { return
|
|
5189
|
+
get: function () { return chunkHFOAYTD4_cjs.assertOwnTaskChild; }
|
|
5188
5190
|
});
|
|
5189
5191
|
Object.defineProperty(exports, "buildSweepAuthorizationMessage", {
|
|
5190
5192
|
enumerable: true,
|
|
5191
|
-
get: function () { return
|
|
5193
|
+
get: function () { return chunkHFOAYTD4_cjs.buildSweepAuthorizationMessage; }
|
|
5192
5194
|
});
|
|
5193
5195
|
Object.defineProperty(exports, "buildSweepTypedData", {
|
|
5194
5196
|
enumerable: true,
|
|
5195
|
-
get: function () { return
|
|
5197
|
+
get: function () { return chunkHFOAYTD4_cjs.buildSweepTypedData; }
|
|
5196
5198
|
});
|
|
5197
5199
|
Object.defineProperty(exports, "buildX402ExpectedMessage", {
|
|
5198
5200
|
enumerable: true,
|
|
5199
|
-
get: function () { return
|
|
5201
|
+
get: function () { return chunkHFOAYTD4_cjs.buildX402ExpectedMessage; }
|
|
5200
5202
|
});
|
|
5201
5203
|
Object.defineProperty(exports, "compareNodeVersions", {
|
|
5202
5204
|
enumerable: true,
|
|
5203
|
-
get: function () { return
|
|
5205
|
+
get: function () { return chunkHFOAYTD4_cjs.compareNodeVersions; }
|
|
5204
5206
|
});
|
|
5205
5207
|
Object.defineProperty(exports, "createNextStepBuilder", {
|
|
5206
5208
|
enumerable: true,
|
|
5207
|
-
get: function () { return
|
|
5209
|
+
get: function () { return chunkHFOAYTD4_cjs.createNextStepBuilder; }
|
|
5208
5210
|
});
|
|
5209
5211
|
Object.defineProperty(exports, "decodeBase64Json", {
|
|
5210
5212
|
enumerable: true,
|
|
5211
|
-
get: function () { return
|
|
5213
|
+
get: function () { return chunkHFOAYTD4_cjs.decodeBase64Json; }
|
|
5212
5214
|
});
|
|
5213
5215
|
Object.defineProperty(exports, "decodeBase64Utf8", {
|
|
5214
5216
|
enumerable: true,
|
|
5215
|
-
get: function () { return
|
|
5217
|
+
get: function () { return chunkHFOAYTD4_cjs.decodeBase64Utf8; }
|
|
5216
5218
|
});
|
|
5217
5219
|
Object.defineProperty(exports, "defaultNextToolFor", {
|
|
5218
5220
|
enumerable: true,
|
|
5219
|
-
get: function () { return
|
|
5221
|
+
get: function () { return chunkHFOAYTD4_cjs.defaultNextToolFor; }
|
|
5220
5222
|
});
|
|
5221
5223
|
Object.defineProperty(exports, "encodeBase64Json", {
|
|
5222
5224
|
enumerable: true,
|
|
5223
|
-
get: function () { return
|
|
5225
|
+
get: function () { return chunkHFOAYTD4_cjs.encodeBase64Json; }
|
|
5224
5226
|
});
|
|
5225
5227
|
Object.defineProperty(exports, "encodeBase64Utf8", {
|
|
5226
5228
|
enumerable: true,
|
|
5227
|
-
get: function () { return
|
|
5229
|
+
get: function () { return chunkHFOAYTD4_cjs.encodeBase64Utf8; }
|
|
5228
5230
|
});
|
|
5229
5231
|
Object.defineProperty(exports, "encodePaymentProof", {
|
|
5230
5232
|
enumerable: true,
|
|
5231
|
-
get: function () { return
|
|
5233
|
+
get: function () { return chunkHFOAYTD4_cjs.encodePaymentProof; }
|
|
5232
5234
|
});
|
|
5233
5235
|
Object.defineProperty(exports, "hashDelegation", {
|
|
5234
5236
|
enumerable: true,
|
|
5235
|
-
get: function () { return
|
|
5237
|
+
get: function () { return chunkHFOAYTD4_cjs.hashDelegation; }
|
|
5236
5238
|
});
|
|
5237
5239
|
Object.defineProperty(exports, "havenClientIdentity", {
|
|
5238
5240
|
enumerable: true,
|
|
5239
|
-
get: function () { return
|
|
5241
|
+
get: function () { return chunkHFOAYTD4_cjs.havenClientIdentity; }
|
|
5240
5242
|
});
|
|
5241
5243
|
Object.defineProperty(exports, "isErc7710Option", {
|
|
5242
5244
|
enumerable: true,
|
|
5243
|
-
get: function () { return
|
|
5245
|
+
get: function () { return chunkHFOAYTD4_cjs.isErc7710Option; }
|
|
5244
5246
|
});
|
|
5245
5247
|
Object.defineProperty(exports, "isSupportedNodeVersion", {
|
|
5246
5248
|
enumerable: true,
|
|
5247
|
-
get: function () { return
|
|
5249
|
+
get: function () { return chunkHFOAYTD4_cjs.isSupportedNodeVersion; }
|
|
5248
5250
|
});
|
|
5249
5251
|
Object.defineProperty(exports, "isSweepableChain", {
|
|
5250
5252
|
enumerable: true,
|
|
5251
|
-
get: function () { return
|
|
5253
|
+
get: function () { return chunkHFOAYTD4_cjs.isSweepableChain; }
|
|
5252
5254
|
});
|
|
5253
5255
|
Object.defineProperty(exports, "isTaskChildTypedData", {
|
|
5254
5256
|
enumerable: true,
|
|
5255
|
-
get: function () { return
|
|
5257
|
+
get: function () { return chunkHFOAYTD4_cjs.isTaskChildTypedData; }
|
|
5256
5258
|
});
|
|
5257
5259
|
Object.defineProperty(exports, "normalizePaymentRequired", {
|
|
5258
5260
|
enumerable: true,
|
|
5259
|
-
get: function () { return
|
|
5261
|
+
get: function () { return chunkHFOAYTD4_cjs.normalizePaymentRequired; }
|
|
5260
5262
|
});
|
|
5261
5263
|
Object.defineProperty(exports, "parseNextTool", {
|
|
5262
5264
|
enumerable: true,
|
|
5263
|
-
get: function () { return
|
|
5265
|
+
get: function () { return chunkHFOAYTD4_cjs.parseNextTool; }
|
|
5264
5266
|
});
|
|
5265
5267
|
Object.defineProperty(exports, "parsePaymentRequired", {
|
|
5266
5268
|
enumerable: true,
|
|
5267
|
-
get: function () { return
|
|
5269
|
+
get: function () { return chunkHFOAYTD4_cjs.parsePaymentRequired; }
|
|
5268
5270
|
});
|
|
5269
5271
|
Object.defineProperty(exports, "parsePaymentRequiredResponse", {
|
|
5270
5272
|
enumerable: true,
|
|
5271
|
-
get: function () { return
|
|
5273
|
+
get: function () { return chunkHFOAYTD4_cjs.parsePaymentRequiredResponse; }
|
|
5272
5274
|
});
|
|
5273
5275
|
Object.defineProperty(exports, "readClientUpdate", {
|
|
5274
5276
|
enumerable: true,
|
|
5275
|
-
get: function () { return
|
|
5277
|
+
get: function () { return chunkHFOAYTD4_cjs.readClientUpdate; }
|
|
5276
5278
|
});
|
|
5277
5279
|
Object.defineProperty(exports, "renderNextTool", {
|
|
5278
5280
|
enumerable: true,
|
|
5279
|
-
get: function () { return
|
|
5281
|
+
get: function () { return chunkHFOAYTD4_cjs.renderNextTool; }
|
|
5280
5282
|
});
|
|
5281
5283
|
Object.defineProperty(exports, "resolveTokenBySymbol", {
|
|
5282
5284
|
enumerable: true,
|
|
5283
|
-
get: function () { return
|
|
5285
|
+
get: function () { return chunkHFOAYTD4_cjs.resolveTokenBySymbol; }
|
|
5284
5286
|
});
|
|
5285
5287
|
Object.defineProperty(exports, "resolveTokenFromAddress", {
|
|
5286
5288
|
enumerable: true,
|
|
5287
|
-
get: function () { return
|
|
5289
|
+
get: function () { return chunkHFOAYTD4_cjs.resolveTokenFromAddress; }
|
|
5288
5290
|
});
|
|
5289
5291
|
Object.defineProperty(exports, "selectErc7710PaymentOption", {
|
|
5290
5292
|
enumerable: true,
|
|
5291
|
-
get: function () { return
|
|
5293
|
+
get: function () { return chunkHFOAYTD4_cjs.selectErc7710PaymentOption; }
|
|
5292
5294
|
});
|
|
5293
5295
|
Object.defineProperty(exports, "selectPaymentOption", {
|
|
5294
5296
|
enumerable: true,
|
|
5295
|
-
get: function () { return
|
|
5297
|
+
get: function () { return chunkHFOAYTD4_cjs.selectPaymentOption; }
|
|
5296
5298
|
});
|
|
5297
5299
|
Object.defineProperty(exports, "selectStandardPaymentOption", {
|
|
5298
5300
|
enumerable: true,
|
|
5299
|
-
get: function () { return
|
|
5301
|
+
get: function () { return chunkHFOAYTD4_cjs.selectStandardPaymentOption; }
|
|
5300
5302
|
});
|
|
5301
5303
|
Object.defineProperty(exports, "selectX402SettlementScheme", {
|
|
5302
5304
|
enumerable: true,
|
|
5303
|
-
get: function () { return
|
|
5305
|
+
get: function () { return chunkHFOAYTD4_cjs.selectX402SettlementScheme; }
|
|
5304
5306
|
});
|
|
5305
5307
|
Object.defineProperty(exports, "sweepUsdcAddress", {
|
|
5306
5308
|
enumerable: true,
|
|
5307
|
-
get: function () { return
|
|
5309
|
+
get: function () { return chunkHFOAYTD4_cjs.sweepUsdcAddress; }
|
|
5308
5310
|
});
|
|
5309
5311
|
Object.defineProperty(exports, "sweepUsdcDomain", {
|
|
5310
5312
|
enumerable: true,
|
|
5311
|
-
get: function () { return
|
|
5313
|
+
get: function () { return chunkHFOAYTD4_cjs.sweepUsdcDomain; }
|
|
5312
5314
|
});
|
|
5313
5315
|
Object.defineProperty(exports, "toStandardPaymentRequirements", {
|
|
5314
5316
|
enumerable: true,
|
|
5315
|
-
get: function () { return
|
|
5317
|
+
get: function () { return chunkHFOAYTD4_cjs.toStandardPaymentRequirements; }
|
|
5316
5318
|
});
|
|
5317
5319
|
Object.defineProperty(exports, "unsupportedNodeVersionMessage", {
|
|
5318
5320
|
enumerable: true,
|
|
5319
|
-
get: function () { return
|
|
5321
|
+
get: function () { return chunkHFOAYTD4_cjs.unsupportedNodeVersionMessage; }
|
|
5320
5322
|
});
|
|
5321
5323
|
Object.defineProperty(exports, "validateStandardX402PaymentHeader", {
|
|
5322
5324
|
enumerable: true,
|
|
5323
|
-
get: function () { return
|
|
5325
|
+
get: function () { return chunkHFOAYTD4_cjs.validateStandardX402PaymentHeader; }
|
|
5324
5326
|
});
|
|
5325
5327
|
Object.defineProperty(exports, "x402AssetTransferMethod", {
|
|
5326
5328
|
enumerable: true,
|
|
5327
|
-
get: function () { return
|
|
5329
|
+
get: function () { return chunkHFOAYTD4_cjs.x402AssetTransferMethod; }
|
|
5328
5330
|
});
|
|
5329
5331
|
Object.defineProperty(exports, "x402AuthorizationAmount", {
|
|
5330
5332
|
enumerable: true,
|
|
5331
|
-
get: function () { return
|
|
5333
|
+
get: function () { return chunkHFOAYTD4_cjs.x402AuthorizationAmount; }
|
|
5332
5334
|
});
|
|
5333
5335
|
Object.defineProperty(exports, "x402FacilitatorAddresses", {
|
|
5334
5336
|
enumerable: true,
|
|
5335
|
-
get: function () { return
|
|
5337
|
+
get: function () { return chunkHFOAYTD4_cjs.x402FacilitatorAddresses; }
|
|
5336
5338
|
});
|
|
5337
5339
|
Object.defineProperty(exports, "x402V2PaymentEnvelope", {
|
|
5338
5340
|
enumerable: true,
|
|
5339
|
-
get: function () { return
|
|
5341
|
+
get: function () { return chunkHFOAYTD4_cjs.x402V2PaymentEnvelope; }
|
|
5340
5342
|
});
|
|
5341
5343
|
Object.defineProperty(exports, "AGENT_PAYMENT_FAILURE_CODE_VALUES", {
|
|
5342
5344
|
enumerable: true,
|